Di perguruan tinggi kami telah belajar tentang teori komputasi secara umum dan mesin Turing lebih khusus. Salah satu hasil teoretis yang hebat adalah bahwa dengan mengorbankan alfabet (simbol) yang berpotensi besar, Anda dapat mengurangi jumlah status menjadi hanya 2.
Saya mencari contoh Mesin Turing yang berbeda dan contoh umum yang disajikan adalah pencocokan / pemeriksa Parenthesis. Pada dasarnya ia memeriksa apakah sebuah tanda kurung, misalnya (()()()))()()()
seimbang (contoh sebelumnya akan mengembalikan 0 untuk tidak seimbang).
Cobalah semaksimal mungkin saya hanya bisa menjadikan ini mesin tiga keadaan. Saya ingin tahu jika ada yang bisa mengurangi ini ke minimum 2 teoritis dan apa pendekatan / negara / simbol mereka!
Hanya untuk memperjelas, tanda kurung "terjepit" di antara pita kosong sehingga dalam contoh di atas
- - - - - - - (()()()))()()() - - - - - - -
akan menjadi input pada pita. Alfabet akan mencakup (
, )
, 1
, 0
, -
, dan *halt*
negara tidak dihitung sebagai sebuah negara.
Untuk referensi pendekatan tiga negara yang saya miliki adalah sebagai berikut: Deskripsi negara:
State s1: Looks for Closing parenthesis
State s2: Looks for Open parenthesis
State s3: Checks the tape to ensure everything is matched
Symbols: ),(,X
Transisi Terdaftar sebagai:
Action: State Symbol NewState WriteSymbol Motion
// Termination behavior
Action: s2 - *halt* 0 -
Action: s1 - s3 - r
//Transitions of TM
Action: s1 ( s1 ( l
Action: s1 ) s2 X r
Action: s1 X s1 X l
Action: s2 ( s1 X l
Action: s2 X s2 X r
Action: s3 ( *halt* 0 -
Action: s3 X s3 X r
Action: s3 - *halt* 1 -
Maafkan cara informal menuliskan semua ini. Saya masih belajar teori konstruksi di balik ini.
sumber
Jawaban:
Hanya ringkasan "kode sumber" dari jawaban Raphael: ini versi yang berfungsi yang menggunakan trik yang sama (pada status q1) dan memiliki alfabet tape:
_
_ ( ) [ { / \
(di mana adalah simbol awal kosong)Anda dapat melihatnya bekerja menggunakan simulator online mesin Turing ; kode sumbernya adalah:
Catatan terakhir: jika Anda ingin melihat bagaimana teknik ini dapat didorong hingga batasnya, baca (dan coba pahami :-) konstruksi mesin Universal Turing dengan 2 status dan 18 simbol oleh Y. Rogozhin dalam "Small universal Turing mesin "
sumber
Jawaban bodoh: hasil Anda menjanjikan bahwa ada mesin Turing universal dengan dua status. Bangun TM apa pun untuk bahasa Dyck, hitung indeksnya dan cantumkan dalam mesin universal.
sumber