Définition du problème d'arrêt pour les automates non déterministes


18

La définition principale de la machine de Turing (TM), au moins dans mon propre manuel de référence (Hopcroft + Ullman 1979) est déterministe.

Par conséquent, ma propre compréhension du problème de l' arrêt concerne principalement la MT déterministe, bien que je sache qu'il peut être envisagé pour d'autres types d'automates.

J'ai également remarqué que le déterminisme est souvent plus ou moins implicite dans la façon dont les gens se réfèrent souvent à la MT ou au problème d'arrêt. La page wikipedia sur le problème de l'arrêt en est un bon exemple.

Mais il ne semble pas y avoir de raison pour une telle limitation. Étant donné une famille d'automates qui peut être non déterministe, le problème d'arrêt pour F peut être défini comme:FF

Existe-t-il une procédure de décision uniforme telle que, étant donné un automate et une entrée x , il puisse décider s'il y a un calcul d'arrêt de A sur l'entrée x .AFxAx

(Ce n'est pas tout à fait la même chose que de dire que le calcul de avec l'entrée x se terminera.)AX

En effet, cela semble le seul moyen de donner un sens aux discussions sur le problème d'arrêt des automates linéaires délimités (LBA) qui sont principalement des automates non déterministes.

Ma question est donc de savoir si j'ai raison et s'il y a une raison (et quelle raison) à ce traitement apparemment de deuxième classe du problème d'arrêt des automates non déterministes.


Si vous pensez que quelque chose ne va pas dans cette question, seriez-vous assez aimable pour dire de quoi il s'agit, afin que nous puissions tous bénéficier de vos connaissances et améliorer la publication pour tous les utilisateurs. Je vous remercie.
babou

Réponses:


12

Il y a plusieurs raisons pour lesquelles je pense que nous consacrons moins d'efforts au problème de l'arrêt des modèles non déterministes.

Le premier est qu'il existe en fait deux problèmes d'arrêt pertinents pour un modèle ND. Étant donné une entrée et une machine non déterministe M :xM

  • Existe-t-il une série valide de sur x qui s'arrête?Mx
  • Existe-t-il une exécution valide de sur x qui ne s'arrête pas? c'est-à-dire que toutes les courses valides s'arrêtent?Mx

Pour les machines déterministes, celles-ci sont identiques, car il existe exactement une série valide de sur une entrée x . Mais pour les machines non déterministes, il peut y avoir plusieurs exécutions. Lequel vous intéresse dépend de votre application.Mx

Deuxièmement, les modèles non déterministes sont déjà irréalistes: ils supposent que vous avez soit une boîte magique vous indiquant le chemin à suivre, soit que vous avez une forme de parallélisme infini. Étant donné que les machines de Turing non déterministes et déterministes sont de puissance équivalente, dans la plupart des cas, il vous suffit de convertir la machine en une machine déterministe avant de vous inquiéter de l'arrêt.

Dans le prolongement de cela, nous ne nous en soucions pas parce que prouver quelque chose sur une machine non déterministe est au moins aussi difficile que prouver quelque chose sur une machine déterministe équivalente. Nous savons déjà qu'il n'y a pas de solution au problème déterministe de l'arrêt, de sorte que tout ce qui est vraiment utile, c'est de prouver d'autres problèmes indécidables grâce à des réductions. Et ce sera toujours moins de travail à réduire au problème de l'arrêt déterministe, car c'est plus facile que son homologue non déterministe.


Vous dites : " Mais pour les machines non déterministes, il peut y avoir plusieurs exécutions. Laquelle vous intéresse dépend de votre application. " Pourriez-vous illustrer cette déclaration avec un exemple? Ensuite, vous déclarez " vous venez de convertir la machine en une machine déterministe avant de vous inquiéter de l'arrêt ". Comment cela se fait-il pour un LBA?
babou

Les LBA sont un sous-ensemble de machines de Turing non déterministes, elles peuvent donc toujours être converties en machines de Turing déterministes en utilisant la méthode habituelle. Je soupçonne qu'il existe une construction spéciale qui peut être utilisée pour convertir en une machine avec des propriétés spécifiques, afin que nous puissions conserver la capacité de raisonnement supplémentaire que nous obtenons des LBA. Je pense que cela va ressembler à un algorithme de retour arrière où l'espace linéaire est utilisé, sauf que la pile d'appels pourrait potentiellement être exponentiellement grande (je ne suis pas sûr, je devrais la rechercher).
jmite

