Languages and Finite Automata

Summary
Showing regular
construct DFA, NFA
construct regular expression
show L is the union, concatenation, intersection
(regular operations) of regular languages.
Showing non-regular
pumping lemma
assume regular, apply closure properties of
regular languages and obtain a known non-regular
language.
1
Equivalence & Minimization
of
Automata
2
Outline
•Equivalence of
• a state in a DFA
• regular languages
•Minimization of DFA
• smallest possible DFA for a given
regular language
3
Equivalent States.
Example
Consider the accept states c and g. They are both
sinks meaning that any string which ever reaches
them is guaranteed to be accepted later.
0,1
Q: Do we need both states?
0
b
1
0
0
a
d
1
0,1
1
e
0,1
1
f
c
0
g
4
Example (cont)
A: No, they can be unified as illustrated below.
Q: Can any other states be unified because any
subsequent string suffixes produce identical results?
b
0
1
0
a
d
1
1
e
0
0,1
0,1
cg
1
f
0
5
Example (cont)
A: Yes, b and f. Notice that if you’re in b or f then:
if string ends, reject in both cases
if next character is 0, forever accept in both cases
if next character is 1, forever reject in both cases
So unify b with f.
b
0
1
0
a
d
1
1
e
0
0,1
0,1
cg
1
f
0
6
Example (cont)
Intuitively two states are equivalent if all
subsequent behavior from those states is the same.
Come up with a formal characterization of state
equivalence.
Q: Any other ways to simplify the automaton?
0,1
0
a
d
0,1
1
e
0,1
cg
1
bf
0
7
Example (cont)
A: Get rid of d.
i.e. Getting rid of unreachable useless states doesn’t
affect the accepted language.
0,1
a
e
0,1
0,1
cg
1
bf
0
8
Equivalent States.
Definition
DEF:
Two states q and q’ in a DFA M = (Q, Σ, δ, q0, F )
are said to be equivalent (or indistinguishable) if
for all strings u  Σ*, the states on which u ends
on when read from q and q’ are both accept, or
both non-accept.
Equivalent states may be glued together without
affecting M’ s behavior.
9
Minimization Algorithm.
Goals
DEF: An automaton is irreducible if
•it contains no useless states, and
•no two distinct states are equivalent.
The goal of minimization algorithm is to create
irreducible automata from arbitrary ones. Later:
remarkably, the algorithm actually produces smallest
possible DFA for the given language, hence the name
“minimization”.
10
Minimization of DFA’s
Example:
The DFA has equivalence classes
{{A,E}, {B,H}, {C}, {D,F}, {G}}
11
Equivalence Class
Transitivity: If p ≡ q and q ≡ r, then p ≡ r
Proof: Suppose to the contrary that p ≢ r
Then w :  * ( p, w)  F &  * ( r , w)  F
or vice versa. Now  * (q, w) is either accepting
or not
If  * ( q, w)  F  q 
r
Otherwise  * ( q, w)  F  p 
q
The vice versa case is proved symmetrically
pr
12
Minimization of DFA’s (cont)
13
Example
Can be minimized to
 ({ A, E},0}  B /   H /   {B, H }
  ( A,0)  B   ( E ,0)  H
&
 ({ A, E},1}  D /   F /   {D, F }
  ( A,1)  F   ( E ,1)  F
14
Cannot apply the TF-algo to NFA’s
For Example, to minimize
Simply remove state C
However, A ≢ C
15
Minimized DFA Cannot be Beaten
Let B be the minimized DFA obtained by applying the
TF-Algo to DFA A. We know that L(A) = L(B)
What if there existed a DFA C with L(C) = L(B) and
fewer states than B?
If we run the TF-Algo on B “union” C
q  q  L( B)  L(C )
Also  (q0B , a)   (q0C , a), a  
B
0
C
0
If we could distinguish successors then q  q
B
0
C
0
16
Minimized DFA Cannot be Beaten (cont)
Claim: For each state p in B there is at least
one state q in C, s.t. p  q
Proof: There
are no inaccessible states, so
B
p   * (q0 , a1a2  ak )
C
q


*
(
q
Now
0 , a1a2  ak ) and p  q
B
C
B
C
 q0  q0  (q0 , a1 )   (q0 , a1 )
 * (q0B , a1a2 )   * (q0C , a1a2 )

Since C has fewer states than B, there must
be two states r & s of B s.t. r  t  s For some
state t of C. But r  s CONTRADICTION!!
17