<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      【編譯原理】DFA最小化算法

      【編譯原理】DFA最小化算法

      DFA的定義

      DFA是Determinant Finite Automata,確定性有窮自動機這個定義有幾個關鍵點

      • 確定性,Determinant的,也就是說,對于一個串,只有一種可接受方法。(這等價于不存在符號相同的邊。)

      • 有限,Finite,也就是說節點數量是有限的。

      數學地來說:DFA是一個五元組,包括\((S,state,\Sigma,Mov,T)\):初始狀態,狀態,字符集,狀態轉移函數,結束狀態。

      對于OIer的快速入門:一個AC自動機/SAM就是一個DFA,一個\(state\)可以對應成圖上的一個節點,\(\Sigma\)就是AC自動機/SAM的字符集,\(S\)就是AC自動機/SAM的開始節點,\(T\)就是接受節點,而\(Mov(A,b)=C\)就是查詢\(A\)走一條字符為\(b\)的邊到了哪個節點(\(C\)),如果沒有這條邊那么\((A,b)\)沒有不在\(Mov\)函數的定義域。

      本文不對DFA做過于嚴格的定義。

      最小DFA定義

      可接受字符串集合相同的DFA稱為等價DFA,最小DFA的定義是所有等價DFA中節點最小的,可以證明節點最小的DFA只有一種。

      狀態(也就是DFA的某個節點)的可區分性

      兩個點不可區分記為\(A\sim B\)

      \(A\sim B\)A和B不可區分當且僅當兩個狀態的所有出邊都對應不可區分

      所有出邊對應不可區分當且僅當\(\not \exists c\in \Sigma , Mov(A,c)\not \sim Mov(B,c)\),即符號對應的出邊到達的節點不可區分

      迭代法求最小化DFA

      初始情況,我們能確定,至少所有結束狀態和其他節點(非結束狀態)是不一樣的。

      算法的思路是不斷尋找可區分的點,并且分裂,層次有點類似B算法求最小生成樹。

      • 初始情況:\(\prod_0 = S_1,S_2\)\(S_1\)是所有結束狀態,\(S_2\)是所有非結束狀態

      • 迭代方法:假設本次為第\(n\)次迭代。

        • 枚舉一個\(S_k\in \prod_{n-1}\)

        • 枚舉所有\(c\in \Sigma\),得到一個集合\(Mov(S_k,c)=\{Mov(X,c):X\in S_k\}\)

          • 確認是否每個\(Mov(X,c)\)都有定義(有這條邊),都有定義則通過
          • 確認是否存在\(S_t\in \prod_{n-1}\)\(Mov(S_k,c)\subseteq S_t\)(所有邊都不可區分),存在\(S_t\)則通過
        • 若通過以上兩種檢查(說明\(S_k\)不可區分),則\(S_k\rightarrow \prod_n\)(加入這個集合)

        • 若沒有通過以上兩種檢查,則將\(S_k\)不相交地劃分成若干個極大集合\(T_1,T_2\dots T_m\)使得\(\forall i,\exist S_t\in \prod_{n-1},Mov(T_i,c)\subseteq S_t\),這里極大集合的意思是, \(\not \exist i\not = j, \textbf{ s.t. } Mov(T_i,c)\cup Mov(T_j,c) \subseteq S_t\)

          隨后執行\(T_1,T_2\dots T_m \rightarrow \prod\)

        (人話:將\(S_k\)分裂成若干集合,使得集合內的點的所有出邊在\(\prod_{n-1}\)意義下中不可區分,并且希望分裂出的集合數量最小)

      復雜度分析

      這個論文

      (記得把后綴改成.pdf)

      簡單實現迭代可以做到\(O(m \log m)\)

      指的一提的是,這個算法的發明者最終獲得了圖靈獎!

      代碼

      代碼到時候再說吧。

      posted @ 2022-04-08 00:42  誰是鴿王  閱讀(1438)  評論(0)    收藏  舉報




















































      主站蜘蛛池模板: 亚洲天堂成人网在线观看| 精品国产亚洲一区二区三区在线观看| 成 人色 网 站 欧美大片在线观看 | 国产成人午夜一区二区三区| 国产99re热这里只有精品| 国产精品久久久久久久久人妻| 国产成人精彩在线视频| 人妻内射一区二区在线视频| 韩国午夜福利片在线观看| 日韩不卡1卡2卡三卡网站| 都昌县| 少妇高潮潮喷到猛进猛出小说 | 国产女人高潮视频在线观看| 免费人妻无码不卡中文字幕18禁 | 无码国内精品久久人妻蜜桃| 亚洲一区二区三区影院| 亚洲国产精品第一区二区| 中文字幕在线国产精品| 国产欧美日韩一区二区加勒比| 亚洲人成网站在线播放动漫 | 日韩av片无码一区二区不卡| 天堂国产一区二区三区| 国产一区二区精品久久凹凸| 亚洲国产制服丝袜高清在线| 亚洲av无一区二区三区| 国产专区一va亚洲v天堂| 国产欧美另类精品久久久| 国产精品男女午夜福利片| 曰韩亚洲AV人人夜夜澡人人爽| 无码人妻丰满熟妇区bbbbxxxx| 东京热无码国产精品| 在线天堂最新版资源| 国色天香成人一区二区| 色狠狠一区二区三区香蕉| 99久久精品一区二区国产| 亚洲午夜av一区二区| 免费又黄又爽又猛的毛片| 屯留县| 亚洲一区二区av观看| 日韩精品亚洲国产成人av| 日韩国产av一区二区三区精品|