Talk:NP-completeness

message: This article is shocking the style is poor and contributes to this almost being incomprehensible to any english speaking person.  — Preceding unsigned comment added by 130.220.239.128 (talk) 01:49, 10 December 2013 (UTC)
replies: text: As far as I can tell, most sentences are clear and concise, and appropriate vocabulary (for the subject) is used at all times. Nearly all sentences are written in the active voice, so I do not see any that are unnecessarily lengthy, either. MrFreddy7 (talk) 21:50, 8 May 2019 (UTC)

text: I agree with this point of view and will rephrase the introduction accordingly. Pintoch (talk) 20:49, 20 July 2014 (UTC)
thread_title:  This article must be fixed!!! (NP-complete is not a complexity class) 

message: "no one knows a significantly faster way to solve the problem than to try every single possible subset, which is very slow."
I cut this. There is actually a faster way to solve it that can be found on the linked page. It's not efficient, but it is much better than trying all combinations.  —Preceding unsigned comment added by 86.144.186.205 (talk) 17:26, August 26, 2007 (UTC) 
:The question is whether this is really significantly faster. Cutting this also makes it sound like we know for sure there is no efficient algorithm. --Mellum 21:44, 26 August 2007 (UTC)
replies: text: I suppose this is simply a difference in the interpretation of the term "significantly". Let it suffice to say that no polynomial-time algorithm is known. Dcoetzee 00:02, 28 August 2007 (UTC)
thread_title:  Subset sum problem 

message: Under "formal definition ...", last paragraph about "NP-hard", it says "For example, choosing the perfect move in certain board games on an arbitrarily large board is (informally) "strictly harder than" any NP problem."
Shouldn't that be "at least as hard as any NP problem" rather than "strictly harder than"?  For example, Garey and Johnson, page 109 (first page of chapter 5), says "at least as hard as the NP-complete problems."  --Bubba73 00:23, 25 May 2005 (UTC)
replies: text: With most games, you're right that "at least as hard" is the most we can say at this point. Some forms of Go are EXP-complete, so that it can't be solved in P, but might still be solvable in NP (although probably not). I suppose there might exist games which are strictly outside NP, but I'm not familiar with any. Deco 23:54, 24 May 2005 (UTC)

text: That paragraph probably needs to be clarified a little more.  NP-hard means "at least as hard as", but some problems are "strictly harder".  --Bubba73 00:23, 25 May 2005 (UTC)
thread_title:  NP-hard 

message: I found this problem and wondered if it was NP-complete: You have a bunch of tasks that take different amounts of time and some tasks can't be started until other tasks are finished. You have unlimited resourses, can do different tasks in parallel, and are trying to find the shortest time to complete all the tasks.
:I'm going to assume good faith that you're not trying to get us to do your homework for you. What you describe is essentially a scheduling problem, also called job or task sequencing, and was one of Karp's 21 NP-complete problems. He showed it NP-complete by reduction from the knapsack problem. The graph you describe is called a task dependency graph. Technically, the precise problem you describe is actually NP-hard (it's not NP-complete because it's not even a decision problem). Deco 05:24, 19 Jun 2005 (UTC)
thread_title:  Is this problem NP-complete? 

message: Why don't we have any np-completness proofs on wikipedia? In a lot of the invidual problem pages I notice that it might mention the kind of reduction involved, but it never goes into detail... Is there a reason for this? -Averisk 08:48, 12 December 2005 (UTC)
replies: text: Actually we do. Usually we describe proofs in articles associated with particular theorems, such as Cook's theorem. Most NP reductions are simple enough though that there's no reason we couldn't include them in the articles for the problems (or at least a proof sketch). One issue, however, is that books usually present reductions in a specific order to avoid relying on circular reasoning, for example reducing two problems to each other — this is more difficult in our flat, interlinked article organization. Deco 09:02, 12 December 2005 (UTC)
replies: text: Wow, fast response. Yes I see what you mean.  Maybe we could make seperate pages for the proofs and follow a specific order like you said? -Averisk 09:14, 12 December 2005 (UTC)
thread_title:  Proofs 

