图灵机1:简介
圖靈機(jī)(TM)的特點(diǎn):? ? ? ? ? ? ? ? ? ? ? ? ?
1:在帶子上既能讀又能寫(xiě)
2:讀寫(xiě)頭既能左移又能右移
3:帶子是無(wú)限長(zhǎng)的(可以無(wú)限存儲(chǔ))
4:在進(jìn)入接受或者拒絕時(shí)候便會(huì)停機(jī)(TM有一個(gè)內(nèi)部狀態(tài)存儲(chǔ)器)
圖靈機(jī)的形式定義:
圖靈機(jī)是一個(gè)七元組:(),其中是有窮集合。
Q:是狀態(tài)集,是Q三個(gè)特別的狀態(tài),即:一個(gè)初始狀態(tài),兩個(gè)停機(jī)狀態(tài)。
要求:接收狀態(tài)不等于初始狀態(tài)。
兩個(gè)字母表:
是輸入字母表,一般由確定的語(yǔ)言給出。不能包含空格B.
是帶字母表,由于TM的寫(xiě)功能,可以引入更多的字母,所以:
轉(zhuǎn)移函數(shù):
:即:TM在讀入帶字母表當(dāng)前符號(hào)后,確定狀態(tài)是否改變,并確定讀寫(xiě)頭的左移或右移。(這里討論的圖靈機(jī)不包含讀寫(xiě)頭不動(dòng)的情況)
圖靈機(jī)的格局:
格局用來(lái)描述某一瞬時(shí)圖靈機(jī)的所有信息狀態(tài)。
形式:串U狀態(tài)Q串V(簡(jiǎn)記:UQV),串u+串v構(gòu)成了帶上字母,q指向當(dāng)前v的第一個(gè)字母。
格局之間的產(chǎn)生:
如果:,則說(shuō):格局1 uabv產(chǎn)生 格局2 uacv
,則說(shuō):格局1 uabv產(chǎn)生 格局2 uacv
特別地,在左端點(diǎn)時(shí),狀態(tài)位于最前面,不允許左移了;在右端點(diǎn)時(shí),假設(shè)沒(méi)有符號(hào)的為空格,則:?ua等價(jià)于?uaB.
(用格局來(lái)定義圖靈機(jī)可接受的語(yǔ)言)
一個(gè)例子:
一個(gè)圖靈機(jī)可識(shí)別所有由0組成,長(zhǎng)度為2的方冪的字符串
即:TM可識(shí)別語(yǔ)言A=
解:M2="對(duì)于輸入的字符串w:
1:? ?從左往右掃描帶子,隔一個(gè)消去一個(gè)0(相當(dāng)于對(duì)0的長(zhǎng)度減半操作)。
2:如果第一步之后,帶子上剩余唯一1個(gè)0則接受。
3:? 如果在第一步之后剩余不止一個(gè)0,當(dāng)0的個(gè)數(shù)為奇數(shù)個(gè),則拒絕。(2k+1不可能是2的冪次)
4:讓讀寫(xiě)頭回到帶子最左端(要有標(biāo)記帶頭最左端的操作)。
5:轉(zhuǎn)到第一步
"結(jié)束
分步畫(huà)出狀態(tài)轉(zhuǎn)移圖:
合在一起就是:
下面畫(huà)出對(duì)于字符串“0000”的格局:
例子2:讓圖靈機(jī)識(shí)別下列語(yǔ)言:
分析:
這里每消去一個(gè)a,就讓c去掉b個(gè),也就是將b與c一一消去,然后再讀寫(xiě)頭返回a是,恢復(fù)b.
M3="對(duì)于輸入字符串w:
1:從左往右掃描字符串,確認(rèn)輸入形式為:a_b_c_.如不然拒絕。
2:讓讀寫(xiě)頭回到左端點(diǎn)。(故讀第一個(gè)a后可標(biāo)記為#)
(1,2步保證了先出現(xiàn)a,然后讀b后不能出現(xiàn)a,讀c后不能出現(xiàn)a,b)
3:消去一個(gè)a,向右掃描直到b出現(xiàn),然后讀寫(xiě)頭在b與c來(lái)回移動(dòng),成對(duì)地消去b和c,直至把所有的b消去。
4:如果還有a沒(méi)消去,則在讀寫(xiě)頭移動(dòng)a前,恢復(fù)所有已消去的b,重復(fù)3,當(dāng)所有的a都消去后,檢查是否有c,c都被消去了則接受,反之,拒絕。
"
最后區(qū)分:圖靈可判斷和圖靈可識(shí)別
一個(gè)TM,最后只有三種狀態(tài),兩種停機(jī)狀態(tài),接受或拒絕;一種循環(huán)狀態(tài),這里是永不停機(jī)的意思。
即:
兩者都能接受語(yǔ)言,但對(duì)于不能接受的語(yǔ)言,判定一定會(huì)拒絕,判定(yes or no)
而識(shí)別的話,一般要么停機(jī)要么永不停機(jī)
圖靈可識(shí)別=遞歸可枚舉(數(shù)學(xué)角度)=計(jì)算可枚舉=半可判定
圖靈可判定=遞歸=可解=可計(jì)算=可判定
總結(jié)
- 上一篇: 8 个你应该了解的环保开源项目
- 下一篇: HDMI协议