Pour plusieurs chemins, considérons deux machines , une qui s'arrête toujours à l'entrée x et une qui ne le fait jamais pour x . On peut faire un nouveau LBA M qui commence par choisir de façon non déterministe une valeur booléenne. S'il choisit true, il exécute M 1 sur l'entrée x. Si elle choisit de faux, il fonctionne M 2 sur x . Chaque choix de vrai et de faux est un "run" différent. Cette machine s'arrête-t-elle pour x ? Il existe un chemin où il s'arrête sur x , mais il ne s'arrête pas pour tous les chemins lisant x . M1,M2XXMM1M2XXXX
jmite

1
@HendrikJan Il semble que l'arrêt de NLBA soit plutôt traité avec le théorème de Savitch . Mais il change la limite linéaire en quadratique.
babou

1
@Raphael ce que je veux dire par là, c'est que, pour montrer le problème indécidable, vous montrez que vous pouvez utiliser P pour simuler un autre problème indécidable. Puisqu'il existe un mappage injectif trivial des DTM aux NTM, toute réduction de l'arrêt de NTM est également une réduction de l'arrêt de DTM. Habituellement, il serait moins difficile de réduire l'arrêt du DTM, car c'est un problème moins difficile que vous essayez de simuler. PP
jmite

4

Le problème d'arrêt est le problème quintessentiel complet, car il peut être déclaré comme:Σ1

.H(P,x)c s. t. c is a halting computing of P on x

Cela suggère que votre définition est correcte. En général, chaque définition -complete est « correcte ».Σ1


Malheureusement, je ne connais pratiquement rien de la hiérarchie arithmétique. Ai-je raison de comprendre que représente des problèmes semi-décidables? Qu'en est-il: K ( P , x ) c , c  est un calcul de  P  sur  xΣ1. Je demande parce que les quantifications existentielles et universelles semblent se retrouver dans des classes différentes, mais tout cela est flou pour moi. Kest également semi-décidable. K(P,X)c,c est un calcul de P sur Xc s'arrête.K
babou

Voilà ce que j'avais peur que vous répondiez. J'ai demandé parce que je pense que j'ai une procédure de semi-décision pour cela. Donc, soit ma preuve est fausse, soit j'ai mal formalisé mon problème. Fondamentalement, jmite suggère que l'arrêt non déterministe sur l'entrée pourrait être défini en exigeant que tous les calculs sur x s'arrêtent. Et je croyais que jusqu'à présent j'avais une semi-décision pour ça. XX
babou

En fait, votre définition n'est pas bonne pour une autre raison: que voulez-vous dire par « est en train de s'arrêter»? Soit vous voulez dire que c , qui n'est a priori qu'un calcul incomplet, est en fait complet. Dans ce cas, K ( P , x ) n'est jamais vrai, car vous pouvez prendre c pour le calcul vide. Dans tous les autres cas, il n'est pas clair que la description de c soit finie, et il n'est pas clair non plus que le prédicat " c est en train de s'arrêter" soit calculable. ccK(P,X)ccc
Yuval Filmus

Donc , en fait , le problème est dans mais probablement pas Π 1 -complete. Π1Π1
Yuval Filmus

Merci et désolé pour ma lecture naïve. Je pensais que le vous utilisiez représentait des calculs "complets", ce qui est apparemment une erreur sur le domaine quantifié. Je suppose que l'on ne peut utiliser que des domaines dénombrables et l'ensemble des calculs non-stop d'une MT non déterministe n'est pas admissible. Je suppose également que les quantificateurs nous disent à quel point la calculabilité peut être mauvaise, mais n'offre aucune garantie qu'elle est si mauvaise. Il semble donc que la proposition de jmite ne soit pas facilement exprimée de manière directe dans le "format" requis, mais ma procédure de semi-décision peut être correcte. c
babou

2