message: This article is rather careless: it repeatedly claims that the travelling salesman problem is NP-complete. This isn't the case: the TSP is a function problem and only decision problems can be NP-complete. (TSP is complete for FPNP.) Of course, there is a decision version of the TSP that is NP-complete (given a weighted graph and a bound k, is there a tour with total weight < k?). But that's not what people usually mean when they say "TSP": they want to know the actual tour! 
There are similar problems with some of the other problems mentioned (e.g. in Hamilton path we generally want the path, in Boolean satisfiability we want the satisfying assignment and so on. I've made one change to help with this, but it needs more work. Many authors adopt a convention of using all-caps for decision problems (thus "Hamilton path" vs. HAMILTON PATH). Gdr 21:59, 6 January 2006 (UTC)
replies: text: I agree that we should be precise, but it is fairly common especially in informal forums to talk about the function problem when one really means the decision problem. One could argue that "traveling salesman problem" is an ambiguous term that can refer to either version. If we are to be precise about this though, let's adopt a convention that avoids irritating verbosity, such as the all-caps thing you describe. Deco 22:09, 6 January 2006 (UTC)

text: yes, but from what I understand, you partially calculate all the other routes enough to prove that they are longer (I think by substituting subsets of segments) and do it in polynomial time. Might be a big calculation but growth of the calculation with respect to N has a known bound that is less than the growth incomplexity of finding the solution you are testing. 207.237.159.111 (talk) 15:58, 11 April 2012 (UTC)
thread_title:  Travelling salesman problem is not NP-complete 

message: I have removed the following statement:
:Nobody has yet been able to prove whether NP-complete problems are in fact solvable in polynomial time, making this one of the great unsolved problems of mathematics. The Clay Mathematics Institute in Cambridge, MA is offering a $1 million reward to anyone who has a formal proof that P=NP or that P≠NP.
Clearly this is vandalism by some jokester who thinks it would be funny for someone to jump out of their tub in the nude yelling Eureka! when they find a trivial solution to P≠NP. 59.112.43.12 10:15, 4 October 2006 (UTC)
thread_title:  Arbitrary reward 

message: I feel that the section "With respect to other reductions", should be moved to the following page: http://en.wikipedia.org/wiki/Polynomial-time_many-one_reduction . I shall do that, if there are no objections.As the glorious weep (talk) 08:14, 19 November 2007 (UTC)
replies: text: I believe that would be inappropriate. This is the correct place to discuss this, because it involves the class NP-complete and its definition, rather than reductions in general. Why would you want to move it? Dcoetzee 07:56, 19 November 2007 (UTC)
replies: text: This section does not seem to fit into this particular article. Perhaps it is not well integrated. As the glorious weep (talk) 08:22, 19 November 2007 (UTC)
thread_title:  With respect to other reductions headline 

message: 1. briefly discuss that the encoding of the problem can have an impact on the evaluation of complexity. In such cases, the most concise encoding should be used. This could answer ANONYMOUS COWARD0xC0DE, question, as I believe this is what he's talking about. page 974 of Introduction to Algorithms,second edition, Cormen, Leiserson, rivest
2. Need to clarify why "To prove that an NP problem A is in fact an NP-complete problem it is sufficient to show that an already known NP-complete problem reduces to A."
3. We should clarify why having a polynomial time solution to 1 NP-complete problems causes the whole thing to collapse
Nobody can: http://www.archive.org/details/CorrectionToTheTheoremOfCookwiki-version  —Preceding unsigned comment added by 79.109.168.68 (talk) 12:41, 7 March 2011 (UTC)
thread_title:  Things that must be added to this page 

message: Per WP:MOS, "article titles generally comprise nouns or noun phrases."  NP-complete is an adjective.  NP-completeness is the noun form. Oren0 (talk) 18:11, 28 November 2007 (UTC)
replies: text: Nope. "NP-complete" is the name of a complexity class, and so is a noun phrase. Dcoetzee 19:21, 28 November 2007 (UTC)
replies: text: I would also rename it into NP-completeness. "NP-complete" is generally not used as the name of a complexity class but clearly as an adjective. ylloh (talk) 13:01, 29 November 2007 (UTC)
replies: text: It's frequently used as the name of a class, on Complexity Zoo and in many papers. This is also the established naming scheme on Wikipedia (see P-complete, Sharp P complete, EXPTIME-complete). It's true that it's used more often in the adjective form, but that doesn't make the noun form an illegitimate name. Dcoetzee 23:05, 29 November 2007 (UTC)
replies: text: Even if it can be used as a noun phrase, that's not how the article uses it.  The lead needs to be rewritten if we're meaning NP-complete to refer to a class.  Read P-complete's lead: "In complexity theory, the complexity class P-complete is..." Note that P-complete is used as a noun.  Compare that to the lead of this page: "In complexity theory, the NP-complete problems are..." Here, NP-complete is used as an adjective.  If indeed the article is supposed to be about the class, the lead should look like P-complete's IMO. Oren0 20:12, 3 December 2007 (UTC)
replies: text: Agreed. Fixed. Dcoetzee 21:12, 3 December 2007 (UTC)
thread_title:  Rename page to NP-Completeness? 

message: I added a general introduction for laymen.  I understand that NP-complete cannot be accurately described in layman's terms, however, some type of intro needs to be done here that is without jargon.  The accurate introduction, for CS people, is still there and immediately follows the layman's introduction, so nothing has been lost.  --Clangin (talk) 18:39, 6 July 2008 (UTC)
thread_title:  Intro for laymen 

message: I think it is highly unusual that the authors of this page have insisted on calling
NP-complete a COMPLEXITY CLASS. Grammatically, "NP-complete" is an ADJECTIVE.
NP-completeness is a property of a computational problem. Of course, there is a corresponding
class as well, but NP-complete is not that class. I think this annoying feature has been
fixed earlier but somebody seems to want to have it the other way.
Before a discussion on this is started, I would suggest trying to find any evidence
for the idea that NP-complete is a class. A quick Google search does not seem to
be produce any evidence for this idea.
 —Preceding unsigned comment added by 203.143.165.107 (talk) 01:02, 14 August 2008 (UTC)
replies: text: NP-complete is both an adjective and a class. There are many published sources that use the term this way; try this Google search. It's also sometimes called NPC. Dcoetzee 22:58, 14 August 2008 (UTC)
thread_title: NP-complete is a CLASS???

message: There's an apparent self-contradiction in the introductory paragraph -- or at the very least it's confusingly worded. The statement "Any given solution to the problem can be verified quickly" seems at odds with the statement "The most notable characteristic of NP-complete problems is that no fast solution to them is known." 194.60.38.198 (talk) 14:40, 19 November 2008 (UTC)
replies: text: These aren't at all self-contradictory. A given solution can be efficiently verified, but there's no known efficient way to find a solution in the first place. I've revised to clarify Dcoetzee 17:55, 19 November 2008 (UTC)
replies: text:  That does look a bit clearer, though actually on a second reading I did figure out that was what it was saying. Thanks. 194.60.38.198 (talk) 09:31, 20 November 2008 (UTC)
thread_title:  Self-contradiction? 

message: I have to admit to being pretty new to computational complexity. However, based on my recent reading I'm not sure that the opening lines properly define an NP-complete problem:
In computational complexity theory, the complexity class NP-complete (abbreviated NP-C or NPC, NP standing for Nondeterministic Polynomial time) is a class of problems having two properties:
Any given solution to the problem can be verified quickly (in polynomial time); the set of problems with this property is called NP. 
If the problem can be solved quickly (in polynomial time), then so can every problem in NP.''
So where does the 'N' come into it? It's surely that obtaining what turns out to be the correct solution can only be done with a non-deterministic automaton, and as such may require exponential time to complete - right? Fizzackerly (talk) 20:18, 16 April 2009 (UTC)
replies: text: Actually, the "can be verified in polynomial time by a deterministic Turing machine" definition is equivalent to the "can be decided in polynomial time by a nondeterministic Turing machine" definition. We eschew mention of nondeterministic Turing machines in this introductory article because they're less intuitive and require more background. Also, you're confusing your terminology - non-deterministic automata decide the set of regular languages, which can be decided in linear time (all regular languages are in P). Additionally, it is not known whether NP-complete problems require exponential time to decide (this is essentially what the P=NP problem is all about, although it's conceivable that someone might find a subexponential but superpolynomial solution for an NP-complete problem even if P ≠ NP). Dcoetzee 08:57, 17 April 2009 (UTC)

text: It would be more accurate to say "a 'yes' result can be verified in polynomial time...".  I think the fact that we don't know whether or not a 'no' result can be verified in polynomial time is probably the key to an eventual proof.  While my Ph.D. is in Human Factors, not Theoretical Computer Science, I do have some training and have been fiddling with the problem off and on for years. If someone could prove that a 'no' result to something like, say, CLIQUE could not be verified in polynomial time, you'd have your proof right there. Unfortunately, it's hard to find references to such work for those of us not in the know (anyone have a pointer or two to offer?)  FWIW, I also think that the proof would lead to a nice way of classifying various subproblems/inputs for various NP-complete problems (showing how Combinatorics moves us up from polynomial to exponential, etc.—great for first or second semester courses on the subject). Matt Plumlee 20:08, 26 September 2012 (UTC)
thread_title:  Opening lines 

message: Has anything been written on the social implications of NP=P? I mean if NP complete turns out to be easily solvable what will fall apart? Secure encryption? Smart cards? Personal privacy? Or none of these? --BozMo talk 20:23, 16 April 2009 (UTC)
replies: text: Impossible to predict. Encryption hinges on the availability of some practical trapdoor one-way function - even if all problems in NP are solved efficiently, one is likely to be discovered at a higher level of complexity, taking advantage of the new efficient primitives for its trapdoor. Dcoetzee 09:01, 17 April 2009 (UTC)
replies: text: For encryption, wouldn't you need to be able to verify the key in polytime? In short, wouldn't any encryption not based on NP require tremendous time to decrypt, even with the key? 66.202.66.78 (talk) 07:49, 4 June 2010 (UTC)

text: Russell Impagliazzo has written a widely-cited paper on some of the implications of various outcomes to unknown problems such as P=NP and the existence of one-way functions.  It is well worth reading.  A Personal View of Average-Case Complexity. —Mark Dominus (talk) 18:49, 4 June 2010 (UTC)

text: But we do not know whether NP-complete problems are solvable in polynomial time, that's what the whole P vs. NP business is about. The fact that no polynomial-time solution to NP-complete problems is known at present is mentioned several times in the article.—Emil J. 16:25, 9 November 2010 (UTC)
thread_title:  Social implications 

message: Please don't edit this page unless you have a PhD and a minimum 10 years CS research experience. The article is not in a good state. The previous first sentence claiming that NP-complete is a complexity class is just pure nonsense. Of course, you can define a complexity class (a class of decision problems) that coincides with the class of NP-complete problems, but this is not how "NP-complete" is defined anywhere. If you believe otherwise, please show an AUTHORITATIVE SOURCE (Google or Wikipedia don't count here.)  —Preceding unsigned comment added by 203.143.165.111 (talk) 04:55, 4 November 2009 (UTC)
replies: text: NPC can be thought of as a class. I don't see any problem with this. Any set of problems can be defined to be a complexity class, and it so happens that NPC is a class. If you want a reference, here you go: The complexity zoo article on NPC. --Robin (talk) 13:27, 4 November 2009 (UTC)

text: Certainly the "correction" by this NP contains an incorrect definition so I don't think we should take the "not a class" claim too seriously. The French are semantically distinct in this kind of way but most people use the language pretty loosely. --BozMo talk 20:03, 4 November 2009 (UTC)

text: If we held to those criteria around the wiki, there wouldn't be a wiki.  Twin Bird (talk) 23:11, 23 July 2011 (UTC)
thread_title: Undergraduates: hands off!

message: "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 that can be solved in polynomial time on a nondeterministic Turing machine. A problem p in NP is also in NPC if and only if every other problem in NP can be transformed into p in polynomial time. NP-complete can also be used as an adjective: problems in the class NP-complete are known as NP-complete problems."
I'm pretty sure that is incorrect. NP problems can not be solved in polynomial time. That is the whole point right? Either the nondeterministic Turing machine has a special property, someone tried to vandalize it, or someone missed a "not" or "verified" somewhere.  —Preceding unsigned comment added by 148.85.245.244 (talk) 13:53, 21 December 2009 (UTC)
replies: text: NP = Solvable in polynomial time on a non-deterministic TM. P = Solvable in polyomial time on a deterministic TM. --Robin (talk) 14:38, 21 December 2009 (UTC)

text: Probably worth (for people for whom non-deterministic TM is gook) saying NP=checkable in polynomial time? Or is that technically wrong? --BozMo talk 07:34, 22 December 2009 (UTC)
replies: text: That's fine too. The article does say that NP is "the set of all decision problems whose solutions can be verified in polynomial time." --Robin (talk) 14:07, 22 December 2009 (UTC)
thread_title: Formal definition bug?

message: Have anyone seen this?
I have not seen any discussion about it, but maybe it can be true.  —Preceding unsigned comment added by Crazy FIZRUK (talk • contribs) 10:04, 22 April 2010 (UTC)
replies: text: The paper is short, not written in very good English and does not look likely to be right. --BozMo talk 20:31, 22 April 2010 (UTC)
thread_title:  NP = P ? 

message: The second property of an NP-complete problem is given as:
"Any NP problem can be converted into this one by a transformation of the inputs in polynomial time."
Maybe I am just missing some complex math term, but I dont understand what is meant by "this one"  —Preceding unsigned comment added by 129.170.26.240 (talk) 13:11, 3 June 2010 (UTC)
replies: text: "this one" means "this problem (for which we are defining what it means to be NP-complete)". JRSpriggs (talk) 21:41, 3 June 2010 (UTC)
thread_title:  Definition 

message: A practical, fast and efficient heuristic for timetabling problems, may be possible to apply it to other NP-complete problems
I am author of a free software, named FET - free software - open source - for school, high-school and university timetabling. The page is: http://lalescu.ro/liviu/fet/
The program is applied with success in many institutions.
Since FET is a fast heuristic method for solving the timetabling problem, which is an NP-complete problem, the method might be applied to other NP-complete problems.
Note: by solving, I mean heuristically solving practical cases, like FET does. I do not claim to solve NP-complete problems polynomially.
I tried the FET algorithm on other NP-complete problems, but unfortunately it does not give me satisfactory results. Maybe I am missing something.
Maybe you are interested into spreading the word about this method.
-----
The description of the algorithm:
The algorithm is heuristic.
Input: a set of activities A_1...A_n and the constraints.
Output: a set of times TA_1...TA_n (the time slot of each activity. Rooms are excluded here, for simplicity). The algorithm must put each activity at a time slot, respecting constraints. Each TA_i is between 0 (T_1) and max_time_slots-1 (T_m).
Constraints:
C1) Basic: a list of pairs of activities which cannot be simultaneous (for instance, A_1 and A_2, because they have the same teacher or the same students);
C2) Lots of other constraints (excluded here, for simplicity).
The timetabling algorithm (which I named "recursive swapping"):
    1) Sort activities, most difficult first. Not critical step, but speeds up the algorithm maybe 10 times or more.
    2) Try to place each activity (A_i) in an allowed time slot, following the above order, one at a time. Search for an available slot (T_j) for A_i, in which this activity can be placed respecting the constraints. If more slots are available, choose a random one. If none is available, do recursive swapping:
        2 a) For each time slot T_j, consider what happens if you put A_i into T_j. There will be a list of other activities which don't agree with this move (for instance, activity A_k is on the same slot T_j and has the same teacher or same students as A_i). Keep a list of conflicting activities for each time slot T_j.
        2 b) Choose a slot (T_j) with lowest number of conflicting activities. Say the list of activities in this slot contains 3 activities: A_p, A_q, A_r.
        2 c) Place A_i at T_j and make A_p, A_q, A_r unallocated.
        2 d) Recursively try to place A_p, A_q, A_r (if the level of recursion is not too large, say 14, and if the total number of recursive calls counted since step 2) on A_i began is not too large, say 2*n), as in step 2).
        2 e) If successfully placed A_p, A_q, A_r, return with success, otherwise try other time slots (go to step 2 b) and choose the next best time slot).
        2 f) If all (or a reasonable number of) time slots were tried unsuccessfully, return without success.
        2 g) If we are at level 0, and we had no success in placing A_i, place it like in steps 2 b) and 2 c), but without recursion. We have now 3 - 1 = 2 more activities to place. Go to step 2) (some methods to avoid cycling are used here).
