Protocole Arthur-Merlin

En théorie de la complexité, un protocole Arthur-Merlin est un système de preuve interactive dans lequel on impose que les lancers de pièces du vérificateur soient publics (c'est-à-dire également connus du démonstrateur). Cette notion a été introduite par László Babai en 1985. Godwasser et Sipser ont prouvé en 1986 que tous les langages avec preuves interactives de longueur arbitraire avec aléatoire privé peuvent aussi être décidés par des preuves interactives avec aléatoire public.

Explications

On suppose ici qu'Arthur est un ordinateur normal (ou un vérifieur) équipé d'un générateur de nombres aléatoires, alors que Merlin est un oracle avec une capacité de calcul infini (aussi appelé prouveur). Cependant, Merlin n'est pas nécessairement honnête, Arthur doit donc analyser l'information que Merlin lui fournit en réponse à sa requête, et décider le problème lui-même. Un problème est considéré comme résoluble par ce protocole si, lorsque la réponse est « oui », Merlin donnera une série de réponses telles que Arthur acceptera au moins les 2/3 du temps, et lorsque la réponse est « non », Arthur n'acceptera pas plus d'une fois sur 3. Ainsi, Arthur se comporte comme un vérifieur probabiliste en temps polynomial, en supposant qu'Arthur dispose d'un temps polynomial pour faire ses décisions et ses requêtes.

MA

Le plus simple de ces protocoles est celui où Merlin envoie un message à Arthur, et où Arthur décide alors d'accepter ou non en faisant un calcul probabiliste en temps polynomial. Cette définition est proche de celle de NP utilisant un vérificateur, à ceci près qu'Arthur est ici autorisé à utiliser de l'aléatoire. Merlin, dans ce protocole, n'a pas accès aux lancers de pièce d'Arthur, étant donné qu'il s'agit d'un protocole à un seul message, et qu'Arthur ne lance ses pièces qu'après avoir reçu le seul message de Merlin. Ce protocole est appelé le protocole MA. Informellement, un langage L appartient à MA si, pour tous mots du langage, il y a une preuve de taille polynomiale que Merlin peut envoyer à Arthur pour le convaincre avec une très forte probabilité de l'appartenance de ce mot à L, et pour tous les mots qui ne sont pas dans le langage, n'y a pas de preuve qui puisse convaincre Arthur avec une haute probabilité de l'appartenance à ce langage. Cependant, Arthur n'est pas forcément un vérificateur de BPP, car on ne sait pas si MA est contenu dans la classe .

Formellement, la classe de complexité MA est l'ensemble des problèmes de décision qui peuvent être décidés en temps polynomial par un protocole Arthur-Merlin, où le seul message de Merlin précède tout calcul d'Arthur. En d'autres termes, un langage L appartient à MA s'il existe une machine de Turing M déterministe fonctionnant en temps polynomial, et des polynômes p et q tels que pour toute entrée x de taille n = |x|,

La seconde condition peut être également écrite sous la forme :

Pour faire le lien avec la définition informelle décrite ci-dessus, z est la soi-disant preuve donnée par Merlin (de taille polynomiale), et y est le mot aléatoire utilisé par Arthur, qui est aussi de taille polynomiale.

AM

La classe de complexité AM (ou AM[2]) est l'ensemble des problèmes de décision qui peuvent être décidés en temps polynomial par un protocole d'Arthur et Merlin avec deux messages. Il n'y a qu'une paire de questions/réponses : Arthur lance des pièces aléatoires et envoie le résultat de tous ses lancers de pièces à Merlin, qui lui répond avec une soi-disant preuve, et Arthur vérifie la preuve de manière déterministe. Dans ce protocole, Arthur n'est autorisé qu'à envoyer à Merlin les résultats de ses lancers de pièces, et doit décider à la dernière étape d'accepter ou non en n'utilisant que les résultats de ses précédents lancers de pièces et le message de Merlin.

En d'autres termes, un langage L appartient à AM s'il existe une machine de Turing déterministe M en temps polynomial et des polynômes p et q tels que pour toute entrée x de longueur n = |x|,

La deuxième condition peut être réécrite sous la forme :

De même que précédemment, z est la soi-disant preuve fournie par Merlin (de taille polynomiale), et y est le mot aléatoire qu'Arthur utilise, qui est aussi de taille polynomiale.

La classe de complexité AM[k] est l'ensemble des problèmes qui peuvent être décidés en temps polynomial, avec k questions et réponses. AM défini plus haut est AM[2]. AM[3] commencerait avec un message de Merlin à Arthur, puis un message d'Arthur à Merlin, et enfin un message de Merlin à Arthur. Le dernier message doit toujours être de Merlin à Arthur, étant donné qu'il ne sert de rien à Arthur d'envoyer un message à Merlin, qui n'aura jamais de réponse, avant de donner sa réponse.

Propriétés

Étant donné une collection de polynômes à plusieurs variables à coefficients entiers et de degré au plus 'd, ont-ils un zéro commun dans  ?
est dans AM.

Bibliographie

Notes et références

  1. ↑ Cette traduction peut être trouvée dans Sylvain Perifel, Complexité algorithmique, Ellipses, , 432 p. (ISBN 9782729886929, lire en ligne), chap. 10 (« Protocoles interactifs »)
  2. ↑ (en) « Complexity Zoo : E - Complexity Zoo », sur uwaterloo.ca via Internet Archive (consulté le ).
  3. ↑ Une preuve est présentée dans Rafael Pass and Jean-Baptiste Jeannin, « Lecture 17: Arthur-Merlin games, Zero-knowledge proofs », (consulté le )
  4. ↑ Adi Shamir, « IP = PSPACE », J. ACM, vol. 39, no 4,‎ , p. 869–877 (ISSN 0004-5411, DOI 10.1145/146585.146609, lire en ligne, consulté le )
  5. ↑ Symmetric Alternation captures BPP
  6. ↑ Ravi B. Boppana, Johan Hastad et Stathis Zachos, « Does co-NP have short interactive proofs? », Information Processing Letters, vol. 25, no 2,‎ , p. 127–132 (ISSN 0020-0190, DOI 10.1016/0020-0190(87)90232-8, lire en ligne, consulté le )
  7. ↑ Madhu Sudan, Algebra and Computation lecture notes , lecture 22