原文:DFA到等價正則表達式的轉化

思考題的引入 首先看這樣一道思考題: 如何用正則表達式識別所有是三的倍數的二進制串 考慮最暴力的做法。用一個變量rem表示一個串的前綴作為二進制對 的余數,對新進來的字符討論: 進來一個 ,則rem rem lt lt ,因為我們是從高位向低位讀的 進來一個 ,則rem rem lt lt 那么只需要判斷最終rem是否為 就好了 自動機的做法 在做這題之前,可以先想想這樣的一個問題: 如何用自動機 ...

2021-08-20 11:42 0 304 推薦指數:

查看詳情

正則表達式到 NFA 到 DFA 到最簡 DFA (二)

正則表達式到 NFA 到 DFA 到最簡 DFA (二) NFA $ \rightarrow $ DFA (子集構造法) 這里我們用一個例子來解釋。 如上圖所示,這是上一篇文章中的正則表達式化成的 NFA,這里拿來接着用。 我們首先看開始狀態 n0。n0 在接收了一個字符 a 之后 ...

Tue Aug 27 18:16:00 CST 2019 0 1097
正則表達式-NFA-DFA-化簡DFA

  原本我也是學習如何將正則表達式一步步化到DFA,搜索發現很多不是死板的定義,就是跨度太大,所以我決定用一道例題,看看它是如何轉化的,本次以正則表達式:(a|b)*(aa|bb)(a|b)* 為例。   我看到和多人會介紹將正則表達式轉化為NFA的規則,為了便於理解我也選擇簡單說一下 ...

Wed Jan 05 22:40:00 CST 2022 0 1923
正則表達式到 NFA 到 DFA 到最簡 DFA (一)

正則表達式到 NFA 到 DFA 到最簡 DFA (一) (博客園這個 markdown 編輯器竟然不支持 LaTeX……無語) 發現了啟用數學公式的選項……錯怪博客園了…… RE → NFA (Thompson 算法) 這一步是基於對正則表達式的結構做歸納:對基本的 RE 直接構造 ...

Tue Aug 27 05:04:00 CST 2019 0 1327
DFA 簡易正則表達式匹配

  一個只能匹配非常簡單的(字母 . + *)共 4 種狀態的正則表達式語法的自動機(注意,僅限 DFA,沒考慮 NFA):   好久之前寫的了,記得有個 bug 一直沒解決... #include <iostream> //#include <fstream> ...

Thu Nov 28 00:24:00 CST 2019 0 321
正則表達式 有窮自動機 無窮自動機轉化 RE NFA DFA

三者關系如下: 首先是RE轉NFA: 方法就是進行正則表達式的拆分 下面進行NFA轉換DFA 主要是寫出轉化表,用新的狀態集合 下面是-NFA轉化DFA 這里的轉化表中,是通過具體輸入串后,通過E可以達到的所有狀態 ...

Sat Jun 27 20:05:00 CST 2020 0 549
正則表達式到 NFA 到 DFA 到最簡 DFA (三)(結束)

正則表達式到 NFA 到 DFA 到最簡 DFA (三) DFA $ \rightarrow $ 最簡 DFA (Hopcroft 算法) 這是一個基於等價類的算法。 這里的等價類,通俗來說就是根據某些特征來划分狀態。比如某些狀態,都是接收狀態,就可以被分為一類。某些狀態都是非接收 ...

Tue Aug 27 19:47:00 CST 2019 0 451
 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM