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

IFT-66975 Chapitre 1 Classes de complexité fondamentales: P, BPP, RP, co-RP, ZPP, NP, co-NP, PP.

Présentations similaires


Présentation au sujet: "IFT-66975 Chapitre 1 Classes de complexité fondamentales: P, BPP, RP, co-RP, ZPP, NP, co-NP, PP."— Transcription de la présentation:

1 IFT Chapitre 1 Classes de complexité fondamentales: P, BPP, RP, co-RP, ZPP, NP, co-NP, PP

2 Quatre exemples 1- Problème du tri Entrée: une liste dentiers a 1, …, a n Sortie: Cette liste triée en ordre croissant.

3 Algorithme classiquement utilisé: Quicksort: « entrée a 1, …, a n 1. Comparer tous les entiers au pivot a 1 pour obtenir les ensembles P et G des a i respectivement plus petits et plus grands que a Retourner la liste Quicksort(P), a 1, Quicksort(G). »

4 Problème classique de lanalyse de Quicksort: sur une liste dentrée aléatoire, Quicksort nécessite (n log n) comparaisons mais si la liste dentrée est triée, le nombre de comparaisons est (n 2 ). Solution: exécuter lalgorithme sur une permutation aléatoire de la liste dentrée ou choisir les pivots de façon aléatoire. Alors lespérance du temps dexécution est (n log n).

5 2- Problème du test de nullité dun polynôme sur un corps fini. Entrée: Un polynôme à plusieurs variables sur un corps fini F (par exemple, les entiers modulo un nombre premier q, Z q ). Ce polynôme p(x 1, …, x n ) est représenté par un circuit arithmétique. Question: Ce polynôme est-il égal au polynôme nul?

6 Exemples: Sur Z 2, les polynômes x 2 – x et x 2 + x sont toujours 0. Sur Z 3, x 2 – x est nul mais x 2 + x nest pas toujours nul car (mod 3). Sur Z p, x p-1 – x est nul. (Petit théorème de Fermat) Sur Z 5, le polynôme x 2 + xy – 2yz + z 3 nest pas nul. Si on prend x = 1, y = 0 et z = 2, on a bien – = 9 et 9 0 (mod 5).

7 Idée apparemment raisonnable pour un algorithme: 1. Choisir au hasard une valeur i F pour chaque variable x i et calculer p( 1, …, n ). 2. Si la valeur est non-nulle, arrêter et conclure que p est non-nul. Sinon, conclure que p est nul.

8 Temps dexécution polynomial. Pas si bête! Si le polynôme est nul alors lalgorithme ne se trompe pas. Si le polynôme est non-nul, il faudrait être malchanceux pour tomber précisément sur des i tels que p( 1, …, n ) 0. Peut-on formaliser ces intuitions?

9 Lemme: [Schwartz, Zippel, deMillo, Lipton] Soit p(x 1, …, x n ) un polynôme non-nul de degré d sur Z q, avec d < q. Alors on a Pr[p( 1, …, n ) 0] d/q où les i sont choisis uniformément aléatoirement et de façon indépendante dans S.

10 Algorithme modifié: « 1. Choisir au hasard une valeur i Z q pour chaque variable x i et calculer p( 1, …, n ). 2. Si la valeur est non-nulle, arrêter et conclure que p est non-nul. Sinon, répéter 1 au plus n fois. » Si p est nul alors la probabilité que lalgorithme retourne la bonne réponse est 1. Si p est non-nul, alors chaque exécution de 1 a une probabilité d/q de nous induire en erreur. La probabilité de se tromper n fois de suite est seulement (d/q) n. (Note: cette analyse nest rassurante que si d < q)

11 3- Test de graphe biparti (2-colorabilité dun graphe) Entrée: Un graphe G = (V,E). Question: Le graphe est-il biparti? Peut- on colorier les nœuds du graphe avec 2 couleurs tel que deux nœuds adjacents ont des couleurs différentes?

12 Idée simple: colorier un premier nœud et colorier tous ses voisins avec lautre couleur. Il est clair que ce procédé nous permet de tester si le graphe est 2-coloriable en temps O(|G|)

13 4. 3-coloriage de graphe Entrée: Un graphe G = (V,E). Question: Le graphe est-il 3-coloriable? Peut-on colorier chaque nœud en bleu, rouge ou vert tel que deux nœuds adjacents aient des couleurs différentes?

14

15

16 Algorithme: « 1. Choisir un premier nœud et le colorier en rouge. 2. Choisir un noeud non-colorié voisin dun nœud colorié et le colorier dune couleur possible choisie au hasard. 3. Si tout le graphe a été colorié, répondre oui. Si un nœud na pas de couleur possible répondre non.»

17 Si le graphe est impossible à 3-colorier, alors cet algorithme répond toujours non. Si le graphe est 3-coloriable, alors il est possible que lalgorithme ne sen rende pas compte. La probabilité que lalgorithme trouve un 3-coloriage est peut-être très faible. Même un grand nombre de répétitions de lalgorithme pourrait ne pas suffire.

