NFA到DFA的轉(zhuǎn)換及DFA的簡化

還不太了解有窮自動機(jī)或是NFA的同學(xué)可以先看我的上一篇文章:正則到NFA的轉(zhuǎn)換

確定型有窮自動機(jī)

確定型有窮自動機(jī)是不確定有窮自動機(jī)中的一個特例,其中:

  1. 沒有輸出ε之上的轉(zhuǎn)換動作墓律。
  2. 對每個狀態(tài)s和每個輸入符號a醋界,有且只有一條標(biāo)號為a的邊離開s

確定型有窮自動機(jī)的轉(zhuǎn)換

下面來看看NFA怎么轉(zhuǎn)換為DFA吧
先來看看一會會涉及到操作


涉及的操作

以下為算法


在這里插入圖片描述

看完算法可能還是有些懵逼锚沸,我們一起來過一遍實(shí)例空入。以下圖為例。


例子
  1. 先構(gòu)建一個這樣的表格


    在這里插入圖片描述
  2. 然后從起始態(tài)出發(fā)禾进,做空串的kleene閉包姐呐,得到{ 0,1,2,3,4,7}殿怜,填入NFA的第一行,DFA此時命名為A(或數(shù)字1曙砂,甚至是α都可以)头谜,然后對這個得到的閉包做 move(a)操作,即用這個閉包的所有狀態(tài)去匹配a鸠澈,可以得到{1,2,3,4,6,7,8}柱告,發(fā)現(xiàn)是一個全新的狀態(tài),填到NFA的第二行笑陈,給其DFA命名為B际度,然后在a下填入B。

  3. 然后還是用A去做 move(b) 操作涵妥,得到全新閉包{1,2,4,5,6,7}乖菱,例如NFA第三行,稱其為C,在b的第一行填入C窒所。至此鹉勒,得到下表


    在這里插入圖片描述
  4. 然后再對B做 move(a)和 move(b)操作,得到


    在這里插入圖片描述
  5. 操作C得到


    在這里插入圖片描述
  6. 操作D得到


    在這里插入圖片描述
  7. 操作E得到吵取,此時發(fā)現(xiàn)舊狀態(tài)全部處理完禽额,且沒有出現(xiàn)新狀態(tài)。那么我們的DFA就求完了皮官。


    在這里插入圖片描述
  8. 將狀態(tài)表轉(zhuǎn)換為狀態(tài)圖(這里需要注意脯倒,A為第一個起始狀態(tài),所以A為起始態(tài)捺氢。由于E包含接收態(tài)10藻丢,故E為接收態(tài)),整個轉(zhuǎn)換過程就全部結(jié)束了讯沈。這個方法我們稱其為子集構(gòu)造法


    在這里插入圖片描述

DFA的簡化

對于同一個語言,可以存在多個識別此語言的DFA婿奔,所以缺狠,求出DFA后,通常我們還需要對DFA進(jìn)行簡化操作萍摊,求出最簡DFA挤茄。
簡化的本質(zhì)是合并性質(zhì)相同的狀態(tài),以減少整個圖的大小冰木。

算法

  1. 將得到的狀態(tài)進(jìn)行劃分 ∏ 穷劈,劃分為兩部分,一部分為接收態(tài)踊沸,一部分為為非接收態(tài)組歇终。
  2. 繼續(xù)進(jìn)行劃分,通過其可以匹配的字符進(jìn)行判斷逼龟,若該組內(nèi)所有成員匹配字符都落在同一組內(nèi)评凝,即不可再分,否則重新劃分組
  3. 若 ∏new = ∏ 腺律,則進(jìn)入步驟4奕短,否則返回2
  4. 在分組 ∏new 每個組中選取一個狀態(tài)作為代表,代表DFA的最簡狀態(tài)匀钧。

實(shí)例

直接用上圖轉(zhuǎn)換出來的DFA來做翎碑。


