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

TOC Material

The document provides lecture notes on the Theory of Computation, focusing on finite automata and automata theory, which studies abstract machines and the computational problems they can solve. It covers key concepts such as states, transitions, formal proofs, and definitions of languages and strings, along with the structure of deterministic finite automata (DFA). Additionally, it explains the operation of automata, including transition functions and the representation of states through transition diagrams and tables.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views

TOC Material

The document provides lecture notes on the Theory of Computation, focusing on finite automata and automata theory, which studies abstract machines and the computational problems they can solve. It covers key concepts such as states, transitions, formal proofs, and definitions of languages and strings, along with the structure of deterministic finite automata (DFA). Additionally, it explains the operation of automata, including transition functions and the representation of states through transition diagrams and tables.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

Sri vidya college of engineering and technology Lecture notes

CS6503 THEORY OF COMPUTATION

UNIT NO: I FINITE AUTOMATA

What is TOC?
In theoretical computer science, the theory of computation is the branch that deals with
whether and how efficiently problems can be solved on a model of computation, using an
algorithm. The field is divided into three major branches: automata theory, computability theory
and computational complexity theory.
In order to perform a rigorous study of computation, computer scientists work with a
mathematical abstraction of computers called a model of computation. There are several
models in use, but the most commonly examined is the Turing machine.
Automata theory
In theoretical computer science, automata theory is the study of abstract machines (or more
appropriately, abstract 'mathematical' machines or systems) and the computational problems that
can be solved using these machines. These abstract machines are called automata.
This automaton consists of
 states (represented in the figure by circles), 
 and transitions (represented by arrows). 
As the automaton sees a symbol of input, it makes a transition (or jump) to another state,
according to its transition function (which takes the current state and the recent symbol as its
inputs).
Uses of Automata: compiler design and parsing.

Introduction to formal proof:


Basic Symbols used :
U – Union
∩- Conjunction ϵ
- Empty String
Φ – NULL set
7- negation
‘ – compliment
= > implies

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

Additive inverse: a+(-a)=0


Multiplicative inverse: a*1/a=1
Universal set U={1,2,3,4,5}
Subset A={1,3}
A’ ={2,4,5}
Absorption law: AU(A ∩B) = A, A∩(AUB) = A

De Morgan’s Law:
(AUB)’ =A’ ∩ B’
(A∩B)’ = A’ U B’
Double compliment
(A’)’ =A
A ∩ A’ = Φ

Logic relations:
a b = > 7a U b
7(a∩b)=7a U 7b

Relations:
Let a and b be two sets a relation R contains aXb.
Relations used in TOC:
Reflexive:a=a
Symmetric: aRb = > bRa
Transition: aRb, bRc = > aRc
If a given relation is reflexive, symmentric and transitive then the relation is called equivalence
relation.

Deductive proof: Consists of sequence of statements whose truth lead us from some
initial statement called the hypothesis or the give statement to a conclusion statement.

Additional forms of proof:


Proof of sets
Proof by contradiction
Proof by counter example

Direct proof (AKA) Constructive proof:


If p is true then q is true
Eg: if a and b are odd numbers then product is also an odd
number. Odd number can be represented as 2n+1
a=2x+1, b=2y+1
product of a X b = (2x+1) X (2y+1)= 2(2xy+x+y)+1 = 2z+1 (odd number)

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

Proof by contrapositive:

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

Proof by Contradiction:

H and not C implies falsehood.

Be regarded as an observation than a theorem.

Proof by mathematical Induction:

Languages :

The languages we consider for our discussion is an abstraction of natural languages. That

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

is, our focus here is on formal languages that need precise and formal definitions.
Programming languages belong to this category.

Symbols :

Symbols are indivisible objects or entity that cannot be defined. That is, symbols are the
atoms of the world of languages. A symbol is any single object such as, a, 0, 1, #, begin,
or do.

Alphabets :

An alphabet is a finite, nonempty set of symbols. The alphabet of a language is normally


denoted by∑. When more than one alphabets are considered for discussion, then
subscripts may be used (e.g. ∑1,∑2 etc) or sometimes other symbol like G may also be
introduced.

Strings or Words over Alphabet :

A string or word over an alphabet ∑ is a finite sequence of concatenated symbols of ∑.

Example : 0110, 11, 001 are three strings over the binary alphabet { 0, 1 } .

aab, abcb, b, cc are four strings over the alphabet { a, b, c }.