18 Machines de Turing probabilistes Définition: Une machine de Turing probabiliste est un sextuplet M = (Q,,,q 0, 1,Q) Q un ensemble fini détats, q 0 Q létat initial, Q Q des états darrêt. un alphabet dentrée. un alphabet de ruban qui contient et au moins un symbole blanc b. 1 : Q Q {-1,0,1} deux fonctions de transition.

19 Lexécution se fait à laide dune suite de bits aléatoires indépendants X 1, X 2, … tels que Pr[X i = 0] = Pr[X i = 1] = ½. À la ième étape du calcul, la fonction de transition X i est utilisée. Formalisation naturelle du concept dalgorithme probabiliste.

20 Deux notions de temps de calcul: Le temps de calcul moyen de M sur w est lespérance du nombre détapes avant larrêt lorsque lentrée est w. Le temps moyen de calcul de M est la fonction t: N N définie par t(n) = max{temps moyen de M sur w: |w| = n}. Le temps de calcul de M sur w est le maximum (peut importe les bits aléatoires) du nombre détapes avant larrêt lorsque lentrée est w. Le temps de calcul de M est la fonction t: N N définie par t(n) = max{temps de M sur w: |w| = n}. Note: lespérance nest pas calculée sur lespace des entrées mais bien sur lespace des choix probabilistes de la machine M.

21 Temps espéré polynomial EP: classe des problèmes de calcul pour lesquels il existe un algorithme probabiliste dont le temps de calcul moyen est polynomial. Note: Il est possible que P EP, mais cela reste un problème ouvert.

22 Algorithmes tolérant lerreur Définition: Un algorithme probabiliste M calcule la fonction f avec une probabilité derreur (n) si Pr[M(w) f(w)] (|w|) pour tous les mots w. Note: Différent dun algorithme qui calcule f correctement sur une grande proportion dentrées.

23 Définition: BPP( (n)) est la classe des fonctions f telles quil existe un algorithme probabiliste avec temps de calcul polynomial calculant f avec probabilité derreur (n) < ½. Si la probabilité derreur est très faible, on peut raisonnablement considérer ces problèmes comme ceux pour lesquels il existe un algorithme efficace. Note de terminologie: souvent appelés algorithmes Monte Carlo.

24 Définition: RP( (n)) est la classe des problèmes de décision L tels quil existe un algorithme probabiliste M avec temps de calcul polynomial et tel que 1. Si w L, alors Pr[M rejette w] (|w|) < Si w L, alors Pr[M accepte w] = 0. Lerreur ne peut se produire que dans le cas où lentrée devrait être acceptée.

25 Définition: co-RP( (n)) est la classe des problèmes de décision L tels que le complément L c de L est dans la classe RP( (n)). De façon générale, pour chaque classe C de langages (problèmes de décision), on notera comme co- C lensemble des langages dont le complément fait partie de C.

26 Définition: ZPP( (n)) est la classe des problèmes de décision L tels quil existe un algorithme probabiliste M avec temps de calcul polynomial et tel que pour tout w, M(w) {oui,non,?} et 1. Pr[M(w) = ?] (|w|) < Si M(w) = oui alors w L. 3. Si M(w) = non alors w L. Lalgorithme ne se trompe jamais lorsquil répond mais il peut ne pas répondre. Note terminologique: algorithmes dits Las Vegas.

27 Théorème: pour toute fonction derreur (n), on a ZPP( (n)) = RP( (n)) co-RP( (n)).

28 Théorème: EP = ZPP(½). Dans une certaine mesure, cela permet dignorer la notion de temps de calcul moyen.

29 Théorème: Pour tous polynômes p(n) et q(n) on a ZPP(1-1/p(n)) = ZPP(2 -q(n) ) RP(1-1/p(n)) = RP(2 -q(n) ) Si un algorithme ZPP ou RP na pas une chance trop écrasante déchec, alors on peut dramatiquement améliorer sa performance. (Souvent appelé amplification ou boosting)

30 Définitions: 1. Un problème de décision appartient à ZPP sil appartient à ZPP(½). Donc tout L ZPP(1-1/p(n)) fait partie de ZPP. 2. Un problème de décision appartient à ZPP* sil appartient à ZPP( (n)) pour un (n) < Un problème de décision appartient à RP sil appartient à RP(½). Donc tout L RP(1-1/p(n)) fait partie de RP. 4. Un problème de décision appartient à RP* sil appartient à RP( (n)) pour un (n) < 1.

