Fast approximation algorithms for the diameter and radius of sparse graphs
read more
Citations
Popular conjectures imply strong lower bounds for dynamic problems
Edit Distance Cannot Be Computed in Strongly Subquadratic Time (unless SETH is false)
Tight Hardness Results for LCS and Other Sequence Similarity Measures
Quadratic Conditional Lower Bounds for String Problems and Dynamic Time Warping
Edit Distance Cannot Be Computed in Strongly Subquadratic Time (unless SETH is false)
References
Multiplying matrices faster than coppersmith-winograd
On the complexity of K -SAT
Which problems have strongly exponential complexity
A probabilistic algorithm for k-SAT and constraint satisfaction problems
Fast Estimation of Diameter and Shortest Paths (Without Matrix Multiplication)
Related Papers (5)
Frequently Asked Questions (10)
Q2. What is the known algorithm for calculating the diameter and radius of a graph?
For sparse directed or undirected unweighted graphs, the best known algorithm (ignoring poly-logarithmic factors)1 for APSP, diameter and radius, does breadth-first search (BFS) from every node and hence runs in O(mn) time, where m is the number of edges in the graph.
Q3. How can the authors make their algorithm work for undirected graphs?
The authors note that their eccentricities algorithm can also be made to work for undirected graphs with nonnegative weights at most W by again using Dijkstra’s algorithm in place of BFS.
Q4. What is the running time for a sparse graph?
For sparse graphs with m = O(n), the running time is Θ(n2) which is natural for APSP since the algorithm needs to output n2 distances.
Q5. How can the authors get a 2-approximation to the diameter?
In O(m) time the authors can get a 2-approximation to the diameter, i.e. an estimate E with D/2 ≤ E ≤ D. Since D = 3h + z, the authors have that (E − 2)/3 ≤ h ≤ 2E/3.
Q6. How does the algorithm compute a BFS tree?
The algorithm computes a BFS tree for every vertex of H. |H| = O(m/∆) since there are at most that many vertices of outdegree at least ∆.
Q7. How can one compute the diameter and radius of a graph?
For dense directed unweighted graphs, one can compute both the diameter and the radius using fast matrix multiplication (this is folklore; for a recent simple algorithm see [17]), thus obtaining Õ(nω) time algorithms, where ω < 2.38 is the matrix multiplication exponent [14, 33, 34] and n is the number of nodes in the graph.
Q8. What is the deterministic time algorithm for a graph with a diameter of D?
There is an Õ(m2/3n4/3) time algorithm that reports an estimate D̂ such that 2h+ z ≤ D̂ ≤ D.Theorem 6. There is an Õ(m2/3n4/3) time algorithm that when run on an undirected unweighted graph with diameter D, reports an estimate D̂ with ⌊4D/5⌋ ≤
Q9. What is the douts (a) dins (b)?
Since the estimate reported by the algorithm is the maximum among values that also include douts (a) + dins (b) = 2h+ 2, the authors get that D̂ ≥ 2h+ 2, as required.
Q10. What is the way to get an estimate of D?
If D̂ = 2 then D mightbe either 2, 3 or 4, and for this case the authors can just use the Aingworth et al. algorithm to get an estimate of 3 whenever D = 4 which gives the desired approximation.