对于每一个NFA M存在一个DFA M’,使得L(M)=L(M’)--------等价性证实,NFA的肯定化3d
假定NFA M=<S, Σ, δ, S 0 , F>,咱们对M的状态转换图进行如下改造:
blog
解决初始状态惟一性:引进新的初态结点X和终态结点Y,X,Y∉S,从X到S 0中任意状态结点连一条ε箭弧, 从F中任意状态结点连一条ε箭弧到Yim
简化弧上的标记:对M的状态转换图进一步施行替换,其中k是新引入的状态d3
逐步把这个图转变为每条弧只标记为Σ上的一个字符或ε,最后获得一个NFA M’,显然L(M’)=L(M)
closure
把表当作状态转换矩阵,子集视为状态,转换表惟一刻划了一个肯定的有限自动机M,初态是ε-closure({X}),终态是含有原终态Y的子集,不难看出,这个DFA M与M’等价对于每一个NFA M存在一个DFA M ’ ,使得 L(M)=L(M’),NFA和DFA等价db
对于给定的DFA M,寻找一个状态数比M少的DFAM’,使得L(M)=L(M’),假设s和t为M的两个状态,称s和t等价:若是从状态s出发能读出某个字α而中止于终态,那么一样,从t出发也能读出α而中止于终,两个状态不等价,则称它们是可区别的态;反之亦然img
把M的状态集划分为一些不相交的子集,使得任何两个不一样子集的状态是可区别的,而同一子集的任何两个状态是等价的, 最后,让每一个子集选出一个表明,同时消去其余状态。集合
对DFA的状态集合S进行第一次划分,正确的分法是:终态和非终态co
{0} {1} {2} {3, 4, 5, 6}
字符