Mathematics And Computation

Transcription

Mathematics and ComputationAvi WigdersonMarch 27, 20181

Avi WigdersonMathematics and ComputationDraft: March 27, 2018Dedicated to the memory of my father, Pinchas Wigderson (1921–1988),who loved people, loved puzzles, and inspired me.Ashkhabad, Turkmenistan, 19432

Avi WigdersonMathematics and ComputationDraft: March 27, 2018AcknowledgmentsIn this book I tried to present some of the knowledge and understanding I acquired in my fourdecades in the field. The main source of this knowledge was the Theory of Computation community, which has been my academic and social home throughout this period. The members of thiswonderful community, especially my teachers, students, postdocs and collaborators, but also thespeakers in numerous talks I attended, have been the source of this knowledge and understandingoften far more than the books and journals I read. Ours is a generous and interactive community,whose members are happy to share their own knowledge and understanding with others, and aretrained by the culture of the field to do so well. These interactions made (and still makes) learninga greatly joyful experience for me!More directly, the content and presentation in this book benefited directly by many. These arefriends who carefully read earlier drafts, responded with valuable constructive comments at all levels,which made the book much better. For this I am grateful to Scott Aaronson, Dorit Aharonov, NogaAlon, Sanjeev Arora, Boaz Barak, Zeb Brady, Mark Braverman, Bernard Chazelle, Tom Church,Geoffroy Couteau, Andy Drucker, Ron Fagin, Yuval Filmus, Michael Forbes, Ankit Garg, SumeghaGarg, Oded Goldreich, Renan Gross, Nadia Heninger, Gil Kalai, Vickie Kearn, Pravesh Kothari,James Lee, Alex Lubotzky, Assaf Naor, Ryan O’Donnell, Toni Pitassi, Tim Roughgarden, SashaRazborov, Mike Saks, Peter Sarnak, Susannah Shoemaker, Amir Shpilka, Alistair Sinclair, BillSteiger, Arpita Tripathi, Salil Vadhan, Les Valiant, Thomas Vidick, BenLee Volk, Edna Wigderson,Yuval Wigderson, Ronald de Wolf, Amir Yehudayoff, Rich Zemel and David Zuckerman. Specialadditional thanks are due to Edna and Yuval, who not only read every word (several times), butalso helped me overcome many technical problems with the manuscript.Some chapters in this book are revisions and extensions of material taken from my ICM 2006survey [Wig06], which in turn used parts of a joint survey with Goldreich in this volume [GBGL10].Last but not least, I am grateful to Tom and Roselyne Nelsen for letting me use their beautifulhome in Sun Valley, Idaho - much of this book was written in that serene environment over thepast few summers.3

Avi WigdersonMathematics and ComputationDraft: March 27, 2018Contents1 Introduction1.1 On the interactions of math and computation . . . .1.2 Computational Complexity Theory . . . . . . . . . .1.3 The nature, purpose, style and audience of the book1.4 Organization of the book . . . . . . . . . . . . . . .1.5 Asymptotic Notation . . . . . . . . . . . . . . . . . .910131415192 Prelude: computation, undecidability and the limits of mathematical knowledge 203 Computational complexity 101: the basics3.1 Motivating examples . . . . . . . . . . . . . . . . . . . . . . .3.2 Efficient computation and the class P . . . . . . . . . . . . .3.3 Efficient verification and the class N P . . . . . . . . . . . . .3.4 The P versus N P question, its meaning and importance . . .3.5 The class coN P, the N P versus coN P question, and efficient3.6 Reductions: a partial order of computational difficulty . . . .3.7 Completeness: problems capturing complexity classes . . . . .3.8 N P-completeness . . . . . . . . . . . . . . . . . . . . . . . . .3.9 Some N P-complete problems . . . . . . . . . . . . . . . . . .3.10 The nature and impact of N P-completeness . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .characterization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24242630343740414243454 Problems and classes inside (and “around”) N P4.1 Other types of computational problems and associated complexity classes4.2 Between P and N P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.3 Constraint Satisfaction Problems (CSPs) . . . . . . . . . . . . . . . . . . .4.4 Average-case complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . .4.5 One-way functions, trap-door functions and cryptography . . . . . . . . .4848505355565 Lower bounds, Boolean Circuits, and attacks on P vs. N P5.1 Diagonalization and relativization . . . . . . . . . . . . . . . . .5.2 Boolean circuits . . . . . . . . . . . . . . . . . . . . . . . . . . .5.2.1 Basic results and questions . . . . . . . . . . . . . . . .5.2.2 Boolean formulae . . . . . . . . . . . . . . . . . . . . . .5.2.3 Monotone circuits and formulae . . . . . . . . . . . . . .5.2.4 Natural Proofs, or, Why is it hard to prove circuit lower. . . . . . . . . . . . . . . . . . . . .bounds?.616162646567696 Proof complexity6.1 The pigeonhole principle—a motivating example6.2 Propositional proof systems and N P vs. coN P .6.3 Concrete proof systems . . . . . . . . . . . . . .6.3.1 Algebraic proof systems . . . . . . . . . .6.3.2 Geometric proof systems . . . . . . . . . .6.3.3 Logical proof systems . . . . . . . . . . .6.4 Proof complexity vs. circuit complexity . . . . .71737476767881834.