-----
Links:
FET: http://lalescu.ro/liviu/fet/
Lalesculiviu (talk) 12:34, 7 February 2011 (UTC)
thread_title:  A heuristic for timetabling problems, might be used on other NP-complete problems 

message: If we want to understand why can I ensure that Cook’s Theorem is false, firstly we will have to
read his own transcription: The Cook’s Theorem, in the refereed book, begins defining the
class NP-Complete (page 37) like the set of the NP problems which can be transformed in the
rest of NP with a code which does not exceed in resources of time more than polynomially
(respecting size of entry). In this way, if a NP-Complete could be solved in “poly-time”, then
every NP could get an implementation (configuration in a Turing Maching) which costs are
“poly-time” too; for getting the knowledge NP=P.
Saying that, the definition sounded very much interesting; but, of course, the objective of Cook
was to demonstrate that almost a problem configurable in NP exists with that property. The
demonstration of existence of that initial problem NP-complete is the proper Cook’s Theorem
itself (page 39).
The reasoning done by Mr Cook in this Theorem was to assert the problem of logic satisfiability
could be coded in a reasonable scheme with a languaje LSAT. That languaje distingishes the
entries which gets a boolean acceptation into the formula it represents. That is, through a Non
Deterministic Turing Machine we could solve in a “poly-time” whether the formula described
in the languaje satisfies or not.
After presented LSAT, now we will have to ensure that every languaje L in NP could be solved if
LSAT was solved before in a concrete bounded time. To get that objetive, we will use a function
fL(x) whose property is to recognize every x in L if and only if fL contains an assigment that
satisfies the boolean formula. We will understand, therefore, that x is an accepted entry by
every NP and it is connected to SAT using f. Solving that connection we will solve in that
bounded time every NP.
The work of this function will be to map each poosibility in his own Turing Machine and,
considering the “poly-time”, our objetive will be to demonstrate only the existence of a
formula well formed with the same force of the presented problem. And, in fact, the process
of demonstration continued in this way: Considering the machine if not deterministic, the
bound will be fixed by a poly got by the size of the entry (page 40), so as Mr. Cook continued
as: “This will enable us to describe such a computation completely using only a limited number
of Boolean variables and a truth asigment to them”. At this very point everyone could say “yes,
in Theory”, Can we ensure every problem NP imagined by us (independientelly of its hardness)
will be able to translate to a boolean formula representing the same problem?
When Cook continued with that assertion he mentioned a “poly – quantity” of logic variables
completely undefined; from a point of view of mathematician formalism, those variables could
be consideared well defined, however we have to get more rigorousity: Does exist a
correspondence between the original problem and the formula well formed for constructing?
As saying as, is it constructible? More especifically, constructing the formula with every
variable then we only will recognize the existence of those variables as formulations in order 0
(without any kind of unification) executing the problem L into the solving machine. That is, if
we want to construct the formula well formed before we will have to know the solution of the
problem.
This is, basically, the error in the Theorem of Cook: to get constructed the first NP-complete
we have to solve before each possible NP problems. Obviously that is unavaliable, because
solving the boolean satisfiability we will have no posibilities of finding a code enabled to
convert the problem to every other NP.
In other hand, besides the theorem of Cook ensured the existence of that code, I do not know
any evidence of itself. That enlighted code will approach every small advances on the boolean
validity for solving every NP problem in general; we can imagine what would be happen if that
code would exist, speaking about a lot of benefits. So, if we do not understand exactly why the
Theorem is false, we will can smell that there is no other way.
Moreover, could not think we in a resolution of a problem of the Principia Mathematica as a
bounded problem in time? The Cook’s Theorem does not specify exactly the border. It only
referees bound is polynomial (without any kind of expression delimitating the use). Well, let’s
change the word polynomial to exponential, or only bounded (it halts). If we have a
specification desbribed from axioms of the Principia Mathematica, that specification could be
demonstrable in a bounded time by any Turing Machine, to get an omega coherency (almost if
we use a reasonable algorithm of unification). Then, if we combine the reasons of the Theorem
of Cook with an application on Principia Mathematica, we will always find a formula for
satisfying boolean logic of order 0 to satisfy a formulation of the Principia. So, that is a
contradiction with the two most known results of Gödel: theorems of completeness and
completeless.
That is the reason why the Theorem of Cook cannot be applied in a theoretical point of view.  —Preceding unsigned comment added by 79.109.168.68 (talk) 12:03, 7 March 2011 (UTC)
thread_title:  In disagree with the Theorem of Cook and its definition 

