Membaca pertanyaan ini, " Masalah RE yang tidak dapat dipastikan tetapi tidak menyelesaikan Turing ", bahasa berikut muncul di benak saya:
Jika adalah fungsi berang-berang yang sibuk (skor maksimum yang dapat dicapai di antara semua penghentian 2-simbol n-state mesin Turing dari tipe yang dijelaskan di atas, ketika dimulai pada pita kosong), tentukan fungsinya:
Sekarang tentukan bahasanya:
Apakah secara berulang dihitung? (itu harus kembali: hanya mensimulasikan dalam M paralel dengan semua TM dengan panjang yang sama, dan jika berhenti dan M lain berhenti dengan skor yang lebih tinggi tambahkan M ke enumerasi).
Bisakah kita mengurangi masalah penghentian menjadi ? (tampaknya itu tidak bisa "menangkap" penghentian berang-berang yang sibuk)
Jawaban:
Saya tidak percaya saya tidak melihat ini sebelumnya - tapi ya, dengan oracle untuk Anda dapat memecahkan masalah yang tersendat-sendat. Jelas sebuah oracle untuk memberi kita 'secara rekursif' semua mesin penghenti Beaver yang tidak sibuk, jadi pertanyaannya adalah 'bisakah kita mencari tahu secara rekursif dalam apa berang-berang yang sibuk itu?'. Tentukan sebagai fungsi hitungan 'berang tersibuk kedua'; yaitu, skor tertinggi kedua yang dapat dicapai di antara semua penghentian TM dua simbol . Kuncinya di sini adalah bahwa ada fungsi rekursif sehingga (hampir pasti bahwaL L Σ 2 ( n ) n f ( ) Σ ( n ) ≤ Σ 2 ( f ( n ) ) f ( n ) = n + 1 ML L L Σ2(n) n f() Σ(n)≤Σ2(f(n)) f(n)=n+1 akan melakukan trik, pada kenyataannya, tetapi itu membutuhkan mengetahui bahwa fungsi BB benar-benar meningkat): diberi mesin ukuran yang mencetak 1 pada kasetnya dan kemudian berhenti, ada beberapa dan dua mesin masing-masing berukuran yang mencetak tepat 1s dan persis 1s, masing-masing, pada kaset mereka - dan ini berlaku untuk mesin 'sibuk berang-berang' meskipun kami tidak tahu secara eksplisit . Ini berarti bahwa memiliki fungsi terikat pada 'berang-berang sibuk kedua' untuk memberikan batas untuk fungsi berang-berang sibuk padaM Σ ( M ) c > 1 ≤ c n Σ ( M ) Σ ( M ) + 1 M M f ( n ) n M n ⟨ M ⟩ ∈ L M f ( n ) L ≤ f ( n ) M M Mn Σ(M) c>1 ≤cn Σ(M) Σ(M)+1 M M f(n) n ; tetapi kemudian memiliki ini, mudah untuk memecahkan masalah penghentian untuk TM ukuran - jika maka katakan bahwa berhenti; jika tidak, cari mesin yang paling lama beroperasi ukuran di (yang dapat dilakukan secara rekursif karena hanya ada banyak mesin ukuran ) dan mensimulasikan untuk langkah-langkah yang dibutuhkan mesin untuk berhenti. Jika tidak berhenti dalam waktu itu maka tidak mungkin berhenti.M n ⟨M⟩∈L M f(n) L ≤f(n) M M M
sumber
Ini adalah versi ulang dari jawaban Steven yang baik, dengan pengurangan eksplisit dari masalah Berhenti.
Diberikan build yang menjalankan on dan jika berhenti di sebelah kanan rekaman, tulis 0 dan berhenti.M ' M w⟨M⟩,w M′ M w
Jika berhenti, karena ada TM setara dengan ukuran yang sama yang menulis 1 dan berhenti; sehingga kita dapat menggunakan penentuan untuk untuk memeriksa apakah perhentian di ( perhentian di IFF ) B B ( M ′ ) = 0 L M w M w M ′ ∈ LM′ BB(M′)=0 L M w M w M′∈L
... ternyata pertanyaannya memang sepele :-)
sumber