Sebagai contoh, kita dapat mengatakan bahwa kita memiliki program abstrak yang, diberi string biner terbatas sebagai input, menghapus semua nol (yaitu 0010001101011 dievaluasi menjadi 111111), yang jelas merupakan fungsi yang dapat dihitung oleh Turing.
Bagaimana sistem tag siklik menghitung ini (yang dapat, menurut definisi itu menjadi Turing-lengkap) ketika hanya berhenti ketika mencapai string kosong? Artikel Wikipedia memberikan contoh konversi ke sistem 2-tag, tetapi menambahkan penghentian yang ditiru yang tidak dimiliki sistem asli.
Saya tidak dapat menemukan referensi tentang bagaimana sistem tag siklik berhenti secara berarti. Seperti apa outputnya? Saya sudah mempertimbangkan hal-hal seperti
- Jumlah langkah (tapi kemudian input membatasi kemungkinan keluaran tanpa semacam pengkodean mewah yang tidak dapat saya temukan)
- Produksi terakhir (tetapi itu hanya memiliki rentang keluaran yang terbatas)
- Memperbaiki poin (yang tidak dapat dideteksi dalam sistem ini dan hanya ada dengan aturan dan input produksi yang sangat terbatas)
tetapi mereka tidak bekerja, setidaknya tidak dengan cara apa pun yang bisa saya lihat.
sumber
Meskipun versi non-halting dari tag siklik mungkin menarik minat khusus untuk automata seluler, sistem tag siklik juga dapat dirancang untuk mensimulasikan mesin Turing universal sedemikian rupa sehingga menghentikan iff TM berhenti, menampilkan kata output yang mengkode output mesin:
Simulasikan TM dengan sistem 2-tag yang mengkodekan semua konfigurasi instan TM, menggunakan "output alphabet" yang terpisah untuk menyandikan segala konfigurasi yang terhenti, sehingga sistem tag berhenti (dengan menghapus kata ini huruf per huruf) jika TM berhenti. ( Makalah ini menunjukkan secara rinci bagaimana hal ini dapat dilakukan dengan menggunakan formulasi mesin Wang dari TMs.)
Simulasikan sistem 2 tag dengan sistem tag siklik seperti yang dijelaskan di bagian sistem tag siklik artikel Wikipedia . Karena setiap huruf dalam alfabet keluaran 2-tag memiliki string kosong sebagai pelengkapnya (menyebabkan simulasi 2-tag terhenti), sistem tag siklik akan memiliki perilaku penghentian / keluaran yang sama.
Kunci dalam pendekatan ini adalah bahwa alfabet keluaran yang ditunjuk, katakan , memungkinkan setiap hurufnya memiliki string kosong sebagai pelengkapnya ( ), menyebabkan simulasi untuk menghapus kata data dan berhenti.{αi} αi→ϵ
NB : Untuk ketiga jenis sistem (TM, tag, tag siklik), identifikasi output yang jelas dapat dipastikan dengan menggunakan alfabet output yang ditentukan, dan ini dapat dilakukan untuk varietas baik yang menghentikan maupun yang tidak menghentikan sistem ini. (Mengingat bahwa "standar" TM adalah jenis penghentian, ironisnya bahwa mesin komputasi asli Turing adalah varietas non-penghenti dengan alfabet keluaran .){0,1}
Dengan pendekatan yang sama, kita juga dapat langsung membangun sistem 2-tag sederhana untuk menghapus s dari string biner, kemudian mensimulasikannya dengan tag siklik. Perhitungan dengan cepat menjadi membosankan, jadi kami hanya akan menerapkannya pada string input , terputus dengan string output . (Simbol akan menunjukkan string kosong.)0 101 11
-
2-tag
produksi:
komputasi:
tag siklik
pengodean alfabet 2-tag:
komputasi:
sumber