Avi WigdersonMathematics and ComputationDraft: March 27, 20187 Randomness in computation867.1 The power of randomness in algorithms . . . . . . . . . . . . . . . . . . . . . . . . . 867.2 The weakness of randomness in algorithms . . . . . . . . . . . . . . . . . . . . . . . . 897.3 Computational pseudo-randomness and pseudo-random generators . . . . . . . . . . 928 Abstract pseudo-randomness8.1 Motivating examples . . . . . . . . . . . . . . . . . . . . . . . . .8.2 General pseudo-random properties, and finding hay in haystacks8.3 The Riemann Hypothesis . . . . . . . . . . . . . . . . . . . . . .8.4 P vs. N P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8.5 Computational pseudo-randomness and de-randomization . . . .8.6 Quasi-random graphs . . . . . . . . . . . . . . . . . . . . . . . . .8.7 Expanders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8.8 Structure vs. Pseudo-randomness . . . . . . . . . . . . . . . . . .1001001011031041061081091139 Weak random sources and randomness extractors1179.1 Min-entropy and randomness extractors . . . . . . . . . . . . . . . . . . . . . . . . . 1189.2 Explicit constructions of extractors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12010 Randomness in proofs12310.1 Interactive proof systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12410.2 Zero-knowledge proof systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12710.3 Probabilistically checkable proofs (and hardness of approximation) . . . . . . . . . . 12911 Quantum Computing11.1 Building a quantum computer . . . . . . . . . . . . . . . . . . . . . . .11.2 Quantum proofs and quantum Hamiltonian complexity and dynamics11.3 Quantum interactive proofs and testing Quantum Mechanics . . . . .11.4 Quantum randomness: certification and expansion . . . . . . . . . . .13213513614014112 Arithmetic complexity12.1 Motivation: univariate polynomials . . . .12.2 Basic definitions, questions and results . .12.3 The complexity of basic polynomials . . .12.4 Reductions and completeness, permanents12.5 Restricted models . . . . . . . . . . . . . .144144145146151153. . . . . . . . . . . . . . . . . . . . . . . . . . . .and determinants. . . . . . . . . .13 Interlude: Concrete interactions between Math and Computational Complexity15613.1 Number Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15613.2 Combinatorial geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15813.3 Operator theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15913.4 Metric Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16113.5 Group Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16213.6 Statistical Physics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16413.7 Analysis and Probability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16613.8 Lattice Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16913.9 Invariant Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1715

