Results 1  10
of
22
Fast computation of reachability labeling for large graphs
 In Proc. of EDBT’06
, 2006
"... There are numerous applications that need to deal with a large graph and need to query reachability between nodes in the graph. A 2hop cover can compactly represent the whole edge transitive closure of a graph in O(V  · E  1/2) space, and be used to answer reachability query efficiently. Howev ..."
Abstract

Cited by 19 (8 self)
 Add to MetaCart
There are numerous applications that need to deal with a large graph and need to query reachability between nodes in the graph. A 2hop cover can compactly represent the whole edge transitive closure of a graph in O(V  · E  1/2) space, and be used to answer reachability query efficiently. However, it is challenging to compute a 2hop cover. The existing approaches suffer from either large resource consumption or low compression rate. In this paper, we propose a hierarchical partitioning approach to partition a large graph G into two subgraphs repeatedly in a topdown fashion. The unique feature of our approach is that we compute 2hop cover while partitioning. In brief, in every iteration of topdown partitioning, we provide techniques to compute the 2hop cover for connections between the two subgraphs first. A cover is computed to cut the graph into two subgraphs, which results in an overall cover with high compression for the entire graph G. Two approaches are proposed, namely a nodeoriented approach and an edgeoriented approach. Our approach can efficiently compute 2hop cover for a large graph with high compression rate. Our extensive experiment study shows that the 2hop cover for a graph with 1,700,000 nodes and 169 billion connections can be obtained in less than 30 minutes with a compression rate about 40,000 using a PC.
Faster algorithms for incremental topological ordering
 In ICALP
, 2008
"... Abstract. We present two online algorithms for maintaining a topological order of a directed acyclic graph as arcs are added, and detecting a cycle when one is created. Our first algorithm takes O(m 1/2) amortized time per arc and our second algorithm takes O(n 2.5 /m) amortized time per arc, where ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
Abstract. We present two online algorithms for maintaining a topological order of a directed acyclic graph as arcs are added, and detecting a cycle when one is created. Our first algorithm takes O(m 1/2) amortized time per arc and our second algorithm takes O(n 2.5 /m) amortized time per arc, where n is the number of vertices and m is the total number of arcs. For sparse graphs, our O(m 1/2) bound improves the best previous bound by a factor of log n and is tight to within a constant factor for a natural class of algorithms that includes all the existing ones. Our main insight is that the twoway search method of previous algorithms does not require an ordered search, but can be more general, allowing us to avoid the use of heaps (priority queues). Instead, the deterministic version of our algorithm uses (approximate) medianfinding; the randomized version of our algorithm uses uniform random sampling. For dense graphs, our O(n 2.5 /m) bound improves the best previously published bound by a factor of n 1/4 and a recent bound obtained independently of our work by a factor of log n. Our main insight is that graph search is wasteful when the graph is dense and can be avoided by searching the topological order space instead. Our algorithms extend to the maintenance of strong components, in the same asymptotic time bounds. 1
Dynamic shortest paths and transitive closure: algorithmic techniques and data structures
 J. Discr. Algor
, 2006
"... In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of ye ..."
Abstract

Cited by 8 (1 self)
 Add to MetaCart
In this paper, we survey fully dynamic algorithms for path problems on general directed graphs. In particular, we consider two fundamental problems: dynamic transitive closure and dynamic shortest paths. Although research on these problems spans over more than three decades, in the last couple of years many novel algorithmic techniques have been proposed. In this survey, we will make a special effort to abstract some combinatorial and algebraic properties, and some common datastructural tools that are at the base of those techniques. This will help us try to present some of the newest results in a unifying framework so that they can be better understood and deployed also by nonspecialists.
Dynamic Complexity Theory Revisited
 Proc. Annual Symposium on Theoretical Aspects of Computer Science (STACS 05), Springer LNCS 3404, 2005
, 2005
"... Abstract. Dynamic complexity asks for the effort needed to maintain the information about properties of a structure under operations changing the structure. This paper introduces a refined notion of dynamic problems which takes the initial structure into account. It develops the basic structural com ..."
Abstract

Cited by 6 (0 self)
 Add to MetaCart
Abstract. Dynamic complexity asks for the effort needed to maintain the information about properties of a structure under operations changing the structure. This paper introduces a refined notion of dynamic problems which takes the initial structure into account. It develops the basic structural complexity notions accordingly. It also shows that the dynamic version of the LOGCFLcomplete problem D2LREACH(acyclic) can be maintained with firstorder updates. 1
Dynamic connectivity: Connecting to networks and geometry
 In Proceedings 49th FOCS
