Title: Algorithmes d
1Algorithmes d approximation
- Module IAD/M2/RO/RP
- Philippe Chrétienne
2Plan du chapitre
- Problème de recherche
- Algorithme d approximation
- Garanties
- Exemples (bin-packing, TSP)
- Approximation et complexité
3Problème de recherche
Un problème ? est dit  de recherche si à tout
énoncé I de ? est associé un ensemble S(I) de
solutions.
Un algorithme qui résout ? doit pour tout
énoncé I écrire une solution de S(I) si
S(I)??, sinon
écrire  pas de solution pour cet énoncé .
Un problème d optimisation (minimisation ou
maximisation) est un problème de recherche pour
lequel S(I) est défini à partir - d un
ensemble de solutions candidates S(I), -
d une fonction objectif fI S(I) ? ?.
S(I) s ? S(I)?fI(s) est optimal
4Exemples de problèmes d optimisation
TSP (voyageur de commerce) I défini à partir
d une matrice D des distances entre n
villes. Une solution candidate est un tour. Une
solution est un tour de longueur totale minimale.
SAC à DOS I défini à partir - d un ensemble
d articles A, - d une
fonction poids p A ? ?,
- d une fonction valeur v A ? ?,
- d un poids maximum P. Une solution
candidate est un sous-ensemble d articles de
poids P Une solution est une solution candidate
de valeur maximale.
5Algorithme d approximation
Soit ? un problème d optimisation. On suppose
que la fonction objectif fI est à minimiser.
On suppose que pour tout énoncé I S(I) est non
vide et fini.
On note alors fI MinfI(s)?s ? S(I) la
valeur (optimale) d une solution.
On a alors S(I) s ? S(I) ?fI(s) fI
Un algorithme d approximation  pour ? doit
fournir, pour tout énoncé I de ? et en temps
polynomial en la longueur l?(I) de l énoncé I
une solution candidate (notée
Â(I)) de valeur fI(Â(I))  assez
proche de fI.
6Garanties relatives
On suppose que pour tout énoncé I fIgt0
Un algorithme d approximation  pour le problème
de minimisation (?,fI) offre la garantie
relative 1 ? si pour tout énoncé I de ?
fI(Â(I)) (1 ?) fI.
Un algorithme d approximation  pour le problème
de maximisation (?,fI) offre la garantie
relative 1- ? si pour tout énoncé I de ?
fI(Â(I)) (1 - ?) fI.
Garanties absolues
Un algorithme d approximation  pour le problème
de minimisation (?,fI) offre la garantie
absolue ? si pour tout énoncé I de ? fI(Â(I)) -
fI ? .
Un algorithme d approximation  pour le problème
de maximisation (?,fI) offre la garantie
absolue ? si pour tout énoncé I de ? fI-
fI(Â(I)) ? .
7Taux de performance de  (problème de
minimisation)
Le taux de performance ?(Â) de  est défini par
?(Â) Sup fI(Â(I))/fI? I? D?
Si 1 ? est une garantie relative offerte par Â,
alors 1 ? est un majorant de ?(Â).
Souvent, on ne sait pas calculer ?(Â) .
Si on détermine un énoncé J de ? tel que
fJ(Â(J)) (1 ?) fJ alors on a ?(Â) (1
?). L énoncé J représente alors un plus mauvais
cas pour Â.
8Exemples
BIN PACKING Donnée n articles A1, A2, . , An
pour chaque Ai, sa hauteur h i (0 lt h
i lt 1).
Une solution candidate est une partition B1, B2,
, BK des n articles telle que pour
toute  boîte Bk ?Ai ? Bk h i 1.
Une solution est une solution candidate pour
laquelle le nombre K de boîtes est minimum.
Remarque BIN PACKING est un problème difficile
(NP-complet au sens fort)
9L algorithme d approximation FIRST FIT (FF)
Etape courante (r(Bi) est la hauteur résiduelle
de la boîte Bi)
Soit P (A1, A2, . , A p-1) la liste des
articles déjà placés Soit B (B1, B2, . ,
Bk-1) la liste des boîtes déjà utilisées
Si, pour toute boîte Bi de B r(Bi) lt hp,
alors B B. (Bk) créer une nouvelle boîte
r(Bk) 1- hp KK1
sinon placer l article dans la première
boîte possible soit Bj la première
boîte de B telle que r(Bj) hp
r(Bj) r(Bj)-hp Finsi
10Notons NFF(I) le nombre de boîtes de
FF(I). Propriété FF est un algorithme
d approximation de BIN PACKING fournissant la
garantie relative 2 pour tout I NFF(I) 2
fI.
Notation H ?i1..n h i
Lemme 1 fI ?H?
Preuve Si l on pouvait  couper les
articles, le nombre minimum de boîtes serait égal
à ?H?.
Lemme 2 Soit B (B1, B2, . , BK) la liste des
boîtes de FF(I). Au plus une
boîte Bj satisfait r(Bj)1/2.
Preuve (récurrence sur le nombre d articles
placés) La propriété est vraie pour le 1er
article. Supposons qu elle reste vraie après le
placement des p-1 premiers articles.
11Si pour toute boîte Bj,on a r(Bj) lt 1/2, alors la
propriété reste vraie, que l on crée une boîte
ou pas pour placer l article Ap. Sil existe
une boîte Bj telle que r(Bj) 1/2, alors
si hp 1/2, la propriété reste vraie car on peut
placer Ap dans Bj
si hp gt 1/2, la propriété reste encore vraie,
car si FF crée une
nouvelle boîte Bk pour Ap,
on a r(Bk) lt 1/2.
Preuve de la propriété Soit B (B1, B2, . ,
BK) la liste des boîtes de FF(I). On a ? j1..K
(1-r(Bj)) H. D après le lemme 2, on a 1-
r(Bj) gt 1/2 pour au moins K-1 indices, on a donc
? j1..K (1-r(Bj)) gt (K-1)/2. Il en résulte que
K-1 lt 2H. On a donc (lemme 1) K NFF(I) ?2H?
2 ?H? 2 fI.
12Remarques
1) LÂ algorithme FF fournit une meilleure
garantie que 2. On a pu montrer que pour tout
I NFF(I) (17/10) fI 2 De plus, il existe
des énoncés pour lesquels on a l égalité.
2) L  intuition dit que l on a intérêt Ã
placer en priorité les articles les plus hauts.
L algorithme associé FFD (FIRST FIT
DECREASING) est identique à FF sauf qu il
commence par trier articles par hauteur
décroissante au sens large.
On a pu montrer (preuve très longue et difficile)
que pour tout I NFFD(I) (11/9) fI 4 De
plus, il existe des énoncés pour lesquels on a
l égalité.
13TSP euclidien
Donnée une matrice D des distances
(euclidiennes) entre n villes. Pour tout triplet
de villes i,j,k D(i,j) D(i,k)D(k,j) .
Une solution candidate est un tour, c est-à -dire
une permutation (i1, i2, . , in) des n villes.
Une solution est un tour (i1, i2, . , in) dont
la longueur D(i1,i2) D(i2,i3) . D(in-1 ,in)
D(in,i1) est minimum.
Remarque TSP euclidien est un problème difficile
(NP-complet au sens fort)
14Un algorithme d approximation  pour TSP
euclidien.
1. Déterminer un arbre couvrant H (V,E) de coût
minimum sur le graphe complet des n villes
valué par les distances D(i,j).
2. Construire le graphe K (V, F) obtenu à partir
de H en remplaçant chaque arête u,v de E
par un arc (u,v) et un arc (v,u) valués
chacun par D(u,v).
3. Déterminer un circuit eulérien C de K à partir
d un parcours en profondeur de K.
4. Déterminer le tour obtenu à partir de C en
utilisant les arêtes du co-arbre de H pour
ne pas repasser 2 fois par le même sommet
intermédiaire.
151. Déterminer un arbre couvrant H (V,E) de coût
minimum sur le graphe complet des n villes
valué par les distances D(i,j).
162. Construire le graphe K (V, F) obtenu à partir
de H en remplaçant chaque arête u,v de E
par 2 arcs (u,v) et (v,u) valués par D(u,v).
173. Déterminer un circuit eulérien C de K à partir
d un parcours en profondeur de K.
1
10
9
6
2
5
8
4
3
7
184. Déterminer le tour obtenu à partir de C en
utilisant les arêtes du co-arbre de H pour
ne pas repasser 2 fois par un même sommet.
19Notons l(H) la longueur de l arbre H.
Soit T(I) un tour optimal.
En supprimant une arête de T(I), on obtient un
arbre couvrant HÂ (I) du graphe complet des n
villes.
Comme H est de longueur minimum, on a l(H)
l(HÂ (I)) fI
Par définition d un circuit eulérien, on a
l(C) 2 l(H).
Par construction du tour Â(I) et en utilisant
l inégalité triangulaire, on a l(Â(I)) l(C).
Il en résulte que l(Â(I)) 2 fI.
20Complexité et Approximation
Question Etant donné un problème
d optimisation difficile ?,
une garantie relative 1 ?, peut-on toujours
trouver un algorithme d approximation pour ?
fournissant cette garantie?
Soit B un entier naturel strictement positif. On
note ?(B) le problème de décision associé Ã
? Existe t il une solution candidate s telle
que f(s) B?
Propriété Si ?(B) est NP-complet, l existence
d un algorithme d approximation fournissant
une garantie inférieure à (11/B) implique PNP.
21Preuve de la propriété.
Supposons que l algorithme  fournisse la
garantie relative (1 ?) strictement inférieure
à (11/B) pour ?.
Soit I un énoncé de ?(B).
Si I est un énoncé à réponse  oui , on a 1)
fI B, 2) fI(Â(I)) (1 ?) fI B.
Si I est un énoncé à réponse  non , on a 1)
fI gt B, 2) fI(Â(I)) gt B.
Il en résulte que la valeur fI(Â(I)) permet de
décider si I est à réponse  oui ou
 non . Comme f(Â(I)) est calculable en temps
polynomial, on a PNP.
22Les garanties absolues sont plutôt rares.
Pour certains problèmes NP-complets, l existence
d une garantie absolue numérique implique PNP.
Exemple SAC Ã DOS.
Propriété Si un algorithme d approximation Â
fournit une garantie absolue numérique pour le
problème SAC à DOS, alors PNP
Preuve
Supposons que  fournisse la garantie absolue ?
pour SAC Ã DOS. (on peut supposer ? entier
strictement positif)
23Soit I (A, p, P, v) un énoncé de SAC à DOS.
Considérons maintenant l énoncé I (A, p, P,
(1 ? )v)
Par définition de I , I et I ont les mêmes
solutions candidates. Si s est une solution
candidate, on a fIÂ (s)(1 ? ) fI(s). I et IÂ
ont donc la même solution optimale. On a donc
fIÂ (1 ? ) fI.
En appliquant  à I , on a f I - f
I (Â(I )) ?. Soit encore (1 ? ) (f I - f
I (Â(I )) ?. Il en résulte que f I f
I (Â(I )) et donc que Â(I ) est une solution
optimale de I.
On a donc PNP.