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?
la source
Réponses:
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.
la source
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 ) = 0S f(n;x1,...,xk) n∈S x1 xk f(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 quex1,...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,...,xk n logn 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.NP p(N) N NP p(N)
la source
Vous auriez dû faire défiler jusqu'à la définition formelle :
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é) :
la source
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.
la source
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?
la source