Why Philosophers Should Care About Computational Complexity Scott Aaronson∗ Abstract One might think that, once we know something is computable, how efficiently it can be com- puted is a practical question with little further philosophical importance. In this essay, I offer a detailed case that one would be wrong. In particular, I argue that computational complexity the- ory|the field that studies the resources (such as time, space, and randomness) needed to solve computational problems|leads to new perspectives on the nature of mathematical knowledge, the strong AI debate, computationalism, the problem of logical omniscience, Hume's problem of induction, Goodman's grue riddle, the foundations of quantum mechanics, economic rationality, closed timelike curves, and several other topics of philosophical interest. I end by discussing aspects of complexity theory itself that could benefit from philosophical analysis. Contents 1 Introduction 2 1.1 What This Essay Won't Cover .............................. 3 2 Complexity 101 5 3 The Relevance of Polynomial Time 6 3.1 The Entscheidungsproblem Revisited . 6 3.2 Evolvability . 8 3.3 Known Integers . 9 3.4 Summary . 10 4 Computational Complexity and the Turing Test 10 4.1 The Lookup-Table Argument . 12 4.2 Relation to Previous Work . 13 4.3 Can Humans Solve NP-Complete Problems Efficiently? . 14 4.4 Summary . 16 5 The Problem of Logical Omniscience 16 5.1 The Cobham Axioms . 18 5.2 Omniscience Versus Infinity . 20 5.3 Summary . 22 ∗MIT. Email:
[email protected]. This material is based upon work supported by the National Science Foundation under Grant No. 0844626.