110 Turing kuralı nasıl tamamlanır?


19

Hücresel otomatlarda kural 110 için wikipedia sayfasını okudum ve az ya da çok nasıl çalıştıklarını biliyorum (bir dizi kural sonraki 1 veya 0 nerede çizileceğine karar verir).

Sadece Turing tamamlandıklarını okudum, ama 'kural 110'da nasıl' programlayacağınızı bile anlayamıyorum?


Kural 101 değil, kural 110'dur. Kanıt, wikipedia sayfasında ana hatlarıyla belirtilmiştir, ancak metnin kanıtla nasıl bağlantı kurduğu tamamen açıktır.

@ WolfgangBangerth bunun için teşekkürler, düzelttim. Programın kanıtı / yolu oradaysa, onu tespit etmem için yeterince açık değil, üzgünüm.
Pureferret

1
Basit bir programı bir şekilde bu otomata dönüştürmek için bir komut dosyası varsa ve ardından yürütmek için bir "simülatör" varsa, aynı soru bana da oldu.

2
mükemmel soru. ayrıntılar karmaşıktır ve bilimsel makalelerde yer almaktadır. Bkz. tcs.SE, bir çizim için kural 110 için başlangıç ​​koşulları ve bazı referanslar. temel olarak, bir TM'yi bir "etiket sistemine" dönüştürmenin veya derlemenin (TM tam olduğu bilinir) ve daha sonra bir "etiket sistemini" kural 110'a derlemenin bir yolu vardır. gerçek uygulamalar ppl ile deney yapmalı (ve kesinlikle yeni içgörü / keşiflere yol açmalı) ama maalesef hiçbiri yok gibi görünüyor veya yazarlar kodlarını yayınlamıyor.
vzn

1
yakından ilişkili 2d hücresel otomata vardır ve 1d vaka bazı sezgiler için çalışılabilir. Conway'in "yaşam oyunu" nun Turing'in tamamlandığına dair kanıtlarından dolayı 70'li yıllardan beri biliniyor. modern / grafik versiyonu için bakınız Game of Life'daki Paul Rendell TM simülatörü .
vzn

Yanıtlar:


11

Evrensellik biraz resmi olmayan bir kavramdır. Kabaca ne anlama geldiği, her hesaplanabilir fonksiyon için modelde bir "program" P olması, böylece herhangi bir x girişinde " P " çalışması " her zaman" durur "ve doğru cevabı" çıkışlar ". (Turing makinelerinin burada görünmediğini unutmayın: bunlar evrensel bir hesaplama modeline sadece bir örnektir.)fPPx

Alıntılanan kelimeler tanımlanması gereken kelimelerdir. Turing makineleri için:

  • Bir program durum listesi, teyp alfabesi, başlangıç ​​durumu, son durumlar ve geçişler olarak belirtilir.
  • X girişinde bir Turing makinesi çalıştırmak , bandı x kodlamasıyla başlattığımız ve makine T'yi normal kurallara göre bu bant üzerinde çalıştırdığımız anlamına gelir .T xxT
  • Bir Turing makinesi son durumuna ulaşırsa durur . (Burada bazı varyantlar var.)
  • Turing makinesinin çıktısı (durursa), bandın içeriğidir.

Kural 110, bir hesaplama modeli olarak, resmi olarak aynı şekilde tanımlanmalıdır. Bir hesaplama, hesaplama modelini bilgisayarlı bir şekilde taklit edebiliyorsa, aşağıdaki anlamda mantıklıdır: her bir P programı ve giriş x (her ikisi de doğal sayılar olarak kodlanmıştır), S ( P , x ) iff P'yi durduracak şekilde hesaplanabilir bir fonksiyon vardır. x üzerinde durur ve eğer S ( p , x ) durursa, çıkışı x üzerindeki P çıkışı ile aynıdır .SPxS(P,x)PxS(p,x)Px

Kural 110'un bir bilgi işlem sistemi olarak belirli bir kurulumunu merak ediyorsanız, Matthew Cook'un Kural 110'un evrenselliğini kanıtlayan makalesine (veya daha doğrusu Kural 110 etrafında inşa edilmiş bir bilgi işlem sisteminin) göz atmanızı öneririm .

