Title: DFA vs NFA
1 DFA vs NFA
Deterministic Finite Automata
Non-Deterministic Finite Automata
- Characterized as 5-tuple lt S, A, T, s0, F gt
- S is the set of states
- A is the alphabet
- T is the transition function S x A ? S
- s0 is the start state
- F is the set of accepting states.
- Characterized as 5-tuple lt S, A, T, s0, F gt
- S is the set of states
- A is the alphabet
- T is the transition function S x (A??) ?
PS - s0 is the start state
- F is the set of accepting states.
2From NFA To DFA
1
b
Transition function for NFA
a
2
T a b ?
0
0 1 ø 3
a
1 ø 2 ø
?
2 ø ø ø
3 3 ø 4
4
?
3
a
4 2 ø ø
3Calculating The Transition function for DFA
Transition function for NFA
Transition function for DFA
T a b ?
T a b
0 1 ø 3
0,3,4 ? ?
1 ø 2 ø
TD(0,3,4,a) (0,a) ? (3,a) ? (4,a)
1,3 ? 3,4 ? 2
1,2,3,4
2 ø ø ø
3 3 ø 4
TD(0,3,4,b) (0,b) ? (3,b) ? (4,b)
ø ? ø ? ø
ø
4 2 ø ø
4Calculating The Transition function for DFA
(forts)
Transition function for DFA
Transition function for NFA
T a b ?
T a b
0 1 ø 3
0,3,4 1,2,3,4 ø
ø ? ?
1 ø 2 ø
ø
ø
1,2,3,4 ? ?
2 ø ø ø
2,3,4
2
3 3 ø 4
TD(1,2,3,4,a) (1,a) ? (2,a) ? (3,a) ?
(2,a) ø ? ø ? 3,4 ?
2 2,3,4 Similarly,
TD(1,2,3,4,b) 2
4 2 ø ø
5Calculating The Transition function for DFA
(forts)
Transition function for DFA
Transition function for NFA
T a b ?
T a b
0 1 ø 3
0,3,4 1,2,3,4 ø
ø ø ø
1 ø 2 ø
1,2,3,4 2,3,4 2
2 ø ø ø
2,3,4 2,3,4 2
3 3 ø 4
2 ø ø
4 2 ø ø
6Finally
b
Transition function for DFA
4
T a b
b
a,b
a
0,3,4 1,2,3,4 ø
0 1 2 3 4
0
2
1
ø ? ?
ø
ø
a
b
1,2,3,4 2,3,4 2
3
2,3,4 2,3,4 2
a
2 ø ø
7Exercise 2, solution
2. Construct directly (that is dont use the
transformation procedure given in the
lecture) a DFA for each of the following
REs. a) a b b) a b c)
ab bc
b
a
a,b
a,b
a
a,c
a,b,c
b
a,b
a
a,b
b
a,b
a,b
c
b
c
a)
c)
a
b)
b
8Exercise 4, solution
4. Construct directly (that is dont use the
transformation procedure given in the
lecture) a NFA for each of the following
REs. a) abc bc b) a ab
a
c
a
?
b
?
a
c
a
b
b)
a)
9Exercise 5
5. Construct a DFA table for the following NFA
transition table. The start state is 0 and
there is one accepting state, 2. a b
? 0 Ø 1,2 1
1 2 Ø Ø 2
Ø 2 1
?
1
b
0
?
a
b
2
b
10Solution to exercise 5
NFA transition table
DFA transition table
T a b
a b ?
0 Ø 1,2 1 1 2
Ø Ø 2 Ø 2
1
0,1 ? ?
1,2
1,2
0
1,2
1,2
1,2
1
a,b
a,b
0
1
11Exercise 6
6. Consider the following NFA over the alphabet
a,b a) Find a regular expression for the
language accepted by the NFA. b) Write down
the transition table for the NFA. c) Transform
the NFA into a DFA d) Draw a picture of the
resulting DFA.
a
?
b
0
0
0
a
?
12Solution to exercise 6 (contd)
Transition table for NFA T a b ? 0 1 Ø
1,2 1 Ø 2 Ø 2 2 Ø Ø
a
?
b
0
1
2
a
?
13Solution to exercise 6 (contd)
Transition table for NFA
Transition table for DFA
T a b ? 0 1 Ø 1,2 1 Ø 2
Ø 2 2 Ø Ø
T a b 0,1,2
1,2 2 1,2 2 2
2 2 Ø Ø Ø
Ø
14Solution to exercise 6(contd)
0,1,2
Transition table for DFA
a
1,2
T a b 0,1,2
1,2 2 1,2 2 2
2 2 Ø Ø Ø
Ø
b
a,b
2
a
15Exercise 7
7. Transform each of the following REs into a
NFA, then into a DFA a) ab b) a
b c) (ab)
Solution to a)
?
a
b
a
?
?
?
?
?
2
3
?
?
6
1
0
6
0
1
?
?
b
4
5
?
16Solution, exercise 6-a
T a b 0,1,2,3 1,2,3
2,3 1,2,3 1,2,3
2,3 2,3 Ø 2,3
Ø Ø Ø
a
b
?
?
?
3
2
1
0
a
a
Can be reduced to
0
a
a,b
1
b
a
0
b
a,b
2
3
b
a
2
3
b
b
17What to do next?
It is your turn to solve the rest of the
exercises