¿Cómo se completa la regla 110 Turing?

19

He leído la página de Wikipedia para la regla 110 en autómatas celulares, y sé más o menos cómo funcionan (un conjunto de reglas decide dónde dibujar el siguiente 1 o 0).

Acabo de leer que están Turing completo, pero ni siquiera puedo entender cómo 'programarías' en la 'regla 110'.

Pureferret
fuente
En realidad, es la regla 110, no la regla 101. La prueba se describe en la página de Wikipedia, aunque es muy evidente cómo el texto hace la conexión a la prueba.
@WolfgangBangerth gracias por eso, lo arreglé. Si la prueba / forma de programar está allí, no es lo suficientemente obvio para mí detectarlo, lo siento.
Pureferret
1
También se me ocurrió la misma pregunta, si hay un script para convertir un programa simple en este autómata de alguna manera, y luego algún "simulador" para ejecutarlo.
2
Excelente pregunta. Los detalles son complejos y están contenidos en artículos científicos. ver tcs.SE, condiciones iniciales para la regla 110 para un boceto y algunas referencias. Básicamente, hay una manera de convertir o compilar un TM a un "sistema de etiquetas" (que se sabe que es TM completo) y luego compilar un "sistema de etiquetas" en la regla 110. Sería "genial" si se han creado implementaciones reales para ppl para experimentar (y seguramente conducirá a nuevos conocimientos / descubrimientos) pero desafortunadamente, ninguno parece existir o los autores no publican su código.
vzn
1
estrechamente relacionados están los autómatas celulares 2d y pueden estudiarse para algunas intuiciones en el caso 1d. se conoce desde los años 70 más o menos debido a la prueba de Conway de que "el juego de la vida" es Turing completo. vea, por ejemplo, el simulador Paul Rendell TM en Game of Life para una versión moderna / gráfica.
vzn

Respuestas:

11

La universalidad es una noción algo informal. Lo que significa más o menos es que para cada función computable hay un "programa" P en el modelo, de modo que "ejecutar" P en cualquier entrada x siempre se "detiene" y "emite" la respuesta correcta. (Tenga en cuenta que las máquinas de Turing no aparecen aquí: son solo un ejemplo de un modelo de cálculo universal).fPPx

Las palabras citadas son aquellas que necesitan ser definidas. Para máquinas de Turing:

  • Un programa se especifica como una lista de estados, un alfabeto de cinta, un estado inicial, estados finales y transiciones.
  • Ejecutar una máquina Turing en una entrada x significa que inicializamos la cinta con una codificación de x y ejecutamos la máquina T en esta cinta de acuerdo con las reglas habituales.T xxT
  • Una máquina de Turing se detiene si alcanza un estado final. (Hay algunas variantes aquí).
  • Lo que produce la máquina Turing (si se detiene) es el contenido de la cinta.

La regla 110, como modelo de cálculo, debe definirse formalmente de la misma manera. Una definición es razonable si uno puede simular computacionalmente el modelo de cómputo, en el siguiente sentido: hay una función computable tal que para cada programa P y entrada x (ambos codificados como números naturales), S ( P , x ) se detiene si P se detiene en x , y si S ( p , x ) se detiene, entonces su salida es idéntica a la salida de P en x .SPxS(P,x)PxS(p,x)Px

Si tiene curiosidad sobre la configuración particular de la Regla 110 como sistema informático, le sugiero que eche un vistazo al artículo de Matthew Cook que demuestra la universalidad de la Regla 110 (o más bien, de un sistema informático construido alrededor de la Regla 110).

En cuanto a otras reglas, como la Regla 30 y la Regla 90, no sabemos que no son universales. Puede haber sistemas informáticos convincentes construidos alrededor de ellos, lo cual es universal, pero simplemente no tenemos conocimiento de ninguno.

Yuval Filmus
fuente
3
Todo es cierto, pero la regla 110 no tiene una forma de detenerse. Solo puede calcular cosas, pero no detenerlas.
Pavel
@Pavel No es necesario detenerse para completar Turing
MilkyWay90
8

De la prueba de Matthew:

El enfoque que se adopta aquí no es diseñar un nuevo autómata celular, sino tomar el más simple que naturalmente exhibe un comportamiento complejo, y ver si podemos encontrar dentro de ese comportamiento complejo una forma de hacer que haga lo que queremos. No nos ocuparemos directamente de la tabla de búsqueda dada anteriormente, sino que analizaremos el comportamiento que la acción del autómata exhibe naturalmente con el tiempo.

El autor comienza probando que un "sistema de etiquetas" que elimina 2 símbolos en cada paso es universal compilando un programa de máquina de 2 estados. Después de eso, demuestra que un sistema de planeador puede implementar un sistema de etiquetas. Es un proceso paso a paso. Luego, estudia el espacio-tiempo de CA-110 para encontrar los planeadores y asociarlos al sistema de planeador correctamente.

Ahora, para su pregunta: ¿cómo 'programaría' en 'la regla 110'?

  1. Busque la máquina de turing de 2 estados más simple y encuentre las cintas de las operaciones básicas OR, AND, XOR, NOT .

  2. Compilarlos en el sistema de etiquetas.

  3. Compile la implementación del sistema de etiquetas en la implementación del planeador.

  4. Adáptelo correctamente a los planeadores CA-110 y tendrá las operaciones básicas en un autómata celular.

1+1=2

Una nota a un lado. Los planeadores son estructuras muy especiales. Las operaciones se verán como partículas que se mueven y colisionan (los planeadores), generando una salida diferente dependiendo de cómo estos planeadores comienzan o chocan.

labotsirc
fuente
¿Entonces dos planeadores podrían 'codificar' a + y cuando colisionan obtengo 2?
Pureferret
3
más precisamente, múltiples pares de planeadores codificarían un '+' suponiendo que un par de planeadores pueda codificar un OR, AND, XOR o NOT. También considere que los números probablemente se representarán como una secuencia de bits y que la suma se realizará utilizando puertas lógicas en cada par de bits.
labotsirc
3
advertencia, existe cierta controversia sobre la prueba de integridad de la regla 110 TM en la comunidad de CS por diversas razones. uno aparentemente es que la condición de entrada en la CA requiere patrones infinitamente periódicos (pero repetitivos).
vzn
1
Estoy de acuerdo con usted en la controversia. Personalmente, no sé qué pensar en términos de rechazar la solución teórica por medios formales o aceptar CA-110 como un superconjunto que funciona como una máquina de Turing (el hecho de que CA son espacios de cómputo que funcionan como sistemas dinámicos y en La parte superior de ese trabajo en paralelo me hace preguntarme si representan un universo sintético en progreso).
labotsirc
No soy fanático de ignorar las limitaciones reales de espacio y tiempo. Wikipedia cita la P-completitud de la regla 110 del autómata celular y explica que Neary y Woods evitaron una sobrecarga de tiempo exponencial al evitar el uso de sistemas de 2 etiquetas. Sin embargo, Neary y Woods más tarde en el mismo año (2006) mostraron que incluso los sistemas de 2 etiquetas no tienen una sobrecarga de tiempo exponencial para simular máquinas Turing.
Thomas Klimpel