Pourquoi ce problème indécidable dans NP?

25

Il n'y a clairement aucun problème indécidable dans NP. Cependant, selon Wikipedia :

NP est l'ensemble de tous les problèmes de décision pour lesquels les cas où la réponse est "oui" ont [.. des preuves qui sont] vérifiables en temps polynomial par une machine de Turing déterministe.

[...]

Un problème est dit en NP si et seulement s'il existe un vérificateur du problème qui s'exécute en temps polynomial.

Considérez maintenant le problème suivant:

Étant donné une équation diophantienne , a-t-elle des solutions entières?

Compte tenu d' une solution, il est facile de vérifier en temps polynomiale vraiment est une solution: il suffit de brancher les nombres dans l'équation. Ainsi, le problème est dans NP. Cependant, résoudre ce problème est connu pour être indécidable !

(De même, il semble que le problème d'arrêt devrait être dans NP, car la solution "oui" de "ce programme s'arrête à la N-ème étape" peut être vérifiée en N étapes.)

Évidemment, il y a quelque chose qui ne va pas dans ma compréhension, mais qu'est-ce que c'est?

BlueRaja - Danny Pflughoeft
la source
1. Gardez à l'esprit que la définition que vous citez concerne les problèmes de décision. 2. En ce qui concerne votre exemple diophantien, vous ne prétendez pas que chaque système, il existe un polynôme lié à la taille des solutions, non?
Dmitri Chubarov
@Dmitri: Euh, oui, je le dis. La taille de la solution est exactement la même que la taille du problème - s'il y a N inconnues, la solution contient N entiers. Et c'est un problème de décision - la solution entière (nécessaire pour vérifier le cas "oui") serait son certificat .
BlueRaja - Danny Pflughoeft
19
La question est, quelle est la taille des entiers
Artem Kaznatcheev
10
@ BlueRaja-DannyPflughoeft si vous avez un alphabet infini pour encoder vos entiers, alors vous n'êtes plus dans le cadre standard de la théorie de la complexité. Avec un alphabet fini, la taille de l'encodage augmente avec la valeur d'un entier.
Dmitri Chubarov
Une solution au problème d'arrêt renverrait simplement "Oui", sans donner un indice du nombre d'étapes à simuler pour vérification.
RemcoGerlich

Réponses:

10

Une définition équivalente de NP est qu'il se compose de tous les problèmes qui sont décidables (pas seulement vérifiables) en temps polynomial par une machine de Turing non déterministe. Les MNT ne sont pas connues pour être plus puissantes que les MT dans le sens où l'ensemble des problèmes décidables par les MNT est identique à l'ensemble des problèmes décidables par les MT, donc clairement selon cette définition, il ne peut y avoir aucun problème indécidable en NP.

Pour démontrer que les deux définitions de NP sont équivalentes, étant donné l'existence d'un vérificateur déterministe, vous pouvez démontrer qu'un décideur non déterministe existe, et vice versa.

Supposons que vous ayez un vérificateur polynomial déterministe. Ensuite, il y a aussi une machine qui devine de manière non déterministe un certificat d'une longueur limitée par le polynôme correspondant à la taille de certificat liée à ce problème / vérificateur, puis exécute le vérificateur. Étant donné que l'alphabet est fini, le certificat pour une entrée donnée est fini (et au plus polynomial dans la taille de l'entrée), et le vérificateur s'exécute en temps polynomial, la machine s'arrête sur toutes les branches pour toutes les entrées et s'exécute en (non déterministe) temps polynomial. Il existe donc un décideur non déterministe pour chaque vérificateur déterministe.

Si vous avez un décideur non déterministe, alors pour chaque calcul acceptant, vous pouvez noter le chemin des choix pris par le décideur pour atteindre l'état d'acceptation. Puisque le décideur s'exécute en temps polynomial, ce chemin aura au plus une longueur polynomiale. Et il est facile pour une MT déterministe de valider qu'un tel chemin est un chemin valide à travers un NTM vers un état d'acceptation, de sorte que ces chemins forment des certificats pour un vérificateur de temps polynomial pour le problème. Il existe donc un vérificateur déterministe pour chaque décideur non déterministe.

Ainsi, tout problème indécidable ne peut pas avoir de vérificateur qui fonctionne sur des certificats de taille polynomiale (sinon l'existence du vérificateur impliquerait l'existence d'un décideur).


Lorsque vous prétendez qu'un vérificateur existe pour le problème d'arrêt, le certificat dont vous parlez est un encodage de (TM, I, N), où la TM s'arrête sur l'entrée I par N étapes. Cela peut en effet être vérifié en N étapes, mais la taille du certificat n'est pas polynomiale dans la taille de l'entrée (TM, I) du problème d'origine (le problème d'arrêt); N peut être arbitrairement grand (quel que soit le codage). Si vous essayez de convertir un tel vérificateur en décideur non déterministe, vous vous retrouvez avec une machine quelque peu intéressante. Vous devriez être en mesure de prouver que lorsqu'il est exécuté sur (TM, I) pour une MT qui ne fonctionne pasarrêt sur entrée I il n'existe aucun chemin sans arrêt à travers la machine, mais aussi que pour tout chemin menant à un état d'arrêt, il y a toujours un autre chemin plus long (correspondant à une estimation d'un N plus grand), et donc il n'y a pas de limite finie sur son temps d'exécution. Cela est essentiellement dû au fait qu'il existe un espace infini qui doit être exploré par la supposition initiale non déterministe. Conversion d'un tel NTM en un déterministe TM conduit à l'une de ces machines qui ne boucle ni ne s'arrête sur une entrée. En fait, il n'existe aucun NTM qui puisse décider du problème d'arrêt, et il n'y a donc pas de vérificateur qui fonctionne sur les certificats avec une taille limitée.

Je ne suis pas très familier avec les équations diophantiennes, mais il semble que le même problème s'applique essentiellement à votre argument.

Pour cette raison, je trouve plus facile de raisonner sur la définition NTM de NP. Il existe des vérificateurs pour les problèmes indécidables (mais pas ceux qui fonctionnent sur des certificats dont la taille polynomiale est liée à la taille de l'entrée du problème d'origine). En fait, toute MT qui reconnaît mais ne décide pas une langue peut être facilement convertie en vérificateur pour la même langue.

Si vous pensez aux vérificateurs, je suppose que vous devez donner leurs limites de temps en termes de taille de l' entrée de problème d'origine , pas en termes de taille de certificat; vous pouvez augmenter arbitrairement la taille des certificats afin que le vérificateur s'exécute dans un délai inférieur en termes de taille du certificat.

Ben
la source
26

Je pense que vous avez mal compris ce que signifie résoudre une équation diophantienne et le théorème d'indécidabilité de Matiyasevich .

Matiyasevich prouvé que pour chaque ensemble de RE il y a une équation diophentine f ( n , x 1 , . . . , X k ) de telle sorte que n S seulement s'il existe nombre entier coefficients x 1 , .., x k tel que f ( n , x 1 , . . . , x k ) = 0Sf(n;x1,...,xk)nSx1xkf(n;x1,...,xk)=0. En particulier, le problème d'arrêt est un ensemble RE typique, et donc la résolution du problème ci-dessus est indécidable.

Notez que x1,...xk n'est pas limité en taille, et en général peut être arbitrairement grand, il n'y a donc pas de "certificat de taille polynomiale" évident dans ce problème.

Pour développer: les entiers doit être écrit en binaire pour être un certificat. Étant donné que ces entiers peuvent être arbitrairement grands (quel que soit n ), nous avons que le certificat n'est pas polynomial dans log nx1,...,xknlogn ou, plus important encore, n'est pas limité par une fonction calculable.

Cependant, chaque problème dans a un certificat qui est limité par un polynôme p ( N ) (où N est la taille de l'entrée). Ainsi, N P questions sont trivialement décidables, car vous pouvez énumérer toutes les chaînes de bits possibles jusqu'à la longueur p ( N ) et si aucune ne certifie l'entrée, retournez false. Si certains retournent alors vrai.NPp(N)NNPp(N)

Artem Kaznatcheev
la source
Bien sûr, je comprends ce que signifie "résoudre une équation diophantienne" - vous trouvez des nombres qui satisfont l'équation. Je ne vois pas pourquoi le théorème d'indécidabilité de Matiyasevich ou les ensembles récursivement énumérables doivent être introduits dans la discussion. Mais je pense que le dernier paragraphe pourrait l'expliquer ...
BlueRaja - Danny Pflughoeft
1
D'accord, cette nouvelle modification l'explique - cela explique également pourquoi le problème de l'arrêt n'est pas dans NP, car les étapes qu'il faut pour arrêter peuvent être arbitrairement importantes. Merci!
BlueRaja - Danny Pflughoeft
Ma modification suggérée consistait à supprimer les deux premiers paragraphes. Les deux premiers paragraphes expliquent pourquoi le dixième problème de Hilbert est indécidable, ce qui est complètement tangentiel à la question; ils nuisent simplement au reste de la réponse (ce qui est une excellente réponse sinon!) .
BlueRaja - Danny Pflughoeft
@ BlueRaja-DannyPflughoeft si le premier paragraphe vous a insulté, alors je peux le supprimer (bien que vous ayez demandé "qu'est-ce qui ne va pas avec ma compréhension?"). Le deuxième paragraphe est nécessaire pour régler le problème de manière plus formelle puisque vous ne le faites pas dans votre question.
Artem Kaznatcheev
3
@ BlueRaja-DannyPflughoeft Il est préférable que les questions et réponses soient autonomes. Mon deuxième paragraphe définit le problème et explique ce que cela signifie que ce problème soit indécidable. Mon troisième paragraphe donne la réponse rapide. Mes 4e et 5e paragraphes développent cela plus en détail. Pour autant que je sache, tous les paragraphes sont nécessaires.
Artem Kaznatcheev
8

Vous auriez dû faire défiler jusqu'à la définition formelle :

Un langage est en NP si et seulement s'il existe des polynômes p et q , et une machine de Turing déterministe M , telle queLpqM

  • xMp(|x|)(x,y) .
  • xLyq(|x|)M(x,y)=1 .
  • xLyq(|x|)M(x,y)=0

Autrement dit, un vérificateur doit également travailler sur des non-solutions. Quelque part là-dedans, les problèmes indécidables échouent (dans votre cas, la restriction de longueur des candidats à la solution n'est probablement pas remplie), comme le montre la définition plus claire (au sens de la calculabilité) :

NP est l'ensemble des problèmes de décision décidables par une machine de Turing non déterministe qui fonctionne en temps polynomial.

Raphael
la source
"un vérificateur doit également travailler sur des non-solutions" - si vous dites que le vérificateur doit échouer pour des non-solutions, il le fait déjà. Si vous prétendez que le vérificateur doit être en mesure de vérifier «non» les réponses, c'est incorrect - ce serait co-NP . Et je connais déjà la deuxième définition, mais je ne savais pas trop comment elle pourrait être équivalente à la première, car une définition semble admettre le problème dans la question, tandis que l'autre ne le fait pas.
BlueRaja - Danny Pflughoeft
@ BlueRaja-DannyPlughoeft: Mon observation est: les vérificateurs doivent pouvoir réfuter les non-solutions. Si vous en êtes conscient, veuillez modifier votre question en conséquence; cela vous fait paraître tout à fait inconnaissable.
Raphael
Il est trivialement évident que le vérificateur réfute déjà les non-solutions: il suffit de brancher les nombres dans l'équation et de voir si elle est vraie. J'ai bien peur de ne pas comprendre à quoi tu veux en venir.
BlueRaja - Danny Pflughoeft
@ BlueRaja-DannyPlughoeft: La "définition" que vous citez ne spécifie pas ce comportement.
Raphael
-1

J'essaie de fournir plus de détails pour ma réponse ci-dessus.

En fait, cette question est un problème de dilemme.

D'une part, le problème d'équation diophantien (DEP) est indécidable selon le théorème de Matiyesevich (le théorème de Matiyesevich répond au dixième problème de Hilbert, et le problème de Haling de Turing répond à la généralisation du dixième problème de Hilbert, c'est-à-dire le problème Entscheidungsproblem); mais d'autre part, il n'y a pas de problème indécidable en NP selon la définition de NP (décidable et vérifiable).

Autrement dit, DEP n'est pas dans NP, ou DEP est dans NP. Les deux concernent la définition de NP.

Si DEP n'est pas en NP, cela signifie que les problèmes en NP (NDTM = Machine de Turing non déterministe) sont décidables et vérifiables, c'est-à-dire que nous acceptons P = NP (NDTM).

Si DEP est en NP, alors NP (NTM = Non Turing Machine) contient décidable et indécidable, évidemment décidable est vérifiable, donc le problème est de savoir si indécidable est vérifiable? En fait, c'est le fameux problème de P contre NP. Certes, indécidable est invérifiable, donc NP correspond à NTM (Non Turing Machine) au lieu de NDTM (NonDeterminstic Turing Machine).

En partant du principe que le DEP est en NP (NTM), nous pensons que le NP (NTM) est un problème non déterministe (indécidable), et la définition actuelle de NP (NDTM, décidable et vérifiable) a perdu ce non-déterminisme (indécidable), donc nous pensons qu'il faut le remettre en question.

Yu Li
la source
1
Non, l'indécidabilité du DEP (dixième problème de Hilbert) n'a été montrée qu'en 1970, par Matiyesevich. Le problème Entscheidungs ​​n'est pas le dixième problème de Hilbert; concerne la validité des formules de logique du premier ordre. Et, encore une fois, le problème P vs NP n'est absolument pas un problème pour savoir si des problèmes indécidables sont vérifiables.
David Richerby
1
Si vous souhaitez fournir plus de détails, vous devez modifier votre message d'origine.
Tom van der Zanden
@DavidRicherby Notez que la réponse donnée par Ben: «l'ensemble des problèmes décidables par les MNT est identique à l'ensemble des problèmes décidables par les MT». Juste dans ce sens, je pense que la définition de NP confond P avec NP, et elle conduit à P = NP (NDTM). Si cette définition doit être remise en question, d'autres conclusions déduites de cette définition, comme l'équivalence d'un vérificateur déterministe et d'un décideur non déterministe, doivent également être remises en question.
Yu Li
@YuLi "cela conduit à P = NP (NDTM)." Je n'ai aucune idée de ce que vous entendez par là. De plus, je ne vois pas l'utilité de souligner que les MT et les MNT décident des mêmes langues. S'ils ne décidaient pas des mêmes langues, les MNT seraient un modèle de calcul complètement déraisonnable et il est difficile d'imaginer que nous nous soucierions de ce qu'ils peuvent calculer en temps polynomial. Dans la théorie de la complexité, nous adoptons une vue plus fine et nous posons des questions sur les ressources de calcul nécessaires et la définition de NP ne confond pas cela du tout.
David Richerby
@DavidRicherby Merci, j'ai modifié ma réponse en fonction de votre remarque afin de clarifier la relation entre le Entscheidungsproblem et le dixième problème de Hilbert. Concernant la question de la définition actuelle de NP, il est difficile de discuter en plusieurs mots. L'objectif de ma réponse est juste d'évoquer quelques réflexions sur ce sujet de base,…
Yu Li
-2

Nous pensons que le dilemme que vous avez soulevé à propos de l'équation diophantienne est très important, car il révèle quelque chose d'anormal dans la définition actuelle de NP: - Un problème est dit être dans NP si et seulement s'il existe un vérificateur du problème qui s'exécute en polynôme temps.

En ce qui concerne la définition de NP, elle remonte aux années 60, où un grand nombre de problèmes applicables et importants ont été découverts pour lesquels aucun algorithme polynomial n'a pu être trouvé pour les résoudre, afin de reconnaître ces problèmes à partir de ces problèmes résolubles en temps polynomial. (P), le concept de NP a été éteint.

Cependant, la définition actuelle de NP définie comme vérifiable en temps polynomial confond NP avec P, car un problème dans P est également vérifiable en temps polynomial. En un autre mot, une telle définition entraîne la perte de l'essence du NP, le «non déterminisme». Par conséquent, cela entraîne de sérieuses ambiguïtés dans la compréhension de NP, par exemple votre dilemme: par nature, le problème de l'équation diophantienne est indécidable; mais par la définition de NP, c'est décidable,…

À notre avis, la difficulté de résoudre «P versus NP» réside d'abord au niveau cognitif, donc si nous espérons avoir un aperçu de «P versus NP», nous devons d'abord nous interroger: Qu'est-ce que NP?

Yu Li
la source
4
Cela semble être un article d'opinion sur la définition de NP , pas une réponse à la question. La définition de NP est très bien. Il ne confond pas P avec NP ; il reconnaît plutôt que P est un sous-ensemble de NP . Pour moi, ce serait très contre nature si P n'était pas un sous-ensemble de NP . NP est une classe de problèmes qui peuvent être résolus dans certaines limites de ressources. Cela inclut nécessairement tout un tas de problèmes faciles ( P ) qui peuvent être résolus sans se rapprocher de la limite des ressources disponibles.
David Richerby
@DavidRicherby P et NP ont la propriété commune de «certificat vérifiable en temps polynomial», mais cette propriété n'est pas l'essence de NP. Si cette propriété est utilisée pour définir NP, alors P est un sous-ensemble de NP, et NP a P comme sous-ensemble (décidable) et lui-même (indécidable). Par conséquent, on pourrait se demander si NP est décidable ou indécidable? Tout comme le dilemme ci-dessus: si l'équation diophantienne est-elle indécidable ou décidable? Donc ma réponse est de suggérer d'étudier ce dilemme du point de vue de la définition de NP: vérifiable, indécidable est invérifiable!
Yu Li
Les problèmes de NP sont décidables par définition: NP est la classe de problèmes décidée par les machines de Turing non déterministes. Il est facile de prouver qu'il s'agit exactement du même ensemble de problèmes qui ont des certificats de longueur polynomiale qui peuvent être vérifiés en temps polynomial. Si vous craignez que les problèmes de NP ne soient pas décidables, alors vous avez mal compris quelque chose.
David Richerby
Oui, je crains que les problèmes de NP ne soient pas décidables. Vous parlez de l'équivalence des deux définitions de NP: NP est la classe de problèmes décidée par les machines de Turing non déterministes; NP est la classe de problèmes ayant des certificats de longueur polynomiale vérifiés en temps polynomial. Je doute de cette équivalence, car l'un concerne l'existence d'un algorithme pour résoudre un problème et l'autre l'existence d'une solution à un problème. Le dilemme concernant l'équation diophantienne peut être directement lié à cette équivalence (voir plus de détails sur mon argumentation: arxiv.org/abs/1501.01906 ).
Yu Li
2
@YuLi L'équivalence des deux définitions de NP est si simple qu'elle est enseignée dans les cours théoriques de complexité de premier cycle. Je suggère de ne pas télécharger sur ArXiv si vous ne comprenez pas les bases du domaine.
David Richerby