Pourquoi le problème d'arrêt est-il décidable pour LBA?


13

J'ai lu dans Wikipedia et dans quelques autres textes

Le problème d'arrêt est décidable [...] pour les automates linéaires bornés (LBA) et les machines déterministes à mémoire finie.

Mais plus tôt, il est écrit que le problème d'arrêt est un problème indécidable et donc TM ne peut pas le résoudre! Étant donné que les LBA sont définis comme un type de MT, ne devrait-il pas en être de même pour eux?


9
Vous pouvez utiliser une MT pour déterminer si un LBA s'arrête sur une entrée donnée en vérifiant s'il s'arrête, par exemple, en O (2 ^ 2 ^ n) étapes par simulation. Tout LBA travaillant plus longtemps est coincé dans une boucle infinie. Cela ne veut pas dire que les LBA peuvent résoudre le problème d'arrêt des MT générales!
Yonatan N

Les automates finis sont également un type de MT.
Raphael

@Raphael Vous ne pouvez pas éditer de telles questions. Vous avez changé le sens de la question, rendant ainsi ma réponse existante hors sujet, tandis que l'autre réponse était hors sujet et est maintenant dans le sujet.
babou

@babou Je ne vois pas comment j'ai changé le sens de la question, et je ne vois pas comment l'une des deux questions ne répondait pas à la question (même si elles utilisent des approches différentes).
Raphael

@Rap La question d'origine concerne davantage le discours logique que la justification formelle des propriétés LBA, et c'est ce que vous avez supprimé du titre. Pour moi, il est clair que, même s'il peut être prouvé que l'arrêt est décidable pour les LBA, le PO se demande comment il peut être compatible avec d'autres déclarations concernant l'inclusion des LBA dans les MT et l'indécidabilité de l'arrêt pour les TM (puis-je modifier en arrière?) . BTW n'a pas l'intention de dénigrer la réponse de Yuval. Je m'attends à ce qu'il obtienne la plupart des votes, car c'est ce que recherche le lectorat (ce qui est un problème pédagogique en soi), même si je ne me laisserai pas tenter.
babou

Réponses:


18

Le problème d'arrêt peut être résolu pour toute machine de Turing qui utilise une quantité d'espace limitée connue, par une généralisation de l'argument donné par Yonatan N. Si la quantité d'espace est , la taille de l'alphabet est A et le nombre d'états est Q puis le nombre de configurations possibles est Q S A S . Si la machine s'arrête, elle doit s'arrêter dans les étapes Q S A S , car sinon, selon le principe du pigeonhole, elle a une configuration répétée et est donc coincée dans une boucle infinie. Par conséquent, pour déterminer si la machine s'arrête, nous l'exécutons simplement pour Q S A SSUNEQQSUNESQSUNESQSUNES étapes et voir si elle s'arrête dans ce laps de temps.


Pourquoi cet argument fonctionne-t-il pour les machines non déterministes?
Raphael

1
En raison du théorème de Savitch.
Yuval Filmus