It is not the case that a string over some alphabet should contain all the symbols from the
alphabet. For example, the string cc over the alphabet { a, b, c } does not contain the
symbols a and b. Hence, it is true that a string over an alphabet is also a string over any
superset of that alphabet.

Length of a string :
The number of symbols in a string w is called its length, denoted by |w|.

Example : | 011 | = 4, |11| = 2, | b | = 1

Convention : We will use small case letters towards the beginning of the English
alphabet to denote symbols of an alphabet and small case letters towards the end to
denote strings over an alphabet. That is, (symbols) and
are strings.

Example : Consider the string 011 over the binary alphabet. All the prefixes, suffixes and
substrings of this string are listed below.

Prefixes: ε, 0, 01, 011.


Suffixes: ε, 1, 11, 011.
Substrings: ε, 0, 1, 01, 11, 011.

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

Note that x is a prefix (suffix or substring) to x, for any string x and ε is a prefix (suffix or
substring) to any string.

A string x is a proper prefix (suffix) of string y if x is a prefix (suffix) of y and x ≠ y.


In the above example, all prefixes except 011 are proper prefixes.

Powers of Strings : For any string x and integer n>=0, we use xx to denote the string
formed by sequentially concatenating n copies of x. We can also give an inductive
definition of xx as follows: xx = e,
if n= 0 ; otherwise xx= xx-1.

Reversal :
For any string the reversal of the string is .

An inductive definition of reversal can be given as follows:

Languages
Defn: A language is a set of strings over an alphabet.
 A more restricted definition requires some forms of restrictions on the
strings, i.e., strings that satisfy certain properties
 Defn. The syntax of a language restricts the set of strings that satisfy
certain properties.

Defn: A string over an alphabet X, denoted , is a finite sequence of elements


from X, which are indivisible objects
e.g., Strings can be words in English
The set of strings over an alphabet is defined recursively (as given below)
Example: Given  = {a, b}, * includes , a, b, aa, ab, ba, bb, aaa, …
Defn 2.1.2. A language over an alphabet  is a subset of *.
Defn 2.1.3. Concatenation, is the fundamental binary operation in the generation
of strings, which is associative, but not commutative, is defined as
i. Basis: If length(v) = 0, then v =  and uv = u
ii. Recursion: Let v be a string with length(v) = n (> 0). Then v = wa,
for string w with length n-1 and a  , and uv = (uw)a.

Convention : Capital letters A, B, C, L, etc. with or without subscripts are normally used
to denote languages.

Set operations on languages : Since languages are set of strings we can apply set
operations to languages. Here are some simple examples (though there is nothing new in
it).
(Generates) (Recognizes)
Grammar Language Automata

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

Automata: A algorithm or program that automatically recognizes if a particular string


belongs to the language or not, by checking the grammar of the string.

An automata is an abstract computing device (or machine). There are different varities of
such abstract machines (also called models of computation) which can be defined
mathematically.

Every Automaton fulfills the three basic requirements.

• Every automaton consists of some essential features as in real computers. It has a


mechanism for reading input. The input is assumed to be a sequence of symbols
over a given alphabet and is placed on an input tape(or written on an input file).
The simpler automata can only read the input one symbol at a time from left to
right but not change. Powerful versions can both read (from left to right or right to
left) and change the input. The automaton can produce output of some form. If the
output in response to an input string is binary (say, accept or reject), then it is
called an accepter. If it produces an output sequence in response to an input
sequence, then it is called a transducer(or automaton with output).
• The automaton may have a temporary storage, consisting of an unlimited number
of cells, each capable of holding a symbol from an alphabet ( whcih may be
different from the input alphabet). The automaton can both read and change the
contents of the storage cells in the temporary storage. The accusing capability of
this storage varies depending on the type of the storage.

Figure 1: The figure above shows a diagrammatic representation of a generic automation.

Operation of the automation is defined as follows.


At any point of time the automaton is in some integral state and is reading a particular
symbol from the input tape by using the mechanism for reading input. In the next time
step the automaton then moves to some other integral (or remain in the same state) as
defined by the transition function. The transition function is based on the current state,
input symbol read, and the content of the temporary storage. At the same time the content
of the storage may be changed and the input read may be modifed. The automation may
also produce some output during this transition. The internal state, input and the content

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

