Pourquoi la relativisation est-elle un obstacle?

29

Lorsque j'expliquais la preuve de Baker-Gill-Solovay qu'il existe un oracle avec lequel nous pouvons avoir, , et un oracle avec lequel nous pouvons avoir à un ami, une question s'est posée pour savoir pourquoi de telles techniques sont mal adaptées pour prouver le problème , et je n'ai pas pu donner de réponse satisfaisante.P=NPPNPPNP

Pour le dire plus concrètement, si j'ai une approche pour prouver et si je pouvais construire des oracles pour que se produise une situation comme ci-dessus, pourquoi ma méthode est-elle invalide?PNP

Des expositions / réflexions sur ce sujet?

Nikhil
la source

Réponses:

32

Pour le dire plus concrètement, si j'ai une approche pour prouver P ≠ NP et si je pouvais construire des oracles pour faire arriver une situation comme ci-dessus, pourquoi cela rend-il ma méthode invalide?

Notez que ce dernier «si» n'est pas une condition, car Baker, Gill et Solovay ont déjà construit un tel oracle. C'est juste une vérité mathématique que (1) il existe un oracle par rapport auquel P = NP, et que (2) il existe un oracle par rapport auquel P ≠ NP.

Cela signifie que si vous avez une approche pour prouver P ≠ NP et que la même preuve prouverait également un résultat plus fort "P A ≠ NP A pour tous les oracles A ", alors votre approche est vouée à l'échec car elle serait contradictoire (1).

En d'autres termes, il existe une différence fondamentale entre prouver P ≠ NP et prouver par exemple le théorème de la hiérarchie temporelle, car la preuve de ce dernier utilise uniquement la diagonalisation et est également applicable à tout monde relativisé.

Bien sûr, cela ne signifie pas qu'il n'y a pas de preuve de P ≠ NP. Une telle preuve (si elle existe) ne doit pas prouver le meilleur résultat mentionné ci-dessus. En d'autres termes, une partie de la preuve doit distinguer le monde non relativisant des mondes relativisés arbitraires.

Tsuyoshi Ito
la source
19

Il y a déjà de bonnes réponses, mais je voudrais ajouter quelques petits points.

Supposons que nous avons une technique pour résoudre les problèmes, par exemple la diagonalisation . Supposons que nous voulons montrer que la technique ne peut pas résoudre un problème spécifique, par exemple vs . Comment peut-on montrer cela?PNP

Avant d'aller plus loin, notons qu'une technique comme la diagonalisation n'est pas un concept formel ici (bien que nous puissions le faire). De plus, le fait que la technique ne puisse pas résoudre le problème en elle-même ne signifie pas qu'elle n'est pas du tout utile pour résoudre le problème, nous pourrions être en mesure de le modifier et / ou de le combiner avec d'autres techniques pour résoudre le problème.

Maintenant, revenons à la question. Une façon de montrer qu'une technique ne peut pas résoudre un problème spécifique est de montrer que si elle le pouvait, elle fonctionnerait également dans un cadre différent pour résoudre une autre question, et la réponse que nous obtiendrions dans ce cas serait fausse. C'est ce qui se passe ici. Si la diagonalisation pourrait séparer de alors le même argument pourrait être utilisé pour séparer de pour tous . Mais nous savons qu'il existe un oracle tel que celui-ci est faux (prenez tout problème comme l'oracle). La diagonalisation ne peut donc pas séparer de .NPPNPAPAAPSpaceNPP

Le point essentiel de cet argument est une sorte de principe de transfert :

nous pouvons transférer un argument de diagonalisation pour les MT sans oracle vers les TM avec oracles.

Ceci est possible ici car les arguments de diagonalisation sont basés sur la simulation de machines, de plus la simulation ne dépend pas des internes des machines mais uniquement des réponses finales de ces simulations. Ce type de diagonalisation est appelé diagonalisation simple . Dans une simulation, peu importe le fonctionnement de la machine, nous nous soucions uniquement de la réponse finale de la machine. L'ajout d'un oracle ne changera pas cela, donc la simulation et l'argument fonctionneront également dans le cadre où nous avons des oracles.

Plus formellement, nous pouvons penser à un argument de diagonalisation comme une fonction d'une classe de machines (disons ) à des instances montrant que la machine ne peut pas résoudre un problème (disons ). Cette fonction de contre-exemple est la fonction de diagonalisation. Une diagonalisation est simple si les contre-exemples qu'elle donne ne dépendent pas des internes des machines, c'est-à-dire si deux DTM à temps polynomial ont le même langage, alors le contre-exemple montrant qu'ils ne peuvent pas résoudre le donné par la fonction de diagonalisation est le même.PSATSAT