31 Lamplification des algorithmes BPP est problématique à cause de notre définition de BPP mais on peut démontrer: Théorème: Pour tous polynômes p(n) et q(n), on retrouve les mêmes problèmes de décision dans BPP(1/2 – 1/(p(n)) et BPP(2 -q(n) ). Possible aussi détendre ce théorème à certains problèmes doptimisation.

32 Définitions: 1. Un problème de calcul appartient à BPP sil appartient à BPP(1/3). 2. Un problème de calcul appartient à PP sil appartient à BPP( (n)) pour un (n) < ½.

33 Létat du monde Pour les problèmes de décision, on a BPP P RP ZPP = EP = RP co-RP Co-RP PP RP* ZPP* = RP* co-RP* Co-RP*

34 Pourquoi RP*? À quoi bon définir RP* alors quun algorithme qui a une chance écrasante déchec est inutile? Parce que beaucoup de problèmes intéressants se retrouvent dans cette classe!

35 Machines de Turing non-déterministes Définition: Une machine de Turing non- déterministe est un septuplet M = (Q,,,q 0, 1,Q 0,Q 1 ) Q un ensemble fini détats, q 0 Q létat initial, Q 0, Q 1 Q des états darrêt. un alphabet dentrée. un alphabet de ruban qui contient et au moins un symbole blanc b. 1 : Q Q {-1,0,1} deux fonctions de transition.

36 Les états darrêts sont soit acceptants (Q 1 ) soit rejetants (Q 0 ). Les machines non-déterministes servent à accepter des langages. La machine M accepte lentrée w sil existe une séquence de bits X 1, X 2, … telle que lexécution définie par ces bits mène à un état acceptant. Sinon, elle rejette w. Le temps dexécution de M sur w est le maximum sur tous les choix de X i du nombre détapes avant datteindre un état darrêt.

37 Problème: les machines non- déterministes nexistent que conceptuellement! Pour les simuler il faut essayer tous les choix possibles de X i ou alors « savoir » davance quels bits choisir. Essayer tous les choix possibles requiert un temps exponentiellement plus grand.

38 Définition: Un problème de décision (ou un langage L) appartient à NP sil existe une m.t. non-déterministe avec un temps de calcul polynomial qui accepte L. Théorème: RP* = NP.

39 Létat du monde (mis à jour) Pour les problèmes de décision, on a BPP P RP ZPP = EP = RP co-RP Co-RP PP NP NP co-NP Co-NP

40 Système de preuves Algorithme NP en deux étapes. On veut savoir si w L. 1. Choix dune « preuve » que w L. 2. Vérification de cette preuve. Quatre conditions: 1. la preuve est une chaîne de bits de longueur p(|w|) pour un certain polynôme p. 2. La vérification se fait en temps q(|w|) pour un certain polynôme q. 3. Si w L alors il existe une preuve valide qui montre que w L. 4. Si w L alors il nexiste aucune preuve valide qui montre que w L.

41 Théorème: Un langage L est dans NP si et seulement sil existe un polynôme p et un langage L P tel que L = {x| z {0,1} p(|x|) : (x,z) L}. Formalisation précise des «systèmes de preuves».

42 Exemple 3-coloriage dun graphe. 1. Colorier chaque nœud avec une des 3 couleurs. 2. Vérifier que chaque nœud a bien une couleur différente de celle de ses voisins. 1. La preuve est bien de longueur polynomiale. 2. La vérification se fait clairement en temps polynomial. 3. Si le graphe est 3-coloriable alors par définition il existe une preuve valide. 4. Sil nest pas 3-coloriable alors tous les essais de coloriage doivent contenir un conflit détecté à la vérification.

43 Problèmes de NP (exemples) Problème du commis-voyageur (TSP): Entrée: un ensemble de ville v 1, …, v n, un coût de déplacement d ij entre v i et v j et un objectif de coût C. Question: Existe-t-il un circuit qui passe par toutes les villes et dont le coût total est au plus C?

44 Ce problème est dans NP. 1. Choix non-déterministe dun circuit. 2. Calcul du coût de ce circuit et vérification que ce coût est C. 1. la « preuve » est de longueur n log n. 2. La vérification se fait en temps O(n).

45 Primalité Entrée: Un entier q de n bits. Question: q est-il un nombre premier? Entiers composés Entrée: Un entier q de n bits. Question: q est il un entier composé?

46 Problèmes respectivement dans co-NP et NP. Algorithme NP pour entier composé: 1. Preuve: deux entiers 1 < s,t < q. 2. Preuve acceptée si st = q. Note: Depuis 2002, on sait en fait que Primalité et Entier composé sont dans P.

47 Problème du sac à dos. (Fait partie de NP) Entrée: Un ensemble dobjets avec un poids p i et une valeur v i + une capacité de sac à dos C + un objectif de valeur V. Question: Peut-on choisir un ensemble dobjets dont le poids total est au plus C et la valeur totale au moins V. Problème de démineur (Fait partie de co-NP) Entrée: une grille de démineur partiellement découverte et une case à découvrir. Question: Est-on certain que cette case peut-être découverte?

48 Problème du mots-croisés. (Fait partie de NP) Entrée: Une grille de mots-croisés et un dictionnaire. Question: La grille peut-elle être complétée grâce à des mots du dictionnaire? Problème dacceptation dune machine non-déterministe (Fait partie de NP) Entrée: une machine de Turing non-déterministe M, un polynôme p et une entrée w. Question: La machine M accepte-t-elle lentrée w en temps p(|w|)?


Télécharger ppt "IFT-66975 Chapitre 1 Classes de complexité fondamentales: P, BPP, RP, co-RP, ZPP, NP, co-NP, PP."

Présentations similaires


Annonces Google