7

Click here to load reader

automata problems

Embed Size (px)

DESCRIPTION

examples and description

Citation preview

Page 1: automata problems

Homework One Solution– CSE 355

Due: 31 January 2011

Please note that there is more than one way to answer most ofthese questions. The following only represents a sample solution.

Problem 1: Linz 2.1.7(b)(c)(g), 2.2.7. and 2.2.11

2.1.7: Find dfa’s for the following languages on Σ = {a, b}

(b): L = {w : |w| mod 5 6= 0}

A dfa for L is given by the following transition graph:

a,b a,b

a,b

a,ba,b

(c): L = {w : na(w) mod 3 > 1}

A dfa for L is given by the following transition graph:

a

a

a b

b

b

1

Page 2: automata problems

(g): L = {w : |w| mod 3 = 0, |w| 6= 6}

A dfa for L is given by the following transition graph:

a,b a,b a,b a,b

a,b

a,ba,ba,b

a,b a,b

2.2.7: Design an nfa with no more than five states for the set {ababn : n ≥0} ∪ {aban : n ≥ 0}.

An nfa for the set is given by the following transition graph:

a b

b

b

a

2.2.11: Find an nfa with foour states for L = {an : n ≥ 0} ∪ {bna : n ≥ 1}.

An nfa for L is given by the following transition graph:

b

b

a

2

Page 3: automata problems

Problem 2: Linz 2.39 and 2.3.12

2.39: Let L be a regular language that does not contain λ. Show that there existsan nfa without λ-transitions and with a single final state that accept L.

Since L is regular there exists a dfa, D = (Q,Σ, δ, q0, F ), with an associated transition graph, GD,such that L(D) = L. We will construct an nfa N = (Q ∪ {qf},Σ, δ′, q0, {qf}) where qf /∈ Q bygiving its transition graph GN as follows:

1. From GD, remove the final label from every final state (making them nonfinal states).

2. Add a new state qf and label it as a final state.

3. For every state qi, if there is a transition from qi to a state in F on input a ∈ Σ, then add atransition from qi to qf on input a.

Clearly, N has a single accept state, qf , and no λ-transitions (since D is a dfa and we did not addany λ-transitions in our construction of N). We will now show that L(N) = L. First note thatsince λ /∈ L, every w ∈ L can be written as w = va for some v ∈ Σ∗ and an a ∈ Σ.

Now, w = va ∈ L iff there is a walk on GD labeled with w from q0 to qi with qi ∈ Fiff there is a walk on GD labeled with v from q0 to qj and a transition from qj to qi on input aiff there is a walk on GN labeled with v from q0 to qj and a transition from qj to qf on input a

(since every transition in GD is a transition in GN and from step (3) in the construction of GN )iff there is a walk on GN labeled with w from q0 to qfiff w ∈ L(N).Thus, w ∈ L iff w ∈ L(N). Therefore we conclude that L(N) = L and that for any regular

language that does not contain λ, there exists an nfa without λ-transitions and with a single finalstate that accept L.

2.3.12: Show that if L is regular, so is LR.

Since L is a regular language, we can construct a corresponding dfa, N, such that L(N) = L (Forevery regular language, there is a corresponding dfa, by definition, and for every dfa, there is anequivalent nfa).

By definition, LR consists of all strings in language L in reverse order. We will construct anfa, NR, representing LR such that L(NR) = LR. NR will contain an additional start state withλ-transitions to the final states of N . The direction of every transition in N is reversed. Also, thestart state of N will be the final state of NR. The construction of nfa NR is as follows:

Let N = (Q,Σ, δ, qn, F )NR = (Q ∪ {q0},Σ, δr, qr, {qn})

Set of states of NR = set of states of N along with q0 = Q ∪ {qr}Σ = alphabet of NR = same as Nqr = start state of NR

{qn} = set of final states of NR = start state of NTransition function:

δr(q, a) = {q1 : δ(q1, a) = q}δr(qr, λ) = F

3

Page 4: automata problems

δr(qr, a) = ∅, if a 6= λ

Now we will show that LR = L(NR). w ∈ LR iff wR ∈ L iff there is a walk on the transitiongraph of N with label wR from qn to some qi ∈ F iff there is a walk on the transition graph of NR

from qr to qi with label λ and a walk from qi to qn with label w (Following the reverse of everytransition in the original graph) iff w ∈ L(NR).

Since LR can be represented by a nfa, it is regular (by equivalence of nfa to dfa, and dfa toregular language).

Problem 3: Linz 2.1.8

2.1.8: A run in a string is a substring of length at least two, as long as possibleand consisting entirely of the same symbol. For instance, the string abbbaabcontains a run of b′s of length three and a run of a′s of length two. Find dfa’s forthe following languages on {a, b}.

(a): L = {w : w contains no runs of length less than four}.

a

b

a

a a a a

a

a

a

a

a

a

b

b

b b

b

b

b b b b b

4

Page 5: automata problems

(b): L = {w : every run of a′s has length either two or three}.

b

a

b

b

b b

a a a a

(c): L = {w : there are at most two runs of a′s of length three}.

a a a

a

a

a a

a

a

a

aaaa

a

a,b

bb

b

bb

b

b

b

b

b

bb

b

b

b

b

5

Page 6: automata problems

(d): L = {w : there are exactly two runs of a′s of length 3}.

ba a a

a

a

aaa

a

a

a a aa

a

a,b

b

b b

b

bb

b

bb

bb

bb

b

Problem 4: Linz 2.2.22

2.2.22: Let L be a regular language on some alphabet Σ, and let Σ1 ⊂ Σ be asmaller alphabet. Consider L1, the subset of L whose elements are made up onlyof symbols from Σ1, that is,

L1 = L ∩ Σ∗1.Show that L1 is also regular.

Since L is a regular language, there should be a dfa, N , representing L such that L(N) = L, whereN = (Q,Σ, δ, q0, F ).

Since L1 is made up of strings with alphabets from Σ1, Σ1 ⊂ Σ, and L1 is a subset of L, L1 containsonly strings that are accepted by L as well. We can construct a dfa, M , for L1 as follows:

1. From the transition graph of N , remove every transition that is labeled with some a /∈ Σ1.

Now we will show that L(M) = L1. w = a1a2 . . . an ∈ L1 iff there is a walk on the transitiongraph of N with label w from q0 to some qi ∈ F and every ai ∈ Σ1 iff there is a walk on thetransition graph of M from q0 to qi with label w (it will be the exact same path as it was in N) iffw ∈ L(M).

Since L1 can be represented by a dfa, it is regular.

6

Page 7: automata problems

Problem 5: Linz 2.3.3 and 2.3.8

2.3.3: Convert the following nfa into an equivalent dfa (see textbook for thediagram).

0

1

0

0

0

0

0

0

0

1

1

1 1

1

1

1

{0,1,2}

{1,2} {0,1}

{1} {2} Φ

{0,2} {0}

2.3.8: Find an nfa without λ-transitions and with a single final state that acceptsL = {a} ∪ {bn : n ≥ 1}.

Noting that λ /∈ L, we can use the technique given in 2.3.9 (Problem 2) and we get the nfa givenby the following transition graph:

b

b

a

b

a,b

7