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