Je ne connaissais pas (ou ne me souvenais pas) du théorème de Savitch autre que le nom (je n'ai jamais fait beaucoup de complexité). Mais je ne suis pas sûr qu'il puisse être utilisé de cette façon, car il s'applique aux procédures de décision, c'est-à-dire l'arrêt des calculs, alors que la décidabilité de l'arrêt est précisément ce qui doit être prouvé. La preuve pourrait être adaptée pour inclure les demi-décisions limitées dans l'espace, mais il semble plus simple de prouver séparément que l'arrêt est décidable pour la MT limitée dans l'espace, transformant ainsi les semi-décisions limitées dans l'espace en décisions complètes. Ceci est proche de ce que fait Hopcroft-Ullman-79 dans leur lemme 12-1, avant de prouver le théorème de Savitch.
babou

1
Je pourrais peut-être me méprendre, mais est-ce la réponse pour exécuter littéralement le programme et voir s'il est coincé dans une boucle infinie ou non?
Mikayla Maki du

1
@TrentonMaki Oui, c'est exactement le cas.
Yuval Filmus

10

Vous semblez coincé avec un problème logique.

Du fait qu'il existe des livres que vous ne pouvez pas lire, vous ne pouvez pas en déduire que vous ne pouvez lire aucun livre.

Dire que le problème d'arrêt est indécidable pour Turing Machines (TM) signifie seulement qu'il existe des machines pour lesquelles il n'y a aucun moyen de déterminer si elles s'arrêtent ou non par une procédure uniforme qui s'arrêtera toujours.

Cependant, il y a des machines de Turing qui s'arrêtent. Prenez maintenant un sous-ensemble de machines de Turing, appelé Nice Turing Machines (NTM), de sorte qu'il ne contient que des machines de Turing qui s'arrêtent si et seulement si la bande contient un nombre pair de symboles. Si une machine M est connue pour être de cet ensemble, vous avez un moyen simple de décider si M va s'arrêter: vous vérifiez si le nombre de symboles de bande est pair (cela ne nécessite que deux doigts).

Mais cette procédure ne fonctionnera pas pour les MT qui ne sont pas dans l'ensemble NTM. (dommage!)

Le problème d'arrêt est donc décidable pour le NTM, mais pas pour le TM en général, même si l'ensemble NTM est inclus dans l'ensemble TM.

Ceci est en fait critique, et parfois oublié, lors de l'interprétation du résultat de l'indécidabilité.

Il se pourrait bien que l'on puisse prouver qu'une propriété importante est indécidable pour une très grande famille d'objets mathématiques ou informatiques.

Cela ne signifie pas que vous devez arrêter de chercher une solution, mais seulement que vous n'en trouverez pas pour toute la famille.

Ce que vous pouvez ensuite faire est d'identifier les sous-familles pertinentes pour lesquelles la résolution du problème reste importante et essayer de fournir des algorithmes pour décider si la propriété est valable pour les membres de cette petite famille.

En règle générale, l'arrêt est indécidable pour la MT en général, mais il est décidable, souvent très simplement, pour des familles d'automates importantes et utiles, qui peuvent toutes être considérées comme des cas particuliers de MT.


3
"Dire que le problème d'arrêt est indécidable pour Turing Machines (TM) signifie simplement qu'il existe des machines pour lesquelles il n'y a aucun moyen de déterminer si elles s'arrêtent ou non par une procédure qui s'arrêtera toujours." - Pas tout à fait vrai. Pour toute MT donnée, le problème d'arrêt est décidable. C'est le problème de décision général qui est indécidable, c'est-à-dire qu'il n'y a pas d' algorithme unique qui traite toutes les MT. (Je pense que cela doit être très, très clair pour les débutants. Cf le problème pi .)
Raphael

Un exemple plus immédiat est l'ensemble de toutes les MT qui tiennent toujours. Le vôtre ajoute une saveur supplémentaire car il se situe en dehors de la hiérarchie normale.
Raphael

Droite. J'aurais dû dire "procédure uniforme", mais c'était implicite dans mon esprit car j'ai dit "procédure qui s'arrêtera toujours", ce qui implique que je peux l'utiliser sur n'importe quelle entrée, c'est-à-dire sur n'importe quelle machine. Mais il est vrai qu'une procédure peut fonctionner correctement pour une machine et faire n'importe quoi pour d'autres machines. Eh bien ... - - - - - - - - En ce qui concerne le deuxième commentaire, c'est ce que j'ai écrit au début. J'ai ensuite changé d'avis car je pensais que mon exemple serait plus facile à comprendre intuitivement, car la sélection des machines ne dépend pas aussi directement de la propriété à décider (bien qu'elle soit proche).
babou

2

En bref, A LBA a un nombre fini de configurations, disons D. Par conséquent, nous pouvons exécuter les étapes D et conclure le résultat. S'il court plus de D pas, par principe de pigeonhole, on peut dire que, il est coincé dans une boucle infinie.


1
Qu'est-ce que cela ajoute à la réponse existante ? Cela semble simplement le répéter, avec moins de détails. Bien que j'apprécie que vous essayiez de contribuer, nous préférerions que vous évitiez de répéter les réponses existantes et que vous vous concentriez plutôt à répondre à des questions qui n'ont pas déjà une bonne réponse.
DW
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.