• Aucun résultat trouvé

Utilisation de m´ethodes multi-crit`ere appliqu´ees au probl`eme de gestion de d´ependances logicielles

N/A
N/A
Protected

Academic year: 2022

Partager "Utilisation de m´ethodes multi-crit`ere appliqu´ees au probl`eme de gestion de d´ependances logicielles"

Copied!
47
0
0

Texte intégral

(1)

Utilisation de m´ ethodes multi-crit` ere appliqu´ ees au probl` eme de gestion de d´ ependances logicielles

Emmanuel Lonca

Master 2 SIA — CRIL-CNRS UMR 8188

5 juillet 2011

(2)

Plan de la pr´ esentation

Introduction

Rappels de logique propositionnelle Expression des pr´ef´erences

Crit`ere de Tchebycheff Algorithmes

R´esultats exp´erimentaux et perspectives

2/29

(3)

Introduction

Rappels de logique propositionnelle Expression des pr´ef´erences

Crit`ere de Tchebycheff Algorithmes

R´esultats exp´erimentaux et perspectives

(4)

Introduction

Probl`eme de d´ependances logicielles

I r´eutilisation code existant

I cr´eation de logiciel bas´es sur composants

I distribution GNU/Linux (programmes)

I probl`eme combinatoire (NP-complet)

I plusieurs paquets alternatifs pour une mˆeme fonction

I certains paquets mutuellement incompatibles

I trouver une solution rapide en pratique

I difficile de trouver une bonnesolution

I codage vers le formalisme pseudo-bool´een (autres possibles)

I m´ethodes multi-crit`ere provenant d’aide `a la d´ecision

4/29

(5)

Introduction

Rappels de logique propositionnelle Expression des pr´ef´erences

Crit`ere de Tchebycheff Algorithmes

R´esultats exp´erimentaux et perspectives

(6)

Formule sous forme CNF

I forme CNF : Σ = (a∨ b

|{z}

litt´eral

)∧( ¬a

|{z}

litt´eral

∨c)∧(a∨c∨d)

| {z }

clause

| {z }

forme CNF

a,b,c,d ∈ {0,1}

I interpr´etation :

ω : a=0, b=1, c=0, d=1

Σ = (a∨b)∧(¬a∨c)∧(a∨c∨d)

I interpr´etation satisfaisant toutes les clauses est appel´ee mod`elede la formule

6/29

(7)

Contraintes pseudo-bool´ eennes, fonctions objectif

I Fonction pseudo-bool´eenne : fonction lin´eaire `a coefficients entiers de Ω dansZ

f : Ω 7→ Z

f(ω) = a0+

n

P

i=1

aixi

= a0+a1x1+a2x2+...+anxn I contrainte pseudo-bool´eenne :f1(ω)c

I fonction objectif :min. f2(ω)

(8)

Exemple de solution optimale d’un probl` eme d’optimisation lin´ eaire

C ={(a∨b),(¬a∨c),(a∨c∨d),(a+b+c +d ≤2)}

min. f(ω) =a+ 2b+ 4c+ 8d

mod`eleω f(ω) {a,¬b,c,¬d} 5

{¬a,b,c,d} 6 {¬a,b,¬c,d} 10

8/29

(9)

Exemple de solution optimale d’un probl` eme d’optimisation lin´ eaire

C ={(a∨b),(¬a∨c),(a∨c∨d),(a+b+c +d ≤2)}

min. f(ω) =a+ 2b+ 4c+ 8d

mod`eleω f(ω) {a,¬b,c,¬d} 5 ←

{¬a,b,c,d} 6 {¬a,b,¬c,d} 10

(10)

Introduction

Rappels de logique propositionnelle Expression des pr´ef´erences

Crit`ere de Tchebycheff Algorithmes

R´esultats exp´erimentaux et perspectives

9/29

(11)

Relations de pr´ ef´ erence

I Soit X ={x0,x1, ...,xn}un domaine. Une relation de pr´ef´erence sur X est une relation sur X ×X telle que xi xj sixi est pr´ef´er´e `axj

I xi xj ⇔xi xj et xj xi I xi ∼xj ⇔xi xj et xj xi

I plusieurs types de relations de pr´ef´erences :

I ordre, pr´e-ordre

I quasi-ordre

I fonctions d’utilit´e:

I f :X 7→R

I f(xi)f(xj) si et seulement sixixj

(12)

Crit` eres pour juger les solutions (projet Mancoosi)

Diff´erents crit`eres ont ´et´e d´efinis pour jauger la qualit´e des solutions (fonctions lin´eaires) :

I paquets install´es

I paquets enlev´es

I paquets chang´es

I paquets non `a jour

I paquets recommand´es non-install´es

11/29

(13)

D´ ecision multi-crit` ere

Exemple du probl`eme de gestion de d´ependances :

I plusieurs crit`eres `a prendre en compte :

I une relation de pr´ef´erence par crit`ere

I cod´es par des fonctions objectif

I probl`eme : crit`eres antagonistes

I recommand´es non-install´es,install´es

(14)

Fonctions d’agr´ egation

Plusieurs solutions :

I donner un ordre sur les crit`eres

