NFA-->DFA-->最小化DFA


心得:按照步驟來(lái)走,不會(huì)走就別跑,搞得糾結(jié)半天為什么簡(jiǎn)化不了,原來(lái)是自己拿著NFA在簡(jiǎn)化。

題目:

考慮正則表達(dá)式who|what|where。使用Thompson構(gòu)造法,從這個(gè)正則表達(dá)式構(gòu)建一個(gè)NFA。使用子集構(gòu)造法,從生成的NFA構(gòu)建一個(gè)DFA。并最小化這個(gè)DFA。
首先構(gòu)造出NFA,然后用Graphviz畫(huà)出圖形。
重點(diǎn):正則表達(dá)式轉(zhuǎn)NFA(Thompson算法)
dot代碼如下:

digraph G {

S0->S1 [label = "w"];
S1->S2 [label = "h"];
S2->S3 [label = "o"];

S4->S5 [label = "w"];
S5->S6 [label = "h"];
S6->S7 [label = "a"];
S7->S8 [label = "t"];

S9->S10 [label = "w"];
S10->S11 [label = "h"];
S11->S12 [label = "e"];
S12->S13 [label = "r"];
S13->S14 [label = "e"];

S15->S0 [label = "NULL"];
S15->S4 [label = "NULL"];

S3->S16 [label = "NULL"];
S8->S16 [label = "NULL"];

S17->S9 [label = "NULL"];
S17->S15 [label = "NULL"];

S14->S18 [label = "NULL"];
S16->S18 [label = "NULL"];
}

生成的圖片為:

Paste_Image.png

然后是確定化NFA,也就是NFA轉(zhuǎn)DFA。
重點(diǎn):NFA轉(zhuǎn)DFA(子集構(gòu)造法)
dot代碼為:

digraph G {

I0->I1 [label = " w"];
I1->I2 [label = " h"];
I2->I3 [label = " e"];
I3->I6 [label = " r"];
{
    node [style = filled];
    I6->I8 [label = " e"];
}

{
    node [style = filled];
    I2->I4 [label = " o"];
}
I2->I5 [label = " a"];
{
    node [style = filled];
    I5->I7 [label = " t"];
}
}

圖片為:

Paste_Image.png

無(wú)需進(jìn)行DFA簡(jiǎn)化。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 寫(xiě)在前面 從源代碼到可執(zhí)行文件要經(jīng)歷幾個(gè)過(guò)程: 詞法分析 語(yǔ)法分析 語(yǔ)義分析 中間代碼生成 代碼優(yōu)化 詞法分析有點(diǎn)...
    wsztrush閱讀 2,297評(píng)論 0 5
  • 轉(zhuǎn)自: JS正則表達(dá)式一條龍講解,從原理和語(yǔ)法到JS正則、ES6正則擴(kuò)展,最后再到正則實(shí)踐思路 溫馨提示:文章很長(zhǎng)...
    前端渣渣閱讀 1,917評(píng)論 1 32
  • 初衷:看了很多視頻、文章,最后卻通通忘記了,別人的知識(shí)依舊是別人的,自己卻什么都沒(méi)獲得。此系列文章旨在加深自己的印...
    DCbryant閱讀 4,273評(píng)論 0 20
  • 標(biāo)題: Rakudo and NQP Internals子標(biāo)題: The guts tormented imple...
    焉知非魚(yú)閱讀 1,529評(píng)論 1 3
  • 說(shuō)到“好老師講課”的例子,我分享下我的經(jīng)歷。 換位思考,是以前我經(jīng)常用到的思考問(wèn)題的方法,這也許是調(diào)整關(guān)注焦點(diǎn)的諸...
    戒得草堂閱讀 132評(píng)論 0 2

友情鏈接更多精彩內(nèi)容