Undirected Connectivity in Log-Space by Omer Reingold (PDF)
Intuitively, this result says you can tell if two points are connected in a complex maze by only having to remember the equivalent of a constant number of locations in the maze. Reingold's algorithm builds an expander graph based on the zig-zag construction in a very clever way that uses very little space to construct and to check that two points connect.
In 1979, Aleliunas, Karp, Lipton, Lovász and Rackoff showed that one can solve s-t connectivity in randomized logarithmic space by taking a random walk on the graph. My last favorite theorem from 2004 talked about derandomizing space algorithms and before Reingold the best algorithm for s-t connectivity required log4/3 space. Indepently of Reingold, Vladimir Trifonov gave a O(log n log log n) space algorithm for s-t connectivity, a victim of bad timing.
One neat implication of Reingold's result is a new and simpler characterization of log-space as the set of problems expressible in first-order logic with ordering and symmetric transitive closure.
After Reingold's result we might have expected solutions to a number of related problems but we didn't see much progress.
One neat implication of Reingold's result is a new and simpler characterization of log-space as the set of problems expressible in first-order logic with ordering and symmetric transitive closure.
After Reingold's result we might have expected solutions to a number of related problems but we didn't see much progress.
- Can every randomized log-space algorithm be derandomized in log space?
- Do there exist log-space computable universal traversal sequences?
- Can we solve directed s-t connectivity better than Savitch?
- Can we modify Reingold's algorithm to bring log space into NC1?