Abstract:We present an algorithm that takes O(sort(N )) I/Os (sort(N ) = ((N/ (DB)) log M/B (N/B)) is the number of I/Os it takes to sort N data items) to compute a tree decomposition of width at most k, for any graph G of treewidth at most k and size N , where k is a constant. Given such a tree decomposition, we use a dynamic programming framework to solve a wide variety of problems on G in O(N/(DB)) I/Os, including the single-source shortest path problem and a number of problems that are NP-hard on general graphs. Th… Show more
“…The other external memory algorithms for BFS are restricted to special graphs classes like trees [12], grid graphs [5], planar graphs [23], outer-planar graphs [21], and graphs of bounded tree width [22].…”
Breadth first search (BFS) traversal on massive graphs in external memory was considered non-viable until recently, because of the large number of I/Os it incurs. Ajwani et al. [3] showed that the randomized variant of the o(n) I/O algorithm of Mehlhorn and Meyer [24] (MM BFS) can compute the BFS level decomposition for large graphs (around a billion edges) in a few hours for small diameter graphs and a few days for large diameter graphs. We improve upon their implementation of this algorithm by reducing the overhead associated with each BFS level, thereby improving the results for large diameter graphs which are more difficult for BFS traversal in external memory. Also, we present the implementation of the deterministic variant of MM BFS and show that in most cases, it outperforms the randomized variant. The running time for BFS traversal is further improved with a heuristic that preserves the worst case guarantees of MM BFS. Together, they reduce the time for BFS on large diameter graphs from days shown in [3] to hours. In particular, on line graphs with random layout on disks, our implementation of the deterministic variant of MM BFS with the proposed heuristic is more than 75 times faster than the previous best result for the randomized variant of MM BFS in [3].
“…The other external memory algorithms for BFS are restricted to special graphs classes like trees [12], grid graphs [5], planar graphs [23], outer-planar graphs [21], and graphs of bounded tree width [22].…”
Breadth first search (BFS) traversal on massive graphs in external memory was considered non-viable until recently, because of the large number of I/Os it incurs. Ajwani et al. [3] showed that the randomized variant of the o(n) I/O algorithm of Mehlhorn and Meyer [24] (MM BFS) can compute the BFS level decomposition for large graphs (around a billion edges) in a few hours for small diameter graphs and a few days for large diameter graphs. We improve upon their implementation of this algorithm by reducing the overhead associated with each BFS level, thereby improving the results for large diameter graphs which are more difficult for BFS traversal in external memory. Also, we present the implementation of the deterministic variant of MM BFS and show that in most cases, it outperforms the randomized variant. The running time for BFS traversal is further improved with a heuristic that preserves the worst case guarantees of MM BFS. Together, they reduce the time for BFS on large diameter graphs from days shown in [3] to hours. In particular, on line graphs with random layout on disks, our implementation of the deterministic variant of MM BFS with the proposed heuristic is more than 75 times faster than the previous best result for the randomized variant of MM BFS in [3].
“…I/O-efficient graph algorithms have been considered by a number of authors [1,2,4,5,6,10,12,14,16,19,20,21,22,23,24,26,30]. We review the previous results most relevant to our work (see Table 1).…”
Even though a large number of I/O-efficient graph algorithms have been developed, a number of fundamental problems still remain open. For example, no space-and I/O-efficient algorithms are known for depth-first search or breath-first search in sparse graphs. In this paper, we present two new results on I/O-efficient depth-first search in an important class of sparse graphs, namely undirected embedded planar graphs. We develop a new depth-first search algorithm that uses O(sort(N ) log(N/M )) I/Os, and show how planar depth-first search can be reduced to planar breadthfirst search in O(sort(N )) I/Os. As part of the first result, we develop the first I/O-efficient algorithm for finding a simple cycle separator of an embedded biconnected planar graph. This algorithm uses O(sort(N )) I/Os.
“…For special graph classes, such as planar graphs and graphs of bounded tree-width, optimal SSSP algorithms with I/O complexity O(sort(n)) are known [Maheshwari and Zeh 2001;Arge et al 2004a]. Haverkort and Toma [2006] showed how to extend the results for planar graphs to graphs that are nearly planar for different measures of nonplanarity.…”
We present I/O-efficient single-source shortest path algorithms for undirected graphs. Our main result is an algorithm with I/O complexity O (nmlog L)/B + MST(n, m) on graphs with n vertices, m edges, and arbitrary edge lengths between 1 and L; MST(n, m) denotes the I/O complexity of computing a minimum spanning tree; B denotes the disk block size. If the edge lengths are drawn uniformly at random from (0, 1], the expected I/O complexity of the algorithm is O nm/B + (m/B) log B + MST(n, m) . A simpler algorithm has expected I/O complexity O (nmlog B)/B + MST(n, m) for uniformly random edge lengths.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations –citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.