
The P=?NP Poll (2002) [pdf] - ColinWright
http://www.cs.umd.edu/~gasarch/papers/poll.pdf
======
adilparvez
A really cool result which seems relatively unknown is that if we augment our
Turing machines with an oracle X chosen uniformly at random from all oracles
then P^X =/= NP^X with probability 1.

An oracle is a black box that can solve a particular decision problem in O(1).

The notation means e.g. P^SAT = class of all problems that can be solved in P
time with a machine that has an oracle for SAT.

It gets really ingesting because there are particular oracle machines for
which P^X == NP^X.

See
[https://en.m.wikipedia.org/wiki/Oracle_machine](https://en.m.wikipedia.org/wiki/Oracle_machine)
for references to papers.

Also see
[https://en.m.wikipedia.org/wiki/Almost_surely](https://en.m.wikipedia.org/wiki/Almost_surely)
if you don't know what with probability 1 is.

Off topic (but related to almost surely), one of my favourite theorems is
Pólya's recurrence theorem which says that a simple random walk on Z^d
(lattice) is recurrent for d=1,2 and transient otherwise, so if you get lost
on a 1 or 2 dimensional grid, just execute a simple random walk and you'll get
back to the origin almost surely! IIRC the probability of recurrence is about
34% in 3d.

~~~
komali2
Anyone got suggestions for what a web dev should read or what classes he
should take to understand what this guy is saying?

~~~
stratfordfellow
What you're looking at is the theory of computational complexity.

Here's a short-ish overview:
[http://www.math.uchicago.edu/~may/VIGRE/VIGRE2011/REUPapers/...](http://www.math.uchicago.edu/~may/VIGRE/VIGRE2011/REUPapers/Hogan.pdf)

For a more extensive overview, try this textbook by Michael Sipser (Amazon
Affiliate Link if feeling generous:
[http://amzn.to/2fy9tKZ](http://amzn.to/2fy9tKZ), Google Books link otherwise:
[https://books.google.com/books?id=1aMKAAAAQBAJ&dq=introducti...](https://books.google.com/books?id=1aMKAAAAQBAJ&dq=introduction+to+theory+of+computation)).

~~~
sjclemmy
I bought Sipser for this very purpose. I found it very difficult without being
able to discuss it with anyone to clarify my understanding of the ideas. I
would love to work through it, but would need a CS tutor to help me... any
takers? ;)

Edit: to be honest it's the maths notation that is a big barrier for me. Until
one can read it relatively fluently it's very hard to translate the ideas into
a meaningful mental model .

~~~
imakecomments
It's been mentioned elsewhere but I recommend:
[https://www.youtube.com/playlist?list=PL601FC994BDD963E4](https://www.youtube.com/playlist?list=PL601FC994BDD963E4)

Seems like a few lectures are missing but if you google around you might be
able to find them somewhere.

------
joaorico
#8 is a fun one (some of these answers are half-joking):

"Proof by contradiction. Assume P = NP. Let y be a proof that P = NP. The
proof y can be verified in polynomial time by a competent computer scientist,
the existence of which we assert. However, since P = NP, the proof y can be
generated in polynomial time by such computer scientists. Since this
generation has not yet occurred (despite attempts by such computer scientists
to produce a proof), we have a contradiction."

~~~
surrey-fringe
Is that true -- that the proof (if we produce one) will be verifiable in
polynomial time?

~~~
petters
It is not really meaningful to talk about a single instance being verifiable
in polynomial time.

~~~
surrey-fringe
Well I was open to evidence that applies generally, but sure.

------
nabla9
I like Scott Aaronsons approach: Using NP hardness asumption as a physical
constraint and seeing what follows.

[https://arxiv.org/abs/quant-ph/0502072](https://arxiv.org/abs/quant-
ph/0502072)

~~~
Analemma_
I second this; check it out even if you're not the type to usually read
scientific papers. This is a fun one that's not hard to understand.

------
pdpi
Knuth's perspective on this topic is quite interesting, bordering on the
infuriatingly frustrating: he seems to be of the opinion that p=np, but any
proof we find for that will be non-constructive and the actual algorithm will
evade us.

[http://www.informit.com/articles/article.aspx?p=2213858](http://www.informit.com/articles/article.aspx?p=2213858)

~~~
DavidSJ
It's worth noting that _if_ P=NP, then there's already a known (though highly
impractical) algorithm which can solve any given NP problem in polynomial
time:
[https://en.wikipedia.org/wiki/P_versus_NP_problem#Polynomial...](https://en.wikipedia.org/wiki/P_versus_NP_problem#Polynomial-
time_algorithms)

~~~
Klockan
This argument is useless since polynomial time is just as intractable as
exponential time if the exponent is large. For example, lets say that we found
a way to solve all np problems in n^1000 time, would that change anything? No,
there aren't even 2^1000 atoms in the universe so we will only be able to
solve it for the case n=1.

~~~
btilly
Your argument supports the view that P is a useless concept, not that that
argument is pointless.

~~~
VLM
Often a "proof" that P does not equal NP is that it would be terribly
inconvenient if solvable in n to the second or whatever, and therefore in a
sort of cosmic censorship saves us by claiming it clearly can't be the case
because it would be so annoying.

A good argument can be provided by an analysis of statistical thermodynamics
gas laws. It highly disturbs some people to think that atoms being in motion
implies that all the oxygen atoms in the room air might coincidentally cluster
into a small corner of the room leaving the victim to suffocate. There is no
reason to think that impossible under most thermodynamics theories. However,
it is nearly infinitely unlikely and you'd merely have to wait a ten to the
hundred times the lifespan of the universe for it to coincidentally happen. I
suppose it scales quite strongly with room volume and linearly with air
pressure, you have one atom in the ISS airlock and being in one half the air
lock at any given moment is a very predictable 50:50 odds...

Likewise if the smallest polynomial solution to a NP problem takes a google's
worth of universes to calculate, then even if it is poly you need not worry
too much about mere human inconvenience.

I'm not saying its a wise way to go thru life, but there exists a large set of
people who get hung up on whats convenient or beautiful must be right, even if
whats right turns out to be very ugly or inconvenient, so for them "P=NP but
your bank account is still secure" is a very big deal.

------
VodkaHaze
Is there any probabilistic argument around the proof?

For instance, a decade before Wiles' proof of Fermat's Last Theorem,
Feynman[1] showed it was extremely unlikely to be false. While you're not
getting a million from Clay for that, it something non insignificant that we
can use to guide our intuition.

[1][http://www.lbatalha.com/blog/feynman-on-fermats-last-
theorem](http://www.lbatalha.com/blog/feynman-on-fermats-last-theorem)

~~~
kamilner
As mentioned elsewhere in the thread, if provided with a random oracle A, P^A
!= NP^A with probability 1. It's not clear though what this actually buys you,
intuition wise, since it's already sort of intuitively clear that
nondeterministic oracle queries are much more powerful (then again, I guess
you could say the same about nondeterministic computing...)

[http://epubs.siam.org/doi/abs/10.1137/0210008](http://epubs.siam.org/doi/abs/10.1137/0210008)

Edit: For those who are interested, the oracle separation gives you one of the
few properties we can prove about the nature of any proof of P ?= NP, that it
must be 'non-relativizing'. We know a few other properties of any possible
proof, described here:
[http://www.scottaaronson.com/papers/alg.pdf](http://www.scottaaronson.com/papers/alg.pdf)

------
justifier
Richard Karp: (Berkeley, unsure, P!=NP) My intuitive belief is that P is
unequal to NP, but the only supporting arguments I can offer are the failure
of all efforts to place specific NP-complete problems in P by constructing
polynomial-time algorithms.

I believe that the traditional proof techniques will not suffice. Something
entirely novel will be required.

My hunch is that the problem will be solved by a young researcher who is not
encumbered by too much conventional wisdom about how to attack the problem.

~~~
lotsoflumens
>> My intuitive belief is that P is unequal to NP, but the only supporting
arguments I can offer are the failure of all efforts to place specific NP-
complete problems in P by constructing polynomial-time algorithms.

Actually, there has been tremendous incremental progress in inventing better
and better algorithms for NP Complete problems. As a result, these problems
are more deeply understood now. I think that the gap to poly time is closing
fast.

Contrast that with the almost complete absence of progress in proving P != NP.

Also, from a practical viewpoint, many NP Complete problems of industrial size
are now solved routinely.

~~~
Jweb_Guru
Sure, in some cases (the easy ones) we can solve NP-complete problems.
However, tons of useful instances of NP-complete problems are not particularly
close to being solved. We can even characterize fairly well when the instances
become hard (for instance, for graph problems the treewidth seems relevant). I
see absolutely no evidence that we're anywhere close to constructing a
polynomial-time algorithm for any NP-complete problem. If anything, we are
slowly finally making some progress on proving P != NP because we are finally
getting some nontrivial superlinear bounds on these problems (thus far, the
biggest obstacle to proving P != NP has been the difficulty of proving
_anything_ about lower bounds on runtime that isn't directly tied to space
consumption).

Seriously, if you're interested in this approach ("well, in practice we can
solve the problem if [insert thing here] is bounded"), check out the field of
parameterized complexity. It's very popular in the database area. It also
reveals some very sharp limits to tractability for these problems in practice,
not just in theory.

~~~
lotsoflumens
>> (thus far, the biggest obstacle to proving P != NP has been the difficulty
of proving anything about lower bounds on runtime that isn't directly tied to
space consumption)

I probably don't understand the proofs of these bounds - it seems to me
though, that any lower bound without some relationship to the time or space to
_input_ the problem into some kind of computer, implies a belief that an
instance might be solvable _in-place_ , in some physical system.

I have some doubts about that ....

~~~
Jweb_Guru
To be clearer, a trivial lower bound is something like "the input is of size n
and for any n-1 length yes-instance you can find n-length extensions that are
no-instances, so you have to check all n elements." It doesn't tell us
anything interesting about the worst-case problem complexity. What's been
surprising is how hard it is to make meaningful lower-bound statements
stronger than that (well, not surprising to people who work on this stuff for
a living, I guess). But that doesn't make it more likely that P = NP, really,
except in the sense that we (obviously) haven't characterized the entire space
of problems in P yet.

To more specifically address your "in-place" concerns, you can often formulate
the problem in terms of circuit complexity--circuits are inherently parallel,
so minimum circuit depth is a good proxy for a required number of steps, and
it's also generally agreed that if you can design a circuit to do something
it's physically realizable (even though that's arguably not always true,
especially in cases with very wide fanout). So a (somewhat) promising
direction has been to try to find circuit complexity lower bounds for
problems, especially nontrivial ones.

------
chronolitus
For those that do not have time to read the whole thing, #29 is worth quoting:

"Stuart Kurtz (University of Chicago, 2050, P!=NP) [on wether and when proof
will be found]:

Knowing Ketan Mulmuley, I live in fear that the solution will be via algebraic
geometry, and it will come soon enough that I’ll be expected to understand it.
An alternative nightmare is that the undergraduate who solves it will publish
his solution in French."

But it is by far not the only funny opinion in this paper.

------
Nomentatus
Reference needed: Once upon a time Turing Machines were my thing. But that was
decades ago. Now I think I have a result that's interesting, following up on
graduate school work I did way back when... but... reading such things as the
P=NP prize problem definition I see that at least some terminology in the
field has changed, or at least, concepts have been added. (Such as "language",
if I remember rightly.) Can someone point me to sources that will allow me to
translate Turing oldspeak into Turing newspeak, and vice versa?

~~~
throwawayaccnt3
If investigating a specific result, I would recommend Wikipedia, ComplexityZoo
and yes, even CSTheory.StackExchange. There are more comprehensive documents,
however (re)learning a field may be an overinvestment to test a single idea.

~~~
Nomentatus
Certainly it's not in Wikipedia, and if Google knows about it; I've probably
visited it. A question in CSTheory.StackExchange might work, though.

~~~
throwawayaccnt3
Wikipedia won't have an entry on every specific problem, but it can come in
handy if there's a general idea of what to search for. A quick investigation
on "language" reveals "Formal Language" and "Model Theory" are relevant
topics.

------
Lerc
This bit makes me wonder

> My longest-surviving proof that NP does not equal co-NP (about 5 years ago)
> survived for about 3 days and fooled some very smart people into believing
> it.

Is this a path towards selecting by insidiousness of mistakes? Can we
mistakenly prove something by evolving a method by which no-one can figure out
what is wrong with it.

Is there a limit to how hard it is to identify a mistake in a false proof? If
incompleteness keeps you up at night, how about the possibility of a proof
that you can have a mistaken proof in which the mistake was provably
unidentifiable.

~~~
Jweb_Guru
Generally speaking, if there's a step that isn't clearly logically justified
in your proof, the proof is considered wrong. So in most "normal" proof
systems, this wouldn't really be a valid technique (that is, the moment
someone tried to formalize it they'd run into this roadblock, and if it wasn't
trivial to surmount the original proof would be thrown out). That said, there
are some sequent calculi where you can do a _lot_ of work in each step, so it
might be really hard to figure out whether the step was valid; but I believe
cut elimination theorems in those calculi basically assert that you can turn
any valid "large step" into a (possibly very long, but finite) sequence of
"small steps".

From a sociological perspective, since most mathematicians don't use formal
methods for most of their proofs, there can of course be proofs that may be
right, but that nobody can understand well enough to verify. The ongoing
famous example here is that of Shinichi Mochizuki:
[http://www.nature.com/news/the-biggest-mystery-in-
mathematic...](http://www.nature.com/news/the-biggest-mystery-in-mathematics-
shinichi-mochizuki-and-the-impenetrable-proof-1.18509?WT.mc_id=TWT_NatureNew).

Anyway, neither of these seem too relevant to P vs. NP.

------
averell
Not a lot of mention of AI for CS, even in 2002. What about (2080+, P/=NP,
proof techniques completely opaque to humans). And by that I don't mean
mechanical exclusion of special cases like for map-coloring. As mentioned
already, there's like a handful of people that understand the FLT proof, that
situation is unlikely to improve.

------
yread
[2002]

~~~
ColinWright
Updated. To my mind still relevant.

------
Paul-ish
I wonder what this survey would look like if done today.

------
lovamova
Maybe the solution to P=NP problem is P=NP.

