Theory of Computation 1
THEORY OF COMPUTATION(CS1303)
Third Year CSE( S5 CSE )
2 marks Questions and Answers
1. Why are switching circuits called as finite state systems?
A switching circuit consists of a finite number of gates, each of which can be in
any one of the two conditions 0 or 1.Although the voltages assume infinite set of values,
the electronic circuitry is designed so that the voltages corresponding to 0 or 1 are stable
and all others adjust to these value. Thus control unit of a computer is a finite state
system.
2.Give the examples/applications designed as finite state system.
Text editors and lexical analyzers are designed as finite state systems. A lexical
analyzer scans the symbols of a program to locate strings corresponding to identifiers,
constants etc, and it has to remember limited amount of information .
3.Define: (i) Finite Automaton(FA) (ii)Transition diagram
FA consists of a finite set of states and a set of transitions from state to state that
occur on input symbols chosen from an alphabet . Finite Automaton is denoted by a
5- tuple(Q, , ,q0,F), where Q is the finite set of states , is a finite input alphabet, q0 in
Q is the initial state, F is the set of final states and is the transition mapping function
Q * to Q.
Transition diagram is a directed graph in which the vertices of the graph
correspond to the states of FA. If there is a transition from state q to state p on input a,
then there is an arc labeled ‘ a ‘ from q to p in the transition diagram.
4. What are the applications of automata theory?
In compiler construction.
In switching theory and design of digital circuits.
To verify the correctness of a program.
Design and analysis of complex software and hardware systems.
To design finite state machines such as Moore and mealy machines.
5. What is Moore machine and Mealy machine?
A special case of FA is Moore machine in which the output depends on the
state of the machine.
An automaton in whch the output depends on the transition and current input is
called Mealy machine.
6.What are the components of Finite automaton model?
The components of FA model are Input tape, Read control and finite control.
(a)The input tape is divided into number of cells. Each cell can hold one i/p symbol.
(b)The read head reads one symbol at a time and moves ahead.
( c)Finite control acts like a CPU. Depending on the current state and input symbol
read from the input tape it changes state.
Theory of Computation 2
7.Differentiate NFA and DFA
NFA or Non Deterministic Finite Automaton is the one in which there exists
many paths for a specific input from current state to next state. NFA can be used in
theory of computation because they are more flexible and easier to use than DFA.
Deterministic Finite Automaton is a FA in which there is only one path for a
specific input from current state to next state. There is a unique transition on each input
symbol.(Write examples with diagrams).
8.What is -closure of a state q0?
-closure(q0 ) denotes a set of all vertices p such that there is a path from q0 to
p labeled . Example :
-closure(q0)={q0,q1}
9.What is a : (a) String (b) Regular language
A string x is accepted by a Finite Automaton M=(Q, , .q0,F) if (q0,x)=p, for
some p in F.FA accepts a string x if the sequence of transitions corresponding to the
symbols of x leads from the start state to accepting state.
The language accepted by M is L(M) is the set {x | (q0,x) is in F}. A language
is regular if it is accepted by some finite automaton.
10.What is a regular expression?
A regular expression is a string that describes the whole set of strings according
to certain syntax rules. These expressions are used by many text editors and utilities to
search bodies of text for certain patterns etc. Definition is: Let be an alphabet. The
regular expression over and the sets they denote are:
i. is a r.e and denotes empty set.
ii. is a r.e and denotes the set { }
iii. For each ‘a’ in , a+ is a r.e and denotes the set {a}.
iv. If ‘r’ and ‘s’ are r.e denoting the languages R and S respectively then (r+s),
(rs) and (r*) are r.e that denote the sets RUS, RS and R* respectively.
11. Differentiate L* and L+
L* denotes Kleene closure and is given by L* =U Li
i=0
example : 0* ={ ,0,00,000,…………………………………}
Language includes empty words also.
L+ denotes Positive closure and is given by L+= U Li
i=1
q0 q1
Theory of Computation 3
12.What is Arden’s Theorem?
Arden’s theorem helps in checking the equivalence of two regular expressions.
Let P and Q be the two regular expressions over the input alphabet . The regular
expression R is given as :
R=Q+RP
Which has a unique solution as R=QP*.
13.Write a r.e to denote a language L which accepts all the strings which begin or
end with either 00 or 11.
The r.e consists of two parts:
L1=(00+11) (any no of 0’s and 1’s)
=(00+11)(0+1)*
L2=(any no of 0’s and 1’s)(00+11)
=(0+1)*(00+11)
Hence r.e R=L1+L2
=[(00+11)(0+1)*] + [(0+1)* (00+11)]
14.Construct a r.e for the language which accepts all strings with atleast two c’s over
the set ={c,b}
(b+c)* c (b+c)* c (b+c)*
15.Construct a r.e for the language over the set ={a,b} in which total number of
a’s are divisible by 3
( b* a b* a b* a b*)*
16.what is: (i) (0+1)* (ii)(01)* (iii)(0+1) (iv)(0+1)+
(0+1)*= { , 0 , 1 , 01 , 10 ,001 ,101 ,101001,…………………}
Any combinations of 0’s and 1’s.
(01)*={ , 01 ,0101 ,010101 ,…………………………………..}
All combinations with the pattern 01.
(0+1)= 0 or 1,No other possibilities.
(0+1)+= {0,1,01,10,1000,0101,………………………………….}
17.Reg exp denoting a language over ={1} having
(i)even length of string (ii)odd length of a string
(i) Even length of string R=(11)*
(ii) Odd length of the string R=1(11)*
18.Reg exp for:
(i)All strings over {0,1} with the substring ‘0101’
(ii)All strings beginning with ’11 ‘ and ending with ‘ab’
(iii)Set of all strings over {a,b}with 3 consecutive b’s.
Theory of Computation 4
(iv)Set of all strings that end with ‘1’and has no substring ‘00’
(i)(0+1)* 0101(0+1)*
(ii)11(1+a+b)* ab
(iii)(a+b)* bbb (a+b)*
(iv)(1+01)* (10+11)* 1
19. What are the applications of Regular expressions and Finite automata
Lexical analyzers and Text editors are two applications.
Lexical analyzers:The tokens of the programming language can be expressed
using regular expressions. The lexical analyzer scans the input program and separates the
tokens.For eg identifier can be expressed as a regular expression as:
(letter)(letter+digit)*
If anything in the source language matches with this reg exp then it is
recognized as an identifier.The letter is{A,B,C,………..Z,a,b,c….z} and digit is
{0,1,…9}.Thus reg exp identifies token in a language.
Text editors: These are programs used for processing the text. For example
UNIX text editors uses the reg exp for substituting the strings such as:
S/bbb*/b/
Gives the substitute a single blank for the first string of two or more blanks in a
given line. In UNIX text editors any reg exp is converted to an NFA with –transitions,
this NFA can be then simulated directly.
20.Reg exp for the language that accepts all strings in which ‘a’ appears tripled over
the set ={a}
reg exp=(aaa)*
21.What are the applications of pumping lemma?
Pumping lemma is used to check if a language is regular or not.
(i) Assume that the language(L) is regular.
(ii) Select a constant ‘n’.
(iii) Select a string(z) in L, such that |z|>n.
(iv) Split the word z into u,v and w such that |uv|<=n and |v|>=1.
(v) You achieve a contradiction to pumping lemma that there exists an ‘i’
Such that uviw is not in L.Then L is not a regular language.
22. What is the closure property of regular sets?
The regular sets are closed under union, concatenation and Kleene closure.
r1Ur2= r1 +r2
r1.r2= r1r2
( r )*=r*
The class of regular sets are closed under complementation, substitution,
homomorphism and inverse homomorphism.
23.Reg exp for the language such that every string will have atleast one ‘a’ followed
by atleast one ‘b’.
R=a+b+
Theory of Computation 5
24.Write the exp for the language starting with and has no consecutive b’s
reg exp=(a+ab)*
25.What is the relationship between FA and regular expression.
26. What are the applications of Context free languages?
Context free languages are used in :
Defining programming languages.
Formalizing the notion of parsing.
Translation of programming languages.
String processing applications.
27. What are the uses of Context free grammars?
Construction of compilers.
Simplified the definition of programming languages.
Describes the arithmetic expressions with arbitrary nesting
of balanced parenthesis { (, ) }.
Describes block structure in programming languages.
Model neural nets.
28.Define a context free grammar
A context free grammar (CFG) is denoted as G=(V,T,P,S) where V and T are finite
set of variables and terminals respectively. V and T are disjoint. P is a finite set of
productions each is of the form A-> where A is a variable and is a string of symbols
from (V U T)*.
29.What is the language generated by CFG or G?
*
The language generated by G ( L(G) ) is {w | w is in T* and S =>w .That is a
G
string is in L(G) if:
(1) The string consists solely of terminals.
(2) The string can be derived from S.
Regular
Expression
NFA with -
moves
NFA without
-moves
Deterministic
Finite
Automata
Theory of Computation 6
30.What is : (a) CFL (b) Sentential form
L is a context free language (CFL) if it is L(G) for some CFG G.
A string of terminals and variables is called a sentential form if:
*
S => ,where S is the start symbol of the grammar.
6. What is the language generated by the grammar G=(V,T,P,S) where
P={S->aSb, S->ab}?
S=> aSb=>aaSbb=>…………………………..=>anbn
Thus the language L(G)={anbn | n>=1}.The language has strings with equal
number of a’s and b’s.
7. What is :(a) derivation (b)derivation/parse tree (c) subtree
(a) Let G=(V,T,P,S) be the context free grammar. If A-> is a production of P and
and are any strings in (VUT)* then A => .
G
(b) A tree is a parse \ derivation tree for G if:
(i) Every vertex has a label which is a symbol of VU TU{ }.
(ii) The label of the root is S.
(iii) If a vertex is interior and has a label A, then A must be in V.
(iv) If n has a label A and vertices n1,n2,….. nk are the sons of the vertex n in order
from left
with labels X1,X2,………..Xk respectively then A
X1X2…..Xk must be in P.
(v) If vertex n has label ,then n is a leaf and is the only son of its father.
(c ) A subtree of a derivation tree is a particular vertex of the tree together with
all its descendants ,the edges connecting them and their labels.The label of the root may
not be the start symbol of the grammar.
8. If S->aSb | aAb , A->bAa , A->ba .Find out the CFL
soln. S->aAb=>abab
S->aSb=>a aAb b =>a a ba b b(sub S->aAb)
S->aSb =>a aSb b =>a a aAb b b=>a a a ba b bb
Thus L={anbmambn, where n,m>=1}
9. What is a ambiguous grammar?
A grammar is said to be ambiguous if it has more than one derivation trees for a
sentence or in other words if it has more than one leftmost derivation or more than one
rightmost derivation.
10.Consider the grammarP={S->aS | aSbS | } is ambiguous by constructing:
(a) two parse trees (b) two leftmost derivation (c) rightmost derivation
Consider a string aab :
Theory of Computation 7
(a)
(b) (i)S=>aS (ii) S=>aSbS
=>aaSbS =>aaSbS
=>aabS =>aabS
=>aab =>aab
( c )(i)S=>aS (ii) S=>aSbS
=>aaSbS =>aSb
=>aaSb =>aaSbS
=>aab =>aaSb
=>aab
11. Find CFG with no useless symbols equivalent to : S
AB | CA , B
BC | AB, A
a ,
C
aB | b.
S-> AB
S->CA
B->BC
B->AB
A->a
C->aB
C->b are the given productions.
* *
A symbol X is useful if S => X => w
The variable B cannot generate terminals as B->BC and B->AB.
Hence B is useless symbol and remove B from all productions.
Hence useful productions are: S->CA , A->a , C->b
12. Construct CFG without production from : S
a | Ab | aBa , A
b | ,
B
b | A.
S->a
S->Ab
S->aBa
A->b A-> B->b B->A are the given set of production.
Theory of Computation 8
A-> is the only empty production. Remove the empty production
S-> Ab , Put A-> and hence S-> b.
If B-> A and A-> then B ->
Hence S->aBa becomes S->aa .
Thus S-> a | Ab | b | aBa | aa
A->b
B->b
Finally the productions are: S-> a | Ab | b | aBa | aa
A->b
B->b
13. What are the three ways to simplify a context free grammar?
By removing the useless symbols from the set of productions.
By eliminating the empty productions.
By eliminating the unit productions.
14. What are the properties of the CFL generated by a CFG?
Each variable and each terminal of G appears in the derivation of
some word in L
There are no productions of the form A->B where A and B are
variables.
15. Find the grammar for the language L={a2n bc ,where n>1 }
let G=( {S,A,B}, {a,b,c} ,P , {S} ) where P:
S->Abc
A->aaA |
16.Find the language generated by :S->0S1 | 0A | 0 |1B | 1
A->0A | 0 , B->1B | 1
The minimum string is S-> 0 | 1
S->0S1=>001
S->0S1=>011
S->0S1=>00S11=>000S111=>0000A111=>00000111
Thus L={ 0n 1 m | m not equal to n, and n,m >=1}
17.Construct the grammar for the language L={ an b an | n>=1}.
The grammar has the production P as:
S->aAa
A->aAa | b
The grammar is thus : G=( {S,A} ,{a,b} ,P,S)
18. Construct a grammar for the language L which has all the strings which are all
palindrome over ={a, b}.
G=({S}, {a,b} , P, S )
P:{ S -> aSa ,
S-> b S b,
Theory of Computation 9
S-> a,
S->b,
S-> } which is in palindrome.
19. Differentiate sentences Vs sentential forms
A sentence is a string of terminal symbols.
A sentential form is a string containing a mix of variables and terminal symbols or
all variables.This is an intermediate form in doing a derivation.
20. What is a formal language?
Language is a set of valid strings from some alphabet. The set may be empty,finite
or infinite. L(M) is the language defined by machine M and L( G) is the language
defined by Context free grammar. The two notations for specifying formal languages
are:
Grammar or regular expression(Generative approach)
Automaton(Recognition approach)
21. (a)CFL are not closed under intersection and complementation –True.
(b)A regular grammar generates an empty string –True.
(c) A regular language is also context free but not reverse–True.
(d)A regular language can be generated by two or more different grammar –True.
(e) Finite State machine(FSM) can recognize only regular grammar-True.
22.What is Backus-Naur Form(BNF)?
Computer scientists describes the programming languages by a notation called
Backus- Naur Form. This is a context free grammar notation with minor changes in
format and some shorthand.
23. Let G= ( {S,C} ,{a,b},P,S) where P consists of S->aCa , C->aCa |b. Find L(G).
S-> aCa => aba
S->aCa=> a aCa a=>aabaa
S->aCa=> a aCa a=> a a aCa a a =>aaabaaa
Thus L(G)= { anban ,where n>=1 }
24.Find L(G) where G= ( {S} ,{0,1}, {S->0S1 ,S-> },S )
S-> , is in L(G)
S-> 0S1 =>0 1=>01
S->0S1=>0 0S11=>0011
Thus L(G)= { 0n1n | n>=0}
25.What is a parser?
A parser for grammar G is a program that takes as input a string w and produces
as output either a parse tree for w ,if w is a sentence of G or an error message indicating
that w is not a sentence of G.
Theory of Computation 10
UNIT III Pushdown Automata
1.Define Pushdown Automata.
A pushdown Automata M is a system (Q, , , ,q0, Z0,F) where
Q is a finite set of states.
is an alphabet called the input alphabet.
is an alphabet called stack alphabet.
q0 in Q is called initial state.
Zo in is start symbol in stack.
F is the set of final states.
is a mapping from Q X ( U { } ) X to finite subsets of Q X *.
2.Compare NFA and PDA.
NFA PDA
1.The language accepted by NFA is the
regular language.
The language accepted by PDA is
Context free language.
2.NFA has no memory. PDA is essentially an NFA with
a stack(memory).
3. It can store only limited amount of
information.
It stores unbounded limit
of information.
4.A language/string is accepted only
by reaching the final state.
It accepts a language either by empty
Stack or by reaching a final state.
3.Specify the two types of moves in PDA.
The move dependent on the input symbol(a) scanned is:
(q,a,Z) = { ( p1, 1 ), ( p2, 2 ),……..( pm, m ) }
where q qnd p are states , a is in ,Z is a stack symbol and i is in *.
PDA is in state q , with input symbol a and Z the top symbol on state enter state pi
Replace symbol Z by string i.
The move independent on input symbol is ( -move):
(q, ,Z)= { ( p1, 1 ), ( p2, 2 ),…………( pm, m ) }.
Is that PDA is in state q , independent of input symbol being scanned and with
Z the top symbol on the stack enter a state pi and replace Z by i.
4.What are the different types of language acceptances by a PDA and define them.
For a PDA M=(Q, , , ,q0 ,Z0 ,F ) we define :
Language accepted by final state L(M) as:
*
{ w | (q0 , w , Z0 ) |--- ( p, , ) for some p in F and in * }.
Language accepted by empty / null stack N(M) is:
*
{ w | (q0,w ,Z0) |----( p, , ) for some p in Q}.
5.Is it true that the language accepted by a PDA by empty stack and final states are
different languages.
Theory of Computation 11
No, because the languages accepted by PDA ‘s by final state are exactly the
languages accepted by PDA’s by empty stack.
6. Define Deterministic PDA.
A PDA M =( Q, , , ,q0 ,Z0 ,F ) is deterministic if:
For each q in Q and Z in , whenever (q, ,Z) is nonempty ,then
(q,a,Z) is empty for all a in .
For no q in Q , Z in , and a in U { } does (q,a,Z) contains more
than one element.
(Eg): The PDA accepting {wcwR | w in ( 0+1 ) * }.
7.Define Instantaneous description(ID) in PDA.
ID describe the configuration of a PDA at a given instant.ID is a triple such as (q,
w , ) , where q is a state , w is a string of input symbols and is a string of stack
symbols. If M =( Q, , , ,q0 ,Z0 ,F ) is a PDA we say that
(q,aw,Z ) |-----( p, w, ) if (q,a,Z) contains (p, ).
M
‘a’ may be or an input symbol.
Example: (q1, BG) is in (q1, 0 , G) tells that (q1, 011, GGR )|---- ( q1, 11,BGGR).
8.What is the significance of PDA?
Finite Automata is used to model regular expression and cannot be used to
represent non regular languages. Thus to model a context free language, a Pushdown
Automata is used.
9.When is a string accepted by a PDA?
The input string is accepted by the PDA if:
The final state is reached .
The stack is empty.
10. Give examples of languages handled by PDA.
(1) L={ anbn | n>=0 },here n is unbounded , hence counting cannot be done by finite
memory. So we require a PDA ,a machine that can count without limit.
(2) L= { wwR | w {a,b}* } , to handle this language we need unlimited counting
capability .
11.Is NPDA (Nondeterministic PDA) and DPDA (Deterministic PDA)equivalent?
The languages accepted by NPDA and DPDA are not equivalent.
For example: wwR is accepted by NPDA and not by any DPDA.
12. State the equivalence of acceptance by final state and empty stack.
If L = L(M2) for some PDA M2 , then L = N(M1) for some PDA M1.
If L = N(M1) for some PDA M1 ,then L = L(M2) for some PDA M2.
where L(M) = language accepted by PDA by reaching a final state.
N(M) = language accepted by PDA by empty stack.
13. State the equivalence of PDA and CFL.
Theory of Computation 12
If L is a context free language, then there exists a PDA M such that
L=N(M).
If L is N(M) for some PDA m, then L is a context free language.
14. What are the closure properties of CFL?
CFL are closed under union, concatenation and Kleene closure.
CFL are closed under substitution , homomorphism.
CFL are not closed under intersection , complementation.
Closure properties of CFL’s are used to prove that certain languages are not
context free.
15. State the pumping lemma for CFLs.
Let L be any CFL. Then there is a constant n, depending only on L, such that if z
is in L and |z| >=n, then z=uvwxy such that :
(i) |vx| >=1
(ii) |vwx| <=n and
(iii) for all i>=0 uviwxiy is in L.
16. What is the main application of pumping lemma in CFLs?
The pumping lemma can be used to prove a variety of languages are not context
free . Some examples are:
L1 ={ aibici | i>=1} is not a CFL.
L2= { aibjcidj | i>=1 and J>=1 } is not a CFL.
17.What is Ogden’s lemma?
Let L be a CFL. Then there is a constant n such that if z is any word in L, and we
mark any n or more positions of z “ distinguished” then we can write z=uvwxy such
that:
(1) v and x together have atleast one distinguished position.
(2) vwx has at most n distinguished positions and
(3) for all i>=0 uviwxiy is in L.
18. Give an example of Deterministic CFL.
The language L={anbn : n>=0} is a deterministic CFL
19. What are the properties of CFL?
Let G=(V,T,P,S) be a CFG
The fanout of G , (G) is largest number of symbols on the RHS of
any rule in R.
The height of the parse tree is the length of the longest path from the
root to some leaf.
20. Compare NPDA and DPDA.
NPDA DPDA
Theory of Computation 13
1. NPDA is the standard PDA
used in automata theory.
1. The standard PDA in
practical situation is DPDA.
2. Every PDA is NPDA unless
otherwise specified.
2. The PDA is deterministic in
the sense ,that at most one
move is possible from any ID.
21. What are the components of PDA ?
The PDA usually consists of four components:
A control unit.
A Read Unit.
An input tape.
A Memory unit.
22. What is the informal definition of PDA?
A PDA is a computational machine to recognize a Context free language.
Computational power of PDA is between Finite automaton and Turing machines. The
PDA has a finite control , and the memory is organized as a stack.
23. Give an example of NonDeterministic CFL
The language L={ wwR : w {a,b} + } is a nondeterministic CFL.
24. What is a Dyck language?
A Dyck language is a language with k-types of balanced parenthesis.
For ex: [ 1 [ 2 [ 1 ] 1 [ 2 ]2 ] 2 ]1 is in the Dyck language with two kinds of parenthesis.
25. What is a CYK algorithm?
*
Let Vij be the set of variables A such that A=> xij iff there is some production
A->BC and some k , 1<=k<=j such that B derives the first symbols of xij and C
derives the last j-k symbols of xij.
UNIT IV Turing Machine
1.What is a turing machine?
Turing machine is a simple mathematical model of a computer. TM has unlimited
and unrestricted memory and is a much more accurate model of a general purpose
computer. The turing machine is a FA with a R/W Head. It has an infinite tape divided
into cells ,each cell holding one symbol.
2.What are the special features of TM?
Theory of Computation 14
In one move ,TM depending upon the symbol scanned by the tape head and state
of the finite control:
Changes state.
Prints a symbol on the tape cell scanned, replacing what was written there.
Moves the R/w head left or right one cell.
3. Define Turing machine.
A Turing machine is denoted as M=(Q, , , ,q0, B,F)
Q is a finite set of states.
is set of i/p symbols ,not including B.
is the finite set of tape symbols.
q0 in Q is called start state.
B in is blank symbol.
F is the set of final states.
is a mapping from Q X to Q X X {L,R}.
4.Define Instantaneous description of TM.
The ID of a TM M is denoted as 1q 2 . Here q is the current state of M is in Q;
1 2 is the string in * that is the contents of the tape up to the rightmost nonblank
symbol or the symbol to the left of the head, whichever is the rightmost.
5. What are the applications of TM?
TM can be used as:
Recognizers of languages.
Computers of functions on non negative integers.
Generating devices.
6.What is the basic difference between 2-way FA and TM?
Turing machine can change symbols on its tape , whereas the FA cannot change
symbols on tape. Also TM has a tape head that moves both left and right side ,whereas
the FA doesn’t have such a tape head.
7. What is (a)total recursive function and (b)partial recursive function
If f(i1,i2,………ik) is defined for all i1,…..ik then we say f is a total recursive
function. They are similar to recursive languages as they are computed by TM that
always halt.
A function f(i1,…ik) computed by a Turing machine is called a partial recursive
function. They are similar to r.e languages as they are computed by TM that may or may
not halt on a given input.
8.Define a move in TM.
Let X1 X2…X i-1 q Xi…Xn be an ID.
The left move is: if (q, Xi )= (p, Y,L) ,if i>1 then
X1 X2…X i-1 q Xi…Xn |---- X1X2… X i-2 p X i-1 Y X i+1…Xn.
M
The right move is if (q, Xi )= (p, Y,R) ,if i>1 then
Theory of Computation 15
X1 X2…X i-1 q Xi…Xn |---- X1X2… X i-1Y p X i+1…Xn.
M
9. What is the language accepted by TM?
The language accepted by M is L(M) , is the set of words in * that cause M to
enter a final state when placed ,justified at the left on the tape of M, with M at qo and
the tape head of M at the leftmost cell. The language accepted by M is:
{ w | w in * and q0w |--- 1 p 2 for some p in F and 1 , 2 in * }.
10.Give examples of total recursive functions.
All common arithmetic functions on integers such as multiplication , n!,
[log2n] and 22n are total recursive functions.
11.What are(a) recursively enumerable languages (b) recursive sets?
The languages that is accepted by TM is said to be recursively enumerable (r. e )
languages. Enumerable means that the strings in the language can be enumerated by
the TM. The class of r. e languages include CFL’s.
The recursive sets include languages accepted by at least one TM that halts on
all inputs.
12. What are the various representation of TM?
We can describe TM using:
Instantaneous description.
Transition table.
Transition diagram.
13. What are the possibilities of a TM when processing an input string?
TM can accept the string by entering accepting state.
It can reject the string by entering non-accepting state.
It can enter an infinite loop so that it never halts.
14. What are the techniques for Turing machine construction?
• Storage in finite control.
• Multiple tracks.
• Checking off symbols.
• Shifting over
• Subroutines.
15. What is the storage in FC?
The finite control(FC) stores a limited amount of information. The state of the
Finite control represents the state and the second element represent a symbol scanned.
16.When is checking off symbols used in TM?
Checking off symbols is useful method when a TM recognizes a language with
repeated strings and also to compare the length of substrings.
(eg) : { ww | w * } or {aibi | i>=1}.
Theory of Computation 16
This is implemented by using an extra track on the tape with symbols Blank or .
17.When is shifting over Used ?
A Turing machine can make space on its tape by shifting all nonblank symbols a
finite number of cells to the right. The tape head moves to the right , repeatedly
storing the symbols in the FC and replacing the symbols read from the cells to the left.
The TM can then return to the vacated cells and prints symbols.
18. What is a multihead TM?
A k-head TM has some k heads. The heads are numbered 1 through k, and move
of the TM depends on the state and on the symbol scanned by each head. In one
move, the heads may each move independently left or right or remain stationary.
19.What is a 2-way infinite tape TM?
In 2-way infinite tape TM, the tape is infinite in both directions. The leftmost
square is not distinguished. Any computation that can be done by 2-way infinite tape
can also be done by standard TM.
20.Differentiate PDA and TM.
PDA TM
1. PDA uses a stack for
storage.
1. TM uses a tape that is infinite .
2.The language accepted by
PDA is CFL.
2. Tm recognizes recursively
enumerable languages.
21.How can a TM used as a transducer?
A TM can be used as a transducer. The most obvious way to do this is to treat
the entire nonblank portion of the initial tape as input , and to treat the entire blank
portion of the tape when the machine halts as output. Or a TM defines a function y=f(x)
for strings x ,y * if: q0X | --- qfY, where qf is the final state.
22. What is a multi-tape Turing machine?
A multi-tape Turing machine consists of a finite control with k-tape heads and ktapes
; each tape is infinite in both directions. On a single move depending on the state of
finite control and symbol scanned by each of tape heads ,the machine can change state
print a new symbol on each cells scanned by tape head, move each of its tape head
independently one cell to the left or right or remain stationary.
23.What is a multidimensional TM?
The device has a finite control , but the tape consists of a k-dimensional array
of cells infinite in all 2k directions, for some fixed k. Depending on the state and
symbol scanned , the device changes state , prints a new symbol and moves its tapehead
in one of the 2k directions, either positively or negatively ,along one of the k-axes.
Theory of Computation 17
24. When a recursively enumerable language is said to be recursive ? Is it true that the
language accepted by a non-deterministic Turing machine is different from recursively
enumerable language?
A language L is recursively enumerable if there is a TM that accepts L and
recursive if there is a TM that recognizes L. Thus r.e language is Turing acceptable and
recursive language is Turing decidable languages.
No , the language accepted by non-deterministic Turing machine is same as
recursively enumerable language.
25. What is Church’s Hypothesis?
The notion of computable function can be identified with the class of partial
recursive functions is known as Church-hypothesis or Church-Turing thesis. The
Turing machine is equivalent in computing power to the digital computer.
UNIT V Undecidability
1.When we say a problem is decidable? Give an example of undecidable
problem?
A problem whose language is recursive is said to be decidable.
Otherwise the problem is said to be undecidable. Decidable problems have an
algorithm that takes as input an instance of the problem and determines whether
the answer to that instance is “yes” or “no”.
(eg) of undecidable problems are (1)Halting problem of the TM.
2.Give examples of decidable problems.
1. Given a DFSM M and string w, does M accept w?
2. Given a DFSM M is L(M) = ?
3. Given two DFSMs M1 and M2 is L(M1)= L(M2) ?
4. Given a regular expression and a string w ,does generate w?
5. Given a NFSM M and string w ,does M accept w?
3. Give examples of recursive languages?
i. The language L defined as L= { “M” ,”w” : M is a DFSM that
accepts w} is recursive.
ii. L defined as { “M1” U “M2” : DFSMs M1 and M2 and L(M1)
=L(M2) } is recursive.
4. Differentiate recursive and recursively enumerable languages.
Recursive languages
Recursively enumerable languages
1. A language is said to be
recursive if and only if there exists
a membership algorithm for it.
1. A language is said to be r.e if
there exists a TM that accepts it.
2. A language L is recursive iff
there is a TM that decides L.
2. L is recursively enumerable iff
there is a TM that semi-decides L.
Theory of Computation 18
(Turing decidable languages). TMs
that decide languages are
algorithms.
(Turing acceptable languages). TMs
that semi-decides languages are not
algorithms.
5. What are UTMs or Universal Turing machines?
Universal TMs are TMs that can be programmed to solve any problem, that
can be solved by any Turing machine. A specific Universal Turing machine U is:
Input to U: The encoding “M “ of a Tm M and encoding “w” of a string w.
Behavior : U halts on input “M” “w” if and only if M halts on input w.
6. What is the crucial assumptions for encoding a TM?
There are no transitions from any of the halt states of any given TM .
Apart from the halt state , a given TM is total.
7. What properties of recursive enumerable seta are not decidable?
Emptiness
Finiteness
Regularity
Context-freedom.
8.Define L
.When is
a trivial property?
L
is defined as the set { | L(M) is in
. }
is a trivial property if
is empty or it consists of all r.e languages.
9. What is a universal language Lu?
The universal language consists of a set of binary strings in the form of
pairs (M,w) where M is TM encoded in binary and w is the binary input string.
Lu = { < M,w> | M accepts w }.
10.What is a Diagonalization language Ld?
The diagonalization language consists of all strings w such that the TM M
whose code is w doesnot accept when w is given as input.
11. What properties of r.e sets are recursively enumerable?
L
L contains at least 10 members.
w is in L for some fixed w.
L Lu
12. What properties of r.e sets are not r.e?
L =
L = *.
L is recursive
L is not recursive.
L is singleton.
Theory of Computation 19
L is a regular set.
L - Lu
13.What are the conditions for L
to be r.e?
L
is recursively enumerable iff
satisfies the following properties:
i. If L is in
and L is a subset of L ,then L is in
(containment property)
ii. If L is an infinite language in
,then there is a finite subset of L in
.
iii. The set of finite languages in
is enumaerable.
14. What is canonical ordering?
Let * be an input set. The canonical order for * as follows . List words in
order of size, with words of the same size in numerical order. That is let ={
x0,x1,…x t-1 } and xi is the digit i in base t.
(e.g) If ={ a,b } the canonical order is , a ,b , aa, ab ,……..
15. How can a TM acts as a generating device?
In a multi-tape TM ,one tape acts as an output tape, on which a symbol, once
written can never be changed and whose tape head never moves left. On that output
tape , M writes strings over some alphabet , separated by a marker symbol # ,
G(M) ( where G(M) is the set w in * such that w is finally printed between a
pair of #’s on the output device ).
16. What are the different types of grammars/languages?
• Unrestricted or Phase structure grammar.(Type 0 grammar).(for TMs)
• Context sensitive grammar or context dependent grammar (Type1)(for
Linear Bounded Automata )
• Context free grammar (Type 2) (for PDA)
• Regular grammar (Type 3) ( for Finite Automata).
This hierarchy is called as Chomsky Hierarchy.
17. What is a PS or Unrestricted grammar?
A grammar without restrictions is a PS grammar. Defined as G=(V,T,P,S)
With P as :
A -> where A is variable and is replacement string.
The languages generated by unrestricted grammars are precisely those accepted by
Turing machines.
18. State a single tape TM started on blank tape scans any cell four or more
times is decidable?
If the TM never scans any cell four or more times , then every crossing
sequence is of length at most three. There is a finite number of distinct crossing
sequence of length 3 or less. Thus either TM stays within a fixed bounded number
of tape cells or some crossing sequence repeats.
19.Does the problem of “ Given a TM M ,does M make more than 50 moves
Theory of Computation 20
on input B “?
Given a TM M means given enough information to trace the processing of
a fixed string for a certain fixed number of moves. So the given problem is
decidable.
20. Show that AMBIGUITY problem is un-decidable.
Consider the ambiguity problem for CFGs. Use the “yes-no” version of AMB.
An algorithm for FIND is used to solve AMB. FIND requires producing a word with
two or more parses if one exists and answers “no” otherwise. By the reduction of
AMB to FIND we conclude there is no algorithm for FIND and hence no
algorithm for AMB.
21.State the halting problem of TMs.
The halting problem for TMs is:
Given any TM M and an input string w, does M halt on w?
This problem is undecidable as there is no algorithm to solve this problem.
22.Define PCP or Post Correspondence Problem.
An instance of PCP consists of two lists , A = w1,w2,….wk
and B = x1,…..xk of strings over some alphabet .This instance of PCP has a
solution if there is any sequence of integers i1,i2,..im with m >=1 such that
wi1, wi2,…wim = xi1,xi2 ,…xim
The sequence i1 ,i2 ,…im is a solution to this instance of PCP.
23.Define MPCP or Modified PCP.
The MPCP is : Given lists A and B of K strings from * ,say
A = w1 ,w2, …wk and B= x1, x2,…..xk
does there exists a sequence of integers i1,i2,…ir such that
w1wi1wi2…..wir = x1xi1xi2…xir?
24 . What is the difference between PCP and MPCP?
The difference between MPCP and PCP is that in the MPCP ,a solution
is required to start with the first string on each list.
25. What are the concepts used in UTMs?
Stored program computers.
Interpretive Implementation of Programming languages.
Computability.
Theory of Computation 21
16 marks
1.Prove that ,if L is accepted by an NFA with -transitions, then L is accepted by an NFA
without -transitions.
Refer page no:26,Theorem 2.2
2.Prove that for every regular expression there exist an NFA with -transitions.
Refer page no:30,Theorem 2.3
3.Construct the NFA with -transitions from the given regular expression.
If the regular expression is in the form of ab then NFA is
a b
If the regular expression is in a+b form then NFA is
a
b
If the regular expression is in a* form then NFA is
a
4.conversion of NFA to DFA
Draw the NFA’s transition table
Take the initial state of NFA be the initial state of DFA.
Transit the initial state for all the input symbols.
If new state appears transit it again and again to make all state as old state.
All the new states are the states of the required DFA
Draw the transition table for DFA
Draw the DFA from the transition table.
5.Conversion of DFA into regular expression.
Arden’s theorem is used to find regular expression from the DFA.
using this theorem if the equation is of the form R=Q+RP,we
can write this as R=QP*.
Write the equations for all the states.
Apply Ardens theorem and eliminate all the states.
Theory of Computation 22
Find the equation of the final state with only the input symbols.
Made the simplifications if possible
The equation obtained is the required regular expression.
6.Leftmost and rightmost derivations.
If we apply a production only to the leftmost variable at every step to derive the
required string then it is called as leftmost derivation.
If we apply a production only to the rightmost variable at every step to derive the
required string then it is called as rightmost derivation.
Example:
Consider G whose productions are S->aAS|a , A->SbA|SS|ba.For the string
w=aabbaa find the leftmost and rightmost derivation.
LMD: S=>aAS
=>aSbAS
=>aabAS
=>aabbaS
=>aabbaa
RMD: S=>aAS
=>aAa
=>aSbAa
=>aSbbaa
=>aabbaa
7. Prove that for every derivations there exist a derivation tree.
Refer page no: 84,Theorem 4.1
8.Construction of reduced grammar.
• Elimination of null productions
- In a CFG,productions of the form A-> can be eliminated, where A is
a variable.
• Elimination of unit productions.
- In a CFG,productions of the form A->B can be eliminated, where A
and B are variables.
• Elimination of Useless symbols.
- these are the variables in CFG which does not derive any terminal or
not reachable from the start symbols. These can also eliminated.
-
9. Chomsky normal form(CNF)
If the CFG is in CNF if it satisfies the following conditions
- All the production must contain only one terminal or only two
variables in the right hand side.
Example: Consider G with the production of S->aAB , A-> bC , B->b, C->c.
G in CNF is S->EB , E->DA , D-> a , A->FC , F-> b , B->b , C-> c.
10.Conversion of CFL in GNF.
Refer page no: 97,Example 4.10
Theory of Computation 23
11.Design a PDA that accepts the language {wwR | w in (0+1)*}.
Refer page no:112,Example 5.2
12. Prove that if L is L(M2) for some PDA M2,then L is N(M1) for some PDA M1.
Refer page no:114,Theorem 5.1
13.If L is a context-free language, then prove that there exists a PDA M such that
L=N(M).
Refer page no: 116,Theorem 5.3
14.Conversion of PDA into CFL.
Theorem: refer page no:117
Example: refer page no :119
15.State and prove the pumping lemma for CFL
Refer page no: 125,Theorem 6.1
16.Explain the various techniques for Turing machine construction.
- storage in finite control
- multiple tracks
- checking off symbols
- shifting over
- subroutines.
For explanation refer page no 153-158
17.Briefly explain the different types of Turing machines.
- two way finite tape TM
- multi tape TM
- nondeterministic TM
- multi dimensional TM
- multihead TM
For explanation refer page no 160-165
18.Design a TM to perform proper subtraction.
Refer page no: 151,Example 7.2
19Design a TM to accept the language L={0n1n | n>=1}
Refer page no:149,Example 7.1
20. Explain how a TM can be used to determine the given number is prime or not?
It takes a binary input greater than 2,written on the first track, and determines
whether it is a prime. The input is surrounded by the symbol $ on the first track.
Theory of Computation 24
To test if the input is a prime, the TM first writes the number 2 in binary on the
second track and copies the first track on to the third. Then the second track is subtracted
as many times as possible, from the third track effectively dividing the third track by the
second and leaving the remainder.
If the remainder is zero, the number on the first track is not a prime.If the
remainder is non zero,the number on the second track is increased by one.If the second
track equals the first,the number on the first track is the prime.If the second is less than
first,the whole operation is repeated for the new number on the second track.
21.State and explain RICE theorem.
Refer page no: 188,Theorem 8.6
22.Define Lu and prove that Lu is recursive enumerable.
Refer page no: 183,Theorem 8.4
23. Define Ld and prove that Ld is undecidable.
Refer page no: 182.
24.Prove that if a language L and its complement are both recursively enumerable, then L
is recursive.
Refer page no: 180,Theorem 8.3
25.Prove that the halting problem is undecidable.
Refer page no: 187
.
BOOK REFERED
1.Introduction to automata theory,languages,and computation
by John E.Hopcroft,Jeffery D,Ullman
KEYWORDS:THEORY OF COMPUTATION(CS1303),THEORY OF COMPUTATION,THEORY OF COMPUTATION(CS1303) QUESTION PAPER,ANNA UNIVERSITY QUESTION PAPER,ANNA UNIVERSITY,ANNA UNIVERSITY CHENNAI,ANNA UNIVERSITY COIMBATORE,ANNA UNIVERSITY TRICHY,ANNA UNIVERSITY TIRUNELVELI,ANNA UNIVERSITY MADURAI,ANNA UNIVERSITY SYLLABUS,ANNA-UNIVERSITY RESULTS,ANNA UNIVERSITY DISTANCE EDUCATION,ANNA UNIVERSITY MBA-CENTRE FOR DISTANCE EDUCATION,ANNA UNIVERSITY SCHEDULE OF EXAMINATIONS,ANNA UNIVERSITY ADMISSION,ANNA UNIVERSITY COURSES,ANNA UNIVERSITY ACADEMIC,ANNA UNIVERSITY DEPARTMENTS,ANNA UNIVERSITY RESEARCH,ANNA UNIVERSITY MAIL,ANNA UNIVERSITY QUESTION PAPERS,ANNA UNIVERSITY COUNSELLING DATES,ANNA UNIVERSITY RE-EVALUATION RESULTS
THEORY OF COMPUTATION(CS1303)
Third Year CSE( S5 CSE )
2 marks Questions and Answers
1. Why are switching circuits called as finite state systems?
A switching circuit consists of a finite number of gates, each of which can be in
any one of the two conditions 0 or 1.Although the voltages assume infinite set of values,
the electronic circuitry is designed so that the voltages corresponding to 0 or 1 are stable
and all others adjust to these value. Thus control unit of a computer is a finite state
system.
2.Give the examples/applications designed as finite state system.
Text editors and lexical analyzers are designed as finite state systems. A lexical
analyzer scans the symbols of a program to locate strings corresponding to identifiers,
constants etc, and it has to remember limited amount of information .
3.Define: (i) Finite Automaton(FA) (ii)Transition diagram
FA consists of a finite set of states and a set of transitions from state to state that
occur on input symbols chosen from an alphabet . Finite Automaton is denoted by a
5- tuple(Q, , ,q0,F), where Q is the finite set of states , is a finite input alphabet, q0 in
Q is the initial state, F is the set of final states and is the transition mapping function
Q * to Q.
Transition diagram is a directed graph in which the vertices of the graph
correspond to the states of FA. If there is a transition from state q to state p on input a,
then there is an arc labeled ‘ a ‘ from q to p in the transition diagram.
4. What are the applications of automata theory?
In compiler construction.
In switching theory and design of digital circuits.
To verify the correctness of a program.
Design and analysis of complex software and hardware systems.
To design finite state machines such as Moore and mealy machines.
5. What is Moore machine and Mealy machine?
A special case of FA is Moore machine in which the output depends on the
state of the machine.
An automaton in whch the output depends on the transition and current input is
called Mealy machine.
6.What are the components of Finite automaton model?
The components of FA model are Input tape, Read control and finite control.
(a)The input tape is divided into number of cells. Each cell can hold one i/p symbol.
(b)The read head reads one symbol at a time and moves ahead.
( c)Finite control acts like a CPU. Depending on the current state and input symbol
read from the input tape it changes state.
Theory of Computation 2
7.Differentiate NFA and DFA
NFA or Non Deterministic Finite Automaton is the one in which there exists
many paths for a specific input from current state to next state. NFA can be used in
theory of computation because they are more flexible and easier to use than DFA.
Deterministic Finite Automaton is a FA in which there is only one path for a
specific input from current state to next state. There is a unique transition on each input
symbol.(Write examples with diagrams).
8.What is -closure of a state q0?
-closure(q0 ) denotes a set of all vertices p such that there is a path from q0 to
p labeled . Example :
-closure(q0)={q0,q1}
9.What is a : (a) String (b) Regular language
A string x is accepted by a Finite Automaton M=(Q, , .q0,F) if (q0,x)=p, for
some p in F.FA accepts a string x if the sequence of transitions corresponding to the
symbols of x leads from the start state to accepting state.
The language accepted by M is L(M) is the set {x | (q0,x) is in F}. A language
is regular if it is accepted by some finite automaton.
10.What is a regular expression?
A regular expression is a string that describes the whole set of strings according
to certain syntax rules. These expressions are used by many text editors and utilities to
search bodies of text for certain patterns etc. Definition is: Let be an alphabet. The
regular expression over and the sets they denote are:
i. is a r.e and denotes empty set.
ii. is a r.e and denotes the set { }
iii. For each ‘a’ in , a+ is a r.e and denotes the set {a}.
iv. If ‘r’ and ‘s’ are r.e denoting the languages R and S respectively then (r+s),
(rs) and (r*) are r.e that denote the sets RUS, RS and R* respectively.
11. Differentiate L* and L+
L* denotes Kleene closure and is given by L* =U Li
i=0
example : 0* ={ ,0,00,000,…………………………………}
Language includes empty words also.
L+ denotes Positive closure and is given by L+= U Li
i=1
q0 q1
Theory of Computation 3
12.What is Arden’s Theorem?
Arden’s theorem helps in checking the equivalence of two regular expressions.
Let P and Q be the two regular expressions over the input alphabet . The regular
expression R is given as :
R=Q+RP
Which has a unique solution as R=QP*.
13.Write a r.e to denote a language L which accepts all the strings which begin or
end with either 00 or 11.
The r.e consists of two parts:
L1=(00+11) (any no of 0’s and 1’s)
=(00+11)(0+1)*
L2=(any no of 0’s and 1’s)(00+11)
=(0+1)*(00+11)
Hence r.e R=L1+L2
=[(00+11)(0+1)*] + [(0+1)* (00+11)]
14.Construct a r.e for the language which accepts all strings with atleast two c’s over
the set ={c,b}
(b+c)* c (b+c)* c (b+c)*
15.Construct a r.e for the language over the set ={a,b} in which total number of
a’s are divisible by 3
( b* a b* a b* a b*)*
16.what is: (i) (0+1)* (ii)(01)* (iii)(0+1) (iv)(0+1)+
(0+1)*= { , 0 , 1 , 01 , 10 ,001 ,101 ,101001,…………………}
Any combinations of 0’s and 1’s.
(01)*={ , 01 ,0101 ,010101 ,…………………………………..}
All combinations with the pattern 01.
(0+1)= 0 or 1,No other possibilities.
(0+1)+= {0,1,01,10,1000,0101,………………………………….}
17.Reg exp denoting a language over ={1} having
(i)even length of string (ii)odd length of a string
(i) Even length of string R=(11)*
(ii) Odd length of the string R=1(11)*
18.Reg exp for:
(i)All strings over {0,1} with the substring ‘0101’
(ii)All strings beginning with ’11 ‘ and ending with ‘ab’
(iii)Set of all strings over {a,b}with 3 consecutive b’s.
Theory of Computation 4
(iv)Set of all strings that end with ‘1’and has no substring ‘00’
(i)(0+1)* 0101(0+1)*
(ii)11(1+a+b)* ab
(iii)(a+b)* bbb (a+b)*
(iv)(1+01)* (10+11)* 1
19. What are the applications of Regular expressions and Finite automata
Lexical analyzers and Text editors are two applications.
Lexical analyzers:The tokens of the programming language can be expressed
using regular expressions. The lexical analyzer scans the input program and separates the
tokens.For eg identifier can be expressed as a regular expression as:
(letter)(letter+digit)*
If anything in the source language matches with this reg exp then it is
recognized as an identifier.The letter is{A,B,C,………..Z,a,b,c….z} and digit is
{0,1,…9}.Thus reg exp identifies token in a language.
Text editors: These are programs used for processing the text. For example
UNIX text editors uses the reg exp for substituting the strings such as:
S/bbb*/b/
Gives the substitute a single blank for the first string of two or more blanks in a
given line. In UNIX text editors any reg exp is converted to an NFA with –transitions,
this NFA can be then simulated directly.
20.Reg exp for the language that accepts all strings in which ‘a’ appears tripled over
the set ={a}
reg exp=(aaa)*
21.What are the applications of pumping lemma?
Pumping lemma is used to check if a language is regular or not.
(i) Assume that the language(L) is regular.
(ii) Select a constant ‘n’.
(iii) Select a string(z) in L, such that |z|>n.
(iv) Split the word z into u,v and w such that |uv|<=n and |v|>=1.
(v) You achieve a contradiction to pumping lemma that there exists an ‘i’
Such that uviw is not in L.Then L is not a regular language.
22. What is the closure property of regular sets?
The regular sets are closed under union, concatenation and Kleene closure.
r1Ur2= r1 +r2
r1.r2= r1r2
( r )*=r*
The class of regular sets are closed under complementation, substitution,
homomorphism and inverse homomorphism.
23.Reg exp for the language such that every string will have atleast one ‘a’ followed
by atleast one ‘b’.
R=a+b+
Theory of Computation 5
24.Write the exp for the language starting with and has no consecutive b’s
reg exp=(a+ab)*
25.What is the relationship between FA and regular expression.
26. What are the applications of Context free languages?
Context free languages are used in :
Defining programming languages.
Formalizing the notion of parsing.
Translation of programming languages.
String processing applications.
27. What are the uses of Context free grammars?
Construction of compilers.
Simplified the definition of programming languages.
Describes the arithmetic expressions with arbitrary nesting
of balanced parenthesis { (, ) }.
Describes block structure in programming languages.
Model neural nets.
28.Define a context free grammar
A context free grammar (CFG) is denoted as G=(V,T,P,S) where V and T are finite
set of variables and terminals respectively. V and T are disjoint. P is a finite set of
productions each is of the form A-> where A is a variable and is a string of symbols
from (V U T)*.
29.What is the language generated by CFG or G?
*
The language generated by G ( L(G) ) is {w | w is in T* and S =>w .That is a
G
string is in L(G) if:
(1) The string consists solely of terminals.
(2) The string can be derived from S.
Regular
Expression
NFA with -
moves
NFA without
-moves
Deterministic
Finite
Automata
Theory of Computation 6
30.What is : (a) CFL (b) Sentential form
L is a context free language (CFL) if it is L(G) for some CFG G.
A string of terminals and variables is called a sentential form if:
*
S => ,where S is the start symbol of the grammar.
6. What is the language generated by the grammar G=(V,T,P,S) where
P={S->aSb, S->ab}?
S=> aSb=>aaSbb=>…………………………..=>anbn
Thus the language L(G)={anbn | n>=1}.The language has strings with equal
number of a’s and b’s.
7. What is :(a) derivation (b)derivation/parse tree (c) subtree
(a) Let G=(V,T,P,S) be the context free grammar. If A-> is a production of P and
and are any strings in (VUT)* then A => .
G
(b) A tree is a parse \ derivation tree for G if:
(i) Every vertex has a label which is a symbol of VU TU{ }.
(ii) The label of the root is S.
(iii) If a vertex is interior and has a label A, then A must be in V.
(iv) If n has a label A and vertices n1,n2,….. nk are the sons of the vertex n in order
from left
with labels X1,X2,………..Xk respectively then A
X1X2…..Xk must be in P.
(v) If vertex n has label ,then n is a leaf and is the only son of its father.
(c ) A subtree of a derivation tree is a particular vertex of the tree together with
all its descendants ,the edges connecting them and their labels.The label of the root may
not be the start symbol of the grammar.
8. If S->aSb | aAb , A->bAa , A->ba .Find out the CFL
soln. S->aAb=>abab
S->aSb=>a aAb b =>a a ba b b(sub S->aAb)
S->aSb =>a aSb b =>a a aAb b b=>a a a ba b bb
Thus L={anbmambn, where n,m>=1}
9. What is a ambiguous grammar?
A grammar is said to be ambiguous if it has more than one derivation trees for a
sentence or in other words if it has more than one leftmost derivation or more than one
rightmost derivation.
10.Consider the grammarP={S->aS | aSbS | } is ambiguous by constructing:
(a) two parse trees (b) two leftmost derivation (c) rightmost derivation
Consider a string aab :
Theory of Computation 7
(a)
(b) (i)S=>aS (ii) S=>aSbS
=>aaSbS =>aaSbS
=>aabS =>aabS
=>aab =>aab
( c )(i)S=>aS (ii) S=>aSbS
=>aaSbS =>aSb
=>aaSb =>aaSbS
=>aab =>aaSb
=>aab
11. Find CFG with no useless symbols equivalent to : S
AB | CA , B
BC | AB, A
a ,
C
aB | b.
S-> AB
S->CA
B->BC
B->AB
A->a
C->aB
C->b are the given productions.
* *
A symbol X is useful if S => X => w
The variable B cannot generate terminals as B->BC and B->AB.
Hence B is useless symbol and remove B from all productions.
Hence useful productions are: S->CA , A->a , C->b
12. Construct CFG without production from : S
a | Ab | aBa , A
b | ,
B
b | A.
S->a
S->Ab
S->aBa
A->b A-> B->b B->A are the given set of production.
Theory of Computation 8
A-> is the only empty production. Remove the empty production
S-> Ab , Put A-> and hence S-> b.
If B-> A and A-> then B ->
Hence S->aBa becomes S->aa .
Thus S-> a | Ab | b | aBa | aa
A->b
B->b
Finally the productions are: S-> a | Ab | b | aBa | aa
A->b
B->b
13. What are the three ways to simplify a context free grammar?
By removing the useless symbols from the set of productions.
By eliminating the empty productions.
By eliminating the unit productions.
14. What are the properties of the CFL generated by a CFG?
Each variable and each terminal of G appears in the derivation of
some word in L
There are no productions of the form A->B where A and B are
variables.
15. Find the grammar for the language L={a2n bc ,where n>1 }
let G=( {S,A,B}, {a,b,c} ,P , {S} ) where P:
S->Abc
A->aaA |
16.Find the language generated by :S->0S1 | 0A | 0 |1B | 1
A->0A | 0 , B->1B | 1
The minimum string is S-> 0 | 1
S->0S1=>001
S->0S1=>011
S->0S1=>00S11=>000S111=>0000A111=>00000111
Thus L={ 0n 1 m | m not equal to n, and n,m >=1}
17.Construct the grammar for the language L={ an b an | n>=1}.
The grammar has the production P as:
S->aAa
A->aAa | b
The grammar is thus : G=( {S,A} ,{a,b} ,P,S)
18. Construct a grammar for the language L which has all the strings which are all
palindrome over ={a, b}.
G=({S}, {a,b} , P, S )
P:{ S -> aSa ,
S-> b S b,
Theory of Computation 9
S-> a,
S->b,
S-> } which is in palindrome.
19. Differentiate sentences Vs sentential forms
A sentence is a string of terminal symbols.
A sentential form is a string containing a mix of variables and terminal symbols or
all variables.This is an intermediate form in doing a derivation.
20. What is a formal language?
Language is a set of valid strings from some alphabet. The set may be empty,finite
or infinite. L(M) is the language defined by machine M and L( G) is the language
defined by Context free grammar. The two notations for specifying formal languages
are:
Grammar or regular expression(Generative approach)
Automaton(Recognition approach)
21. (a)CFL are not closed under intersection and complementation –True.
(b)A regular grammar generates an empty string –True.
(c) A regular language is also context free but not reverse–True.
(d)A regular language can be generated by two or more different grammar –True.
(e) Finite State machine(FSM) can recognize only regular grammar-True.
22.What is Backus-Naur Form(BNF)?
Computer scientists describes the programming languages by a notation called
Backus- Naur Form. This is a context free grammar notation with minor changes in
format and some shorthand.
23. Let G= ( {S,C} ,{a,b},P,S) where P consists of S->aCa , C->aCa |b. Find L(G).
S-> aCa => aba
S->aCa=> a aCa a=>aabaa
S->aCa=> a aCa a=> a a aCa a a =>aaabaaa
Thus L(G)= { anban ,where n>=1 }
24.Find L(G) where G= ( {S} ,{0,1}, {S->0S1 ,S-> },S )
S-> , is in L(G)
S-> 0S1 =>0 1=>01
S->0S1=>0 0S11=>0011
Thus L(G)= { 0n1n | n>=0}
25.What is a parser?
A parser for grammar G is a program that takes as input a string w and produces
as output either a parse tree for w ,if w is a sentence of G or an error message indicating
that w is not a sentence of G.
Theory of Computation 10
UNIT III Pushdown Automata
1.Define Pushdown Automata.
A pushdown Automata M is a system (Q, , , ,q0, Z0,F) where
Q is a finite set of states.
is an alphabet called the input alphabet.
is an alphabet called stack alphabet.
q0 in Q is called initial state.
Zo in is start symbol in stack.
F is the set of final states.
is a mapping from Q X ( U { } ) X to finite subsets of Q X *.
2.Compare NFA and PDA.
NFA PDA
1.The language accepted by NFA is the
regular language.
The language accepted by PDA is
Context free language.
2.NFA has no memory. PDA is essentially an NFA with
a stack(memory).
3. It can store only limited amount of
information.
It stores unbounded limit
of information.
4.A language/string is accepted only
by reaching the final state.
It accepts a language either by empty
Stack or by reaching a final state.
3.Specify the two types of moves in PDA.
The move dependent on the input symbol(a) scanned is:
(q,a,Z) = { ( p1, 1 ), ( p2, 2 ),……..( pm, m ) }
where q qnd p are states , a is in ,Z is a stack symbol and i is in *.
PDA is in state q , with input symbol a and Z the top symbol on state enter state pi
Replace symbol Z by string i.
The move independent on input symbol is ( -move):
(q, ,Z)= { ( p1, 1 ), ( p2, 2 ),…………( pm, m ) }.
Is that PDA is in state q , independent of input symbol being scanned and with
Z the top symbol on the stack enter a state pi and replace Z by i.
4.What are the different types of language acceptances by a PDA and define them.
For a PDA M=(Q, , , ,q0 ,Z0 ,F ) we define :
Language accepted by final state L(M) as:
*
{ w | (q0 , w , Z0 ) |--- ( p, , ) for some p in F and in * }.
Language accepted by empty / null stack N(M) is:
*
{ w | (q0,w ,Z0) |----( p, , ) for some p in Q}.
5.Is it true that the language accepted by a PDA by empty stack and final states are
different languages.
Theory of Computation 11
No, because the languages accepted by PDA ‘s by final state are exactly the
languages accepted by PDA’s by empty stack.
6. Define Deterministic PDA.
A PDA M =( Q, , , ,q0 ,Z0 ,F ) is deterministic if:
For each q in Q and Z in , whenever (q, ,Z) is nonempty ,then
(q,a,Z) is empty for all a in .
For no q in Q , Z in , and a in U { } does (q,a,Z) contains more
than one element.
(Eg): The PDA accepting {wcwR | w in ( 0+1 ) * }.
7.Define Instantaneous description(ID) in PDA.
ID describe the configuration of a PDA at a given instant.ID is a triple such as (q,
w , ) , where q is a state , w is a string of input symbols and is a string of stack
symbols. If M =( Q, , , ,q0 ,Z0 ,F ) is a PDA we say that
(q,aw,Z ) |-----( p, w, ) if (q,a,Z) contains (p, ).
M
‘a’ may be or an input symbol.
Example: (q1, BG) is in (q1, 0 , G) tells that (q1, 011, GGR )|---- ( q1, 11,BGGR).
8.What is the significance of PDA?
Finite Automata is used to model regular expression and cannot be used to
represent non regular languages. Thus to model a context free language, a Pushdown
Automata is used.
9.When is a string accepted by a PDA?
The input string is accepted by the PDA if:
The final state is reached .
The stack is empty.
10. Give examples of languages handled by PDA.
(1) L={ anbn | n>=0 },here n is unbounded , hence counting cannot be done by finite
memory. So we require a PDA ,a machine that can count without limit.
(2) L= { wwR | w {a,b}* } , to handle this language we need unlimited counting
capability .
11.Is NPDA (Nondeterministic PDA) and DPDA (Deterministic PDA)equivalent?
The languages accepted by NPDA and DPDA are not equivalent.
For example: wwR is accepted by NPDA and not by any DPDA.
12. State the equivalence of acceptance by final state and empty stack.
If L = L(M2) for some PDA M2 , then L = N(M1) for some PDA M1.
If L = N(M1) for some PDA M1 ,then L = L(M2) for some PDA M2.
where L(M) = language accepted by PDA by reaching a final state.
N(M) = language accepted by PDA by empty stack.
13. State the equivalence of PDA and CFL.
Theory of Computation 12
If L is a context free language, then there exists a PDA M such that
L=N(M).
If L is N(M) for some PDA m, then L is a context free language.
14. What are the closure properties of CFL?
CFL are closed under union, concatenation and Kleene closure.
CFL are closed under substitution , homomorphism.
CFL are not closed under intersection , complementation.
Closure properties of CFL’s are used to prove that certain languages are not
context free.
15. State the pumping lemma for CFLs.
Let L be any CFL. Then there is a constant n, depending only on L, such that if z
is in L and |z| >=n, then z=uvwxy such that :
(i) |vx| >=1
(ii) |vwx| <=n and
(iii) for all i>=0 uviwxiy is in L.
16. What is the main application of pumping lemma in CFLs?
The pumping lemma can be used to prove a variety of languages are not context
free . Some examples are:
L1 ={ aibici | i>=1} is not a CFL.
L2= { aibjcidj | i>=1 and J>=1 } is not a CFL.
17.What is Ogden’s lemma?
Let L be a CFL. Then there is a constant n such that if z is any word in L, and we
mark any n or more positions of z “ distinguished” then we can write z=uvwxy such
that:
(1) v and x together have atleast one distinguished position.
(2) vwx has at most n distinguished positions and
(3) for all i>=0 uviwxiy is in L.
18. Give an example of Deterministic CFL.
The language L={anbn : n>=0} is a deterministic CFL
19. What are the properties of CFL?
Let G=(V,T,P,S) be a CFG
The fanout of G , (G) is largest number of symbols on the RHS of
any rule in R.
The height of the parse tree is the length of the longest path from the
root to some leaf.
20. Compare NPDA and DPDA.
NPDA DPDA
Theory of Computation 13
1. NPDA is the standard PDA
used in automata theory.
1. The standard PDA in
practical situation is DPDA.
2. Every PDA is NPDA unless
otherwise specified.
2. The PDA is deterministic in
the sense ,that at most one
move is possible from any ID.
21. What are the components of PDA ?
The PDA usually consists of four components:
A control unit.
A Read Unit.
An input tape.
A Memory unit.
22. What is the informal definition of PDA?
A PDA is a computational machine to recognize a Context free language.
Computational power of PDA is between Finite automaton and Turing machines. The
PDA has a finite control , and the memory is organized as a stack.
23. Give an example of NonDeterministic CFL
The language L={ wwR : w {a,b} + } is a nondeterministic CFL.
24. What is a Dyck language?
A Dyck language is a language with k-types of balanced parenthesis.
For ex: [ 1 [ 2 [ 1 ] 1 [ 2 ]2 ] 2 ]1 is in the Dyck language with two kinds of parenthesis.
25. What is a CYK algorithm?
*
Let Vij be the set of variables A such that A=> xij iff there is some production
A->BC and some k , 1<=k<=j such that B derives the first symbols of xij and C
derives the last j-k symbols of xij.
UNIT IV Turing Machine
1.What is a turing machine?
Turing machine is a simple mathematical model of a computer. TM has unlimited
and unrestricted memory and is a much more accurate model of a general purpose
computer. The turing machine is a FA with a R/W Head. It has an infinite tape divided
into cells ,each cell holding one symbol.
2.What are the special features of TM?
Theory of Computation 14
In one move ,TM depending upon the symbol scanned by the tape head and state
of the finite control:
Changes state.
Prints a symbol on the tape cell scanned, replacing what was written there.
Moves the R/w head left or right one cell.
3. Define Turing machine.
A Turing machine is denoted as M=(Q, , , ,q0, B,F)
Q is a finite set of states.
is set of i/p symbols ,not including B.
is the finite set of tape symbols.
q0 in Q is called start state.
B in is blank symbol.
F is the set of final states.
is a mapping from Q X to Q X X {L,R}.
4.Define Instantaneous description of TM.
The ID of a TM M is denoted as 1q 2 . Here q is the current state of M is in Q;
1 2 is the string in * that is the contents of the tape up to the rightmost nonblank
symbol or the symbol to the left of the head, whichever is the rightmost.
5. What are the applications of TM?
TM can be used as:
Recognizers of languages.
Computers of functions on non negative integers.
Generating devices.
6.What is the basic difference between 2-way FA and TM?
Turing machine can change symbols on its tape , whereas the FA cannot change
symbols on tape. Also TM has a tape head that moves both left and right side ,whereas
the FA doesn’t have such a tape head.
7. What is (a)total recursive function and (b)partial recursive function
If f(i1,i2,………ik) is defined for all i1,…..ik then we say f is a total recursive
function. They are similar to recursive languages as they are computed by TM that
always halt.
A function f(i1,…ik) computed by a Turing machine is called a partial recursive
function. They are similar to r.e languages as they are computed by TM that may or may
not halt on a given input.
8.Define a move in TM.
Let X1 X2…X i-1 q Xi…Xn be an ID.
The left move is: if (q, Xi )= (p, Y,L) ,if i>1 then
X1 X2…X i-1 q Xi…Xn |---- X1X2… X i-2 p X i-1 Y X i+1…Xn.
M
The right move is if (q, Xi )= (p, Y,R) ,if i>1 then
Theory of Computation 15
X1 X2…X i-1 q Xi…Xn |---- X1X2… X i-1Y p X i+1…Xn.
M
9. What is the language accepted by TM?
The language accepted by M is L(M) , is the set of words in * that cause M to
enter a final state when placed ,justified at the left on the tape of M, with M at qo and
the tape head of M at the leftmost cell. The language accepted by M is:
{ w | w in * and q0w |--- 1 p 2 for some p in F and 1 , 2 in * }.
10.Give examples of total recursive functions.
All common arithmetic functions on integers such as multiplication , n!,
[log2n] and 22n are total recursive functions.
11.What are(a) recursively enumerable languages (b) recursive sets?
The languages that is accepted by TM is said to be recursively enumerable (r. e )
languages. Enumerable means that the strings in the language can be enumerated by
the TM. The class of r. e languages include CFL’s.
The recursive sets include languages accepted by at least one TM that halts on
all inputs.
12. What are the various representation of TM?
We can describe TM using:
Instantaneous description.
Transition table.
Transition diagram.
13. What are the possibilities of a TM when processing an input string?
TM can accept the string by entering accepting state.
It can reject the string by entering non-accepting state.
It can enter an infinite loop so that it never halts.
14. What are the techniques for Turing machine construction?
• Storage in finite control.
• Multiple tracks.
• Checking off symbols.
• Shifting over
• Subroutines.
15. What is the storage in FC?
The finite control(FC) stores a limited amount of information. The state of the
Finite control represents the state and the second element represent a symbol scanned.
16.When is checking off symbols used in TM?
Checking off symbols is useful method when a TM recognizes a language with
repeated strings and also to compare the length of substrings.
(eg) : { ww | w * } or {aibi | i>=1}.
Theory of Computation 16
This is implemented by using an extra track on the tape with symbols Blank or .
17.When is shifting over Used ?
A Turing machine can make space on its tape by shifting all nonblank symbols a
finite number of cells to the right. The tape head moves to the right , repeatedly
storing the symbols in the FC and replacing the symbols read from the cells to the left.
The TM can then return to the vacated cells and prints symbols.
18. What is a multihead TM?
A k-head TM has some k heads. The heads are numbered 1 through k, and move
of the TM depends on the state and on the symbol scanned by each head. In one
move, the heads may each move independently left or right or remain stationary.
19.What is a 2-way infinite tape TM?
In 2-way infinite tape TM, the tape is infinite in both directions. The leftmost
square is not distinguished. Any computation that can be done by 2-way infinite tape
can also be done by standard TM.
20.Differentiate PDA and TM.
PDA TM
1. PDA uses a stack for
storage.
1. TM uses a tape that is infinite .
2.The language accepted by
PDA is CFL.
2. Tm recognizes recursively
enumerable languages.
21.How can a TM used as a transducer?
A TM can be used as a transducer. The most obvious way to do this is to treat
the entire nonblank portion of the initial tape as input , and to treat the entire blank
portion of the tape when the machine halts as output. Or a TM defines a function y=f(x)
for strings x ,y * if: q0X | --- qfY, where qf is the final state.
22. What is a multi-tape Turing machine?
A multi-tape Turing machine consists of a finite control with k-tape heads and ktapes
; each tape is infinite in both directions. On a single move depending on the state of
finite control and symbol scanned by each of tape heads ,the machine can change state
print a new symbol on each cells scanned by tape head, move each of its tape head
independently one cell to the left or right or remain stationary.
23.What is a multidimensional TM?
The device has a finite control , but the tape consists of a k-dimensional array
of cells infinite in all 2k directions, for some fixed k. Depending on the state and
symbol scanned , the device changes state , prints a new symbol and moves its tapehead
in one of the 2k directions, either positively or negatively ,along one of the k-axes.
Theory of Computation 17
24. When a recursively enumerable language is said to be recursive ? Is it true that the
language accepted by a non-deterministic Turing machine is different from recursively
enumerable language?
A language L is recursively enumerable if there is a TM that accepts L and
recursive if there is a TM that recognizes L. Thus r.e language is Turing acceptable and
recursive language is Turing decidable languages.
No , the language accepted by non-deterministic Turing machine is same as
recursively enumerable language.
25. What is Church’s Hypothesis?
The notion of computable function can be identified with the class of partial
recursive functions is known as Church-hypothesis or Church-Turing thesis. The
Turing machine is equivalent in computing power to the digital computer.
UNIT V Undecidability
1.When we say a problem is decidable? Give an example of undecidable
problem?
A problem whose language is recursive is said to be decidable.
Otherwise the problem is said to be undecidable. Decidable problems have an
algorithm that takes as input an instance of the problem and determines whether
the answer to that instance is “yes” or “no”.
(eg) of undecidable problems are (1)Halting problem of the TM.
2.Give examples of decidable problems.
1. Given a DFSM M and string w, does M accept w?
2. Given a DFSM M is L(M) = ?
3. Given two DFSMs M1 and M2 is L(M1)= L(M2) ?
4. Given a regular expression and a string w ,does generate w?
5. Given a NFSM M and string w ,does M accept w?
3. Give examples of recursive languages?
i. The language L defined as L= { “M” ,”w” : M is a DFSM that
accepts w} is recursive.
ii. L defined as { “M1” U “M2” : DFSMs M1 and M2 and L(M1)
=L(M2) } is recursive.
4. Differentiate recursive and recursively enumerable languages.
Recursive languages
Recursively enumerable languages
1. A language is said to be
recursive if and only if there exists
a membership algorithm for it.
1. A language is said to be r.e if
there exists a TM that accepts it.
2. A language L is recursive iff
there is a TM that decides L.
2. L is recursively enumerable iff
there is a TM that semi-decides L.
Theory of Computation 18
(Turing decidable languages). TMs
that decide languages are
algorithms.
(Turing acceptable languages). TMs
that semi-decides languages are not
algorithms.
5. What are UTMs or Universal Turing machines?
Universal TMs are TMs that can be programmed to solve any problem, that
can be solved by any Turing machine. A specific Universal Turing machine U is:
Input to U: The encoding “M “ of a Tm M and encoding “w” of a string w.
Behavior : U halts on input “M” “w” if and only if M halts on input w.
6. What is the crucial assumptions for encoding a TM?
There are no transitions from any of the halt states of any given TM .
Apart from the halt state , a given TM is total.
7. What properties of recursive enumerable seta are not decidable?
Emptiness
Finiteness
Regularity
Context-freedom.
8.Define L
.When is
a trivial property?
L
is defined as the set {
. }
is a trivial property if
is empty or it consists of all r.e languages.
9. What is a universal language Lu?
The universal language consists of a set of binary strings in the form of
pairs (M,w) where M is TM encoded in binary and w is the binary input string.
Lu = { < M,w> | M accepts w }.
10.What is a Diagonalization language Ld?
The diagonalization language consists of all strings w such that the TM M
whose code is w doesnot accept when w is given as input.
11. What properties of r.e sets are recursively enumerable?
L
L contains at least 10 members.
w is in L for some fixed w.
L Lu
12. What properties of r.e sets are not r.e?
L =
L = *.
L is recursive
L is not recursive.
L is singleton.
Theory of Computation 19
L is a regular set.
L - Lu
13.What are the conditions for L
to be r.e?
L
is recursively enumerable iff
satisfies the following properties:
i. If L is in
and L is a subset of L ,then L is in
(containment property)
ii. If L is an infinite language in
,then there is a finite subset of L in
.
iii. The set of finite languages in
is enumaerable.
14. What is canonical ordering?
Let * be an input set. The canonical order for * as follows . List words in
order of size, with words of the same size in numerical order. That is let ={
x0,x1,…x t-1 } and xi is the digit i in base t.
(e.g) If ={ a,b } the canonical order is , a ,b , aa, ab ,……..
15. How can a TM acts as a generating device?
In a multi-tape TM ,one tape acts as an output tape, on which a symbol, once
written can never be changed and whose tape head never moves left. On that output
tape , M writes strings over some alphabet , separated by a marker symbol # ,
G(M) ( where G(M) is the set w in * such that w is finally printed between a
pair of #’s on the output device ).
16. What are the different types of grammars/languages?
• Unrestricted or Phase structure grammar.(Type 0 grammar).(for TMs)
• Context sensitive grammar or context dependent grammar (Type1)(for
Linear Bounded Automata )
• Context free grammar (Type 2) (for PDA)
• Regular grammar (Type 3) ( for Finite Automata).
This hierarchy is called as Chomsky Hierarchy.
17. What is a PS or Unrestricted grammar?
A grammar without restrictions is a PS grammar. Defined as G=(V,T,P,S)
With P as :
A -> where A is variable and is replacement string.
The languages generated by unrestricted grammars are precisely those accepted by
Turing machines.
18. State a single tape TM started on blank tape scans any cell four or more
times is decidable?
If the TM never scans any cell four or more times , then every crossing
sequence is of length at most three. There is a finite number of distinct crossing
sequence of length 3 or less. Thus either TM stays within a fixed bounded number
of tape cells or some crossing sequence repeats.
19.Does the problem of “ Given a TM M ,does M make more than 50 moves
Theory of Computation 20
on input B “?
Given a TM M means given enough information to trace the processing of
a fixed string for a certain fixed number of moves. So the given problem is
decidable.
20. Show that AMBIGUITY problem is un-decidable.
Consider the ambiguity problem for CFGs. Use the “yes-no” version of AMB.
An algorithm for FIND is used to solve AMB. FIND requires producing a word with
two or more parses if one exists and answers “no” otherwise. By the reduction of
AMB to FIND we conclude there is no algorithm for FIND and hence no
algorithm for AMB.
21.State the halting problem of TMs.
The halting problem for TMs is:
Given any TM M and an input string w, does M halt on w?
This problem is undecidable as there is no algorithm to solve this problem.
22.Define PCP or Post Correspondence Problem.
An instance of PCP consists of two lists , A = w1,w2,….wk
and B = x1,…..xk of strings over some alphabet .This instance of PCP has a
solution if there is any sequence of integers i1,i2,..im with m >=1 such that
wi1, wi2,…wim = xi1,xi2 ,…xim
The sequence i1 ,i2 ,…im is a solution to this instance of PCP.
23.Define MPCP or Modified PCP.
The MPCP is : Given lists A and B of K strings from * ,say
A = w1 ,w2, …wk and B= x1, x2,…..xk
does there exists a sequence of integers i1,i2,…ir such that
w1wi1wi2…..wir = x1xi1xi2…xir?
24 . What is the difference between PCP and MPCP?
The difference between MPCP and PCP is that in the MPCP ,a solution
is required to start with the first string on each list.
25. What are the concepts used in UTMs?
Stored program computers.
Interpretive Implementation of Programming languages.
Computability.
Theory of Computation 21
16 marks
1.Prove that ,if L is accepted by an NFA with -transitions, then L is accepted by an NFA
without -transitions.
Refer page no:26,Theorem 2.2
2.Prove that for every regular expression there exist an NFA with -transitions.
Refer page no:30,Theorem 2.3
3.Construct the NFA with -transitions from the given regular expression.
If the regular expression is in the form of ab then NFA is
a b
If the regular expression is in a+b form then NFA is
a
b
If the regular expression is in a* form then NFA is
a
4.conversion of NFA to DFA
Draw the NFA’s transition table
Take the initial state of NFA be the initial state of DFA.
Transit the initial state for all the input symbols.
If new state appears transit it again and again to make all state as old state.
All the new states are the states of the required DFA
Draw the transition table for DFA
Draw the DFA from the transition table.
5.Conversion of DFA into regular expression.
Arden’s theorem is used to find regular expression from the DFA.
using this theorem if the equation is of the form R=Q+RP,we
can write this as R=QP*.
Write the equations for all the states.
Apply Ardens theorem and eliminate all the states.
Theory of Computation 22
Find the equation of the final state with only the input symbols.
Made the simplifications if possible
The equation obtained is the required regular expression.
6.Leftmost and rightmost derivations.
If we apply a production only to the leftmost variable at every step to derive the
required string then it is called as leftmost derivation.
If we apply a production only to the rightmost variable at every step to derive the
required string then it is called as rightmost derivation.
Example:
Consider G whose productions are S->aAS|a , A->SbA|SS|ba.For the string
w=aabbaa find the leftmost and rightmost derivation.
LMD: S=>aAS
=>aSbAS
=>aabAS
=>aabbaS
=>aabbaa
RMD: S=>aAS
=>aAa
=>aSbAa
=>aSbbaa
=>aabbaa
7. Prove that for every derivations there exist a derivation tree.
Refer page no: 84,Theorem 4.1
8.Construction of reduced grammar.
• Elimination of null productions
- In a CFG,productions of the form A-> can be eliminated, where A is
a variable.
• Elimination of unit productions.
- In a CFG,productions of the form A->B can be eliminated, where A
and B are variables.
• Elimination of Useless symbols.
- these are the variables in CFG which does not derive any terminal or
not reachable from the start symbols. These can also eliminated.
-
9. Chomsky normal form(CNF)
If the CFG is in CNF if it satisfies the following conditions
- All the production must contain only one terminal or only two
variables in the right hand side.
Example: Consider G with the production of S->aAB , A-> bC , B->b, C->c.
G in CNF is S->EB , E->DA , D-> a , A->FC , F-> b , B->b , C-> c.
10.Conversion of CFL in GNF.
Refer page no: 97,Example 4.10
Theory of Computation 23
11.Design a PDA that accepts the language {wwR | w in (0+1)*}.
Refer page no:112,Example 5.2
12. Prove that if L is L(M2) for some PDA M2,then L is N(M1) for some PDA M1.
Refer page no:114,Theorem 5.1
13.If L is a context-free language, then prove that there exists a PDA M such that
L=N(M).
Refer page no: 116,Theorem 5.3
14.Conversion of PDA into CFL.
Theorem: refer page no:117
Example: refer page no :119
15.State and prove the pumping lemma for CFL
Refer page no: 125,Theorem 6.1
16.Explain the various techniques for Turing machine construction.
- storage in finite control
- multiple tracks
- checking off symbols
- shifting over
- subroutines.
For explanation refer page no 153-158
17.Briefly explain the different types of Turing machines.
- two way finite tape TM
- multi tape TM
- nondeterministic TM
- multi dimensional TM
- multihead TM
For explanation refer page no 160-165
18.Design a TM to perform proper subtraction.
Refer page no: 151,Example 7.2
19Design a TM to accept the language L={0n1n | n>=1}
Refer page no:149,Example 7.1
20. Explain how a TM can be used to determine the given number is prime or not?
It takes a binary input greater than 2,written on the first track, and determines
whether it is a prime. The input is surrounded by the symbol $ on the first track.
Theory of Computation 24
To test if the input is a prime, the TM first writes the number 2 in binary on the
second track and copies the first track on to the third. Then the second track is subtracted
as many times as possible, from the third track effectively dividing the third track by the
second and leaving the remainder.
If the remainder is zero, the number on the first track is not a prime.If the
remainder is non zero,the number on the second track is increased by one.If the second
track equals the first,the number on the first track is the prime.If the second is less than
first,the whole operation is repeated for the new number on the second track.
21.State and explain RICE theorem.
Refer page no: 188,Theorem 8.6
22.Define Lu and prove that Lu is recursive enumerable.
Refer page no: 183,Theorem 8.4
23. Define Ld and prove that Ld is undecidable.
Refer page no: 182.
24.Prove that if a language L and its complement are both recursively enumerable, then L
is recursive.
Refer page no: 180,Theorem 8.3
25.Prove that the halting problem is undecidable.
Refer page no: 187
.
BOOK REFERED
1.Introduction to automata theory,languages,and computation
by John E.Hopcroft,Jeffery D,Ullman
KEYWORDS:THEORY OF COMPUTATION(CS1303),THEORY OF COMPUTATION,THEORY OF COMPUTATION(CS1303) QUESTION PAPER,ANNA UNIVERSITY QUESTION PAPER,ANNA UNIVERSITY,ANNA UNIVERSITY CHENNAI,ANNA UNIVERSITY COIMBATORE,ANNA UNIVERSITY TRICHY,ANNA UNIVERSITY TIRUNELVELI,ANNA UNIVERSITY MADURAI,ANNA UNIVERSITY SYLLABUS,ANNA-UNIVERSITY RESULTS,ANNA UNIVERSITY DISTANCE EDUCATION,ANNA UNIVERSITY MBA-CENTRE FOR DISTANCE EDUCATION,ANNA UNIVERSITY SCHEDULE OF EXAMINATIONS,ANNA UNIVERSITY ADMISSION,ANNA UNIVERSITY COURSES,ANNA UNIVERSITY ACADEMIC,ANNA UNIVERSITY DEPARTMENTS,ANNA UNIVERSITY RESEARCH,ANNA UNIVERSITY MAIL,ANNA UNIVERSITY QUESTION PAPERS,ANNA UNIVERSITY COUNSELLING DATES,ANNA UNIVERSITY RE-EVALUATION RESULTS