Apakah mesin yang tidak pernah berhenti selalu berputar?

22

Mesin Turing yang kembali ke keadaan sebelumnya dengan kepala baca / tulis pada sel yang sama dari rekaman yang sama akan ditangkap dalam satu lingkaran. Mesin seperti itu tidak berhenti.

Bisakah seseorang memberi contoh mesin yang tidak pernah berhenti yang tidak berputar?

hollow7
sumber
1
Hanya sebuah catatan: rekaman itu juga bisa berbeda: kondisi yang cukup (tetapi tidak perlu) untuk loop tanpa akhir ketika TM memasuki sel yang sama pada langkah t1 dan pada langkah t2>t1 dalam keadaan yang sama, adalah bahwa pada langkah t2 bagian dari selotip yang dikunjungi oleh kepala antara langkah t1 dan langkah t2 sama dengan bagian yang sesuai tepat sebelum memasukkan t1 .
Vor
4
Jika TM harus mengulang agar gagal berhenti, Anda akan dapat dengan mudah menyelesaikan masalah penghentian untuk TM: ingat semua konfigurasi sebelumnya, dan pada setiap langkah, lihat apakah Anda berada dalam konfigurasi yang telah Anda lihat sebelum, dan jika demikian, Anda tahu hal itu tidak berhenti (jika tidak, karena kami menganggap bahwa itu harus berulang agar berjalan selamanya, itu tidak akan berjalan selamanya, yaitu, ia akan berhenti, dalam hal ini kami akhirnya akan tahu tentang itu).
Patrick87
Terinspirasi oleh @Niel de Beaudrap jawaban: mesin turing dapat menghitung urutan oeis.org/A014445 dan berhenti ketika mendapat nomor ganjil. Itu bisa menghitung oeis.org/A016742 sebagai jumlah yang berjalan dan berhenti ketika jumlahnya ganjil. Itu bisa menghitung di x^2mana xsiklus antara -100dan 100dan bersepeda dilakukan dengan modulo dan berhenti ketika hasilnya negatif. Itu bisa menghitung di x%2mana x berkisar dari nol hingga tak terhingga positif dan berhenti ketika hasilnya sama dengan 2. Dalam bahasa assembly lakukan / saat / untuk semua loop memiliki lompatan bersyarat, tetapi lompatan cond saja berarti sedikit.
Leonid
Asumsi pertanyaan ini hanya berlaku untuk mesin deterministik.
Raphael

Jawaban:

15

Pertimbangkan TM yang selalu menggerakkan kepala kaset ke kanan dan mencetak simbol pita khusus yang tidak kosong pada setiap langkah. Ini berarti bahwa TM tidak pernah berhenti, karena selalu bergerak ke kanan, dan tidak pernah mengulangi keadaan, karena setelah langkah k kepala tape berada di atas sel k mesin. Akibatnya, setiap konfigurasi mesin berbeda dari yang lain, dan mesin selalu loop.

Kami juga bisa secara non-konstruktif menunjukkan keberadaan mesin tersebut. Asumsikan adanya kontradiksi bahwa setiap TM yang tidak pernah berhenti pada akhirnya berputar. Ini berarti bahwa jika Anda memulai TM pada string w , salah satu dari berikut ini pada akhirnya akan terjadi:Mw

  1. berhenti, atauM
  2. mengulangi konfigurasi.M

Dalam hal ini, masalah penghentian akan dianggap sebagai berikut. Diberikan TM dan string w , mensimulasikan M on w , pada setiap titik menuliskan isi rekaman, keadaan saat ini, dan posisi rekaman saat ini. Jika konfigurasi ini adalah duplikat, output "tidak berhenti." Kalau tidak, jika M berhenti pada w , output "berhenti." Karena salah satu dari ini dijamin akan terjadi pada akhirnya, proses ini selalu berakhir, jadi kami akan memiliki algoritme untuk masalah penghentian, yang kami tahu tidak ada.MwMwMw

Semoga ini membantu!

