|
|||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||
Solved by a Genetic Algorithm??Just saw this blog: solved in April of 2007 by a http://www-illigal.ge.uiuc.edu/system/index.php?option=com_jd-wp&Itemid=78&p=815 From the Illinois Genetic Algorithms Laboratory
Old discussionI'm reluctant to contribute to the Wikipedia and hack someone else's text, but I'd like to point out that prime factorization and NP-completeness don't have anything to do with each other (or at least, nobody to my knowledge has shown that they do). The article gives the misleading impression that if someone were to prove P=NP, cryto-algorithms that rely on the hardness of factorizing prime numbers would be in jeapordy. It would be better, IMO, to stick to propositional SAT to illustrate the difference between P and NP. (as per the article on NP-completeness, which, it seems to me could well be subsumed in the discussion of the two complexity classes. BTW, I rather disagree that a proof that P = NP would have no practical consequences, but that's another discussion. - Andre Vellino (vellino@sympatico.ca)
At the risk of reviving old discussion, I'd like to set the record straight here: If someone proved P=NP then those crypto algorithms WOULD be in jeopardy. Factorization is in NP, even if it's not proven to be NP-Complete, if P=NP then everything in NP, NP-Complete or not, is poly-time solvable. A poly-time algorithm to factor would destroy the assumption that factoring is effectively a one-way problem that is made by public key cryptosystems. 74.12.143.44 (talk) 08:14, 26 November 2007 (UTC) This question was asked on http://www.slashdot.org a little while ago, and it seems relevant here: What, if any, would be the effects of a proof that P=NP, or that P≠NP, or indeed that the question is undecidable? The latter two wouldn't have any practical consequences, but it would be a big deal in the world of theoretical computer science (and the last also one in logic and mathematics). If somebody proves P=NP, then the practical consequences depend on the way they prove it. If they explicitly exhibit a polynomial algorithm for an NP complete problem, then we would know polynomial algorithms for all NP problems, and if the degrees of the involved polynomials are reasonable, that would be huge news in many fields, but is considered extremely unlikely. It's much more likely that either the polynomial has a ridiculously high degree, or that the proof wouldn't be constructive and just generally concludes P=NP without exhibiting any algorithm altogether. In those two cases, there wouldn't be any immediate practical consequences either. --AxelBoldt I agree with your conclusion. However, it isn't really possible for there to be a nonconstructive proof of P=NP with no known algorithm. That's because the construction has already been done. I could easily give you an algorithm for, say, Travelling Salesman, whose correctness is obvious, but whose asymptotic running time is unknown. It's easy to prove that if P=NP, then my algorithm is polytime. If anyone ever publishes a "nonconstructive" proof of P=NP, the construction will already exist. This is all academic, of course. The huge multiplicative constant means none of this would have any practical value. --LC That's very interesting. How does the construction work? --AxelBoldt Assume the goal is a program that, given a TSP instance, returns the certificate (if "yes") or fails to halt (if "no"). Assume you already have a program to check certificates. Let X=1. Consider the list of all possible programs, sorted first by size, then lexicographically. Run the first X programs for X steps each, with the TSP instance as an input. If any of them halts and returns a certificate, check it. If it's right, halt and return it. If not, continue. If none of them succeed, then increment X, and repeat. Clearly, this algorithm is correct, and its theta running time will be the optimal running time, plus the time to check a certificate. The constant hidden by the theta is exponential in the length of the first program that solves the problem. Totally impractical. I don't remember offhand which books cover this, though I could look it up if needed. It's been a while since I've visited Wikipedia; it's nice to see that it's still going strong. --LC The description is clear, I don't think we need a reference, but I think it's nice enough to put it in the main article. --AxelBoldt I've added it, in a form that's hopefully accessible to a wider audience. --LC Can you also concoct an algorithm which always gives the correct answer in polynomial time? --AxelBoldt Yes, if you can tell me the running time of the first algorithm (or give a polynomial upper bound for it). Otherwise, I doubt it's possible now. It's too bad that we can construct this algorithm for NP-complete problems, but not for co-NP-complete problems. --LC But then my original statement stands: if we find a non-constructive proof of P=NP, then we still wouldn't have a polynomial algorithm for NP problems, since a polynomial algorithm has to stop after p(n) steps. --AxelBoldt I should have said "accept" rather than "solve". Sorry for the confusion. If we could construct a particular algorithm, and prove that it is a polytime algorithm accepting a particular language in NP-complete, then we would have proved P=NP. That would be a constructive proof of P=NP. If we could prove P=NP without knowing any polytime algorithm accepting an NP-complete language, then that would be a nonconstructive proof. The latter is impossible. As soon as someone proves P=NP, we'll immediately know a polytime algorithm that accepts an NP-complete language. It's the algorithm I gave. Note that by the standard definition, an algorithm is a polytime algorithm accepting a language if it returns "YES" in polytime on strings in the language, and never halts on strings outside the language. I'll change the page to say it "accepts the language SUBSET-SUM", rather than "solves the problem SUBSET-SUM". Actually, I think I'll add a second algorithm too. This algorithm (under stronger conditions) yields a stronger result. If there are any algorithms that can be proved to solve (not accept) an NP-complete problem, then this is one of them. I think that's an interesting result too, so I'll write it up later tonight or tomorrow. --LC From the article:
an integer between 1 and y. I think the previous example of simply deciding whether a given number is prime was simpler and more intuitive. The main point here is to get the point across that "solving is harder than checking". Was there a reason for changing it? (Also, not both x and y have to have n digits.) AxelBoldt The problem of finding the best move in Chess or Go (on an n by n board) is EXPTIME-Complete Is this right? Go has a strictly higher complexity class than Chess. Isn't Go PSPACE-complete and chess is EXPTIME-complete? - anonymous
I've also removed this:
P and NP and NP-complete only contain decision problems, and you can't approximate a decision problem. Approximations are only possible for problems in classes such as NP-equivalent. --LC 18:11 Sep 13, 2002 (UTC) What is non-P? This web site says non-P is different from NP. -Jeff Non-P consists of all those decision problems that cannot be solved in polynomial time. That is indeed very different from NP. AxelBoldt 00:42 Jan 24, 2003 (UTC) I'm a bit confused regarding NP-complete...is it purely a matter of probability? If P intersected with NPC yields the empty set (for certain) but it is uncertain whether P=NP, either NPC=empty set or P does not equal NP. Am i misunderstanding this?
I think the source of the confusion is the following pair of sentences: Theoretical computer scientists currently believe that the relationship among the classes P, NP, and NPC is as shown in the picture. The intersection of P and NPC equals the empty set. The second sentence comes off as an assertion, when I think the intention was that most comp. scientists believe that. I suggest rewording, something like: Theoretical computer scientists currently believe that the relationship among the classes P, NP, and NPC is as shown in the picture, and that P and NPC are disjoint. Quantum computers and NP-hard problemsThis statement has recently been added regarding quantum computers: ...none of the problems they are known to be able to solve are NP-hard. Is this true?
So wouldn't that mean that quantum computers are known to be able to solve an NP-hard problem? RSpeer 22:52, May 6, 2005 (UTC)
Small EXPTIME-complete accuracy fixBefore the article stated that EXPTIME-complete problems require exponential time. This is as incorrect as saying that NP-complete problems require nondeterminism to be solved in polynomial time; while this is believed to be true, it need not be (for example, it may be the case that all problems in EXPTIME can actually be solved in O(nlog n) time). The reason we know that EXPTIME-complete has no intersection with P is because P is not equal to EXP, which requires a proof by diagonalization and is not at all obvious. Deco 00:32, 8 Jun 2005 (UTC) Page of incorrect proofsI followed the link to the P-versus-NP page, and though its content is fascinating, I'm worried by the author's wording. Deco is right that this link needs at least a warning that the proofs are incorrect, because the author never bothers to say it. In fact, he says things like "In February 2005, Raju Renjit Grover proved that P is not equal to NP", and on the same page says that other people proved P=NP. Since, last I checked, true is not false and I am not the Queen of England, this must be an unconventional use of the word "prove". What was the author's motivation for writing like that? Is he being tongue-in-cheek? Is he trying to trip up readers who aren't observant enough to notice that the "proofs" are contradictory? Is he hoping that every reader comes to the conclusion on their own that all the proofs are bunk? I know the page can't be entirely serious, and I recognize that reading those papers can be a great test of your own skill at finding holes in arguments. But it still alarms me that Wikipedia is linking to false information. A freshman in CS might click quickly through a few links from Wikipedia, not noticing the entirety of the content on that external page, and then go around saying "But I read on Wikipedia that P=NP". That reflects badly on Wikipedia. Or someone might use this link as Wikipedia-endorsed evidence that mathematical logic is flawed. I don't think stating next to the link that the proofs are incorrect is enough. Is the author of the page contactable? What I'd like to see is a version of the page that keeps all the links to papers, but says more explicitly that the arguments are unlikely to be sound, and does not falsely state that they are proofs. RSpeer 05:09, Jun 15, 2005 (UTC)
Oracle discussionI added a brief discussion of the oracle result regarding the problem. I tried to keep it simple, but if anyone thinks it can be made easier to understand, I welcome your changes. Deco 07:52, 15 Jun 2005 (UTC) All three classes are equalThe Caption for the pic at the top of the page says:"Diagram of complexity classes provided that P ≠ NP. If P = NP, then all three classes are equal." which is incorrect. If P=NP there will still be problems which are not NP-complete.--SurrealWarrior 02:19, 19 Jun 2005 (UTC)
Again, it is obviously impossible to reduce a non-empty language to the empty language. Proof: If a language L is non-empty there exists x in L, and in order for a function f to be a reduction from L to the empty language, we must have f(x) in the empty language, which by definition is impossible. QED. So Papadimitriou's statement is not quite true, as there exist non-empty languages in P. Eric119 05:17, 24 August 2006 (UTC)
I realize this is over a year old, but this whole discussion is plain WRONG. NP-Complete is defined as everything within a poly-time bound of the hardest problem in NP. If P=NP then everything in NP is solved in poly-time, which means everything is trivially in a poly-time bound of the hardest problem. The poly-time reduction to 'always return false' and 'always return true' is also pretty easy when the problem can be solved in poly-time.74.12.143.44 (talk) 08:10, 26 November 2007 (UTC) About the algorithm that accepts the NP-complete language SUBSET-SUM.In the section "Polynomial-time algorithms", it writes: "No one knows whether polynomial-time algorithms exist for NP-complete languages. But if such algorithms do exist, we already know some of them! For example, the following algorithm correctly accepts an NP-complete language, but no one knows how long it takes in general. This is a polynomial-time algorithm if and only if P = NP." Then it gives a algorithm that accepts the SUBSET-SUM and claims that the algorithm is a polynomial-time algorithm if and only if P=NP. But I think this conclusion is not very clear since the number of the program P which produces the suitable subset of S may depend on the size of S. Furthermore, if we change the IF statement in the algorithm with
IF the program outputs a complete math proof
AND each step of the proof is legal
AND the conclusion is that S does (or does not) have a subset summing to 0
THEN
OUTPUT "YES" (or "NO" if that was proved) and HALT
there is another problem: the length of the proof and the number of the program which produces the proof may also depend on the size of S. ok, I have understood. The algorithm is correct. If there is a polynomial time program to solve the decision problme SUBSET-SUM, let P_0 be the number of such program. Note that P_0 is independent of the size of input for the SUBSET-SUM problem. We can use the program numbered P_0 to construct a polynomial time program which produce a subset of S which adds up to 0. Let P_1 be the number of this new program. Note that P_1 is also independent of the size of input. Assume the input S does has a subset which adds up to 0. Let N_1 be the number of steps need for program numbered P_1 to produce the correct subset of S. Since program numbered P_1 is a polynomial-time program, N_1 is a polynomial of the size of S. Therefore the algorithm will halt when N = max(N_1, P_1), P = P_1, and clearly it runs in polynomial time. The second algorithm is similar. --- For the above algorithm, we really do two things: 1) Search for P_0, and 2) Use P_0 on an input string. We say the overall algorithm runs in polynomial time with respect to the length of the input because task 1 is a fixed cost, and we assume P_0 is polynomial. That said, it is infeasible to search for P_0, so the algorithm is useless to us. It is interesting to note that for short inputs, the algorithm will likely find a machine that just outputs the answer rather than solving the problem. But because such machines are themselves polynomial on the length of the solution, for large problems, we will eventually find the correct algorithm before we encounter any of these degenerate programs. Better example for a problem in NPI think the example definitely shouldn't be PRIMES. It is quite confusing there. How hard would it be refer to the SAT problem there? --Exa 00:05, 23 January 2006 (UTC)
Stupid Joke about P = NPCommonly stated, this is P = NP, which is an assignment statement in most programming languages. The result of the condition is true if NP is true. So: if (P = NP) print TRUE else print FALSe prints true if NP is true.
"Polynomial-time algorithms"The article describes an algorithm that takes an enumeration of all programs, then runs programs 1..N for N steps each, for N = 1 to infinity. Then it says:
Perhaps I am mistaken, but I think this is complete nonsense. The "algorithm" is not an algorithm at all, since it is not guaranteed to halt, and in fact won't halt if there is no solution for the problem it is trying to solve. I suggest that the entire section be deleted, and unless there is a serious objection in a few days, that is what I am going to do. -- Dominus 20:22, 5 April 2006 (UTC)
triviaon the margins of 'concrete mathematics' by knuth, there is a 'proof' that P=NP; it says simply N=1 => P=NP! :)--Aryah 18:02, 16 April 2006 (UTC) The second algorithm IS NOT CORRECT!!!!
IF the program outputs a complete math proof
AND each step of the proof is legal
AND the conclusion is that S does (or does not) have a subset summing to 0
THEN
OUTPUT "YES" (or "NO" if that was proved) and HALT
Proof: If that there is the TM, we can solve Halting problem. We've got a TM, and we want to know if it stops. Let's search for complete math proofs and check them. Any TM either stops or not, so eventually we'll find a proof that TM stops or proof that TM doesn't stop. Hence we can solve the halting problem. But it is impossible. I propose to delete this algorithm. —The preceding unsigned comment was added by 194.85.83.201 (talk • contribs) 17:07, 8 May 2006 (UTC)
"Every 'function which would naturally be regarded as computable' can be computed by a Turing machine."(Church–Turing thesis). So if some program can check proofs, then there is a TM can doing it. It's very difficult to understand / can exist TM, for which there is no such proofs, but if they do exist, why every word for every language has to have a proof, that it is not in the language(or proof, that it is in the language)? I mean why the second algoritm hopes that it will find a proof? I've deleted the algorithm.194.85.82.254 05:04, 20 May 2006 (UTC)
Another question about the second algorithmThe algorithm that decides subset-sum seems to rely on an unstated assumption: if P=NP, then there exists an algorithm that decides subset-sum and outputs a complete mathematical proof in polynomial time. This wasn't at all obvious to me, and it was fairly non-trivial to prove. Is it worth including a proof, or at least a pointer to one? -- Nate Biggs 21:07, 6 June 2006 (UTC)
Article needs easily-understandable practical exampleThis article should have a more easily-understandable pratical example for the less tech/math-savvy ones, such as this one. I can't write one myself, if that's what you're thinking. --Procrastinator 17:11, 31 July 2006 (UTC) Maze theoryIsn't this the same as saying "given a randomly generated maze, is there a general algorithm for finding a route between entrance exit which does not involve taking every path" ? Suppose I generate a random maze which has exactly one route between entrance and exit. If I then draw a line on it, you can easily verify if the line connects the entrance with the exit. Now imagine I come up with an algorithm that finds that path without taking every possible route. So far so good. But what if I now move the exit so it lies on one of the unexplored routes. Now I must continue running the algorithm until the new route is found. At this point I again move the exit to another unexplored route. I continue doing this until all of the maze has been covered. Thus there can be no general algorithm for finding the path between entrance and exit. QED. Is this correct, or have I made a mistake somewhere ? -- salsaman@xs4all.nl 29 Aug 2006.
Thankyou. Your answers are helping me to understand the problem better. Reading it all through again it makes more sense. However there seems to be a contradiction on the page, it says: 'If P = NP, then this is a polynomial-time algorithm accepting an NP-Complete language. "Accepting" means it gives "YES" answers in polynomial time, but is allowed to run forever when the answer is "NO".' I don't understand this. If there is an algorithm which finds a solution in polynomial-time, then surely it should just terminate after the maximum number of steps, and say that the answer is "NO". Why would it need to run forever if the answer is "NO" ? If it can't say "NO" in a finite time, then that means there could still be a solution left to find. -- salsaman@xs4all.nl 02 Sep 2006.
All I need do is look at the algorithm, and figure out a way to "break" that algorithm, i.e. construct a set where the solution will be the last possible combination tested. -- salsaman@xs4all.nl 03 Sep 2006.
P=NP?I noticed THIS on arxiv.org: [1] and [2] 70.49.174.170 01:23, 5 September 2006 (UTC)
Returning to my "maze theory" above - somebody was asking for an example for non-mathematicians. Somebody suggested a breadth-first algorithm for finding the exit. A breadth-first search is an example of an NP-complete algorithm. My point, before I distracted myself (!), was this: Example for non-mathematicians: you are standing at the entrance to a maze. You know for a fact there is exactly one other exit from the maze. The challenge is this: can you walk to that other exit without trying each possible path through the maze, and without just stumbling on it ? Most people would say no, but can you prove it one way or the other ? -- salsaman@xs4all.nl 10 Sep 2006.
P = NP!I start with a program that requires 2^N years on size N data. My algorithm is this: I wait N years, and then by Moore's law I now have a computer that can solve it in in 1 year. Overall it has been solved in N+1 years. Ho ho ho ho —Preceding unsigned comment added by Neodymion (talk • contribs) 02:27, 16 November 2008 (UTC) HistoryPlease could everyone look at the reverts in this article, I have been trying to revert some blatant opinion expressing but I'm having trouble with user:82.250.60.102, please check and make your opinion on the matter as I have little knowledge of the subject Ryanpostlethwaite 17:47, 23 November 2006 (UTC) If you have little knowledge of the subject, please move on... 82.250.60.102 Please check over the history for a few edits ago. We have come to an agreement now and in my opinion his new propsal of the title (see edits) is no longer biased. But I am still erring on caution so please check and ammend appropriatly Ryanpostlethwaite 18:00, 23 November 2006 (UTC) I'm sorry but this line IS an opinion which I've just removed as other people have different views on P=NP; 'However, holding such belief for such reasons is tantamount to believing that Higgs Boson does not exist' Ryanpostlethwaite 22:06, 23 November 2006 (UTC)
If you are not an expert then do not even think about anything as being soapboxing or not being soapboxing. Ryan could not be aware of three revert rule, he just arrived in town. The only big issue here is people like Ryan or Jammycakes expressing their opinion through reverts, supposedly in order to prevent violation of non-opinion policy. Ryan is the violator. user:82.250.60.102
This is your opinion about which you are confident. By the way, I know quite a bit about P=NP. 82.250.60.102
Neutrality is by no means a way of deciding what is the right thing for this Wikipedian entry. If you were talking about knowledgeable or competent people, then I guess one could listen to your "all means". 82.248.114.187
The original paragraph did say that "Most computer scientists believe that P≠NP". This is as much an opinion as saying "Some computer scientists may err in professing that P≠NP". What source do you have to backup this majority statement? How do you know "most" computer scientists believe that? Would any of us see this as a "belief"? ... Well, that's maybe the only point where this statement comes close to truth... P!=NP became a belief for some colleagues. You ask for "arguments". Did anyone bring up evidence that "most computer scientists" think so? If you knew just a bit about the subject, you would think twice before deleting the analogy with the existence of Higgs boson. 82.248.114.187 The only reasonable way by which you could change your paragraph (if you still believe that Wikipedia should defend this "original" opinion) would be to say: "Computer scientists of the Bill Gasarch type believe that P≠NP". He (and SIGACT) is your only source. Wake up. 82.248.114.187 The point that I am trying to make is that although you may think it is absurbed that some people believe that P≠NP, there are some people who think that this is correct. The analogy with the existence of Higgs boson suggests that the people that believe P≠NP are stupid and completely incorrect, this is an opionion that you are expressing as I am sure the people that believe P≠NP would have a far different opinion. The paragraph in question is showing why people believe that P≠NP and it is not trying to show that this is correct. Therefore the changes that you made are unhelpful and need reverting to keep the articles neutrality Ryanpostlethwaite 21:41, 25 November 2006 (UTC)
As already said... This poll just reflects what Bill Gasarch made it to reflect. Ryan's change for the title seems sound. As for relating Higgs Boson to this pure computer science result, Deco is clearly unaware of what's silly and what's not. "Some may err" is as strong as saying in the title "Why computer scientists think..." (which implies an absolute opinion of all computer scientists). I will propose a new version beyond Deco's dictatorship and my own stubbornness. 82.253.212.117
Go for "many", though the many may be wrong (but that's obviously not the problem of Wikipedia). 82.253.212.117 I think now that we have finally gained consesus! If all are agreed we will leave the heading 'most computer scientists believe that P≠NP' and the subsequent paragraph intact and revert (as already done so) all changes made to it. Many thanks for everyones contributions Ryanpostlethwaite 23:37, 26 November 2006 (UTC) QuestionsHi all, not an expert but find the subject very interesting. The debate over this question has a lot of interesting elements at its core. Basically, I think this is one of the most philosophically unique debates in science. First, its resolution has important consequences for several fields. I also think the nature of the dispute is interesting, in that (at least, as the dispute is represented in this article,) the people who say P!=NP are making an empirical argument based on current failure despite lots of effort, while the proponents of P=NP are holding out for a theoretical proof. Thanks for all of your energetic and thoughtful development of the article. Due to the nature of the dispute, I find myself jumping a bit into the future, and I have a couple of questions for people who really think about this stuff. Any discussion would be great, and if you could post your reply on my talk page so that I would see it I would be very appreciative. Again, these are just some questions, I profess very little previous exposure to the subject. Questions: Given the differing nature that seems to be emerging among the two "camps" on this question, and given the way that the question is formulated, how would a theoretical proof that P<NP even look or work? It seems that the "proof" that P<NP would simply be a sufficiently long list of examples of things like subset-sum, at least if current approaches to the question continue. I know this question seems silly, in that we don't know what the proof will look like until we find it, but I'm asking more generally how a question like this could even be resolved. I don't understand fully the interactions between the question and challenging examples, such as subset-sum. IF P=NP, does that mean necessarily that every question like subset-sum must have an expedient answer and we just haven't found it yet? Therefore, does it mean that in EVERY persisting example where seemingly P<NP, all parties have overlooked a stroke-of-brilliance way to answer the example question that is as quick as it is to verify it? This seems exceedingly unlikely, doesn't it? Another way to ask this question is to say: does P=NP have to hold for everything to be considered true? Thus, if P=NP, does that mean that it is IMPOSSIBLE to dream up a question which is long to answer but quick to verify? It seems to me that the philosophy of P=NP, the underlying claim, is that there is a fundamental identity of both answering a question and verifying the answer, that they must by definition have such a close brotherhood that, when the issue is fully explored and properly understood, their computational requirements converge. Something like subset-sum is currently easier to verify than to prove. Let's say, for sake of argument, that we figured out THE fastest way to verify a subset-sum answer, and it's x amount of time. Does P=NP, if true, imply that we have also found the amount of time that the perfect method would require to answer a subset-sum question, even if we have no idea what that method is? Thanks for your help! Gcolive 20:58, 13 January 2007 (UTC)
ConfusionHello all, I'm trying to understand the "Polynomial-time algorithms" section of the article. I'm not convinced that if P=NP, that in fact an algorithm for an NP problem must be polytime. I was under the impression that a proof that P=NP would imply that there existed an equivalent polytime algorithm, not that a particular algorithm must be polytime. Can someone explain this to me? Arkleseizure 21:48, 27 January 2007 (UTC)
Good jobHello, I just read the entire article and I want to say good job to the people who wrote it. This is a very complex subject but you people have found a way to explain it in a simple, clear, easy to understand way. Good Job. 70.49.201.164 03:12, 4 February 2007 (UTC) Formal DefinitionWhy is (Note that the abbreviation NP stands for "Non-deterministic Polynomial" and not for "Non-Polynomial".) at the end of the Formal Definition section? It should be readily available in the introduction to this entry. Independent of axiomsThe article vividly explains the evidence, theoretical arguments, potential consequences, and history surrounding the statements P≠NP and P=NP. But Gasarch's poll found that some researches believe that the statements are independent of the accepted axioms. I feel that this article should give that viewpoint equal exposition as it gives the other two. Otherwise, terrific article. Thanks! --131.193.178.113 20:53, 13 February 2007 (UTC)
Independent of which accepted set of axioms? Peano arithmetic? ZFC? Something in between, or something stronger? It makes a difference -- "independent" is not a truth value, contrary to some people's vague notion of the idea. Those who responded in that way to the poll may have had viewpoints sufficiently disparate among themselves that no single coherent exposition will really be possible, and in any case we don't have a reference for just what it was that those who responded thus were thinking. (Or I assume we have no such reference -- if anyone does have it, of course please share.) --Trovatore 22:07, 13 February 2007 (UTC)
New discussionAll, Ok, I've asked nicely for my edits here and in Wikipedia:Love, Wikipedia:Life to be left in-situ, but there seems to be a persistent desire to remove them. Since the addition logically invalidates the rest of the article here and articles elsewhere I guess the revertees are protecting sunk investment. Ho Hum. I will not put the additions back on Wikipedia again. Your choice. -matt dspart 16h10, 26 February 2007 (GMT).
Blokhead (apt, perhaps? Seriously, are you cube-shaped? Have N of M components in structured groups? Have an ultimate "Queen" for your drones? Need Data? I might have some...), Re. Love, etc. Triangulated place-holder in, well lets call it a tuple-space for now. Re. "nonsense": E=mc^2, and you *fully* understand that, right? Understand it a little? Heard about it? Got a t-shirt with it on with an old guy sticking his tongue out, maybe. So, "pretty clear" then, eh? I think not. However, instead of dismissing it out of hand, I'm will to listen to arguments which show any fault with the logic here, or that this is incorrect. To put my money where my mouth is (and, yes there is some), I bet you *or anyone, anywhere* publicly, every single penny that I have - or a choccy bar, Kip Thorn - that P=NP . In *one* line. For it is Extraordinary Proof/HowdyDoody Time, LOL. Also, there's a much better solution to that Fermat's Last (4 lines), but I can't be arsed. Think consequences. Think Hiroshima. Anyhow, better things to do than talk to Blokhead[s]. Mornington Crescent to you, again, BTW. -matt dspart 23h00, 26 February 2007 (GMT).
Are there really hard problems?I published a proof that there is no proof that any decidable decision function in not in O(n). It can even be extended to O(1). Any comments? Uri Even-Chen 19:57, 21 April 2007 (UTC)
I will try to express this in simple words: 1. every specific question with yes or no answer (1 or 0) can be computed in O(1) (there is no input, the input is included in the question itself). The question must be defined in a deterministic way. 2. for every n, in order to prove that the set of possible inputs of n bits (2^n possible inputs) cannot be calculated in less than c*n steps (for any constant) by any algorithm, at least one specific example of such an input needs to exist. 3. we come up with a sequence of inputs of size n (from one to infinity) for which it is known that it cannot be calculated in less than c*n steps (for any constant) by any algorithm. 4. for every n, we create a new algorithm that will check the input, if it is equal to this specific hard input then we can display the known answer, otherwise we can use another algorithm - whether efficient or not. 5. the result is a contradiction. Which means, a deterministic proof doesn't exist. But, a statistical or probabilistic approach might show that the chances to find such an algorithm who computes the function in O(n) are very low. It doesn't mean such an algorithm doesn't exist - maybe it does. We can't prove it doesn't exist, the only thing we can say is that we don't know it. It's easier to understand when the size of input is specific. For example, if the size of the input is up to 50,000,000 bits - we need to prove that for every algorithm of size up to 50,000,000 bits, calculating the function in O(50,000,000) steps is not feasible. Can we check 2^50,000,000 algorithms? Probably not. But there are problems for which we can estimate that the chances to find such an algorithm are low. An example of a specific problem is factoring numbers. If we receive a number of n bits, and we need to calculate its prime factors which can be represented together in m bits, then each bit of m is a decision problem, and the total calculation will not take more than O(m*n). If each bit is calculated in parallel, or if there is even a more efficient algorithm, O(n) can probably reached too. This can be easily verified because if we already know the prime factors for any specific input, calculating the function is very easy. It is a hard problem since a solution is not known to us, but we cannot prove that such a solution doesn't exist. Uri Even-Chen 22:24, 25 April 2007 (UTC)
Simplification of introductory paragraphI have taken a lot of the technical details out of the introductory paragraph to make it more accessible to people who aren't theoretical computer scientists. All the intro needs to do is introduce the flavour; the technical details are presented quite adequately in the body of the article. --Robert Merkel 12:52, 5 May 2007 (UTC) Suggested addition to "Is P really practical?"I would like to propose adding another reason to the list of reasons in this section of the article. I would like to add something like this:
Would it be OK to add that? Is it too long? I'm not sure if I should have a citation in there. I don't have a source for this; it just seems to be somewhat self-evident to me. Also, I'm not an expert in complexity theory or physics, so perhaps someone who knows more can edit what I wrote to make it more accurate. Navigatr85 23:44, 3 July 2007 (UTC)
This point argues against itself: any improvement in processor speeds gives more benefit to polynomial time algorithms than it does to exponential time algorithms. If you have a computer that goes 10^1000 times as fast, then you can solve an instance of a O(n^2) problem that's 10^500 times bigger, but an instance of a O(10^n) problem that's only 1000 times bigger. Similarly for reductions in speed: polynomial algorithms suffer less than exponential ones. In any case, the point is already made in the article; there's no point in saying in ten different ways that complexity classes are all about asymptotic behaviour but in practice we have only finite resources. Gdr 15:14, 6 July 2007 (UTC) That's a good point, Gdr.....But it depends on how fast memory sizes grow in comparison to CPU speeds. If you build a CPU that runs at 1010100 Hz, but if at the same time, the largest hard drive in the world can only store 1050 bits, then both exponential algorithms and polynomial algorithms would be fast for the largest possible input size. (I'm assuming fast hard drive read/write speeds.) I don't think the point is already made. This section doesn't seem to contain anything yet about exactly how large our real-life finite resources are. --Navigatr85 17:04, 10 August 2007 (UTC) Since no one has raised any further objections, I'm going to add this to the article. However, I have a feeling that people WILL raise further objections immediately after I add this to the article. :) Feel free to post your further thoughts; I think it's a good discussion. --Navigatr85 19:20, 20 November 2007 (UTC) —Preceding unsigned comment added by Navigatr85 (talk • contribs)
| |||||||||||||||||||||||||||||||||