Homework 2 Solutions: A B A B B
Homework 2 Solutions: A B A B B
Homework 2 Solutions: A B A B B
Homework 2 Solutions
a b
b
q1 q2 b q3
a
Q = {q1 , q2 , q3 }
Σ = {a, b}
transition function δ is given by
a b
q1 q1 q2
q2 q1 q3
q3 q1 q3
2. There are (infinitely) many correct DFAs for each part below.
1
q4
a
q2
b a, b
a q5
a, b
a, b
q1 q8
a, b
b q6
a
q3 a, b
b
q7
a b
q1 q2 q3
q2 q4 q5
q3 q6 q7
q4 q8 q8
q5 q8 q8
q6 q8 q8
q7 q8 q8
q8 q8 q8
2
b
q2
a
q1 a
a
q3
b
a b
q1 q2 q1
q2 q3 q2
q3 q1 q3
q2 a q4
a b a
b
q1 q3
b
3
transition function δ is given by
a b
q1 q2 q1
q2 q2 q3
q3 q4 q1
q4 q2 q3
q2 a q4
a b a
b
q1 q3
b
a b
q1 q2 q1
q2 q2 q3
q3 q4 q1
q4 q2 q3
4
b a
a
q1 b q2 q3
b
a
a, b
q4
b b b
a
q4 a q5 a q6
b
b b
q7
a, b
5
Σ = {a, b}
transition function δ is given by
a b
q1 q2 q4
q2 q3 q5
q3 q3 q6
q4 q5 q7
q5 q6 q7
q6 q6 q7
q7 q7 q7
a q3
a
b
q1 b q2 a
b
b
a
q4
a b
q1 q1 q2
q2 q3 q4
q3 q1 q2
q4 q3 q4
3. Show that, if M is a DFA that recognizes language B, swapping the accept and
non-accept states in M yields a new DFA that recognizes B, the complement of B.
Conclude that the class of regular languages is closed under complement.
6
Answer:
Suppose language B over alphabet Σ has a DFA
M = ( Q, Σ, δ, q1 , F ).
Then, a DFA for the complementary language B is
M = ( Q, Σ, δ, q1 , Q − F ).
The reason why M recognizes B is as follows. First note that M and M have the
same transition function δ. Thus, since M is deterministic, M is also deterministic.
Now consider any string w ∈ Σ∗ . Running M on input string w will result in M
ending in some state r ∈ Q. Since M is deterministic, there is only one possible state
that M can end in on input w. If we run M on the same input w, then M will end in
the same state r since M and M have the same transition function. Also, since M is
deterministic, there is only one possible ending state that M can be in on input w.
Now suppose that w ∈ B. Then M will accept w, which means that the ending state
r ∈ F , i.e., r is an accept state of M . But then r 6∈ Q − F , so M does not accept w
since M has Q − F as its set of accept states. Similarly, suppose that w 6∈ B. Then
M will not accept w, which means that the ending state r 6∈ F . But then r ∈ Q − F ,
so M accepts w. Therefore, M accepts string w if and only M does not accept string
w, so M recognizes language B. Hence, the class of regular languages is closed under
complement.
4. We say that a DFA M for a language A is minimal if there does not exist another
DFA M ′ for A such that M ′ has strictly fewer states than M . Suppose that M =
(Q, Σ, δ, q0 , F ) is a minimal DFA for A. Using M , we construct a DFA M for the
complement A as M = (Q, Σ, δ, q0 , Q − F ). Prove that M is a minimal DFA for A.
Answer:
We prove this by contradiction. Suppose that M is not a minimal DFA for A. Then
there exists another DFA D for A such that D has strictly fewer states than M .
Now create another DFA D ′ by swapping the accepting and non-accepting states of
D. Then D ′ recognizes the complement of A. But the complement of A is just A,
so D ′ recognizes A. Note that D ′ has the same number of states as D, and M has
the same number of states as M . Thus, since we assumed that D has strictly fewer
states than M , then D ′ has strictly fewer states than M . But since D ′ recognizes A,
this contradicts our assumption that M is a minimal DFA for A. Therefore, M is a
minimal DFA for A.
5. Suppose A1 and A2 are defined over the same alphabet Σ. Suppose DFA M1 recognizes
A1 , where M1 = (Q1 , Σ, δ1 , q1 , F1 ). Suppose DFA M2 recognizes A2 , where M2 =
(Q2 , Σ, δ2 , q2 , F2 ). Define DFA M3 = (Q3 , Σ, δ3 , q3 , F3 ) for A1 ∩ A2 as follows:
Set of states of M3 is
Q3 = Q1 × Q2 = { (x, y) | x ∈ Q1 , y ∈ Q2 }.
7
The alphabet of M3 is Σ.
M3 has transition function δ3 : Q3 × Σ → Q3 such that for x ∈ Q1 , y ∈ Q2 ,
and ℓ ∈ Σ,
δ3 ( (x, y), ℓ ) = ( δ1 (x, ℓ), δ2 (y, ℓ) ) .
The initial state of M3 is s3 = (q1 , q2 ) ∈ Q3 .
The set of accept states of M3 is
F3 = { (x, y) ∈ Q1 × Q2 | x ∈ F1 and y ∈ F2 } = F1 × F2 .
Since Q3 = Q1 × Q2 , the number of states in the new DFA M3 is |Q3 | = |Q1 | · |Q2 |.
Thus, |Q3 | < ∞ since |Q1 | < ∞ and |Q2 | < ∞.