Ryan Williams

Professor of Electrical Engineering and Computer Science
32 Vassar St, Cambridge, MA 02139

Email: first and middle initials + my last name at

I was a professor at Stanford from 2011-2016. I got a PhD from Carnegie Mellon under the marvelous Manuel Blum, and I was an undergrad at Cornell.
For more, see my CV below.
Teaching in Spring 2024: 18.405/6.541 Advanced Complexity Theory


Past Teaching:

Research Interests

In general, I try to understand what is easy and what is hard to compute, independently of any particular computer. I work in algorithm design and complexity theory, and I especially like connections between the two subjects. I think about many questions, but a few of them haunt me more than others. Some examples: Can the existence of an algorithm for a problem be used to prove that other algorithms cannot exist for other problems? 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?

Current PhD Students

Shyan Akmal
Rahul Ilango
Ce Jin
Ted Pyne
Jiatu Li

Graduated PhD Students

Huacheng Yu
Cody Murray
Josh Alman
Dylan McKay
Brynmor Chapman
Lijie Chen
Nikhil Vyas

Former Postdocs

Michael Forbes (UIUC)
Roei Tell (DIMACS/IAS)

About Me

I grew up near the big city of Somerville, Alabama, where there is good fishing in the water and good football on the radio. Further south in Alabama there is a good school for math and science.