of storage at any point defines the configuration of the automaton at that point. The
transition from one configuration to the next ( as defined by the transition function) is
called a move. Finite state machine or Finite Automation is the simplest type of abstract
machine we consider. Any system that is at any point of time in one of a finite number of
interval state and moves among these states in a defined manner in response to some
input, can be modeled by a finite automaton. It doesnot have any temporary storage and
hence a restricted model of computation.

Finite Automata

Automata (singular : automation) are a particularly simple, but useful, model of


computation. They were initially proposed as a simple model for the behavior of neurons.

States, Transitions and Finite-State Transition System :

Let us first give some intuitive idea about a state of a system and state transitions before
describing finite automata.

Informally, a state of a system is an instantaneous description of that system which gives


all relevant information necessary to determine how the system can evolve from that
point on.

Transitions are changes of states that can occur spontaneously or in response to inputs to
the states. Though transitions usually take time, we assume that state transitions are
instantaneous (which is an abstraction).

Some examples of state transition systems are: digital systems, vending machines, etc.

A system containing only a finite number of states and transitions among them is called a
finite-state transition system.

Finite-state transition systems can be modeled abstractly by a mathematical model called


finite automation

Deterministic Finite (-state) Automata

Informally, a DFA (Deterministic Finite State Automaton) is a simple machine that reads
an input string -- one symbol at a time -- and then, after the input has been completely
read, decides whether to accept or reject the input. As the symbols are read from the tape,
the automaton can change its state, to reflect how it reacts to what it has seen so far. A
machine for which a deterministic code can be formulated, and if there is only one unique
way to formulate the code, then the machine is called deterministic finite automata.

Thus, a DFA conceptually consists of 3 parts:

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

1. A tape to hold the input string. The tape is divided into a finite number of cells.
Each cell holds a symbol from ∑.
2. A tape head for reading symbols from the tape
3. A control , which itself consists of 3 things:
o finite number of states that the machine is allowed to be in (zero or more
states are designated as accept or final states),
o a current state, initially set to a start state, a state transition function for
changing the current state.

An automaton processes a string on the tape by repeating the following actions until the
tape head has traversed the entire string:

1. The tape head reads the current tape cell and sends the symbol s found there to the
control. Then the tape head moves to the next cell.
2. he control takes s and the current state and consults the state transition function to
get the next state, which becomes the new current state.

Once the entire string has been processed, the state in which the automation enters is
examined. If it is an accept state , the input string is accepted ; otherwise, the string is
rejected . Summarizing all the above we can formulate the following formal definition:

DFA (Deterministic Finite Automaton) is a quintuple M = (Q, , , q0, F), where


1) Q is a finite set of states
2)  is a finite set of (machine) alphabet
3)  is a transitive function from Q x  to Q, i.e.,
4) : Q x   Q
5) q0  Q, is the start state
6) F  Q, is the set of final (accepting) states

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

It is a formal description of a DFA. But it is hard to comprehend. For ex. The language of
the DFA is any string over { 0, 1} having at least one 1

We can describe the same DFA by transition table or state transition diagram as
following:

It is easy to comprehend the transition diagram.

Explanation : We cannot reach find state or in the i/p string. There can be any
no. of 0's at the beginning. ( The self-loop at on label 0 indicates it ). Similarly there
can be any no. of 0's & 1's in any order at the end of the string.

Transition table :

It is basically a tabular representation of the transition function that takes two arguments
(a state and a symbol) and returns a value (the “next state”).

• Rows correspond to states,


• Columns correspond to input symbols,
• Entries correspond to next states
• The start state is marked with an arrow
• The accept states are marked with a star (*).

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

(State) Transition diagram :

A state transition diagram or simply a transition diagram is a directed graph which can be
constructed as follows:

1. For each state in Q there is a node.

2. There is a directed edge from node q to node p labeled a iff . (If


there are several input symbols that cause a transition, the edge is labeled by the
list of these symbols.)
3. There is an arrow with no source into the start state.
4. Accepting states are indicated by double circle.
5.

6. Here is an informal description how a DFA operates. An input to a DFA can be any
string . Put a pointer to the start state q. Read the input string w from left to
right, one symbol at a time, moving the pointer according to the transition function, . If
the next symbol of w is a and the pointer is on state p, move the pointer to .
When the end of the input string w is encountered, the pointer is on some state, r. The
string is said to be accepted by the DFA if and rejected if . Note that there
is no formal mechanism for moving the pointer.
7. A language is said to be regular if L = L(M) for some DFA M.

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

UNIT-I AUTOMATA

PART-A(2-MARKS)

1 List any four ways of theorem proving.


