ift-66975 preuves interactives: ip, am, ma et isomorphisme de graphe

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

Upload: firmin-teyssier

Post on 04-Apr-2015

110 views

Category:

Documents


2 download

TRANSCRIPT

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

IFT-66975

Preuves interactives:IP, AM, MA et

isomorphisme de graphe

Page 2: 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 G0 = (V0,E0) et G1 = (V1,E1).

Question: G0 et G1 sont-ils isomorphes? On dit que G0 G

1 s’il existe une

permutation des points de V0 telle que (u,v) E0 ((u),(v))

E1.

Page 3: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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: 1. GI co-NP???2. GI BPP???

Page 4: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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.

Page 5: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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:

1. Se contenter d’une démonstration qui nous inspire “suffisamment” confiance.

2. Ajouter la possibilité d’une interaction avec le prouveur.

Page 6: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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

1. Si x L alors il existe un y {0,1}p(|x|) tel que Pr[V accepte (x,y)] ¾.

2. 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.

Page 7: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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:

1. Si x L, alors un prouveur “honnête” peut convaincre le vérificateur que c’est le cas.

2. Si x L, alors même un prouveur “malhonnête” ne réussira à convaincre le vérificateur que x L.

Page 8: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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|.

Page 9: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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éfinitionDéfinition: Un langage L appartient à la classe IP, s’il existe un protocole de preuve interactive et un vérificateur V tel que:

1. Si x L alors il existe un prouveur P tel que Pr[DP,V(x) = 1] ¾.

2. 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.

Page 10: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

Remarques sur IPRemarques 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.

Page 11: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

La classe IP(2) est souvent appelée AM (Arthur-Merlin). Les protocoles correspondants ont la structure suivante:

1. Le vérificateur reçoit l’entrée x et construit de façon probabiliste une “question” (x,r).

2. Le prouveur retourne une réponse y de longueur polynomiale.

3. 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.

Page 12: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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.

Page 13: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

DémonstrationDémonstration:

On utilise le protocole suivant.1. 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).

2. Le prouveur retourne un j {0,1}.3. V accepte la paire G0,G1 (donc

conclut que G0 et G1 ne sont pas isomorphes) si i = j.

Page 14: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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.

Page 15: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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.

Page 16: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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)|.

Page 17: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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.

Page 18: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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.

Page 19: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

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.

Page 20: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

ThéorèmeThé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.

Page 21: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

Preuves avec zéro-connaissancePreuves 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.

Page 22: IFT-66975 Preuves interactives: IP, AM, MA et isomorphisme de graphe

Un autre système de preuves pour GIUn 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.

1. P choisit aléatoirement i {0,1} et Sn puis envoie H = (Gi).

2. V choisit j {0,1} aléatoirement et l’envoie à P.3. P envoie à V une permutation ’.4. 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.