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:
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 .
(Ce n'est pas tout à fait la même chose que de dire que le calcul de avec l'entrée x se terminera.)
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.
Réponses:
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 :x M
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.M X
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.
la source
Le problème d'arrêt est le problème quintessentiel complet, car il peut être déclaré comme:Σ1
Cela suggère que votre définition est correcte. En général, chaque définition -complete est « correcte ».Σ1
la source
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.
la source
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.
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 .
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 :
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 :
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.
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.
la source