Avi WigdersonMathematics and ComputationDraft: March 27, 201813.9.1 Geometric Complexity Theory (GCT) . . . . . . . . . . . . . . . . . . . . . . 17313.9.2 Simultaneous Conjugation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17413.9.3 Left-Right action . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17514 Space complexity: modeling limited memory17714.1 Basic space complexity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17714.2 Streaming and Sketching . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18014.3 Finite automata and counting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18115 Communication complexity: modeling information bottlenecks15.1 Basic definitions and results . . . . . . . . . . . . . . . . . . . . . . .15.2 Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15.2.1 VLSI time-area trade-offs . . . . . . . . . . . . . . . . . . . .15.2.2 Time-space trade-offs . . . . . . . . . . . . . . . . . . . . . .15.2.3 Formula lower bounds . . . . . . . . . . . . . . . . . . . . . .15.2.4 Proof complexity . . . . . . . . . . . . . . . . . . . . . . . . .15.2.5 Extension complexity . . . . . . . . . . . . . . . . . . . . . .15.2.6 Pseudo-randomness . . . . . . . . . . . . . . . . . . . . . . .15.3 Interactive information theory and coding theory . . . . . . . . . . .15.3.1 Information complexity, protocol compression and direct-sum15.3.2 Error-correction of interactive communication . . . . . . . . .18518518818818919019319419719819920216 On-line algorithms: coping with an unknown future20616.1 Paging, Caching and the k-server problem . . . . . . . . . . . . . . . . . . . . . . . . 20816.2 Expert advice, portfolio management, repeated games and the multiplicative weightsalgorithm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20917 Computational learning theory, AI and beyond17.1 Classifying hyperplanes—a motivating example . . . . . . . . . . . . . . . .17.2 Classification/Identification—some choices and modeling issues . . . . . . .17.3 Identification in the limit—the linguistic/recursion theoretic approach . . .17.4 Probably, Approximately Correct (PAC) learning—the statistical approach17.4.1 Basics of the PAC framework . . . . . . . . . . . . . . . . . . . . . .17.4.2 Efficiency and optimization . . . . . . . . . . . . . . . . . . . . . . .17.4.3 Agnostic PAC learning . . . . . . . . . . . . . . . . . . . . . . . . . .17.4.4 Compression and Occam’s razor . . . . . . . . . . . . . . . . . . . .17.4.5 Boosting: making weak learners strong . . . . . . . . . . . . . . . . .17.4.6 The hardness of PAC learning (and in particular, of DNFs) . . . . .21321421621822122222522622622723018 Cryptography: modeling secrets and lies, knowledge and trust18.1 The ambitions of modern cryptography . . . . . . . . . . . . . . . . . . . .18.2 Information theory vs. Complexity theory: Take 1 . . . . . . . . . . . . . .18.3 The axioms of modern, complexity-based cryptography . . . . . . . . . . . .18.4 Cryptographic definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . .18.5 Probabilistic encryption . . . . . . . . . . . . . . . . . . . . . . . . . . . . .18.6 Basic paradigms for security definitions: simulation and ideal functionality .18.7 Secure Multi-Party Computation (SMC) . . . . . . . . . . . . . . . . . . . .2332332342352362382392436

Avi WigdersonMathematics and Computation18.8 Information theory vs. Complexity theory:18.9 More recent advances . . . . . . . . . . .18.10Physical attacks . . . . . . . . . . . . . . .18.11The complexity of factoring . . . . . . . .24624725025119 Distributed computing: coping with asynchrony19.1 High-level modeling issues . . . . . . . . . . . . . . . .19.2 Sharing resources and the dining philosophers problem19.3 Coordination: consensus and Byzantine generals . . .19.4 Renaming, k-set agreement and beyond . . . . . . . .19.5 Local synchronous coloring . . . . . . . . . . . . . . .25225325525726026620 Epilogue: a broader perspective of ToC20.1 Close collaborations and interactions . . . . . . . . . . . . . . .20.1.1 Computer Science and Engineering . . . . . . . . . . . .20.1.2 Mathematics . . . . . . . . . . . . . . . . . . . . . . . .20.1.3 Optimization . . . . . . . . . . . . . . . . . . . . . . . .20.1.4 Coding and Information Theory . . . . . . . . . . . . .20.1.5 Statistical Physics . . . . . . . . . . . . . . . . . . . . .20.2 What is computation? . . . . . . . . . . . . . . . . . . . . . . .20.3 ToC Methodology . . . . . . . . . . . . . . . . . . . . . . . . .20.4 The computational complexity lens on the sciences . . . . . . .20.4.1 Molecular Biology . . . . . . . . . . . . . . . . . . . . .20.4.2 Ecology and Evolution . . . . . . . . . . . . . . . . . . .20.4.3 Neuroscience . . . . . . . . . . . . . . . . . . . . . . . .20.4.4 Quantum Physics . . . . . . . . . . . . . . . . . . . . . .20.4.5 Economics . . . . . . . . . . . . . . . . . . . . . . . . . .20.4.6 Social Science . . . . . . . . . . . . . . . . . . . . . . . .20.5 Conceptual contributions; or, algorithms and philosophy . . . .20.6 Algorithms and Technology . . . . . . . . . . . . . . . . . . . .20.6.1 Algorithmic heroes . . . . . . . . . . . . . . . . . . . . .20.6.2 Algorithms and Moore’s Law . . . . . . . . . . . . . . .20.6.3 Algorithmic gems vs. Deep Nets . . . . . . . . . . . . .20.7 Some important challenges of ToC . . . . . . . . . . . . . . . .20.7.1 Certifying intractability . . . . . . . . . . . . . . . . . .20.7.2 Understanding heuristics . . . . . . . . . . . . . . . . . .20.7.3 Resting cryptography on stronger foundations . . . . . .20.7.4 Exploring physical reality vs. computational complexity20.8 K-12 Education . . . . . . . . . . . . . . . . . . . . . . . . . . .20.9 The ToC community . . . . . . . . . . . . . . . . . . . . . . . .20.10Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . 942962962972982992993003023033053073117Take 2. . . . . . . . . . . . .Draft: March 27, 2018

