Transcript Slide 1

NP-complete Problems and
Physical Reality
Scott Aaronson
UC Berkeley  IAS
Computer Science 101
Problem: “Given a graph, is it connected?”
Each particular graph is an instance
The size of the instance, n, is the number of
bits needed to specify it
An algorithm is polynomial-time if it uses at
most knc steps, for some constants k,c
P is the class of all problems that have
polynomial-time algorithms
NP: Nondeterministic
Polynomial Time
Does
37976595177176695379702491479374117272627593
30195046268899636749366507845369942177663592
04092298415904323398509069628960404170720961
97880513650802416494821602885927126968629464
31304735342639520488192047545612916330509384
69681196839122324054336880515678623037853371
49184281196967743805800830815442679903720933
have a prime factor ending in 7?
NP-hard: If you can solve it, you
can solve everything in NP
NP-complete: NP-hard and in NP
Is there a
Hamilton cycle
(tour that visits
each vertex
exactly once)?
NP-hard
Hamilton cycle
Steiner tree
Graph 3-coloring
Satisfiability
Maximum clique
…
NPcomplete
NP
Graph connectivity
Primality testing
Matrix determinant
Linear programming
…
P
Matrix permanent
Halting problem
…
Factoring
Graph isomorphism
Minimum circuit size
…
Does
P=NP?
The (literally) $1,000,000 question
But what if P=NP, and the
10000
algorithm takes n
steps?
God will not be so cruel
What could we do if we could
solve NP-complete problems?
If there actually were a machine with [running
time] ~Kn (or even only with ~Kn2), this would
have consequences of the greatest magnitude.
—Gödel to von Neumann, 1956
Then why is it so hard to
prove PNP?
Algorithms can be very clever
Gödel/Turing-style self-reference
arguments don’t seem powerful enough
Combinatorial arguments face the
“Razborov-Rudich barrier”
But maybe there’s some
physical system that solves
an NP-complete problem
just by reaching its lowest
energy state?
-
Dip two glass plates with pegs
between them into soapy water
-
Let the soap bubbles form a minimum
Steiner tree connecting the pegs
Other Physical Systems
Spin glasses
Folding proteins
...
Well-known
to admit
“metastable”
states
DNA computers: Just highly parallel
ordinary computers
Analog Computing
Schönhage 1979: If we could compute
x+y, x-y, xy, x/y, x
for any real x,y in a single step, then we
could solve NP-complete and even
harder problems in polynomial time
Problem: The Planck scale!
Quantum Computing
Shor 1994: Quantum computers can
factor in polynomial time
But can they solve NP-complete problems?
Bennett, Bernstein, Brassard, Vazirani
1997: “Quantum magic” won’t be enough
~2n/2 queries are needed to search a list of
size 2n for a single marked item
A. 2004: True even with “quantum advice”
Quantum Adiabatic Algorithm
(Farhi et al. 2000)
Hi
Hamiltonian with
easily-prepared
ground state
Hf
Ground state encodes
solution to NPcomplete problem
Problem (van Dam, Mosca, Vazirani 2001):
Eigenvalue gap can be exponentially small
“Relativity Computing”
DONE
Topological Quantum Field
Theories (TQFT’s)
Freedman, Kitaev, Wang 2000:
Equivalent to ordinary quantum computers
Nonlinear Quantum Mechanics
(Weinberg 1989)
Abrams & Lloyd 1998: Could use to
solve NP-complete and even harder
problems in polynomial time
1 solution to NP-complete problem
No solutions
Time Travel Computing
Chronology-respecting bit
(Bacon 2003)
xy
x
Causal
loop
x
y
Suppose
Pr[x=1] = p,
Pr[y=1] = q
Then consistency
requires p=q
So Pr[xy=1]
= p(1-q) + q(1-p)
= 2p(1-p)
Hidden Variables
Valentini 2001: “Subquantum” algorithm (violating
||2) to distinguish |0 from 1  2  n 0  2  n 1
Problem: Valentini’s algorithm still requires
exponentially-precise measurements.
But we probably could solve Graph Isomorphism
subquantumly
A. 2002: Sampling the history of a hidden
variable is another way to solve Graph
Isomorphism in polynomial time—but again,
probably not NP-complete problems!
Quantum Gravity
“Anthropic Computing”
Guess a solution to an NP-complete
problem. If it’s wrong, kill yourself.
Doomsday alternative:
If solution is right, destroy human race.
If wrong, cause human race to survive into
far future.
“Transhuman Computing”
• Upload yourself onto a computer
• Start the computer working on a
10,000-year calculation
• Program the computer to make 50
copies of you after it’s done, then tell
those copies the answer
Second Law of
Thermodynamics
Proposed
Counterexamples
No Superluminal
Signalling
Proposed
Counterexamples
Intractability of
NP-complete
problems
Proposed
Counterexamples