Review of 136, Preview of 186 Peter Cappello Department of Computer Science University of California, Santa Barbara Santa Barbara, CA 93106 cappello@cs.ucsb.edu 1
Review of 136 The course develops: • a precise description • proven assertions surrounding 2 language classes: • Regular languages • Context-free languages 2
For each language class C , we are concerned primarily with: • a meta-grammar for specifying a grammar for a language in C • a machine model that is capable of recognizing any language in C • Proving that the class of languages that can be specified grammat- ically equals the class of languages that can be recognized by the machine model. • its closure properties • tools for proving that a language is not in C • which properties of C are decidable . 3
Regular Languages Meta-grammar: Regular expressions. Machine model: Finite automata, transition graphs, nondeterministic finite automata. Grammatical specification = machine recognition: Kleene’s the- orem: Regular expressions = FA = TG. Closure properties: • Union • Concatenation • Kleene star • Complement 4
• Intersection • Quotient with a language Proving that a language is not in C : • Pumping lemma • Myhill-Nerode theorem Decidable properties: • Emptiness and Equivalence (specified as RE or as FA) • Finiteness 5
Context-Free Languages Meta-grammar: Context-free grammars. Machine model: Pushdown automata. Grammatical specification = machine recognition: CFG = PDA. Closure properties: • Union • Concatenation • Kleene star • Not Complement • Not Intersection 6
• Intersection with a Regular language Proving that a language is not in C : Pumping lemma Decidable properties: • Emptiness • Uselessness • Finiteness • Membership - The CYK algorithm 7
Preview of 186 • Turing Machines • Undecidable Problems • Intractable Problems 8
Turing Machines • What is a Turing machine? • Extending the basic model (e.g., multi-head, multidimensional tape, nondeterminism) • Restricting the model (e.g., semi-infinite tape, multi-stack machines, counter machines) 9
Undecidable Problems • A language that is not recursively enumerable (diagonalization) • Reducing an undecidable problem to another problem • Undecidable problems about Turing machines (e.g., emptiness) 10
Intractable Problems • The class P : Problems solvable in polynomial time (e.g., MST) • The class NP : Problems solvable in nondeterministic polynomial time (e.g., TSP) • NP-complete problem (e.g., SAT) • Polynomial time reductions 11
Recommend
More recommend