20cs2204 - Formal Languages and Automata Theory
20cs2204 - Formal Languages and Automata Theory
Course
Program Core Credits: 3
Category:
Course Theory
Lecture-Tutorial-Practical: 3-0-0
Type:
Knowledge in Discrete Mathematics and Sessional Evaluation: 40
Prerequisite: logical reasoning Univ. Exam Evaluation: 60
Total Marks: 100
Basic mathematical foundations of computation and various other notions.
Understand and conduct mathematical proofs for computation and algorithms.
Familiarity with thinking intuitively for problem solving in related areas of
Objectives:
theory in computer science
Develop a view on the importance of computational theory concepts.
Upon successful completion of the course, the students will be able to:
CO1 Demonstrate abstract models of computing like DFA and NFA.
Learn regular languages and are exposed to a overview of the theoretical
CO2
foundations of computer science.
Course Design grammars and recognizers for different formal languages and to prove or
CO3
Outcomes disprove theorems in automata theory using its properties.
Apply Mathematical and formal techniques for solving real time applications
CO4
using PDA.
CO5 Perceive the power and limitations of a Turing machine.
CO6 Determine the decidability and intractability of computational problems.
Course UNIT-I
Content Automata: Introduction to Finite Automata, Structural Representations, Automata and
Complexity, Chomsky hierarchy, The Central concepts of Automata Theory-Alphabets,
Strings and Languages, Deterministic Finite Automata, Nondeterministic Finite
Automata, Finite Automata with Epsilon-Transitions.
Mealy and Moore Models: Finite Automata With outputs, Procedure for Transforming
a Mealy Machine into Moore Machine and Moore Machine to Corresponding Mealy
Machine.
UNIT-II
Regular Expressions and Languages: Regular expressions, Finite Automata and
Regular Expressions, Algebraic Laws for Regular Expressions.
UNIT-III
Context Free Grammars and Languages: Context free grammars, Parse trees,
Ambiguity in Grammars and languages, Simplification of Context Free Grammars-
Elimination of Useless Symbols, Epsilon-Productions and Unit Productions.
1
Properties of Context Free Languages: Normal Forms for context free grammars -
Chomsky Normal Form and Greibach Normal Form, Pumping lemma for context free
languages, Closure properties of context free languages.
UNIT-IV
Push Down Automata: Definition of Push down automaton, The languages of PDA-
Acceptance by final state, Acceptance by empty stack, from empty stack to final state,
from final state to empty stack, Equivalence of PDA’s and CFG's, Deterministic PDA,
Two Stack Pushdown Automata.
UNIT-V
Introduction to Turing Machine: Turing Machine, Definition, Model, Representation
of Turing Machines-Instantaneous Descriptions, Transition Tables and Transition
Diagrams, Language of a Turing Machine, Programming Techniques for Turing
Machines, Extensions to the Basic Turing Machine, Restricted Turing machines.
UNIT-VI
Undecidability: A Language that is not Recursively Enumerable, an Undecidable
problem that is RE, Rice’s theorem and Properties of the RE Languages, Post’s
Correspondence problem.
TEXT BOOKS:
1. Introduction to Automata Theory, Languages and Computation, J.E.Hopcroft,
R.Motwani and J.D.Ullman, 3rd Edition, Pearson, 2008.
REFERENCE BOOKS:
Text Books 1. Formal Language and Automata Theory, K.V.N.Sunitha and N.Kalyani,
& Pearson, 2015.
References 2. Introduction to Automata Theory, Formal Languages and Computation,
Books ShyamalenduKandar,Pearson, 2013.
3. Theory of Computation, V.Kulkarni, Oxford University Press, 2013.
4. Theory of Automata, Languages and Computation, Rajendra Kumar, McGraw
Hill, 2014
5. Theory of Computer Science-Automata, Languages and Computation,
K.L.P.Mishra and N.Chandrasekharan, 3rd Edition, PHI, 2007.
1. https://nptel.ac.in/courses
E-Resources 2. https://freevideolectures.com/university/iitm