Transcript
Page 1: Experimental Complexity Theory

Experimental Complexity Theory

Scott Aaronson

Page 2: Experimental Complexity Theory

Theoretical physics is to this…

as theoretical computer science is to what?

Page 3: Experimental Complexity Theory

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)

Page 4: Experimental Complexity Theory

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~

Page 5: Experimental Complexity Theory

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

Page 6: Experimental Complexity Theory

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

Page 7: Experimental Complexity Theory

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?

Page 8: Experimental Complexity Theory

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?


Recommended