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 p1≥p2≥... ≥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≥...≥pi≥2
3P≥pi+1 ≥...≥pj≥1
2P≥pj+1 ≥...≥pn≥1
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
⇒algorithmepolynomialpourPartition⇒P=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
(car3−2
3>ε), et donc pasde solution `aPartition
et on suppose d’yappliquer 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 Ps∈S1s=Ps∈S2s=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|Pipixi≤P,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
10k⌋pour 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′
i≥Pi10kbix′
i≥Pi10kbixi≥Pi(ai−10k)xi≥Piaixi−n10k
Si k≥log10 Aoε
n≥log10 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≥(n−1) +(nk +1) et
comme n+nk−Co
n+nk ≤ε,onaCo≥n(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 g´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 plus”contrainte)
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
x∈X1,y∈X2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/2−1≤Pixi≤n/2+1,minimiser P(i,j)∈Evi,j|xi−xj|
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
x∈X1,y∈X2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/2−1≤Pixi≤n/2+1,minimiser P(i,j)∈Evi,j|xi−xj|
Branch and bound ?il faut les ingr´edients suivants...
•unesolutioninitiale heuristique!influe beaucoup sur l’efficacit´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
x∈X1,y∈X2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/2−1≤Pixi≤n/2+1,minimiser P(i,j)∈Evi,j|xi−xj|
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 quexj∈X1ou xj∈X2.
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
x∈X1,y∈X2
v(x, y)minimal
Mod´elisation quasi-lin´eaire:une variable xiparsommet, `avaleur {0,1}
n/2−1≤Pixi≤n/2+1,minimiser P(i,j)∈Evi,j|xi−xj|
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
2−qplus petiteentre
chaque ´el´ement de X1et Y;les n
2−pplus petites entre chaque´el´ement de
X2et Y,les (n
2−p)( n
/2−q)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 l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!