message: The misconceptions section lists exponential running time as a misconception about NP-hard problems, claiming that "some NP-complete problems actually have algorithms running in superpolynomial, but subexponential time.  For example, the Independent set and Dominating set problems are NP-complete when restricted to planar graphs, but can be solved in subexponential time..."  It's not at all clear to me that this is true.  Given that all NP problems are reducible to any given NP-complete problem in polynomial time, wouldn't this imply that *all* NP-complete problems are solvable in sub-exponential time?  That would require updates to the "Exponential time hypothesis" page, as well as the "time complexity" page, which claims that "All the best-known algorithms for NP-complete problems like 3SAT etc. take exponential time."  Furthermore, the cited source specifically contrasts the fact that these restricted problems are solvable in sub-exponential time against the fact that, if we assume the exponential time hypothesis is correct, the general problem cannot be solvable in sub-exponential time because it is NP-complete.  This seems strongly to suggest that the restricted problems are no longer NP-complete.  I'm reluctant to make the change myself because of the "if you don't have a graduate degree keep your hands off" comment, but could someone with some authority on the topic review this section of the article? --Emertonom (talk) 05:58, 30 May 2011 (UTC)
replies: text: The article is correct. Even though there is a polynomial-time reduction from problem A to problem B, this does not imply that if we found a sub-exponential time algorithm for problem B, the reduction would yield a sub-exponential time algorithm for problem A. This is because the polynomial time reduction could blow up the size of the instances by a polynomial amount. For example it could map an instance of size n of problem A to an instance of size n3 for problem B.  --Robin (talk) 21:00, 30 May 2011 (UTC)
thread_title:  Exponential time as a misconception? 

