- published: 28 Sep 2011
- views: 25063
NP-hardness (non-deterministic polynomial-time hard), in computational complexity theory, is a class of problems that are, informally, "at least as hard as the hardest problems in NP". More precisely, a problem H is NP-hard when every problem L in NP can be reduced in polynomial time to H. As a consequence, finding a polynomial algorithm to solve any NP-hard problem would give polynomial algorithms for all the problems in NP, which is unlikely as many of them are considered hard.
A common mistake is thinking that the NP in "NP-hard" stands for "non-polynomial". Although it is widely suspected that there are no polynomial-time algorithms for NP-hard problems, this has never been proven. Moreover, the class NP also contains all problems which can be solved in polynomial time.
A decision problem H is NP-hard when for every problem L in NP, there is a polynomial-time reduction from L to H An equivalent definition is to require that every problem L in NP can be solved in polynomial time by an oracle machine with an oracle for H. Informally, we can think of an algorithm that can call such an oracle machine as a subroutine for solving H, and solves L in polynomial time, if the subroutine call takes only one step to compute.
The P versus NP problem is a major unsolved problem in computer science. Informally speaking, it asks whether every problem whose solution can be quickly verified by a computer can also be quickly solved by a computer. It was essentially first mentioned in a 1956 letter written by Kurt Gödel to John von Neumann. Gödel asked whether a certain NP-complete problem could be solved in quadratic or linear time. The precise statement of the P versus NP problem was introduced in 1971 by Stephen Cook in his seminal paper "The complexity of theorem proving procedures" and is considered by many to be the most important open problem in the field. It is one of the seven Millennium Prize Problems selected by the Clay Mathematics Institute to carry a US$1,000,000 prize for the first correct solution.
The informal term quickly, used above, means the existence of an algorithm for the task that runs in polynomial time. The general class of questions for which some algorithm can provide an answer in polynomial time is called "class P" or just "P". For some questions, there is no known way to find an answer quickly, but if one is provided with information showing what the answer is, it is possible to verify the answer quickly. The class of questions for which an answer can be verified in polynomial time is called NP, which stands for "nondeterministic polynomial time."
Prof. Stephen Boyd, of the Dept. of Electrical Engineering at Stanford, briefly explains what NP-hard means. This clip was taken from the Prof. Boyd's class "EE364a Convex Optimization 1" and can be found at: http://www.stanford.edu/class/ee364a/ The complete version of this specific lecture can be viewed at: http://www.youtube.com/watch?v=McLq1hEq3UY
Hackerdashery #2 Inspired by the Complexity Zoo wiki: https://complexityzoo.uwaterloo.ca/Complexity_Zoo For more advanced reading, I highly recommend Scott Aaronson's blog, Shtetl-Optimized: http://www.scottaaronson.com/blog/ ----- Retro-fabulous, cabinet-sized computers: System/360: http://en.wikipedia.org/wiki/IBM_System/360 photo: "360-91-panel". Licensed under Public domain via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:360-91-panel.jpg#mediaviewer/File:360-91-panel.jpg PDP-8: http://en.wikipedia.org/wiki/PDP-8 photo: "PDP-8". Licensed under Public domain via Wikimedia Commons - http://commons.wikimedia.org/wiki/File:PDP-8.jpg#mediaviewer/File:PDP-8.jpg ----- Protein folding illustration: "Protein folding schematic" by Tomixdf (talk) - Own work (Original tex...
PLEASE LIKE AND SUBSCRIBE
MIT 6.046J Design and Analysis of Algorithms, Spring 2015 View the complete course: http://ocw.mit.edu/6-046JS15 Instructor: Erik Demaine In this lecture, Professor Demaine introduces NP-completeness. License: Creative Commons BY-NC-SA More information at http://ocw.mit.edu/terms More courses at http://ocw.mit.edu
This video lecture is produced by S. Saurabh. He is B.Tech from IIT and MS from USA. NP Hard and NP Complete Problems (lec 2) To study interview questions on Linked List watch http://www.youtube.com/playlist?list=PL3D11462114F778D7&feature;=view_all To prepare for programming Interview Questions on Binary Trees http://www.youtube.com/playlist?list=PLC3855D81E15BC990&feature;=view_all To study programming Interview questions on Stack, Queues, Arrays visit http://www.youtube.com/playlist?list=PL65BCEDD6788C3F27&feature;=view_all To watch all Programming Interview Questions visit http://www.youtube.com/playlist?list=PLD629C50E1A85BF84&feature;=view_all To learn about Pointers in C visit http://www.youtube.com/playlist?list=PLC68607ACFA43C084&feature;=view_all To learn C programming from I...
This video gives brief about NP Complete and NP Hard Problems.
NP-hard-- Now suppose we found that A is reducible to B, then it means that B is at least as hard as A. NP-Complete -- The group of problems which are both in NP and NP-hard are known as NP-Complete problem.
Audible free book & trial at: http://www.audible.com/computerphile Our thanks to them. P vs NP in The Simpsons and Futurama. Featuring author Simon Singh. http://simonsingh.net Simon on Numberphile: http://bit.ly/SimonSinghPlay Clarification: NP actually stands for non-deterministic (or nondeterministic) polynomial. Simon did us a favour by speaking off-the-cuff on this topic and it is our fault for not cleaning up things in the edit. However Simon's (excellent) book covers this in more detail (pages 157-159 in hard cover) and, in it, he opts for nondeterministic without the hyphen. http://www.facebook.com/computerphile https://twitter.com/computer_phile Film by Sean Riley and Brady Haran. See the full list of Brady's video projects at: http://bit.ly/bradychannels