Bu sadece Marvin L. Minsky, "Post'un Etiket Sorununun ve Turing Teorisi Teorisindeki diğer Konuların Özyineli Çözülemezliği" ni okurken aklıma gelen bir fikirdi; özellikle ünlü teorem Ia:
Teorem Ia: Formların I j
talimatlarını kullanarak S 1 ve S 2
iki tamsayı üzerinde çalışan bir program tarafından herhangi bir kısmi özyinelemeli işlev temsil edebiliriz :
(i) 1 ila S j EKLEME ve I j 1'e gitme
( ii) S j'den SUBTRACT 1 , S j ≠ 0 ise ve I j 1'e giderseniz, aksi takdirde I j 2'ye gidin
Yani, S 1 ile başlayan böyle bir program oluşturabilirizf(n)S1S2Ij
SjIj1
SjSj≠0Ij1Ij2
ve S 2 = 0'a gidinS1=2nS2=0 ve sonunda ve S 2 = 0 ile dururS1=2f(n)S2=0
Girişin tekli olarak verildiği (yarı) bir sonsuz bant üzerinde bir sayaçlı iki yönlü bir DFA'nız varsa: sonra DFA şunları yapabilir:$12n000...
- tekli girişi okuyun (ve sayaçta saklayın);
- bandın kısmı üzerinde çalışın ve 1 saniye ile 1 arasındaki mesafeyi ikinci sayaç olarak kullanın.0∞1
Böylece bir Turing tam iki sayaç makinesini simüle edebilir.
Şimdi, standart bir Turing makinesinde T ( n ) zamanında çalışan bir yinelenen işlev varsa , sonlu bantta başlayan bir sayaçlı iki yönlü bir DFAf(n)T(n) $1m$(burada ve T ′ ( n ) ≫ T ( n ) ) şunları yapabilir:m=2n3T′(n)T′(n)≫T(n)
- tekli girişi okuyun (ve sayaçta saklayın);
- en soldaki sembole dönüş;
- sayaç bu şekilde içerene kadar sayacı 3'e bölün : q z 0 , q z 1 , q z 2 durumlarından sağa dönüp 1 çıkarma; Sayaç durumu 0 ulaşırsa q z 0 soldaki sembolü + 1 ve bölme döngü devam ekleyerek gitmek, aksi eklemek 1 (eğer durum içinde k z 1 ) veya 2'de (durum eğer q z2nqz0,qz1,qz2qz0qz1qz2 ve + 3 (yani 3 ile bölünemeyen sayacın önceki değerini geri kazan) ve 4. adıma geçin;
- bu noktada sayaç 2 n içerir2n ;
- hesaplamak 2f(n) using the T′(n) space available on the right as the second counter (the value of the second counter is the distance from the leftmost symbol $).
So with the special input encoding described above that gives it enough space on the finite tape, a two-way DFA with one counter and unary alphabet can compute every recursive function.
Yaklaşım doğruysa, nasıl seçileceği konusunda ilginç olabilir.T′(n)≫T(n)k≫2 and encode the input as 1m, m=2nkn