templatetypedef
sumber
Hah, kalahkan kamu sampai edit itu. Lihat komentar saya pada pertanyaan. Saya suka cara ini menjelaskan mengapa tidak semua TM yang tidak berhenti harus diulang ... itu membangun intuisi.
Patrick87
@ Patrick87- Maaf, saya tidak melihat komentar. Saya memikirkan adendum dalam perjalanan saya dan duduk untuk memasukinya segera setelah saya kembali.
templatetypedef
Tidak masalah, bung ... Saya senang Anda menambahkannya, karena saya pikir ini cara yang baik untuk menjelaskannya. Saya hanya menambahkannya sebagai komentar, dan bukan sebagai jawaban, karena Anda mengalahkan saya untuk itu. : D
Patrick87
Sebenarnya, dalam hal masalah penghentian seperti kembali dan mengganti kaset iklan infinitum tampaknya menjadi "masalah sebenarnya". Void-walker yang bisa Anda deteksi.
Raphael
12

Mesin Turing yang menghitung semua tempat desimal π (atau fraksi non-terminasi lainnya, dalam basis apa pun) tidak pernah berhenti, dan dapat dibuat untuk menulis pada setiap sel hanya beberapa kali. Tentu saja, fakta bahwa tidak ada transisi ke keadaan berhenti akan menjadi hadiah mati, tetapi setidaknya merupakan contoh alami.

Kasus yang lebih menarik (tetapi juga ambigu) akan menjadi mesin Turing yang secara iteratif menghitung fungsi Collatz pada inputnya, mengakhiri jika dan hanya jika ia memperoleh bilangan bulat 1. Dugaan Collatz yang terkenal

f(n)={3n+1,if n is odd;n/2,if n is even,
adalah untuk input apa pun, prosedur ini akhirnya berhenti. Tetapi tidak diketahui apakah ini masalahnya. Ia dapat gagal dalam dua cara yang berbeda, pada prinsipnya: ia dapat menemukan urutan bilangan bulat yang berputar-putar (sesuai dengan keberadaan bilangan bulat n sehingga untuk sejumlah komposisi, dimana n  ≠ 1); atau bisa jadi ada rantai bilangan bulat n , f (n) , f (f (n))fff(n)=n, ... yang secara asimptot berbeda dengan tak terhingga. Jika ada urutan dari jenis yang terakhir ada, ini akan menyiratkan bahwa mesin Turing yang saya jelaskan di atas tidak akan berulang, karena rekaman itu akan terus berubah menjadi angka yang lebih besar dan lebih besar.
Niel de Beaudrap
sumber
Saya suka bermain dengan angka pi. TM dapat berhenti setiap kali kuadrat dari setiap digit pisama dengan tepat 7.
Leonid
@Leonid: Anda tentu dapat mempertimbangkan mesin Turing yang menerima beberapa input, dan berhenti pada kondisi yang ditentukan oleh input itu. Anda bahkan dapat membuat spesifikasi kondisi di mana ia menghentikan bagian dari input. Dan Anda bisa memberikan input, seperti yang Anda jelaskan, menetapkan batasan yang tidak pernah puas.
Niel de Beaudrap
10

Pertimbangkan mesin Turing non-stop yang tidak pernah menggerakkan kepala baca / tulis ke kiri.

JeffE
sumber
Beberapa dari mereka masih mengulang. </nitpicking>
Raphael
5

Jika ini benar, maka masalah penghentian akan dapat ditentukan. Anda hanya akan merekam setiap pasangan (kaset, negara bagian) yang terlihat saat menjalankan mesin Turing, dan mesin tersebut akan berhenti (dalam hal ini jelas berhenti), atau Anda melihat pasangan yang telah Anda lihat sebelumnya, dalam hal ini mesin tersebut tidak berhenti.

Karena masalah penghentian tidak dapat diputuskan, ini tidak mungkin benar. (Lihat contoh lain untuk contoh balasan.)

Secara rekursif kronis
sumber
Apa yang ditambahkan jawaban ini ke jawaban templatetypedef ?
Raphael
Saya kira tidak. Maaf, entah bagaimana saya melewatkan jawaban itu ketika saya menulis jawaban saya.
RecursivelyIronic