Introduction to Complexity Theory
Total Page:16
File Type:pdf, Size:1020Kb
Intro duction to Complexity Theory Notes for a OneSemester Course Oded Goldreich Department of Computer Science and Applied Mathematics Weizmann Institute of Science Israel Email odedwisdomweizmannaci l Spring revised Octob er c Copyright by Oded Goldreich Permission to make copies of part or all of this work for p ersonal or classro om use is granted without fee provided that copies are not made or distributed for prot or commercial advantage and that new copies b ear this notice and the full citation on the rst page Abstracting with credit is p ermitted I Preface Complexity Theory is a central eld of Theoretical Computer Science with a remarkable list of celebrated achievements as well as a very vibrant present research activity Theeldis concerned with the study of the intrinsic complexity of computational tasks and this study tend to aim at generality It fo cuses on natural computational resources and the eect of limiting those on the classofproblems that can b e solved Putinotherwords Complexity Theory aims at understanding the nature of ecient computation at exp osing the Topics In my opinion a intro ductory course in complexity theory should aim students to the basic results and research directions in the eld The fo cus should b e on concepts and ideas and complex technical pro ofs should b e avoided Sp ecic topics may include Revisiting NP and NPC with emphasis on search vs decision Complexity classes dened by one resourceb ound hierarchies gaps etc Nondeterministic Space complexity with emphasis on NL Randomized Computations eg ZPP RP and BPP Nonuniform complexity eg Pp oly and lower b ounds on restricted circuit classes The Polynomialtime Hierarchy The counting class P approximateP and uniqueSAT Probabilistic pro of systems ie IP PCP and ZK Pseudorandomness generators and derandomization Time versus Space in Turing Machines Circuitdepth versus TMspace eg AC NC SC Communication complexity Averagecase complexity Of course it would be hard if not imp ossible to cover all the ab ove topics even briey in a singlesemester course of tw o hours a week Thus a choice of topics has to be made and the rest may b e merely mentioned in a relevant lecture or in the concluding lecture The choice may dep end on other courses given in the institute in fact myown choice was strongly eected by this asp ect II Prerequisites It is assumed that students havetaken a course in computability and hence are familiar with Turing Machines Mo del of Computation Most of the presented material is quite indep endent of the sp ecic reasonable mo del of computation but some material do es dep end heavily on the lo cality of computation of Turing machines The partition of material to lectures The partition of the material to lectures reects only the logical organization of the material and do es not reect the amount of time to be sp ent on each topic Indeed some lectures are much longer than other State of these notes These notes provide an outline of an intro ductory course on complexity theory including discussions and sketches of the various notions denitions and pro ofs The latter are presented in v arying level of detail where the level of detail do es not reect anything except the amountoftimespent in writing Furthermore the notes are neither complete nor fully pro ofread Related text The current singlesemester intro ductory course on complexity theory is a prop er subset of a twosemester course that I gave in at the Weizmann Institute of Science Lectures notes for that course are availalb e from the webpage httpwwwwisdomweizmannacilodedcchtml III Contents Preface II I Things that should have been taught in previous courses P versus NP The searchversion The decision version Conclusions Reductions and Selfreducibility The general notion of a reduction Selfreducibility of search problems NPcompleteness Denitions The existence of NPcomplete problems CSAT and SAT NP sets that are neither in P nor NPcomplete NP coNP and NPcompleteness Optimal search algorithms for NPrelations Historical Notes for the rst series II The most traditional material Complexity classes dened by a sharp threshold Denitions Hierarchies and Gaps Space Complexity Deterministic space complexity Nondeterministic space complexity Two mo dels of nondeterminism Some basic facts ab out NSPACE Comp osition Lemmas NSPACE is closed under complementation IV The PolynomialTime Hierarchy Dening PH via quantiers Dening PH via oracles Equivalence of the two denitions of PH Collapses Comment a PSPACEcomplete problem Randomized Complexity Classes Twosided error BPP Onesided error RP and coRP No error ZPP Randomized space complexity NonUniform Complexity Circuits and advice The p ower of nonuniformity Uniformity Evidence that Pp oly do es not contain NP Reductions to sparse sets Counting Classes The denition of P Pcomplete problems A randomized reduction of ApproximateP to NP A randomized reduction of SAT to UniqueSAT Promise problems Space is more valuable than time Circuit Depth and Space Complexity Historical Notes for the second series III The less traditional material Probabilistic Pro of Systems Intro duction Interactive Pro of Systems The Denition An Example interactive pro of of Graph NonIsomorphism Interactive pro of of NonSatisability The Power of Interactive Pro ofs Advanced Topics ZeroKnowledge Pro ofs Perfect ZeroKnowledge General or Computational ZeroKnowledge Concluding Remarks Probabilistically Checkable Pro of PCP Systems V The Denition The p ower of probabilistically checkable pro ofs PCP and Approximation The actual notes that were used Interactive Pro ofs IP Probabilistically Checkable Pro ofs PCP Pseudorandomness Intro duction The General Paradigm The Archetypical Case The actual denition How to Construct Pseudorandom Generators Pseudorandom Functions The Applicability of Pseudorandom Generators The Intellectual Contents of Pseudorandom Generators Derandomization of BPP On weaker notions of computational indistinguishability The actual notes that were used AverageCase Complexity Intro duction Denitions and Notations DistributionalNP Average PolynomialTime Reducibilitybetween Distributional Problems A Generic DistNP Complete Problem DistNPcompleteness of BH Conclusions App endix Failure of a naive formulation Circuit Lower Bounds Constantdepth circuits Monotone circuits Communication Complexity Deterministic Communication Complexity Randomized Communication Complexity Historical Notes for the second series Bibliography VI.