Turing Dapat Dikenali => enumerable

10

Saya mendapatkan bukti pergi dari pencacah ke Mesin Turing (tetap menjalankan pencacah dan melihat apakah itu cocok dengan input) tetapi saya tidak melihat bagaimana cara lain bekerja.

Menurut catatan dan buku saya (Pengantar Teori Komputasi - Sipser), untuk mendapatkan enumerator Turing dari mesin Turing, pada dasarnya kami menulis semua kombinasi alfabet. Anda kemudian menjalankan TM pada input ini, jika menerima cetak itu, ganti dengan string baru ulangi infinitum.

Masalah yang saya alami adalah tentu saja ini membutuhkan bahasa yang dapat memutuskan. Kalau tidak, mungkin akan terjebak pada kata ketiga dalam beberapa loop tak terbatas yang pasti tidak akan menerima atau menolak dan tentu saja tidak pernah mencetak seluruh bahasa.

Apa yang saya lewatkan?

T. Kiley
sumber

Jawaban:

9

Apa yang hilang adalah cara Anda menjalankan Mesin Turing pada string untuk mendapatkan Enumerator. Daripada menghasilkan setiap string, jalankan , dan kemudian output string ini jika menerima - yang seperti yang Anda identifikasi tidak akan berfungsi - Anda melakukan sesuatu seperti berikut ini, yang mengadopsi strategi mensimulasikan banyak contoh pada string yang berbeda "di paralel".M M MMMMM

Asumsikan rekaman itu memiliki konten , di mana adalah beberapa kata yang sedang dipertimbangkan dan adalah keadaan terkini dari beroperasi pada . Ini menunjukkan bahwa salinan sedang disimulasikan. disimpan sehingga kami tahu apa input aslinya.w i S i M w i n M w iw1,S1##wn,SnwiSiMwinMwi

Sekarang jalankan loop berikut

  1. Di akhir rekaman, tulis string berikutnya dari , bersama dengan konfigurasi awal dari , yaitu, tulis . S M # w , S wΣSM#w,S
  2. Simulasikan setiap salinan pada pita untuk satu langkah. (Agaknya menggunakan kaset lain.)M
  3. Jika salah satu memasuki kondisi penerimaan, masukkan string yang sesuai ke pita keluaran. Hapus instance dari kaset.M.MM
  4. Jika ada yang memasuki kondisi penolakan, lepaskan instance dari pita.M.MM
  5. Pergi langkah 1.

Tidak sulit untuk berargumen bahwa semua string yang ada diterima oleh pada akhirnya akan menjadi output pada rekaman itu. MwΣM

Dave Clarke
sumber
4
alias "dove-tailing".
Kaveh