message: I'm removing the Euler diagram for reasons I've spelled out on .  Twin Bird (talk) 23:10, 23 July 2011 (UTC)
thread_title:  Euler diagram wrong. 

message: Can someone expound who Dorn, Frederic is and why is his thesis promoted in the wiki article? I think someone should expound on this statement: "The PhD thesis of Dorn[8] focuses on subexponential time algorithms for NP-hard problems." I think people don't care what the focus is about but rather what his thesis' statement is and how he proved it or argued for it in relation to "Solving NP-complete problems requires exponential time.".  — Preceding unsigned comment added by 210.4.96.73 (talk) 00:58, 31 October 2011 (UTC)
replies: text: I dont think a thesis is a reliable reference to use, and so it should be removed regardless.Millertime246 (talk) 01:03, 31 October 2011 (UTC)
replies: text: Just to prevent my friend Frederic from loosing reputation here, he is perfectly trustworthy and his thesis is great. He came up with subexponential-time algorithms for NP-hard problems on planar graphs, and these results were published in peer-reviewed journals. Thus the reference to his work does make some sense in this part of the article. However, whoever added this inappropriate sentence did not understand or wanted to troll. ylloh (talk) 16:11, 2 November 2011 (UTC)
thread_title:  Who is this guy and what is his thesis doing here? 

