Experimental Complexity Theory Scott Aaronson Theoretical physics is

  • Slides: 8
Download presentation
Experimental Complexity Theory Scott Aaronson

Experimental Complexity Theory Scott Aaronson

Theoretical physics is to this… as theoretical computer science is to what?

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

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

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.

A concrete challenge Fastest known algorithm for computing the determinant of an n n

A concrete challenge Fastest known algorithm for computing the determinant of an n n matrix: O(n 2. 376) For the permanent: O(n 2 n) Goal: Prove that when n=4, the permanent requires more arithmetic operations than the determinant Advantages over Boolean problems like 3 SAT: More “robust, ” less dependent on input encoding

Number of arithmetic operations needed to compute n n determinant n By brute By

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

How to compute using only 37 arithmetic operations OPTIMAL? 1. EA : = E/A

How to compute using only 37 arithmetic operations OPTIMAL? 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 7. HEAD : = H-EAD 26. LJFH : = LIAD-JFH 8. IA : = I/A 27. NF : = NMAB/FEAB 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 19. OMAC : = O-MAC

To show that the 4 4 permanent can’t be computed with 37 arithmetic operations,

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?