2 Define Alphabets.
3 Write short notes on Strings.
4 What is the need for finite automata?
5 What is a finite automaton? Give two examples.
6 Define DFA.
7 Explain how DFA process strings.
8 Define transition diagram.
9 Define transition table.
10. Define the language of DFA.
+
11. Construct a finite automata that accepts {0,1} .
12. Give the DFA accepting the language over the alphabet 0,1 that have the set of
all strings ending in 00.
13. Give the DFA accepting the language over the alphabet 0,1 that have the set of
all strings with three consecutive 0’s.
14. Give the DFA accepting the language over the alphabet 0,1 that have the set of
all strings with 011 as a substring.
15. Give the DFA accepting the language over the alphabet 0,1 that have the set of
th
all strings whose 10 symbol from the right end is 1.
16. Give the DFA accepting the language over the alphabet 0,1 that have the set of
all strings such that each block of 5 consecutive symbol contains at least two
0’s.
17. Give the DFA accepting the language over the alphabet 0,1 that have the set of
all strings that either begins or end(or both) with 01.
18. Give the DFA accepting the language over the alphabet 0,1 that have the set of
all strings such that the no of zero’s is divisible by 5 and the no of 1’s is
divisible by 3.
19. Find the language accepted by the DFA given below.
20. Define NFA.
21. Define the language of NFA.
22. Is it true that the language accepted by any NFA is different from the regular
language? Justify your Answer.
23. Define ε-NFA.
24. Define ε closure.
25. Find the εclosure for each state from the following automata.
26. Define Regular expression. Give an example.
27. What are the operators of RE.
28. Write short notes on precedence of RE operators.
29. Write Regular Expression for the language that have the set of strings over
{a,b,c} containing at least one a and at least one b.

30. Write Regular Expression for the language that have the set of all strings of 0’s

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

th
30 and 1’s whose 10 symbol from the right end is 1.
31 Write Regular Expression for the language that has the set of all strings of 0’s
and 1’s with at most one pair of consecutive 1’s.
32 Write Regular Expression for the language that have the set of all strings of 0’s
33 and 1’s such that every pair of adjacent 0’s appears before any pair of adjacent
34 1’s.
35 Write Regular Expression for the language that have the set of all strings of 0’s
and 1’s whose no of 0’s is divisible by 5.
36 Write Regular Expression for the language that has the set of all strings of 0’s
and 1’s not containing 101 as a substring.
37 Write Regular Expression for the language that have theset of all strings of 0’s
and 1’s such that no prefix has two more 0’s than 1’s, not two more 1’s than
0’s.
38. Write Regular Expression for the language that have the set of all
strings of 0’s and 1’s whose no of 0’s is divisible by 5 and no of 1’s is
even.
39. Give English descriptions of the languages of the regular expression (1+ ε)(00*1)*0*.
40. Give English descriptions of the languages of the regular expression
(0*1*)*000(0+1)*.
41. Give English descriptions of the languages of the regular expression (0+10)*1*.
42. Convert the following RE to ε-NFA.01*.

43. State the pumping lemma for Regular languages.


44. What are the application of pumping language?
45. State the closure properties of Regular language.
46. Prove that if L and M are regular languages then so is LUM.
47. What do you mean by Homomorphism?
Suppose H is the homomorphism from the alphabets {0,1,2} to the alphabets
{a,b} defined by h(0)=a h(1)=ab h(2)=ba. What is h(0120) and h(21120).
48. Suppose H is the homomorphism from the alphabets {0,1,2} to the alphabets
{a,b} defined by h(0)=a h(1)=ab h(2)=ba. If L is the language L(01*2) what is
h(L).

49. Let R be any set of regular languages is U Ri regular?Prove it.


50. Show that the compliment of regular language is also regular.
51 . What is meant by equivalent states in DFA.

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

Part B

1. a) If L is accepted by an NFA with ε-transition then show that L is accepted by an


NFA without ε-transition.
b) Construct a DFA equivalent to the NFA.
M=({p,q,r},{0,1}, δ,p,{q,s})
Where δis defined in the following table.

δ 0 1
p {q,s} {q}
q {r} {q,r}
r {s} {p}
s - {p}
n n
2. a)Show that the set L={a b /n>=1} is not a regular. (6) b)Construct a DFA equivalent to the

NFA given below: (10)

0 1
p {p,q} P
q r R
r s -
s s S
n n
3. a)Check whether the language L=(0 1 /n>=1) is regular or not? Justify your answer.

