0% found this document useful (0 votes)
43 views

Formal Languages, Automata and Computability

The document discusses minimizing deterministic finite automata (DFAs). It begins by showing that for every regular language, there exists a unique minimal DFA recognizing that language. An algorithm called the "table-filling algorithm" is then presented to find the minimal DFA equivalent to a given DFA. The algorithm works by partitioning the DFA's states into equivalence classes based on which states are indistinguishable from each other. This partitions the states into blocks that will become the states of the minimized DFA. It is proved that the minimized DFA produced is indeed the unique minimal DFA for the original language.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
43 views

Formal Languages, Automata and Computability

The document discusses minimizing deterministic finite automata (DFAs). It begins by showing that for every regular language, there exists a unique minimal DFA recognizing that language. An algorithm called the "table-filling algorithm" is then presented to find the minimal DFA equivalent to a given DFA. The algorithm works by partitioning the DFA's states into equivalence classes based on which states are indistinguishable from each other. This partitions the states into blocks that will become the states of the minimized DFA. It is proved that the minimized DFA produced is indeed the unique minimal DFA for the original language.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 37

15-453

FORMAL LANGUAGES,
AUTOMATA AND
COMPUTABILITY
MINIMIZING DFAs
THURSDAY Jan 24
IS THIS MINIMAL?
NO
0

1
1 1 0
1 0

0
IS THIS MINIMAL?

0
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
EXTENDING 
Given DFA M = (Q, Σ, , q0, F) extend  to
^ : Q  Σ* → Q as follows:
^ ε) = q
(q,
^ ) = (q, )
(q,
^
^  … ) = ( (q,
(q, 1 k+1 1 …k ), k+1 )
^ , w)  F  M accepts w
Note: (q0

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+1 1 …k ), k+1 )
^ , w)  F  M accepts w
Note: (q0

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 1
0
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 0
1 0

0
Algorithm MINIMIZE
Input: DFA M
Output: DFA MMIN such that:
MMMIN (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 σ  Σ
qi D D and states p, q satisfying
 (p, ) = p
qn D ~/  p ~/ q
q0 q1 qi qn  (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
1 0

0 0 1
q0 q1 q2 q3
1
0
q0 q1

1
1 1 0
1 0
q0
q3 q2
q1 D 0

q2 D

q3 D D
q0 q1 q2 q3
Claim: If p, q are distinguished by Table-
Filling 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 Table-
Filling algorithm, then p ~ q
Proof (by contradiction):
Suppose the pair (p, q) is not marked D by the
/ q (a “bad pair”)
algorithm, yet p ~
Then there is a string w such that:
^ w)  F and (q,
(p, ^ w)  F (Why is |w| >0 ?)

So, w
Of all such bad= w, let p, q 
where
pairs, beΣa pair with
the = (p,)wand q = (q,)
shortest
Let p
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 q1 0

1
0 1 0
1

q2
0

1
1
1 0 0,1
0
q0 q1 q4
1 1

0,1 0 0 q5
q0

q1 q2 1
D q3
q3 D D
q4 D D
q5 D D D D
q0 q1 q3 q4 q5
1 0 0,1
0
q0 q1 q4
1 1

0 0 q5
q0

q1 D q3
q3 D D
q4 D D
q5 D D D D
q0 q1 q3 q4 q5
*MMIN is the unique minimal DFA equivalent to M
Claim: Suppose MMMIN, 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 MMMIN, 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 MMMIN, 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
  Then q → q
q q
We need to prove:
That is, for
The map is all q  Meverywhere
defined MIN
there
Base a q q M such
isCase: → q that
 q → q
The map is well defined
0 MIN 0
If
Theq map
MMINis, there
Recursive isIfapstring
a bijection
Step: → p w such that
^MIN(q0 MIN,w) = q
  Then q → q
^
Let q = (q 0,w). q willq map q to q
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
Suppose there exist q and q such that
q → q and q → q

Suppose q and q are distinguishable

MMIN M
Accept

Accept
u w u w
q0 MIN q q0 q
Contradiction!
v w v w

Reject
Reject

q0 MIN q q0 q


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)


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 M
Accept

Accept
u w u w
q0 MIN p q0 q
Contradiction!
v w v w

Reject
Reject

q0 MIN q q0 q
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

You might also like