I utiliser une fonction F agr´egeant plusieurs fonctions d’utilit´e :

I siF est lin´earisable, on revient au probl`eme mono-crit`ere (m´ethodes efficaces en pratique existantes)

I sinon, difficile de trouver un optimum

13/29

(15)

Agr´ egations de crit` eres consid´ er´ ees (projet Mancoosi)

I ordre lexicographique

I agr´egationparano¨ıa 1. enlev´es

2. chang´es

I agr´egation`a la mode 1. enlev´es

2. erim´es

3. recommand´es non-install´es 4. install´es

(16)

Types de fonctions d’agr´ egation

Diff´erents types de fonctions d’agr´egation pour diff´erents cas

I Ordered Weighted Averaging operators (OWA), m´ethode g´en´eraliste

I int´egrale de Choquet, synergie entre les crit`eres

I crit`ere de TchebycheffT(x), solutions´equilibr´ees

15/29

(17)

Introduction

Rappels de logique propositionnelle Expression des pr´ef´erences

Crit`ere de Tchebycheff Algorithmes

R´esultats exp´erimentaux et perspectives

(18)

Crit` ere de Tchebycheff

Crit`ere de Tchebycheff :

I agr´egation des´ecurit´e, solutions ´equilibr´ees

I pour chaque crit`ere, on calcule le regretri(x) de la solution (meilleure valeur possible - valeur de la solution)

I T(x) =max({wiri}) (wi : poids donn´es par expert)

I solution optimale : T(x) minimis´e

I fonction minorante : moyenne pond´er´ee des regrets

17/29

(19)

Un petit exemple...

c2(x)

x

r1(x) r2(x)

(20)

Un petit exemple...

c1(x) c2(x)

x

r1(x) r2(x)

18/29

(21)

Un petit exemple...

c2(x)

x

r1(x) r2(x)

(22)

Un petit exemple...

c1(x) c2(x)

x

r1(x) r2(x)

18/29

(23)

Introduction

Rappels de logique propositionnelle Expression des pr´ef´erences

Crit`ere de Tchebycheff Algorithmes

R´esultats exp´erimentaux et perspectives

(24)

Guidage par fonction minorante (Queiroz, S. 2008)

Utilisation d’une fonction lin´eaireFm qui minore F (carF doit ˆetre minimis´ee)

Int´erˆets :

I cas d’arrˆet

I si Fm est une bonne approximation deF,

bonnes solutions partielles

20/29

(25)

Illustration du guidage

y

x1 x2 x3 x4

fonction objectif fonction minorante

(26)

Illustration du guidage

y

x0 x1

x2 x3 x4

fonction objectif fonction minorante

21/29

(27)

Illustration du guidage

y

x3 x4

fonction objectif fonction minorante

(28)

Illustration du guidage

y

x0 x1 x2 x3

x4

fonction objectif fonction minorante

21/29

(29)

Illustration du guidage

y

fonction objectif fonction minorante

(30)

Autres m´ ethodes applicables au crit` ere de Tchebycheff

I m´ethode de la minorante inefficace pour r´esoudre notre probl`eme

I max({x1,x2, ...,xn})≤c ⇔ x1≤c,x2 ≤c, ...,xn≤c

I possibilit´e d’imposerT(x)≤n

I contribution : deux algorithmes

I ajout successif de contraintes pour imposerT(x)n

I imposer successivementT(x) = 0,T(x) = 1, ...

22/29

(31)

R´ esolution par renforcement de contraintes

c1(x) c2(x)

x

x1 x2

x3

(32)

R´ esolution par renforcement de contraintes

c1(x) c2(x)

x

x1

x2

x3

23/29

(33)

R´ esolution par renforcement de contraintes

c1(x) c2(x)

x

x1

x2

x3

(34)

R´ esolution par renforcement de contraintes

c1(x) c2(x)

x

x1 x2

x3

23/29

(35)

R´ esolution par renforcement de contraintes

c1(x) c2(x)

x

x1 x2

x3

(36)

R´ esolution par renforcement de contraintes

c1(x) c2(x)

x

x1 x2

x3

23/29

(37)

R´ esolution par renforcement de contraintes

Solution de d´epart joue un rˆole tr`es important !

I meilleure solution de d´epart : moins d’it´erations

I id´ee : solution de d´epart = solution optimale pour une fonction lin´eaire qui approxime le crit`ere de Tchebycheff

(38)

R´ esolution par relaxation de contraintes

c1(x) c2(x)

x

25/29

(39)

R´ esolution par relaxation de contraintes

c2(x)

x

(40)

R´ esolution par relaxation de contraintes

c1(x) c2(x)

x

25/29

(41)

Introduction

Rappels de logique propositionnelle Expression des pr´ef´erences

Crit`ere de Tchebycheff Algorithmes

R´esultats exp´erimentaux et perspectives

(42)

Quelques r´ esultats exp´ erimentaux repr´ esentatifs

instance simpleCstr impCstr relax

