Eu tenho tentado descobrir se o problema de parada é decidível para autômatos celulares unidimensionais de três símbolos.
Definição Deixe denotar a configuração do sistema no momento da etapa . Mais formalmente , onde é o alfabeto.i f : A ∗ × N → A ∗ A
Definição. Um autômato celular parou na configuração , se tivermos que .∀ k ∈ N f ( w , i ) = f ( w , i + k )
O problema de parada para um determinado autômato celular é o seguinte:
Entrada: uma palavra finita Pergunta: o autômato irá parar em alguns estados ?
Autômatos celulares elementares (com 2 símbolos) são definidos aqui . Estou focado no mesmo tipo de autômato celular, exceto que estou interessado no caso de CAs com 3 símbolos em vez de apenas 2 símbolos.
A partir de agora, denotarei minhas regras na forma de , significando que três símbolos vizinhos produzem outro abaixo deles.
O problema da parada é decidível para autômatos celulares elementares de 2 símbolos
Usarei para denotar uma célula branca e para denotar uma célula preta.1
Se tivermos as regras , , , sabemos que o autômato não será interrompido. Porque com a primeira regra, como nossa grade é infinita, sempre teremos 3 glóbulos brancos que gerarão uma célula preta. Com a segunda e a terceira regra, a palavra será expandida para os lados e o autômato nunca será interrompido.001 → 1 100 → 1
No restante dos casos, podemos deixá-lo evoluir por etapas e ver se ele pára. Se parar, tudo bem, ele pára, se não parar, está repetindo algumas combinações e fica preso em um loop, para que possamos concluir também que não irá parar.
O que eu descobri para o estojo de 3 símbolos
É óbvio que isso não será interrompido se tivermos as regras ou . Mas as regras laterais da forma e são mais difíceis de analisar, porque o que se temos regras e ?000 → 2 00 x → y x 00 → y 002 → 1 001 → 0
Aqui está o que eu vim com:
vamos considerar todas as combinações de tais regras:
- 002 → 0 e
- 002 → 1 e
- 002 → 2 e
- 002 → 0 e
- 002 → 1 e
- 002 → 2 e
- 002 → 0 e
- e
- e
Não escrevi os casos para as regras do formato , porque são simétricas.
Portanto, no primeiro caso, é óbvio que a palavra de entrada não será expandida para os lados, porque essas regras de símbolos laterais produzem zeros.
Nos casos 5, 6, 8, 9, é óbvio que o autômato nunca irá parar, porque a palavra de entrada estará se expandindo.
Os casos 2,3,4,7 são mais interessantes. Primeiro, vamos observar que o caso 2 é semelhante ao caso 7 e o caso 3 é semelhante ao caso 4. Portanto, vamos considerar os casos 2 e 3 por questões de concisão.
Vou considerar o caso 3 primeiro, porque é mais fácil.
Temos e . É óbvio que, se o primeiro ou o último símbolo de nossa palavra de entrada for , podemos concluir que o autômato não será interrompido. Mas se eles são '1', então temos que examinar mais coisas, em particular, vamos ver regras que podem transformar o último ou o primeiro símbolo em , porque se os tivermos, depois que eles produzirem esse , podemos concluir que o autômato não irá parar. (a palavra será expandida para os lados).
Aqui estão todas as combinações que precisamos considerar:
010 011 012
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
........... etc
Uma explicação do que acontece se tivermos o primeiro triplo da tabela acima
Temos uma palavra , escrita na grade. O primeiro e o último símbolo são . Digamos que temos as regras , , (a primeira tripla) acima. Então, sabemos que, a cada passo seguinte, nossa palavra de entrada ficará menor em 2 símbolos, porque essas regras apagam o primeiro e o último símbolos, mas se em algum momento obtivermos , a regra fará com que a palavra crescer para um lado ou para o outro (ou ambos) e o autômato nunca irá parar. Portanto, nesse caso, podemos deixar que o autômato faça etapas, e se a palavra ficar vazia, o autômato pára, se não, então não.
Caso generalizado 3
Eu o generalizei e notei que podemos simplesmente deixar o autômato executar etapas e se em qualquer uma dessas etapas tivermos como primeiro ou último símbolo, o autômato não parará. Se isso não acontecer e o autômato ainda não parar, está repetindo algumas configurações, por isso fica preso em um loop e não pára. Se parar, então pára.
Onde eu fico preso
Agora vamos considerar o caso 2.
Temos as regras e .
E aqui é onde eu fiquei preso e não sei o que fazer.
Também escrevi uma tabela de regras que começa com . Escrevi isso porque parecia ser a primeira coisa que eu deveria analisar, porque mesmo se tivermos a palavra de entrada com o primeiro ou o último (ou ambos) símbolo como , na próxima etapa esses se transformarão em . E teremos que lidar com regras no formato .
Aqui está a tabela:
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
Também é óbvio que, se dentre nossas 27 regras, tivermos um triplo dessa tabela em que nenhuma regra deriva a , não teremos nada com que nos preocupar e podemos simplesmente deixar o autômato evoluir por etapas, porque ganhou realmente expandir, uma vez que as regras paralelas não produzirão um .
Mas olhando para os triplos que têm um , é realmente muito difícil de analisar e se a palavra se expandirá ou não também parece depender da palavra de entrada.
Vocês podem me dizer como resolver isso? Parece que não consigo entender isso.
Ou, se esse autômato celular de três símbolos se parece com algo pelo qual o problema de parada foi indecidível, como posso reduzir esse valor para três autômatos celulares?