message: Will quantum computers allow solving NP-complete problems in polynomial time on them? I belive not, but I cannot find any references.  — Preceding unsigned comment added by 149.156.82.207 (talk) 15:45, 24 January 2012 (UTC)
replies: text: Quantum computing says "There is a common misconception that quantum computers can solve NP-complete problems in polynomial time. That is not known to be true, and is generally suspected to be false." and gives the reference .  Questions like this one should generally be asked at Wikipedia:Reference desk, not in article talk space.  —Mark Dominus (talk) 19:03, 24 January 2012 (UTC)
thread_title:  Quantum computers. 

message: A problem is said to be "trivial" if and only if it is the empty set or the set of all input strings. Thus there are exactly two such problems, both in P. These problems are provably not NP-complete, because they lack the requisite accepted or rejected problem instance, which a mapping reduction must be able to provide. Note that poly-time reductions are mapping reductions (Karp reductions), not Turing reductions (Cook reductions).
If P = NP, then every problem in NP would also be NP-complete except for the trivial problems. Therefore we know NP != NP-complete. The right-hand side of this diagram should be updated accordingly.
I don't have my copy of Du and Ko's "Theory of Computational Complexity" handy, but I believe there is an exercise in there illustrating this point.
Workaphobia (talk) 05:38, 29 January 2012 (UTC)
replies: text: Concur.  Until the diagram is corrected, it should be removed. aprock (talk) 23:17, 19 March 2012 (UTC)
thread_title:  Trivial problems cannot be NP-complete 

