Download presentation
Presentation is loading. Please wait.
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.