An Improved Algorithm for Incremental Cycle Detection and Topological Ordering in Sparse Graphs.
SODA '20: ACM-SIAM Symposium on Discrete Algorithms Salt Lake City Utah January, 2020(2020)
摘要
We consider the problem of incremental cycle detection and topological ordering in a directed graph G = (V, E) with |V| = n nodes. In this setting, initially the edge-set E of the graph is empty. Subsequently, at each time-step an edge gets inserted into G. After every edge-insertion, we have to report if the current graph contains a cycle, and as long as the graph remains acyclic, we have to maintain a topological ordering of the node-set V. Let m be the total number of edges that get inserted into G. We present a randomized algorithm for this problem with Õ(m4/3) total expected update time.
Our result improves the Õ(m · min(m1/2, n2/3)) total update time bound of [5, 9, 10, 7]. In particular, for m = O(n), our result breaks the longstanding [MATH HERE] barrier on the total update time. Furthermore, whenever m = o(n3/2), our result improves upon the recently obtained [MATH HERE] total update time bound of [6]. We note that if m = Ω(n3/2), then the algorithm of [5, 4, 7], which has Õ(n2) total update time, beats the performance of the [MATH HERE] time algorithm of [6]. It follows that we improve upon the total update time of the algorithm of [6] in the "interesting" range of sparsity where m = o(n3/2).
Our result also happens to be the first one that breaks the [MATH HERE] lower bound of [9] on the total update time of any local algorithm for a nontrivial range of sparsity. Specifically, the total update time of our algorithm is [MATH HERE] whenever m = o(n6/5). From a technical perspective, we obtain our result by combining the algorithm of [6] with the balanced search framework of [10].
更多查看译文
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络