Ask HN: If you prove that P=NP, dare you announce it?
10 points by waitingkuo 9 years ago | 17 comments- jepler 9 years agoPurported proofs of P=NP are published multiple times a year. They just always turn out to have a flaw, just like the P≠NP proofs. http://www.win.tue.nl/~gwoegi/P-versus-NP.htm collects them, though it hasn't been updated since 2 May 2015, probably when the refutation of the most recent purported P=NP proof was added.
- 33a 9 years agoNot unless you were very certainly sure it was true. The probability that you got it right and didn't mess up some detail is so vanishingly small that it might as well be 0.
If you go around shouting about yet another half-baked "solution", people will think you're a crank (and they might even be right). Exercise some restraint, check it and wait.
One thing about a positive P=NP proof is that it would necessarily be constructive, so you could try to actually implement it and maybe do some SAT solving competition. If you start stomping the competition, you would get noticed and be in a much stronger position to announce something like this.
- Someone 9 years ago"One thing about a positive P=NP proof is that it would necessarily be constructive"
I don't see why that would necessarily be true. For example, let's say that I show that, if P != NP, the set of all NP-complete problems can be split into N equivalence classes and then produce N+1 NP-complete problems that are pairwise in different equivalence classes.
Alternatively (and, I'm guessing, slightly more realistic), one might define a Turing-equivalent machine and show that, if there is any room between P and NP, for that machine, any program that solves a NP-complete problem can be reduced to run for one less time step.
Can you explain?
- Someone 9 years ago
- balazsdavid987 9 years agoA proof that P=NP would go against our everyday experience and it seems so unlikely that it would take you to the Gödelian level of fame and prestige. Would guys in black suits trying to kill you? No. Would you get 100s of job offers? Yes. Go for it, it would be a huge advancement for humanity.
Personally, I have a strong feeling that no one will ever prove that P=NP. There's that story that out of 100 math professors 10 or so say that P equals NP, but many of them admitted that they just wanted to be controversial. My suspicion is that the existence of P and NP as different complexity groups is a direct consequence of the way Boolean algebra is built up and the way operations are defined, but I far from being an expert on this.
- PeterWhittaker 9 years agoIf I thought I had such a proof (and I expect the proof would be complex, relying on many leading-edge pieces of wildly different branches of mathematics, and therefore comprehensible in the short to medium term to but a few), I would first see if I could develop a practical implementation of the proof for a well-known NP problem, test that out, and see if it worked.
If so, I would have that reviewed by trusted colleagues. ("Hey, buddy, I have a P space solution to travelling salesman!" "Get outta town!", "No seriously..."). That would at least demonstrate that the proof works.
Next step? Well, there's a bit of the responsible disclosure argument at play: If P=NP and you have a practical implementation of a P-time algorithm for an NP-complete problem, translating that to another will be less work, I should think, than the original proof or the original implementation...
...meaning much crypto would break soon after publication. Give the proof and the implementation to 100 well-known and trustworthy mathematicians from around the world, have them agree to your disclosure strategy, then announce what you've got, with their backing, and tell the world that you won't publish for 6 months. Or 12. Whatever.
The Fields Medal will wait.
That will give the world time to adjust to its new reality.
- rumcajz 9 years agoKnuth suspects that P=NP. However, theoretical feasibility doesn't necessarily mean that you'll know how to solve NP problems in P time, he says.
- 9 years ago
- brudgers 9 years agoThe citation: http://www.informit.com/articles/article.aspx?p=2213858
I've come to believe that P = NP, namely that there does exist an integer M and an algorithm that will solve every n-bit problem belonging to the class NP in nM elementary steps.
Some of my reasoning is admittedly naïve: It's hard to believe that P ≠ N P and that so many brilliant people have failed to discover why. On the other hand if you imagine a number M that's finite but incredibly large—like say the number [really big number] discussed in my paper on "coping with finiteness"—then there's a humongous number of possible algorithms that do nM bitwise or addition or shift operations on n given bits, and it's really hard to believe that all of those algorithms fail.
My main point, however, is that I don't believe that the equality P = NP will turn out to be helpful even if it is proved, because such a proof will almost surely be nonconstructive. Although I think M probably exists, I also think human beings will never know such a value. I even suspect that nobody will even know an upper bound on M.
Mathematics is full of examples where something is proved to exist, yet the proof tells us nothing about how to find it. Knowledge of the mere existence of an algorithm is completely different from the knowledge of an actual algorithm.
For example, RSA cryptography relies on the fact that one party knows the factors of a number, but the other party knows only that factors exist. Another example is that the game of N × N Hex has a winning strategy for the first player, for all N. John Nash found a beautiful and extremely simple proof of this theorem in 1952. But Wikipedia tells me that such a strategy is still unknown when N = 9, despite many attempts. I can't believe anyone will ever know it when N is 100.
More to the point, Robertson and Seymour have proved a famous theorem in graph theory: Any class of graphs that is closed under taking minors has a finite number of minor-minimal graphs. (A minor of a graph is any graph obtainable by deleting vertices, deleting edges, or shrinking edges to a point. A minor-minimal graph H for is a graph whose smaller minors all belong to although H itself doesn't.) Therefore there exists a polynomial-time algorithm to decide whether or not a given graph belongs to : The algorithm checks that G doesn't contain any of 's minor-minimal graphs as a minor.
But we don't know what that algorithm is, except for a few special classes , because the set of minor-minimal graphs is often unknown. The algorithm exists, but it's not known to be discoverable in finite time.
This consequence of Robertson and Seymour's theorem definitely surprised me, when I learned about it while reading a paper by Lovász. And it tipped the balance, in my mind, toward the hypothesis that P = NP.
The moral is that people should distinguish between known (or knowable) polynomial-time algorithms and arbitrary polynomial-time algorithms. People might never be able to implement a polynomial-time-worst-case algorithm for satisfiability, even though P happens to equal NP.
- 9 years ago
- ddingus 9 years agoYes.
Either you have a solution, and that's a great thing, or you are close to a solution and one will be found more quickly and that too is a great thing, or you don't have a solution. That's not such a great thing, but it's a contribution to the set of cases not known to be solutions, potentially hinting at where the solution may lie.
This assumes you have done the thought work and want to know. Don't you?
- waitingkuo 9 years agoIt's definitely a huge contribution. But P=NP potentially means that RSA is solvable in Polynomial time. Then countless servers will be attackable. Not sure whether it's good to announce "publicly".
- T-A 9 years agoExcept that if you could figure it out, others probably will soon too - or already did. If countless servers are attackable, or will be soon, should their operators and users be warned or not?
- srean 9 years agoPolynomial time does not necessarily make it easy, the degree of the polynomial could be plenty high making large problems still sufficiently expensive.
- Someone 9 years agoIt need not even be of high degree. With a large enough constant, even a constant-time algorithm could be way out of reach.
Suppose that somebody shows that, once you are past a googol^googol (not a big number, as numbers in mathematics go), factoring doesn't get harder at all, that would be merely a curiosity in practice (It also would be a hugely surprising result that would inspire mathematicians to start looking for ways to bring that limit down)
- Someone 9 years ago
- ddingus 9 years agoNo, it's good. There will be latency between the proof and specific attack solutions.
We are better for the warning.
What if someone doesn't announce and has nefarious intent?
- T-A 9 years ago
- waitingkuo 9 years ago
- mcnamaratw 9 years agoIf just knowing P=NP were enough, for applications people could go ahead and just make the assumption now. The problem is finding an algorithm.
- seiji 9 years ago
- pvaldes 9 years agoif N=1, yes
Can someone explain better the problem for people like me? What is P and what is N here?
- dagw 9 years ago
- dagw 9 years ago
- 9 years ago