vous dites qu'il existe un "traitement apparent de seconde classe" du problème d'arrêt pour les machines non déterministes. il semble que le non-déterminisme n'ait été considéré historiquement que longtemps après la création par Turings de la MT déterministe, ce qui peut avoir quelque chose à voir avec la recherche dans le domaine. cependant, le point principal ici est que le problème non déterministe peut facilement être réduit au problème déterministe, il suffit donc d'étudier le problème déterministe "sans perte de généralité".

de plus, pour contrer l'idée de «2e classe», voici au moins une référence / article qui étudie le problème d'arrêt des machines non déterministes et trouve des connexions utiles / profondes. certaines preuves circonstancielles selon lesquelles la recherche en sciences de la société est si vaste / spécialisée, parfois des recherches initiales ont été effectuées dans la plupart des domaines, même apparemment étroites, et elles peuvent s'approcher de presque sans signification ou se couper les cheveux pour classer les différents problèmes selon leur importance. et bien au contraire, le non-déterminisme semble être un concept très profond / omniprésent / transversal dans CS (des questions ouvertes clés comme P vs NP sont là-dessus) et cet aspect est susceptible de continuer longtemps dans le futur.

Abstrait. Le problème paramétré p-Halt prend en entrée une machine de Turing non déterministe M et un nombre naturel n, la taille de M étant le paramètre. Il demande si chaque exécution acceptée de M sur une bande d'entrée vide prend plus de n étapes. Ce problème est dans la classe XPuni, la classe "uniforme XP", s'il existe un algorithme qui le décide, qui pour la machine fixe M s'exécute en polynôme temporel en n. Il s'avère que divers problèmes ouverts de différents domaines de l'informatique théorique sont liés ou même équivalents à p-Halt ∈ XPuni. Ainsi cette affirmation forme un pont qui permet de dériver des équivalences entre des affirmations de domaines différents (théorie de la preuve, théorie de la complexité, complexité descriptive, ...) qui à première vue semblent sans rapport. Comme le montre notre présentation,


2

En un mot

Il ne semble pas y avoir de bonne raison de négliger le problème d'arrêt dans des environnements qui ne sont pas classiques des machines déterministes de Turing, à part le fait que le problème d'arrêt classique répond à certaines questions mathématiques majeures (telles que le Entscheidungsproblem ), alors que les variantes ne sont que questions techniques intéressantes (?), mais avec moins d'impact sur les fondations.

UNEX . Cela peut alors servir de base pour définir le problème d'arrêt sur les automates non déterministes.

Selon la réponse de jmite, cet arrêt non déterministe peut être défini comme correspondant à l'existence d'au moins un calcul d'arrêt ( arrêt existentiel ), ou encore à exiger que tout calcul possible soit arrêté ( arrêt universel ). Ces deux définitions correspondent à deux définitions différentes du problème d'arrêt non déterministe.

Je montre que, pour les machines de Turing, les deux définitions correspondent à deux façons distinctes de déterminer la machine par queue d'aronde. J'en déduis que les deux variantes du problème d'arrêt non déterministe sont toutes deux Turing équivalentes au problème d'arrêt déterministe classique .

Cependant, je montre également que chacune de ces définitions de l'arrêt est directement liée à une définition correspondante du langage reconnu par une machine de Turing, et cette relation peut être simplement exprimée à condition de choisir des définitions cohérentes.

Par conséquent, étant donné la définition habituelle du langage reconnue par un automate non déterministe, la définition naturelle de l'arrêt non déterministe est l'arrêt existentiel, comme proposé dans la question d'origine.

La plupart de cette analyse s'étend naturellement à d'autres types d'automates, bien que les constructions en queue d'aronde ne soient souvent pas disponibles dans des familles moins puissantes que les machines Turing.

introduction

J'écris ceci comme une réponse car il répond partiellement à ma question après plus de réflexion à ce sujet, en tenant compte des réponses existantes. De plus, éditer ma question après trois réponses pourrait dans ce cas confondre les problèmes, et je préfère laisser la question telle qu'elle a été écrite à l'origine pour éviter cela.

Je discute d'abord de certains de mes désaccords avec les réponses données. Il ne s'agit pas de dénigrer les tentatives honnêtes de répondre à ma question (merci pour toutes les réponses), mais d'aller au fond des problèmes en discutant ou en contestant des points techniques.

