Bagaimana aturan 110 Turing selesai?

19

Saya telah membaca halaman wikipedia untuk aturan 110 dalam automata seluler, dan saya kurang lebih tahu cara kerjanya (seperangkat aturan menentukan di mana menggambar 1 atau 0 berikutnya).

Saya baru saja membaca bahwa Turing sudah lengkap, tetapi saya bahkan tidak bisa mengerti bagaimana Anda 'memprogram' dalam 'aturan 110'?

Pureferret
sumber
Ini sebenarnya aturan 110, bukan aturan 101. Buktinya diuraikan pada halaman wikipedia meskipun perlu diketahui sepenuhnya bagaimana teks membuat koneksi ke bukti.
@ WolfgangBangerth terima kasih untuk itu, saya sudah memperbaikinya. Jika bukti / cara memprogram ada di sana, itu tidak cukup jelas bagi saya untuk menemukannya, maaf.
Pureferret
1
Pertanyaan yang sama terjadi pada saya juga, jika ada skrip untuk mengubah program sederhana menjadi automata ini entah bagaimana, dan kemudian beberapa "simulator" untuk menjalankannya.
2
pertanyaan yang sangat bagus. rinciannya rumit dan terkandung dalam makalah ilmiah. lihat tcs.SE, ketentuan awal untuk aturan 110 untuk sketsa & beberapa referensi. pada dasarnya ada cara untuk mengkonversi atau mengkompilasi TM ke "sistem tag" (dikenal sebagai TM lengkap) dan kemudian kompilasi "sistem tag" menjadi aturan 110. itu akan menjadi "keren" jika implementasi sebenarnya telah dibangun untuk ppl untuk bereksperimen dengan (& pasti mengarah ke wawasan / penemuan baru) tetapi sayangnya, sepertinya tidak ada, atau penulis tidak mempublikasikan kode mereka.
vzn
1
terkait erat adalah automata seluler 2d & mereka dapat dipelajari untuk beberapa intuisi ke dalam kasus 1d. sudah dikenal sejak tahun 70-an atau lebih karena dibuktikan oleh Conway bahwa "permainan kehidupan" sudah lengkap. lihat misalnya simulator Paul Rendell TM di Game of Life untuk versi modern / grafis.
vzn

Jawaban:

11

Universalitas adalah gagasan yang agak informal. Artinya kira-kira adalah bahwa untuk setiap fungsi yang dapat dihitung ada "program" P dalam model sehingga "menjalankan" P pada input apa pun x selalu "berhenti", dan "mengeluarkan" jawaban yang benar. (Perhatikan bahwa mesin Turing tidak membuat tampilan di sini: mereka hanyalah salah satu contoh model komputasi universal.)fPPx

Kata-kata yang dikutip adalah kata-kata yang perlu didefinisikan. Untuk mesin Turing:

  • Suatu program ditentukan sebagai daftar negara, alfabet tape, keadaan awal, keadaan akhir, dan transisi.
  • Menjalankan mesin Turing pada input x berarti kita menginisialisasi rekaman dengan pengkodean x dan menjalankan mesin T pada rekaman ini sesuai dengan aturan yang biasa.T xxT
  • Mesin Turing berhenti jika mencapai kondisi akhir. (Ada beberapa varian di sini.)
  • Apa mesin Turing output (jika menghentikan) adalah isi rekaman itu.

Aturan 110, sebagai model perhitungan, perlu didefinisikan secara formal dengan cara yang sama. Definisi masuk akal jika seseorang dapat mensimulasikan komputasi model komputasi, dalam arti berikut: ada fungsi yang dapat dihitung sedemikian rupa sehingga untuk setiap program P dan input x (keduanya dikodekan sebagai bilangan asli), S ( P , x ) berhenti iff P berhenti pada x , dan jika S ( p , x ) berhenti maka outputnya identik dengan output P pada x .SPxS(P,x)PxS(p,x)Px

Jika Anda ingin tahu tentang pengaturan tertentu dari Aturan 110 sebagai sistem komputasi, saya sarankan Anda melihat kertas Matthew Cook yang membuktikan universalitas Peraturan 110 (atau lebih tepatnya, sistem komputasi yang dibangun berdasarkan Aturan 110).

