# CENG 491 - Formal Languages and Automata First sermutlu/exams/ ankaya University Department of...

date post

20-May-2018Category

## Documents

view

231download

1

Embed Size (px)

### Transcript of CENG 491 - Formal Languages and Automata First sermutlu/exams/ ankaya University Department of...

Cankaya UniversityDepartment of Computer Engineering

2013 - 2014 Fall Semester

CENG 491 - Formal Languages and Automata

First Midterm Examination

1) Design a DFA for all strings over the alphabet = {a, b, c} in which there is no aa, no bband no cc.

2) What language does the following DFA recognize? Describe verbally.

q0 q1 q2 q3 q4

1

0

0

1

1

0

0

1

1

0

3) Let A be a language over = {0, 1}. A = {w | w ends with 11 or 000}.a) Find an NFA that recognizes A.

b) Find an NFA that recognizes A.

4) Find the regular expression equivalent to the following NFA:

q1 q2

q3q4

ab

c

d

d

5) Show that the language A = {w | w = wR} over = {0, 1} is non-regular.(Here, wR shows the reverse of the string w, for example 10111R = 11101)

Answers

1)

Start

qa

qb

qc

Reject

a

b

c

ab

c

a

b

c

a

bc

a,b,c

2) Many answers are possible. Some of them, starting with the simplest are:

Contains 10 and ends with 1.

Contains 10 and 01 and ends with 1.

Contains at least two symbol changes and ends with 1.

Contains at least 3 symbols, 1, 0 and 1 in this order (but not necessarily consecu-tively) and ends with 1.

3)

1

0

0,11

0 0

1

0

0,11

0 0

4) GNFA:

q1 q3 q2

q4

a

cd

b

d

Eliminate q4 and q2:

q1 q3

a

dd

bc

Eliminate q1:

q3a

dd bca

Finally:

a(dd bca)

So the answer is: a(dd bca)Other possible answers are: [a(dd)bc]a(dd) or a[(dd)(bca)]

5) Suppose A is regular. Let the pumping length be p. Choose w = 0p10p.We know that w = xyz and |xy| 6 p therefore y consists of zeros only.y = 0k where k 6 p.w = xyz A but xyyz = 0p+k10p / A for any possible choice of y. So there is a

contradiction.A is non-regular by pumping lemma.

Cankaya UniversityDepartment of Computer Engineering

2013 - 2014 Fall Semester

CENG 491 - Formal Languages and Automata

Second Midterm Examination

1) Eliminate rules containing from the following grammar:

S AB | 00A

A BB | 0 | A11B |

B 1B | 1A1

2) Give either a PDA (pushdown automaton) or a CFG (context free grammar) for thelanguage {anbmcmbn | n,m > 0} over = {a, b, c}

3) Let A = {anbn+1c4n | n > 0}. Show that A is not a context-free language.

4) Describe a Turing machine that recognizes the language A, given in question 3.

5) A Turing machine with doubly infinite tape has a single tape, but its tape is infinite tothe left and to the right. The tape is initially blank except for the input. Show that thisis equivalent to an ordinary Turing machine.

Bonus) Give a PDA (pushdown automaton) for the language over = {0, 1} made of stringsthat contain equal numbers of 0s and 1s.

Answers

1)

S AB | 00A | B | 00

A BB | 0 | A11B | 11B

B 1B | 1A1 | 11

2)

S aSb | T

T bTc |

OR

q1 q2 q3

q4q5q6

, $

a, a

,

b, b

,

c, b

, , $

b, a

3) Suppose A is context free. Let p be the pumping length. Choose w as w = apbp+1c4p.How can we choose v and y such that apbp+1c4p = uvxyz?

1) They contain more than one symbol.

In this case, the pumped string uv2xy2z will have symbols out of order. For example,it will contain as after bs. Therefore uv2xy2z / A.

2) They contain a single symbol.

In that case, we can pump at most two of the symbols {a, b, c}. The remaining onewill have the same power in the pumped string. For example, if we choose v = a andy = b we obtain uv2xy2z = an+1bn+2c4n / A

Therefore we cannot pump this string. By pumping lemma, A is not context free.

4)

1. Sweep from left to right. IF any symbol is out of order (for example, as after bs)REJECT.

2. Go to start. Search for a.IF found, cross it. (Replace by )ELSE, Go to 6.

3. Search for b.IF found, cross it.ELSE, REJECT.

4. Repeat 4 times:Search for c.

IF found, cross it.ELSE, REJECT.

5. Go to 2.

6. Sweep from left to right.IF there is one and only one b AND there is no c, ACCEPT.ELSE, REJECT.

5) We can divide the double tape into two parts: positive and negative. Then, we can map itinto normal Turing tape by zig-zagging and placing positive squares to odd squares andnegative squares to even squares as follows:

f(n) =

