2. THEORY OF COMPUTATION
In theoretical computer science and
mathematics, the theory of computation is the
branch that deals with how efficiently
problems can be solved on a model of
computation, using an algorithm.
21 November 20172
3. THEORY OF COMPUTATION
Computation: Task performed by ‘calculator’
or ‘computer’ or a ‘machine’.
Theory: What is the theory behind about this
machine
Capabilities of the machine
Problems that could be solved by this machine
Limitations of this machine
21 November 20173
4. Branches of ToC
The field is divided into three major branches:
1. Automata theory and language
2. Computability theory
3. Computational complexity theory
which are linked by the question: "What are
the fundamental capabilities and
limitations of computers?“.
21 November 20174
5. OBJECTIVES of this
course:
Understand various Computing models like
Finite State Machine, Pushdown Automata,
and Turing Machine.
Be aware of Decidability and Un-decidability
of various problems.
Learn types of grammars.
21 November 20175
6. UNIT I: FINITE AUTOMATA
Introduction- Basic Mathematical Notation and
techniques- Finite State systems – Basic
Definitions – Finite Automaton – DFA & NDFA –
Finite Automaton with €- moves – Regular
Languages - Regular Expression – Equivalence of
NFA and DFA – Equivalence of NDFA’s with and
without €-moves – Equivalence of finite
Automaton and regular expressions –Minimization
of DFA - Pumping Lemma for Regular sets –
Problems based on Pumping Lemma.
21 November 20176
7. UNIT II: GRAMMARS
Grammar Introduction – Types of Grammar -
Context Free Grammars and Languages –
Derivations and Languages – Ambiguity-
Relationship between derivation and
derivation trees – Simplification of CFG –
Elimination of Useless symbols - Unit
productions - Null productions – Greiback
Normal form – Chomsky normal form –
Problems related to CNF and GNF.
21 November 20177
8. UNIT III: PUSHDOWN AUTOMATA
Pushdown Automata - Definitions – Moves –
Instantaneous descriptions – Deterministic
pushdown automata – Equivalence of
Pushdown automata and CFL - pumping
lemma for CFL – problems based on pumping
Lemma.
21 November 20178
9. UNIT IV: TURING
MACHINES
Definitions of Turing machines – Models –
Computable languages and functions –
Techniques for Turing machine construction –
Multi head and Multi tape Turing Machines -
The Halting problem – Partial Solvability –
Problems about Turing machine- Chomskian
hierarchy of languages.
21 November 20179
10. UNIT V: UNSOLVABLE
PROBLEMS AND
COMPUTABLE FUNCTIONS
Unsolvable Problems and Computable
Functions – Primitive recursive functions –
Recursive and recursively enumerable
languages – Universal Turing machine.
MEASURING AND CLASSIFYING
COMPLEXITY: Tractable and Intractable
problems- Tractable and possibly intractable
problems – P and NP completeness -
Polynomial time reductions.
21 November 201710
11. OUTCOMES:
Design Finite State Machine, Pushdown
Automata, and Turing Machine.
Explain the Decidability or Undecidability of
various problems
21 November 201711
12. Applications of ToC
Artificial Intelligence
Compiler Design
Robotics
Circuit Design
Natural Language Processing
Knowledge based System
Quantum Computing
Pattern Recognition
21 November 201712