INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION INTERNATIONAL EDITION

Similar documents
A R "! I,,, !~ii ii! A ow ' r.-ii ' i ' JA' V5, 9. MiN, ;

TABLE OF CONTENTS TABLE OF CONTENTS COVER PAGE HALAMAN PENGESAHAN PERNYATAAN NASKAH SOAL TUGAS AKHIR ACKNOWLEDGEMENT FOREWORD

Language properties and Grammar of Parallel and Series Parallel Languages

COMPUTATIONAL COMPLEXITY OF LEFT-ASSOCIATIVE GRAMMAR

THE UNIVERSITY OF SYDNEY Semester 2, Information Sheet for MATH2068/2988 Number Theory and Cryptography

Section I: The Nature of Inquiry

Enumeration of Context-Free Languages and Related Structures

IT Students Workshop within Strategic Partnership of Leibniz University and Peter the Great St. Petersburg Polytechnic University

Self Study Report Computer Science

Knowledge-Based - Systems

A Version Space Approach to Learning Context-free Grammars

Evolution of Collective Commitment during Teamwork

WSU Five-Year Program Review Self-Study Cover Page

SPRING GROVE AREA SCHOOL DISTRICT

Computer Science (CS)

The Strong Minimalist Thesis and Bounded Optimality

Lecture 1: Machine Learning Basics

A General Class of Noncontext Free Grammars Generating Context Free Languages

PH.D. IN COMPUTER SCIENCE PROGRAM (POST M.S.)

CS 101 Computer Science I Fall Instructor Muller. Syllabus

Lecture Notes on Mathematical Olympiad Courses

IMPROVING STUDENTS SPEAKING SKILL THROUGH

University of Groningen. Systemen, planning, netwerken Bosman, Aart

Proof Theory for Syntacticians

Guide to Teaching Computer Science

THE INFLUENCE OF COOPERATIVE WRITING TECHNIQUE TO TEACH WRITING SKILL VIEWED FROM STUDENTS CREATIVITY

Radius STEM Readiness TM

Python Machine Learning

systems have been developed that are well-suited to phenomena in but is properly contained in the indexed languages. We give a

On the Polynomial Degree of Minterm-Cyclic Functions

An Introduction to the Minimalist Program

RANKING AND UNRANKING LEFT SZILARD LANGUAGES. Erkki Mäkinen DEPARTMENT OF COMPUTER SCIENCE UNIVERSITY OF TAMPERE REPORT A ER E P S I M S

Rotary Club of Portsmouth

CS 1103 Computer Science I Honors. Fall Instructor Muller. Syllabus

Introduction to HPSG. Introduction. Historical Overview. The HPSG architecture. Signature. Linguistic Objects. Descriptions.

Mathematics. Mathematics

Improving Fairness in Memory Scheduling

Informatics 2A: Language Complexity and the. Inf2A: Chomsky Hierarchy

Classroom Connections Examining the Intersection of the Standards for Mathematical Content and the Standards for Mathematical Practice

JEFFERSON COLLEGE COURSE SYLLABUS BUS 261 BUSINESS COMMUNICATIONS. 3 Credit Hours. Prepared by: Cindy Rossi January 25, 2014

Erkki Mäkinen State change languages as homomorphic images of Szilard languages

Economics 201 Principles of Microeconomics Fall 2010 MWF 10:00 10:50am 160 Bryan Building

Diagnostic Test. Middle School Mathematics

Grammars & Parsing, Part 1:

Lecture 10: Reinforcement Learning

COMPUTER SCIENCE GRADUATE STUDIES Course Descriptions by Methodology

Discriminative Learning of Beam-Search Heuristics for Planning

A THESIS. By: IRENE BRAINNITA OKTARIN S

GACE Computer Science Assessment Test at a Glance

AP Calculus AB. Nevada Academic Standards that are assessable at the local level only.

ACCOUNTING FOR LAWYERS SYLLABUS

Inleiding Taalkunde. Docent: Paola Monachesi. Blok 4, 2001/ Syntax 2. 2 Phrases and constituent structure 2. 3 A minigrammar of Italian 3

Chapter 2 Rule Learning in a Nutshell

CHALLENGES FACING DEVELOPMENT OF STRATEGIC PLANS IN PUBLIC SECONDARY SCHOOLS IN MWINGI CENTRAL DISTRICT, KENYA

ENGBG1 ENGBL1 Campus Linguistics. Meeting 2. Chapter 7 (Morphology) and chapter 9 (Syntax) Pia Sundqvist

We are strong in research and particularly noted in software engineering, information security and privacy, and humane gaming.

