Converting an NFA into an FSA Proving LNFA is a subset of LFSA.
Purpose This presentation presents an example execution of the algorithm which takes as input an NFA (without - transitions) and produces as output an equivalent FSA Algorithm Specification –Input: NFA M 1 (without -transitions) –Output: FSA M 2 such that L(M 2 ) = L(M 1 )
Input NFA M 1 a b a,b b b aa
Initialization a b a,b b b aa Initial State of FSA M 2 : {1}
Expand State {1} a b a,b b b aa
Add States {2} and {3} a b a,b b b aa
Expand State {2} a b a,b b b aa
Add State {} a b a,b b b aa
Expand State {3} a b a,b b b aa
Add States {3,4} and {3,5} a b a,b b b aa
Expand State {} a b a,b b b aa
No New States Added a b a,b b b aa
Expand State {3,4} a b a,b b b aa
Add State {3,4,6} a b a,b b b aa
Expand State {3,5} a b a,b b b aa
Add State {3,5,6} a b a,b b b aa
Expand State {3,4,6} a b a,b b b aa
No New States Added a b a,b b b aa
Expand State {3,5,6} a b a,b b b aa
No New States Added a b a,b b b aa
Identify Accepting States a b a,b b b aa Accepting states of FSA M 2 : {3,4,6} and {3,5,6}
Transition Diagram a b a,b b b aa Accepting states of FSA M 2 : {3,4,6} and {3,5,6} {1}{2}{} {3} {3,4} {3,4,6}{3,5,6} {3,5} a b a,b a a a a a b b b b b FSA M 2
Summary a b a,b b b aa {1}{2}{} {3} {3,4} {3,4,6}{3,5,6} {3,5} a b a,b a a a a a b b b b b Original NFA M 1 Equivalent FSA M 2