kwin-style-crystal.cudf 3 :32.50 3 :58.58 gnash-common-opengl.cudf 7 :50.64 3 :29.86 3 :47.15

kbd.cudf 9 :57.78 5 :03.20 5 :12.14

kdessh.cudf 4 :26.25 4 :01.17

kjumpingcube.cudf 9 :48.29 4 :32.90 5 :49.06

tasque.cudf 5 :02.58

mono-mcs.cudf 6 :05.82 5 :26.81

mono-debugger.cudf 4 :27.17

libmono-addins-gui0.2-cil.cudf 6 :30.89

plasma-widgets-workspace.cudf 5 :50.05

r-cran-lme4.cudf 6 :25.50 4 :25.55

plasma-dataengines-workspace.cudf 5 :58.67 3 :46.45

r-cran-rodbc.cudf 4 :03.04 4 :28.20

mono-gac.cudf 4 :05.21 4 :49.24

kommander.cudf 9 :30.01 4 :46.28 5 :33.73

libevolution3.0-cil.cudf 9 :21.93 8 :58.36 4 :36.97 openoffice.org-draw.cudf 9 :50.50 5 :12.93 4 :51.37

ktouch.cudf 9 :54.45 4 :32.66 5 :32.31

kdesudo.cudf 9 :05.84 3 :38.39 3 :51.66

gtwitter.cudf 8 :26.07 5 :49.79

gpc-4.1.cudf 6 :13.87 4 :44.35

ksystemlog.cudf 4 :13.67 4 :26.94

upstart-compat-sysv.cudf 7 :54.76

fcron.cudf 8 :06.95 4 :15.86 4 :34.11

audacious-plugins-extra.cudf 7 :05.73 5 :20.92

27/29

(43)

Perspectives

I mod´elisation du probl`eme

I ´etudier pertinence crit`eres

I choix de la m´ethode d’agr´egation la plus adapt´ee

I pond´eration des crit`eres

I algorithmique

I algo. bas´es sur crit`ere Tchebycheff : retourner solutions Pareto-optimales

I am´elioration algorithmes d´evelopp´es

I multithreading

(44)

Merci :-)

Merci :-)

29/29

(45)

Codage probl` eme

notion codage

besoin V

capj∈UIi

(UIi W

UI∈alt(capj)

UI)

conflits ( P

i|i∈versions(UIx)

UIix)1

recommandations V

capj∈optReq(UIi)

(Abscapj V

UIx∈alt(capj)

UIx)

installations demand´ees V

UIxa installer

UIx

Un mod`ele pour la formule obtenue par la conjonction des formules pr´esent´ees nous donne une solution au probl`eme de gestion de

(46)

Codage crit` eres (1/2)

Diff´erents crit`eres ont ´et´e d´efinis pour jauger la qualit´e des solutions :

I install´es

nouveauUIx= _

UIix∈versions(UIx)

UIix,UIx non-install´ees

I enlev´es

enlev´eUIx = ^

UIix∈versions(UIx)

¬UIix,UIx install´ees

I chang´es

chang´eUIx= _

UIix∈install´ees∩versions(UIx)

¬UIix

_

UIix∈non-install´ees∩versions(UIx)

UIix,UIx ∈ {UI}

29/29

(47)

Codage crit` eres (2/2)

Diff´erents crit`eres ont ´et´e d´efinis pour jauger la qualit´e des solutions :

I pas `a jour

erim´eUIx =¬estAJour(UIx)( _

UIix∈versions(UIx)\`aJour(UIx)

UIix),UIx ∈ {UI}

I recommand´es non-install´es

XAbscap

Références

Documents relatifs

Obligatoires : copies s´epar´ees pour chaque partie ; num´erotation des copies de 1/n `a n/n ; votre nom sur chaque copie ; num´erotation des questions ; r´esolution dans l’ordre

Lorsque les entiers a et b sont “petits” en valeurs absolues, une solution particuli` ere de (⋆) peut ˆ etre trouv´ ee de tˆ ete (i.e., par tˆ atonnement) ; mais lorsque a et b

Dans ces cas, et avec l’optique par exemple de rendre la m´ethode algorithmique (et donc d´eterministe) en vue de la program- mer sur un ordinateur, il faut y adjoindre un ou

Puisqu’il n’y a qu’un nombre fini de bases r´ealisables (au plus C n m ), les it´er´ees de cette m´ethode nous conduiront assur´ement `a une solution optimale `a condition que

Soit J la matrice d´ efinissant les it´ erations de Jacobi appliqu´ ee ` a un syst` eme lin´ eaire de matrice A3. En d´ eduire que la m´ ethode de Jacobi converge lorsque A est `

Cette suite ´ etant clairement croissante, elle est major´ ee par sa

Montrons qu’un pr´ e-bel ordre nous permet de d´ efinir une sous-suite strictement croissante.. Deux cas se pr´ esentent : si B est de cardinal infini, alors la suite d´ es ´

Pour des raisons techniques, si, un jour donn´ e, on utilise le hangar H, le lendemain on r´ eutilisera ce mˆ eme hangar avec une probabilit´ e de 0, 5 et si, un jour donn´ e,