0% found this document useful (0 votes)
63 views22 pages

Regular Language Equivalence and DFA Minimization

The document discusses algorithms for determining regular language equivalence and containment using product DFAs. It also describes an algorithm for minimizing a DFA to have the fewest number of states that accepts the same language. The minimization algorithm works by iteratively marking pairs of states that can be distinguished by an input string and merging indistinguishable states.

Uploaded by

Lamesgn Yigrem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
63 views22 pages

Regular Language Equivalence and DFA Minimization

The document discusses algorithms for determining regular language equivalence and containment using product DFAs. It also describes an algorithm for minimizing a DFA to have the fewest number of states that accepts the same language. The minimization algorithm works by iteratively marking pairs of states that can be distinguished by an input string and merging indistinguishable states.

Uploaded by

Lamesgn Yigrem
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

Regular Language Equivalence

and DFA Minimization


Equivalence of Two Regular Languages
DFA Minimization

1
Decision Property: Equivalence
•  Given regular languages L and M, is
L = M?
•  Algorithm involves constructing the
product DFA from DFA’s for L and M.
•  Let these DFA’s have sets of states Q
and R, respectively.
•  Product DFA has set of states Q × R.
•  I.e., pairs [q, r] with q in Q, r in R.
2
Product DFA – Continued
•  Start state = [q0, r0] (the start states of
the DFA’s for L, M).
•  Transitions: δ([q,r], a) =
[δL(q,a), δM(r,a)]
•  δL, δM are the transition functions for the
DFA’s of L, M.
•  That is, we simulate the two DFA’s in the
two state components of the product DFA.
3
Example: Product DFA
0 0
1 0
A B [A,C] [A,D]

0, 1 1
1 1 0
0
1 [B,C] [B,D]
0 1
0
C D

4
Equivalence Algorithm
•  Make the final states of the product DFA
be those states [q, r] such that exactly
one of q and r is a final state of its own
DFA.
•  Thus, the product accepts w iff w is in
exactly one of L and M.

5
Example: Equivalence
0 0
1 0
A B [A,C] [A,D]

0, 1 1
1 1 0
0
1 [B,C] [B,D]
0 1
0
C D

6
Equivalence Algorithm – (2)
•  The product DFA’s language is empty
iff L = M.
•  But we already have an algorithm to
test whether the language of a DFA is
empty.

7
Decision Property: Containment
•  Given regular languages L and M, is
L ⊆ M?
•  Algorithm also uses the product
automaton.
•  How do you define the final states [q, r]
of the product so its language is empty
iff L ⊆ M?
Answer: q is final; r is not.
8
Example: Containment
0 0
1 0
A B [A,C] [A,D]

0, 1 1
1 1 0
0
1 [B,C] [B,D]
0 1
0
C D
Note: the only final state
1 is unreachable, so
containment holds.
9
The Minimum-State DFA for a
Regular Language
•  In principle, since we can test for
equivalence of DFA’s we can, given a
DFA A find the DFA with the fewest
states accepting L(A).
•  Test all smaller DFA’s for equivalence
with A.
•  But that’s a terrible algorithm.
10
Efficient State Minimization
•  Construct a table with all pairs of states.
•  If you find a string that distinguishes
two states (takes exactly one to an
accepting state), mark that pair.
•  Algorithm is a recursion on the length of
the shortest distinguishing string.

11
State Minimization – (2)
•  Basis: Mark a pair if exactly one is a final
state.
•  Induction: mark [q, r] if there is some
input symbol a such that [δ(q,a), δ(r,a)]
is marked.
•  After no more marks are possible, the
unmarked pairs are equivalent and can
be merged into one state.
12
Transitivity of “Indistinguishable”
•  If state p is indistinguishable from q,
and q is indistinguishable from r, then p
is indistinguishable from r.
•  Proof: The outcome (accept or don’t)
of p and q on input w is the same, and
the outcome of q and r on w is the
same, then likewise the outcome of p
and r.
13
Constructing the Minimum-
State DFA
•  Suppose q1,…,qk are indistinguishable
states.
•  Replace them by one state q.
•  Then δ(q1, a),…, δ(qk, a) are all
indistinguishable states.
•  Key point: otherwise, we should have
marked at least one more pair.
•  Let δ(q, a) = the representative state
for that group. 14
Example: State Minimization
r b r b
{1} {2,4} {5} AB C
{2,4} {2,4,6,8} {1,3,5,7} BD E
Here it is
{5} {2,4,6,8} {1,3,7,9} CD F
with more
{2,4,6,8} {2,4,6,8} {1,3,5,7,9} DD G
convenient
ED G
{1,3,5,7} {2,4,6,8} {1,3,5,7,9} state names
* {1,3,7,9} {2,4,6,8} {5} *F D C
* {1,3,5,7,9} {2,4,6,8} {1,3,5,7,9} *G D G

Remember this DFA? It was constructed for the


chessboard NFA by the subset construction.
15
Example – Continued
r b G F E D C B
AB C A x x
BD E B x x
CD F C x x
DD G D x x
ED G E x x
*F D C F
*G D G

Start with marks for


the pairs with one of
the final states F or G. 16
Example – Continued
r b G F E D C B
AB C A x x
BD E B x x
CD F C x x
DD G D x x
ED G E x x
*F D C F
*G D G

Input r gives no help,


because the pair [B, D]
is not marked. 17
Example – Continued
r b G F E D C B
AB C A x x x x x
BD E B x x x x x
CD F C x x
DD G D x x
ED G E x x
*F D C F x
*G D G
But input b distinguishes {A,B,F}
from {C,D,E,G}. For example, [A, C]
gets marked because [C, F] is marked.
18
Example – Continued
r b G F E D C B
AB C A x x x x x
BD E B x x x x x
CD F C x x x x
DD G D x x
ED G E x x
*F D C F x
*G D G
[C, D] and [C, E] are marked
because of transitions on b to
marked pair [F, G].
19
Example – Continued
r b G F E D C B
AB C A x x x x x x
BD E B x x x x x
CD F C x x x x
DD G D x x
ED G E x x
*F D C F x
*G D G
[A, B] is marked [D, E] can never be marked,
because of transitions on r because on both inputs they
to marked pair [B, D]. go to the same state. 20
Example – Concluded
r b r b G F E D C B
AB C AB C A x x x x x x
BD E BH H B x x x x x
CD F CH F C x x x x
DD G HH G D x x
ED G E x x
*F D C *F H C F x
*G D G *G H G

Replace D and E by H.
Result is the minimum-state DFA.
21
Eliminating Unreachable States
•  Unfortunately, combining
indistinguishable states could leave us
with unreachable states in the
“minimum-state” DFA.
•  Thus, before or after, remove states
that are not reachable from the start
state.

22

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy