Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "1 FORMAL LANGUAGES, AUTOMATA AND COMPUTABILITY 15-453 For next time: Read 2.1 & 2.2."— Presentation transcript:

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

2 2 MINIMIZING DFAs

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

4 4 IS THIS MINIMAL? 0 1 0 1

5 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 6 NOT TRUE FOR NFAs 0 0 0 0

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

8 8 0 0,1 0 0 1 1 1 q0q0 q1q1 q2q2 q3q3 ε distinguishes accept from non-accept states

9 9 Fix M = (Q, Σ, , q 0, F) and let p, q, r  Q Definition: 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

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

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

12 12 1 1 1 1 0 0 0 0

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

14 14 Idea: States of M MIN will be blocks of equivalent states of M Theorem: M MIN is the unique minimum Must show 2 things: Suppose M’ is a DFA equiv M, then 1. (# states in M’)  (# states in M MIN ) 2. If (# states in M’) = (# states in M MIN ) then M’ is isomorphic to M MIN (i.e., same up to re-labeling of states)

15 15 Idea: States of M MIN will be blocks of equivalent states of M

16 16 TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, , q 0, F) Output: (2) E M = { [q] | q  Q } (1) D M = { (p,q) | p,q  Q and p ~ q } / q0q0 q1q1 qiqi qnqn q0q0 q1q1 qiqi qnqn Base Case: p accepts and q rejects  p ~ q / Recursion: ddd d d p p q q ~/    p ~ q /

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

18 18 TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, , q 0, F) Output: (2) E M = { [q] | q  Q } (1) D M = { (p,q) | p,q  Q and p ~ q } / q0q0 q1q1 qiqi qnqn q0q0 q1q1 qiqi qnqn Base Case: p accepts and q rejects  p ~ q /

19 19 TABLE-FILLING ALGORITHM Input: DFA M = (Q, Σ, , q 0, F) Output: (2) E M = { [q] | q  Q } (1) D M = { (p,q) | p,q  Q and p ~ q } / q0q0 q1q1 qiqi qnqn q0q0 q1q1 qiqi qnqn Base Case: p accepts and q rejects  p ~ q / Recursion: ddd d d p p q q ~/    p ~ q /

20 20 1 0 1 0 1 0,1 0 q0q0 q0q0 q1q1 q1q1 q2q2 q2q2 q3q3 q3q3 q0q0 q1q1 q2q2 q3q3 ddd d d d

21 21 1 1 1 1 0 0 0 0 q0q0 q0q0 q1q1 q1q1 q2q2 q2q2 q3q3 q3q3 dd d d q0q0 q1q1 q2q2 q3q3

22 22 If 2 states are not distinguished by table- filling algorithm, then they are equivalent Proof (by contradiction): Suppose there exist states p and q that aren’t distinguished by the T-F algorithm, but p ~ q / Then there exists w such that:  (p, w)  F and  (q, w)  F ^^ 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 (Why is |w| >0 ?)

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

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

25 25 1 0 1 0 1 0 1 0 1 0 q0q0 q1q1 q2q2 MINIMIZE

26 26 1 0 1 0 1 0,1 0 q0q0 q1q1 q3q3 q5q5 q4q4 0 1 q2q2 q0q0 q0q0 q1q1 q1q1 q3q3 q3q3 q4q4 q4q4 d dd d dd q5q5 q5q5 d d d

27 27 1 0 1 0 0,1 0 q0q0 q1q1 q3q3 q5q5 q4q4 0 1 q0q0 q0q0 q1q1 q1q1 q3q3 q3q3 q4q4 q4q4 d dd d dd q5q5 q5q5 d d d

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

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

30 30 *M MIN is the unique minimal DFA equivalent to M Suppose M  M MIN, and M has no inaccessible states and is irreducible Claim: There exists a 1-1 onto correspondence (preserving transitions) between M and M MIN NB: If M is 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 M min (  M  M MIN ) be minimal. Then M min  M MIN So, by Claim, both M min and M are isomorphic to M MIN NOT TRUE for NFAs !

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

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

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

34 34 Base Case: q 0 MIN → q 0 Recursive Step: If p → p q  q Then 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 

35 35 M MIN M Suppose there exist q and q  such that q → q and q → q  q u q0q0 q  v q0q0 q u q 0 MIN q v Suppose q and q  are not indistinguishable w Accept w Reject w w Accept

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

37 37 M MIN M Suppose there exist p and q such that p → q and q → q q u q0q0 q v q0q0 p u q 0 MIN q v Suppose p and q are not indistinguishable w Accept w Reject w w Accept The map is 1-1

38 38 How do we prove two regular expressions are equivalent?

39 39

40 40

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


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

Similar presentations


Ads by Google