School of Computing Science and Engineering
Program: B.Tech
Course Code: E2UC501T
Course Name: Theory of Computation
School of Computing Science and Engineering
Course Code : E2UC501TCourse Name: Theory Of Computation
Course Outcomes :
201.1 To develop rigorous understanding of models of computation.
201.2 To apply mathematical techniques to the study of computation.
201.3 To analyze languages accepted by various computational models.
To design finite automata, push down automata and Turing machines for formal
201.4
languages.
Program
Name of the Faculty: Tarun Name: B.Tech(CSE)
Kumar Program
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
Syllabus
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
Theory of Computation
Lecture No. 01 & 02
Outline:
1. Alphabet
2. Strings
3. Language
4. Major Aspects: –
Computability – To know what is computable?
How to Automate the process?
To develop the language to instruct the machine
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
Introduction
What human does? →
1. Supplies raw material and give instructions (what to do?)
2. What machine (automaton) does?
3. Provides Finished Goods.
→Instructions
4. Raw material → Automata or Machine → Output /
Finished Goods
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
Automate: – To accomplish a process without human
intervention.
What we want to automate? – The Computing Process
Result: – Design of Computing Machine
The machine has to be instructed:
1. What to do? → add, subtract, GCD, LCM, factorial
2. Procedure | operation to be carried out: → on what to do?
Data like Add 34 , 74
3. How to do? → detailed procedure for performing
operations.
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
Formal Language → → → → Grammar
Program Name: B.Tech Program Code:
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
1. Alphabet:
Alphabet is a finite, non empty set of symbols. It is denoted
by Σ
Σ = {0,1} → Binary Alphabet
Σ = {a,b} → Alphabet
Σ = {0} → Unary Alphabet
Σ = {a} → Unary Alphabet
Note: → ‘Λ’ & ‘λ’ is not allowed in alphabet
{} → is also not an alphabet
According to the nature of problem(Formal Language) any
symbol can be part of Σ
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
2. String:
String is a finite sequence of ‘0’ or more symbols for some
alphabet. or
A String is a finite sequence of symbols from Σ.
The length of a string s, denoted |s|, is the number of symbols
in it.
The empty string is the string of length zero. It is to be
denoted by ‘λ’
→ ‘λ’ or ‘Λ’ : → String of length zero
→ 0,1 : → String of length one
→ 00,11,01,10…….
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
3. Language:
Σ* is a language called universal language which includes
all the string including ‘Λ’ “Null String!”
Σ* = {Λ,0,1,00,01,10,……}, Σ* --> Kleene Closure
L = {} → is a null language
L = {00,01,10} → is not universal language
Note:→ Σ* is always infinite but a language can be finite.
For Σ* = {0,1} L = {Λ,0,00,000,…..}(This is not
universal)
Σ+ : → all strings except null string.
Σ+ : → Positive closure
Programof Σ. B.Tech(CSE)
Name:
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
3. Language:
There are two types of languages
1. Informal Languages (Semantic languages)
2. Formal Languages (Syntactic languages)
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
3. Language:
1. Informal Languages (Semantic languages):
In which we do not strictly follow the Grammar Rules and
we divert somehow from the strict grammatical rules.
All spoken languages are informal languages: e.g.
Hindi, urdu, english, arabic, etc.
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
3. Language:
2. Formal Languages (Syntactic languages):
In which we are not allowed to divert from the strict
and predefined grammatical rules.
Note: → Language and Set are the same things.
Program Name: B.Tech(CSE)
School of Computing Science and Engineering
Course Code : E2UC501T Course Name: Theory Of Computation
References
Text books:
Hopcroft, Ullman, “Introduction to Automata Theory, Languages and Computation”,
Pearson Education
Reference Book:
Languages and Computation”, PHI
Martin J. C., “Introduction to Languages and Theory of Computations”, TMH
Papadimitrou, C. and Lewis, C.L., “Elements of the Theory of Computation”, PHI
Additional online materials
https://nptel.ac.in/courses/106/106/106106049/
Program Name: B.Tech(CSE)