NFA - NFA - DFA Equivalence
NFA - NFA - DFA Equivalence
What is an NFA
• An NFA is an automaton that its states might
have none, one or more outgoing arrows
under a specific symbol.
1
q0 0,1 q1
q0 0,1 q1
0 1
q0 {q1} {q0, q1} 0
1
0 0
{q1} {q0, q2} q0 0,1 q1 q2
{q0, q1} {q0, q1, q2} {q0, q1}
{q0, q2} {q1} {q0, q1}
0 0 0
{q0, q1, q2} {q0, q1, q2} {q0, q1}
NFA – DFA equivalence (example)
0,1
So the DFA is:
0
0
1
q0 0 q1 q02
0 1
0
q0 {q1} {q0, q1} 1
1
0 1
{q1} {q0, q2}
q01
{q0, q1} {q0, q1, q2} {q0, q1}
{q0, q2} {q1} {q0, q1}
0
0 0 0 1 0
q1 0 q4 0 q2
q1 ε q2 0 q4
q5
1 q5 1 1
NFAε – NFA equivalence
• If from q1 an ε-move takes me to q2 which is
accept state then, when I remove the ε-move I
should convert q1 to accept state.
q1 q2 0 q4
q1 ε q2 0 q4