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

CS341 HomeworkSol PDF

This document contains the solutions to homework problems about constructing deterministic finite automata (DFAs) to recognize various regular languages. It defines several DFAs over an alphabet {a,b} with different transition functions and sets of accepting states to recognize languages based on conditions like the number of as and bs in a string. It also proves properties of DFAs like closure under complement and constructing a minimal DFA for a language's complement.

Uploaded by

Johnny
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
89 views

CS341 HomeworkSol PDF

This document contains the solutions to homework problems about constructing deterministic finite automata (DFAs) to recognize various regular languages. It defines several DFAs over an alphabet {a,b} with different transition functions and sets of accepting states to recognize languages based on conditions like the number of as and bs in a string. It also proves properties of DFAs like closure under complement and constructing a minimal DFA for a language's complement.

Uploaded by

Johnny
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

CS 341: Foundations of Computer Science II

Prof. Marvin Nakayama

Homework 2 Solutions

1. For the drawing below,

a b
b
q1 q2 b q3
a

we can formally express the DFA as M = (Q, Σ, δ, q1 , F ), where

ˆ Q = {q1 , q2 , q3 }
ˆ Σ = {a, b}
ˆ transition function δ is given by

a b
q1 q1 q2
q2 q1 q3
q3 q1 q3

ˆ q1 is the start state


ˆ F = {q1 , q3 } is the set of accept states.

2. There are (infinitely) many correct DFAs for each part below.

(a) A DFA that recognizes the language A = {ε, b, ab} is

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

There are simpler DFAs that recognize this language. Can you come up with one
with only 4 states?
(b) A DFA that recognizes the language B = { w ∈ Σ∗ | na (w) mod 3 = 1 } is
b

q2
a
q1 a

a
q3
b

(c) A DFA that recognizes the language C = { w ∈ Σ∗ | w = saba for some string s ∈
Σ∗ } is

2
a

q2 a q4
a b a
b
q1 q3
b

(d) Since D = C, the complement of C, we can convert the DFA for C into a DFA
for D by swapping the accept and non-accept states:

q2 a q4
a b a
b
q1 q3
b

(e) A DFA for E = { w ∈ Σ∗ | w begins with b and ends with a } is

b a

a
q1 b q2 q3
b
a
a, b
q4

(f) A DFA for F = { w ∈ Σ∗ | na (w) ≥ 2, nb (w) ≤ 1 } is

3
a
q1 a q2 a q3

b b b
a
q4 a q5 a q6

b
b b

q7

a, b
(g) A DFA for G = { w ∈ Σ∗ | |w| ≥ 2, second-to-last symbol of w is b } is

a q3
a
b
q1 b q2 a
b
b
a
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.

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

4
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 }.
ˆ 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 | < ∞.

You might also like