message: Yes, this is a misconceptions, but the following statement from the article is false:
For example, ciphers with a fixed key length, such as Advanced Encryption Standard, can all be broken in constant time (and are thus already in P), though that constant may exceed the age of the universe.
There is no constant time solution to AES (and they are not already in P), but this doesn't explain and address the actual reason cryptographic cyphers wouldn't necessarily be broken.  If the solution found to an NP-complete problem is O(N^32) then that solution is still polynomial and therefore P=NP. However, the solution would be just as complex as brute force, O(2^N), for a 256 bit key (~2^256 = ~256^32).  In that same instance a 2048 bit key would be significantly less secure (~2^2048 vs ~2048^32) -- equivalent to "only" 352 bits.  This can be extended to a constant time solution (possibly already disproven, not sure) with a constant value of 1x10^78 operations. In this constant value solution case, however, increasing key length would not be helpful at all!  Reduction to an 8 bit key would of course still be problematic from the perspective of a brute force attack, but an increase to a 2048 bit key would be no better than a 256 bit key against the constant time attack. 74.254.239.180 (talk) 15:47, 24 March 2014 (UTC)
replies: text: The brute force solution is a constant time solution for a fixed key length; in the case of AES-256, a solution takes at most 2^256 tries.  Your other point, if I understand you correctly, is that a polynomial time algorithm can be just as secure if the the degree of the polynomial is large enough.  I agree that this should be in the article, but it would be best if we had a source we could quote.  Also, as I understand it, if an O(N^32) solution were found to one NP-complete problem, while it would of course prove P=NP, it would not imply that all NP problems can be solved in no more than O(N^32). The best you could say is that any other NP problem can be solved in no more than O(N^(32+K)), where K is non-negative and depends on the specific problem. That is how I understand what polynomial equivalence of NP-hard problems means.--agr (talk) 18:23, 27 March 2014 (UTC)
thread_title:  Misconception of "If P=NP all cryptographic cyphers can be broken" 

