Use of dynamic trees in a network simplex algorithm for the maximum flow problem
Mathematical Programming: Series A and B
Offline algorithms for dynamic minimum spanning tree problems
Journal of Algorithms
Near-optimal fully-dynamic graph connectivity
STOC '00 Proceedings of the thirty-second annual ACM symposium on Theory of computing
Pattern matching in dynamic texts
SODA '00 Proceedings of the eleventh annual ACM-SIAM symposium on Discrete algorithms
Communications of the ACM
Introduction to Algorithms
Fully Persistent Arrays (Extended Array)
WADS '89 Proceedings of the Workshop on Algorithms and Data Structures
A large-scale study of the evolution of web pages
WWW '03 Proceedings of the 12th international conference on World Wide Web
What's new on the web?: the evolution of the web from a search engine perspective
Proceedings of the 13th international conference on World Wide Web
Efficient randomized pattern-matching algorithms
IBM Journal of Research and Development - Mathematics and computing
Dynamic Transitive Closure via Dynamic Matrix Inverse (Extended Abstract)
FOCS '04 Proceedings of the 45th Annual IEEE Symposium on Foundations of Computer Science
Trade-offs for fully dynamic transitive closure on DAGs: breaking through the O(n2 barrier
Journal of the ACM (JACM)
Fast Dynamic Transitive Closure with Lookahead
Algorithmica
Hi-index | 0.00 |
In this paper we consider the problem of maintaining information about graphs with history -- so called graph timeline. A graph timeline is a sequence of graphs G1,..., Gt, in which consecutive graphs are obtained from previous ones by small modifications, e.g., by adding or removing a single edge. We aim to devise algorithms that after some preprocessing are able to efficiently answer queries about the existence of paths in the entire timeline of the graph, or within some time interval. We consider two types of queries: [forall (u,v,a,b)] --- query that checks if there exists a path from u to v in each of Ga,..., Gb; [exists(u,v,a,b)] --- query that checks if there exists a path from u to v in any of Ga,...,Gb. Our study is motivated by the recent intensive study of the evolution of graphs, and the question whether information about history can be efficiently aggregated. We show that for path queries this is, somewhat astonishingly, true. In some cases it is possible to preprocess graph timeline and answer such queries in almost optimal time. First, we consider undirected graphs and timelines in which two consecutive graphs differ by addition or removal of a single edge. We show a randomized algorithm that requires O(t log t log log t log n+m) preprocessing time and answers forall queries in O(log n log log t) time. Here, $n$ is the number of vertices in the graph and m is the number of permanent edges, that is edges common to all graphs in the timeline. This algorithm can be derandomized at some cost in the running time. Second, we give a deterministic algorithm that needs O(nt+m) preprocessing and answers exists queries in O(1) time. Finally, for directed graphs, we consider timelines where two consecutive graphs differ by addition or removal of a set of edges incident to one vertex. In this case we, are able to propose a randomized algorithm that after O(nω-1t) preprocessing time can answer exists(u,v,a,b) queries in O(n) time and forall(u,v,a,b) queries in O(n+b-a) time.