converting an nfa into an fsa proving lnfa is a subset of lfsa
Post on 21-Dec-2015
216 views
TRANSCRIPT
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 M1 (without -transitions)
– Output: FSA M2 such that L(M2) = L(M1)
Input NFA M1
a
b
a,b
b b
a a
1
2
3
4
5
6
Initialization
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1}
Initial State of FSA M2: {1}
Expand State {1}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}
Add States {2} and {3}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2}{3}
Expand State {2}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3}
Add State {}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3}{}
Expand State {3}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{}
Add States {3,4} and {3,5}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{}
{3,4}{3,5}
Expand State {}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4}{3,5}
No New States Added
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4}{3,5}
Expand State {3,4}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5}
Add State {3,4,6}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5}
{3,4,6}
Expand State {3,5}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6}
Add State {3,5,6}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6}{3,5,6}
Expand State {3,4,6}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6} {3,4,6} {3,5}{3,5,6}
No New States Added
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6} {3,4,6} {3,5}{3,5,6}
Expand State {3,5,6}
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6} {3,4,6} {3,5}{3,5,6} {3,4} {3,5,6}
No New States Added
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6} {3,4,6} {3,5}{3,5,6} {3,4} {3,5,6}
Identify Accepting States
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6} {3,4,6} {3,5}{3,5,6} {3,4} {3,5,6}
Accepting states of FSA M2: {3,4,6} and {3,5,6}
Transition Diagram
a
b
a,b
b b
a a
1
2
3
4
5
6
a b{1} {2} {3}{2} {} {}{3} {3,4} {3,5}{} {} {}
{3,4} {3,4,6} {3,5}{3,5} {3,4} {3,5,6}
{3,4,6} {3,4,6} {3,5}{3,5,6} {3,4} {3,5,6}
Accepting states of FSA M2: {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
ab
b
b
b
b
a,b
FSA M2
Summary
a
b
a,b
b b
a a
1
2
3
4
5
6
{1} {2} {}
{3}
{3,4}
{3,4,6} {3,5,6}
{3,5}
a
b
a,b
a
a
a
a
ab
b
b
b
b
a,b
Original NFA M1 Equivalent FSA M2