He estado tratando de averiguar si el problema de detención es decidible para autómatas celulares unidimensionales de 3 símbolos.
Definición Sea la configuración del sistema en el paso de tiempo . Más formalmente , donde es el alfabeto.i f : A ∗ × N → A ∗ A
Definición. Un autómata celular se ha detenido en la configuración , si tenemos que .∀ k ∈ N f ( w , i ) = f ( w , i + k )
El problema de detención para un autómata celular dado es el siguiente:
Entrada: una palabra finita Pregunta: se detuvo el autómata en un estado ?s
Los autómatas celulares elementales (con 2 símbolos) se definen aquí . Estoy enfocado en el mismo tipo de autómatas celulares, excepto que estoy interesado en el caso de CA con 3 símbolos en lugar de solo 2 símbolos.
De ahora en adelante, denotaré mis reglas en forma de , lo que significa que 3 símbolos vecinos producen otro debajo de ellos.
El problema de detención es decidible para autómatas celulares elementales de 2 símbolos.
Usaré para denotar un glóbulo blanco y para denotar uno negro.1
Si tenemos las reglas , , , sabemos que el autómata no se detendrá. Porque con la primera regla, dado que nuestra cuadrícula es infinita, siempre tendremos 3 celdas blancas que generarán una celda negra. Con la segunda y tercera reglas, la palabra se expandirá hacia los lados y el autómata nunca se detendrá.001 → 1 100 → 1
En el resto de los casos, podemos dejar que evolucione durante pasos y ver si se detiene. Si se detiene, entonces está bien, se detiene, si no lo hace, está repitiendo algunas combinaciones y está atrapado en un bucle, por lo que también podemos concluir que no se detendrá.
Lo que he descubierto para el caso de 3 símbolos
Es obvio que no se detendrá si tenemos las reglas o . Pero las reglas laterales de la forma y son más difíciles de analizar, porque ¿qué si tenemos las reglas y ?000 → 2 00 x → y x 00 → y 002 → 1 001 → 0
Esto es lo que se me ocurrió:
Consideremos todas las combinaciones de tales reglas:
- 002 → 0 y
- 002 → 1 y
- 002 → 2 y
- 002 → 0 y
- 002 → 1 y
- 002 → 2 y
- 002 → 0 y
- 002 → 1 y
- 002 → 2 y
No escribí los casos para las reglas de la forma , porque son simétricas.
Entonces, en el primer caso, es obvio que la palabra de entrada no se expandirá a los lados, porque esas reglas de símbolos laterales producen ceros.
En los casos 5, 6, 8, 9 es obvio que el autómata nunca se detendrá, porque la palabra de entrada se expandirá.
Los casos 2,3,4,7 son más interesantes. Primero, tengamos en cuenta que el caso 2 es similar al caso 7 y el caso 3 es similar al caso 4. Entonces, consideremos los casos 2 y 3 por concisión.
Primero consideraré el caso 3, porque es más fácil.
Tenemos y . Es obvio que si el primer o el último símbolo de nuestra palabra de entrada es , entonces podemos concluir que el autómata no se detendrá. Pero si son '1', entonces tenemos que ver más cosas, en particular, echemos un vistazo a las reglas que pueden convertir el último o el primer símbolo en , porque si tenemos esos, luego de que produzcan ese , nosotros puede concluir que el autómata no se detendrá. (la palabra se expandirá a los lados).002 → 2 2 2 2
Aquí están todas las combinaciones que debemos considerar:
010 011 012
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
........... etc
Una explicación de lo que sucede si tenemos el primer triple de la tabla anterior
Tenemos una palabra , escrita en la cuadrícula. El primer y el último símbolo son . Digamos que tenemos las reglas , , (el primer triple) de arriba. Entonces sabemos que con cada próximo paso nuestra palabra de entrada se reducirá en 2 símbolos, porque estas reglas borran el primer y el último símbolo, pero si en algún momento obtenemos un , entonces la regla hará que la palabra crecer a un lado u otro (o ambos) y el autómata nunca se detendrá. Entonces, en general, en este caso podemos dejar que el autómata haga pasos, y si la palabra se vacía, entonces el autómata se detiene, si no, entonces no lo hace.1 010 → 0 011 → 0 012 → 0 2 002 → 2 | w | / 2
Caso generalizado 3
Lo generalicé y noté que simplemente podemos dejar que el autómata haga pasos y si en cualquiera de esos pasos tenemos un como primer o último símbolo, entonces el autómata no se detendrá. Si eso no sucede y el autómata aún no se detiene, entonces está repitiendo alguna configuración, por lo que está bloqueado en un bucle y no se detendrá. Si se detiene, entonces se detiene. 2
Donde me quedo atascado
Ahora consideremos el caso 2.
Tenemos las reglas y .002 → 1
Y aquí es donde me quedé atrapado y no sé qué hacer.
También escribí una tabla de reglas que comienza con . Los escribí porque parecían ser lo primero que debería analizar, porque incluso si tenemos la palabra de entrada con el primer o último símbolo (o ambos) como , en el siguiente paso, esos se convertirán en . Y tendremos que tratar con reglas de la forma .2 2 ′ s 1 01 x → y
Aquí está la tabla:
010 011 012
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
0 1 2
0 2 0
0 2 1
0 2 2
1 0 0
1 0 1
1 0 2
1 1 0
1 1 1
1 1 2
1 2 0
1 2 1
1 2 2
2 0 0
2 0 1
2 0 2
2 1 0
2 1 1
2 1 2
2 2 0
2 2 1
2 2 2
También es obvio que si entre nuestras 27 reglas, tenemos un triple de esta tabla en la que ninguna regla deriva un , entonces no tenemos nada de qué preocuparnos y simplemente podemos dejar que el autómata evolucione por pasos, porque ganó Realmente no se expande, ya que las reglas secundarias no producirán un .3 n 2
Pero mirando los triples que tienen un , en realidad es muy difícil de analizar, y si la palabra se expandirá o no también parece depender de la palabra de entrada.
¿Pueden decirme cómo resolver esto? Parece que no puedo entender esto.
O, si este autómata celular de 3 símbolos se parece a algo para lo que se ha demostrado que el problema de detención es indecidible, ¿cómo puedo reducir ese algo a autómatas celulares de 3 símbolos?