b) Let L be a set accepted by a NFA then show that there exists aDFA that accepts L.

4. Define NFA with ε-transition. Prove that if L is accepted by an NFA with ε-transition
then L is also accepted by a NFA without ε-transition.
+
5. a) Construct a NDFA accepting all string in {a,b} with either two consecutive
a’s or two consecutive b’s.

b) Give the DFA accepting the following language:set of all strings beginning with a 1 that
when interpretedas a binary integer is a multiple of 5.

6. Draw the NFA to accept the following languages.

(i) Set of Strings over alphabet {0,1,…….9} such that the final digit has
appeared before. (8)
(ii)Set of strings of 0’s and 1’s such that there are two 0’s separated by a number of
positions that is a multiple of 4.

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

7.a)Let L be a set accepted by an NFA.Then prove that there exists a deterministic finite
automaton that accepts L.Is the converse true? Justify your answer. (10)

b)Construct DFA equivalent to the NFA given below: (6)

8.a) Prove that a language L is accepted by some ε–NFA if and only if L is accepted by some
DFA. (8)

b) Consider the following ε–NFA.Compute the ε–closure of each state and find it’s equivalent
DFA. (8)

ε A b C

p {q} {p} Ф Ф

q {r} ф {q} Ф

*r Ф ф ф {r}

9.a) Prove that a language L is accepted by some DFA if L is accepted by some NFA.

b) Convert the following NFA to it’s equivalent DFA

0 1

p {p,q} {p}
q {r} {r}
r {s} ф

*s {s} {s}

10.a) Explain the construction of NFA with εtransition from any given regular
expression.

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

b) Let A=(Q,∑, δ, q0 ,{qf ) be a DFA and suppose that for all a in ∑wehave δ(q0, a)= δ(qf ,a).
k
Show that if x is a non empty string in L(A),then for all k>0,x is also in L(A).

PART-B

11.a)Construct an NFA equivalent to (0+1)*(00+11)

12.a)Construct a Regular expression corresponding to the state diagram given in the


following figure.

i i
b) Show that the set E={0 1 |i>=1} is not Regular. (6)

13.a)Construct an NFA equivalent to the regular expression (0+1)*(00+11)(0+1)*.

b)Obtain the regular expression that denotes the language accepted by the following DFA.

14.a)Construct an NFA equivalent to the regular expression ((0+1)(0+1)(0+1))*

b)Construct an NFA equivalent to 10+(0+11)0*1

15.a)Obtain the regular expression denoting the language accepted by the following DFA (8)
b)Obtain the regular expression denoting the language accepted by the following DFA by
k
using the formula Rij

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

16. a)Show that every set accepted by a DFA is denoted by a regular Expression

b)Construct an NFA equivalent to the following regular expression01*+1.

2
17. a)Define a Regular set using pumping lemma Show that the language L={0i / i is an
integer,i>=1} is not regular

b)Construct an NFA equivalent to the regular expression 10+(0+11)0*1


n2/n
18. a) Show that the set L={O is an integer,n>=1} is not regular.
*
b)Construct an NFA equivalent to the following regular expression ((10)+(0+1)
01. (10) 9.a)Prove that if L=L(A) for some DFA A,then there is a regular
expression R such that L=L(R).
p
b) Show that the language {0 ,p is prime} is not regular.

19.Find whether the following languages are regular or not.


R
(i) L={w ε{a,b}|w=w }.
n m n+m
(ii) L={0 1 2 ,n,m>=1}
k 2
(iii) L={1 |k=n ,n>=1} . (4)
(iv) L1/L2={x | for some y εL2,xy εL1},where L1 and L2 are any two languages and
L1/L2 is the quotient of L1 and L2.
2
20.a) Find the regular expression for the set of all strings denoted by R 13 from the

CS6503 Theory of computation Unit I


Sri vidya college of engineering and technology Lecture notes

deterministic finite automata given below:

b)Verify whether the finite automata M1 and M2 given below are equivalent over {a,b}.

21.a)Construct transition diagram of a finite automaton corresponding to the regular


* *
expression (ab+c ) b.

22..a)Find the regular expression corresponding to the finite automaton given below.

2
b)Find the regular expression for the set of all strings denoted by R 23 from the
deterministic finite automata given below.

k 2
23.a) Find whether the languages {ww,w is in (1+0)*} and {1 | k=n , n>=1} are regular
or not.

CS6503 Theory of computation Unit I

You might also like