看MIT的公開課,裡面的教授說圖靈認為用六條最基本指令就能實現必要的操作。這六條指令是什麼呢?

個人覺得應該有加法指令、讀入數據、寫數據、跳轉。。。


參考Quora上的這個答案
How Did Alan Turing Show That Only Six Primitive Operations Can Be Used to Do Any Mathematical Operation?
六個基本類型是:

  1. read
  2. write
  3. erase
  4. move left
  5. move right
  6. halt

可以參考一下最小的圖靈完備語言,其維基百科釋義:Brainfuck

一個圖靈完備的語言能夠完成通用圖靈機所能完成的工作,在紙帶上移動,按讀取到的狀態跳轉,修改紙帶上的數據,接受輸入並得到結果(停機或不停機)。

Brainfuck的操作和圖靈機類似,想像CPU按著你編寫的紙帶,哦,不,是語句,一條條執行下去。不過Brainfuck實現圖靈完備的指令有八條,也許「實現必要的操作」只需要其中的六條。


讀,寫,移動,開始,終止
應該還有個下一個next,不過移動就可以實現吧


推薦閱讀:

程序員童鞋們,你們有那些神器來提高生活質量?
有哪些關於女程序員的笑話?
你是在何時感覺自己的編程水平完爆身邊大多數人的?
計算機專業學生的迷茫?

TAG:程序員 | 編程 | 程序員修養 |