Carnegie Mellon University
CMU-CS-21-119.pdf (2.06 MB)

Preconditioning and Locality in Algorithm Design

Download (2.06 MB)
posted on 2021-11-09, 21:59 authored by Jason LiJason Li
Algorithms is a broad, rich, and fast-growing field. For the latter half of last century, many branches of algorithms have emerged and grown in popularity, and many different techniques have been invented to solve the central problems in each area. Some of these techniques, such as the push-relabel algorithm for maximum flow, are specially designed to solve a single problem. Other techniques, such as the multiplicative weights update method, are more general and applicable to a wide range of problems. And others, such as dynamic programming, divide and conquer, and linear programming relaxation and rounding, are so fundamental that they have not only pervaded every branch of algorithms, but have ultimately reshaped the way we approach algorithm design. This thesis is devoted to studying two more modern algorithmic techniques,
namely preconditioning and locality, which were pioneered by Spielman and Teng [106] in their ground-breaking work on Laplacian system solvers and have seen countless new applications in the past decade. In this thesis, I successfully
apply preconditioning and locality to resolve fundamental open problems from a wide array of algorithmic subfields, from fast, sequential algorithms to deterministic
algorithms to parallel algorithms, thereby demonstrating the power and versatility of the two techniques. Taking one step further, I make my case that preconditioning and locality are more than just powerful tools with countless applications: they are new, fundamental ways of thinking about algorithms that have the potential to revolutionize algorithm design just like dynamic programming and divide and conquer had done in the past.




Degree Type

  • Dissertation


  • Computer Science

Degree Name

  • Doctor of Philosophy (PhD)


Anupam Gupta Bernhard Haeupler

Usage metrics


    Ref. manager