, 2008
"... Dynamic connectivity is a wellstudied problem, but so far the most compelling progress has been confined to the edgeupdate model: maintain an understanding of connectivity in an undirected graph, subject to edge insertions and deletions. In this paper, we study two more challenging, yet equally fu ..."
Abstract

Cited by 4 (0 self)
 Add to MetaCart
Dynamic connectivity is a wellstudied problem, but so far the most compelling progress has been confined to the edgeupdate model: maintain an understanding of connectivity in an undirected graph, subject to edge insertions and deletions. In this paper, we study two more challenging, yet equally fundamental problems: Subgraph connectivity asks to maintain an understanding of connectivity under vertex updates: updates can turn vertices on and off, and queries refer to the subgraph induced by on vertices. (For instance, this is closer to applications in networks of routers, where node faults may occur.) We describe a data structure supporting vertex updates in Õ(m2/3) amortized time, wheremdenotes the number of edges in the graph. This greatly improves over the previous result [Chan, STOC’02], which required fast matrix multiplication and had an update time of O(m 0.94). The new data structure is also simpler. Geometric connectivity asks to maintain a dynamic set of n geometric objects, and query connectivity in their intersection graph. (For instance, the intersection graph of balls describes connectivity in a network of sensors with bounded transmission radius.) Previously, nontrivial fully dynamic results were known only for special cases like axisparallel line segments and rectangles. We provide similarly improved update times, Õ(n2/3), for these special cases. Moreover, we show how to obtain sublinear update bounds for virtually all families of geometric objects which allow sublineartime range queries. In particular, we obtain the first sublinear update time for arbitrary 2D line segments: O ∗ (n9/10); for ddimensional simplices: O ∗ 1 1− (n d(2d+1)); and for ddimensional balls: O ∗ (n 1 − 1
Replacement Paths via Fast Matrix Multiplication
"... Abstract. Let G = (V, E) be a directed edgeweighted graph and let P be a shortest path from s to t in G. The replacement paths problem asks to compute, for every edge e on P, the shortest stot path that avoids e. Apart from approximation algorithms and algorithms for special graph classes, the na ..."
Abstract

Cited by 3 (0 self)
 Add to MetaCart
Abstract. Let G = (V, E) be a directed edgeweighted graph and let P be a shortest path from s to t in G. The replacement paths problem asks to compute, for every edge e on P, the shortest stot path that avoids e. Apart from approximation algorithms and algorithms for special graph classes, the naive solution to this problem – removing each edge e on P one at a time and computing the shortest stot path each time – is surprisingly the only known solution for directed weighted graphs, even when the weights are integrals. In particular, although the related shortest paths problem has benefited from fast matrix multiplication, the replacement paths problem has not, and still required cubic time. For an nvertex graph with integral edgelengths in {−M,..., M}, we give a randomized Õ(Mn1+ 2 3 ω) = O(Mn 2.584) time algorithm that uses fast matrix multiplication and is subcubic for appropriate values of M. In particular, it runs in Õ(n1+ 2 3 ω) time if the weights are small (positive or negative) integers. We also show how to construct a distance sensitivity oracle in the same time bounds. A query (u, v, e) to this oracle requires subquadratic time and returns the length of the shortest utov path that avoids the edge e. In fact, for any constant number of edge failures, we construct a data structure in subcubic time, that answer queries in subquadratic time. Our results also apply for avoiding vertices rather than edges. 1
Connectivity Oracles for Failure Prone Graphs ∗
"... Dynamic graph connectivity algorithms have been studied for many years, but typically in the most general possible setting, where the graph can evolve in completely arbitrary ways. In this paper we consider a dynamic subgraph model. We assume there is some fixed, underlying graph that can be preproc ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
Dynamic graph connectivity algorithms have been studied for many years, but typically in the most general possible setting, where the graph can evolve in completely arbitrary ways. In this paper we consider a dynamic subgraph model. We assume there is some fixed, underlying graph that can be preprocessed ahead of time. The graph is subject only to vertices and edges flipping “off ” (failing) and “on ” (recovering), where queries naturally apply to the subgraph on edges/vertices currently flipped on. This model fits most real world scenarios, where the topology of the graph in question (say a router network or road network) is constantly evolving due to temporary failures but never deviates too far from the ideal failurefree state. We present the first efficient connectivity oracle for graphs susceptible to vertex failures. Given vertices u and v and a set D of d failed vertices, we can determine if there is a path from u to v avoiding D in time polynomial in d log n. There is a tradeoff in our oracle between the space, which is roughly mn ɛ, for 0 < ɛ ≤ 1, and the polynomial query time, which depends on ɛ. If one wanted to achieve the same functionality with existing data structures (based on edge failures or twin vertex failures) the resulting connectivity oracle would either need exorbitant space (Ω(n d)) or update time Ω(dn), that is, linear in the number of vertices. Our connectivity oracle is therefore the first of its kind. As a byproduct of our oracle for vertex failures we reduce the problem of constructing an edgefailure oracle to 2D range searching over the integers. We show there is an Õ(m)space oracle that processes any set of d failed edges in O(d 2 log log n) time and, thereafter, answers connectivity queries in O(log log n) time. Our update time is exponentially faster than a recent connectivity oracle of Pǎtra¸scu and Thorup for bounded d, but slower as a function of d.
Incremental Cycle Detection, Topological Ordering, and Strong Component Maintenance
, 2008
"... We present two online algorithms for maintaining a topological order of a directed nvertex acyclic graph as arcs are added, and detecting a cycle when one is created. Our first algorithm handles m arc additions in O(m 3/2) time. For sparse graphs (m/n = O(1)), this bound improves the best previou ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
We present two online algorithms for maintaining a topological order of a directed nvertex acyclic graph as arcs are added, and detecting a cycle when one is created. Our first algorithm handles m arc additions in O(m 3/2) time. For sparse graphs (m/n = O(1)), this bound improves the best previous bound by a logarithmic factor, and is tight to within a constant factor among algorithms satisfying a natural locality property. Our second algorithm handles an arbitrary sequence of arc additions in O(n 5/2) time. For sufficiently dense graphs, this bound improves the best previous bound by a polynomial factor. Our bound may be far from tight; we conjecture that the algorithm actually runs in O(n² log n) time. A completely different algorithm running in Θ(n² log n) time was given recently by Bender, Fineman, and Gilbert. We extend both of our algorithms to the maintenance of strong components, without affecting the asymptotic time bounds.
Faster Approximation Schemes for Fractional Multicommodity Flow Problems via Dynamic Graph Algorithms
"... We combine the work of Garg and Könemann, and Fleischer with ideas from dynamic graph algorithms to obtain faster (1 − ε)approximation schemes for various versions of the multicommodity flow problem. In particular, if ε is moderately small and the size of every number used in the input instance is ..."
Abstract

Cited by 2 (1 self)
 Add to MetaCart
We combine the work of Garg and Könemann, and Fleischer with ideas from dynamic graph algorithms to obtain faster (1 − ε)approximation schemes for various versions of the multicommodity flow problem. In particular, if ε is moderately small and the size of every number used in the input instance is polynomially bounded, the running times of our algorithms match – up to polylogarithmic factors and some provably optimal terms – the Ω(mn) flowdecomposition barrier for singlecommodity flow. 1
I/O Cost Minimization: Reachability Queries Processing over Massive Graphs
"... Given a directed graph G, a reachability query (u,v) asks whether there exists a path from a node u to a node v in G. The existing studies support reachability queries using indexing techniques, where both the graph and the index are required to reside in main memory. However, they cannot handle rea ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
Given a directed graph G, a reachability query (u,v) asks whether there exists a path from a node u to a node v in G. The existing studies support reachability queries using indexing techniques, where both the graph and the index are required to reside in main memory. However, they cannot handle reachability queries on massive graphs, when the graph and the index cannot be entirely held in memory because of the high I/O cost. In this paper, we focus on how to minimize the I/O cost when answering reachability queries on massive graphs that cannot reside entirely in memory. First, we propose a new YesLabel scheme, as a complement of the NoLabel used in GRAIL [23], to reduce the number of intermediate results generated. Second, we show how to minimize the number of I/Os using a heapondisk data structure when traversing a graph. We also propose new methods to partition the heapondisk, in order to ensure that only sequential I/Os are performed. Third, we analyze our approaches and show how to extend our approaches to answer multiple reachability queries effectively. Finally, we conducted extensive performance studies on both large synthetic and large real graphs, and confirm the efficiency of our approaches. 1.