The document outlines the course BCS 402 on the Theory of Automata and Computation, covering topics such as formal languages, automata theory, Turing machines, and computability. It includes a detailed syllabus with modules on languages and automata, context-free grammars, Turing machines, undecidability, and computability, along with a lecture plan. The examination scheme and recommended texts are also provided.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0 ratings0% found this document useful (0 votes)
26 views6 pages
THEORY OF AUTOMATA AND COMPUTATION
The document outlines the course BCS 402 on the Theory of Automata and Computation, covering topics such as formal languages, automata theory, Turing machines, and computability. It includes a detailed syllabus with modules on languages and automata, context-free grammars, Turing machines, undecidability, and computability, along with a lecture plan. The examination scheme and recommended texts are also provided.
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6
THEORY OF AUTOMATA AND COMPUTATION
Course Code: BCS 402 Credit Units: 03
Course Objective: The course begins with the basic mathematical preliminaries and discusses the general theory of automata, properties of regular sets and regular expressions, and the basics of formal languages. Besides, sufficient attention is devoted to topics such as pushdown automata and its relation with context-free languages, Turing machines and linear bounded automata, and the basic concepts of computability, such as primitive recursive functions and partial recursive functions. Course Contents: Module I: Introduction to Languages and Automata Formal Grammars and Chomsky Hierarchy, Regular Expression Deterministic and Nondeterministic Finite Automata, Regular Expression, Two-way Finite Automata, Finite Automata with output, Properties of regular sets, pumping lemma for regular sets, My-Hill-Nerode Theorem.
Module II: Context-Free Grammars and Pushdown Automata
CFG: Formal Definition, Derivation and Syntax trees, Simplification Forms, Ambiguous Grammar, Properties of CFL, Normal Forms (CNF and GNF) Pushdown Automata: Definitions, Relationship between PDA and context-free language, Decision Algorithms Module III: Turing Machine The Turing Machine Model, Language acceptability of Turing Machine, Design of TM, Variation of TM, Universal TM, Church’s Machine. Recursive and recursively enumerable language, unrestricted grammar, Context Sensitive Language, Linear Bounded Automata (LBA). Module IV: Undecidability Turing machine halting Problem, undecidable problems for recursive enumerable language, Post correspondence problems (PCP) and Modified Post correspondence problems, Undecidable problems for CFL. Module V: Computability Partial and Total Functions, Primitive Recursive functions, and Recursive functions. Examination Scheme: Compon C C E A ents A T E Weightag 3 1 5 5 e (%) 0 5 0 CT: Class Test, HA: Home Assignment, CA: Continuous Assessment, EE: End Semester Examination; A Attendance Text & References: Text: ● Hopcroft and Ullman, “Introduction to Automata Theory, languages and computation”, Addision Wesley. ● “An introduction to formal languages and Automata (2nd ed)” by Peter Linz, D. C. Health and Company.
References:
● “Introduction to theory of computation (2nd Ed)” by Michael sipser.
● Mishra & Chandrashekharan, “Theory of Computer Sciences”, PHI. ● Zavi Kohavi, “Switching and finite Automata Theory “ ● Kohan, “Theory of Computer Sciences”. ● Korral, “Theory of Computer Sciences”.
Lecture Plan
Module I: Introduction to Languages and Automata (8 Lectures)
Lecture 1: Introduction to Formal Grammars and Chomsky Hierarchy
● Overview of Formal Grammar
● Introduction to Chomsky Hierarchy (Type 0, Type 1, Type 2, Type 3)
Lecture 2: Regular Expressions and Languages
● Definition of Regular Expressions
● Examples and Basic Operations (Union, Concatenation, Kleene Star)
Lecture 3: Deterministic and Nondeterministic Finite Automata (DFA and NFA)
● DFA: Formal Definition and Examples
● NFA: Formal Definition and Examples ● Equivalence of DFA and NFA
Lecture 4: Two-Way Finite Automata and Finite Automata with Output
● Two-Way Finite Automata (Definition and Applications)
● Finite Automata with Output (Moore and Mealy Machines)
Lecture 5: Properties of Regular Sets
● Closure Properties of Regular Sets
● Decision Properties of Regular Languages
Lecture 6: Pumping Lemma for Regular Sets
● Pumping Lemma (Statement and Proof) ● Applications to Prove Non-Regularity
Lecture 7: Myhill-Nerode Theorem
● Statement and Explanation
● Applications for Minimizing Automata
Lecture 8: Problem-Solving and Review
● Exercises on Regular Expressions, DFA/NFA, and Properties of Regular Sets
Module II: Context-Free Grammars and Pushdown Automata (8 Lectures)
Lecture 9: Context-Free Grammars (CFG)
● Formal Definition of CFG
● Examples of Derivation and Syntax Trees
Lecture 10: Simplification of CFG
● Removing Useless Symbols, Nullable Productions, and Unit Productions
● Simplified Forms of CFG
Lecture 11: Ambiguous Grammars
● Definition and Examples of Ambiguity
● Techniques to Remove Ambiguity (if possible)
Lecture 12: Properties of Context-Free Languages (CFL)
● Closure Properties ● Decision Properties of CFL
Lecture 13: Normal Forms of CFG
● Chomsky Normal Form (CNF): Definition and Conversion
● Greibach Normal Form (GNF): Definition and Conversion
Lecture 14: Pushdown Automata (PDA) - Definition and Design
● Formal Definition of PDA
● Examples of PDA Design
Lecture 15: PDA and Context-Free Languages
● Equivalence of PDA and CFG ● Decision Algorithms for PDA
Lecture 16: Problem-Solving and Review
● Exercises on CFG, Normal Forms, and PDA Design
Module III: Turing Machine (8 Lectures)
Lecture 17: Introduction to Turing Machines (TM)
● Turing Machine Model (Definition and Components)
● Language Acceptability of TM
Lecture 18: Design of Turing Machines
● Examples of Basic TM Designs
● Recognizing Regular and Context-Free Languages with TM
Lecture 19: Variations of Turing Machines
● Multitape TMs ● Non-deterministic TMs
Lecture 20: Universal Turing Machine
● Definition and Significance
● Overview of Universal Computation
Lecture 21: Church-Turing Thesis
● Concept of Church’s Machine
● Turing Machines and Computability
Lecture 22: Recursive and Recursively Enumerable Languages
● Definitions and Properties
● Examples and Differences
Lecture 23: Context-Sensitive Languages and Linear Bounded Automata (LBA)
● Definition and Properties of Context-Sensitive Languages
● Linear Bounded Automata and their Relation to Context-Sensitive Languages
Lecture 24: Problem-Solving and Review
● Exercises on Turing Machines and Recursive Languages
Module IV: Undecidability (6 Lectures)
Lecture 25: Turing Machine Halting Problem
● Statement and Proof of Undecidability
Lecture 26: Undecidable Problems for Recursively Enumerable Languages
● Examples and Significance
Lecture 27: Post Correspondence Problem (PCP)
● Definition and Examples
● Modified PCP
Lecture 28: Undecidable Problems for Context-Free Languages (CFL)
● Examples and Implications
Lecture 29: Applications and Impacts of Undecidability
● Overview of Undecidability in Real-World Problems
Lecture 30: Problem-Solving and Review
● Exercises on Undecidability
Module V: Computability (4 Lectures)
Lecture 31: Partial and Total Functions
● Definitions and Differences
● Examples
Lecture 32: Primitive Recursive Functions
● Definition and Examples
● Relation to Computability
Lecture 33: Recursive Functions
● Definition and Examples ● Properties of Recursive Functions