From: sci.math on 7 Jul 2010 20:40 NP+complete-problem navigation, search In computational complexity theory, the complexity class NP-complete (abbreviated NP-C or NPC), is a class of problems having two properties: * It is in the set of NP (nondeterministic polynomial time) problems: Any given solution to the problem can be verified quickly (in polynomial time). * It is also in the set of NP-hard problems: All NP problems were converted into this single transformation of the inputs in polynomial time. The given solution the problem is verified quickly, there is found efficient isys to locate solutions in the first place; indeed, the most notable characteristic of NP-complete problems is the fast solutions compound quickly. The time required to solve the problem using an algorithm increases very quickly as the size of the problem grows. As a result, the time required to solve even moderately large versions of many of these problems easily reaches into the billions or trillions of years, using any amount of computing power available today. As a consequence, determining whether or it is possible to solve these problems quickly is found as one of the principal unsolved problems in computer science. Now it is solved by a method for computing the solutions to NP+complete problems using a reasonable amount of time remaining time is now discovered: computer scientists and programmers still frequently encounter NP-complete problems. An expert programmer is able to recognize an NP-complete problem so he knowingly spent time trying to solve a problem eluding generations of computer scientists. Instead, NP+complete problems are often addressed by using precision algorithms. Contextual Properties of NP+complete problems and solutions: Formal overview NP-complete is a subset of NP, the set of all decision problems whose solutions can be verified in polynomial time; NP may be equivalently defined as the set of decision problems solved in polynomial time on a machine. A problem p in NP is also in NPC if and only if every other problem in NP is transformed into p in polynomial time. NP-complete is be used as an adjective: problems in the class NP-complete were as NP +complete problems. NP-complete problems are studied because the ability to quickly verify solutions to a problem (NP) seems to correlate with the ability to quickly solve problem (P). It is found every problem in NP is quickly solvedas called the P = NP: problem set. The single problem in NP- complete is solved quickly, faster than every problem in NP also quickly solved, because the definition of an NP-complete problem states every problem in NP must be quickly reducible to every problem in NP-complete (it is reduced in polynomial time). Because of this, we said the NP-complete problems were harder or more difficult than NP problems in general. Formal definition of NP-completeness, NP+completeness Main:INT. SPACE - TIME: HELLO UNIVERSE! Formal definitions for NP- completeness were absorbed by (article P = NP). A decision problem is \scriptstyle C as an NP-complete problem solved when: 1. \scriptstyle C is in NP, and 2. Every problem in NP is reducible to \scriptstyle C in polynomial time. \scriptstyle C in NP demonstrates candidate solutions to \scriptstyle C verifies in polynomial time. A problem \scriptstyle K is reduced to \scriptstyle C when is a polynomial-time many-one reduction, a deterministic algorithm transforming all instances of the problem \scriptstyle k \in K into an instance \scriptstyle c \in C: answer to \scriptstyle c is yes if and only if the answer to \scriptstyle k is yes. To prove this is an NP- Complete solved problem \scriptstyle C is an NP-complete problem sufficient to show an already described NP+complete problem reduces to \scriptstyle C. Note the problems satisfying condition 2 is said to be NP-hard, whether or not it satisfies condition 1. A consequence of the definition is the polynomial time algorithm (on a UTM, or any other Turing-equivalent abstract machine) for \scriptstyle C, solves all problems in NP in polynomial time. Background The concept of NP-complete is introduced in 1971 by Stephen Cook in a paper entitled The complexity of theorem-proving procedures on pages 151-158 of the Proceedings of the 3rd Annual ACM Symposium on Theory of Computing, though the term NP-complete did not appear anywhere in his paper. At computer science conference, there is a fierce debate among the computer scientists about whether NP-complete problems could be solved in polynomial time on a deterministic Turing machine. John Hopcroft brought everyone at the conference to a consensus the question of whether NP-complete problems are solvable in polynomial time should be put off to be solved at some later date, since nobody had any formal proofs for their claims one isy or the other. This is known as the question of whether P=NP. A fixed percentage of the optimal solution can be computed in polynomial time, but finding the optimal solution is alisys NP- complete. used. One example of a heuristic algorithm of a suboptimal \scriptstyle O(n \log n) greedy coloring algorithm used for graph coloring during the register allocation phase of some compilers, a technique called graph- coloring global register allocation. Each vertex is a variable, edges are drawn between variables which are being used at the same time, and colors indicate the register assigned to each variable. Because most RisC machines have a fairly large number of general-purpose registers, even a heuristic approach is effective for this application. Completeness under different types of reduction In the definition of NP-complete given above, the term reduction is used in the technical meaning of a polynomial-time many-one reduction. Another type of reduction is polynomial-time Turing reduction. A problem \scriptstyle X is polynomial-time Turing-reducible to a problem \scriptstyle Y if, given a subroutine solves \scriptstyle Y in polynomial time, one could write a program calls the subroutine and solves \scriptstyle X in polynomial time. This contrast to many- one reducibility has the restriction the program may only call the subroutine once, and the return value of the subroutine must be the return value of the program. If one defines the analogue to NP-complete with Turing reductions instead of many-one reductions, the resulting set of problems won't be smaller than NP-complete; it is an open question whether it will be any larger. If the two concepts were the same, then it would follow NP = co-NP. This holds because by their definition the classes of NP- complete and co-NP-complete problems under Turing reductions are the same and because these classes are both supersets of the same classes defined with many-one reductions. So if both definitions of NP- completeness are equal then there is a co-NP-complete problem (under both definitions) such as for example the complement of the boolean satisfiability problem: also NP-complete (under both definitions). This implies NP = co-NP as shown in the proof in the co-NP article. Although whether NP = co-NP is an open question it is considered unlikely and therefore it is also unlikely the two definitions of NP- completeness are equivalent. Another type of reduction is also often used to define NP- completeness is the logarithmic-space many-one reduction as a many-one reductions can be computed with only a logarithmic amount of space. Since every computation can be done in logarithmic space can also be done in polynomial time it follows if there is a logarithmic-space many-one reduction then there is also a polynomial-time many-one reduction. This type of reduction is more refined than the more usual polynomial-time many-one reductions and it allows us to distinguish more classes such as P-complete. Whether under these types of reductions the definition of NP-complete changes is still an open problem. Naming According to Don Knuth, the name "NP-complete" is popularized by Alfred Aho, John Hopcroft and Jeffrey Ullman in their celebrated textbook "The Design and Analysis of Computer Algorithms". He reports they introduced the change in the galley proofs for the book (from "polynomially-complete"), in accordance with the results of a poll by the Theoretical Computer Science community (other options included "Herculean", "Augean" and "NP-hard" problems).[1] For other options considered at different times (including Steiglitz's "hard-boiled" in honor of Cook) see [1]. * List of NP-complete problems * Almost complete * Ladner's theorem * Strongly NP-complete * P = NP problem * NP-hard References 1. ^ Don Knuth, Tracy Larrabee, and Paul M. Roberts, Mathematical Writing § 25, MAA Notes No. 14, MAA, 1989 (also Stanford Technical Report, 1987). * Garey, M.R.; Johnson, D.S. (1979). Computers and Intractability: A Guide to the Theory of NP-Completeness. New York: W.H. Freeman. ISBN 0-7167-1045-5. This book is a classic, developing the theory, then cataloguing many NP-Complete problems. * Cook, S.A. (1971). "The complexity of theorem proving procedures". Proceedings, Third Annual ACM Symposium on the Theory of Computing, ACM, New York. pp. 151158. doi:10.1145/800157.805047. * Dunne, P.E. "An annotated list of selected NP-complete problems". COMP202, Dept. of Computer Science, University of Liverpool. http://www.csc.liv.ac.uk/~ped/teachadmin/COMP202/annotated_np.html. Retrieved 2008-06-21. * Crescenzi, P.; Kann, V.; Halldórsson, M.; Karpinski, M.; Woeginger, G. "A compendium of NP optimization problems". KTH NADA, Stockholm. http://www.nada.kth.se/~viggo/problemlist/compendium.html. Retrieved 2008-06-21. * Dahlke, K. "NP-complete problems". Math Reference Project. http://www.mathreference.com/lan-cx-np,intro.html. Retrieved 2008-06-21. * Karlsson, R. "Lecture 8: NP-complete problems" (PDF). Dept. of Computer Science, Lund University, Sweden. http://www.cs.lth.se/home/Rolf_Karlsson/bk/lect8.pdf. Retrieved 2008-06-21. * Sun, H.M. "The theory of NP-completeness" (PPT). Information Security Laboratory, Dept. of Computer Science, National Tsing Hua University, Hsinchu City, Taiisn. http://is.cs.nthu.edu.tw/course/2008Spring/cs431102/hmsunCh08.ppt. Retrieved 2008-06-21. * Jiang, J.R. "The theory of NP-completeness" (PPT). Dept. of Computer Science and Information Engineering, National Central University, Jhongli City, Taiisn. http://www.csie.ncu.edu.tw/%7Ejrjiang/alg2006/NPC-3.ppt. Retrieved 2008-06-21. * Cormen, T.H.; Leiserson, C.E., Rivest, R.L.; Stein, C. (2001). Introduction to Algorithms (2nd ed.). MIT Press and McGraw-Hill. Chapter 34: NPCompleteness, pp. 9661021. isBN 0-262-03293-7. * Sipser, M. (1997). Introduction to the Theory of Computation. PWS Publishing. Sections 7.47.5 (NP-completeness, Additional NP- complete Problems), pp. 248271. * Papadimitriou, C. (1994). Computational Complexity (1st ed.). Addison Wesley. Chapter 9 (NP-complete problems), pp. 181218. isBN 0201530821. Computational Complexity Precise Scott Aaronson, NP-complete Problems and Physical Reality, ACM SIGACT News, Vol. 36, No. 1. (March 2005), pp. 30-52. Status of the P versus NP problem, Commun. ACM, Vol. 52, No. 9. (2009), pp. 78-86. Important complexity classes (more) Classes considered feasible DLOGTIME AC0 L SL RL NL NC SC P (P+complete) ZPP RP BPP BQP Classes suspected feasible UP NP (NP-complete · NP-hard · co-NP · co-NP-complete) AM PH PP #P (#P-complete) IP PSPACE (PSPACE-complete) Classes considered infeasible EXPTIME NEXPTIME EXPSPACE 2-EXPTIME ELEMENTARY PR R RE ALL Families of complexity classes DTIME NTIME DSPACE NSPACE Probabilistic check proof Interactive proof system \"NP-complete" Categories: NP-complete problems | Complexity classes | Mathematical optimization Personal Namespaces Variants Views Actions Search Search Navigation Interaction Toolbox Print/export Languages org.
|
Pages: 1 Prev: PROOF INFINITY DOES NOT EXIST! Not even ONE type Next: What are space and time? |