Avi WigdersonMathematics and ComputationDraft: March 27, 2018List of ances of problem (2) and their classification. The left is a diagram of the “Trefoilknot” and the right of the “Unknot”. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20Instances of problem (3) and their classification. Both maps are 4-colorable. . . . . . 21A graph with a perfect matching (shown) and one without a perfect matching . . . . 29Two linear programs with 2 variables and 3 inequalities. . . . . . . . . . . . . . . . . 29Which of these graphs are Hamiltonian? Which pairs of these graphs are isomorphic? 32P, N P, and coN P . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39A schematic illustration of a reduction between two classification problems . . . . . 41Composing a reduction and an algorithm to create a new algorithm . . . . . . . . . 41The gadget underlying the reduction from SAT to 3-COL. . . . . . . . . . . . . . . . 45Between P and PSPACE. As far as we know, all these classes may be equal! . . . . 51A circuit computing parity on 4 bits. . . . . . . . . . . . . . . . . . . . . . . . . . . . 63A formula computing parity on 4 bits. . . . . . . . . . . . . . . . . . . . . . . . . . . 66The contradiction φ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76A tree-like Polynomial Calculus refutation of φ . . . . . . . . . . . . . . . . . . . . . 78A tree-like Cutting Planes refutation of φ . . . . . . . . . . . . . . . . . . . . . . . . 79A tree-like Resolution refutation of φ . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Schematic of a pseudo-random distribution Dn -fooling a circuit C. . . . . . . . . . 90Schematic of a pseudo-random generator G -fooling a circuit C. . . . . . . . . . . . 91Schematic of N Wf . Essentially, the n outputs are obtained by applying f to ndifferent subsequences (with small pairwise overlaps) of the m-bit long input sequence. 97Dining philosophers’ table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255Triangulation and Sperner coloring. Rainbow triangles are shaded. (Source: Wikipedia)262Basic “triangulation”, i.e. D1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264Cube and tetrahedron from DNA strands, from Ned Seeman’s lab . . . . . . . . . . 284Search “starling murmurings” for amazing videos! . . . . . . . . . . . . . . . . . . . . 2868

