【计算理论】计算理论总结 ( 图灵机设计示例 ) ★★
文章目錄
- 一、圖靈機設計示例 2
- 二、圖靈機設計示例 3
- 三、圖靈機設計示例 4
一、圖靈機設計示例 2
給定語言 : A={w∣w包含相同個數的0和1}\rm A = \{w | w 包含相同個數的 0 和 1 \}A={w∣w包含相同個數的0和1} , 設計出該語言對應的圖靈機 ;
M\rm MM 圖靈機算法設計如下 : 算法的描述是雙引號 “” 中的內容 , 這是操作意義上的圖靈機 , 只描述圖靈機讀頭操作 , 沒有必要將圖靈機指令整體設計出來 ;
M=\rm M =M= "在長度為 n\rm nn 的字符串 w\rm ww 上進行如下計算 :
① 返回帶子最左端 , 從左向右掃描帶子 , 找到 未標記的 000 , 標記后 , 轉到 ② 繼續運行 ; 如果沒有找到未標記的 000 , 轉到 ③ 運行 ;
② 返回帶子最左端 , 從左向右掃描帶子 , 找到 未標記的 111 , 標記后 , 轉到 ① 繼續運行 ; 如果沒有找到未標記的 111 , 進入拒絕狀態 ;
③ 返回帶子最左端 , 從左向右掃描帶子 , 找到未標記的 111 , 如果有則 進入拒絕狀態 , 如果沒有則 進入接受狀態 ; "
二、圖靈機設計示例 3
給定語言 : A={w∣w包含0的個數是1的個數的兩倍}\rm A = \{w | w 包含 0 的個數是 1 的個數的兩倍 \}A={w∣w包含0的個數是1的個數的兩倍} , 設計出該語言對應的圖靈機 ;
M\rm MM 圖靈機算法設計如下 : 算法的描述是雙引號 “” 中的內容 , 這是操作意義上的圖靈機 , 只描述圖靈機讀頭操作 , 沒有必要將圖靈機指令整體設計出來 ;
M=\rm M =M= "在長度為 n\rm nn 的字符串 w\rm ww 上進行如下計算 :
① 返回帶子最左端 , 從左向右掃描帶子 , 如果沒有發現 000 , 進入拒絕狀態 ;
② 返回帶子最左端 , 從左向右掃描帶子 , 找到 兩個未標記的 000 , 標記后 , 轉到 ③ 繼續運行 ; 如果沒有找到未標記的 000 , 轉到 ④ 運行 ; 如果發現一個未標記的 000 , 進入拒絕狀態 ;
③ 返回帶子最左端 , 從左向右掃描帶子 , 找到 未標記的 111 , 標記后 , 轉到 ② 繼續運行 ; 如果沒有找到未標記的 111 , 進入拒絕狀態 ;
④ 返回帶子最左端 , 從左向右掃描帶子 , 找到未標記的 111 , 如果有則 進入拒絕狀態 , 如果沒有則 進入接受狀態 ; "
三、圖靈機設計示例 4
給定語言 : A={w∣w包含0的個數不是1的個數的兩倍}\rm A = \{w | w 包含 0 的個數不是 1 的個數的兩倍 \}A={w∣w包含0的個數不是1的個數的兩倍} , 設計出該語言對應的圖靈機 ;
M\rm MM 圖靈機算法設計如下 : 算法的描述是雙引號 “” 中的內容 , 這是操作意義上的圖靈機 , 只描述圖靈機讀頭操作 , 沒有必要將圖靈機指令整體設計出來 ;
M=\rm M =M= "在長度為 n\rm nn 的字符串 w\rm ww 上進行如下計算 :
① 返回帶子最左端 , 從左向右掃描帶子 , 找到 兩個未標記的 000 , 標記后 , 轉到 ② 繼續運行 ; 如果沒有找到未標記的 000 , 轉到 ③ 運行 ; 如果發現一個未標記的 000 , 進入接受狀態 ;
② 返回帶子最左端 , 從左向右掃描帶子 , 找到 未標記的 111 , 標記后 , 轉到 ① 繼續運行 ; 如果沒有找到未標記的 111 , 進入拒絕狀態 ;
③ 返回帶子最左端 , 從左向右掃描帶子 , 找到未標記的 111 , 如果有則 進入接受狀態 , 如果沒有則 進入拒絕狀態 ; "
總結
以上是生活随笔為你收集整理的【计算理论】计算理论总结 ( 图灵机设计示例 ) ★★的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算理论】计算理论总结 ( 图灵机设计
- 下一篇: 【鸿蒙 HarmonyOS】UI 组件