あいさつ。ダイクストラは、一見単純なコードの数行でさえ、絶望的にあいまいになる可能性があると書いています。私の命を救うために今は見つけられない少なくとも1つの作品で、彼はこのあいまいさを示すための小さなプログラム例を提供しました。誰かが彼がこれらの例の1つを含む彼の論文に私を指すことができますか?
あいさつ。ダイクストラは、一見単純なコードの数行でさえ、絶望的にあいまいになる可能性があると書いています。私の命を救うために今は見つけられない少なくとも1つの作品で、彼はこのあいまいさを示すための小さなプログラム例を提供しました。誰かが彼がこれらの例の1つを含む彼の論文に私を指すことができますか?
回答:
これを読む:
http://en.wikipedia.org/wiki/Halting_problem#Recognizing_partial_solutions
http://www.cs.ucsb.edu/~pconrad/cs40/08S/notes/にはすばらしい記事があります。「停止問題」の検索
本質的な停止矛盾にはいくつかの形式があります。
def halts( code_block ):
# Some magical code
def whistler():
while halts(whistler):
sys.whistle( 1 )
「ホイッスラー」は、0回、1回、または無限回鳴りますか?
halts()
関数whistler
が停止しているように見えると関数が判断した場合、関数whistler
は停止できません。
halts()
関数whistler
が停止していないと判断した場合、関数whistler
は停止します。
したがって、halts()
関数は存在できません。
論文はダイクストラによるものだと確信していますか? ケン・トンプソンによる信頼への反省は、あなたが考えていたものであるように思えます。絶対に単純で、簡単で、正しいプログラムが、ソースにはまったく表示されない絶対に予期しないことを実行する方法を示しています。あなたが考えていたものではない場合でも、読む価値のある論文です。
別の方向に進んで、驚くべき振る舞いをする短いプログラムの優れた例が必要な場合、人手不足のCコンテストは素晴らしいです。たとえば、2008年の受賞者を見てください。課題は、画像の視覚的に完全に空白になるように、画像の一部を空白にするコマンドラインプログラムを作成することでしたが、ファイルには画像の編集部分に関する情報が保持されます。 そして、あなたのコードは、コードレビューに合格するような方法インチ (画像を保存する形式を選択できます。)
FILE_NOT_FOUND
;)