1 / 22

IFT-66975

IFT-66975. Preuves interactives: IP, AM, MA et isomorphisme de graphe. Problème de l’isomorphisme de graphe (GI) Entrée : deux graphes non-dirigés G 0 = (V 0 ,E 0 ) et G 1 = (V 1 ,E 1 ).

alyn
Télécharger la présentation

IFT-66975

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

  2. Problème de l’isomorphisme de graphe (GI) Entrée: deux graphes non-dirigés G0 = (V0,E0) et G1 = (V1,E1). Question: G0 et G1 sont-ils isomorphes? On dit que G0 G1 s’il existe une permutation  des points de V0 telle que (u,v)  E0 ((u),(v))  E1.

  3. Que sait-on de GI? • GI  NP (il suffit de choisir non déterministement ) • GI est résoluble en temps polynomial pour un grand nombre de classes de graphes. • GI est NL-difficile. • Garey & Johnson (1979) considèrent GI comme un problème qui est peut être dans NP mais ni dans P ni NP-complet. C’est un des rares candidats encore en lice! • Plusieurs questions sans réponse: • GI  co-NP??? • GI  BPP???

  4. Rappel: NP et les preuves • Un langage L est dans NP s’il existe un polynôme q et un langage V  P tel que L = {x |  y: |y|  q(|x|)  (x,y)  V}. • L’appartenance de x à L peut être vérifiée en temps polynomial en |x| à condition qu’une preuve nous en soit fournie.

  5. Assez semblable à notre intuition de ce que doit être la preuve d’un théorème. (pas nécessairement facile à trouver mais facile à comprendre) • Deux façons naturelles d’aggrandir un peu la classe NP: • Se contenter d’une démonstration qui nous inspire “suffisamment” confiance. • Ajouter la possibilité d’une interaction avec le prouveur.

  6. La classe MA • On dit que L est un langage avec preuves publiables s’il existe un polynôme q et un algorithme probabiliste V tel que • Si x  L alors il existe un y  {0,1}p(|x|) tel que Pr[V accepte (x,y)]  ¾. • Si x  L alors pour toute y  {0,1}p(|x|) on a Pr[V accepte (x,y)]  ¼. Les langages avec preuves publiables forment la classe MA (Merlin-Arthur). On a NP  MA. Par contre il semble a priori improbable que co-NP  MA.

  7. On veut maintenant augmenter la puissance de notre algorithme de vérification de l’appartenance de x à un langage L en lui offrant la possibilité d’un dialogue avec un prouveur tout-puissant. • On veut intuitivement conserver les propriétés suivantes: • Si x  L, alors un prouveur “honnête” peut convaincre le vérificateur que c’est le cas. • Si x  L, alors même un prouveur “malhonnête” ne réussira à convaincre le vérificateur que x  L.

  8. Preuves interactives • Une preuve interactive est un protocole de communication entre un prouveur (dénoté P) qui est un algorithme et un vérificateur (V) qui est un algorithme probabiliste. Le protocole reçoit une entrée x. Après un certain nombre de rondes d’échanges entre P et V, le vérificateur décide d’accepter ou de rejeter x. Le nombre de rondes peut dépendre de |x| et de la communication qui a eu lieu. Le temps de calcul de V est borné par un polynôme de |x|.

  9. Pour un prouveur P et un vérificateur V, soit DP,V(x) la variable aléatoire qui est 1 si l’interaction de P et V amène V à accepter x et qui est 0 sinon. Définition: Un langage L appartient à la classe IP, s’il existe un protocole de preuve interactive et un vérificateur V tel que: • Si x  L alors il existe un prouveur P tel que Pr[DP,V(x) = 1]  ¾. • Si x  L alors pour tout prouveur P on a Pr[DP,V(x) = 1]  ¼. De plus, L  IP(k) s’il existe un tel protocole qui n’utilise que k messages échangés entre P et V.

  10. Remarques sur IP • IP(1) = MA par définition. • IP  PSPACE. En effet, tous les messages envoyés par le prouveur sont de longueur polynomiale (sinon V ne peut même pas les lire!) et donc on peut simuler tous les prouveurs potentiels en espace polynomial. • IP = PSPACE (Shamir 92) • IP(2) = IP(k) pour tout k  3.

  11. La classe IP(2) est souvent appelée AM (Arthur-Merlin). Les protocoles correspondants ont la structure suivante: • Le vérificateur reçoit l’entrée x et construit de façon probabiliste une “question” (x,r). • Le prouveur retourne une réponse y de longueur polynomiale. • Le vérificateur accepte ou rejette le triplet (x,r,y). • On a MA  AM. Cependant, on ne croit pas que co-NP  AM. En particulier, on ne voit pas comment un tel protocole pourrait convaincre un vérificateur qu’une formule est insatisfiable.

  12. Théorème: GIc AM. C’est une forte indication que GI n’est pas NP-complet. En effet si GI est NP-complet alors pour tout K  NP on a K p GI et Kcp GIc. On peut alors conclure que co-NP  AM.

  13. Démonstration: On utilise le protocole suivant. • V reçoit G0 et G1. Il choisit aléatoirement un i  {0,1} et une permutation de Vi. Il envoie au prouveur le graphe H = (Gi). • Le prouveur retourne un j  {0,1}. • V accepte la paire G0,G1 (donc conclut que G0 et G1 ne sont pas isomorphes) si i = j.

  14. Note: Wegener analyse précisément les détails cachés par “choisir aléatoirement une permutation de Vi”. • Supposons que G0 et G1 ne sont pas isomorphes. On veut montrer qu’il existe un prouveur P qui convainc V avec une forte probabilité. • Si G0, G1 sont non-isomorphes, alors H = (Gi) est isomorphe à Gi mais pas à Gī. Donc P peut déduire i à partir de H et retourner cette valeur. • Dans ce cas, P renvoie toujours à V un j égal à i et la probabilité que V accepte est donc 1.

  15. Supposons maintenant G0 G1. V envoie H = (Gi) à P. Les trois graphes H, G0, G1 à la disposition de P sont isomorphes. Donc, même un prouveur malicieux ne saura comment réagir car il n’a aucune information sur i! Plus précisément: soit Sn l’ensemble des permutations de n points avec n = V0 = V1. On veut montrer qu’il existe autant de  Sn telles que (G0) = H que de ’  Sn telles que (G1) = H.

  16. Pour un graphe G, Aut(G) est l’ensemble des automorphismes de G, i.e. des permutations  telles que (G) = G. • Aut(G) est un groupe sous la composition de fonctions car si ’, ’’  Aut(G) alors ’ ∘’’  Aut(G). Par ailleurs, la permutation identité * est toujours dans Aut(G) et ’ ∘’-1 = ’-1∘’ = *. • Aut(G) est donc un sous groupe de Sn. Montrons que le nombre de permutations  Sn telles que (G) = H est exactement |Aut(H)|.

  17. D’abord, si (G) = H et ’  Aut(H) alors on a (’ ∘)(G) = G et donc il existe au moins |Aut(H)| permutations avec (G) = H. • À l’inverse, soit (G) = H. Pour chaque ’(G) = H on a que (∘’-1)(H) = H. Donc (∘’-1)  Aut(H) et pour ’ ’’ on a (∘’-1)  (∘’’-1). Donc il y a au plus |Aut(H)| permutations avec (G) = H. • En particulier, si G0 et G1 sont isomorphes alors pour tout graphe H, il existe autant de permutations qui donnent (G0) = H que de permutations donnant (G1) = H.

  18. V a choisi i  {0,1} aléatoirement. Mais puisque H = (Gi) est un graphe aléatoire de l’ensemble des graphes isomorphes à G0 et G1 on a Pr[i = 0 | H] = Pr[i = 1 | H] = ½. Donc, peut importe le j que retourne P, on a que i = j et donc que V accepte G0 et G1 comme étant non-isomorphes avec probabilité ½. On requiert que la probabilité que V accepte incorrectement soit au plus ¼. Cela est fait simplement en exécutant deux fois (en parallèle) le protocole décrit ci-dessus et en acceptant seulement si i1 = j1 et i2 = j2.

  19. Question légitime: pourquoi est-ce que l’on a décrit ce qui nous intéresse en 5 acétates alors que Wegener en fait 10 pages? Plusieurs résultats absolument pas triviaux se cachent sous l’affirmation IP(2) = AM! En particulier, on peut voir le théorème 11.3.4 de Wegener comme résolvant le problème de trouver un protocole en deux rondes pour GIc lorsque les bits aléatoires choisis par le vérificateur sont accessibles au prouveur. La preuve est très ingénieuse bien qu’un peu dure à suivre.

  20. Théorème: Si GI est NP-complet alors 2 = 2. Pour la preuve voir Wegener. On a déjà conclu que si GI est NP-complet alors co-NP  AM. Le résultat ci-dessus est en fait plus faible, mais est formulé sans référence à AM qui est une classe de complexité moins connue.

  21. Preuves avec zéro-connaissance • Plaçons nous dans un contexte plus cryptographique. Est-il possible pour le prouveur de convaincre le vérificateur que deux graphes sont isomorphes sans pour autant permettre au vérificateur d’avoir de l’information intéressante pour construire un tel isomorphisme? • Ce genre de questions conduit naturellement à la notion de preuve avec zéro-connaissance. • La définition formelle est délicate mais l’exemple suivant capte raisonnablement bien l’intuition.

  22. Un autre système de preuves pour GI • Soit G0, G1 deux graphes isomorphes et supposons que le prouveur connait une permutation * telle que *(G0) = G1. • P choisit aléatoirement i  {0,1} et  Sn puis envoie H = (Gi). • V choisit j  {0,1} aléatoirement et l’envoie à P. • P envoie à V une permutation ’. • V accepte si ’(Gj) = H. • Notez que si, par exemple, i = 0 et j = 1 alors P n’a qu’à envoyer la permutation ’ = ∘*-1. Dans tous les cas, P peut en temps polynomial calculer un ’ qui convaincra V. Mais il ne pourra le faire que si G0 et G1 sont bien isomorphes. • Au moins intuitivement, il est clair que V n’obtient aucune information de qualité sur une permutation telle que (G0) = G1.

More Related