Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

MELJUN CORTES Automata Theory (Automata6)

204 views

Published on

MELJUN CORTES Automata Theory (Automata6)

Published in: Technology, Education
  • Be the first to comment

  • Be the first to like this

MELJUN CORTES Automata Theory (Automata6)

  1. 1. MELJUN P. CORTES, MBA,MPA,BSCS,ACS CSC 3130: Automata theory and formal languages DFA minimization algorithm MELJUN CORTES
  2. 2. Example • Construct a DFA over alphabet {0, 1} that accepts those strings that end in 111 0 0 q0 1 qε 1 0 q1 1 q00 1 q01 … q10 q11 1 … 1 1 q001 … 0 q000 q101 … 0 q111 • This is big, isn’t there a smaller DFA for this? 1
  3. 3. Smaller DFA • Yes, we can do it with 4 states: 0 q0 1 0 1 q1 q2 1 q3 1 0 0 – The state remembers the number of consecutive 1s at the end of the string (up to 3) • Can we do it with 3 states?
  4. 4. Even smaller DFA? • Suppose we had a 3 state DFA M for L • We do not know what this M looks like … but let’s imagine what happens when: inputs: M ε, 1, 11, 111 • By the pigeonhole principle, on two of these inputs M ends in the same state
  5. 5. Pigeonhole principle Suppose you are tossing m balls into n bins, and m > n. Then two balls end up in the same bin. • Here, balls are inputs, bins are states: If you have a DFA with n states and you run it on m inputs, and m > n, then two inputs end up in same state.
  6. 6. A smaller DFA? inputs: M ε, 1, 11, 111 • What goes wrong if… – M ends up in same state on input 1 and input 111? – M ends up in same state on input ε and input 11?
  7. 7. A smaller DFA • Suppose M ends up in the same state after reading inputs x = 1i and y = 1j, where 0 ≤ i < j ≤ 3 inputs: M ε, 1, 11, 111 1 i, 1 j • Then after reading the continuation z = 13 – j – The state of yz should be accepting (yz = 111) – The state of xz should be rejecting (xz = ε, 1, or 11) … but they are both in the same state!
  8. 8. No smaller DFA! • Conclusion There is no DFA with 3 states for L • So, this DFA is minimal 0 q0 1 0 1 q1 q2 1 0 0 – In fact, it is the unique minimal DFA for L q3 1
  9. 9. DFA minimization • There is an algorithm to start with any DFA and reduce it to the smallest possible DFA • The algorithm attempts to identify classes of equivalent states • These are states that can be merged together without affecting the answer of the computation
  10. 10. Examples of equivalent states 0 q0 1 1 0, 1 q0, q1 equivalent 0 q0 0, 1 q1 0 q2 q3 0, 1 q2 1 q1 0, 1 q3 0, 1 q0, q1 equivalent q2, q3 also equivalent
  11. 11. Equivalent and distinguishable states • Two states q, q’ are equivalent if For every string w, the states ^ w) and ^ w) δ(q, δ(q’, are either both accepting or both rejecting ^ – Here, δ(q, w) is the state that the machine is in if it starts at q and reads the string w • q, q’ are distinguishable if they are not equivalent: For some string w, one of the states δ(q, w), δ(q’, w) is accepting and the other is rejecting
  12. 12. Examples of distinguishable states 0 q0 q3 q3 distinguishable from q0, q1, q2 q3 is accepting, others are rejecting (q0, q2) and (q1, q2) distinguishable they behave differently on input 0 q0, q1 equivalent 0 q01 1 0, 1 q2 0, 1 1 1 0, 1 0, 1 q1 0 q2 q3
  13. 13. DFA minimization algorithm • Find all pairs of distinguishable states as follows:  For any pair of states q, q’: If q is accepting and q’ is rejecting Mark (q, q’) as distinguishable  Repeat until nothing is marked: For any pair of states (q, q’): For every alphabet symbol a: If (δ(q, a), δ(q’, a)) are marked as distinguishable Mark (q, q’) as distinguishable  For any pair of states (q, q’): If (q, q’) is not marked as distinguishable Merge q and q’ into a single state
  14. 14. Example of DFA minimization 0 0 0 q0 1 0 q1 q00 1 qε 1 q0 q01 1 q10 q1 1 0 0 0 q11 1 q00 q01 q10 q11 1 qε q0 q1 q00 q01 q10
  15. 15. Example of DFA minimization 0 0 0 q0 1 0 q1 q00 1 qε 1 q0 q01 1 q10 q1 1 0 0 0 q11 1 q00 q01 q10 q11 1 x x x x x x qε q0 q1 q00 q01 q10  q11 is distinguishable from all other states
  16. 16. Example of DFA minimization 0 0 0 q0 1 0 q1 q00 1 qε 1 q0 q01 1 q10 q1 1 0 0 0 q11 1 q00 x q01 q10 q11 1 x x x x x x x x x qε q0 q1 q00 q01 q10  q1 is distinguishable from qε, q0, q00, q10 On transition 1, they go to distinguishable states
  17. 17. Example of DFA minimization 0 0 0 q0 1 0 q1 q00 1 qε 1 q0 q01 1 q10 q1 1 0 0 0 q11 1 x q00 q01 x x q10 x x x x x x x x q11 1 x x x qε q0 q1 q00 q01 q10  q01 is distinguishable from qε, q0, q00, q10 On transition 1, they go to distinguishable states
  18. 18. Example of DFA minimization 0 0 A 0 q0 1 B 0 q1 q00 1 qε q0 q01 1 q10 0 0 0 1 C q1 1 q11 1 q00 q01 q10 q11 1 A x A x A x x A x A x x B x x A x x x x x qε q0 q1 q00 q01 q10  Merge states not marked distinguishable qε, q0, q00, q10 are equivalent → group A q1, q01 are equivalent → group B q11 cannot be merged → group C
  19. 19. Example of DFA minimization 0 0 A 0 q0 1 B 0 q1 q00 1 qε q0 q01 1 q10 q1 1 0 q01 1 0 1 q00 0 q10 q11 C q11 A x A x A x x A x A x x B x x A x x x x x qε q0 q1 q00 q01 q10 1 0 minimized DFA: qΑ 1 0 qΒ 0 1 qC 1
  20. 20. Why does DFA minimization work? • We need to convince ourselves of three properties: M M’ •  Consistency – The new DFA M’ is well-defined  Correctness • – The new DFA M’ is equivalent to the original DFA  Minimality • – The new DFA M’ is the smallest DFA possible for L
  21. 21. Main claim Any two states q and q’ in M are distinguishable if and only if the algorithm marks them as distinguishable • Proof outline: – First, we assume q, q’ are marked distinguishable, and show they must be distinguishable – Then, we assume q, q’ are not marked distinguishable, and show they must be equivalent
  22. 22. Proof of part 1 • First, suppose q, q’ are marked as distinguishable • Could it be that they are equivalent? – No, because recall how the algorithm works: q x q’ w1 w1 w2 x w2 … … wk-1 wk-1 wk x wk x
  23. 23. Proof idea for part 2 • Now suppose q, q’ are not marked as distinguishable • Could it be that they are distinguishable? Suppose so ^ ^ • Then for some string w, δ(q, w) accepts, but δ(q’, w) rejects • Working backwards, the algorithm will mark q and q’ as distinguishable at some point
  24. 24. Proof of part 2 q q’ w1 w1 … wk-1 wk w1 w1 … wk-1 wk  For any pair of states q, q’: If q is accepting and q’ is rejecting Mark (q, q’) as distinguishable
  25. 25. Proof of part 2 q x q’ w1 w1 w2 x w2 … … wk-1 wk-1 wk x wk x  Repeat until nothing is marked: For any pair of states (q, q’): For every alphabet symbol a: If (δ(q, a), δ(q’, a)) are marked as distinguishable Mark (q, q’) as distinguishable
  26. 26. Why does DFA minimization work? • We need to convince ourselves of three properties: M M’ •  Consistency – The new DFA M’ is well-defined  Correctness • – The new DFA M’ is equivalent to the original DFA  Minimality • – The new DFA M’ is the smallest DFA possible for L
  27. 27. Consistency of transitions 0 0 A 0 q0 1 qε 1 B 0 q1 q00 q01 1 q10 1 0 0 0 1 1 q11 C 1 • Why are the transitions between the merged states consistent?
  28. 28. Proof of consistency B q5 a A q1 q2 q3 q7 C a q6 • Suppose there were two inconsistent transitions in M’ labeled a out of merged state qA
  29. 29. Proof of consistency B q5 a A q1 q2 q3 q7 a q6 • States q5 and q6 must be distinguishable because they were not merged together
  30. 30. Proof of consistency B a A q1 q2 q3 q7 w q5 C a q6 w • Then, q3 and q7 must also be distinguishable, and this is impossible
  31. 31. Consistency of states 0 0 A 0 q0 1 qε 1 B 0 q1 q00 q01 1 q10 1 0 0 0 1 1 q11 C 1 • Why are the merged states either all accepting or all rejecting?
  32. 32. Consistency of states 0 0 A 0 q0 1 qε 1 B 0 q1 q00 q01 1 q10 1 0 0 0 1 1 q11 C 1 • Because merged states are not distinguishable, so they are mutually equivalent
  33. 33. Correctness 0 0 A 0 q0 1 qε 1 B 0 q1 q00 q01 1 q10 1 0 0 0 1 1 q11 C 1 • Each state of M’ corresponds to a class of mutually equivalent states in M
  34. 34. Proof of correctness • Claim: After reading input w, M’ is in state qA if and only if M is in one of the states represented by A • Proof: True in start state, and stays true after, because transitions are consistent • At the end, M accepts w in state qi if and only if M’ on input w lands in the state qA that represents qi – qA must be accepting by consistency of states
  35. 35. Proof of minimality All pairs of states in M’ are distinguishable • Now suppose there is some smaller M’’ for L • By the pigeonhole principle, there is a state q’’ of M’’ such that v q v’ q’ M’ M’’ q’’ v, v’
  36. 36. Proof of minimality All pairs of states in M’ are distinguishable • Since q and q’ are distinguishable, for some w… • But in M’’, δ(q’’, w) cannot both accept and reject! • So, M’’ cannot be smaller than M’ v v’ q q’ w w M’ M’’ q’’ v, v’ w ?

×