要約:ライスの定理によれば、すべては不可能です。それでも、私はこの不可能と思われることを常にやっています!
もちろん、ライスの定理は単に「すべては不可能」とは言いません。「コンピュータープログラムのすべての特性は計算不可能です。」
(ヘアを分割したい場合は、すべての「重要な」プロパティ。つまり、すべてのプログラムが所有する、またはプログラムが所有しないプロパティは、簡単に計算できます。しかし、他のプロパティは計算できません。)
それは定理が言うこと、または言うように見えます。そして、おそらく非常に多くの非常に賢い人々がこの定理の正しさを慎重に検証したでしょう。しかし、ロジックを完全に無視しているようです!計算するのは簡単なプログラムの多くのプロパティがあります!! 例えば:
停止する前にプログラムは何ステップ実行しますか?この数が有限であるか無限であるかを決定することは、計算できないホールティング問題です。この数が有限のより大きいか小さいかを判断するのは簡単です!プログラムを最大ステップ実行し、停止するかどうかを確認します。簡単!n
同様に、プログラムは最初の回実行ステップでユニットより多いまたは少ないメモリを使用しますか?簡単に計算できます。m
プログラムのテキストはという名前の変数に言及していますか?些細なテキスト分析で答えが明らかになります。
プログラムはコマンド呼び出しますか?再度、そのコマンド名を探してプログラムテキストをスキャンします。
計算できないように見えるプロパティもたくさんあります。たとえば、プログラムの完全な実行は何回追加されますか?まあ、それはプログラムが実行するステップ数を尋ねることとほぼ同じです。これは実質的に停止の問題です。しかし、非常に簡単に計算できるプログラムプロパティが大量にあるようです。それでも、ライスの定理は、それらのいずれも計算可能ではないと主張します。
ここに何が欠けていますか?