×
My under eye areas maybe dark but my future will be bright and that is more important.
--Your friends at LectureNotes
Close

Theory Of Computation

by Savitha BhandarySavitha Bhandary
Type: NoteInstitute: mangalore university Views: 13Uploaded: 13 days ago

0 User(s)

Share it with your friends

Suggested Materials

Leave your Comments

Contributors

Savitha Bhandary
Savitha Bhandary
Theory of Computation Class Notes1 1 based on the books by Sudkamp and by Hopcroft, Motwani and Ullman
Contents 1 Introduction 1.1 Sets . . . . . . . . . . . . . . . 1.2 Functions and Relations . . . . 1.3 Countable and uncountable sets 1.4 Proof Techniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 3 5 5 2 Languages and Grammars 2.1 Languages . . . . . . . . . . . . . . . . . . . 2.2 Regular Expressions . . . . . . . . . . . . . 2.3 Grammars . . . . . . . . . . . . . . . . . . . 2.4 Classification of Grammars and Languages . 2.5 Normal Forms of Context-Free Grammars . 2.5.1 Chomsky Normal Form (CNF) . . . 2.5.2 Greibach Normal Form (GNF) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 9 12 13 18 19 19 19 3 Finite State Automata 3.1 Deterministic Finite Automata (DFA) . . . . . . . 3.2 Nondeterministic Finite Automata (NFA) . . . . . 3.3 NFA with Epsilon Transitions (NFA-ε or ε-NFA)) . 3.4 Finite Automata and Regular Sets . . . . . . . . . 3.4.1 Removing Nondeterminism . . . . . . . . . 3.4.2 Expression Graphs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 21 22 23 24 24 27 4 Regular Languages and Sets 4.1 Regular Grammars and Finite Automata . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Closure Properties of Regular Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.3 Pumping Lemma for Regular Languages . . . . . . . . . . . . . . . . . . . . . . . . . . 33 33 35 35 5 Pushdown Automata and Context-Free Languages 5.1 Pushdown Automata . . . . . . . . . . . . . . . . . . 5.2 Variations on the PDA Theme . . . . . . . . . . . . 5.3 Pushdown Automata and Context-Free Languages . 5.4 The Pumping Lemma for Context-Free Languages . 5.5 Closure Properties of Context-Free Languages . . . . 5.6 A Two-Stack Automaton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 37 38 39 40 42 42 6 Turing Machines 6.1 The Standard Turing Machine . . . . . 6.1.1 Notation for the Turing Machine 6.2 Turing Machines as Language Acceptors 6.3 Alternative Acceptance Criteria . . . . . 6.4 Multitrack Machines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 45 45 46 46 48 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . iii . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
iv CONTENTS 6.5 6.6 6.7 6.8 Two-Way Tape Machines . . . . . . . . . . Multitape Machines . . . . . . . . . . . . . Nondeterministic Turing Machines . . . . . Turing Machines as Language Enumerators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 49 49 50 7 The Chomsky Hierarchy 7.1 The Chomsky Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 51 8 Decidability 8.1 Decision Problems . . . . . . . . . . . . . 8.2 The Church-Turing Thesis . . . . . . . . . 8.3 The Halting Problem for Turing Machines 8.4 A Universal Machine . . . . . . . . . . . . 8.5 The Post Correspondence Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 53 54 54 55 56 9 Undecidability 9.1 Problems That Computers Cannot Solve . . . . . . . . . . . 9.1.1 Programs that Print “Hello, World” . . . . . . . . . 9.1.2 The Hypothetical “Hello, World” Tester . . . . . . . 9.1.3 Reducing One Problem to Another . . . . . . . . . . 9.2 A Language That Is Not Recursively Enumerable . . . . . . 9.2.1 Enumerating the Binary Strings . . . . . . . . . . . 9.2.2 Codes for Turing Machines . . . . . . . . . . . . . . 9.2.3 The Diagonalization Language . . . . . . . . . . . . 9.2.4 Proof that Ld is not Recursively Enumerable . . . . 9.2.5 Complements of Recursive and RE languages . . . . 9.2.6 The Universal Language . . . . . . . . . . . . . . . . 9.2.7 Undecidability of the Universal Language . . . . . . 9.3 Undecidable Problems About Turing Machines . . . . . . . 9.3.1 Reductions . . . . . . . . . . . . . . . . . . . . . . . 9.3.2 Turing Machine That Accepts the Empty Language 9.3.3 Rice’s Theorem and Properties of RE Languages . . 9.4 Post’s Correspondence Problem . . . . . . . . . . . . . . . . 9.4.1 The Modified PCP . . . . . . . . . . . . . . . . . . . 9.5 Other Undecidable Problems . . . . . . . . . . . . . . . . . 9.5.1 Undecidability of Ambiguity for CFG’s . . . . . . . 9.5.2 The Complement of a List Language . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 59 59 60 62 63 63 63 64 64 65 67 68 69 69 70 72 77 77 77 77 78 10 Intractable Problems 10.1 The Classes P and N P . . . . . . . . . . . . . . . . . . . . 10.1.1 Problems Solvable in Polynomial Time . . . . . . . . 10.1.2 An Example: Kruskal’s Algorithm . . . . . . . . . . 10.1.3 An N P Example: The Travelling Salesman Problem 10.1.4 NP-complete Problems . . . . . . . . . . . . . . . . . 10.1.5 The Satisfiability Problem . . . . . . . . . . . . . . . 10.1.6 NP-Completeness of 3SAT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81 81 81 81 84 84 84 84 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Lecture Notes