5
THEOREMFor every regular language L, there exists a unique (up to re-labeling of the states)
minimal DFA M such that L = L(M)
7
EXTENDING Given DFA M = (Q, Σ, , q0, F) extend
to : Q Σ* → Q as follows:
(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 ^ ^
q
(q, )
9
Fix M = (Q, Σ, , q0, 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
Fix M = (Q, Σ, , q0, 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
w wSuppose not:
11
so “~” partitions the set of states of M into disjoint equivalence classes
Fix M = (Q, Σ, , q0, F) and let p, q, r Q
q0
[q] = { p | p ~ q }
Proposition: “~” is an equivalence relation
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
17
TABLE-FILLING ALGORITHMInput: DFA M = (Q, Σ, , q0, F)
(2) EM = { [q] | q Q }
(1) DM = { (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
TABLE-FILLING ALGORITHMInput: DFA M = (Q, Σ, , q0, F)
Output:
(2) EM = { [q] | q Q }
(1) DM = { (p,q) | p,q Q and p ~ q }/
q0
q1
qi
qn
q0 q1 qi qn
Base Case: p accepts and q rejects p ~ q/
19
TABLE-FILLING ALGORITHMInput: DFA M = (Q, Σ, , q0, F)
Output:
(2) EM = { [q] | q Q }
(1) DM = { (p,q) | p,q Q and p ~ q }/
q0
q1
qi
qn
q0 q1 qi qn
Base Case: p accepts and q rejects p ~ q/
Recursion:d d d
d
d
p p
q q~/
p ~ q/
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
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!
24
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
29
*MMIN is the unique minimal DFA equivalent to M
Suppose MMMIN, and M has no inaccessible states and is irreducible
Claim: There exists a 1-1 onto correspondence (preserving transitions) between M and MMIN
30
*MMIN is the unique minimal DFA equivalent to M
Suppose MMMIN, 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 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 Mmin ( M MMIN) be minimal. Then Mmin MMIN
So, by Claim, both Mmin and M are isomorphic to MMIN
NOT TRUE for NFAs !
31
Proof: We will construct a map recursively
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
qThen q → q
*MMIN is the unique minimal DFA equivalent to M
Suppose MMMIN, and M has no inaccessible states and is irreducible
Claim: There exists a 1-1 onto correspondence (preserving transitions) between M and MMIN
32
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
qThen q → q
We need to prove:
The map is defined everywhere
The map is well defined
The map is a bijection
33
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
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
qThen q → q
The map is defined everywhere
^
Let q = (q0,w) ^
34
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
qThen 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
MMIN M
Suppose there exist q and q such that q → q and q → q
q
u
q0
q
v
q0
q
u
q0 MIN
q
v
q0 MIN
Suppose q and q are not indistinguishable
w
Accep
t
w Reject
w Reject
w
Accep
t
36
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
qThen 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) ^
37
MMIN M
Suppose there exist p and q such that p → q and q → q
q
u
q0
q
v
q0
p
u
q0 MIN
q
v
q0 MIN
Suppose p and q are not indistinguishable
w
Accep
t
w Reject
w Reject
w
Accep
t
The map is 1-1