Formal Languages and Automata Theory / Theory of Computation

76 videos • 15,987 views • by Prof Madana Mohana R Formal Languages and Automata Theory (FLAT) /Theory of Computation (TOC) is the core course for B.Tech in CSE & IT related streams in II/III years offered by JNTUH (R-18 Regulations) and Other Universities like JNTUA, JNTUK and all other Government and Private Universities offering the same course with same syllabus almost. Course Objectives: 1.To provide introduction to some of the central ideas of theoretical computer science from the perspective of formal languages. 2.To introduce the fundamental concepts of formal languages, grammars and automata theory. 3.Classify machines by their power to recognize languages. 4.Employ finite state machines to solve problems in computing. 5.To understand deterministic and non-deterministic machines. 6.To understand the differences between decidability and undecidability Course Outcomes: After completion of the course students should able to 1.Understand the concept of abstract machines and their power to recognize the languages. 2.Employ finite state machines for modeling and solving computing problems. 3.Design context free grammars for formal languages. 4.Distinguish between decidability and undecidability. 5.Gain proficiency with mathematical tools and formal methods. Course Contents: UNIT-I: Introduction to Finite Automata: Structural Representations, Automata and Complexity, the Central Concepts of Automata Theory - Alphabets, Strings, Languages, Problems. Nondeterministic Finite Automata: Formal Definition, an application, Text Search, Finite Automata with Epsilon-Transitions. Deterministic Finite Automata: Definition of DFA, How A DFA Process Strings, The language of DFA, Conversion of NFA with ԑ-transitions to NFA without ԑ-transitions. Conversion of NFA to DFA, Moore and Melay machines. UNIT-II: Regular Expressions: Finite Automata and Regular Expressions, Applications of Regular Expressions, Algebraic Laws for Regular Expressions, Conversion of Finite Automata to Regular Expressions. Pumping Lemma for Regular Languages: Statement of the pumping lemma, Applications of the Pumping Lemma. Closure Properties of Regular Languages: Closure properties of Regular languages, Decision Properties of Regular Languages, Equivalence and Minimization of Automata. UNIT-III: Context-Free Grammars: Definition of Context-Free Grammars, Derivations Using a Grammar, Leftmost and Rightmost Derivations, the Language of a Grammar, Sentential Forms, Parse Tress, Applications of Context-Free Grammars, Ambiguity in Grammars and Languages. Push Down Automata: Definition of the Pushdown Automaton, the Languages of a PDA, Equivalence of PDA's and CFG's, Acceptance by final state, Acceptance by empty stack, Deterministic Pushdown Automata. From CFG to PDA, From PDA to CFG. UNIT - IV: Normal Forms for Context- Free Grammars: Eliminating useless symbols, Eliminating ԑ-Productions. Chomsky Normal form Griebech Normal form. Pumping Lemma for Context-Free Languages: Statement of pumping lemma, Applications. Closure Properties of Context-Free Languages: Closure properties of CFL’s, Decision Properties of CFL's . Turing Machines: Introduction to Turing Machine, Formal Description, Instantaneous description, The language of a Turing machine. UNIT - V: Types of Turing machine: Turing machines and halting. Undecidability: Undecidability, A Language that is Not Recursively Enumerable, An Undecidable Problem That is RE, Undecidable Problems about Turing Machines, Recursive languages, Properties of recursive languages, Post's Correspondence Problem, Modified Post Correspondence problem, Other Undecidable Problems, Counter machines. TEXT BOOKS: 1.Introduction to Automata Theory, Languages, and Computation, 3nd Edition, John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman, Pearson Education. 2.Theory of Computer Science – Automata languages and computation, Mishra and Chandrashekaran, 2nd edition, PHI. NPTEL RESOURCES: 1.NOC: Introduction to Automata, Languages and Computation https://nptel.ac.in/courses/106/105/1... 2.Formal Languages and Automata Theory https://nptel.ac.in/courses/111/103/1... 3.Theory of Automata, Formal Languages and Computation https://nptel.ac.in/courses/106/106/1... 4.Theory of Automata and Formal Languages https://nptel.ac.in/courses/106/103/1...