Experimental Complexity Theory Scott Aaronson
Jan 12, 2016
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
- There are circuits on n variables—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.
n22~
Goal: Prove that when n=4, the permanent requires more arithmetic operations than the determinant
A concrete challenge
n
iiiaA
1,per
n
iiiaA
1,
sgn1det
Fastest known algorithm for computing the determinant of an nn matrix: O(n2.376)
For the permanent: O(n2n)
Advantages over Boolean problems like 3SAT: More “robust,” less dependent on input encoding
n By brute force
By Cramer’s rule
By dynamic programming
By Gaussian elimination
2 3 3 3 4
3 17 14 14 15
4 95 63 45 37
5 599 324 124 74
n
Number of arithmetic operations needed to compute nn determinant
n
m m
mn
2 !
12! 1
6
5
2
1
3
2 23 nnn 1! nn 121 nn n
1. EA := E/A
2. EAB := EA+B
3. FEAB := F-EAB
4. EAC := EAC
5. GEAC := G-EAC
6. EAD := EAD
7. HEAD := H-EAD
8. IA := I/A
9. IAB := IAB
10. JIAB := J-IAB
11. IAC := IAC
12. KIAC := K-IAC
13. IAD := IAD
14. LIAD := L-IAD
15. MA := M/A
16. MAB := MAB
17. NMAB := N-MAB
18. MAC := MAC
19. OMAC := O-MAC
20. MAD := MAD
21. PMAD := P-MAD
22. JF := JIAB/FEAB
23. JFG := JFGEAC
24. KJFG := KIAC-JFG
25. JFH := JFHEAD
26. LJFH := LIAD-JFH
27. NF := NMAB/FEAB
28. NFG := NFGEAC
29. ONFG := OMAC-NFG
30. NFH := NFHEAD
31. PNFH := PMAD-NFH
32. OK := ONFG/KJFG
33. OKL := OKLJFH
34. POKL := PNFH-OKL
35. X := AFEAB
36. Y := XKJFG
37. DET := YPOKL
PONM
LKJI
HGFE
DCBA
using only 37 arithmetic operations
How to compute
OPTIMAL?
To show that the 44 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?