Avi WigdersonMathematics and ComputationDraft: March 27, 2018“P versus N P — a gift to mathematics from computer science”Steve Smale1IntroductionHere is just one tip of the iceberg we’ll explore. How much time does it take to find the primefactors of a 1000-digit integer? The facts are that (1) we can’t even roughly estimate for the answer;it can be less than a second or more than a million years, and (2) practically all electronic commerceand Internet security systems in existence today rest on the belief that it takes more than a millionyears!Digesting even this one specific example begins to illuminate the conceptual revolution of computational complexity theory, to which this book is devoted. It illustrates how a pure numbertheoretic problem, that was studied for millennia by mathematicians, becomes a cornerstone of atrillion dollar industry that practically all people, companies and countries on earth crucially depend on. Extracting this novel meaning and utility relies on making the problem above precise, andon transforming the informal statement of (2) into a mathematical theorem. This in turn requiresformal definitions of such concepts as algorithm, efficiency, secret, randomness and many others,including several new notions of proof. The difficulty of resolving (the now all-important) challenge(1), namely testing the strength of the hardness assumption of (2) or suggesting alternatives toit, is intimately related to the great conundrum of P vs. N P. And as a final twist in this plot,a fork appeared in our computational path, by which the answer to (1) may radically depend onwhether we allow classical or quantum physics to power our computers. This new possibility propelled huge investments in academia and industry to attempt and physically realize the potentialof quantum computers. It also demands revisiting and redefining the very concepts above, as wellas many physical ones like entanglement and decoherence, interacting with quantum mechanics andproposing novel ways of testing its foundations.The book you are reading will explore this intellectual goldmine! It will exposit computationalcomplexity theory, the concepts it created and revolutionized, and its many connections and interactions with mathematics. In its half-century of existence it has developed into a rich, deep andbroad mathematical theory with remarkable achievements and formidable challenges. It had forgedstrong connections with most other mathematical fields, and at the same time had major practicalimpact on computer science and industry.Computational complexity theory is a central subfield of the Theory of Computation (ToC),with a pivotal role in its evolution. We have devoted the final chapter of this book (which canbe read first) to a panoramic overview of ToC. It exposits the intellectual supernova that thetheory of computing has created and continues to shape, discussing the broad reaches of ToC to allsciences, technology and society, and discusses its methodology, challenges and unique position inthe intellectual sphere.Below we review the long history of interactions of computation and mathematics. We proceedwith a short overview of the evolution and nature of computational complexity. We then turndescribe the structure, scope and intended audiences of this book, followed by a detailed descriptionof its chapters.9

Avi Wigderson1.1Mathematics and ComputationDraft: March 27, 2018On the interactions of math and computationThe Theory of Computation is the study of the formal foundations of computer science and technology. This dynamic and rapidly expanding field straddles mathematics and computer science. It hasbenefitted tremendously from the very different characters, motivations and traditions of these parent disciplines. Both sides naturally emerged from its birth, in the “big bang” of Turing’s seminal1936 paper [Tur36], “On computable numbers, with an application to the Entscheidungsproblem”.One has to remember that this is a paper which was written by a PhD student, in the area ofmathematical logic, that combined with its long title might seem condemned to obscurity. However, with Turing’s incredible clarity of vision, exposition and motivation, it is an inspiring modelin mathematical modeling with singular impact. This paper formally defined an algorithm in theform of what we call today the “Turing machine”. On the one hand, the Turing machine is aformal, mathematical model of computation, enabling for the first time the rigorous definition ofcomputational tasks, the algorithms to solve them, and the basic resources these require (in particular, allowing Turing to prove that very basic tasks are uncomputable!). On the other hand, theextremely elegant definition of the Turing machine allowed its simple, logical design to be readilyimplemented in hardware and software, igniting the computer revolution.These theoretical and practical sides form the dual nature of ToC and strongly influenced thefield and its evolution. On the mathematical side, the abstract notion of computation revealed itselfas an extremely deep and mysterious notion, which illuminates other, often well studied conceptswith a new light. In pursuing the abstract study of computation ToC progresses like any othermathematical field. Its researchers prove theorems, and follow mathematical culture to generalize,simplify and create variations, following their noses based on esthetics and beauty. From thepractical side, the universal applicability of automated computation fueled the rapid developmentof computer technology, which now dominates our life. The interaction between the theory andpractice never stops. The evolving world of computer science and industry continuously createsnew types and properties of computation which need theoretical modeling and understanding, anddirectly impacts the mathematical evolution of ToC, while ideas, models and techniques generatedthere feed back into the practical world. Besides technology, a more recent and growing source ofexternal influence on ToC are nature and science. Many natural processes can (and should) beunderstood as information processes, and beg similar computational understanding. Again here,theoretical modeling, techniques and new theoretical questions feed back to suggest experiments andbetter understanding of scientific data. Much more on these connections is discussed in Chapter 20.Needless to say, mathematics and computation did not meet in 1936 for the first time; they havebeen tied to each other from the dawn of man. Indeed, ancient mathematics developed primarilyfrom the need to compute, be it in predictions of natural phenomena of all types, management ofcrops and livestock, manufacturing and building, trading commodities and planning for the future.Devising representations of numbers, and efficient methods for performing arithmetic on them werethus central. More generally, in a very fundamental way, a mathematical understanding could solveany practical problem only through a computational process applied to the data at hand. So, whilealgorithms were formally defined only in the 20th century, mathematicians and scientists continuously devised, described, and used better and better algorithms (albeit informally explained andrarely analyzed) for the computations required to draw conclusions from their theories. Examplesabound, and we list just a few highlights. Euclid, working around 300 BCE, devised his fast GCD11 The GCD (Greatest Common Division) problem, is to compute the largest integer evenly dividing two otherintegers.10