在這里插入圖片描述
  1. 分組,得到 {A,B,C,D} {E}
  2. {E} 獨(dú)自分組之斯,無法操作日杈。 {A,B,C,D}做a操作,發(fā)現(xiàn)都轉(zhuǎn)為狀態(tài)B,做b操作达椰,A翰蠢,B,C在 {A,B,C,D} 組內(nèi)成員啰劲,而D在另一個組內(nèi)梁沧,重新分組得到 {A,B,C} {D} {E}
  3. {D} {E}無法操作, {A,B,C} 做a操作蝇裤,都在同一組內(nèi)廷支,做b操作,B不在同一組內(nèi)栓辜,重新劃分恋拍,重新分組得到 {A,C} {B} {D} {E}
  4. {A,C} 進(jìn)行a操作和b操作都在同一組內(nèi),無法繼續(xù)向下劃分了藕甩。操作到此結(jié)束施敢。可以將 {A,C}合并
  5. 得到以下轉(zhuǎn)換表


    在這里插入圖片描述
  6. 轉(zhuǎn)換為狀態(tài)圖后


    最簡DFA

    至此我們NFA轉(zhuǎn)DFA及DFA的簡化全部完成了狭莱。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末僵娃,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子腋妙,更是在濱河造成了極大的恐慌默怨,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,110評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件骤素,死亡現(xiàn)場離奇詭異匙睹,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)济竹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,443評論 3 395
  • 文/潘曉璐 我一進(jìn)店門痕檬,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人送浊,你說我怎么就攤上這事谆棺。” “怎么了罕袋?”我有些...
    開封第一講書人閱讀 165,474評論 0 356
  • 文/不壞的土叔 我叫張陵改淑,是天一觀的道長。 經(jīng)常有香客問我浴讯,道長朵夏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,881評論 1 295
  • 正文 為了忘掉前任榆纽,我火速辦了婚禮仰猖,結(jié)果婚禮上捏肢,老公的妹妹穿的比我還像新娘。我一直安慰自己饥侵,他們只是感情好鸵赫,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,902評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著躏升,像睡著了一般辩棒。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膨疏,一...
    開封第一講書人閱讀 51,698評論 1 305
  • 那天一睁,我揣著相機(jī)與錄音,去河邊找鬼佃却。 笑死者吁,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的饲帅。 我是一名探鬼主播复凳,決...
    沈念sama閱讀 40,418評論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灶泵!你這毒婦竟也來了育八?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,332評論 0 276
  • 序言:老撾萬榮一對情侶失蹤丘逸,失蹤者是張志新(化名)和其女友劉穎单鹿,沒想到半個月后掀宋,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體深纲,經(jīng)...
    沈念sama閱讀 45,796評論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,968評論 3 337
  • 正文 我和宋清朗相戀三年劲妙,在試婚紗的時候發(fā)現(xiàn)自己被綠了湃鹊。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,110評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡镣奋,死狀恐怖币呵,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情侨颈,我是刑警寧澤余赢,帶...
    沈念sama閱讀 35,792評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站哈垢,受9級特大地震影響妻柒,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜耘分,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,455評論 3 331
  • 文/蒙蒙 一举塔、第九天 我趴在偏房一處隱蔽的房頂上張望绑警。 院中可真熱鬧,春花似錦央渣、人聲如沸计盒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,003評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽北启。三九已至,卻和暖如春志衍,著一層夾襖步出監(jiān)牢的瞬間暖庄,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,130評論 1 272
  • 我被黑心中介騙來泰國打工楼肪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留培廓,地道東北人。 一個月前我還...
    沈念sama閱讀 48,348評論 3 373
  • 正文 我出身青樓春叫,卻偏偏與公主長得像肩钠,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子暂殖,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,047評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 專業(yè)考題類型管理運(yùn)行工作負(fù)責(zé)人一般作業(yè)考題內(nèi)容選項(xiàng)A選項(xiàng)B選項(xiàng)C選項(xiàng)D選項(xiàng)E選項(xiàng)F正確答案 變電單選GYSZ本規(guī)程...
    小白兔去釣魚閱讀 8,999評論 0 13
  • 數(shù)據(jù)結(jié)構(gòu)與算法 1.算法的有窮性是指( )呛每。答案:A A)算法程序的運(yùn)行時間是有限的 B)算法程序所處理的數(shù)據(jù)量是...
    織夢學(xué)生閱讀 3,390評論 1 15
  • 1. 關(guān)于診斷X線機(jī)準(zhǔn)直器的作用踩窖,錯誤的是()。 (6.0 分) A. 顯示照射野 B. 顯示中心線 C. 屏蔽多...
    我們村我最帥閱讀 10,456評論 0 5
  • 1. 下列敘述錯誤的是()晨横。 (2.0 分) A. 質(zhì)量管理包括QA和QC一切活動的全部過程 B. 影像質(zhì)量是指對...
    我們村我最帥閱讀 3,826評論 0 8
  • 選擇題部分 1.(),只有在發(fā)生短路事故時或者在負(fù)荷電流較大時,變流器中才會有足夠的二次電流作為繼電保護(hù)跳閘之用洋腮。...
    skystarwuwei閱讀 12,927評論 0 7