Preuves interactives: IP, AM, MA et isomorphisme de graphe

Slides:



Advertisements
Présentations similaires
La théorie du monde est petit
Advertisements

Dans cette partie Graphes Eulériens.
Algorithmes et structures de données avancées Cours 7
Le hasard et la 0-connaissance Université Paris II Michel de Rougemont Algorithme et hasard Protocoles interactifs et.
Algorithmes et structures de données avancés
GEF 435 Principes des systèmes d’exploitation
Protocoles à Divulgation Nulle
Inférence statistique
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
La voie intuitionniste
Calcul propositionnel
Cryptographie basée sur les codes
variable aléatoire Discrète
Programmes de calculs en 3ème
Chapitre VII :Commande par retour d’état
Conception et analyse des algorithmes
Septième étape : travailler avec des graphes probabilistes
Évaluation par compétences
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
Chapitre 7: Les polynômes
indépendance linéaire
Sémantique axiomatique
Chapitre 2 Réductions: exemples et méthodes
Continuité Montage préparé par : André Ross
Calcul Intégral Au XVIIIème siècle, les mathématiciens progressent dans deux domaines séparés : les problèmes des tangentes (et la longueur des arcs) et.
Rappel... Solution itérative de systèmes linéaires (suite et fin).
Gestion de Fichiers Arbres B.
Espaces vectoriels Montage préparé par : S André Ross
Vers la dimension 3. La géométrie dans l'espace ne fait qu'étendre les concepts qui vous sont familiers en dimension 2 à la dimension 3. Le plus difficile.
Chapitre 2 Réductions: exemples et méthodes
IFT Complexité et NP-complétude
IFT Chapitre 1 Classes de complexité fondamentales:
IFT Au delà de NP: hiérarchie polynomiale, EXP, NEXP.
Complexité d’espace L, NL, PSPACE P-complétude et NC
IFT Théorème PCP: Aperçu et applications à linapproximabilité.
CSI3525: Concepts des Languages de Programmation
1.6 CONTINUITÉ ET ASYMPTOTE
1.1 LES VECTEURS GÉOMÉTRIQUES
Algorithmes d ’approximation
Conception et analyse des algorithmes Les algorithmes probabilistes
Algorithmes probabilistes
Indécidabilité.
8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?
Programmation linéaire en nombres entiers : les méthodes de troncature
Analyse des Algorithmes
Modélisation géométrique de base
IFT Complexité et NP-complétude Chapitre 0 Rappels.
IFT Complexité et NP-complétude
Un peu de maths (et d’info)
Paradigmes des Langages de Programmation
Le chiffrement asymétrique
La Logique du premier ordre LPO
D.E ZEGOUR Ecole Supérieure d’Informatique
Présentation du marché obligataire
Pr BELKHIR Abdelkader USTHB
Tutorat en bio-informatique
D.E ZEGOUR Ecole Supérieure d’Informatique. Problèmes de décision Concepts de base Expressions régulières Notation particulière pour exprimer certaines.
3.1 DÉTERMINANTS Cours 5.
Programmation fonctionnelle Preuve
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Algorithmique et Complexité
Chapitre 4 Variables aléatoires discrètes
Systèmes formels 1. Définition d'un SF Morphologie Théorie propre
Résolution des équations différentielles
1.1 LES VECTEURS GÉOMÉTRIQUES
Multiplexeurs A.Lebrun.
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
Introduction aux statistiques Intervalles de confiance
Cycle, Cocycle, Arbre et Arborescence
Preuves interactives: IP, AM, MA et isomorphisme de graphe
Transcription de la présentation:

Preuves interactives: IP, AM, MA et isomorphisme de graphe 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  G1 s’il existe une permutation  des points de V0 telle que (u,v)  E0  ((u),(v))  E1.

GI  NP (il suffit de choisir non déterministement ) 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???

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.

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.

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.

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.

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

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.

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.

La classe IP(2) est souvent appelée AM (Arthur-Merlin) 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.

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.

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.

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.

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.

Pour un graphe G, Aut(G) est l’ensemble des automorphismes de G, i. e 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)|.

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.

V a choisi i  {0,1} aléatoirement 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.

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.

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.

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.

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.