message: //  Y1+
  //  =/=N0
M1
N0 never produces an output. The algorithm always produces a “M1” result when the answer is “Yes” from the oracle queried, and never produces a result when the answer is “N0” even to the other possible phrasings of the same query. It is striking how easy it is to miss the ingenuity of our programmers here. Most of the solution was already present as much as the pioneers and experts in the field surmised and asserted possible. Particularly, the comment on Fermat’s Last Theorem is relevantly applicable, such deep theories are in many instances required to solve largely thought unsolvable problems, especially in cases when most of the solution and the proof in the word was already known to the experts in the field.
The algorithm answers “Yes” with “M1” when the output produced from a correctly asked question produces never a “No” (written as N0) result, but only a “Yes” result. Incorrectly stated questions are they that cannot be resolved because they result in a “N” or “No” output never producing m by the computer given an incorrectly asked question. Given a correctly asked question, the computer will always return a “M” output eventually. But given the complexity of the question and the known variables the time required to solve an NP-Complete problem depends entirely on the specific incidence and construction of this algorithm. To illustrate the functions here is a clear example:
Question correctly asked: “Does the remote control not need new batteries?”
ALGORITHM says check the button function, if it changes the channel on the TV or the volume of the TV the computer monitoring the remote control produces a “M” result. The conclusion is output: Yes means no.
Incorrectly asked question seeking an NP-Complete problem: “Does the remote control have new batteries?” 
If the check of the remote control does reveal a failure of the button to change the channel or volume of the TV the answer is the conclusion is never output because this would be a “No” or “N” response.50.20.186.81 (talk) 12:52, 2 June 2014 (UTC)
thread_title:  The solution without a reference 

message: Hello fellow Wikipedians,
I have just added archive links to  on NP-completeness. Please take a moment to review my edit. If necessary, add  after the link to keep me from modifying it. Alternatively, you can add  to keep me off the page altogether. I made the following changes:
*Added archive http://web.archive.org/web/20090419082030/http://www.cs.lth.se:80/home/Rolf_Karlsson/bk/lect8.pdf to http://www.cs.lth.se/home/Rolf_Karlsson/bk/lect8.pdf
When you have finished reviewing my changes, please set the checked parameter below to true or failed to let others know (documentation at ).
Cheers.—cyberbot IITalk to my owner:Online 20:16, 9 March 2016 (UTC)
thread_title:  External links modified 

message: "To the right is a diagram...  in this diagram, an arrow from one problem to another indicates the direction of the reduction."     There are no arrows on the diagram. 
Is this an attempt at Monty Pythonesque humour? A hidden IQ test for computer science undergraduates? Honestly, the article is opaque enough without this kind of nonsense.  
Ross Fraser (talk) 06:25, 23 March 2016 (UTC)
replies: text: No doubt it made more sense with the original image there, :File:Relative NPC chart.PNG, which looks much the same but with arrows rather than lines connecting the ovals. It was uploaded in 2003, replaced by another image with the same name and not quite as rough an appearance in 2004, replaced by the present image in 2011 (even though that image was uploaded in 2008 and appears to have no purpose other than to be such a replacement) and deleted in early 2012 as lacking in any copyright information.  Anyway, please be WP:BOLD and edit that part of the text so that it makes sense again. —David Eppstein (talk) 07:12, 23 March 2016 (UTC)
thread_title:  Diagram problems 

message: In section "NP-complete problems"  there is the following text explaining the figure:
"To the right is a diagram of some of the problems and the reductions typically used to prove their NP-completeness. In this diagram, problems are reduced from bottom to top."
Should the part "from bottom to top" replaced by "from top to bottom"? That is:
"In this diagram, problems are reduced from top to bottom."
A clarification could also be addeed "For instance, when proving NP-hardness of Travelling Salesman, one usually reduces it to Hamiltonian Cycle". Art haali (talk) 09:39, 16 November 2021 (UTC)
thread_title:  Text explaning the figure of reductions