java 实现nfa的化简_DFA与NFA的等价性,DFA化简
等價性
對于每個NFA M存在一個DFA M’,使得L(M)=L(M’)--------等價性證明,NFA的確定化
假定NFA M=,我們對M的狀態轉換圖進行以下改造:
解決初始狀態唯一性:引進新的初態結點X和終態結點Y,X,Y?S,從X到S 0中任意狀態結點連一條ε箭弧, 從F中任意狀態結點連一條ε箭弧到Y
簡化弧上的標記:對M的狀態轉換圖進一步施行替換,其中k是新引入的狀態
逐步把這個圖轉變為每條弧只標記為Σ上的一個字符或ε,最后得到一個NFA M’,顯然L(M’)=L(M)
把表看成狀態轉換矩陣,子集視為狀態,轉換表唯一刻劃了一個確定的有限自動機M,初態是ε-closure({X}),終態是含有原終態Y的子集,不難看出,這個DFA M與M’等價對于每個NFA M存在一個DFA M ’ ,使得 L(M)=L(M’),NFA和DFA等價
確定有限自動機的化簡
對于給定的DFA M,尋找一個狀態數比M少的DFAM’,使得L(M)=L(M’),假設s和t為M的兩個狀態,稱s和t等價:如果從狀態s出發能讀出某個字α而停止于終態,那么同樣,從t出發也能讀出α而停止于終,兩個狀態不等價,則稱它們是可區別的態;反之亦然
基本思想
把M的狀態集劃分為一些不相交的子集,使得任何兩個不同子集的狀態是可區別的,而同一子集的任何兩個狀態是等價的, 最后,讓每個子集選出一個代表,同時消去其他狀態。
對DFA的狀態集合S進行第一次劃分,正確的分法是:終態和非終態
{0} {1} {2} {3, 4, 5, 6}
總結
以上是生活随笔為你收集整理的java 实现nfa的化简_DFA与NFA的等价性,DFA化简的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 三国英杰传安卓版单机(三国英杰传安卓版)
 - 下一篇: 保健食品备案材料信息公开(保健食品备案材