Algorithmes d - PowerPoint PPT Presentation

About This Presentation
Title:

Algorithmes d

Description:

(on peut supposer entier strictement positif) Soit I= (A, p, P, v) un nonc de SAC DOS. En appliquant I ', on a: f I '* - f I '( (I ' ... – PowerPoint PPT presentation

Number of Views:190
Avg rating:3.0/5.0
Slides: 24
Provided by: PhilippeC155
Category:

less

Transcript and Presenter's Notes

Title: Algorithmes d


1
Algorithmes d approximation
  • Module IAD/M2/RO/RP
  • Philippe Chrétienne

2
Plan du chapitre
  • Problème de recherche
  • Algorithme d approximation
  • Garanties
  • Exemples (bin-packing, TSP)
  • Approximation et complexité

3
Problè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
4
Exemples 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.
5
Algorithme 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.
6
Garanties 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)) ? .
7
Taux 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 Â.
8
Exemples
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)
9
L 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
10
Notons 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.
11
Si 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.
12
Remarques
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é.
13
TSP 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)
14
Un 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.
15
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).
16
2. 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).
17
3. 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
18
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 un même sommet.
19
Notons 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.
20
Complexité 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.
21
Preuve 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.
22
Les 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)
23
Soit 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.
Write a Comment
User Comments (0)
About PowerShow.com