3 sembol bir boyutlu hücresel otomata için durma problemi karar verilebilir mi?


10

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 × NA , burada A alfabedir.f(w,i)if:A×NAA

Tanım. konfigürasyonunda bir hücresel otomat durdu , eğer k N ise f ( w , i ) = f ( w , i + k ) değerine sahipsek .f(w,i)kNf(w,i)=f(w,i+k)

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 ?w
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.01

, 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.000100111001

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.2n

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 ?0001000200xyx00y00210010

İşte ben geldim:

bu tür kuralların tüm kombinasyonlarını ele alalım:

  1. 0010 ve0020
  2. 0010 ve0021
  3. 0010 ve0022
  4. 0011 ve0020
  5. 0011 ve0021
  6. 0011 ve0022
  7. 0012 ve0020
  8. 0012 and 0021
  9. 0012 and 0022

I didn't write the cases for the rules of the form x00y, 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 0010 and 0022. It is obvious that if the first or last symbol of our input word is 2, 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 2, because if we have those, then after they do produce that 2, 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 w, written on the grid. The first and last symbols are 1. Let's say we have rules 0100, 0110, 0120 (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 2, then the rule 0022 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 |w|/2 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 3n steps and if at any one of those steps we have a 2 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 0010 and 0021.

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 1. 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 2, at the next step those 2s will turn into a 1. And we will have to deal with rules of the form 01xy.

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 2, then we have nothing to worry about and can simply let the automaton evolve for 3n steps, because it won't really expand, since the side rules will not produce a 2.

But looking at the triples that do have a 2, 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?


2
Comments are not for extended discussion; this conversation has been moved to chat. If anything comes out of this discussion, please edit the question to incorporate the new information or clarifications. Don't add “EDIT:” marks, make sure that a newcomer can understand the question without having to dig through the history.
Gilles 'SO- stop being evil'

Yanıtlar:


1

I have found this article: http://www.dna.caltech.edu/~woods/download/NearyWoodsMCU07.pdf and will show how to prove that the halting problem is undecidable for 15-symbol cellular automata.

Let's look at typical instructions of a Turing machine, we have:

1) q,xp,y,L

2) q,xp,y,R

The first one says that if the automaton sees symbol x in state q, then we replace x by y, switch to state p and move left, the second one says the same thing, but it moves right.

Let's assume that the TM alphabet is A, the set of rules is R and the set of states is Q. Now, let's create a new alphabet for our cellular automaton, it will be the following: Σ=AQ{q|qrR,r=p,xq,y,L}. In other words, in the new alphabet we will include the alphabet of the TM, the state alphabet of the TM and for every state q, such that there's a rule p,xq,y,L we will include q.

The automaton will model the TM, in the following way: at each step of CA's operation we will have one symbol from the TM's state alphabet on CA's tape, and that symbol will point to the symbol that TM's head would be pointing to, in the following way: a symbol that is to the right of the state symbol is the symbol that the TM's head points to. As an example consider the string s=...xabqzyk..., let's say, that qQ, then the TM is in state q, and the head points at symbol z.

Let's see how we can simulate the operations of the TM. Let's consider the second one first:

2) q,zp,y,R

So, basically, if we have a string s=...xabqzyk..., it should be converted into ...xabypyk.... Which can be very easily achieved by adding the following rules to the automaton:

qzαp,αΣ

αqzy,αΣ

The first case is a little more complicated, we have:

1) q,zp,y,L

So the string s=...xabqzyk... should be converted into ...xapbyyk..., but there's not a way to do abqp because we perform a TM operation by looking at state and symbol, but abq doesn't tell us about the symbol, only state, so we will perform this left move in 2 steps:

first step:

qzαy,αΣ

αqzp,αΣ

second step:

αβpp,α,βΣ

αpββ,α,βΣ

As for all the other CA rules, for which there's isn't a rule in TM, we will write the following:

αβγβ,α,β,γΣ

Now that I explained the way to model the work of TM on a CA, let's see why we need 15 symbols. In the paper, the link to which I gave above we have a universal TM U6,4 with 6 states and 4 symbols:

enter image description here

So, we need all the alphabet symbols, which is 4, plus all the state symbols which is 6 and all the state symbols q such that there's a rule p,xq,y,L, which are u1,u3,u4,u5,u6, so, we need 15 symbols in total.

So, now there's a gap between 2 and 15 symbols (exclusive), that we don't know about.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.