{2n 1 n > 02n n < 0

Double Tape Normal Tape 3 2 1 1 2 3 1 1 2 2 3 3

OR

We can use the multi-tape idea for double tape and separate the contents by a #:

Double Tape Normal Tape 3 2 1 1 2 3 1 2 n # 1 2

Note that in this case the # moves as the program proceeds.

Bonus)

q1 q2

q3

q4

q5 q6 qaccept, $

0, 0

1, 1

0, 01, 0

1, $ $

, $

, 0

1, 10, 1

0, $ $

, $

, 1

State q3: Up to now, more 0s than 1s arrived. Stack contains 0s.State q4: Up to now, more 1s than 0s arrived. Stack contains 1s.

Cankaya UniversityDepartment of Computer Engineering

2013 - 2014 Fall Semester

CENG 491 - Formal Languages and Automata

Final Examination

1) Find an equivalent DFA for the following NFA:

q1 q2 q3 q4a

a

a

a, b

b

a

a

2) Give a CFG that generates the following language over = {0, 1}:

{w | w is of odd length and contains more 0s than 1s.}

3) Define the language L as: A, k where A is an NFA, k is an integer and A rejects allstrings of length 6 k.

Show that L is decidable. (Hint: Give a TM for L that halts)

4) Let A = the set of all integer coefficient polynomials.B = the set of all functions f : N N.C = the set of all infinite strings on = {0, 1, 2}.Choose one of these sets. Claim that it is countable or uncountable. Prove your claim.

5) TS (Traveling Salesman) PROBLEM: Given n cities, and distances d(i, j) between them,what is the minimum distance of a path that visits each city once?

HAMPATH (Hamiltonian Path) PROBLEM: Given a graph G, is there a path that goesthrough each node exactly once?

a) Reformulate the TS problem as a Yes/No problem. Call it TS2.

b) Given that the HAMPATH problem is NP-complete, show that TS2 is NP-complete.

Answers

1)

q1 q2 q23 q34 q234

a

b b

a

a

b

b

a

b

a

a, b

2)

S T0T

T 0T1 | 1T0 | 0T0 | TT |

3)

1. Simulate A on the TM.

2. Mark start state.

3. For i = 1 to kMark all states that can be reached from marked states in one step.If an accept state is marked, Return REJECT.

EndFor

4. Return ACCEPT.

Another idea (that is bad style but still works) is to make a list of all strings oflength 6 k, give them one by one to our simulation of A and reject if it accepts any oneof them.

4) a) The set {. . . ,1, 0, 1, 2, . . .} is countable. Therefore there are countably many a0 termsin the polynomial. Similarly, there are countably many a1x terms. In that way, we haveto find countable union of countable sets which is countable. We can count them in thesame way we counted rational numbers, by counting an infinite matrix.

b) We can think of each function as an infinite string. The set of such strings is uncount-able. If we assume there is a list, we can generate an element that is not on the list usingCantors diagonal idea. This contradicts the assumption that the list contains everything.This is the same idea we used in proving uncountability of real numbers on [0, 1].

c) The same as b).

5)a) TS2 (Traveling Salesman) PROBLEM: Given n cities, and distances d(i, j) betweenthem, and a positive number k, is there a path that visits each city once andhas length 6 k?

b) We have to show that

HAMPATH 6P TS2

Suppose we can solve any TS2 problem. Given a HAMPATH problem, transform itinto TS2 as follows:

If there is a connection between vertex i and vertex j, set d(i, j) = 1.

If there is no connection between vertex i and vertex j, set d(i, j) = 10.

Set k = n (number of vertices)

If TS2 finds a path of length 6 n (actually, we have length = n) it is the one we arelooking for.

Clearly, this reduction is of polynomial type.

Cankaya University

Department of Computer Engineering

CENG 491 - Formal Languages and Automata

Name-Surname: 03.10.2013

ID Number:

CLASSWORK 1

Give the state diagram of a DFA or an NFA that recognizes the language A over alphabet = {0, 1} where

A = {w | w starts with 0 and has odd length, or starts with 1 and has length at most 5}

Answer:

NFA:

q1

q2 q3

q4 q5 q6 q7 q8

0

1

0,1

0,1 0,1 0,1 0,1

0,1

DFA:

q1

q2 q3

q4 q5 q6 q7 q8 q9

0

1

0,1

0,1 0,1 0,1 0,1 0,1

0,1

0,1

Cankaya University

Department of Computer Engineering

CENG 491 - Formal Languages and Automata

Name-Surname: 03.10.2013

ID Number:

CLASSWORK 1

Give the state diagram of a DFA or an NFA that recognizes the language A over alphabet = {a, b} where

A = {w | w = ab}

Answer:

NFA:

q1 q2b

a b

DFA:

q1 q2 q3b

a b

a

a,b

Cankaya University

Department of Computer Engineering

CENG 491 - Formal Languages and Automata

Name-Surname: 10.10.2013

ID Number:

CLASSWORK 2

Let A an

Recommended

*View more*