¿Cómo puede una máquina de Turing universal simular las "más grandes"?


10

Estoy tratando de encontrar las respuestas de dos preguntas sobre la máquina Universal Turing.

  1. ¿Cómo puede la máquina Universal Turing simular una máquina Turing si la que se está simulando tiene un mayor número de estados?
  2. ¿Cómo puede la máquina de Turing universal simular una máquina de Turing si la que se está simulando tiene una mayor cantidad de caracteres alfabéticos?

¿Alguien puede ayudarme con estas preguntas?


1
Otro punto de vista interesante es que el UTM se puede construir con un número constante de estados. simula otras TM con # arbitrario de estados o símbolos codificados en la cinta.
vzn

una pregunta relacionada es cómo puede un TM simular un ATM (TM alternativo), que es más o menos por el mismo método que codifica adaf extra en cinta más una reducción de estados en clases
Nikos M.

Respuestas:


10

La respuesta a ambas preguntas es la misma: usando la cinta para almacenar los datos necesarios. Podemos suponer que el conjunto de estados y el alfabeto de la máquina a simular son subconjuntos de los números naturales ("Estado 1", "Estado 2", "Estado 3", etc.). Incluso con solo dos caracteres no en blanco, la máquina universal puede representar todos esos enteros como cadenas binarias.

Sin embargo, tenga en cuenta que la máquina universal tiene un número fijo de estados, lo que hace que calcular la función de transición sea un poco complicado. Lo que nos gustaría hacer es escribir algunas instrucciones que implementen una declaración de cambio grande de la forma: "Si el estado es  el carácter debajo de la cabeza es  x , entonces muévase al estado  s ' , escriba el carácter  x ' y mueva el cabeza en dirección  d ". Entonces, y creo que esta puede ser la raíz de su pregunta, ¿cómo calculamos la función de transición si ni siquiera tenemos suficientes estados en la máquina universal para almacenar la entrada de la función de transición?sxsxd

Una forma es almacenar la función de transición como un árbol binario. Supongamos que toda la máquina simulada tiene  estados q y 2  símbolos de cinta . Almacene la función de transición como un árbol binario de profundidad q + donde, en los primeros q  niveles, vaya hacia la izquierda o hacia la derecha según si el siguiente bit del estado simulado es uno o cero y los siguientes  niveles son los mismos pero para los bits sucesivos del carácter de cinta simulada. Ahora, su máquina universal puede caminar hacia adelante y hacia atrás en su cinta, verificando el siguiente bit del estado / carácter, recordando ese bit en sus propios estados, volviendo al árbol, colocando un marcador en el nodo correcto, y así sucesivamente.2q2q+q

Esto se vuelve un poco más fácil si deja que su máquina universal tenga varias cintas, pero aún así tiene que demostrar que su máquina de cintas múltiples es equivalente a una sola máquina de cinta.

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.