Avi WigdersonMathematics and ComputationDraft: March 27, 2018algorithm to bypass the need to laboriously factor integers when simplifying fractions. Euclid’sfamous 13-volume Elements, the central math text for many centuries, contain dozens of otheralgorithms to compute numerical and geometric quantities and structures. In the same era Chinesemathematicians compiled The Nine Chapters on the Mathematical Art, containing many computational methods including “Gaussian elimination” (for solving systems of linear equations). In the9th century al-Khwārizmı̄ (after whom algorithm is named!) wrote his books Compendious Bookon Calculation by Completion and Balancing and On the Hindu Art of Reckoning. These booksrespectively exposit everything known till that time about algorithms for algebraic and arithmeticproblems, like solving quadratic equations and linear systems, and performing arithmetic operations in the decimal system. It is a crucial observation to make, that the very reason that thedecimal system survived as the dominant way to represent numbers is these efficient algorithms forperforming arithmetic on arbitrarily large numbers so represented.The “modern era” has intensified these connections between math and computation. Again,there are numerous examples. During the Renaissance, mathematicians found formulas, the mostbasic computational recipe, for solving cubic and quartic equations via radicals2 . Indeed, famouscompetitions between Tartaglia, Piore, Ferrari and others in the early 1500s were all about whohad a faster algorithm for solving cubic equations. The Abel-Ruffini theorem that the quinticequation has no such formula is perhaps the earliest hardness result: it proves the non-existenceof an algorithm for a concrete problem, in a precise computational model. Newton’s PrincipiaMathematica is a masterpiece not only of grand scientific and mathematical theories; it is also amasterpiece of algorithms for computing the predictions of these theories. Perhaps the most famousand most general is “Newton’s method” for approximating the roots of real polynomials of arbitrarydegree (practically bypassing the Abel-Ruffini obstacle above). The same can be said about Gauss’magnum opus, Disquisitiones Arithmeticae—it is full of algorithms and computational methods.One famous example (published after his death), is his discovery3 of the “fast Fourier transform”(FFT), the central algorithm of signal processing, some 150 years before its “official” discoveryby Cooley and Tukey. Aiming beyond concrete problems, Leibniz, Babbage, Lovelace and otherspioneered explicit attempts to design, build and program general-purpose computational devices.Finally, Hilbert dreamed of resting all of mathematics on computational foundations, seeking a“mechanical procedure” which will (in principle) determine all mathematical truths. He believedthat truth and proof coincide (namely that every true statement has a valid proof), and that suchproofs can be found automatically by such a computational procedure. The quest to formalizeHilbert’s program within mathematical logic led directly to the works of Gödel, Church, Post andTuring. Their work shattered Hilbert’s dreams (proving them unattainable), but to do so it gavebirth to formal definitions of computation and algorithms. Once these theoretical foundations werelaid, the computer revolution arrived.The birth of computer science, and with it, the theory of computation, steadily enhanced,deepened and diversified the interactions between mathematics and computation, which in the lastfew decades have been growing explosively. These interactions can be roughly divided into four(naturally overlapping) categories. The first two categories arise from one field using the expertisedeveloped by the other; these interactions are often mainly one-directional. The next two categoriesare more complex and are very much interactive. We will see many of them in action throughoutthe book.2 Namely,3 Forusing ar

Avi Wigderson Mathematics and Computation Draft: March 27, 2018 List of Figures 1 Instances of problem (2) and t