Vous vous demandez peut-être si c'est une grosse restriction? Pourquoi le contre-exemple devrait-il dépendre de la structure interne de la machine? Peut-on prouver des séparations en utilisant la diagonalisation qui ne peuvent pas être prouvées en utilisant une simple diagonalisation? La réponse est oui. En fait, Kozen montre dans son article de 1978 "Indexation des classes subrécursives" (3 ans après le résultat BGS) que si peut être séparé de alors il y a un argument général de diagonalisation pour cela. Et dans la pratique, de tels arguments ont été trouvés. Par exemple, les bornes inférieures de l'espace-temps de Fortnow et van Melkebeek pour SAT (2000) utilisent une technique appelée diagonalisation indirecte qui donne une diagonalisation non simple.NPP

Donc, l'affirmation selon laquelle la diagonalisation ne peut pas résoudre vs incorrecte? Eh bien, en général, ce que les experts entendent par diagonalisation ici est une simple diagonalisation et il y a une bonne raison à cela.PNP

Les arguments généraux de diagonalisation sont si généraux que cela n'a pas vraiment de sens de les appeler une technique, vous pouvez facilement transformer n'importe quel argument de séparation en argument de diagonalisation sans beaucoup d'informations: si nous avons déjà un moyen de séparer deux classes de complexité, nous peut choisir une fonction dans la plus grande classe et non dans la plus petite. Prenez toute énumération des machines dans la classe plus petite. Soit n'importe quelle machine dans l'énumération. Nous devons définir le contre pour . Mais nous savons déjà que ne peut pas résoudre le problème, donc il existe une instance le montrant, définissons la valeur de la fonction de diagonalisation surM M MMMMMêtre cet exemple. C'est la vue d'ensemble, si vous voulez voir les détails, vérifiez le papier de Kozen.

Estival:

  • Quand les experts disent que "la diagonalisation ne peut pas résoudre contre " ce qu'ils veulent dire est " la diagonalisation simple ne peut pas résoudre contre " pas le général.N P P N PPNPPNP
  • La raison pour laquelle la diagonalisation simple ne peut pas séparer de est qu'elle se transfère au cadre avec des oracles (dans la littérature, elle est dite "diagonalisation relativisée") et la séparation ne s'y tient pas.PNPP
  • La raison pour laquelle ce transfert d'un framework sans oracle à un framework avec oracles fonctionne est que la diagonalisation simple est basée sur une simulation de boîtes noires des MT et peu importe le fonctionnement des machines, qu'elles aient ou non un oracle.

Deux bons articles pour en savoir plus sur la diagonalisation sont

  • Document d'enquête de Lance Fortnow «Diagonalization», 2001, et
  • Russell Impagliazzo, Valentine Kabanets et l'article d'Antonina Kolokolova "An Axiomatic Approach to Algebrization", 2009. (Notez que l' algèbre est une extension de la diagonalisation simple .)
Kaveh
la source
Je n'ai vu cette réponse que maintenant - mais cela semble très intéressant! Merci Kaveh!
Nikhil
16

Soit et deux classes de complexité. Une séparation ( ) ou un effondrement ( ) est censé relativiser si pour tous les oracles nous avons ou respectivement. La preuve de Baker-Gill-Solovay nous dit que ou ne se relativise pas.B AB A = B O A OB O A O = B O P = N P P N PABABA=BOAOBOAO=BOP=NPPNP

Pourquoi c'est un problème? Lorsque cette preuve est sortie, la majorité des techniques et des astuces que nous savions pour séparer ou réduire les classes de complexité «relativisées», en ce sens qu'elles fonctionnent par rapport à n'importe quel oracle. Par exemple, le théorème de la hiérarchie du temps (ainsi que les versions spatiales et non déterministes de celui-ci) `` relativisent '': ils prouvent les séparations pour les classes pour lesquelles cette séparation se relativise, et en fait, ils prouvent le résultat le plus fort que la séparation détient par rapport à n'importe quel oracle.

Si une technique ou une astuce fonctionne indépendamment de la présence d'un oracle, il ne peut pas prouver ou par l'argument ci-dessus. Cela signifie qu'un grand nombre d'astuces et de techniques que nous connaissons ne fonctionnent pas sur ce problème (ou même sur de nombreux problèmes ouverts). Vous pouvez également l'utiliser comme test de validité pour toute prétendue preuve : vérifiez si l'idée ne tient pas en présence d'un oracle - si cela fonctionne toujours, alors c'est faux.P N P P N P P S P A C EP=NPPNPPNPPSPACE

Alex ten Brink
la source