美文网首页
编译原理NFA->DFA (版权胡守杰,转载注明出处)

编译原理NFA->DFA (版权胡守杰,转载注明出处)

作者: 冒泡泡de可乐 | 来源:发表于2020-03-26 21:26 被阅读0次

    word数学符号无法显示,故导出网页pdf,网页地址:https://www.jianshu.com/p/3fb0b2e2b022


    题目.png

    设NFA M = {K,\Sigma, f, S, Z},其中,
    K={0,1,2,3,4,5,6,7,8,9,10}
    \Sigma={a,b}
    S={1}
    Z={10}
    f = f(K_i, \Sigma_j) = {K_k} 其中 S_i \in K, \Sigma_j \in \Sigma, K_k \in K

    设:DFA N的状态集C={T0,T1…Ti}是NFA状态集K的子集
    T0 = \varepsilon-closure(S) = {1,2,4}
    T1=\varepsilon-closure(move(T0,a)) = {2,3,4,5}
    T2=\varepsilon-closure(move(T0,b))={2,3,4,6}
    T3=\varepsilon-closure(move(T1,a))={2,3,4,5,7,8,10}
    T4=\varepsilon-closure(move(T1,b))={2,3,4,6} = T2
    T5=\varepsilon-closure(move(T2,a))={2,3,4,5}=T1
    T6=\varepsilon-closure(move(T2,b))={2,3,4,6,7,8,10}
    T7=\varepsilon-closure(move(T3,a))={2,3,4,5,7,8,10}=T3
    T8=\varepsilon-closure(move(T3,b))={2,3,4,6,8,9,10}
    T9=\varepsilon-closure(move(T6,a))={2,3,4,5,8,9,10}
    T10=\varepsilon-closure(move(T6,b))={2,3,4,6,8,9,10}=T8
    T11=\varepsilon-closure(move(T8,a))={2,3,4,5,8,9,10}=T9
    T12=\varepsilon-closure(move(T8,b))={2,3,4,6,8,9,10}=T8
    T13=\varepsilon-closure(move(T9,a))={2,3,4,5,7,8,9,10}
    T14=\varepsilon-closure(move(T9,b))={2,3,4,6,8,9,10}=T8
    T15=\varepsilon-closure(move(T13,a))={2,3,4,5,7,8,9,10}=T13
    T16=\varepsilon-closure(move(T13,b))={2,3,4,6,8,9,10}=T8

    最后得:C={T0,T1,T2,T3,T6,T8,T9,T13}

    所以:DFA N={C, {a,b}, f,{T0}, {T13}}

    其中:
    f(T0,a) = T1
    f(T0,b) = T2
    f(T1,a) = T3
    f(T1,b) = T2
    f(T2,a) = T1
    f(T2,b) = T6
    f(T3,a) = T3
    f(T3,b) = T8
    f(T6,a) = T9
    f(T6,b) = T8
    f(T8,a) = T9
    f(T8,b) = T8
    f(T9,a) = T13
    f(T9,b) = T8
    f(T13,a) = T13
    f(T13,b) = T8

    令T0,T1,T2,T3,T6,T8,T9,T13 分别为 0 , 1, 2, 3, 4, 5, 6, 7则有

    DFA.png

    相关文章

      网友评论

          本文标题:编译原理NFA->DFA (版权胡守杰,转载注明出处)

          本文链接:https://www.haomeiwen.com/subject/wszcuhtx.html