能否判斷一個程序是否是所有實現同樣目標的最快程序

這是一個很好玩的問題,也很有價值。

只可惜,這是不可能的。因爲實際上,這等價於一個圖靈機停機問題。

假設這個程序能夠斷定一切程序,那麼他也能夠判定自己。如果是最快的,返回1,否則返回0。那麼可以在程序後增加一個循環,如果判定自已的結果是1,則繼續循環,如果是0,立刻跳出循環。這樣,就會行成一個悖論。因此,這個程序是不存在的。

這也是哥德爾不完備定理的一個實例。

如果一個問題無法證明,是否可以證明它無法證明,如果還是不行,是否能夠證明無法證明本身無法證明。這樣就會形成一個邏輯上的無限循環。總存在這樣的問題,是永遠不能夠證明是或是否的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章