Je pense que la question d'origine n'a guère besoin de contexte ou de motivation. Le problème d'arrêt est l'une des principales questions que nous posons sur les automates d'une part, et le non-déterminisme est une caractéristique très courante et utile de nombreux automates d'autre part. En outre, le non-déterminisme n'est pas seulement un dispositif théorique commun pour simplifier les preuves, mais une caractéristique essentielle de certaines familles d'automates, comme l'automate linéaire borné (LBA), au moins au moment de la rédaction de cet article.

Il est donc tout à fait naturel de se demander si le problème d'arrêt a un sens, ou un sens préféré, qui et pourquoi, dans le cas des automates non déterministes.

Est-ce que le problème de l'arrêt non terminologique est bien traité?

Ma question se demande pourquoi le problème d'arrêt des automates non déterministes semble recevoir un traitement de deuxième classe , qui a généré un downvote et une réponse de vzn. La réponse de vzn , qui est vraiment plus un long commentaire, insiste sur le fait que "le non-déterminisme semble un concept très profond / omniprésent / transversal dans CS", ce dont je n'ai jamais douté. Cela fait également référence à des recherches sur l'arrêt des machines non déterministes, ce qui n'est pas surprenant, mais ne répond pas vraiment à mon argument. Mon argument est que je ne me souviens pas avoir réellement vu une définition du problème d'arrêt à des machines non déterministes, bien que j'aie lu une littérature sur le terrain. Ce n'est pas abordé, AFAIK, dans mon manuel de référence (Hopcroft + Ullman 1979). Il semble souvent implicite dans l'esprit des gens qu'ils envisagent des automates déterministes, généralement Turing machines, dont la définition de référence est déterministe.

Par exemple, dans la question Pourquoi le problème d'arrêt est-il décidable pour LBA? , Yuval Filmus a oublié dans sa réponse que les LBA sont des appareils non déterministes - mais a brillamment enregistré sa réponse avec un commentaire de 4 mots .

En tant que dernier témoin du fait que cette question n'est pas bien abordée en général (malgré certaines recherches spécialisées), je dirais que la question doit être discutée ici.

La réponse de jmite est la seule qui tente réellement d'expliquer pourquoi elle pourrait ne pas être bien traitée. Son premier argument est qu'il y a deux définitions possibles, mais je pense que cette situation devrait plutôt encourager plus d'analyses pour déterminer quelle définition serait la plus appropriée. J'essaie de le faire ci-dessous.

Il suggère également qu'étant donné qu'une MT non déterministe peut toujours être convertie en une MT déterministe équivalente, il est inutile de s'inquiéter de la question de l'arrêt dans le cas non déterministe. Je ne suis pas entièrement convaincu, mais cela peut être perçu comme une bonne raison par beaucoup. Cependant, l'argument ne s'applique pas aux automates linéaires délimités (LBA), car il reste un problème ouvert de savoir si les LBA déterministes sont équivalents aux LBA non déterministes. Et il existe d'autres familles d'automates pour lesquelles la sous-famille déterministe est plus faible que toute la famille non déterministe (PDA par exemple).

Je suis également en désaccord avec le dernier point, affirmant que nous ne devrions pas nous préoccuper de l'arrêt non déterministe car les preuves sont plus faciles avec les machines déterministes. Raphael s'y est opposé dans un commentaire : " Je trouve généralement plus facile de réduire les problèmes plus difficiles ". En effet, pour de nombreux types d'automates, la version non déterministe sert principalement à simplifier les preuves, comme la réduction à ce type d'automate. Le fait d'avoir en plus deux formes d'arrêt qui peuvent être utilisées, comme l'a suggéré jmite lui-même, pourrait même être considéré comme un avantage car il donne plus de flexibilité pour résoudre les problèmes.

Sur la définition du problème d'arrêt non déterministe

Remarque: l'utilisation du mot "universel" dans le texte suivant fait référence à la quantification universelle , PAS aux machines de Turing universelles

La réponse de jmite est la plus détaillée.

Cette réponse suppose que les automates non déterministes encouragent moins d'efforts sur le problème d'arrêt car il peut être défini de deux manières différentes (la terminologie est la mienne):

  • MX

  • MX

La seule définition que j'avais suggérée adéquate est l'arrêt existentiel .

X

