Turing reconocible => enumerable


10

Recibo la prueba de pasar de un enumerador a una máquina de Turing (sigo ejecutando el enumerador y ver si coincide con la entrada) pero no veo cómo funciona la otra manera.

Según mis notas y el libro (Introducción a la teoría de la computación - Sipser), para obtener el enumerador de Turing de una máquina de Turing, básicamente escribimos todas las combinaciones del alfabeto. Luego ejecuta la TM en esta entrada, si acepta imprimirla, reemplácela con una nueva secuencia de repetición hasta el infinito.

El problema que tengo es que seguramente esto requiere que el lenguaje sea decidible. De lo contrario, podría atascarse en la tercera palabra en un bucle infinito condenado a nunca aceptar o rechazar y, ciertamente, nunca imprimir todo el lenguaje.

¿Qué me estoy perdiendo?

Respuestas:


9

Lo que falta es la forma en que ejecuta Turing Machine en cadenas para obtener el enumerador. En lugar de generar cada cadena, ejecute y luego envíe esta cadena si la acepta, lo cual, como identificó, no funcionará, usted hace algo como lo siguiente, que adopta la estrategia de simular muchas instancias de la en diferentes cadenas "en paralelo".MMMM

Suponga que la cinta tiene contenido , donde es una palabra en consideración y es el estado actual de opera en . Esto representa que copias de están siendo simuladas. se almacena para que sepamos cuál fue la entrada original.w1,S1##wn,SnwiSiMwinMwi

Ahora ejecuta el siguiente ciclo

  1. Al final, la cinta escribe la siguiente cadena desde , junto con la configuración inicial de , es decir, escribe .wΣSM#w,S
  2. Simule cada copia de la en la cinta para un paso. (Presumiblemente use otra cinta).M
  3. Si alguna de las entra en un estado de aceptación, coloque la cadena correspondiente en la cinta de salida. Elimine esta instancia de de la cinta.MM
  4. Si alguna de las s entra en un estado de rechazo, elimine esa instancia de de la cinta.MM
  5. Ir al paso 1.

No es difícil argumentar que todas las cadenas aceptadas por eventualmente saldrán en la cinta.wΣM


44
también conocido como "cola de paloma".
Kaveh
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.