【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )
文章目錄
- 一、非確定性圖靈機 與 計算樹
- 二、非確定性
- 三、非確定性圖靈機 與 確定性圖靈機 相互模仿
- 四、非確定性圖靈機 -> 確定性圖靈機
一、非確定性圖靈機 與 計算樹
非確定性圖靈機體現在多個方面 , 如果在下圖的 q1\rm q_1q1? 狀態時 , 讀寫頭指向 000 時 , 有 兩個操作 ;
確定性圖靈機中 , 單個狀態下 , 讀取確定的字符時 , 只允許有一條對應的指令 , 不能出現多個后繼狀態 ;
非確定性圖靈機 的計算過程是一個 計算樹 ;
計算樹 在計算機科學中 , 是一個很重要的數據結構 , 算法的計算復雜度主要是根據計算樹進行分析的 ;
二、非確定性
非確定性圖靈機的優勢是 , 給圖靈機設計帶來了很多方便 , 給定一個計算問題 , 如果可以找到一個圖靈機來認識該計算問題 , 如果要 設計一個非確定性圖靈機很容易 , 設計確定性圖靈機 , 難度很大 ;
非確定性 在 計算理論中 , 是 搜索 和 猜測 的代名詞 ;
三、非確定性圖靈機 與 確定性圖靈機 相互模仿
非確定性圖靈機 與 確定性圖靈機 之間 , 可以進行 互相模仿 ;
非確定性圖靈機 與 確定性圖靈機 給我們的最初印象是 非確定性圖靈機 計算能力要強于 確定性圖靈機 ,
非確定性圖靈機 的后續操作可以有多個 ,
確定性圖靈機 的后續操作只有唯一的一個 ,
但實際上 非確定性圖靈機 與 確定性圖靈機 的計算能力是等價的 , 它們之間是可以 相互模仿 的 ;
給定一個 非確定性圖靈機 , 可以找到一個 確定性圖靈機 來模仿它 ,
給定一個 確定性圖靈機 , 可以找到一個 非確定性圖靈機 來模仿它 ;
四、非確定性圖靈機 -> 確定性圖靈機
確定性圖靈機 可以看成是特殊的 非確定性圖靈機 ;
給定一個 非確定性圖靈機 , 設計一個 確定性圖靈機 來模仿該 非確定性圖靈機 ;
給定如下非確定性圖靈機 , 設計 確定性圖靈機 模仿下面的 非確定性圖靈機 ;
確定性圖靈機 模仿 非確定性圖靈機 思路 :
給定一個 非確定性圖靈機 , 給定一個輸入字符串 , 在字符串上進行計算 , 得到的 格局 快照 , 形成一個 計算樹 , 如下圖示例 :
如果設計 確定性圖靈機 模仿 非確定性圖靈機 的計算過程 , 即計算樹 ,
首先模仿 非確定性圖靈機 在計算樹中的 左側 深度為 111 的計算 , 如下圖的紅色部分對應的計算過程 ;
然后模仿 非確定性圖靈機 在計算樹中的 右側的 深度為 111 的計算 , 如下圖的藍色部分對應的計算過程 ;
如果上述兩個計算都沒有進入接受狀態 , 那么繼續模仿 深度為 222 的計算 , 如下圖的紅色部分對應的計算過程 ;
如果還沒有進入接受狀態 , 那么繼續模仿另外的深度為 222 的計算 , 如下圖紫色部分對應的計算 :
如果在所有的 深度為 222 的計算中 , 都沒有進入接受狀態 , 那么繼續 模仿深度為 333 的計算過程 ;
以此類推 , 直到找到 非確定性圖靈機的 接受狀態為止 ;
如果中間 出現一次接受狀態 , 就讓搜索停止下來 , 如果沒有就繼續模仿 ;
上述的模仿過程是一個 深度優先搜索 過程 ;
非確定性圖靈機 轉為 確定性圖靈機 的計算過程 在最壞的情況下是 深度優先搜索 ,
總結
以上是生活随笔為你收集整理的【计算理论】图灵机 ( 非确定性图灵机 与 计算树 | 非确定性 | 非确定性图灵机 与 确定性图灵机 相互模仿 | 非确定性图灵机 -> 确定性图灵机 )的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算理论】图灵机 ( 非确定性图灵机
- 下一篇: 【计算理论】图灵机 ( 非确定性图灵机