Guest Column: Applying Practice to Theory1 Ryan Williams2 Abstract How can complexity theory and algorithms bene t from practical advances in computing? We give an overview of some prior work using practical computing to attack problems in computational complexity and algorithms, informally describe how linear program solvers may be used to help prove new lower bounds for satis ability, and suggest a research program for developing new understanding in circuit complexity. Introduction As hardware becomes steadily more powerful, computer scientists should repeatedly ask themselves what can we do with all the spare computing power at our disposal? There have been many inventive and exciting answers to this question in the form of distributed computing projects, from the study of protein folding (Folding@Home) to the improvement of climate models (Climateprediction.net) to the search for extraterrestrial intelligence (SETI@Home) to the mathematically intriguing (the Great Internet Mersenne Prime Search). I would like to suggest that some spare computing power should be devoted towards achieving a better understanding of computation itself: solving signi cant open problems in theoretical computer science. I would hope that this suggestion is indisputable. Considering all that we do not understand in the theory of computing, exploiting extraneous
/lp/association-for-computing-machinery/applying-practice-to-theory-Xz8WoZnwCe