0
A
回答
1
您可以將圖靈機想象成一種可以執行程序的理論計算機。圖靈機的程序由一組狀態和這些狀態之間的轉換組成。運行在圖靈機上的程序可以訪問一個叫做磁帶的輸入源,它有一些可以處理程序的字符串(可能是空的)。圖靈機的所有程序要麼是return true
(halt-accept),要麼是return false
(停止拒絕),要麼根本沒有return
任何東西 - while (true) ; return true;
。根據您的定義,機器可能也會有throw
的異常(崩潰);但通常崩潰被認爲是像try { /*crash*/ } catch (Exception) { return false; }
這樣的崩潰意味着停止拒絕。
停機問題,那麼,是是否可以編寫一個程序對於一個圖靈機,其輸入爲圖靈機另一程序和輸入的一些字符串,它返回true
或false
(停止-接受或停止,拒絕)如果程序已經停止了提供的輸入並返回false
否則(即,如果程序永不停止)。
事實證明,答案是沒有這樣的通用程序存在於圖靈機上。假設一個確實存在,M
。給定輸入m
和i
它接受如果m
在i
停止並且否則拒絕。我們可以專門用來愚弄M
另一個程序:
N(i)
1. if M(N, i) then loop forever;
2. otherwise return true
現在是否繼續工作M
上N
:
假設
M
說,在輸入i
N
暫停。然後N
將永久循環,並且M
將會出錯。假設
M
說N
永遠循環輸入i
。那麼N
將返回true和halt,因此M
將會出錯。
在這兩種情況下,M
想出了錯誤的答案對於我們N
,因爲我們在關於M
比它的存在並解決停機問題,其他任何假設,我們不難得出結論,沒有任何機器可以解決存在暫停問題。
(M
如果不希望直接引用M
,則可以將其作爲輸入傳遞給程序N
作爲輸入)。
相關問題
- 1. 圖靈機停機問題
- 2. 爲什麼這是一個無效的圖靈機?
- 3. 圖靈機中輸入的左邊是什麼?
- 4. 爲什麼lambda轉換不在圖靈機中?
- 5. 什麼是擺脫集合
- 6. Docker:什麼是搖擺的圖像,什麼是未使用的圖像?
- 7. 在HTML中使用精靈圖像的正確方法是什麼?
- 8. 圖靈機設計
- 9. 圖靈機配置
- 10. 什麼是最靈活的計算機視覺語言?
- 11. 原始圖靈機上的操作的彙編語言等價物是什麼?
- 12. 在維護/停機期間錯過Laravel任務的正確方法是什麼?
- 13. 圖靈機器和機器圖解
- 14. 圖靈機可以暫停和隱式接受圖靈機不能處理的字符串嗎?
- 15. 處理:精靈移動隨機停止
- 16. 爲什麼精靈圖像閃爍/ filckering?
- 17. 什麼是papervision 3D的精靈?
- 18. 什麼是CSS中的精靈技術
- 19. 圖靈機與模式
- 20. 如何模擬圖靈機?
- 21. 素數的圖靈機
- 22. 計算理論圖靈機
- 23. 什麼是這個圖標以及如何擺脫它
- 24. 爲什麼Facebook使用圖片精靈而不是基礎64?
- 25. 一元可以用在圖靈機嗎?
- 26. 什麼是暫停線程?
- 27. 在數據庫中做靈活列的正確方法是什麼?
- 28. 停止按鈕在擺動
- 29. 爲什麼補間會隨機停止?
- 30. 統計員的圖靈機圖