1 / 37

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

15-453. FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY. For next time: Read 2.1 & 2.2 . MINIMIZING DFAs. 0. 1. 0. 1. 1. 0. 1. 0. IS THIS MINIMAL?. NO. 0. 1. 1. 0. IS THIS MINIMAL?. THEOREM.

tate
Download Presentation

FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 15-453 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY For next time: Read 2.1 & 2.2

  2. MINIMIZING DFAs

  3. 0 1 0 1 1 0 1 0 IS THIS MINIMAL? NO

  4. 0 1 1 0 IS THIS MINIMAL?

  5. THEOREM For every regular language L, there exists a unique (up to re-labeling of the states) minimal DFA M such that L = L(M)

  6. 0 0 0 0 NOT TRUE FOR NFAs

  7. EXTENDING  Given DFA M = (Q, Σ, , q0, F) extend  to  : Q Σ* → Q as follows: ^ ^ (q, ε) = q ^ (q, ) = (q, ) ^ ^ (q, w1 …wk+1) = ( (q, w1 …wk), wk+1 ) A string w  Σ* distinguishes states q1 from q2 if ^ ^ (q1, w)  F  (q2, w)  F

  8. q1 1 0 0,1 1 q0 q2 0 0 1 q3 ε distinguishes accept from non-accept states

  9. p is distinguishable from q iff there is a w  Σ* that distinguishes p from q p is indistinguishable from q iff p is not distinguishable from q Fix M = (Q, Σ, , q0, F) and let p, q, r  Q Definition:

  10. p ~ q iff p is distinguishable from q / Fix M = (Q, Σ, , q0, F) and let p, q, r  Q Define relation “~”: p ~ q iff p is indistinguishable from q Proposition: “~” is an equivalence relation p ~ p (reflexive) p ~ q  q ~ p (symmetric) p ~ q and q ~ r  p ~ r (transitive) pq r Suppose not: w w

  11. Fix M = (Q, Σ, , q0, F) and let p, q, r  Q Proposition: “~” is an equivalence relation so “~” partitions the set of states of M into disjoint equivalence classes [q] = { p | p ~ q } Q q q0

  12. 0 1 0 1 1 0 1 0

  13. Algorithm MINIMIZE Input: DFA M Output: DFA MMIN such that: M  MMIN MMIN has no inaccessible states MMIN is irreducible || states of MMIN are pairwise distinguishable Theorem: MMIN is the unique minimum

  14. (1) DM = { (p,q) | p,q  Q and p ~ q } / TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, , q0, F) Output: (2) EM = { [q] | q  Q } IDEA! • Make best effort to find pairs of states that are distinguishable. • Pairs left over will be indistinguishable.

  15. q0 Base Case: p accepts and q rejects  p ~ q q1 / (1) DM = { (p,q) | p,q  Q and p ~ q } / qi qn q0 q1 qi qn TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, , q0, F) Output: (2) EM = { [q] | q  Q }

  16. q0 Base Case: p accepts and q rejects  p ~ q q1 / (1) DM = { (p,q) | p,q  Q and p ~ q } / qi p ~ q / qn ~ / q0 q1 qi qn TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, , q0, F) Output: (2) EM = { [q] | q  Q } Recursion: d d d  d p p   d q q

  17. q0 q1 d d q2 d q3 d d d q0 q1 q2 q3 0,1 0 1 0 0 1 q0 q1 q2 q3 1

  18. 0 1 0 1 1 0 1 0 q1 q0 q0 q2 q3 q1 d d q2 q3 d d q0 q1 q2 q3

  19. Suppose there exist states p and q that aren’t distinguished by the T-F algorithm, but p ~ q / ^ ^ (p, w)  F and (q, w)  F If 2 states are not distinguished by table-filling algorithm, then they are equivalent Proof (by contradiction): Then there exists w such that: (Why is |w| >0 ?) Of all such bad pairs, let (p, q) be a pair with the smallest |w| So, w = w, where   Σ Let p = (p,) and q = (q,) Then (p, q) is also a bad pair

  20. Algorithm MINIMIZE Input: DFA M Output: DFA MMIN (1) Remove all inaccessible states from M (2) Apply Table-Filling algorithm to get EM = { [q] | q is an accessible state of M } MMIN = (QMIN, Σ, MIN, q0 MIN, FMIN) QMIN = EM, q0 MIN = [q0], FMIN = { [q] | q  F } MIN( [q], ) = [ ( q, ) ] Must show MIN is well defined!

  21. Algorithm MINIMIZE Input: DFA M Output: DFA MMIN (1) Remove all inaccessible states from M (2) Apply Table-Filling algorithm to get EM = { [q] | q is an accessible state of M } MMIN = (QMIN, Σ, MIN, q0 MIN, FMIN) QMIN = EM, q0 MIN = [q0], FMIN = { [q] | q  F } MIN( [q], ) = [ ( q, ) ] Claim: MMIN M

  22. 0 0 1 1 0 0 1 0 1 1 MINIMIZE q0 q1 q2

  23. 1 0 0,1 0 q4 q0 q1 1 1 0 q5 0 q0 0,1 1 q1 d q3 q2 q3 d d q4 d d q5 d d d d q0 q1 q3 q4 q5

  24. 1 0 0,1 0 q4 q0 q1 1 1 0 q5 0 q0 q1 d q3 q3 d d q4 d d q5 d d d d q0 q1 q3 q4 q5

  25. *MMIN is the unique minimal DFA equivalent to M Suppose MMMIN, and M has no inaccessible states and is irreducible Claim: There exists a 1-1 onto correspondence (preserving transitions)between M and MMIN

  26. *MMIN is the unique minimal DFA equivalent to M Suppose MMMIN, and M has no inaccessible states and is irreducible Claim: There exists a 1-1 onto correspondence (preserving transitions) between M and MMIN NB: If Mis minimal, then M has no inaccessible states and is irreducible. (So claim implies * ) This Claim is also implying the converse, ie if M has no inaccessible states and is irreducible, then M is minimal. Proof. Let Mmin ( M  MMIN) be minimal. Then Mmin  MMIN So, by Claim, both Mmin and M are isomorphic to MMIN NOT TRUE for NFAs !

  27.  *MMIN is the unique minimal DFA equivalent to M Suppose MMMIN, and M has no inaccessible states and is irreducible Claim: There exists a 1-1 onto correspondence (preserving transitions) between M and MMIN Proof: We will construct a map recursively Base Case: q0 MIN→ q0 Recursive Step: If p → p Then q → q q q

  28. Base Case: q0 MIN→ q0 Recursive Step: If p → p Then q → q q q   We need to prove: The map is defined everywhere The map is well defined The map is a bijection

  29. Base Case: q0 MIN→ q0 Recursive Step: If p → p Then q → q q q   The map is defined everywhere That is, for all q  MMIN there is a q  M such that q → q If q  MMIN, there is w such that MIN(q0 MIN,w) = q ^ ^ Let q = (q0,w)

  30. Base Case: q0 MIN→ q0 Recursive Step: If p → p Then q → q q q   The map is well defined Suppose there exist q and q such that q → q and q → q We show that q and q are indistinguishable, so it must be that q = q

  31. Suppose there exist q and q such that q → q and q → q Suppose q and q are not indistinguishable MMIN M u u w w Accept Accept q q q0 q0 MIN v w v w Reject Reject q q q0 q0 MIN

  32. Base Case: q0 MIN→ q0 Recursive Step: If p → p Then q → q q q   The map is onto For all q Mthere is a q  MMIN such that q → q If q M, there is w such that (q0,w) = q ^ ^ Let q = MIN(q0 MIN,w)

  33. The map is 1-1 Suppose there exist p and q such that p → q and q → q Suppose p and q are not indistinguishable MMIN M u u w w Accept Accept q p q0 q0 MIN v w v w Reject Reject q q q0 q0 MIN

  34. How do we prove two regular expressions are equivalent?

  35. Finish Reviewing Chapter 1 of the book and Read 2.1 & 2.2 for next time

More Related