P, NP, and NP-Completeness: the Basics of Computational Complexity

P, NP, and NP-Completeness: the Basics of Computational Complexity

P NP and NPCompleteness The Basics of Computational Complexity Oded Goldreich Department of Computer Science and Applied Mathematics Weizmann Institute of Science Rehovot Israel June I to Dana 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 com mercial advantage and that new copies b ear this notice and the full citation on the rst page Abstracting with credit is p ermitted II Preface The strive for eciency is ancient and universal as time and other resources are always in shortage Thus the question of which tasks can b e p erformed eciently is central to the human exp erience A key step towards the systematic study of the aforementioned question is a rigorous denition of the notion of a task and of pro cedures for solving tasks These denitions were provided by computability theory which emerged in the s This theory fo cuses on computational tasks and considers automated pro cedures ie computing devices and algorithms that may solve such tasks In fo cusing attention on computational tasks and algorithms computability theory has set the stage for the study of the computational resources like time that are required by such algorithms When this study fo cuses on the resources that are necessary for any algorithm that solves a particular task or a task of a particular type the study b ecomes part of the theory of Computational Complexity also known as Complexity Theory Complexity Theory is a central eld of the theoretical foundations of Computer Science It is concerned with the study of the intrinsic complexity of computational tasks That is a typical Complexity theoretic study refers to the computational resources required to solve a computational task or a class of such tasks rather than referring to a sp ecic algorithm or an algorithmic schema Actually research in Complexity Theory tends to start with and focus on the computational resources themselves and addresses the eect of limiting these resources on the class of tasks that can b e solved Thus Computational Complexity is the general study of the what can b e achieved within limited time andor other limited natural computational resources The most famous question of complexity theory is the PvsNP Question and the current b o ok is fo cused on it The PvsNP Question can b e phrased as asking whether or not nding solutions is harder than checking the correctness of solu tions An alternative formulation asks whether or not discovering pro ofs is harder than verifying their correctness that is is proving harder than verifying The fun In contrast when the fo cus is on the design and analysis of sp ecic algorithms rather than on the intrinsic complexity of the task the study b ecomes part of a related subeld that may b e called Algorithmic Design and Analysis Furthermore Algorithmic Design and Analysis tends to b e subdivided according to the domain of mathematics science and engineering in which the computational tasks arise In contrast Complexity Theory typically maintains a unity of the study of tasks solvable within certain resources regardless of the origins of these tasks III IV damental nature of this question is evident in each of these formulations which are in fact equivalent It is widely b elieved that the answer to these equivalent for mulations is that nding resp proving is harder than checking resp verifying that is it is b elieved that P is dierent from NP At present when faced with a seemingly hard problem in NP we can only hop e to prove that it is not in P assuming that NP is dierent from P This is where the theory of NPcompleteness which is based on the notion of an ecient reduction comes into the picture In general one computational problem is e ciently reducible to another problem if it is p ossible to eciently solve the former when provided with an ecient algorithm for solving the latter A problem in NP is NPcomplete if any problem in NP is eciently reducible to it Amazingly enough NPcomplete problems exist and furthermore hundreds of natural compu tational problems arising in many dierent areas of mathematics and science are NPcomplete The main fo cus of the current b o ok is on the PvsNP Question and the theory of NPcompleteness Additional topics that are covered include the treatment of the general notion of an ecient reduction b etween computational problems which provides a tighter relation b etween the aforementioned search and decision problems The b o ok also provides adequate preliminaries regarding computational problems and computational mo dels Relation to a dierent b o ok of the author The current b o ok is a revision of Chapter and Section of the authors b o ok Computational Complexity A Con ceptual Perspective The revision was aimed at making the b o ok more friendly to the novice In particular several pro ofs were further detailed and numerous exercises were added Website for notices regarding this b o ok We intend to maintain a website listing corrections of various types The lo cation of the site is httpwwwwisdomweizmannacilodedbcbookhtml Overview This b o ok starts by providing the relevant background on computability theory which is the setting in which complexity theoretic questions are b eing studied Most imp ortantly this preliminary chapter ie Chapter provides a treatment of central notions such as search and decision problems algorithms that solve such problems and their complexity Sp ecial attention is given to the notion of a universal algorithm The main part of this b o ok ie Chapters is fo cused on the PvsNP Question and on the theory of NPcompleteness Additional topics covered in this part include the general notion of an ecient reduction with a sp ecial emphasis on selfreducibility the existence of problems in NP that are neither NPcomplete nor in P the class coNP optimal search algorithms and promise problems A brief overview of this main part follows Lo osely sp eaking the PvsNP Question refers to search problems for which the correctness of solutions can b e eciently checked ie there is an ecient algorithm that given a solution to a given instance determines whether or not the solution is correct Such search problems corresp ond to the class NP and the question is whether or not all these search problems can b e solved eciently ie is there an ecient algorithm that given an instance nds a correct solution Thus the Pvs NP Question can b e phrased as asking whether or not nding solutions is harder than checking the correctness of solutions An alternative formulation in terms of decision problems refers to assertions that have eciently veriable pro ofs of relatively short length Such sets of assertions corresp ond to the class NP and the question is whether or not pro ofs for such assertions can b e found eciently ie is there an ecient algorithm that given an assertion determines its validity andor nds a pro of for its validity Thus the PvsNP Question can b e phrased as asking whether or not discovering proofs is harder than verifying their correctness that is is proving harder than verifying or are pro ofs valuable at all Indeed it is widely b elieved that the answer to the two equivalent formulations is that nding resp discovering is harder than checking resp verifying that is that P is dierent than NP The fact that this natural conjecture is unsettled seems to b e one of the big sources of frustration of complexity theory The authors opinion however is that this feeling of frustration is out of place In any case at present when faced with a seemingly hard problem in NP we cannot exp ect to V VI prove that the problem is not in P unconditionally The b est we can exp ect is a conditional pro of that the said problem is not in P based on the assumption that NP is dierent from P The contrapositive is proving that if the said problem is in P then so is any problem in NP ie NP equals P This is where the theory of NPcompleteness comes into the picture The theory of NPcompleteness is based on the notion of an ecient reduction which is a relation b etween computational problems Lo osely sp eaking one com putational problem is eciently reducible to another problem if it is p ossible to eciently solve the former when provided with an ecient algorithm for solving the latter Thus the rst problem is not harder to solve than the second one A problem in NP is NPcomplete if any problem in NP is eciently reducible to it Thus the fate of the entire class NP with resp ect to inclusion in P rests with each individual NPcomplete problem In particular showing that a problem is NPcomplete implies that this problem is not in P unless NP equals P Amazingly enough NPcomplete problems exist and furthermore hundreds of natural compu tational problems arising in many dierent areas of mathematics and science are NPcomplete The foregoing paragraphs refer to material that is covered in Chapters Sp ecically Chapter is devoted to the PvsNP Question p er se Chapter is devoted to the notion of an ecient reduction and Chapter is devoted to the theory of NPcompleteness We mention that that NPcomplete problems are not the only seemingly hard problems in NP that is if P is dierent than NP then NP contains problems that are neither NPcomplete nor in P see Section Additional related topics are discussed in Chapter In particular in Sec tion it is shown that the PvsNP Question is not ab out inventing sophisticated algorithms or ruling out their existence but rather b oils down to the analysis of

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    145 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us