Cours 6: Algorithmes approchés Algorithmes approchés Algorithme

1-1
Cours 6: Algorithmes approch´es
Algorithmes approch´es
Bin-packing: approximable.
Sac-`a-dos :tr`esbien approximable
Sch´emasd’approximation
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Voyageur de commerce :non approximable
Backtracking, branch and bound
2-1
Probl`eme:Trouver parmi lessolutionsd’un probl`eme celle qui
optimise une fonction f.
Un algorithme est ε-approch´es’ildonne un Xqui satisfait
Algorithmes approch´es
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Un algorithme approche l’optimum `aun facteurθsi
maxf(X)
f(Xopt),f(Xopt )
f(X)θOn veut θproche de 1.
f(Xopt)f(X)
f(Xopt)εsi Xopt maximisef
f(X)f(Xopt)
f(X)εsi Xopt minimise f
On veut εproche de 0.
3-1 Gilles Schaeffer INF-551-6: Algorithmes approch´es
Algorithme1/2-approch´epour COUVRANT-MIN
Donn´ee:Ungraphe Gnon-orient´e
Probl`eme:Trouver un ensemblede sommets qui couvre les arˆetes.
Algorithme:F:= E;Y:=
TantqueFestnon vide: Choisir une arˆete fdans E
ajouter ses 2extr´emit´es dans Y
et supprimer de Ftoutes lesarˆetes couvertes.
Remarque:siGestun couplage|G|<|C|pour tout couvrant C.
Or les arˆetes utilis´ees pourformerYforment un couplage:
|Y|/2<|C|<|Copt|
D’o`uε=|Y|−|Copt|
|Y|1
2,ouencore θ=|Y|
|Copt|1
2.
4-1
Rangementoptimal et approximation
Donn´ees:nobjets de poids p1,...,pn,etdes boites de capacit´eP.
Probl`eme:Ranger les objetsdans un nombre minimum de boites.
Exemple:61, 41,40,40, 20, 19, 19 P=120
avec 2boites: 61+40+19=120 41+49+20+19=120.
Algorithme glouton:ranger les objets p1p2... pn,puis mettre
successivement lesobjets dans la premi`ere boite possible:
Exemple:61 +41 +20
40 +40 +19
19
Th´eor`eme:L’algorithme glouton utilise
au plus 1+3
2Nopt boites.
Preuve:Si touslesobjets ontpoids P/3,alors glouton est optimum:
p1...pi2
3Ppi+1 ...pj1
2Ppj+1 ...pn1
3P
Si chaqueboitecontient un objet de poids >1
3Palorsgloutonoptimum.
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Sinontoutes les boites saufunesont remplies `aplus des 2/3.
5-1
Rangementoptimal et limitede l’approximabilit´e
Th´eor`eme:algorithme polynomial ε<1
3approch´epour RangeOpt
algorithmepolynomialpourPartitionP=NP.
Preuvedu th´eor`eme:E={e1,e2,...,en}uneinstance de Partition
On consid`ere le probl`eme RangOpt avec P=1
2Pei
si la r´eponse est 2, il yaunesolution `aPartition
sinon,la r´eponse est 3 ouplus etil n’y apasde solution avec 2boites
(car32
3>ε), et donc pasde solution `aPartition
et on suppose dyappliquer un algorithme ε<1
3approch´e.
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Preuveque PartitionestNP-complet:clairement dansNP
R´eductionde SommePartielle`aPartition.
Probl`eme Partition:trouverune partition S1,S2d’unensemble fini
d’entiers Stelleque PsS1s=PsS2s=S/2.
6-1
Sac `adoset sch´ema d’approximation
Donn´ees:des poidsp1,...,pn,des gainsa1,...,apet lacapacit´eP
Probl`eme:Trouver max`Piaixi|PipixiP,xi{0,1}´
Th´eor`eme (Sch´ema d’approximation polynomial):Pour toutεil existeun
algorithmeε-approch´epourleprobl`emeSac-`
a-dosde complexit´eO(n3).
Id´ee:On utilisela programmation dynamique sur des donn´ees arrondies:
On pose bi=ai
10kpour un kbien choisi.
Parprogrammation dynamique, onobtientl’optimum{x
i}du probl`eme
arrondi en temps O(n2M)=O(n2M
10k)o`uM=max(ai).
On compare l’approximationdu probl`eme exact donn´ee par{x
i}`aun
optimum{xi}:
Piaix
iPi10kbix
iPi10kbixiPi(ai10k)xiPiaixin10k
Si klog10 Aoε
nlog10 Mε
n,onauneε-approximationentemps O(n3
ε).
Gilles Schaeffer INF-551-6: Algorithmes approch´es
7-1
Voyageurdu commerce et inapproximabilit´e
Donn´ees:un graphe Get une valuationdes arˆetes (”distances entre villes”)
Probl`eme:Trouver un ordre de visite des villes quiminimiseladistance.
Th´eor`eme:algopolynomial ε<1approch´epour levoyageur de commerce
algorithmepolynomialpourHamiltonien P=NP.
Probl`eme Hamiltonien:´etantdonn´eun graphe, trouverun cyclequi
visite uneet une seulefoisles sommets.NP-complet (cf poly)
Preuvedu th´eor`eme:soit Gun graphe(instance deHamiltonien)
On pose kentier 1
1εet on constuit lavaluation:
v(x, y)=1si (x, y)arˆete de G,v(x, y)=nk +1sinon.
Si on aune ε-approxdevaluationnalorsGadmet un cycle
hamiltonien, sinonlavaluation trouv´ee est x(n1) +(nk +1) et
comme n+nkCo
n+nk ε,onaCon(1 +k)(1 ε)>n.
Gilles Schaeffer INF-551-6: Algorithmes approch´es
8-1
Explorationarborescente ou backtracking
Donn´ee:un probl`eme ded´ecision `ar´esoudre (parexempleune formule SAT)
Algorithme en´erique:
`achaque ´etapeon aun ensemble Sde pbs,il faut en r´esoudre un
choisir un desprobl`emesPde S,led´ecomposer en union de plusieurs
probl`emesP1,...,Pktels que r´esoudre l’un des Pir´esoud P
si l’un des probl`emes Piaune solution facile,la donner
– ´eliminerles Pitrivialement sans solutionetremplacer Pparles autres
recommencer jusqu’`ace queSsoit vide ou qu’onait trouv´eune solution.
Remarque:lafa¸con habituelle deg´en´erer les Piestde partitionner l’espace
de recherche enimposantdes contraintesaux solutions.
programmation parcontrainte
Exemplepour3-SAT:dans Son prend une formule avec une clause `a1
ou 2variables, ou sinon uneformuleavec un petitnombre declause
on remplace la formulecourante par2formules, obtenue enmettant l’une
des variables `aVrai ou Faux (choisirla variable la pluscontrainte)
Gilles Schaeffer INF-551-6: Algorithmes approch´es
9-1
S´eparation-´evaluationou branch and bound
Donn´ee:un probl`eme d’optimisationsous contraintes, donton connaitune
solution faisable
Branch On constuitun arbre d’exploration des solutions faisables
Bound:Ne pasexplorer les sous-arbres dont on peut direqu’ils ne
donneront pas de solutionplus int´eressante que celle qu’on ad´ej`a.
il faut une fonction qui borne la valeurdes solutionsdansun sous-arbre.
Gilles Schaeffer INF-551-6: Algorithmes approch´es
10-1
Partition´equitable d’un graphe
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Donn´ees:un graphe G,une valuation vdes arˆetes
Probl`eme:trouverune partition X1,X2des sommetstq
|X1|=|X2|±1,etX
xX1,yX2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/21Pixin/2+1,minimiser P(i,j)Evi,j|xixj|
Branch and bound ?il faut les ingr´edients suivants...
unesolutioninitiale
un moyen de diviserle probl`eme Pen sousprobl`emes P1,...,Pktels que
l’ensembledes solutionsdePsoit couvert
unefonction g(Pi)quidonne une bonne bornesur l’optimum dansPi.
unestrat´egiede parcours del’arbre (choix du P`ad´ecomposer)
id´ee:`achaque ´etapeon ´elimine les Pitels que g(Pi)estmoinsbon quela
meilleure solutiontrouv´ee jusqu’ici.
11-1
Partition´equitable d’un graphe
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Donn´ees:un graphe G,une valuation vdes arˆetes
Probl`eme:trouverune partition X1,X2des sommetstq
|X1|=|X2|±1,etX
xX1,yX2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/21Pixin/2+1,minimiser P(i,j)Evi,j|xixj|
Branch and bound ?il faut les ingr´edients suivants...
unesolutioninitiale heuristique!influe beaucoup sur l’ecacit´e
pour Partition´
Equitable:d´emarrer avec X1:= {x1}
Pouride 1 `an/2,ajouter`aX1le sommet ydontlasomme des distances
aux ´el´ements deX1estmaximale.
12-1
Partition´equitable d’un graphe
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Donn´ees:un graphe G,une valuation vdes arˆetes
Probl`eme:trouverune partition X1,X2des sommetstq
|X1|=|X2|±1,etX
xX1,yX2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/21Pixin/2+1,minimiser P(i,j)Evi,j|xixj|
Branch and bound ?il faut les ingr´edients suivants...
un moyen de diviserle probl`eme Pen sousprobl`emes P1,...,Pktels que
l’ensembledes solutionsdePsoit couvert
On divise l’espace des solutionsen ajoutant des contraites:le plus simple
estd’instancier des variables bien choisies
pour Partition´
Equitable:onchoisitune variablexjet on divisele
probl`emeen deux, suivant quexjX1ou xjX2.
13-1
Partition´equitable d’un graphe
Gilles Schaeffer INF-551-6: Algorithmes approch´es
Donn´ees:un graphe G,une valuation vdes arˆetes
Probl`eme:trouverune partition X1,X2des sommetstq
|X1|=|X2|±1,etX
xX1,yX2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/21Pixin/2+1,minimiser P(i,j)Evi,j|xixj|
Branch and bound ?il faut les ingr´edients suivants...
unefonction g(Pi)quidonne une bonne bornesur l’optimum dansPi.
c’est le probl`eme leplus d´elicatdansla m´ethode...
pour Partition´
Equitable:On a affect´epartiellement X1et X2,etles
sommets de Yrestent, et on posep=|X1|,q=|X2|.
Alorsle coˆut minimal d’une solution de ce typeseraau moinsla somme du
coˆut des arˆetes suivantes: entre X1et X2;les n
2qplus petiteentre
chaque ´el´ement de X1et Y;les n
2pplus petites entre chaque´el´ement de
X2et Y,les (n
2p)( n
/2q)plus petitesentreles´el´ementsdeY.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !