【计算理论】计算理论总结 ( 图灵机设计 ) ★★
文章目錄
- 一、圖靈機(jī)
- 二、圖靈機(jī)設(shè)計(jì)
- 三、圖靈機(jī)設(shè)計(jì)示例 1
一、圖靈機(jī)
圖靈機(jī)要素 :
① 有限多狀態(tài)集 , Q\rm QQ ;
② 有限多個(gè)字符集 , Σ\rm \SigmaΣ ;
③ 帶子字符集 , Γ\rm \GammaΓ , 包含 Σ\rm \SigmaΣ ;
④ 轉(zhuǎn)換函數(shù) , 即指令集 , δ\deltaδ ;
⑤ 開(kāi)始狀態(tài) , q0\rm q_0q0? , 包含在 Q\rm QQ 中 ;
⑥ 空白字符 , u\rm uu , 包含在 Γ?Σ\rm \Gamma - \SigmaΓ?Σ ( 相對(duì)補(bǔ)集 ) 集合中 ;
⑦ 一些接受狀態(tài) , F\rm FF , 其中 F?Q\rm F \subseteq QF?Q ;
指令與轉(zhuǎn)換函數(shù) : 圖靈機(jī)是根據(jù)指令進(jìn)行計(jì)算的 , 指令 是一個(gè) 轉(zhuǎn)換函數(shù) δ\rm \deltaδ ;
轉(zhuǎn)換函數(shù) δ\rm \deltaδ 兩個(gè)輸入?yún)?shù) :
- 參數(shù)一 : 狀態(tài) q\rm qq , 該狀態(tài)是 Q\rm QQ 中的元素 , q∈Qq \in\rm Qq∈Q ;
- 參數(shù)二 : 帶子字符 ZZZ , 該字符是 Γ\rm \GammaΓ 集合中的元素 , Z∈Γ\rm Z \in \GammaZ∈Γ ;
轉(zhuǎn)換函數(shù) δ\rm \deltaδ 輸出是一個(gè)三元組 :
- 輸出一 : 狀態(tài) p\rm pp ;
- 輸出二 : 帶子字符 Y\rm YY ;
- 輸出三 : 方向 D\rm DD , 向左或向右 , 讀取頭下面要移動(dòng)的方向 ;
指令 δ\rm \deltaδ 表示的含義解析 :
δ(q,Z)=(p,Y,D)\rm \delta(q, Z) = (p, Y, D)δ(q,Z)=(p,Y,D) 轉(zhuǎn)換函數(shù) , 其中 q,Z\rm q,Zq,Z 是兩個(gè)輸入 , p,Y,D\rm p, Y, Dp,Y,D 是三個(gè)輸出 ,
開(kāi)始時(shí)圖靈機(jī)的 狀態(tài)是 q\rm qq 狀態(tài) , 讀取頭指向的字符是 Z\rm ZZ ,
執(zhí)行該轉(zhuǎn)換函數(shù) δ\rm \deltaδ , 會(huì)將 狀態(tài)轉(zhuǎn)變?yōu)?p\rm pp 狀態(tài) , 將 讀取頭指向的帶子上的字符 Z\rm ZZ 擦除 , 并改為 Y\rm YY , 然后 沿著 D\rm DD 方向 , 移動(dòng)一格單位 ;
其中 D\rm DD 方向可以是 L\rm LL 向左移動(dòng) , 也可以是 R\rm RR 向右移動(dòng) ;
格局 Configuration , 格局是給圖靈機(jī)照一個(gè) 快照 , 下圖就是圖靈機(jī)在計(jì)算過(guò)程中 , 某一個(gè)時(shí)刻的快照 ;
將圖靈機(jī)計(jì)算過(guò)程 , 每個(gè)步驟都照一份快照 , 通過(guò)軌跡將這些快照聯(lián)系到一起 , 就可以得到一個(gè)數(shù)據(jù)結(jié)構(gòu) ,
上述格局可以記作 00q1B\rm 00q1B00q1B , 該寫(xiě)法表示 與 某個(gè)格局 ( 快照 ) 一一對(duì)應(yīng) ;
在 圖靈機(jī)中 , 讀頭指向 111 , 就將狀態(tài)寫(xiě)在 111 的左邊 ;
二、圖靈機(jī)設(shè)計(jì)
圖靈機(jī)的設(shè)計(jì)很復(fù)雜 , 一般情況下 , 不需要設(shè)計(jì)出圖靈機(jī)的具體的指令 ,
只需要 使用語(yǔ)言描述圖靈機(jī)的讀寫(xiě)頭在帶子上的操作 即可 ;
設(shè)計(jì)圖靈機(jī) , 只需要 將圖靈機(jī)描述出來(lái) 即可 ;
證明問(wèn)題屬于 P\rm PP , 只需要將問(wèn)題使用圖靈機(jī)判定的過(guò)程描述出來(lái) , 計(jì)算出該問(wèn)題的時(shí)間復(fù)雜度的數(shù)量級(jí) ;
三、圖靈機(jī)設(shè)計(jì)示例 1
給定語(yǔ)言 : A={0k1k:k≥0}\rm A = \{ 0^k1^k : k \geq 0 \}A={0k1k:k≥0} , 設(shè)計(jì)出該語(yǔ)言對(duì)應(yīng)的圖靈機(jī) ;
M1\rm M_1M1? 圖靈機(jī)算法設(shè)計(jì)如下 : 算法的描述是雙引號(hào) “” 中的內(nèi)容 , 這是操作意義上的圖靈機(jī) , 只描述圖靈機(jī)讀頭操作 , 沒(méi)有必要將圖靈機(jī)指令整體設(shè)計(jì)出來(lái) ;
M1=\rm M_1 =M1?= "在長(zhǎng)度為 n\rm nn 的字符串 w\rm ww 上進(jìn)行如下計(jì)算 :
① 掃描整個(gè)帶子上的字符串 , 查看 000 和 111 的順序 , 所有的 000 必須在所有的 111 前面 ; 如果順序錯(cuò)誤 , 進(jìn)入拒絕狀態(tài) ;
② 掃描整個(gè)帶子 , 遇到一個(gè) 000 , 就劃掉一個(gè) 111 ; 如果帶子上存在 000 和 111 , 該操作重復(fù)進(jìn)行 ;
③ 如果最后只剩下 000 或只剩下 111 , 說(shuō)明 兩個(gè)數(shù)字的個(gè)數(shù)不等 , 進(jìn)入拒絕狀態(tài) ; 如果最后帶子上只剩下空白字符 , 說(shuō)明兩個(gè)數(shù)字個(gè)數(shù)相等 , 進(jìn)入接受狀態(tài) ; "
總結(jié)
以上是生活随笔為你收集整理的【计算理论】计算理论总结 ( 图灵机设计 ) ★★的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 【计算理论】计算理论总结 ( 上下文无关
- 下一篇: 【计算理论】计算理论总结 ( 图灵机设计