Welcome to. ECML/PKDD 2004 Community meeting

IAT 888: Metacreation Machines endowed with creative behavior. Philippe Pasquier Office 565 (floor 14)

Math 181, Calculus I

Knowledge management styles and performance: a knowledge space model from both theoretical and empirical perspectives

IMPROVING STUDENTS READING COMPREHENSION BY IMPLEMENTING RECIPROCAL TEACHING (A

arxiv: v1 [math.at] 10 Jan 2016

Basic Parsing with Context-Free Grammars. Some slides adapted from Julia Hirschberg and Dan Jurafsky 1

COMPUTER SCIENCE GRADUATE STUDIES Course Descriptions by Research Area

Introduction and Motivation

Action Models and their Induction

IMPROVING STUDENTS WRITING SKILL USING PAIR CHECK METHOD AT THE SECOND GRADE STUDENTS OF SMP MUHAMMADIYAH 3 JETIS IN THE ACADEMIC YEAR OF 2015/2016.

Given a directed graph G =(N A), where N is a set of m nodes and A. destination node, implying a direction for ow to follow. Arcs have limitations

content First Introductory book to cover CAPM First to differentiate expected and required returns First to discuss the intrinsic value of stocks

How do adults reason about their opponent? Typologies of players in a turn-taking game

Corrective Feedback and Persistent Learning for Information Extraction

Spring 2016 Stony Brook University Instructor: Dr. Paul Fodor

Accounting 380K.6 Accounting and Control in Nonprofit Organizations (#02705) Spring 2013 Professors Michael H. Granof and Gretchen Charrier

CLASSIFICATION OF TEXT DOCUMENTS USING INTEGER REPRESENTATION AND REGRESSION: AN INTEGRATED APPROACH

School of Basic Biomedical Sciences College of Medicine. M.D./Ph.D PROGRAM ACADEMIC POLICIES AND PROCEDURES

Some Principles of Automated Natural Language Information Extraction

Multimedia Application Effective Support of Education

Syntax Parsing 1. Grammars and parsing 2. Top-down and bottom-up parsing 3. Chart parsers 4. Bottom-up chart parsing 5. The Earley Algorithm

ABSTRACTS FOR INVITED PAPERS

Parallel Evaluation in Stratal OT * Adam Baker University of Arizona

Technical Manual Supplement

THE PROMOTION OF SOCIAL AWARENESS

Designing a Computer to Play Nim: A Mini-Capstone Project in Digital Design I

Artificial Neural Networks written examination

Conducting the Reference Interview:

CS 598 Natural Language Processing

Learning and Transferring Relational Instance-Based Policies

MODULE 4 Data Collection and Hypothesis Development. Trainer Outline

Probability and Game Theory Course Syllabus

Mathematics subject curriculum

BEST OFFICIAL WORLD SCHOOLS DEBATE RULES

Parsing of part-of-speech tagged Assamese Texts

TabletClass Math Geometry Course Guidebook

Natural Language Processing. George Konidaris

GRAMMAR IN CONTEXT 2 PDF

Statewide Framework Document for:

Introduction to Simulation

BENG Simulation Modeling of Biological Systems. BENG 5613 Syllabus: Page 1 of 9. SPECIAL NOTE No. 1:

The Interface between Phrasal and Functional Constraints

Visual CP Representation of Knowledge

Transcription:

INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION INTERNATIONAL EDITION MICHAEL SIPSER Massachusetts Institute of Technology THOMSON COURSE TECHNOLOGY Australia Canada Mexico Singapore Spain United Kingdom United States

CONTENTS Preface to the First Edition To the student To the educator The first edition Feedback to the author Acknowledgments Preface to the Second Edition (International) x x xi xii xii xiii xv Introduction 1 0.1 Automata, Computability, and Complexity 1 Complexity theory 2 Computability theory 2 Automata theory 3 0.2 Mathematical Notions and Terminology 3 Sets 3 Sequences and tuples 6 Functions and relations 7 Graphs 10 Strings and languages 13 Boolean logic 14 Summary of mathematical terms 16 0.3 Definitions, Theorems, and Proofs 17 Finding proofs 17

VI CONTENTS 0.4 Types of Proof 21 Proof by construction 21 Proof by contradiction 21 Proof by induction 22 Exercises, Problems, and Solutions 25 Part One: Automata and Languages 29 1 Regular Languages 31 1.1 Finite Automata 31 Formal definition of a finite automaton 35 Examples of finite automata 37 Formal definition of computation 40 Designing finite automata 41 The regular operations 44 1.2 Nondeterminism 47 Formal definition of a nondeterministic finite automaton.... 53 Equivalence of NFAs and DFAs 54 Closure under the regular operations 58 1.3 Regular Expressions 63 Formal definition of a regular expression 64 Equivalence with finite automata 66 1.4 Nonregular Languages 77 The pumping lemma for regular languages 77 Exercises, Problems, and Solutions 82 2 Context-Free Languages 101 2.1 Context-free Grammars 102 Formal definition of a context-free grammar 104 Examples of context-free grammars 105 Designing context-free grammars 106 Ambiguity 107 Chomsky normal form 108 2.2 Pushdown Automata Ill Formal definition of a pushdown automaton 113 Examples of pushdown automata 114 Equivalence with context-free grammars 117 2.3 Non-context-free Languages 125 The pumping lemma for context-free languages 125 Exercises, Problems, and Solutions 130

CONTENTS VII Part Two: Computability Theory 137 3 The Church-Turing Thesis 139 3.1 Turing Machines 139 Formal definition of a Turing machine 141 Examples of Turing machines 144 3.2 Variants of Turing Machines 150 Multitape Turing machines 150 Nondeterministic Turing machines 152 Enumerators 154 Equivalence with other models 155 3.3 The Definition of Algorithm 156 Hilbert's problems 156 Terminology for describing Turing machines 158 Exercises, Problems, and Solutions 161 4 Decidability 167 4.1 Decidable Languages 168 Decidable problems concerning regular languages 168 Decidable problems concerning context-free languages 172 4.2 The Halting Problem 175 The diagonalization method 176 The halting problem is undecidable 181 A Turing-unrecognizable language 183 Exercises, Problems, and Solutions 184 5 Reducibility 191 5.1 Undecidable Problems from Language Theory 192 Reductions via computation histories 196 5.2 A Simple Undecidable Problem 203 5.3 Mapping Reducibility 210 Computable functions 210 Formal definition of mapping reducibility 211 Exercises, Problems, and Solutions 215 6 Advanced Topics in Computability Theory 221 6.1 The Recursion Theorem 221 Self-reference * 222 Terminology for the recursion theorem 225 Applications. 226

VIII CONTENTS 6.2 Decidability of logical theories 228 A decidable theory 231 An undecidable theory 233 6.3 Turing Reducibility 236 6.4 A Definition of Information 237 Minimal length descriptions 238 Optimality of the definition 242 Incompressible strings and randomness 243 Exercises, Problems, and Solutions 246 Part Three: Complexity Theory 249 7 Time Complexity 251 7.1 Measuring Complexity 251 Big-O and small-o notation 252 Analyzing algorithms 255 Complexity relationships among models 258 7.2 The Class P 260 Polynomial time 260 Examples of problems in P 262 7.3 The Class NP 268 Examples of problems in NP 271 The P versus NP question 273 7.4 NP-completeness 275 Polynomial time reducibility 276 Definition of NP-completeness 280 The Cook-Levin Theorem 280 7.5 Additional NP-complete Problems 287 The vertex cover problem 288 The Hamiltonian path problem 290 The subset sum problem 295 Exercises, Problems, and Solutions 298 8 Space Complexity 307 8.1 Savitch's Theorem 309 8.2 The Class PSPACE 312 8.3 PSPACE-completeness 313 The TQBF problem 314 Winning strategies for games { 317 Generalized geography 319

CONTENTS IX 8.4 The Classes L and NL 324 8.5 NL-completeness 327 Searching in graphs 329 8.6 NL equals conl 330 Exercises, Problems, and Solutions 332 9 Intractability 339 9.1 Hierarchy Theorems 340 Exponential space completeness 347 9.2 Relativization 352 Limits of the diagonalization method 353 9.3 Circuit Complexity 355 Exercises, Problems, and Solutions 364 10 Advanced topics in complexity theory 371 10.1 Approximation Algorithms 371 10.2 Probabilistic Algorithms 374 The class BPP 374 Primality 377 Read-once branching programs 382 10.3 Alternation 386 Alternating time and space 387 The Polynomial time hierarchy 392 10.4 Interactive Proof Systems 393 Graph nonisomorphism 393 Definition of the model 394 IP = PSPACE 396 10.5 Parallel Computation 405 Uniform Boolean circuits 406 The class NC 408 P-completeness 410 10.6 Cryptography 411 Secret keys 411 Public-key cryptosystems 413 One-way functions 413 Trapdoor functions 415 Exercises, Problems, and Solutions... v 417 Selected Bibliography 421 Index 427