停机问题的通俗理解
假設存在程序halt 能判斷任意程序a是否無限運行。
顯然容易寫出程序b,以一個程序c為參數,若c被halt判斷不能無限運行,則死循環b。
構造程序b(b)。
若里面的b能無限運行,則程序b(b)外面的b從來沒運行過,b(b)不能無限運行,即b不能無限運行。矛盾。
若里面的b不能無限運行,則外面的b在里面的b停下來時開始無限運行,b(b)會無限運行,即b會無限運行。矛盾。
這個矛盾不是b帶來的,而是halt的問題。關鍵不是b到底能不能無限運行,而是halt到底有沒有判斷的能力。我們可以很容易寫出死循環或者不寫出死循環,但實在寫不出判斷的程序halt。
任何程序都沒法知道自己是否會停機 ,程序無法跳出自己。
轉載于:https://www.cnblogs.com/flizzywine/p/6430327.html
新人創作打卡挑戰賽發博客就能抽獎!定制產品紅包拿不停!總結
- 上一篇: 西数数据战略投资固态硬盘
- 下一篇: Vue.use自定义自己的全局组件