Algorithmica

, Volume 54, Issue 3, pp 413–469

I/O-Efficient Algorithms for Graphs of Bounded Treewidth

Article

DOI: 10.1007/s00453-007-9131-5

Cite this article as:
Maheshwari, A. & Zeh, N. Algorithmica (2009) 54: 413. doi:10.1007/s00453-007-9131-5
  • 155 Downloads

Abstract

We present an algorithm that takes \(\mathcal {O}(\mathrm {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 \(\mathcal {O}(N/(DB))\) I/Os, including the single-source shortest path problem and a number of problems that are NP-hard on general graphs. The tree decomposition can also be used to obtain an optimal separator decomposition of G. We use such a decomposition to perform depth-first search in G in  \(\mathcal {O}(N/(DB))\) I/Os.

As important tools that are used in the tree decomposition algorithm, we introduce flippable DAGs and present an algorithm that computes a perfect elimination ordering of a k-tree in \(\mathcal {O}(\mathrm {sort}(N))\) I/Os.

The second contribution of our paper, which is of independent interest, is a general and simple framework for obtaining I/O-efficient algorithms for a number of graph problems that can be solved using greedy algorithms in internal memory. We apply this framework in order to obtain an improved algorithm for finding a maximal matching and the first deterministic I/O-efficient algorithm for finding a maximal independent set of an arbitrary graph. Both algorithms take \(\mathcal {O}(\mathrm {sort}(|V|+|E|))\) I/Os. The maximal matching algorithm is used in the tree decomposition algorithm.

Keywords

Algorithms External memory algorithms Bounded treewidth Graph algorithms 

Copyright information

© Springer Science+Business Media, LLC 2007

Authors and Affiliations

  1. 1.School of Computer ScienceCarleton UniversityOttawaCanada
  2. 2.Faculty of Computer ScienceDalhousie UniversityHalifaxCanada

Personalised recommendations