This preview shows page 1. Sign up to view the full content.
Unformatted text preview: Decision Properties of Regular Languages
General Discussion of “Properties”
The Pumping Lemma
Membership, Emptiness, Etc.
1 Properties of Language Classes
x A language class is a set of languages.
We have one example: the regular languages.
We’ll see many more in this class. x Language classes have two important kinds of properties:
1. Decision properties.
2. Closure properties. 2 Representation of Languages
x Representations can be formal or informal.
x Example (formal): represent a language by a RE or DFA defining it.
x Example: (informal): a logical or prose statement about its strings:
{0n1n  n is a nonnegative integer}
“The set of strings consisting of some number of 0’s followed by the same number of 1’s.”
3 Decision Properties
x A decision property for a class of languages is an algorithm that takes a formal description of a language (e.g., a DFA) and tells whether or not some property holds.
x Example: Is language L empty? 4 Subtle Point: Representation Matters
x You might imagine that the language is described informally, so if my description is “the empty language” then yes, otherwise no.
x But the representation is a DFA (or a RE that you will convert to a DFA).
x Can you tell if L(A) = ∅ for DFA A?
5 Why Decision Properties?
x When we talked about protocols represented as DFA’s, we noted that important properties of a good protocol were related to the language of the DFA.
x Example: “Does the protocol terminate?” = “Is the language finite?”
x Example: “Can the protocol fail?” = “Is the language nonempty?”
6 Why Decision Properties – (2)
x We might want a “smallest” representation for a language, e.g., a minimumstate DFA or a shortest RE.
x If you can’t decide “Are these two languages the same?”
I.e., do two DFA’s define the same language? You can’t find a “smallest.” 7 Closure Properties
x A closure property of a language class says that given languages in the class, an operator (e.g., union) produces another language in the same class.
x Example: the regular languages are obviously closed under union, concatenation, and (Kleene) closure.
Use the RE representation of languages.
8 Why Closure Properties?
1. Helps construct representations.
2. Helps show (informally described) languages not to be in the class. 9 Example: Use of Closure Property
x We can easily prove L1 = {0n1n  n > 0} is not a regular language.
x L2 = the set of strings with an = number of 0’s and 1’s isn’t either, but that fact is trickier to prove.
x Regular languages are closed under ∩.
x If L2 were regular, then L2 ∩L(0*1*) = L1 would be, but it isn’t.
10 The Membership Question
x Our first decision property is the question: “is string w in regular language L?”
x Assume L is represented by a DFA A.
x Simulate the action of A on the sequence of input symbols forming w. 11 Example: Testing Membership
0 1 0 1 1 Next
symbol
0
A
Start 0,1
1 B 1 C 0
Current state 12 Example: Testing Membership
0 1 0 1 1 Next
symbol
0
A
Start 1 0,1
B 1 C 0
Current state 13 Example: Testing Membership
0 1 0 1 1 Next
symbol
0
A
Start 1 0,1
B 1 C 0
Current state 14 Example: Testing Membership
0 1 0 1 1
0 Next
symbol A
Start 0,1
1 B 1 C 0
Current state 15 Example: Testing Membership
0 1 0 1 1
0
A
Start Next
symbol
0,1
1 B 1 C 0
Current state 16 Example: Testing Membership
0 1 0 1 1 Next
symbol 0
A
Start 0,1
1 B 1 C 0
Current state17 What if the Regular Language Is not Represented by a DFA?
x There is a circle of conversions from one form to another:
RE
εNFA DFA
NFA 18 The Emptiness Problem
x Given a regular language, does the language contain any string at all.
x Assume representation is DFA.
x Construct the transition graph.
x Compute the set of states reachable from the start state.
x If any final state is reachable, then yes, else no.
19 The Infiniteness Problem
x Is a given regular language infinite?
x Start with a DFA for the language.
x Key idea: if the DFA has n states, and the language contains any string of length n or more, then the language is infinite.
x Otherwise, the language is surely finite.
Limited to strings of length n or less. 20 Proof of Key Idea
x If an nstate DFA accepts a string w of length n or more, then there must be a state that appears twice on the path labeled w from the start state to a final state.
x Because there are at least n+1 states along the path.
21 Proof – (2)
w = xyz
x y z Then xyiz is in the language for all i > 0.
Since y is not ε, we see an infinite
number of strings in L.
22 Infiniteness – Continued
x We do not yet have an algorithm.
x There are an infinite number of strings of length > n, and we can’t test them all.
x Second key idea: if there is a string of length > n (= number of states) in L, then there is a string of length between n and 2n1.
23 Proof of 2nd Key Idea
y x Remember:
x
z
x We can choose y to be the first cycle on the path.
x So xy < n; in particular, 1 < y < n.
x Thus, if w is of length 2n or more, there is a shorter string in L that is still of length at least n.
x Keep shortening to reach [n, 2n1].
24 Completion of Infiniteness Algorithm
x Test for membership all strings of length between n and 2n1.
If any are accepted, then infinite, else finite. x A terrible algorithm.
x Better: find cycles between the start state and a final state.
25 Finding Cycles
1. Eliminate states not reachable from the start state.
2. Eliminate states that do not reach a final state.
3. Test if the remaining transition graph has any cycles. 26 The Pumping Lemma
x We have, almost accidentally, proved a statement that is quite useful for showing certain languages are not regular.
x Called the pumping lemma for regular languages. 27 Statement of the Pumping Lemma
Number of
states of
DFA for L For every regular language L There is an integer n, such that For every string w in L of length > n We can write w = xyz such that:
1. xy < n.
Labels along
2. y > 0.
first cycle on
path labeled w
3. For all i > 0, xyiz is in L.
28 Example: Use of Pumping Lemma
x We have claimed {0k1k  k > 1} is not a regular language.
x Suppose it were. Then there would be an associated n for the pumping lemma.
x Let w = 0n1n. We can write w = xyz, where x and y consist of 0’s, and y ≠ ε.
x But then xyyz would be in L, and this string has more 0’s than 1’s.
29 Decision Property: Equivalence
x Given regular languages L and M, is L = M?
x Algorithm involves constructing the product DFA from DFA’s for L and M.
x Let these DFA’s have sets of states Q and R, respectively.
x Product DFA has set of states Q × R.
I.e., pairs [q, r] with q in Q, r in R. 30 Product DFA – Continued
x Start state = [q0, r0] (the start states of the DFA’s for L, M).
x 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.
31 Example: Product DFA
0
A 1 B [A,C] 0, 1 1 1
C 0 0
D 1 1 0 0 [A,D] 1
0 [B,C] 0
[B,D] 1
32 Equivalence Algorithm
x 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.
x Thus, the product accepts w iff w is in exactly one of L and M. 33 Example: Equivalence
0
A 1 B [A,C] 0, 1 1 1
C 0 0
D 1 1 0 0 [A,D] 1
0 [B,C] 0
[B,D] 1
34 Equivalence Algorithm – (2)
x The product DFA’s language is empty iff L = M.
x But we already have an algorithm to test whether the language of a DFA is empty. 35 Decision Property: Containment x Given regular languages L and M, is L ⊆ M?
x Algorithm also uses the product automaton.
x 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.
36 Example: Containment
0
A 1 B [A,C] 0, 1 1 1
C 0
1 0
D 1 1 0 0 [A,D] 1 0 0 [B,C] [B,D] Note: the only final state
is unreachable, so
containment holds.
37 The MinimumState DFA for a Regular Language
x 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).
x Test all smaller DFA’s for equivalence with A.
x But that’s a terrible algorithm.
38 Efficient State Minimization
x Construct a table with all pairs of states.
x If you find a string that distinguishes two states (takes exactly one to an accepting state), mark that pair.
x Algorithm is a recursion on the length of the shortest distinguishing string. 39 State Minimization – (2)
x Basis: Mark a pair if exactly one is a final state.
x Induction: mark [q, r] if there is some input symbol a such that [δ(q,a), δ(r,a)] is marked.
x After no more marks are possible, the unmarked pairs are equivalent and can be merged into one state.
40 Transitivity of “Indistinguishable”
x If state p is indistinguishable from q, and q is indistinguishable from r, then p is indistinguishable from r.
x 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.
41 Constructing the Minimum
State DFA
x Suppose q1,…,qk are indistinguishable states.
x Replace them by one state q.
x Then δ(q1, a),…, δ(qk, a) are all indistinguishable states.
Key point: otherwise, we should have marked at least one more pair. x Let δ(q, a) = the representative state for that group.
42 Example: State Minimization
{1}
{2,4}
{5}
{2,4,6,8}
{1,3,5,7}
* {1,3,7,9}
* {1,3,5,7,9} r b
{2,4} {5}
{2,4,6,8} {1,3,5,7}
{2,4,6,8} {1,3,7,9}
{2,4,6,8} {1,3,5,7,9}
{2,4,6,8} {1,3,5,7,9}
{2,4,6,8} {5}
{2,4,6,8} {1,3,5,7,9} r b
A B C
B D E
C D F
D D G
E D G
* F D C
* G D G Remember this DFA? It was constructed for the
chessboard NFA by the subset construction. 43 Here it is
with more
convenient
state names Example – Continued r b
A B C
B D E
C D F
D D G
E D G
* F D C
* G D G G F E D C B
Axx
Bxx
Cxx
Dxx
Exx
F
Start with marks for
the pairs with one of
the final states F or G.
44 Example – Continued r b
A B C
B D E
C D F
D D G
E D G
* F D C
* G D G G F E D C B
Axx
Bxx
Cxx
Dxx
Exx
F
Input r gives no help,
because the pair [B, D]
is not marked.
45 Example – Continued r b
A B C
B D E
C D F
D D G
E D G
* F D C
* G D G G F E D C B
Axx x x x
Bxx x x x
Cxx
Dxx
Exx
Fx
But input b distinguishes {A,B,F}
from {C,D,E,G}. For example, [A, C]
gets marked because [C, F] is marked.
46 Example – Continued r b
A B C
B D E
C D F
D D G
E D G
* F D C
* G D G G F E D C B
Axx x x x
Bxx x x x
Cxx x x
Dxx
Exx
Fx
[C, D] and [C, E] are marked
because of transitions on b to
marked pair [F, G]. 47 Example – Continued r b
A B C
B D E
C D F
D D G
E D G
* F D C
* G D G G F E D C B
Axx x x x x
Bxx x x x
Cxx x x
Dxx
Exx
Fx [A, B] is marked
because of transitions on r
to marked pair [B, D]. [D, E] can never be marked,
because on both inputs they
go to the same state.
48 Example – Concluded r b
A B C
B D E
C D F
D D G
E D G
* F D C
* G D G r b
A B C
B H H
C H F
H H G
* F H C
* G H G G F E D C B
Axx x x x x
Bxx x x x
Cxx x x
Dxx
Exx
Fx Replace D and E by H.
Result is the minimumstate DFA.
49 Eliminating Unreachable States
x Unfortunately, combining indistinguishable states could leave us with unreachable states in the “minimumstate” DFA.
x Thus, before or after, remove states that are not reachable from the start state. 50 Clincher
x We have combined states of the given DFA wherever possible.
x Could there be another, completely unrelated DFA with fewer states?
x No. The proof involves minimizing the DFA we derived with the hypothetical better DFA.
51 Proof: No Unrelated, Smaller DFA
x Let A be our minimized DFA; let B be a smaller equivalent.
x Consider an automaton with the states of A and B combined.
x Use “distinguishable” in its contrapositive form: If states q and p are indistinguishable, so are δ(q, a) and δ(p, a).
52 Inferring Indistinguishability
q0
Start states
of A and B
indistinguishable
because L(A)
= L(B). a q b Must be
indistinguishable p0 a p r
Must be
indistinguishable b s 53 Inductive Hypothesis
x Every state q of A is indistinguishable from some state of B.
x Induction is on the length of the shortest string taking you from the start state of A to q. 54 Proof – (2)
x Basis: Start states of A and B are indistinguishable, because L(A) = L(B).
x Induction: Suppose w = xa is a shortest string getting A to state q.
x By the IH, x gets A to some state r that is indistinguishable from some state p of B.
x Then δ(r, a) = q is indistinguishable from δ(p, a).
55 Proof – (3)
x However, two states of A cannot be indistinguishable from the same state of B, or they would be indistinguishable from each other.
Violates transitivity of “indistinguishable.” x Thus, B has at least as many states as A.
56 ...
View
Full
Document
This note was uploaded on 03/30/2012 for the course CS 154 taught by Professor Motwani,r during the Spring '08 term at Stanford.
 Spring '08
 Motwani,R

Click to edit the document details