Has There Been Progress on the P vs. NP Question?

advertisement
Has There Been Progress on the
P vs. NP Question?
Scott Aaronson
P vs. NP: I Assume You’ve Heard of It
NP-complete
NP
P
Class of decision problems for
which a YES answer can be
verified in polynomial time
(given an appropriate witness)
Class of decision problems
solvable in polynomial time by
a deterministic Turing machine
Importance of the P vs. NP Question
• NP problems everywhere: machine learning, AI, biology…
• Gödel (in 1956 letter to von Neumann): If P=NP, then “apart
from the postulation of axioms, the mental effort of the
mathematician could be completely replaced by machine”
• One of the seven Clay Millennium Problems (and far and
away the most important)
Wait … hasn’t P≠NP already been proved?
My controversial blog-response (from vacation):
“If Vinay Deolalikar is awarded the $1,000,000 Clay Millennium
Prize for his proof of P≠NP, then I, Scott Aaronson, will
personally supplement his prize by the amount of $200,000.”
Long Story Short
- Heroic “rapid response” by computer scientists and mathematicians
(including Richard Lipton, Neil Immerman, Ryan Williams, Terry Tao, Timothy Gowers…)
- Communication mostly via blog comments
- After a few days, multiple fatal problems with the proof had emerged
- Deolalikar himself hasn’t retracted anything, but my condo seems safe…
How can you tell if a claimed P≠NP proof
is wrong (without spending too much time on it)?
0. Proof invokes Nazis, Jesus Christ, the author’s parents…
1. Lower bound argument for 3SAT would work equally well
for problems known to be in P (2SAT, XORSAT)
2. No “easier” lower bounds proved along the way
3. Known results not encompassed as special cases
4. No coherent plan of attack
5. Proof is “nonlinear spaghetti”: no hierarchical structure,
lemmas aren’t well-isolated, important concepts used
before being defined…
6. Argument runs afoul of one or more formal barriers
(about which more later)
A Depressing Possibility…
From the standpoint of P vs. NP, the last 50 years of
theoretical computer science have taken us around in
circles and been a complete waste of time.
Rest of the talk:
We might be nowhere close to a proof, but at least the
depressing possibility doesn’t hold!
We’ve found (and continue to find) nontrivial insights that
will play a role in the solution, assuming there is one.
Achievement 1: Increased
Confidence That P vs. NP Was The
Right Question To Ask
The Unreasonable Robustness of P
A half-century of speculation about alternative
computational models has taken us only slightly beyond P
“But can’t soap bubbles solve the Minimum Steiner Tree
problem in an instant, rendering P vs. NP irrelevant?”
Would-be PNP provers: don’t get
discouraged!
Spin glasses, folding proteins, DNA
computers, analog computers,
even probabilistic and quantum
computers still seem unable to
solve all of NP in polynomial time
Achievement 2: Half a Century of
Experience with Efficient
Computation, Increasing One’s
Confidence That PNP
Trivial Problems
#P Problems with Miraculous Cancellation
Determinant, counting planar perfect matchings, 3regular-planar-mod-7-SAT…
Dynamic Programming
Linear Programming
Semidefinite/Convex
Programming
P
#P Problems with
Miraculous Positivity
Test
Matching, LittlewoodRichardson coefficients…
Polynomial Identity Testing (assuming P=BPP)
Matrix Group
Membership
(modulo discrete log)
Polynomial
Factoring
Experimental Complexity Theory
We now have a pretty detailed
“statistical physics understanding”
of when and where NP-complete
problems become hard
[Achlioptas, Ricci-Tersenghi 2006]
Known heuristic algorithms fail
when a large connected cluster of
solutions “melts” into exponentially
many disconnected pieces
Claim: Had we been physicists, we would’ve
long ago declared PNP a law of nature
Feynman apparently had trouble accepting
that P vs. NP was an open problem at all!
When people say: “What if P=NP? What if there’s an
n10000 algorithm for SAT? Or an nlogloglog(n) algorithm?”
Response: What if the aliens killed JFK to
keep him from discovering that algorithm?
Achievement 3: Knowing What A
Nontrivial Lower Bound Looks Like
So What Does One Look Like?
Monotone lower bound
for CLIQUE [Razborov]
Lower bounds on
proof complexity
Lower bounds for constantdepth circuits [FSS, Ajtai, RS]
Circuit lower bounds
based on algebraic degree
[Strassen, Mulmuley…]
Lower bounds for specific
algorithms (DPLL, GSAT…)
Bounds on spectral gaps for NPcomplete problems [DMV, FGG]
nlog(n) lower bound on
multilinear formula size [Raz]
Time-space tradeoffs for SAT
Circuit lower bounds for PP, MAEXP, etc.
[BFT, Vinodchandran, Santhanam]
Metaquestion: Given how short these results fall of
proving PNP, can we infer anything from them about
what a proof of PNP would look like?
Yes! Any proof of PNP will have to contain most of the
known lower bounds as special cases
Analogy: We don’t have a quantum theory of gravity, but the fact
that it has to contain the existing theories (QM and GR) as limiting
cases constrains it pretty severely
This provides another explanation for why PNP is so hard,
as well as a criterion for evaluating proposed approaches
Achievement 4: Formal Barriers
The known barriers, in one sentence each
Relativization [BGS’75]: Any proof of PNP (or even much weaker
results) will need to use something specific about NP-complete
problems—something that wouldn’t be true in a fantasy universe
where P and NP machines could both solve PSPACE-complete
problems for free
Algebrization [AW’08]: Any proof of PNP (or even much weaker
results) will need to use something specific about NP-complete
problems, besides the extendibility to low-degree polynomials
used in IP=PSPACE and other famous non-relativizing results
Natural Proofs [RR’97]: Any proof of PNP will need to use some
specific property of NP-complete problems, which couldn’t be
exploited to certify a random Boolean function as hard
(For otherwise, we could turn the proof around and use it to break
pseudorandom generators—thereby solving many of the very same
problems we were trying to prove intractable!)
P  EXP [Hartmanis-Stearns]
RELATIVIZATION
PARITY  AC0 [FSS, Ajtai]
NATURAL PROOFS
P  NP
MAEXP  P/poly [BFT]
Achievement 5: Connections to
“Real” Math
The Blum-Cucker-Shub-Smale Model
One can define analogues of P and NP over an
arbitrary field F
When F is finite (e.g., F=F2), we recover the
usual P vs. NP question
When F=R or F=C, we get an interesting new
question with a “mathier” feel
All three cases (F=F2, F=R, and F=C) are open,
and no implications are known among them
But the continuous versions (while ridiculously
hard themselves) seem likely to be “easier”
than the discrete version
Even Simpler: PERMANENT vs.
DETERMINANT
per  A  
n
a
  S n i 1
