
On Teaching the Basics of Complexity Theory In Memory of Shimon Even Oded Goldreich Department of Computer Science and Applied Mathematics Weizmann Institute of Science Israel Email odedgoldreichweizmann aci l August Abstract We outline a conceptual framework for teaching the basic notions and results of complexity theory Our fo cus is on using denitions and on organizing the presentation in a way that reects the fundamental nature of the material We do not attempt to provide a selfcontained presentation of the material itself but rather outline our suggestions regarding how this material should b e presented in class In addition we express our opinions on numerous related issues We fo cus on the PvsNP Question the general notion of a reduction and the theory of NPcompleteness In particular we suggest presenting the PvsNP Question b oth in terms of search problems and in terms of decision problems where NP is viewed as a class of pro of systems As for the theory of NPcompleteness we suggest highlighting the mere existence of NPcomplete sets This essay was written towards publication in a forthcoming b o ok in memory of Shimon Even Contents Introduction Teaching and current student p erception of Complexity Theory The source of trouble and eliminating it Concrete suggestions A parenthetical comment on computability versus complexity Organization P versus NP The search version nding versus checking The decision version proving versus verifying Equivalence of the two formulations Reductions and Selfreducibility The general notion of a reduction Selfreducibility of search problems NPcompleteness Denitions The existence of NPcomplete problems CSAT SAT and other NPcomplete problems NP sets that are neither in P nor NPcomplete Three additional topics The class coNP and NPcompleteness Optimal search algorithms for NPrelations Promise Problems A brief overview of Complexity Theory Historical Notes Introduction This is a highly opinionated essay that advocates a conceptoriented approach towards teaching technical material such as the basics of complexity theory In addition to making various sug gestions I express my opinion on a variety of related issues I do hop e that this essay will stir discussion and maybe even aect the way some courses are b eing taught Teaching and current student p erception of Complexity Theory Shimon Even had a passion for go o d teaching and so writing this essay in his memory seems most appropriate In my opinion go o d teaching is an art and needless to say Shimon was one of its top masters It is hard if at all p ossible to cultivate artistic talents but there are certain basic principles that underly each art form and these can b e discussed One central asp ect of go o d teaching is putting things in the right p ersp ective that is a p er sp ective that claries the motivation for the various denitions and results Nothing should b e easier when it comes to complexity theory It is easy to provide a go o d p ersp ective on the basic notions and results of complexity theory b ecause these are of fundamental nature and of great in tuitive app eal Unfortunately often this is not the way this material is taught The annoying and quite amazing consequences are students that have only a vague understanding of the conceptual meaning of these fundamental notions and results The source of trouble and eliminating it In my opinion it all b oils down to taking the time to explicitly discuss the conceptual meaning of denitions and results After all the most imp ortant asp ects of a scientic discovery are the intuitive question that it addresses the reason that it addresses this question the way it phrases the question the approach that underlies its answer and the ideas that are embedded in the answer All these have to b e reected in the way the discovery is presented In particular one should use the right denitions ie those that reect b etter the fundamental nature of the notion b eing dened and pro ceed in the conceptually right order Two concrete examples follow Typically NP is dened as the class of languages recognized by nondeterministic p olynomial time machines Even bright students may have a hard time guring out by themselves why one should care ab out such a class On the other hand when dening NP as the class of assertions that have easily veriable pro ofs each student is likely to understand its fundamental nature Furthermore the message b ecomes even more clear when discussing the search version analogue Similarly one typically takes the students throughout the detailed pro of of Co oks Theorem b efore communicating to them the striking message ie that universal problems exist at all let alone that many natural problems like SAT are universal Furthermore in some cases this message is not communicated explicitly at all Concrete suggestions The rest of this essay provides concrete suggestions for teaching the basics of complexity theory where by the basics I mean the PvsNP Question and the theory of NPcompleteness This material is typically taught as part of an undergraduate course on computability and complexity theory and However exceptions do exists There are teachers and even textb o oks that deviate from the standard practice b eing bashed here my suggestions are targeted primarily at computer scientists teaching such a course However I b elieve that my suggestions are valid regardless of the context in which this material is b eing taught I assume that the basic material itself is wellknown to the reader Thus my focus is not on the material itself but rather on how it should be presented in class The two most imp ortant suggestions were already mentioned ab ove The teacher should communicate the fundamental nature of the PvsNP Question while referring to denitions that clearly reect this nature In particular I suggest explicitly presenting the implication of the PvsNP Question on the complexity of search problems in addition to presenting the implication to decision problems The teacher should communicate the striking signicance of the mere existence of NP complete problems let alone natural ones b efore exhausting the students with complicated reductions Additional suggestions include providing a general p ersp ective on the concept of a reduction es tablishing tight relations b etween the complexity of search and decision problems decoupling the pro of of NPhardness of SAT by using CircuitSAT as an intermediate problem and mentioning some additional topics eg NPsets that are neither in P nor NPcomplete rather than a host of NPcompleteness results I advocate a mo delindep endent presentation of the questions and results of complexity theory I claim that most questions and results in complexity theory like all results of computability the ory hold for any reasonable mo del of computation and can b e presented with minimal reference to the sp ecics of the mo del In fact in most cases the sp ecic mo del of computation is irrele vant Typically the presentation needs to refer to the sp ecics of the mo del of computation only when enco ding the relation b etween consecutive instantaneous congurations of computation see Section However such an enco ding is p ossible for any reasonable mo del of computation and this fact should b e stressed It is also imp ortant to start a course or series of lectures by providing a wide p ersp ective on its sub ject matter which in this case is complexity theory I would say that complexity theory is a central eld of Theoretical Computer Science concerned with the study of the intrinsic complexity of computational tasks where this study tend to aim at generality The eld fo cuses on natural computational resources most notably time and the eect of limiting these resources on the class of problems that can b e solved Put in other words complexity theory aims at understanding the nature of ecient computation I suggest reiterating the wider goals of complexity theory at the end of the course or series of lectures and illustrating them at that p oint by sketching a few of the active research directions and the results obtained in them My own suggestion for such a brief overview is presented in Section Finally until we reach the day in which every student can b e assumed to have understo o d the meaning of the PvsNP Question and of NPcompleteness I suggest not to assume such an understanding when teaching an advanced complexity theory course Instead I suggest starting such a course with a fast discussion of the PvsNP Question and NPcompleteness making sure The sp ecics of the reasonable mo del are irrelevant for all questions and results mentioned in this essay except for Theorem where the mo del is imp ortant only for the exact b ound on the slowdown of the optimal algorithm Similarly the sp ecics of the mo del eect the exact quantitative form of hierarchy theorems but not their mere existence Finally in contrary to some b eliefs the sp ecics of the mo del are irrelevant also for most results regarding space complexity provided that reasonable accounting of workspace
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages24 Page
-
File Size-