Saya baru saja membaca penjelasan lain tentang masalah berhenti, dan itu membuat saya berpikir semua masalah yang saya lihat yang diberikan sebagai contoh melibatkan urutan tak terbatas. Tapi saya tidak pernah menggunakan urutan yang tak terbatas dalam program saya - mereka terlalu lama. Semua aplikasi dunia nyata memiliki batas bawah dan atas. Bahkan real tidak benar-benar real - mereka perkiraan disimpan sebagai 32/64 bit dll.
Jadi pertanyaannya adalah, adakah subset program yang dapat ditentukan jika mereka berhenti? Apakah cukup baik untuk sebagian besar program. Dapatkah saya membangun satu set konstruksi bahasa yang saya dapat menentukan 'haltability' dari suatu program. Saya yakin ini telah dipelajari di suatu tempat sebelumnya sehingga petunjuk apa pun akan dihargai. Bahasa tidak akan turing lengkap, tetapi apakah ada sesuatu yang hampir sempurna selesai yang cukup baik?
Cukup alami konstruksi seperti itu harus mengecualikan rekursi dan tidak terikat saat loop, tapi saya bisa menulis sebuah program tanpa yang cukup mudah.
Membaca dari input standar sebagai contoh harus dibatasi, tetapi itu cukup mudah - saya akan membatasi input saya hingga 10.000.000 karakter dll, tergantung pada domain masalah.
tia
[Memperbarui]
Setelah membaca komentar dan jawaban mungkin saya harus menyatakan kembali pertanyaan saya.
Untuk program tertentu di mana semua input dibatasi, Anda dapat menentukan apakah program berhenti. Jika demikian, apa saja kendala bahasa dan apa batas input yang ditetapkan. Set maksimal dari konstruksi ini akan menentukan bahasa yang dapat disimpulkan untuk dihentikan atau tidak. Apakah ada beberapa penelitian yang telah dilakukan tentang ini?
[Perbarui 2]
inilah jawabannya, itu ya, kembali pada tahun 1967 dari http://www.isp.uni-luebeck.de/kps07/files/papers/kirner.pdf
Bahwa masalah penghentian dapat setidaknya diselesaikan secara teoritis untuk sistem negara-terbatas telah diperdebatkan oleh Minsky pada tahun 1967 [4]: “... mesin negara-terbatas, jika dibiarkan sepenuhnya untuk dirinya sendiri, pada akhirnya akan jatuh ke dalam periodik sempurna sempurna pola berulang. Durasi pola berulang ini tidak dapat melebihi jumlah kondisi internal mesin ... "
(dan jadi jika Anda tetap pada mesin turing terbatas maka Anda dapat membangun oracle)