i ,  i 
det  A  
n
 sgn   a
 S n
i ,  i 
i 1
[Valiant 70’s]: Given an nn matrix A, suppose you can’t
write per(A) as det(B), where B is a poly(n)poly(n) matrix of
linear combinations of the entries of A. Then AlgNCAlg#P.
This is important! It reduces a “P vs. NP-like” complexity
question to algebraic geometry—a subject about which
there are yellow books.
Mulmuley’s Geometric Complexity Theory (GCT) Program:
“The String Theory of Computer Science”
To each (real) complexity class C, one can associate a (real)
algebraic variety XC
Dream: Show that
X#P(n) has “too little
symmetry” to be
embedded into
XNC(m). This would
imply AlgNCAlg#P.
X#P(n) = “Orbit closure” of the
nn Permanent function, under
invertible linear transformations
of the entries
XNC(m) = “Orbit closure” of
the mm Determinant
function, for some m=poly(n)
Mulmuley’s GCT Program:
The String Theory of Computer Science
But where do we get any new leverage?
Proposal: Exploit the “exceptional” nature of the Permanent
and Determinant functions—the fact that these functions
can be uniquely characterized by their symmetries—to
reduce the embeddability problem to a problem in
representation theory
(Which merely requires a generalization of a generalization of a
generalization of the Riemann Hypothesis over finite fields)
Indeed, we already knew from Relativization / Algebrization /
Natural Proofs that we’d have to exploit some special
properties of the Permanent and Determinant, besides their
being low-degree polynomials
Metaquestion: Why should P  NP be provable at all?
Indeed, people have speculated since the 70s about its
possible independence from set theory—see [A.’03]
If P  NP is a “universal statement about mathematics,”
then why shouldn’t the proof require an infinite number
of mathematical ideas?
More concretely: if the proof needs to “know” that
MATCHING is in P, LINEAR PROGRAMMING is in P, etc., what
doesn’t it need to know is in P?
GCT suggests one possible answer: the proof would only
need to know about “exceptional” problems in P (e.g.,
problems characterized by their symmetries)
Conclusions
A proof of PNP might have to be the greatest synthesis of
mathematical ideas ever (but don’t let that discourage you)
“Obvious” starting point is PERMANENT vs. DETERMINANT
My prediction: Progress will come not by ignoring the last
half-century of complexity theory and starting afresh, but
by subsuming the many disparate facts we already know
into something terrifyingly bigger
If nothing else, this provides a criterion for
evaluating proposed P vs. NP attempts,
like the one we saw this summer
Download