構建一個圖靈機來將二進位制自然數加2?
圖靈機(TM)可以形式化地描述為七元組:
(Q,X, ∑, δ,q0,B,F)
其中:
Q 是有限狀態集。
X 是帶字母表。
∑ 是輸入字母表。
δ 是轉移函式:δ:QxX->QxXx{左移,右移}。
q0 是初始狀態。
B 是空白符號。
F 是最終狀態。
輸入 - n 一個自然數
輸出 - n + 2
讓我們用一元形式表示自然數(例如,3 = 111,5 = 11111),0用空符號表示。
演算法
將磁帶頭移動到第一個1的左側(如果存在)。
將該空單元格更改為1。
左移並重復。
停止
我們只需要3個狀態:0(初始)、1和停止;以及三個指令:
(1): (0, 1, 1, L, 0) 向左移動到空白單元格。
(2): (0, , 1, L, 1) 在單元格中寫入1並向左移動。
(3): (1, ❑, 1, S, 停止) 在單元格中寫入1並停止。
圖形化表示如下

瞬時描述
狀態 0:❑ 1 1 1 ❑ 從狀態 0 開始
狀態 0:❑ 1 1 1 ❑ (1)
狀態 1:❑ 1 1 1 1 ❑ (2)
停止:❑ 1 1 1 1 1 ❑ (3)
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP