Exact Distance Oracles for Planar Graphs
We present new and improved data structures that answer exact node-to-node distance queries in planar graphs. Such data structures are also known as distance oracles. For any directed planar graph on n nodes with non-negative lengths we obtain the following: * Given a desired space allocation $S\in[n\lg\lg n,n^2]$, we show how to construct in $\tilde O(S)$ time a data structure of size $O(S)$ that answers distance queries in $\tilde O(n/\sqrt S)$ time per query. As a consequence, we obtain an improvement over the fastest algorithm for k-many distances in planar graphs whenever $k\in[\sqrt n,n)$. * We provide a linear-space exact distance oracle for planar graphs with query time $O(n^{1/2+eps})$ for any constant eps>0. This is the first such data structure with provable sublinear query time. * For edge lengths at least one, we provide an exact distance oracle of space $\tilde O(n)$ such that for any pair of nodes at distance D the query time is $\tilde O(min {D,\sqrt n})$. Comparable query performance had been observed experimentally but has never been explained theoretically. Our data structures are based on the following new tool: given a non-self-crossing cycle C with $c = O(\sqrt n)$ nodes, we can preprocess G in $\tilde O(n)$ time to produce a data structure of size $O(n \lg\lg c)$ that can answer the following queries in $\tilde O(c)$ time: for a query node u, output the distance from u to all the nodes of C. This data structure builds on and extends a related data structure of Klein (SODA'05), which reports distances to the boundary of a face, rather than a cycle. The best distance oracles for planar graphs until the current work are due to Cabello (SODA'06), Djidjev (WG'96), and Fakcharoenphol and Rao (FOCS'01). For $\sigma\in(1,4/3)$ and space $S=n^\sigma$, we essentially improve the query time from $n^2/S$ to $\sqrt{n^2/S}$.
💡 Research Summary
The paper tackles the classic problem of designing exact distance oracles for planar graphs—data structures that, after preprocessing, can answer shortest‑path distance queries between any two vertices in constant or sublinear time. While previous works by Cabello, Djidjev, and Fakcharoenphol‑Rao provided trade‑offs of the form query time ≈ n²/S for space S, none achieved sublinear query time with linear space, nor did they explain the experimentally observed phenomenon that distances of small magnitude can be answered extremely fast.
The authors introduce a versatile new tool: given a non‑self‑crossing cycle C of size c = O(√n) in a planar graph G, they can preprocess G in Õ(n) time to build a structure of size O(n·log log c) that, for any query vertex u, returns the distances from u to every vertex on C in Õ(c) time. This generalizes Klein’s 2005 face‑boundary distance oracle, which only handled the boundary of a single face, to arbitrary cycles. The construction relies on splitting C into two paths, treating each as a “virtual face,” and running multi‑source Dijkstra from all vertices of each path simultaneously using hierarchical heaps. The results from the two virtual faces are merged to obtain distances to the whole cycle.
Armed with this cycle‑boundary oracle, the authors recursively decompose the planar graph using an r‑division (or separator) hierarchy. At each level i of the recursion, the subgraph size is roughly n_i ≈ n/2^i, and a carefully chosen amount of space S_i is allocated to store the distance information for the boundary cycles of that level. Because each boundary cycle contains O(√n_i) vertices, the query time contributed by level i is Õ(√(n_i · S_i⁻¹)). Summing over all levels yields a total query time of Õ(n/√S) when the overall space budget is S. This formula holds for any S in the range
Comments & Academic Discussion
Loading comments...
Leave a Comment