J'ai ces questions d'un ancien examen que j'essaie de résoudre. Pour chaque problème, l'entrée est un codage d' une certaine machine de Turing .
Pour un entier , et les trois problèmes suivants:
Est-il vrai que pour chaque entrée , M ne passe pas le | x | + c position lors de l'exécution sur x ?
Est-il vrai que pour chaque entrée , M ne passe pas la position lors de l'exécution sur ?
Combien de problèmes sont décidables?
Le problème numéro (1), à mon avis, est dans si je comprends bien car, je peux exécuter toutes les entrées en parallèle et arrêter si certaines entrées ont atteint cette position et pour montrer que ce n'est pas in je peux y réduire le complément de Atm . Je construis une machine de Turing comme suit: pour une entrée je vérifie si est un historique de calcul, si c'est le cas, alors fonctionne bien et ne s'arrête pas, si ce n'est pas le cas, alors il s'arrête.
Pour (3), je crois que c'est décidable car pour ce sont toutes les machines de Turing qui restent toujours sur la première cellule de la bande, car pour une chaîne d'un caractère il peut passer la première cellule, donc je besoin de simuler toutes les chaînes de longueur 1 pour les étapes (est-ce correct?), et voir si j'utilise uniquement la première cellule de chacune d'elles.
Je ne sais pas vraiment quoi faire avec (2).
Réponses:
Toute situation qui demande si une machine de Turing est confinée à une section finie de la bande (disons de longueur ) sur une entrée donnée est décidable.n
L'argument fonctionne comme suit. Tenez compte de la machine de Turing, du ruban et de la position de la machine de Turing sur le ruban. Tous ensemble, ceux-ci ont un nombre fini de configurations. Pour être précis, il n'y a que configurations possibles. Γ est l'ensemble des symboles de bande et Q est l'ensemble des états. Je vais continuer à utiliser le mot "configuration" pour décrire l'état de la machine de Turing combiné à l'état de la bande et sa position sur la bande pour le reste de cette réponse, mais ce n'est pas du vocabulaire standard.t = n | Γ |n| Q | Γ Q
Exécutez la machine en gardant une trace de toutes ses configurations passées. Si jamais il dépasse le point , retournez "oui, M passe la position n ". Sinon, la machine se situe entre 0 et n . Si la machine répète une configuration - son état, les symboles sur la bande et sa position sur la bande sont identiques à ce qu'ils étaient auparavant - retournez "non, M ne passe jamais la position n ".n M n n M n
Selon le principe du trou de culasse, cela ne doit pas se produire en plus de étapes. Donc, tout ce qui précède est décidable; après au plus t + 1 étapes simulées, vous obtenez une réponse.t + 1 t + 1
Un petit mot sur pourquoi cela fonctionne: lorsque la machine, la bande et sa position sur la bande se répètent, il doit y avoir eu une séquence de configurations entre ces répétitions. Cette séquence se reproduira, conduisant à la même configuration une fois de plus - la machine est dans une boucle infinie. C'est parce que nous gardons une trace de tous les aspects de la machine de Turing; rien en dehors de la configuration ne peut avoir d'impact sur ce qui s'est passé. Ainsi, lorsqu'une configuration se répète, elle se répétera à nouveau, avec une série de configurations identiques entre les deux.
Il est donc décidable de limiter la bande à une partie finie de la chaîne. Par conséquent, en itérant sur toutes les chaînes d'entrée possibles, le problème est en pour les trois questions. Vous l'avez peut-être déjà réalisé (entre vos idées pour 1 et 3 et la réponse de Ran G pour 2, cela semble résolu de toute façon), mais j'ai pensé que cela valait quand même la peine d'être publié.coeur
la source
(2) est très similaire à (3) et le même raisonnement que vous aviez pour (3) s'applique également ici: notez que les machines qui dans ont une propriété étrange - elles ne lisent pas la totalité de l'entrée (elles n'atteignent jamais derniers c bits.) Et cela est vrai pour chaque entrée.L2 c
Ok, considérons maintenant uniquement les entrées jusqu'à la longueur . Pour chacun d'eux, il n'y a que deux options: la machine boucle / s'arrête sans déplacer la tête, ou elle déplace la tête. Si elle déplace la tête sur un certain x (avec | x | ≤ c ), cette machine n'est pas dans L 2 en raison de cette entrée x . Sinon, je prétends que la machine est en L 2 . Comme il ne bouge jamais la tête - il n'a aucune idée de la taille de l'entrée! cela signifie qu'il se comporte de la même manière pour toutes les entrées de longueur | x | > c . Par conséquent, L 2 est décidable.c x |x|≤c L2 x L2 |x|>c L2
la source