Mengapa masalah penghentian dapat dipertimbangkan untuk LBA?


13

Saya telah membaca di Wikipedia dan beberapa teks lainnya

Masalah penghentian adalah [...] dapat ditentukan untuk linear bounded automata (LBA) [dan] mesin deterministik dengan memori yang terbatas.

Tetapi sebelumnya ada tertulis bahwa masalah penghentian adalah masalah yang tidak dapat diputuskan dan karenanya TM tidak dapat menyelesaikannya! Karena LBA didefinisikan sebagai jenis TM, haruskah hal yang sama tidak berlaku untuk mereka?


9
Anda dapat menggunakan TM untuk menentukan apakah LBA berhenti pada input yang diberikan dengan memeriksa apakah LBA berhenti, katakanlah, O (2 ^ 2 ^ n) langkah-langkah dengan simulasi. LBA apa pun yang bekerja lebih lama dari itu akan terjebak dalam infinite loop. Ini tidak mengatakan LBA dapat memecahkan masalah penghentian untuk TMs umum!
Yonatan N

Automata terbatas juga merupakan jenis TM.
Raphael

@ Raphael Anda tidak dapat mengedit pertanyaan seperti itu. Anda mengubah arti pertanyaan, sehingga membuat jawaban saya yang ada di luar topik, sedangkan jawaban lainnya di luar topik dan sekarang dalam topik.
babou

@ Babou Saya tidak melihat bagaimana saya mengubah arti pertanyaan, dan saya tidak melihat bagaimana salah satu dari dua pertanyaan tidak menjawab pertanyaan (meskipun mereka menggunakan pendekatan yang berbeda).
Raphael

@Rap Pertanyaan aslinya lebih tentang wacana logis daripada tentang justifikasi formal properti LBA, dan itulah yang Anda hapus dari judulnya. Bagi saya jelas bahwa, meskipun dapat dibuktikan bahwa penghentian dapat dipilih untuk BBL, OP bertanya-tanya bagaimana hal itu dapat kompatibel dengan pernyataan lain tentang dimasukkannya BBL dalam TM dan tidak dapat diputuskannya penghentian untuk TM (dapatkah saya mengedit kembali?) . BTW tidak bermaksud meremehkan jawaban Yuval. Saya berharap dia akan mendapatkan sebagian besar suara, karena itulah yang diinginkan pembaca (yang merupakan masalah pedagogis itu sendiri), bahkan jika saya tidak akan menuruti.
babou

Jawaban:


18

Masalah penghentian dapat dipecahkan untuk setiap mesin Turing yang menggunakan jumlah ruang terbatas yang diketahui, dengan generalisasi argumen yang diberikan oleh Yonatan N. Jika jumlah ruang adalah , ukuran alfabet adalah A , dan jumlah negara adalah Q , maka jumlah konfigurasi yang mungkin adalah Q S A S . Jika perhentian mesin maka harus menghentikan dalam Q S A S langkah, karena jika tidak, oleh prinsip mengesampingkan, ia memiliki konfigurasi ulang dan begitu juga terjebak dalam infinite loop. Oleh karena itu untuk menentukan apakah pemberhentian mesin, kita hanya menjalankannya untuk Q S A SSAQQSASQSASQSAS langkah dan lihat apakah itu berhenti dalam kerangka waktu itu.


Mengapa argumen itu bekerja untuk mesin non-deterministik?
Raphael

1
Karena teorema Savitch.
Yuval Filmus

Saya tidak tahu (atau ingat) teorema Savitch selain namanya (saya tidak pernah melakukan banyak kerumitan). Tapi saya tidak yakin itu bisa digunakan seperti itu, karena itu berlaku untuk prosedur pengambilan keputusan, yaitu penghentian perhitungan, sedangkan kepastian penghentian justru yang harus dibuktikan. Buktinya dapat diadaptasi untuk mencakup semi-keputusan yang terikat ruang, tetapi tampaknya lebih mudah untuk membuktikan secara terpisah bahwa penghentian dapat dipilih untuk TM yang berbatas ruang, sehingga mengubah semi-keputusan yang berbatasan dengan ruang menjadi keputusan penuh. Ini dekat dengan apa yang dilakukan oleh Hopcroft-Ullman-79 dalam lemma 12-1 mereka, sebelum membuktikan teorema Savitch.
babou

1
Saya mungkin saya salah paham tentang hal ini, tetapi apakah jawaban untuk benar-benar menjalankan program, dan melihat apakah macet dalam loop yang tak terbatas atau tidak?
Mikayla Maki

1
@ TorrentMaki Ya, memang begitu.
Yuval Filmus

10

