La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

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

Présentations similaires


Présentation au sujet: "Algorithmes d approximation Module IAD/M2/RO/RP Philippe Chrétienne."— Transcription de la présentation:

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 f I : S(I). S*(I) = {s S(I) f I (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 f I est à minimiser. On suppose que pour tout énoncé I: S(I) est non vide et fini. On note alors f I * = Min{f I (s) s S(I) } la valeur (optimale) d une solution. On a alors S*(I)= {s S(I) f I (s) = f I *} 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 f I (Â(I)) « assez proche » de f I *.

6 Un algorithme d approximation  pour le problème de minimisation (,f I ) offre la garantie relative 1+ si pour tout énoncé I de : f I (Â(I)) (1 + ) f I *. Un algorithme d approximation  pour le problème de maximisation (,f I ) offre la garantie relative 1- si pour tout énoncé I de : f I (Â(I)) (1 - ) f I *. Un algorithme d approximation  pour le problème de minimisation (,f I ) offre la garantie absolue si pour tout énoncé I de : f I (Â(I)) - f I *. Un algorithme d approximation  pour le problème de maximisation (,f I ) offre la garantie absolue si pour tout énoncé I de : f I *- f I (Â(I)). Garanties relatives Garanties absolues On suppose que pour tout énoncé I: f I *>0

7 Taux de performance de  (problème de minimisation) Si on détermine un énoncé J de tel que: f J (Â(J)) = (1 + ) f J * alors on a : (Â) = (1 + ). L énoncé J représente alors un plus mauvais cas pour Â. Le taux de performance (Â) de  est défini par : (Â) = Sup {f I (Â(I))/f I * I D } Si 1+ est une garantie relative offerte par Â, alors 1+ est un majorant de (Â). Souvent, on ne sait pas calculer (Â).

8 Exemples BIN PACKING Donnée: n articles A 1, A 2, …., A n ; pour chaque A i, sa hauteur h i (0 < h i < 1). Une solution candidate est une partition B 1, B 2, …, B K des n articles telle que pour toute « boîte » B k : 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) Soit P = (A 1, A 2, …., A p-1 ) la liste des articles déjà placés; Soit B = (B 1, B 2, …., B k-1 ) la liste des boîtes déjà utilisées; Si, pour toute boîte B i de B: r(B i ) < h p, alors B := B. (B k ) ; %créer une nouvelle boîte% r(B k ):= 1- h p ; K:=K+1 sinon %placer l article dans la première boîte possible% soit B j la première boîte de B telle que r(B j ) h p ; r(B j ):= r(B j )-h p Finsi Etape courante (r(B i ) est la hauteur résiduelle de la boîte B i ):

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 : N FF (I) 2 f I *. Lemme 1: f I * H Preuve: Si l on pouvait « couper » les articles, le nombre minimum de boîtes serait égal à H. Lemme 2: Soit B = (B 1, B 2, …., B K ) la liste des boîtes de FF(I). Au plus une boîte B j satisfait r(B j )1/2. Preuve (récurrence sur le nombre d articles placés): La propriété est vraie pour le 1 er article. Supposons qu elle reste vraie après le placement des p-1 premiers articles. Notation : H = i=1..n h i

11 Si pour toute boîte B j,on a r(B j ) < 1/2, alors la propriété reste vraie, que l on crée une boîte ou pas pour placer l article A p. Sil existe une boîte B j telle que r(B j ) 1/2, alors si h p 1/2, la propriété reste vraie car on peut placer A p dans B j ; si h p > 1/2, la propriété reste encore vraie, car si FF crée une nouvelle boîte B k pour A p, on a: r(B k ) < 1/2. Preuve de la propriété: Soit B = (B 1, B 2, …., B K ) la liste des boîtes de FF(I). On a j=1..K (1-r(Bj)) = H. D après le lemme 2, on a 1- r(Bj) > 1/2 pour au moins K-1 indices, on a donc j=1..K (1-r(Bj)) > (K-1)/2. Il en résulte que K-1 < 2H. On a donc (lemme 1) : K = N FF (I) 2H 2 H 2 f I *.

12 Remarques: 1) L algorithme FF fournit une meilleure garantie que 2. On a pu montrer que: pour tout I: N FF (I) (17/10) f I * + 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: N FFD (I) (11/9) f I * + 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 (i 1, i 2, …., i n ) des n villes. Une solution est un tour (i 1, i 2, …., i n ) dont la longueur D(i 1,i 2 )+ D(i 2,i 3 )+ ….+ D(i n-1,i n ) + D(i n,i 1 ) 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 Déterminer un circuit eulérien C de K à partir d un parcours en profondeur de K.

18 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)) f I * 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 f I *.

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? Propriété: Si (B) est NP-complet, l existence d un algorithme d approximation fournissant une garantie inférieure à (1+1/B) implique P=NP. 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?

21 Preuve de la propriété. Supposons que l algorithme  fournisse la garantie relative (1+ ) strictement inférieure à (1+1/B) pour. Soit I un énoncé de (B). Si I est un énoncé à réponse « oui », on a: 1) f I * B, 2) f I (Â(I)) (1+ ) f I * B. Si I est un énoncé à réponse « non », on a: 1) f I * > B, 2) f I (Â(I)) > B. Il en résulte que la valeur f I (Â(I)) permet de décider si I est à réponse « oui » ou « non ». Comme f(Â(I)) est calculable en temps polynomial, on a P=NP.

22 Les garanties absolues sont plutôt rares. Pour certains problèmes NP-complets, l existence d une garantie absolue numérique implique P=NP. Exemple: SAC à DOS. Propriété: Si un algorithme d approximation  fournit une garantie absolue numérique pour le problème SAC à DOS, alors P=NP 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. 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. 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: f I (s)=(1+ ) f I (s). I et I ont donc la même solution optimale. On a donc : f I * = (1+ ) f I *. On a donc P=NP.


Télécharger ppt "Algorithmes d approximation Module IAD/M2/RO/RP Philippe Chrétienne."

Présentations similaires


Annonces Google