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):
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 :
MXM∀X
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 :
LMXx ∈ L
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.