DFA與NFA的等價性,DFA化簡


等價性

對於每個NFA M存在一個DFA M’,使得L(M)=L(M’)--------等價性證明,NFA的確定化

假定NFA M=<S, Σ, δ, S 0 , F>,我們對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}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM