Durma probleminin 3 sembollü tek boyutlu hücresel otomata için karar verilip verilmediğini anlamaya çalışıyorum.
Tanım Let zaman adımında sisteminin konfigürasyonunu belirtmek i . Daha resmi olarak f : A ∗ × N → A ∗ , burada A alfabedir.
Tanım. konfigürasyonunda bir hücresel otomat durdu , eğer ∀ k ∈ N ise f ( w , i ) = f ( w , i + k ) değerine sahipsek .
Belirli bir hücresel otomat için durma problemi aşağıdaki gibidir:
Girdi: Bir sonlu kelime Soru: will bazı devlet içinde otomat durdurulması s ?
Temel hücresel otomatlar (2 sembollü) burada tanımlanmıştır . Ben sadece 2 sembol yerine 3 sembol ile CA'lar ilgileniyorum hariç, aynı tür selüllar otomata odaklanmış.
Bundan sonra, kurallarımı şeklinde göstereceğim , yani 3 komşu sembolün altında başka bir sembol ürettiği anlamına gelecektir.
Durdurma problemi, temel, 2 sembollü hücresel otomata için belirlenebilir
Beyaz bir hücreyi belirtmek için , siyah bir hücreyi belirtmek için 1 kullanacağım.
, 001 → 1 , 100 → 1 kurallarımız varsa , otomasyonun durmayacağını biliyoruz. Çünkü ilk kuralla, ızgaramız sonsuz olduğu için, her zaman bir siyah hücre üretecek 3 beyaz hücremiz olacak. İkinci ve 3. kurallarla kelime yanlara doğru genişleyecek ve otomat asla durmayacaktır.
Diğer durumlarda adımda gelişmesine izin verebilir ve durup durmadığını görebiliriz. Durursa, tamam, durur, eğer o zaman bazı kombinasyonları tekrarlar ve bir döngüde sıkışır, böylece durmayacağı sonucuna varabiliriz.
3 sembol davası için ne buldum
veya 000 → 2 kurallarımız varsa durmayacağı açıktır . Ancak ve formunun yan kurallarını analiz etmek daha zordur, çünkü ve kurallarımız varsa ne olur ?
İşte ben geldim:
bu tür kuralların tüm kombinasyonlarını ele alalım:
- ve
- ve
- ve
- ve
- ve
- ve
- ve
- and
- and
I didn't write the cases for the rules of the form , because those are symmetrical.
So, in the first case it's obvious that the input word won't be expanding to the sides, because those side symbol rules produce zeros.
In cases 5, 6, 8, 9 it's obvious that the automaton will never halt, because the input word will be expanding.
Cases 2,3,4,7 are more interesting. First, let's note, that case 2 is similar to case 7 and case 3 is similar to case 4. So, let's just consider cases 2 and 3 for conciseness.
I'm gonna consider case 3 first, because it's easier.
We have and . It is obvious that if the first or last symbol of our input word is , then we can conclude that the automaton won't halt. But if they are '1', then we have to look at more stuff, in particular, let's look at rules that can turn the last or first symbols into , because if we have those, then after they do produce that , we can conclude that the automaton won't halt. (the word will be expanding to the side(s)).
Here are all combinations that we need to consider:
010 011 012
0 0 0
0 0 1
0 0 2
0 1 0
0 1 1
........... etc
An explanation of what happens if we have the first triple from the above table
We have a word , written on the grid. The first and last symbols are . Let's say we have rules , , (the first triple) from above. Then we know that with each next step our input word will be getting smaller by 2 symbols, because these rules erase the first and last symbols, but if at some point we get a , then the rule will make the word grow to one side or the other (or both) and the automaton will never halt. So, all in all, in this case we can let the automaton do steps, and if the word becomes empty, then the automaton halts, if not, then it doesn't.
Generalized case 3
I generalized it and noticed that we can simply let the automaton do steps and if at any one of those steps we have a as first or last symbol, then the automaton won't halt. If that doesn't happen and the automaton still didn't halt, then it's repeating some configuration, so it's stuck in a loop and won't halt. If it halts, then it halts.
Where I get stuck
Now let's consider case 2.
We have rules and .
And here is where I got stuck and don't know what to do.
I also wrote out a table of rules that start with . I wrote those out, because they seemed to be the first thing I should analyze, because even if we have the input word with first or last (or both) symbol as , at the next step those will turn into a . And we will have to deal with rules of the form .
Here's the table:
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
It is also obvious, that if among our 27 rules, we have a triple from this table in which no rule derives a , then we have nothing to worry about and can simply let the automaton evolve for steps, because it won't really expand, since the side rules will not produce a .
But looking at the triples that do have a , it's actually very hard to analyze, and whether the word will expand or not also seems to depend on the input word.
Can you guys tell me how to solve this? I can't seem to wrap my head around this.
Or, if this 3 symbol cellular automaton looks like something for which the halting problem has been proven to be undecidable, how can I reduce that something to 3 symbol cellular automata?