# Ryan Williams

Email: rrwi...@gmail.com
(Click on the dots to get my email.)

Ph.D. 2007, Carnegie Mellon University

Previously I was in the Theory Group at IBM Almaden, supported by the Josef Raviv Fellowship. Before that I was a member of the School of Mathematics at the Institute for Advanced Study in Princeton, NJ.

## Teaching in Spring 2015: CS254

I work in algorithm design and complexity theory, and especially connections between the two subjects. I think about many questions, but a few of them haunt me more than others. Can the existence of an algorithm for a problem be used to prove that other algorithms cannot exist? Can the nonexistence of algorithms be used to prove that another algorithm correctly solves a problem? (In fact, there are "yes" answers to both questions.) Does every function implementable with a low memory footprint also have a fast implementation? (Is $P = PSPACE$?) Could computers themselves help us make progress on answering these questions?