Kural 30 ve Kural 90 gibi diğer kurallara gelince, bunların evrensel olmadıklarını bilmiyoruz. Etrafında evrensel olan ikna edici bilgi işlem sistemleri olabilir, ancak bunların hiçbirinin farkında değiliz.


3
Hepsi doğru, ama kural 110'un bir durdurma yolu yok .. Sadece şeyleri hesaplayabilir, ama durduramaz.
Pavel

@Pavel Turing-Complete olmak için durmanıza gerek yok
MilkyWay90

8

Matthew'in kanıtından:

Burada alınan yaklaşım yeni bir hücresel otomat tasarlamak değil, doğal olarak karmaşık davranış sergileyen en basit olanı almak ve bu karmaşık davranış içinde istediğimizi yapmanın bir yolunu bulabilecek miyiz. Yukarıda verilen arama tablosuyla doğrudan kendimizi ilgilendirmeyeceğiz, ancak bunun yerine, zaman içinde otomatın etkisi ile doğal olarak sergilenen davranışa bakacağız.

Yazar ilk olarak, her adımda 2 sembol kaldıran bir "etiket sisteminin" 2 durumlu bir turing makinesi programı derleyerek evrensel olduğunu kanıtlayarak başlar. Bundan sonra, bir planör sisteminin gerçekten bir etiket sistemi uygulayabildiğini kanıtlıyor. Bu adım adım bir süreçtir. Ardından, planörleri bulmak ve planör sistemine doğru bir şekilde bağlamak için CA-110'un uzay zamanını inceler.

Şimdi sorunuz için: 'kural 110'da nasıl' programlayabilirsiniz '?

  1. En basit 2 durumlu turing makinesini arayın ve temel işlemlerin VEYA, VEYA, XOR, DEĞİL bantlarını bulun .

  2. Bunları etiket sistemine derleyin.

  3. Etiket sisteminin uygulamasını planör uygulamasına derleyin.

  4. CA-110 planörlerine doğru şekilde uyarlayın ve hücresel otomatlarda temel işlemlere sahipsiniz.

1+1=2

Bir kenara not. Planörler çok özel yapılardır. Operasyonlar, bu planörlerin nasıl başladığı veya çarpıştığına bağlı olarak farklı çıktılar üreten hareketli ve çarpışan parçacıklar (planörler) olarak görülecektir.


Yani iki planör a + 'kodlayabilir' ve çarpıştıklarında 2?
Pureferret

3
daha kesin olarak, birden fazla planör çifti, bir çift planörün bir OR, AND, XOR veya NOT kodlayamadığı varsayılarak bir '+' kodlayacaktır. Ayrıca sayıların muhtemelen bir bit dizisi olarak temsil edileceğini ve toplamın her bit çiftindeki mantık kapıları kullanılarak gerçekleştirileceğini düşünün.
labotsirc

3
uyarı, çeşitli nedenlerden ötürü CS topluluğunda 110 TM bütünlük kanıtı kuralı konusunda bazı tartışmalar vardır. görünüşe göre CA'daki giriş koşulu sonsuz periyodik (ancak tekrarlayan) paternler gerektirmektedir.
vzn

1
tartışmaya vzn katılıyorum. Şahsen, teorik çözümü resmi yollarla reddetmek veya CA-110'u bir turing makinesi olarak çalışan bir süper set olarak kabul etmek için ne düşüneceğimi bilmiyorum (CA'nın dinamik sistemler olarak çalışan ve paralel çalışmanın zirvesi, devam eden sentetik bir evreni temsil edip etmediklerini merak etmemi sağlıyor).
labotsirc

Gerçek alanı ve zaman kısıtlamalarını göz ardı etme hayranı değilim. Wikipedia , hücresel otomasyon Kural 110'un P-bütünlüğünden bahsediyor ve Neary ve Woods'un 2 etiketli sistemleri kullanmaktan kaçınarak üstel bir zaman yükünden kaçındığını açıklıyor. Bununla birlikte, Neary ve Woods aynı yıl (2006) daha sonra 2 etiketli sistemlerin bile Turing makinelerini simüle etmek için üstel bir zamana sahip olmadığını gösterdi .
Thomas Klimpel
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.