Results 1 - 10
of
49
Fully Dynamic Algorithms for Maintaining All-Pairs Shortest Paths and Transitive Closure in Digraphs
- IN PROC. 40TH IEEE SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE (FOCS’99
, 1999
"... This paper presents the first fully dynamic algorithms for maintaining all-pairs shortest paths in digraphs with positive integer weights less than b. For approximate shortest paths with an error factor of (2 + ffl), for any positive constant ffl, the amortized update time is O(n 2 log 2 n= log ..."
Abstract
-
Cited by 77 (0 self)
- Add to MetaCart
This paper presents the first fully dynamic algorithms for maintaining all-pairs shortest paths in digraphs with positive integer weights less than b. For approximate shortest paths with an error factor of (2 + ffl), for any positive constant ffl, the amortized update time is O(n 2 log 2 n= log log n); for an error factor of (1 + ffl) the amortized update time is O(n 2 log 3 (bn)=ffl 2 ). For exact shortest paths the amortized update time is O(n 2:5 p b log n). Query time for exact and approximate shortest distances is O(1); exact and approximate paths can be generated in time proportional to their lengths. Also presented is a fully dynamic transitive closure algorithm with update time O(n 2 log n) and query time O(1). The previously known fully dynamic transitive closure algorithm with fast query time has one-sided error and update time O(n 2:28 ). The algorithms use simple data structures, and are deterministic.
Fully Dynamic Transitive Closure: Breaking Through The O(n²) Barrier
- IN PROC. IEEE SYMPOSIUM ON FOUNDATIONS OF COMPUTER SCIENCE
, 2000
"... In this paper we introduce a general framework for casting fully dynamic transitive closure into the problem of reevaluating polynomials over matrices. With this technique, we improve the best known bounds for fully dynamic transitive closure. In particular, we devise a deterministic algorithm for g ..."
Abstract
-
Cited by 45 (7 self)
- Add to MetaCart
In this paper we introduce a general framework for casting fully dynamic transitive closure into the problem of reevaluating polynomials over matrices. With this technique, we improve the best known bounds for fully dynamic transitive closure. In particular, we devise a deterministic algorithm for general directed graphs that achieves O(n²) amortized time for updates, while preserving unit worstcase cost for queries. In case of deletions only, our algorithm performs updates faster in O(n) amortized time. Our
Improved Dynamic Reachability Algorithms for Directed Graphs
, 2002
"... We obtain several new dynamic algorithms for maintaining the transitive closure of a directed graph, and several other algorithms for answering reachability queries without explicitly maintaining a transitive closure matrix. Among our algorithms are: (i) A decremental algorithm for maintaining the ..."
Abstract
-
Cited by 35 (3 self)
- Add to MetaCart
(Show Context)
We obtain several new dynamic algorithms for maintaining the transitive closure of a directed graph, and several other algorithms for answering reachability queries without explicitly maintaining a transitive closure matrix. Among our algorithms are: (i) A decremental algorithm for maintaining the transitive closure of a directed graph, through an arbitrary sequence of edge deletions, in O(mn) total expected time, essentially the time needed for computing the transitive closure of the initial graph. Such a result was previously known only for acyclic graphs.
A Dynamic Algorithm for Topologically Sorting Directed Acyclic Graphs
, 2004
"... We consider how to maintain the topological order of a directed acyclic graph (DAG) in the presence of edge insertions and deletions. We present a new algorithm and, although this has marginally inferior time complexity compared with the best previously known result, we find that its simplicity lead ..."
Abstract
-
Cited by 17 (1 self)
- Add to MetaCart
We consider how to maintain the topological order of a directed acyclic graph (DAG) in the presence of edge insertions and deletions. We present a new algorithm and, although this has marginally inferior time complexity compared with the best previously known result, we find that its simplicity leads to better performance in practice. In addition, we provide an empirical comparison against three alternatives over a large number of random DAG's. The results show our algorithm is the best for sparse graphs and, surprisingly, that an alternative with poor theoretical complexity performs marginally better on dense graphs.
Betweenness Centrality: Algorithms and Lower Bounds
, 2008
"... One of the most fundamental problems in large-scale network analysis is to determine the importance of a particular node in a network. Betweenness centrality is the most widely used metric to measure the importance of a node in a network. In this paper, we present a randomized parallel algorithm and ..."
Abstract
-
Cited by 16 (0 self)
- Add to MetaCart
One of the most fundamental problems in large-scale network analysis is to determine the importance of a particular node in a network. Betweenness centrality is the most widely used metric to measure the importance of a node in a network. In this paper, we present a randomized parallel algorithm and an algebraic method for computing betweenness centrality of all nodes in a network. We prove that any path-comparison based algorithm cannot compute betweenness in less than O(nm) time.
Planning for fast connectivity updates
- In Proceedings 48th IEEE Symposium on Foundations of Computer Science (FOCS
, 2007
"... Understanding how a single edge deletion can affect the connectivity of a graph amounts to finding the graph bridges. But when faced with d> 1 deletions, can we establish as easily how the connectivity changes? When planning for an emergency, we want to understand the structure of our network ahe ..."
Abstract
-
Cited by 13 (0 self)
- Add to MetaCart
(Show Context)
Understanding how a single edge deletion can affect the connectivity of a graph amounts to finding the graph bridges. But when faced with d> 1 deletions, can we establish as easily how the connectivity changes? When planning for an emergency, we want to understand the structure of our network ahead of time, and respond swiftly when an emergency actually happens. We describe a linear-space representation of graphs which enables us to determine how a batch of edge updates can impact the graph. Given a set of d edge updates, in time O(d polylg n) we can obtain the number of connected components, the size of each component, and a fast oracle for answering connectivity queries in the updated graph. The initial representation is polynomial-time constructible. 1.
Updating recursive XML views of relations
- Journal of Computer Science and Technology
, 2008
"... course1 db course2 This paper investigates the view update problem for XML views published from relational data. We consider (possibly) recursively defined XML views, compressed into DAGs and stored in relations. We provide new techniques to efficiently support XML view updates specified in terms of ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
(Show Context)
course1 db course2 This paper investigates the view update problem for XML views published from relational data. We consider (possibly) recursively defined XML views, compressed into DAGs and stored in relations. We provide new techniques to efficiently support XML view updates specified in terms of XPath expressions with recursion and complex filters. The interaction between XPath recursion and DAG compression of XML views makes the analysis of XML view updates intriguing. Furthermore, many issues are still open even for relational view updates, and need to be explored. In response to these, we revise the update semantics to accommodate XML side effects based on the semantics of XML views, and present efficient algorithms to translate XML updates to relational view updates. Moreover, we propose a mild condition on SPJ views, and show that under this condition the analysis of deletions on relational views becomes PTIME while the insertion analysis is NP-complete. Finally, we present an experimental study to verify the effectiveness of our techniques. 1
Oracles for distances avoiding a failed node or link
- SIAM J. Comput
"... Abstract. We consider the problem of preprocessing an edge-weighted directed graph G to answer queries that ask for the length and first hop of a shortest path from any given vertex x to any given vertex y avoiding any given vertex or edge. As a natural application, this problem models routing in ne ..."
Abstract
-
Cited by 12 (0 self)
- Add to MetaCart
(Show Context)
Abstract. We consider the problem of preprocessing an edge-weighted directed graph G to answer queries that ask for the length and first hop of a shortest path from any given vertex x to any given vertex y avoiding any given vertex or edge. As a natural application, this problem models routing in networks subject to node or link failures. We describe a deterministic oracle with constant query time for this problem that uses O(n2 log n) space, where n is the number of vertices in G. The construction time for our oracle is O(mn2 + n3 log n). However, if one is willing to settle for Θ(n2.5) space, we can improve the preprocessing time to O(mn1.5 + n2.5 log n) while maintaining the constant query time. Our algorithms can find the shortest path avoiding a failed node or link in time proportional to the length of the path.
Simple Deterministic Algorithms for Fully Dynamic Maximal Matching [Extended Abstract]
"... A maximal matching can be maintained in fully dynamic (supporting both addition and deletion of edges) n-vertex graphs using a trivial deterministic algorithm with a worstcase update time of O(n). No deterministic algorithm that outperforms the naïve O(n) one was reported up to this date. The only p ..."
Abstract
-
Cited by 10 (1 self)
- Add to MetaCart
(Show Context)
A maximal matching can be maintained in fully dynamic (supporting both addition and deletion of edges) n-vertex graphs using a trivial deterministic algorithm with a worstcase update time of O(n). No deterministic algorithm that outperforms the naïve O(n) one was reported up to this date. The only progress in this direction is due to Ivković and Lloyd [14], who in 1993 devised a deterministic algorithm with an amortized update time of O((n + m) √ 2/2), where m is the number of edges. In this paper we show the first deterministic fully dynamic algorithm that outperforms the trivial one. Specifically, we provide a deterministic worst-case update time of O ( √ m). Moreover, our algorithm maintains a matching which is in fact a 3/2-approximate maximum cardinality matching (MCM). We remark that no fully dynamic algorithm for maintaining (2 − ɛ)-approximate MCM improving upon the naïve O(n) was known prior to this work, even allowing amortized time bounds and randomization. For low arboricity graphs (e.g., planar graphs and graphs excluding fixed minors), we devise another simple deterministic algorithm with sub-logarithmic update time. Specifically, it maintains a fully dynamic maximal matching with amortized update time of O(log n / log log n). This result addresses an open question of Onak and Rubinfeld [19]. We also show a deterministic algorithm with optimal space usage of O(n + m), that for arbitrary graphs maintains a maximal matching with amortized update time of O ( √ m).
Oracles for Distances Avoiding a Link-failure
- In Proc. of the 13th IEEE Annual ACM-SIAM Symposium on Discrete Algorithms (SODA'02
, 2002
"... For a directed graph G we consider queries of the form: "What is the shortest path distance from vertex x to vertex y in G avoiding a failed link (u,v), and what edge leaving x should we use to get on a such a shortest path?" We show that an oracle for such queries can be stored in O(n ..."
Abstract
-
Cited by 10 (3 self)
- Add to MetaCart
For a directed graph G we consider queries of the form: "What is the shortest path distance from vertex x to vertex y in G avoiding a failed link (u,v), and what edge leaving x should we use to get on a such a shortest path?" We show that an oracle for such queries can be stored in O(n 2 logn) space with a query time of O(logn). No non-trivial solution was known for this problem.