Wild Idea - Scott Aaronson

Experimental Complexity
Theory
Scott Aaronson
Theoretical physics is to this…
as theoretical computer science is to what?
Suppose (hypothetically) that we had the
kind of money the physicists have
Is there any way we could use it to advance
understanding of the P vs. NP question?
(Besides more students, coffee,
whiteboard markers…)
Idea: Use high-performance computing
to find minimal circuits for hard problems
(for small values of n)
The hope: Examining the minimal circuits would
inspire new conjectures about asymptotic
behavior, which we could then try to prove
Conventional wisdom: We wouldn’t learn
anything this way
~2
2n circuits on n variables—
- There are
astronomical even for tiny n
- Small-n behavior can be notoriously
misleading about asymptotics
My view: The conventional wisdom is probably
right. That’s why I’m talking in this session.
A concrete challenge
det  A    1
sgn 

n
a  
i,
i
i 1
n
per  A   ai , i 

i 1
Fastest known algorithm for computing the
determinant of an nn matrix: O(n2.376)
For the permanent: O(n2n)
Goal: Prove that when n=4, the permanent requires
more arithmetic operations than the determinant
Advantages over Boolean problems like 3SAT:
More “robust,” less dependent on input encoding
Number of arithmetic operations
needed to compute nn determinant
n By brute By Cramer’s By dynamic By Gaussian
force
rule
programming elimination
2
3
3
3
4
3
17
14
14
15
4
95
63
45
37
5
599
324
124
74
nn!  1
2m  1
n! 
m!
m2
n
n
n  12
n
 n 1
2 3 1 2 5
n  n  n 1
3
2
6
How to compute
A
B
C
D
1. EA := E/A
20. MAD := MAD
2. EAB := EA+B
21. PMAD := P-MAD
3. FEAB := F-EAB
22. JF := JIAB/FEAB
4. EAC := EAC
23. JFG := JFGEAC
5. GEAC := G-EAC
24. KJFG := KIAC-JFG
6. EAD := EAD
25. JFH := JFHEAD
E
F
G
H
I
J
K
L
7. HEAD := H-EAD
26. LJFH := LIAD-JFH
8. IA := I/A
27. NF := NMAB/FEAB
M
N
O
P
9. IAB := IAB
28. NFG := NFGEAC
10. JIAB := J-IAB
29. ONFG := OMAC-NFG
11. IAC := IAC
30. NFH := NFHEAD
12. KIAC := K-IAC
31. PNFH := PMAD-NFH
13. IAD := IAD
32. OK := ONFG/KJFG
14. LIAD := L-IAD
33. OKL := OKLJFH
15. MA := M/A
34. POKL := PNFH-OKL
16. MAB := MAB
35. X := AFEAB
17. NMAB := N-MAB
36. Y := XKJFG
18. MAC := MAC
37. DET := YPOKL
using only 37
arithmetic
operations
OPTIMAL?
19. OMAC := O-MAC
To show that the 44 permanent can’t be
computed with 37 arithmetic operations, how
many programs would we need to examine?
Naïvely, 10123
For comparison, SETI@home does 1022
floating-point operations per year
How far can we cut down the search space?