INF562 – G´ eom´ etrie Algorithmique et Applications Algorithmes d’approximation g´ eom´ etrique Steve Oudot
Pr´ eliminaire : un peu de th´ eorie de la complexit´ e Principe de cette th´ eorie : - on prend un probl` eme (exemple : unicit´ e des ´ el´ ements d’un ensemble) - on choisit un mod` ele de calcul (exemple : comparaison) - on ´ etudie la difficult´ e de ce probl` eme pour ce mod` ele : → borne inf´ erieure : Ω( n log n ) [Ben-Or 83] → borne sup´ erieure : O ( n log n ) (on trie les elements au fur et ` a mesure) 2
Pr´ eliminaire : un peu de th´ eorie de la complexit´ e Principe de cette th´ eorie : - on prend un probl` eme (exemple : unicit´ e des ´ el´ ements d’un ensemble) - on choisit un mod` ele de calcul (exemple : Word-RAM) - on ´ etudie la difficult´ e de ce probl` eme pour ce mod` ele : → borne inf´ erieure : Ω( n ) → borne sup´ erieure : O ( n ) amorti (table de hachage) 2
Pr´ eliminaire : un peu de th´ eorie de la complexit´ e Principe de cette th´ eorie : - on prend un probl` eme (exemple : unicit´ e des ´ el´ ements d’un ensemble) - on choisit un mod` ele de calcul (exemple : quantum circuits) - on ´ etudie la difficult´ e de ce probl` eme pour ce mod` ele : erieure : Ω( n 2 / 3 ) [Aaronson, Shi 04]) → borne inf´ erieure : O ( n 2 / 3 ) (Prob(r´ → borne sup´ esultat correct) = Ω(1) [Ambainis 07] Note: on ne compte pas le temps de lire l’entr´ ee 2
Pr´ eliminaire : un peu de th´ eorie de la complexit´ e Principe de cette th´ eorie : - on prend un probl` eme (exemple : unicit´ e des ´ el´ ements d’un ensemble) - on choisit un mod` ele de calcul (exemple : quantum circuits) - on ´ etudie la difficult´ e de ce probl` eme pour ce mod` ele : erieure : Ω( n 2 / 3 ) [Aaronson, Shi 04]) → borne inf´ la preuve n’est pas evidente mais elle est jolie : elle se base sur un resultat de geometrie algebrique du a Milnor et Thom) erieure : O ( n 2 / 3 ) (Prob(r´ → borne sup´ esultat correct) = Ω(1) [Ambainis 07] A priori il n’y a pas de modele de calcul absolument plus realiste que les autres. En pratique le modele que l’on choisit depend du type des Note: on ne compte pas le temps de lire l’entr´ ee Quel mod` ele de calcul choisir ? donnees sur lesquelles on veut travailler, et des operations que ces donnees supportent (comparaison, hachage, etc.). 2
Mod` eles de calcul Tous les mod` eles de calcul ne sont pas ´ equivalents. Certains mod` eles de calcul sont plus performants que d’autres. D’une part ils peuvent Hi´ erarchie de Chomsky (1956): resoudre certains problemes plus rapidement. D’autre part ils peuvent resoudre des problemes que d’autres modeles ne peuvent pas. • langages r´ eguliers (automates finis) exemple: { a ∗ b ∗ } • grammaires hors-contexte (automates finis ` a pile) exemple : { a n b n | n > 0 } + ce sont des machines de Turing qui ne peuvent ecrire sur la bande en-dehors de l’endroit ou se trouve ecrite l’instance du probleme, ou sur • grammaires contextuelles (automates finis a bande lin´ eairement born´ ee) une longueur lineaire en la taille de l’entree. Ils sont adaptes pour effectuer l’operation de derivation. exemple : { a n b n c n | n > 0 } • langages d´ ecidables (machines de Turing) exemple : { ( n, m ) | n mod m = 0 } 3
Mod` eles de calcul Tous les mod` eles de calcul ne sont pas ´ equivalents. Certains mod` eles de calcul sont plus performants que d’autres. D’une part ils peuvent Hi´ erarchie de Chomsky (1956): resoudre certains problemes plus rapidement. D’autre part ils peuvent resoudre des problemes que d’autres modeles ne peuvent pas. • langages r´ eguliers (automates finis) exemple: { a ∗ b ∗ } • grammaires hors-contexte (automates finis ` a pile) exemple : { a n b n | n > 0 } + ce sont des machines de Turing qui ne peuvent ecrire sur la bande en-dehors de l’endroit ou se trouve ecrite l’instance du probleme, ou sur • grammaires contextuelles (automates finis a bande lin´ eairement born´ ee) une longueur lineaire en la taille de l’entree. Ils sont adaptes pour effectuer l’operation de derivation. exemple : { a n b n c n | n > 0 } • langages d´ ecidables (machines de Turing) exemple : { ( n, m ) | n mod m = 0 } au-del` a : langages r´ ecursivement ´ enum´ erables, langages ind´ ecidables 3
Mod` eles de calcul Th` ese de Church-Turing (1936): ele de calcul effectif [i.e. r´ ealisable par une machine] peut Tout mod` ˆ etre simul´ e par une machine de Turing 3
Mod` eles de calcul Th` ese de Church-Turing (1936): ele de calcul effectif [i.e. r´ ealisable par une machine] peut Tout mod` ˆ etre simul´ e par une machine de Turing → mod` ele de r´ ef´ erence : machine de Turing → mod` eles ´ equivalents (pour la calculabilit´ e): λ -calcul, algebraic comparison, Pointer Machine, Real-RAM, Word-RAM, etc. → but : classifier les probl` emes de mani` ere consistante pour tous ces mod` eles 3
Classes de complexit´ e 4
Classes de complexit´ e ? P = NP • enjeux colossaux d´ epassant largement le cadre scientifique • implications dans de nombreux domaines des sciences et au-del` a • que faire si P � = NP ? Certains probl` emes sont-ils d´ efinitivement inaccessibles ? 4
Classes de complexit´ e ? P = NP • enjeux colossaux d´ epassant largement le cadre scientifique • implications dans de nombreux domaines des sciences et au-del` a • que faire si P � = NP ? Certains probl` emes sont-ils d´ efinitivement inaccessibles ? → calcul quantique ? → algorithmes d’approximation 4
Classes de complexit´ e ? P = NP • enjeux colossaux d´ epassant largement le cadre scientifique • implications dans de nombreux domaines des sciences et au-del` a • que faire si P � = NP ? Certains probl` emes sont-ils d´ efinitivement inaccessibles ? → calcul quantique ? → algorithmes d’approximation → algorithmes d’approximation 4
Algorithmes d’approximation Def: Un probl` eme d’optimisation (minimisation) p consiste, ` a partir d’une instance i donn´ ee, ` a calculer une structure qui optimise (minimise) une certaine fonction de coˆ ut | · | . 5
Algorithmes d’approximation Def: Un probl` eme d’optimisation (minimisation) p consiste, ` a partir d’une instance i donn´ ee, ` a calculer une structure qui optimise (minimise) une certaine fonction de coˆ ut | · | . Exemple: ´ etant donn´ e un graphe pond´ er´ e G , calculer l’arbre couvrant de G de poids minimal. → probl` eme : MST → instance : G → fonction de coˆ ut : somme des poids des arˆ etes de l’arbre 5
Algorithmes d’approximation Def: Un probl` eme d’optimisation (minimisation) p consiste, ` a partir d’une instance i donn´ ee, ` a calculer une structure qui optimise (minimise) une certaine fonction de coˆ ut | · | . → pour toute instance i , soit OPT p ( i ) une structure optimale sur i Def: Un algorithme de κ -approximation de ( p, | · | ) est un algorithme A qui, pour toute instance i de p , fournit une solution A ( i ) (en temps Poly ( | i | ) ) telle que | A ( i ) | ≤ κ | OPT p ( i ) | . → κ peut ˆ etre une constante ou bien une fonction (polynˆ omiale) de | i | 5
Algorithmes d’approximation Def: Un probl` eme d’optimisation (minimisation) p consiste, ` a partir d’une instance i donn´ ee, ` a calculer une structure qui optimise (minimise) une certaine fonction de coˆ ut | · | . → pour toute instance i , soit OPT p ( i ) une structure optimale sur i Def: Un algorithme de κ -approximation de ( p, | · | ) est un algorithme A qui, pour toute instance i de p , fournit une solution A ( i ) (en temps Poly ( | i | ) ) telle que | A ( i ) | ≤ κ | OPT p ( i ) | . → κ peut ˆ etre une constante ou bien une fonction (polynˆ omiale) de | i | Def (PTAS): Un PTAS de p vis-` a-vis de |·| est une famille ` a un param` etre d’algorithmes polynˆ omiaux, { A ε } ε> 0 , telle que pour tout ε > 0 et toute instance i de p , | A ε ( i ) | ≤ (1 + ε ) | OPT p ( i ) | . 5
Algorithmes d’approximation Def: Un probl` eme d’optimisation (minimisation) p consiste, ` a partir d’une instance i donn´ ee, ` a calculer une structure qui optimise (minimise) une certaine fonction de coˆ ut | · | . Plus g´ en´ eralement, la raison d’ˆ etre d’un algorithme d’approximation (ou et ceci sans forc´ ement changer de classe de complexit´ e. Par exemple certains algorithmes d’approximation en g´ eom´ etrie visent ` a r´ eduire la d’une famille d’algorithmes d’approximation) est de r´ eduire la complexit´ e d´ ependance en la dimension des donn´ ees. cf. la s´ eance de cours suivante. d’un probl` eme donn´ e pour un mod` ele de calcul donn´ e. → dans la suite, le mod` ele de calcul par d´ efaut sera Real-RAM 5
Traveling Salesman Problem 2 TSP: Given a complete graph G = ( V, E ) with 5 non-negative weights, find the tour (cycle passing 3 7 through each vertex once) of minimum total cost. 1 17 0 . 2 8 K 7 6
Traveling Salesman Problem | OPT | = 36 . 2 2 TSP: Given a complete graph G = ( V, E ) with 5 non-negative weights, find the tour (cycle passing 3 7 through each vertex once) of minimum total cost. 1 17 0 . 2 8 OPT K 7 6
Recommend
More recommend