8
停止の問題を回避するプログラムのサブセットはありますか
私は停止する問題の別の説明を読んでいたところ、例として挙げられているすべての問題が無限のシーケンスに関係していると考えるようになりました。しかし、プログラムで無限シーケンスを使用することはありません。時間がかかりすぎます。すべての実世界のアプリケーションには下限と上限があります。実数でさえ真の実数ではありません-32/64ビットなどとして保存された近似値です。 問題は、プログラムが停止した場合に判断できるサブセットがあるかどうかです。ほとんどのプログラムで十分ですか?プログラムの「停止可能性」を判別できる言語構成体のセットを作成できますか。私はこれがどこかで以前に研究されたと確信しているので、どんなポインタでも評価されるでしょう。言語は完全なチューリングではありませんが、チューリングがほぼ完了しているようなものがありますか? 当然のことながら、このような構成体は再帰と無制限のwhileループを除外する必要がありますが、これらを使用しないプログラムは簡単に作成できます。 例として標準入力からの読み取りは制限されなければなりませんが、それは十分に簡単です-問題のドメインに応じて、入力を10,000,000文字などに制限します。 ティア [更新] コメントと回答を読んだ後、おそらく質問を書き直すべきです。 すべての入力が制限されている特定のプログラムについて、プログラムが停止するかどうかを判断できます。その場合、言語の制約は何であり、入力セットの制限は何ですか。これらの構成体の最大セットは、停止するかしないかを推測できる言語を決定します。これについて行われた研究はありますか? [更新2] これが答えです、はい、1967年にhttp://www.isp.uni-luebeck.de/kps07/files/papers/kirner.pdfから遡ります 有限状態システムの停止問題は少なくとも理論的に解決できることは、1967年にミンスキーによって既に議論されています[4]:「...有限状態のマシンは、完全に放置されると、最終的に完全に周期的になり繰り返しパターン。この繰り返しパターンの期間は、マシンの内部状態の数を超えることはできません...」 (したがって、有限チューリングマシンに固執する場合は、オラクルを構築できます)