

Ask HN: If P = NP, what does it mean? - ohashi

What does this mean for computer science (and other areas)?  I am familiar with the basic idea, but really don't know much more or how this would affect what I do?
======
brg
We have lived with NP \neq P being the prevailing opinion for nearly three
decades. If NP \neq P there will be no dramatic engineering aspects coming
from the result, as focus has long ago shifted towards heuristics and
approximations. If NP \eq P, we may still not know any underlying algorithm
for solving TSP efficiently, but there will be hope of finding one and the
search will continue.

But it may be more realistic to consider what happens if NP \neq P. The main
change for CS will be the shift in the focus of research.

If the proof is correct, there will be a brief flurry in which people find
simplifications, restatements, and shallow applications to other areas of
research.

But for three decades this has been the motivating problem in theoretical
computer science. I think there will be a lot of soul searching, and perhaps a
subdued atmosphere in the research community, but then attention will turn
back to the topics in which people are actively exploring. However, there will
perhaps never again be such a unifying, fundamental problem in CS.

~~~
Fargren
If P were to be equal to NP and we found a polynomial algorhythm to just one
NP problem, then through polynomial conversion, we should be able to solve
all, or at least most, NP problems in polynomial time. This would be very
superior to heuristics even for the most naive of implementations for most
relevant NP problems.

~~~
klodolph
This is incorrect. You would need to find a polynomial algorithm for at least
one "NP-hard" problem, not any problem in NP. And a polynomial, exact
algorithm would not necessarily be superior to heuristics for relevant real-
world NP problems such as 3SAT... what if the polynomial were O(N^1000)?

~~~
StavrosK
NP-complete, actually. NP-hard problems don't have NP-complete equivalents.

~~~
stralep
NP-Complete are NP-Hard, inside NP.

~~~
StavrosK
Some NP-hard problems are NP-complete, but not all. I guess I should have said
_strictly_ NP-hard, thanks.

------
brown9-2
It could mean that certain problems which are known to be "difficult"
(cryptography, factoring multiples of primes, traveling salesman, bin-packing,
etc.) may not be inherently "difficult" and may have solutions (yet to be
found) which can solve the problem in polynomial time.

There are many things built on top of the fact that certain types of problems
are not easily solvable - cryptography being the most obvious - so if it could
be proved that algorithms that make these problems easily-solvable could
exist, it would shatter the line of thinking about these types of problems.

The way I like to think about NP is: are there certain types of problems which
we, as smart as we might be, cannot easily solve, not because we aren't smart
enough but because of the nature of the problem itself?

(I have no formal education in this area so this is just my layman's attempt
at an answer)

~~~
derefr
Then, on a tangential note: are there classes of problems _harder_ than NP,
that we could switch to for cryptography et al. if it turned out that P = NP?

~~~
baddox
A problem harder than NP would not even be _verifiable_ in polynomial time,
which I believe would limit their practicality.

~~~
derefr
If it was verifiable in _NP_ time, and P = NP, then wouldn't it also be
verifiable in polynomial time?

~~~
baddox
Is that correct? I'm not sure. NP problems are verifiable in deterministic
polynomial time. That includes the hardest of NP problems (NP-complete
problems, e.g. travelling salesman and graph coloring). Are there problems
that are "harder" than that? I never learned about anything outside NP—I know
there are other complexity classes out there (like probabilistic classes), but
I don't know how they compare to NP. My guess is that anything outside NP is
essentially a non-deterministic problem altogether, meaning the "answer" isn't
formally a simple "yes" or "no."

------
kenjackson
I think what will be really fascinating is that if statistical mechanics does
end up being the mechanism that finishes the puzzle I do think that CS will
have to take a much harder look at making physics a more core part of the
curriculum.

This would mean that the two largest results in CS in the past 20 years have
both come from working with feet both in CS and physics (Shor's work on
factorization with quantum computers being the other huge result, IMO).

I'd love to see undergrad CS, at least the theory tracks, to require a physics
concentration in quantum and statistical physics.

------
rlpb
[http://en.wikipedia.org/wiki/P_versus_NP_problem#Consequence...](http://en.wikipedia.org/wiki/P_versus_NP_problem#Consequences_of_proof)

~~~
DanielRibeiro
This kinda covers it, but it would also mean that BPP = NP. This is because P
!= NP => BPP = P (which is equivalent to BPP != P => P = NP, which is a fancy
way of saying that at least one of {BPP, NP} is P).

Since BPP (<http://en.wikipedia.org/wiki/BPP>) essentially encompasses
problems that can be solved with very high probability chance in polynomial
time (the definition requires probability only higher than 50%, but you can
iterate a polynomial amount of time, and reach probability arbitrary close to
1), it is expected that BPP = P. Not to mention that the huge amount of
derandomization techniques are more evidence that this is very likely to be
true.

------
saint-loup
An interesting and accessible article from Scott Aaronson about what it would
mean if P=NP : <http://www.scottaaronson.com/blog/?p=122>

~~~
miloshh
I agree the blog is excellent, and provides a great answer to the original
question of this thread. Check it out!

------
alextp
This paper <http://arxiv.org/pdf/quant-ph/0502072> explores what it means for
physical reality. It's really interesting.

There are many possible scenarios, however. This blog post
[http://rjlipton.wordpress.com/2009/07/03/is-pnp-an-ill-
posed...](http://rjlipton.wordpress.com/2009/07/03/is-pnp-an-ill-posed-
problem/) describes some of them.

------
Dn_Ab
P = NP would touch almost every field known to man: maths (e.g. it would only
be matter of search to take down the remaining Clay Problems), philosophy,
engineering, biology, physics.

The tie to physics is particularly interesting: for example if Quantum
mechanics was a nonlinear theory then we could physically solve NP complete
problems [1]. Note the implication, this is not to say p = np => QM nonlinear.
The utopian consequences of p = np are discussed very engagingly by Scott
Aaronson here [2].

I suggest you also check out his blog as well - his writing style is clear and
fun. Plus there was a recent discussion there that linked complexity theory to
foundational physics.

[1] <http://arxiv.org/abs/quant-ph/9801041>

[2] <http://www.scottaaronson.com/papers/npcomplete.pdf>

------
xtacy
Even if P = NP, the search for efficient polynomial time algorithms will be
the key. For e.g., the problem of determining whether a given number n is
prime/not was thought to be in NP, until Manindra Agarwal showed that "PRIMES
is in P" (it's called the AKS algorithm). Its asymptotic complexity (as n ->
infinity) is O(polylog(n)), but it is not widely used in practice, it is still
"slow".

------
Groxx
You might find this interesting:

<http://pqcrypto.org/>

Essentially covers cryptography which isn't based on hard-to-factor equations.
Though it's not the same area, similar solutions / approaches might survive a
p=np discovery + algorithm.

------
one010101
P is NOT NP.

