A (β, ϵ)-hopset for a weighted undirected n-vertex graph G = (V, E) is a set of edges, whose addition to the graph guarantees that every pair of vertices has a path between them that contains at most β edges, whose length is within 1 + ϵ of the shortest path. In her seminal paper, Cohen [J. ACM, 47 (2000), pp. 132-166] introduced the notion of hopsets in the context of parallel computation of approximate shortest paths, and since then it has found numerous applications in various settings, such as dynamic graph algorithms, distributed computing, and the streaming model. Cohen [J. ACM, 47 (2000), pp. 132-166] devised efficient algorithms for constructing hopsets with polylogarithmic in n number of hops. Her constructions remain the state of the art since the publication of her paper in the proceedings of STOC'94, i.e., for more than two decades. In this paper we exhibit the first construction of sparse hopsets with a constant number of hops. We also find efficient algorithms for hopsets in various computational settings, improving the best-known constructions. Generally, our hopsets strictly outperform the hopsets of [J. ACM, 47 (2000), pp. 132-166] in terms of both their parameters and the resources required to construct them. We demonstrate the applicability of our results for the fundamental problem of computing approximate shortest paths from s sources. Our results improve the running time for this problem in the parallel, distributed, and streaming models for a vast range of s.
- Graph algorithms
- Shortest path