構造一個圖靈機 (TM),以二進位制數作為輸入,並將最後一位替換為其布林補碼。
問題
設計一個圖靈機 (TM),它接收一個二進位制數作為輸入,並將字串的最後一位替換為其布林補碼。
解決方案
圖靈機是一個7元組 (Q, ∑, Γ, δ, q0, qaccept , qreject)
其中:
Q 是有限狀態集。
∑ 是輸入字母表,不包含空格符 t。
Γ 是帶字母表,其中 t ∈ Γ 且 ∑ ⊆ Γ。
δ − (Q × Γ) → (Q × Γ × {L, R}) 是轉移函式。
q0 ∈ Q 是起始狀態。
qaccept ∈ Q 是接受狀態。
qreject ∈ Q 是拒絕狀態,其中 qreject ≠ qaccept。
在這個圖靈機中:
在狀態 q0,我們將讀取所有輸入,直到遇到空格符。
如果找到空格,我們向左移動一位。
現在,我們有兩個選擇:最後一位是 0 或 1。
如果是 0,則將其替換為 1,反之亦然。
狀態 q4 是最終狀態。
如果將二進位制數作為輸入,並將字串的最後一位替換為其布林補碼,則圖靈機如下所示。
廣告