Preuve : cela est facilement prouvé avec le lemme de König , car le nombre de choix non déterministes possibles à chaque étape est limité pour un automate donné. S'il y avait une infinité de calculs d'arrêt, nous pourrions étiqueter chaque configuration avec chacun des chemins de calcul qui y mènent, ce qui ferait un graphe de calcul avec une infinité de nœuds, mais seulement une ramification non déterministe finie à chaque nœud. Selon le lemme de König, cela implique l'existence d'un chemin de calcul infini, correspondant à un calcul non-stop.

Le cas des machines de Turing (non déterministes)

Alors maintenant, examinons l'arrêt dans le cas d'une machine de Turing non déterministe (NTM).

Pour analyser les deux définitions, la plus simple est en effet de considérer des versions déterministes de machines non déterministes, ce qui peut être réalisé, comme le rappelle Hendrik Jan , en faisant coïncider tous les calculs possibles.

Mais il existe (au moins) deux façons de faire concorder les calculs pour la détermination, bien qu'une seule soit généralement envisagée:

  • la détermination existentielle en queue d'aronde qui simule tous les calculs en parallèle et se termine lorsque l'un des calculs simulés se termine.

  • Détermination universelle en queue d'aronde qui simule tous les calculs en parallèle et se termine uniquement lorsque tous les calculs simulés se terminent. Mais il peut éventuellement énumérer en quelque sorte les calculs de fin, ou les compter.

Proposition 2 :

  • MXMX

  • MXMX

MXMX

Théorème 3 : Le problème d'arrêt pour la MT déterministe et les problèmes d'arrêt existentiels et universels pour la MT non déterministe sont équivalents de Turing.

Preuve : cela résulte de la proposition 2 et du fait que les MT déterministes sont un sous-ensemble des MT non déterministes, où les arrêts existentiels et universels se réduisent à de simples arrêts déterministes.

Par conséquent, d'un point de vue calculabilité, et je suis tenté de dire d'un point de vue poussant un symbole, il semble que peu importe la définition choisie, existentielle ou universelle, pour le problème d'arrêt non déterministe.

Pourquoi choisir une définition de l'arrêt NTM, et qui

Cependant, est-ce que cela a beaucoup de sens pour un processus de détermination qui ne préserve pas le langage reconnu par l'automate d'origine?

L'essence de l'utilisation du non-déterminisme dans la reconnaissance du langage est qu'il suppose un oracle qui est supposé deviner un bon chemin de calcul chaque fois qu'il en est un qui conduira à l'acceptation, une vision fondamentalement existentielle .

ϵ

Ainsi, l'acceptation par arrêt peut être considérée comme une forme canonique d'acceptation pour les automates non déterministes.

Compte tenu de cette vue canonique, le problème d'arrêt peut également être exprimé de manière équivalente comme le problème de reconnaissance :

LMXXL

MXXM

Cependant, dans le cas de l'arrêt universel, cette relation étroite est perdue. Une déclaration similaire peut être faite, mais pour une langue différente de celle reconnue par la MNT (ou alternativement pour une définition différente et universelle de ce qu'est la langue reconnue par une MNT).

Lors de l'élaboration d'une théorie, il est essentiel d'utiliser des définitions cohérentes afin de mettre l'accent sur les structures et les relations dans leur forme la plus simple et la plus visible. Il est tout à fait clair que dans le cas présent, la cohérence avec d'autres définitions suggère que l'arrêt existentiel est la définition naturelle de l'arrêt pour les machines de Turing non déterministes.

XX

Le cas des autres familles d'automates

Certaines parties de l'analyse ci-dessus ne peuvent pas être étendues à la plupart des familles d'automates non déterministes. Par exemple, un atomaton déroulant (PDA) peut définir des langues qui ne peuvent pas être reconnues par un PDA déterministe. La même chose peut être vraie pour les LBA. D'autres parties peuvent être étendues à toutes les familles non déterministes.

En ce qui concerne la définition de l'arrêt non déterministe, même si le raisonnement utilisé dans le cas de la machine de Turing peut ne pas être utilisable, il semble que le seul choix judicieux soit d'adopter une définition qui soit cohérente avec celle utilisée pour les machines de Turing non déterministes, d'où la définition existentielle .

La définition du problème de Halting pour ces familles d'automates non déterministes suit et est conforme à la définition proposée dans la question.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.