Anda sepertinya terjebak dengan masalah logis.

Dari kenyataan bahwa ada buku yang tidak bisa Anda baca, Anda tidak bisa menyimpulkan bahwa Anda tidak bisa membaca buku apa pun.

Mengatakan bahwa masalah penghentian tidak dapat diputuskan untuk Turing Machines (TM) hanya berarti bahwa ada mesin yang tidak memiliki cara untuk menentukan apakah mereka berhenti atau tidak dengan beberapa prosedur seragam yang akan selalu berhenti.

Namun ada Mesin Turing yang berhenti. Sekarang ambil subset dari Mesin Turing, yang disebut Nice Turing Machines (NTM), sehingga hanya berisi Mesin Turing yang berhenti jika dan hanya jika rekaman itu berisi sejumlah simbol. Jika sebuah mesin M diketahui berasal dari set itu, Anda memiliki cara sederhana untuk memutuskan apakah M akan berhenti: Anda memeriksa apakah jumlah simbol pita itu genap (hanya membutuhkan dua jari).

Tetapi prosedur itu tidak akan bekerja untuk TM yang tidak ada dalam set NTM. (sangat buruk!)

Jadi masalah penghentian adalah baik untuk NTM, tetapi tidak untuk TM secara umum, meskipun set NTM termasuk dalam set TM.

Ini sebenarnya penting, dan kadang-kadang dilupakan, ketika menafsirkan hasil yang tidak dapat dipastikan.

Mungkin seseorang dapat membuktikan bahwa sebuah properti penting tidak dapat diputuskan untuk keluarga yang sangat besar dari objek matematika atau komputasi.

Ini tidak berarti bahwa Anda harus berhenti mencari solusi, tetapi hanya bahwa Anda tidak akan menemukan solusi untuk seluruh keluarga.

Yang kemudian dapat Anda lakukan adalah mengidentifikasi subfamili yang relevan yang penyelesaian masalahnya tetap penting, dan mencoba menyediakan algoritma untuk memutuskan apakah properti tersebut berlaku untuk anggota keluarga yang lebih kecil.

Biasanya, penghentian tidak dapat diputuskan untuk TM secara umum, tetapi dihentikan, seringkali sangat sederhana, untuk keluarga automata yang besar dan berguna, yang semuanya dapat dilihat sebagai kasus khusus TM.


3
"Mengatakan bahwa masalah penghentian tidak dapat diputuskan untuk Mesin Turing (TM) hanya berarti bahwa ada mesin yang tidak ada cara untuk menentukan apakah mereka berhenti atau tidak dengan beberapa prosedur yang akan selalu berhenti." - Tidak sepenuhnya benar. Untuk setiap TM yang diberikan, masalah penghentian dapat ditentukan. Ini adalah masalah keputusan umum yang tidak dapat dipastikan, yaitu tidak ada satu algoritma yang menangani semua TM. (Saya pikir ini harus dibuat sangat, sangat jelas untuk pemula. Jika masalah pi .)
Raphael

Contoh yang lebih langsung adalah himpunan semua TM yang selalu dimiliki. Anda menambahkan beberapa rasa ekstra karena terletak di luar hierarki normal.
Raphael

Baik. Saya seharusnya mengatakan "prosedur seragam", tetapi itu tersirat dalam pikiran saya ketika saya mengatakan "prosedur yang akan selalu berhenti" menyiratkan bahwa saya dapat menggunakannya pada input apa pun, artinya mesin apa pun. Tetapi memang benar bahwa suatu prosedur dapat bekerja dengan benar untuk satu mesin, dan melakukan apa saja untuk mesin lain. Baiklah ... - - - - - - - - Mengenai komentar kedua, itulah yang saya tulis pada awalnya. Saya kemudian berubah pikiran karena saya pikir contoh saya akan lebih mudah dipahami secara intuitif, karena pemilihan mesin tidak bergantung langsung pada properti yang akan diputuskan (meskipun dekat).
babou

2

Singkatnya, A LBA memiliki jumlah konfigurasi yang terbatas, katakan D. Oleh karena itu, kita dapat menjalankan langkah D dan menyimpulkan hasilnya. Jika berjalan lebih dari langkah D, dengan prinsip pigeonhole, kita dapat mengatakan bahwa, ia terjebak dalam loop tak terbatas.


1
Apa yang ditambahkan dari jawaban yang ada ? Ini sepertinya hanya mengulanginya, kurang detail. Sementara saya menghargai bahwa Anda berusaha berkontribusi, kami lebih suka Anda menghindari mengulangi jawaban yang ada dan alih-alih fokus pada menjawab pertanyaan yang belum memiliki jawaban yang baik.
DW
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.