15-453
FORMAL LANGUAGES,
AUTOMATA AND
COMPUTABILITY
MINIMIZING DFAs
THURSDAY Jan 24
IS THIS MINIMAL?
NO
0
1
1
1
1
0
0
0
IS THIS MINIMAL?
0
1
1
0
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)
NOT TRUE FOR NFAs
0
0
0
0
EXTENDING
Given DFA M = (Q, Σ, , q0, F) extend to
^ : Q Σ* → Q as follows:
^ ε) = q
(q,
^ ) = (q, )
(q,
^
^ … ) = ( (q,
(q,
1 …k ), k+1 )
1
k+1
^ , w) F M accepts w
Note: (q
0
String w Σ* distinguishes states q1 and q2 iff
^
^
(q , w) F (q , w) F
1
2
EXTENDING
Given DFA M = (Q, Σ, , q0, F) extend to
^ : Q Σ* → Q as follows:
^ ε) = q
(q,
^ ) = (q, )
(q,
^
^ … ) = ( (q,
(q,
1 …k ), k+1 )
1
k+1
^ , w) F M accepts w
Note: (q
0
String w Σ* distinguishes states q1 and q2 iff
^
^
exactly ONE of (q1, w), (q2, w) is a final state
Fix M = (Q, Σ, , q0, F) and let p, q Q
DEFINITION:
p is distinguishable from q
iff
there is a w Σ* that distinguishes p and q
p is indistinguishable from q
iff
p is not distinguishable from q
iff
^
for all w Σ*, (p,
w) F ^(q, w) F
q1
0
1
0,1
1
q0
q2
0
0
1
q3
ε distinguishes accept from non-accept states
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)
Proof (of transitivity): for all w, we have:
^(p, w) F ^(q, w) F ^(r, w) F
Fix M = (Q, Σ, , q0, F) and let p, q, r Q
so ~ partitions the set of states of M into
disjoint equivalence classes
Proposition: ~ is an equivalence relation
[q] = { p | p ~ q }
Q
q
q0
0
1
1
1
1
0
0
0
Algorithm MINIMIZE
Input: DFA M
Output: DFA MMIN such that:
MMMIN (that is, L(M) = L(MMIN))
MMIN has no inaccessible states
MMIN is irreducible
||
all states of MMIN are pairwise distinguishable
Theorem: MMIN is the unique minimum DFA
Intuition: States of MMIN will be
blocks of equivalent states of M
We’ll find these equivalent states with
a “Table-Filling” Algorithm
TABLE-FILLING ALGORITHM
Input: DFA M = (Q, Σ, , q0, F)
Output: (1) DM = { (p,q) | p,q Q and p ~/ q }
(2) EM = { [q] | q Q }
IDEA:
• We know how to find those pairs of
states that ε distinguishes…
• Use this and recursion to find those
pairs distinguishable with longer strings
• Pairs left over will be indistinguishable
TABLE-FILLING ALGORITHM
Input: DFA M = (Q, Σ, , q0, F)
Output: (1) DM = { (p,q) | p,q Q and p ~/ q }
(2) EM = { [q] | q Q }
q0
q1
Base Case: p accepts
and q rejects p ~/ q
qi
qn
q0 q1
qi
qn
TABLE-FILLING ALGORITHM
Input: DFA M = (Q, Σ, , q0, F)
Output: (1) DM = { (p,q) | p,q Q and p ~/ q }
(2) EM = { [q] | q Q }
q0
q1
Base Case: p accepts
and q rejects p ~/ q
Recursion: if there is σ Σ
and states p, q satisfying
qi D D
qn
D
q0 q1
qi
qn
(p, ) = p
~/ p ~/ q
(q, ) = q
Repeat until no more new D’s
q0
q1
D
q2
D
D
q3
D
D
D
q0
q1
q2
q3
0
1
q0
0,1
0
1
q1
0
q2
1
q3
0
q0
q1
1
1
1
1
0
0
q0
q1
D
q2
D
q3
q0
q3
D
D
q1
q2
q3
0
q2
Claim: If p, q are distinguished by TableFilling algorithm, then p ~/ q
Proof: By induction on the length of the string
distinguishing them.
If (p, q) is marked D at the start, then one’s in
F and one isn’t, so ε distinguishes p and q
Suppose (p, q) is marked D at a later point.
Then there are states p, q, and string w such that:
1. (p, q) are marked D p ~
/ q (by induction)
^
(p,
w) F and ^(q, w) F
2. p = (p,) and q = (q,), where Σ
The string w distinguishes p and q!
Claim: If p, q are not distinguished by TableFilling algorithm, then p ~ q
Proof (by contradiction):
Suppose the pair (p, q) is not marked D by the
algorithm, yet p ~
/ q (a “bad pair”)
Then there is a string w such that:
^ w) F and (q,
^ w) F (Why is |w| >0 ?)
(p,
So, w
= w,
where
Of all such
bad
pairs,
let p, q
beΣa pair with
the
shortest
Let p
= (p,)wand q = (q,)
Then (p, q) is also a bad pair,
but with a SHORTER w !
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 }
Define: MMIN = (QMIN, Σ, MIN, q0 MIN, FMIN)
QMIN = EM, q0 MIN = [q0], FMIN = { [q] | q F }
MIN( [q], ) = [ ( q, ) ]
Must show MIN is well defined!
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 }
Define: MMIN = (QMIN, Σ, MIN, q0 MIN, FMIN)
QMIN = EM, q0 MIN = [q0], FMIN = { [q] | q F }
MIN( [q], ) = [ ( q, ) ]
Claim: MMIN M
MINIMIZE
0
q0
1
0
q2
q1
0
1
0
1
0
1
1
1
0
0
q0
0,1
q4
q1
1
0
0,1
q0
D
q3
D
D
q4
D
D
q5
D
D
D
D
q0
q1
q3
q4
q5
0
1
q2
q1
1
q3
q5
1
0
0
q0
0,1
q4
q1
1
0
q0
q1
D
q3
D
D
q4
D
D
q5
D
D
D
D
q0
q1
q3
q4
0
q3
q5
1
q5
*MMIN is the unique minimal DFA equivalent to M
Claim: Suppose MMMIN, and M has no
inaccessible states and is irreducible. Then
there is a bijection that preserves transitions
between M and MMIN
*MMIN is the unique minimal DFA equivalent to M
Claim: Suppose MMMIN, and M has no
inaccessible states and is irreducible. Then
there is a bijection that preserves transitions
between M and MMIN
Note: If M is minimal, then M has no inaccessible states and
is irreducible. (So the Claim implies *)
Corollary to the Claim: If M has no inaccessible states and is
irreducible, then M is minimal.
Proof: Let Mmin M be minimal. Then Mmin MMIN
So, by Claim, both Mmin and M are isomorphic to MMIN
NOT TRUE for NFAs !
*MMIN is the unique minimal DFA equivalent to M
Claim: Suppose MMMIN, and M has no
inaccessible states and is irreducible. Then
there is a bijection that preserves transitions
between M and MMIN
Proof: We construct a map from MMIN to M
recursively
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
Then q → q
q
We need to prove:
That
is, for
q Meverywhere
MIN
The map
is all
defined
there
isCase:
a q q M such
that
q → q
Base
→
q
The map is well
defined
0 MIN
0
If
q map
MMINis, there
isIfapstring
The
a bijection
Recursive
Step:
→ p w such that
^MIN(q0 MIN,w) = q
Then q → q
^
Let q = (q
q map
q to q
0,w). q will
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
Then 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
Suppose there exist q and q such that
q → q and q → q
Suppose q and q are distinguishable
MMIN
q0
q0 MIN
q
Reject
Contradiction!
v
w
w
q
v
q0
w
Reject
q
u
Accept
q0 MIN
w
Accept
u
M
q
Base Case: q0 MIN → q0
Recursive Step: If p → p
q
Then 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
^
(q
0,w) = q
Let q = ^MIN(q0 MIN,w)
The map is 1-1
Suppose there are distinct p and q such that
p → q and q → q
Suppose p and q are distinguishable
MMIN
p
q0 MIN
q
q0
w
q
Contradiction!
v
w
q0
q
Reject
q0 MIN
w
Reject
v
u
Accept
w
Accept
u
M
How can we prove that two
regular expressions are
equivalent?
WWW.FLAC.WS
Finish reviewing Chapter 1 of the book and
read 2.1 & 2.2 for next time
© Copyright 2026 Paperzz