IFT-66975 - PowerPoint PPT Presentation

1 / 48
About This Presentation
Title:

IFT-66975

Description:

IFT-66975 Chapitre 1 Classes de complexit fondamentales: P, BPP, RP, co-RP, ZPP, NP, co-NP, PP – PowerPoint PPT presentation

Number of Views:62
Avg rating:3.0/5.0
Slides: 49
Provided by: pates16
Category:
Tags: ift | calcul | grille

less

Transcript and Presenter's Notes

Title: IFT-66975


1
IFT-66975
  • 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 a1, , an
  • Sortie Cette liste triée en ordre croissant.

3
  • Algorithme classiquement utilisé
  • Quicksort  entrée a1, , an
  • Comparer tous les entiers au pivot a1 pour
    obtenir les ensembles P et G des ai
    respectivement plus petits et plus grands que a1.
  • Retourner la liste Quicksort(P), a1,
    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 ?(n2).
  • 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, Zq). Ce polynôme p(x1, , xn)
    est représenté par un circuit arithmétique.
  • Question Ce polynôme est-il égal au polynôme
    nul?

6
  • Exemples
  • Sur Z2, les polynômes x2 x et x2 x sont
    toujours 0.
  • Sur Z3, x2 x est nul mais x2 x nest pas
    toujours nul car 12 1 ? 2 (mod 3).
  • Sur Zp, xp-1 x est nul. (Petit théorème de
    Fermat)
  • Sur Z5, le polynôme x2 xy 2yz z3 nest pas
    nul. Si on prend x 1, y 0 et z 2, on a bien
    1 0 0 8 9 et 9 ? 0 (mod 5).

7
  • Idée apparemment raisonnable pour un algorithme
  • Choisir au hasard une valeur ?i ? F pour chaque
    variable xi et calculer p(?1, , ?n).
  • 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(x1, , xn) un polynôme non-nul de degré d
    sur Zq, avec d lt q. Alors on a
  • Prp(?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é  
  • Choisir au hasard une valeur ?i ? Zq pour chaque
    variable xi et calculer p(?1, , ?n).
  • 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 lt 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
(No Transcript)
15
(No Transcript)
16
  • Algorithme  
  • Choisir un premier nœud et le colorier en rouge.
  • Choisir un noeud non-colorié voisin dun nœud
    colorié et le colorier dune couleur possible
    choisie au hasard. 
  • 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,?,?,q0,?0, ?1,Q)
  • Q un ensemble fini détats, q0 ? 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.
  • ?0, ?1 Q ? ? ? Q ? ? ? -1,0,1 deux fonctions
    de transition.

19
  • Lexécution se fait à laide dune suite de bits
    aléatoires indépendants X1, X2, tels que PrXi
    0 PrXi 1 ½.
  • À la ième étape du calcul, la fonction de
    transition ?Xi 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) maxtemps 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) maxtemps 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 PrM(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) lt ½.
  • 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
  • Si w ? L, alors PrM rejette w ? ?(w) lt
    1.
  • Si w ? L, alors PrM 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 Lc
    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
  • PrM(w) ? ? ?(w) lt 1.
  • Si M(w) oui alors w ? L.
  • 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
  • Un problème de décision appartient à ZPP sil
    appartient à ZPP(½). Donc tout L ? ZPP(1-1/p(n))
    fait partie de ZPP.
  • Un problème de décision appartient à ZPP sil
    appartient à ZPP(?(n)) pour un ?(n) lt 1.
  • Un problème de décision appartient à RP sil
    appartient à RP(½). Donc tout L ? RP(1-1/p(n))
    fait partie de RP.
  • Un problème de décision appartient à RP sil
    appartient à RP(?(n)) pour un ?(n) lt 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
  • Un problème de calcul appartient à BPP sil
    appartient à BPP(1/3).
  • Un problème de calcul appartient à PP sil
    appartient à BPP(?(n)) pour un ?(n) lt ½.

33
Létat du monde
  • Pour les problèmes de décision, on a

PP
BPP
RP
Co-RP
RP
Co-RP
ZPP RP ? co-RP
ZPP EP RP ? co-RP
P
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,?,?,q0,?0, ?1,Q0,Q1)
  • Q un ensemble fini détats, q0 ? Q létat
    initial, Q0, Q1 ? Q des états darrêt.
  • ? un alphabet dentrée.
  • ? un alphabet de ruban qui contient ? et au
    moins un symbole blanc b.
  • ?0, ?1 Q ? ? ? Q ? ? ? -1,0,1 deux fonctions
    de transition.

36
  • Les états darrêts sont soit acceptants (Q1)
    soit rejetants (Q0).
  • Les machines non-déterministes servent à accepter
    des langages.
  • La machine M accepte lentrée w sil existe une
    séquence de bits X1, X2, 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 Xi 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 Xi 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

PP
BPP
NP
Co-NP
RP
Co-RP
NP ? co-NP
ZPP EP RP ? co-RP
P
40
Système de preuves
  • Algorithme NP en deux étapes. On veut savoir si w
    ? L.
  • Choix dune  preuve  que w ? L.
  • Vérification de cette preuve.
  • Quatre conditions
  • la preuve est une chaîne de bits de longueur
    p(w) pour un certain polynôme p.
  • La vérification se fait en temps q(w) pour un
    certain polynôme q.
  • Si w ? L alors il existe une preuve valide qui
    montre que w ? L.
  • 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,1p(x) (x,z) ? L.
  • Formalisation précise des systèmes de preuves.

42
Exemple
  • 3-coloriage dun graphe.
  • Colorier chaque nœud avec une des 3 couleurs.
  • Vérifier que chaque nœud a bien une couleur
    différente de celle de ses voisins.
  • La preuve est bien de longueur polynomiale.
  • La vérification se fait clairement en temps
    polynomial.
  • Si le graphe est 3-coloriable alors par
    définition il existe une preuve valide.
  • 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 v1, , vn, un coût
    de déplacement dij entre vi et vj 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.
  • Choix non-déterministe dun circuit.
  • Calcul du coût de ce circuit et vérification que
    ce coût est ? C.
  • la  preuve  est de longueur n?log n.
  • 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é
  • Preuve deux entiers 1 lt s,t lt q.
  • 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 pi et
    une valeur vi 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)?
Write a Comment
User Comments (0)
About PowerShow.com