Automata theory - RE to DFA Conversion

1,050 views 22 slides Jan 10, 2022
Slide 1
Slide 1 of 22
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22

About This Presentation

Regular expression, dfa, finite automata


Slide Content

Convert RE to DFA 1 a 2 b 4 5 6 c 7 𝜀 𝜀 𝜀 8 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c D states 𝜀 Transition table of DFA Given RE = ( ab+c )* Equivalent NFA- ε is:

Convert RE to DFA 𝜀 NFA States DFA State Next State a b c D states Transition table of DFA Initial state of NFA is {9} Ε -closure(9)={ 9,7,1,5,10 } ------ Where A is the initial state of DFA A

Mark state A 1 a 2 b 4 5 6 c 7 𝜀 𝜀 𝜀 8 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A    D states 𝜀 Next need to find transition of ( A,a ) ( A,b ) ( A,c )

Compute 𝜀 -closure(move(A, a)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A D states 𝜀 δ ( A,a ) = δ ( ( 9,7,1,5,10),a) = {2} = Ε -closure(2) = {2} ------ B

Compute 𝜀 -closure(move(A, a)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B  {2} B  D states 𝜀 δ ( A,a ) = δ ( ( 9,7,1,5,10),a) = {2} Ε -closure(2) = {2} ------ B

Compute 𝜀 -closure(move(A, b)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - {2} B D states 𝜀

Compute 𝜀 -closure(move(A, c)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - {2} B D states 𝜀 δ ( A,c ) = δ ( ( 9,7,1,5,10),c) = {6} Ε -closure(6) = { 6,8,10,7,1,5 } ------ C 

Mark move(A, c)) C 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B {6,8,10,7,1,5} C D states 𝜀

Compute 𝜀 -closure(move(B, a)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - {6,8,10,7,1,5} C D states 𝜀 

Compute 𝜀 -closure(move(B, b )) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - {6,8,10,7,1,5} C D states 𝜀 δ ( B,b ) = δ ( (2,b ) = {4} Ε -closure(4) = { 4,8,10,7,1,5 } ------ D 

Mark (move(B, b)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A  B - C {2} B  - D {6,8,10,7,1,5} C {4,8,7,1,5,10} D D states 𝜀

Mark - (move(B, c)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C {4,8,7,1,5,10} D D states 𝜀

Compute 𝜀 -closure(move(C, a)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B {4,8,7,1,5,10} D D states 𝜀 B δ ( C,a ) = δ ( ( 6,8,10,7,1,5)) ,a ) = {2} Ε -closure(2) = { 2 } ------

Mark (move(C, b)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - {4,8,7,1,5,10} D D states 𝜀

Compute 𝜀 -closure(move(C, c )) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - {4,8,7,1,5,10} D D states 𝜀 δ ( C,c ) = δ ( ( 6,8,10,7,1,5)) ,a ) = {6} Ε -closure(6) = { 6,8,10,7,1,5 } ------ C

Mark (move(C, c)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - C {4,8,7,1,5,10} D D states 𝜀

Compute 𝜀 -closure(move(D, a )) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - C {4,8,7,1,5,10} D D states 𝜀 δ ( D,a ) = δ ( ( 6,8,10,7,1,5)) ,a ) = {2} Ε -closure(2) = {2} ------ B

Mark (move(D, a)) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - C {4,8,7,1,5,10} D B D states 𝜀

Mark (move(D, b )) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - C {4,8,7,1,5,10} D B - D states 𝜀

Compute 𝜀 -closure(move(D, c )) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - C {4,8,7,1,5,10} D B D states 𝜀 C ( D,c ) = δ ( ( 4,8,7,1,5,10)) ,c ) = {6} Ε -closure(6) = { 6,8,10,7,1,5 } ------

M ark (move(D, c )) 1 a 2 b 4 5 6 c 7 𝜀 𝜀 8 𝜀 𝜀 9 𝜀 𝜀 𝜀 10 NFA States DFA State Next State a b c {9,7,1,5,10} A B - C {2} B - D - {6,8,10,7,1,5} C B - C {4,8,7,1,5,10} D B - C D states 𝜀

Resultant DFA is a B c a b A a D c C c Transition table Transition diagram is