【计算理论】正则语言 ( 推广型的非确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机 转为 正则表达式 )
文章目錄
- 一、推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) 引入
- 二、推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) 刪除狀態(tài)
- 三、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式
- 四、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 1 ) 添加開始狀態(tài) SSS 和結(jié)束狀態(tài) TTT
- 五、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 刪除方法
- 六、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 信息梳理
- 七、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 : 111 -> 222 -> 333 生成信息 111 -> 333
- 八、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 : 333 -> 222 -> 333 生成信息 333 -> 333
- 九、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 階段性結(jié)果
- 十、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 3 ) 刪除 狀態(tài) 111 信息梳理
- 十一、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 3 ) 刪除 狀態(tài) 111 : 333 -> 111 -> 333 生成信息 333 -> 333
- 十二、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 3 ) 刪除 狀態(tài) 111 : SSS -> 111 -> 333 生成信息 SSS -> 333
- 十三、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 2,12 , 12,1 階段性結(jié)果
- 十四、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 4 ) 刪除 狀態(tài) 333 信息梳理
- 十五、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 4 ) 刪除 狀態(tài) 333 : SSS -> 333 -> TTT 生成信息 SSS -> TTT
- 十六、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 總結(jié)
一、推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) 引入
1 . 給定一個(gè)自動(dòng)機(jī) , 必有一個(gè)正則表達(dá)式可以表示其所識(shí)別的語言 ;
2 . 引入 推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) : 首先要構(gòu)造一個(gè)推廣的一般型的非確定性有限自動(dòng)機(jī) , 每次消除一個(gè)狀態(tài) , 最后只剩下兩個(gè)狀態(tài) , 此時(shí)箭頭上的正則表達(dá)式就是最終的正則表達(dá)式 ;
上述自動(dòng)機(jī)是一個(gè) 推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) , 箭頭上 不是單個(gè)字符 或 空字符 , 而是 正則表達(dá)式 ;
3 . 推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) 中的推廣的體現(xiàn) :
① 非確定性有限自動(dòng)機(jī) ( NFA ) : 箭頭上 只能出現(xiàn) 字符 , 空字符串 , 222 種輸入 , 不能出現(xiàn)其它輸入內(nèi)容 ;
② 推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) : 箭頭上 可以出現(xiàn) 字符 , 空字符串 , 空集 , 正則表達(dá)式 , 444 種輸入 ;
4 . 推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) 與 非確定性有限自動(dòng)機(jī) ( NFA ) 是等價(jià)的 ;
二、推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) 刪除狀態(tài)
給定一個(gè) 推廣型的非確定性有限自動(dòng)機(jī) ( GNFA ) , 找到一個(gè)正則表達(dá)式 , 代表給定自動(dòng)機(jī)的語言 ;
1 . 需求描述 : 上述自動(dòng)機(jī)中 , R1,R2,R3,R4R_1 , R_2, R_3, R_4R1?,R2?,R3?,R4? 都是正則表達(dá)式 ;
刪除 q0q_0q0? 狀態(tài) : 目前希望能刪除 自動(dòng)機(jī)中的 q0q_0q0? 狀態(tài) , 刪除 q0q_0q0? 之后 , 會(huì)省略一部分語言 , 這里 省略了 R1,R2,R3R_1 , R_2 , R_3R1?,R2?,R3? ;
語言要求 : 將 q0q_0q0? 狀態(tài)刪除后 , 不影響整個(gè)自動(dòng)機(jī)所接受的語言 , 那么需要將省略的部分語言 , 補(bǔ)充到 R4R_4R4? 中 ;
2 . R1,R2,R3R_1 , R_2 , R_3R1?,R2?,R3? 關(guān)系分析 :
① R2R_2R2? 星運(yùn)算 : R2R_2R2? 是一個(gè)循環(huán) , q0q_0q0? 接受 R2R_2R2? 后 , 仍然保持 q0q_0q0? 狀態(tài) , 這里的該循環(huán)的正則表達(dá)式表示為 (R2)?(R_2)^*(R2?)? ;
② R1R_1R1? 與 (R2)?(R_2)^*(R2?)? 串聯(lián)運(yùn)算 : R1R_1R1? 與 (R2)?(R_2)^*(R2?)? 是串聯(lián)關(guān)系 , 表示為 R1(R2)?R_1 (R_2)^*R1?(R2?)?
③ 與 R3R_3R3? 的串聯(lián)運(yùn)算 : R1(R2)?R_1 (R_2)^*R1?(R2?)? 與 R3R_3R3? 是串聯(lián)關(guān)系 , 表示為 R1(R2)?R3R_1 (R_2)^* R_3R1?(R2?)?R3? ;
3 . 并運(yùn)算 : R1(R2)?R3R_1 (R_2)^* R_3R1?(R2?)?R3? 與 R4R_4R4? 是并集關(guān)系 , 都是 qiq_iqi? 到 qjq_jqj? 的輸入的正則表達(dá)式 ;
4 . 兩個(gè)正則表達(dá)式并運(yùn)算表示為 : (R1(R2)?R3)∪R4( R_1 (R_2)^* R_3 ) \cup R_4(R1?(R2?)?R3?)∪R4?
三、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式
上圖中的自動(dòng)機(jī)是一個(gè) 333 個(gè)狀態(tài)的 確定性有限自動(dòng)機(jī) ( DFA ) ;
將上述 確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為正則表達(dá)式 ;
四、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 1 ) 添加開始狀態(tài) SSS 和結(jié)束狀態(tài) TTT
1 . 添加開始和結(jié)束狀態(tài) :
① 添加開始狀態(tài) : 添加新的開始狀態(tài) SSS , 使用 ε\varepsilonε 箭頭指向當(dāng)前 確定性有限自動(dòng)機(jī) ( DFA ) 的 開始狀態(tài) ;
② 添加結(jié)束狀態(tài) : 再次添加一個(gè) 接受狀態(tài) , 從 確定性有限自動(dòng)機(jī) ( DFA ) 的接受狀態(tài) 指向該新的結(jié)束狀態(tài) , 該新添加的結(jié)束狀態(tài) 是 接受狀態(tài) ;
2 . 確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 思想 : 逐步刪除 1,2,31,2,31,2,3 狀態(tài) , 每次刪除一個(gè)狀態(tài) , 生成新的正則表達(dá)式 , 最后就剩下 開始狀態(tài) SSS , 和結(jié)束狀態(tài) TTT , 最后剩下的就是 SSS 到 TTT 狀態(tài)的正則表達(dá)式 , 也是自動(dòng)機(jī)的正則表達(dá)式 ;
五、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 刪除方法
1 . 刪除 222 狀態(tài) :
① 信息抽取轉(zhuǎn)移 : 找到 與 222 狀態(tài) 所有的相關(guān)的信息 , 添加到其它的箭頭上 , 如果沒有創(chuàng)建一個(gè)新的箭頭 ;
② 222 狀態(tài)的輸入和輸出 : 哪些狀態(tài) 有箭頭 輸入到 222 狀態(tài) , 222 狀態(tài) 有哪些箭頭 輸出到了其它狀態(tài) ;
③ 信息轉(zhuǎn)移 : 將每個(gè)輸入 和 每個(gè)輸出的信息全部轉(zhuǎn)移 , 一條信息也不能遺漏 ;
④ 222 狀態(tài)的輸入輸出統(tǒng)計(jì) : 有 333 條輸入 , 222 條輸出 ; 其中有 一條輸入輸出是從 222 狀態(tài)輸出指向 它自己 , 共有 444 個(gè)箭頭信
息 ; 外部輸入有 2 條 , 外部輸出 有 111 條 , 需要生成的箭頭信息個(gè)數(shù)是 外部輸入條數(shù)×外部輸出條數(shù)外部輸入條數(shù) \times 外部輸出條數(shù)外部輸入條數(shù)×外部輸出條數(shù) ;
2 . 222 狀態(tài)的循環(huán) ( 111 輸入 111 輸出 ) : 222 狀態(tài)下讀取 bbb , 仍然回到 222 狀態(tài) ; 這 111 個(gè)輸入 , 111 個(gè)輸出 , 是從 222 狀態(tài)輸出到 222 狀態(tài) , 這是一個(gè) 星計(jì)算 ; 使用 b?b^*b? 表示 ;
六、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 信息梳理
狀態(tài) 222 信息梳理如下 ;
1 . 222 狀態(tài)信息輸入 :
SSS 狀態(tài) 讀取 ε\varepsilonε 跳轉(zhuǎn)到 111 狀態(tài) ;
333 狀態(tài) 讀取 aaa 跳轉(zhuǎn)到 111 狀態(tài) ;
2 . 222 狀態(tài)信息輸出 :
111 狀態(tài)讀取 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b 正則表達(dá)式 跳轉(zhuǎn)到 333 狀態(tài) ;
3 . 箭頭信息生成個(gè)數(shù) : 外部輸入有 2 條 , 外部輸出 有 111 條 , 需要生成的箭頭信息條數(shù) :
外部輸入條數(shù)×外部輸出條數(shù)=2×1=2外部輸入條數(shù) \times 外部輸出條數(shù) = 2 \times 1 = 2外部輸入條數(shù)×外部輸出條數(shù)=2×1=2
七、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 : 111 -> 222 -> 333 生成信息 111 -> 333
1 . 111 -> 222 -> 333 狀態(tài)跳轉(zhuǎn) :
111 狀態(tài)讀取 aaa 跳轉(zhuǎn)到 222 狀態(tài) : 這里是狀態(tài) 222 的一條輸入 , 使用 aaa 表示 ;
222 狀態(tài)讀取 bbb 跳轉(zhuǎn)到 222 狀態(tài) : 這是無限的星計(jì)算 , 使用 b?b^*b? 表示 ;
222 狀態(tài)讀取 aaa 跳轉(zhuǎn)到 333 狀態(tài) : 這里是狀態(tài) 222 的一條輸出 , 使用 aaa 表示 ;
2 . 333 個(gè)正則表達(dá)式是串聯(lián)關(guān)系 ;
中間經(jīng)歷的過程是 111 狀態(tài)輸入 aaa 跳轉(zhuǎn)到 222 狀態(tài) , 222 本身可以有無限個(gè)星計(jì)算 , 222 狀態(tài)輸入 aaa 跳轉(zhuǎn)到 333 狀態(tài) ;
使用正則表達(dá)式表示為 ab?aab^*aab?a ;
4 . 生成箭頭信息 :
111 狀態(tài)下 , 讀取 ab?aab^*aab?a 正則表達(dá)式 , 可以跳轉(zhuǎn)到 333 狀態(tài) ;
將 ab?aab^*aab?a 正則表達(dá)式 與 111 到 333 跳轉(zhuǎn)箭頭上的 bbb 進(jìn)行并計(jì)算 , 得到
(ab?a)∪b(ab^*a) \cup b(ab?a)∪b
這是 111 跳轉(zhuǎn)到 333 的正則表達(dá)式 ;
八、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 : 333 -> 222 -> 333 生成信息 333 -> 333
1 . 333 -> 222 -> 333 狀態(tài)跳轉(zhuǎn) :
333 狀態(tài)讀取 bbb 跳轉(zhuǎn)到 222 狀態(tài) : 這里是狀態(tài) 222 的一條輸入 , 使用 bbb 表示 ;
222 狀態(tài)讀取 bbb 跳轉(zhuǎn)到 222 狀態(tài) : 這是無限的星計(jì)算 , 使用 b?b^*b? 表示 ;
222 狀態(tài)讀取 aaa 跳轉(zhuǎn)到 333 狀態(tài) : 這里是狀態(tài) 222 的一條輸出 , 使用 aaa 表示 ;
2 . 333 個(gè)正則表達(dá)式是串聯(lián)關(guān)系 ;
中間經(jīng)歷的過程是 333 狀態(tài)輸入 bbb 跳轉(zhuǎn)到 222 狀態(tài) , 222 本身可以有無限個(gè)星計(jì)算 , 222 狀態(tài)輸入 aaa 跳轉(zhuǎn)到 333 狀態(tài) ;
三者串聯(lián)關(guān)系 , 使用正則表達(dá)式表示為 bb?abb^*abb?a ;
即 333 狀態(tài)下 , 讀取 bb?abb^*abb?a 正則表達(dá)式 , 可以跳轉(zhuǎn)到 333 狀態(tài) ;
3 . 生成箭頭信息 :
給 333 狀態(tài)添加一個(gè)箭頭指向它自身 , 箭頭的接收的正則表達(dá)式是
bb?abb^*abb?a
這是 111 跳轉(zhuǎn)到 333 的正則表達(dá)式 ; 表示 333 狀態(tài)下接收 bb?abb^*abb?a 正則表達(dá)式 , 仍然跳轉(zhuǎn)到 333 狀態(tài) ;
九、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 222 階段性結(jié)果
刪除 222 狀態(tài)結(jié)果 :
十、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 3 ) 刪除 狀態(tài) 111 信息梳理
狀態(tài) 111 信息梳理如下 ;
1 . 111 狀態(tài)信息輸入 :
SSS 狀態(tài) 讀取 ε\varepsilonε 跳轉(zhuǎn)到 111 狀態(tài) ;
333 狀態(tài) 讀取 aaa 跳轉(zhuǎn)到 111 狀態(tài) ;
2 . 111 狀態(tài)信息輸出 :
111 狀態(tài)讀取 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b 正則表達(dá)式 跳轉(zhuǎn)到 333 狀態(tài) ;
3 . 箭頭信息生成個(gè)數(shù) : 外部輸入有 2 條 , 外部輸出 有 111 條 , 需要生成的箭頭信息條數(shù) :
外部輸入條數(shù)×外部輸出條數(shù)=2×1=2外部輸入條數(shù) \times 外部輸出條數(shù) = 2 \times 1 = 2外部輸入條數(shù)×外部輸出條數(shù)=2×1=2
十一、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 3 ) 刪除 狀態(tài) 111 : 333 -> 111 -> 333 生成信息 333 -> 333
1 . 333 -> 111 -> 333 狀態(tài)跳轉(zhuǎn) :
333 狀態(tài) 讀取 aaa 跳轉(zhuǎn)到 111 狀態(tài) , 正則表達(dá)式 表示為 aaa ;
111 狀態(tài) 讀取 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b 正則表達(dá)式 跳轉(zhuǎn)到 333 , 正則表達(dá)式 表示為 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b ;
2 . 正則表達(dá)式 : 上述兩個(gè)正則表達(dá)式是串聯(lián)關(guān)系 , 正則表達(dá)式表示為 a((ab?a)∪b)a ( (ab^*a) \cup b )a((ab?a)∪b)
3 . 生成新的箭頭信息 :
新增加的 333 狀態(tài)下讀取 a((ab?a)∪b)a ( (ab^*a) \cup b )a((ab?a)∪b) 跳轉(zhuǎn)到 333 ;
與原來的 333 讀取 bb?abb^*abb?a 跳轉(zhuǎn)到 333 是并聯(lián)關(guān)系 ,
最終的 333 讀取一個(gè)正則表達(dá)手 跳轉(zhuǎn)到 333 狀態(tài) , 的正則表達(dá)式為
(a((ab?a)∪b))∪(bb?a)( \quad a \; ( \; (ab^*a) \cup b \; ) \quad ) \cup ( bb^*a )(a((ab?a)∪b))∪(bb?a)
十二、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 3 ) 刪除 狀態(tài) 111 : SSS -> 111 -> 333 生成信息 SSS -> 333
1 . SSS -> 111 -> 333 狀態(tài)跳轉(zhuǎn) :
SSS 狀態(tài) 讀取 ε\varepsilonε 跳轉(zhuǎn)到 111 狀態(tài) , 正則表達(dá)式 表示為 ε\varepsilonε ;
111 狀態(tài) 讀取 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b 正則表達(dá)式 跳轉(zhuǎn)到 333 , 正則表達(dá)式 表示為 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b ;
上述兩個(gè)正則表達(dá)式是串聯(lián)關(guān)系 , 正則表達(dá)式表示為 ε∪((ab?a)∪b)\varepsilon \cup ( (ab^*a) \cup b )ε∪((ab?a)∪b) , 其中 ε\varepsilonε 可以省略 , 最終表示為 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b
2 . 新增加 SSS 狀態(tài) 到 333 狀態(tài)之間的跳轉(zhuǎn) : SSS 狀態(tài)下讀取 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b 正則表達(dá)式 , 跳轉(zhuǎn)到 333 狀態(tài) ;
十三、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 2 ) 刪除 狀態(tài) 2,12 , 12,1 階段性結(jié)果
十四、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 4 ) 刪除 狀態(tài) 333 信息梳理
狀態(tài) 333 信息梳理 :
1 . 333 狀態(tài)信息輸入 :
SSS 狀態(tài) 讀取 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b 跳轉(zhuǎn)到 333 狀態(tài) ;
333 狀態(tài) 讀取 (a((ab?a)∪b))∪(bb?a)( \quad a \; ( \; (ab^*a) \cup b \; ) \quad ) \cup ( bb^*a )(a((ab?a)∪b))∪(bb?a) 跳轉(zhuǎn)到 333 狀態(tài) ;
2 . 333 狀態(tài)信息輸出 :
333 狀態(tài) 讀取 (a((ab?a)∪b))∪(bb?a)( \quad a \; ( \; (ab^*a) \cup b \; ) \quad ) \cup ( bb^*a )(a((ab?a)∪b))∪(bb?a) 跳轉(zhuǎn)到 333 狀態(tài) ;
333 狀態(tài)讀取 ε\varepsilonε 正則表達(dá)式 跳轉(zhuǎn)到 TTT 狀態(tài) ;
3 . 箭頭信息生成個(gè)數(shù) : 自身循環(huán)有一個(gè) , 從 333 狀態(tài) 自身輸出到輸入 , 外部輸入有 1 條 , 外部輸出 有 111 條 , 需要生成的箭頭信息條數(shù) :
外部輸入條數(shù)×外部輸出條數(shù)=1×1=1外部輸入條數(shù) \times 外部輸出條數(shù) = 1 \times 1 = 1外部輸入條數(shù)×外部輸出條數(shù)=1×1=1
十五、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 ( 4 ) 刪除 狀態(tài) 333 : SSS -> 333 -> TTT 生成信息 SSS -> TTT
1 . SSS -> 333 -> TTT 狀態(tài)跳轉(zhuǎn) :
SSS 狀態(tài) 讀取 (ab?a)∪b(ab^*a) \cup b(ab?a)∪b 跳轉(zhuǎn)到 333 狀態(tài) ;
333 狀態(tài) 讀取 (a((ab?a)∪b))∪(bb?a)( \quad a \; ( \; (ab^*a) \cup b \; ) \quad ) \cup ( bb^*a )(a((ab?a)∪b))∪(bb?a) 跳轉(zhuǎn)到 333 狀態(tài) , 星計(jì)算 , 表示成 (a((ab?a)∪b))∪(bb?a)?( \quad a \; ( \; (ab^*a) \cup b \; ) \quad ) \cup ( bb^*a )^*(a((ab?a)∪b))∪(bb?a)?
333 狀態(tài)讀取 ε\varepsilonε 正則表達(dá)式 跳轉(zhuǎn)到 TTT 狀態(tài) ;
上述 333 個(gè)正則表達(dá)式是串聯(lián)關(guān)系 , 正則表達(dá)式表示為 :
((ab?a)∪b)°((a((ab?a)∪b))∪(bb?a))?( (ab^*a) \cup b ) \circ ( \quad ( \quad a \; ( \; (ab^*a) \cup b \; ) \quad ) \cup ( bb^*a ) \quad )^*((ab?a)∪b)°((a((ab?a)∪b))∪(bb?a))?
2 . 新增加 SSS 狀態(tài) 到 TTT 狀態(tài)之間的跳轉(zhuǎn) : SSS 狀態(tài)下讀取 ((ab?a)∪b)°((a((ab?a)∪b))∪(bb?a))?( (ab^*a) \cup b ) \circ ( \quad ( \quad a \; ( \; (ab^*a) \cup b \; ) \quad ) \cup ( bb^*a ) \quad )^*((ab?a)∪b)°((a((ab?a)∪b))∪(bb?a))? 正則表達(dá)式 , 跳轉(zhuǎn)到 TTT 狀態(tài) ;
十六、確定性有限自動(dòng)機(jī) ( DFA ) 轉(zhuǎn)為 正則表達(dá)式 總結(jié)
由上述示例可知 , 任何 確定性有限自動(dòng)機(jī) 都可以轉(zhuǎn)為 正則表達(dá)式 , 非確定性有限自動(dòng)機(jī) 與 確定性有限自動(dòng)機(jī) 又是等價(jià)的 , 因此 有限自動(dòng)機(jī) 都可以轉(zhuǎn)為 正則表達(dá)式 ;
總結(jié)
以上是生活随笔為你收集整理的【计算理论】正则语言 ( 推广型的非确定性有限自动机 GNFA | 删除状态 | 确定性有限自动机 转为 正则表达式 )的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【计算理论】正则语言 ( 正则表达式原子
- 下一篇: 【计算理论】Pumping 引理 ( 四