Turing reconnaissable => énumérable


10

J'obtiens la preuve de passer d'un énumérateur à une machine de Turing (continuez à exécuter l'énumérateur et voyez si cela correspond à l'entrée) mais je ne vois pas comment fonctionne l'autre sens.

Selon mes notes et le livre (Intro to the Theory of Computation - Sipser), pour obtenir l'énumérateur Turing à partir d'une machine Turing, nous écrivons essentiellement toutes les combinaisons de l'alphabet. Vous exécutez ensuite la MT sur cette entrée, si elle accepte de l'imprimer, remplacez-la par une nouvelle chaîne répétée à l'infini.

Le problème que j'ai est sûrement que cela nécessite que la langue soit décidable. Sinon, il pourrait rester bloqué sur le troisième mot dans une boucle infinie vouée à ne jamais accepter ou rejeter et certainement pas à imprimer la langue entière.

Qu'est-ce que je rate?

Réponses:


9

MMMM

w1,S1##wn,SnwiSiMwinMwi

Exécutez maintenant la boucle suivante

  1. wΣSM#w,S
  2. M
  3. MM
  4. MM
  5. Passez à l'étape 1.

wΣM


4
alias "queue d'aronde".
Kaveh
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.