

P≠NP proof update - amichail
http://rjlipton.wordpress.com/2010/08/15/the-p%E2%89%A0np-proof-is-one-week-old/

======
blantonl
Watching this process unfold has been extremely entertaining - solely from the
perspective of watching how highly scientific / mathematical communities
resolve these types of occurrences. There is a LOT of tip-toeing going on, and
it seems there is a very established, methodical, and specific process that is
followed by those in these communities. You have to wonder if some of these
mannerisms could (should?) apply to open source development :)

I've attended college, but I'm not a graduate and never really experienced any
of the higher-level mathematical courses, so this proof (and discussions
thereof) are completely greek to me. But I can certainly tell that based on
the discussions and claims the researcher dropped an A-bomb and the math and
CS communities are abuzz.

For those that are in my situation - is there any layman's summarization that
describes what this proof really means to the computer science community? Even
the Wikipedia entry has me lost at the second paragraph.

~~~
lsb
P is the set of all problems that can be verified in time polynomial to the
problem space. NP is the set of all problems that can be verified in time
polynomial to the problem space with the use of a non-deterministic oracle.

Hold that thought.

If you have a list of _n_ elements, you can search through the list and check
if an element is in that list in _n^1_ time. If you have a list of _n_
elements, you can check some property on a triplet of numbers in (at worst)
_n^3_ time, looping once for each member of the triplet.

I can check that there's a triplet that multiplies to 1337 mod 31337, in a set
of _n_ numbers, with three nested loops, and doing the modular multiplication
in the inner loop, in _n^3_ time.

Now! What if there were a magic box you could use? Whenever there are three
such numbers in the set, it picks them out; whenever there are none, it just
finds any three. You can use that magic box, get the three numbers it picks,
check it, and voila, you find your answer immediately, in _1_ step instead of
_n^3_.

So if a problem is in NP, you need a magic box if the problem is going to be
solvable in _n^1_ , _n^2_ , _n^3_ steps based on _n_ inputs. (They recently
showed that Primality-Testing was in P; an _n_ digit number can be factored in
_n^12_ steps. Large, but still polynomial, and better than the exponential-
time _2^n_.) If a problem is in P, you don't need the magic box to find it in
polynomial time.

The magic box is the non-deterministic oracle. The polynomial that expresses
how hard the problem is, that's the polynomial of polynomial-time.

You know "https"? The security of "s" is based on how hard it is to factor two
large prime numbers multiplied together, and we know it's in NP (just give me
the two numbers, and I can check), but we don't think P=NP, ie we don't think
there's an easy way to break all online commerce. (See the RSA algorithm.)

~~~
eru
By the way, prime factoring is not proven to be NP-complete. So it could turn
out that prime factoring is in P, without implying P=NP.

Other cryptography schemes would still remain viable, even if RSA broke down.
(As long as nobody proves P=NP.)

~~~
eru
By the way, it seems highly unlikely that prime-factoring NP-complete, since
it is in co-NP.

------
amichail
Given the ad hoc way in which this peer review is being done on the web,
perhaps there's a startup opportunity here...

~~~
lrm242
I'm not sure why this is getting down voted. There is an opportunity here to
build a web application to help the peer review process. Whether the academic
community wants such a thing is beyond me, but the observation is perfectly
valid.

~~~
nl
The whole math community on the web thing mostly started when Wordpress added
support for LaTex (which let them use formula).

There have been some attempts to use Wikis for the same process, but from
casual observation they seem to keep returning to using blogs. There is
MathOverflow though: <http://mathoverflow.net/>