Adapun aturan lain, seperti Aturan 30 dan Aturan 90, kita tidak tahu bahwa mereka tidak universal. Mungkin ada sistem komputasi meyakinkan yang dibangun di sekitar mereka yang bersifat universal, tetapi kami tidak menyadarinya.

Yuval Filmus
sumber
3
Semua benar, tetapi aturan 110 tidak memiliki cara menghentikan .. Ini hanya dapat menghitung hal-hal, tetapi tidak berhenti.
Pavel
@Pavel Tidak perlu berhenti untuk menjadi Turing-Lengkap
MilkyWay90
8

Dari bukti Matius:

Pendekatan yang diambil di sini bukan untuk merancang otomat seluler baru, tetapi untuk mengambil yang paling sederhana yang secara alami menunjukkan perilaku kompleks, dan melihat apakah kita dapat menemukan dalam perilaku kompleks cara untuk membuatnya melakukan apa yang kita inginkan. Kami tidak akan menyibukkan diri kami secara langsung dengan tabel pencarian yang diberikan di atas, tetapi sebaliknya kami akan melihat perilaku yang secara alami ditunjukkan oleh tindakan otomat dari waktu ke waktu.

Penulis pertama kali memulai dengan membuktikan bahwa "sistem tag" yang menghilangkan 2 simbol pada setiap langkah bersifat universal dengan menyusun program mesin turing 2-kondisi. Setelah itu, ia membuktikan bahwa sistem glider memang dapat menerapkan sistem tag. Ini adalah proses langkah demi langkah. Kemudian, ia mempelajari waktu ruang CA-110 untuk menemukan glider dan mengaitkannya dengan sistem glider dengan benar.

Sekarang, untuk pertanyaan Anda: bagaimana Anda 'memprogram' dalam 'aturan 110'?

  1. Cari mesin turing 2-keadaan paling sederhana dan temukan kaset-kaset operasi dasar ATAU, DAN, XOR, BUKAN .

  2. Kompilasi mereka ke sistem tag.

  3. Kompilasi implementasi sistem tag ke dalam implementasi glider.

  4. Menyesuaikannya dengan CA-110 glider dengan benar dan Anda memiliki operasi dasar dalam automata seluler.

1+1=2

Di samping catatan. Glider adalah struktur yang sangat istimewa. Operasi akan dilihat sebagai partikel yang bergerak dan bertabrakan (glider), menghasilkan output yang berbeda tergantung pada bagaimana glider ini memulai atau bertabrakan.

labotsirc
sumber
Jadi dua glidders mungkin 'mengkodekan' a + dan ketika mereka bertabrakan saya mendapatkan 2?
Pureferret
3
lebih tepatnya, beberapa pasang glider akan menyandikan '+' dengan asumsi bahwa sepasang glider dapat menyandikan OR, DAN, XOR atau TIDAK. Juga pertimbangkan bahwa angka-angka mungkin akan direpresentasikan sebagai urutan bit dan jumlahnya akan dilakukan menggunakan gerbang logika pada setiap pasangan bit.
labotsirc
3
peringatan, ada beberapa kontroversi atas aturan 110 bukti kelengkapan TM di komunitas CS karena alasan misc. satu tampaknya adalah bahwa kondisi input pada CA membutuhkan pola periodik (tapi berulang) tak terhingga.
vzn
1
Saya setuju dengan Anda vzn pada kontroversi. Secara pribadi saya tidak tahu harus berpikir apa dalam hal menolak solusi teoretis dengan cara formal atau menerima CA-110 sebagai superset yang kebetulan bekerja sebagai mesin turing (fakta bahwa CA adalah ruang perhitungan yang bekerja sebagai sistem dinamis dan aktif selain itu pekerjaan secara paralel membuat saya bertanya-tanya apakah mereka mewakili alam semesta sintetis yang sedang berlangsung).
labotsirc
Saya bukan penggemar mengabaikan batasan ruang dan waktu aktual. Wikipedia mengutip P-kelengkapan otomat seluler Aturan 110 , dan menjelaskan bahwa Neary dan Woods menghindari overhead waktu eksponensial dengan menghindari menggunakan sistem 2-tag. Namun, Neary dan Woods kemudian pada tahun yang sama (2006) menunjukkan bahwa bahkan sistem 2-tag tidak memiliki overhead waktu yang eksponensial untuk mensimulasikan mesin Turing.
Thomas Klimpel