A linear time algorithm for finding tree-decompositions of small treewidth

A linear time algorithm for finding tree-decompositions of small treewidth

1993 | Hans L. Bodlaender
This paper presents a linear time algorithm to determine whether the treewidth of a given graph \( G = (V, E) \) is at most a constant \( k \), and if so, to find a tree-decomposition of \( G \) with treewidth at most \( k \). The algorithm is designed to improve upon the previous best-known algorithm by Reed, which had a time complexity of \( O(n \log n) \). The main idea of the algorithm involves partitioning vertices into two sets: those with low degree and those with high degree. The algorithm then distinguishes between two cases: 1. **Sufficiently many** low-degree vertices are adjacent to other low-degree vertices. In this case, the algorithm computes a graph \( G' \) by contracting edges in a maximal matching, and recursively applies the algorithm to \( G' \). The resulting tree-decomposition is used to construct a tree-decomposition of \( G \) with treewidth at most \( 2k + 1 \). 2. **Few** low-degree vertices are adjacent to other low-degree vertices. The algorithm adds a specific set of edges to \( G \) without increasing the treewidth beyond \( k \). The improved graph \( G' \) is then analyzed to find a collection of 1-simplicial vertices, which are used to compute a tree-decomposition of \( G \) with treewidth at most \( k \). The algorithm's correctness and linear time complexity are established through a series of lemmas and corollaries. The paper also discusses the implementation details and provides a proof of the main theorem, which states that every minor-closed class of graphs that does not contain all planar graphs has a linear time recognition algorithm. The constant factor in the algorithm's running time is large but exponential in a polynomial in \( k \), and the paper suggests potential improvements and modifications to reduce this factor.This paper presents a linear time algorithm to determine whether the treewidth of a given graph \( G = (V, E) \) is at most a constant \( k \), and if so, to find a tree-decomposition of \( G \) with treewidth at most \( k \). The algorithm is designed to improve upon the previous best-known algorithm by Reed, which had a time complexity of \( O(n \log n) \). The main idea of the algorithm involves partitioning vertices into two sets: those with low degree and those with high degree. The algorithm then distinguishes between two cases: 1. **Sufficiently many** low-degree vertices are adjacent to other low-degree vertices. In this case, the algorithm computes a graph \( G' \) by contracting edges in a maximal matching, and recursively applies the algorithm to \( G' \). The resulting tree-decomposition is used to construct a tree-decomposition of \( G \) with treewidth at most \( 2k + 1 \). 2. **Few** low-degree vertices are adjacent to other low-degree vertices. The algorithm adds a specific set of edges to \( G \) without increasing the treewidth beyond \( k \). The improved graph \( G' \) is then analyzed to find a collection of 1-simplicial vertices, which are used to compute a tree-decomposition of \( G \) with treewidth at most \( k \). The algorithm's correctness and linear time complexity are established through a series of lemmas and corollaries. The paper also discusses the implementation details and provides a proof of the main theorem, which states that every minor-closed class of graphs that does not contain all planar graphs has a linear time recognition algorithm. The constant factor in the algorithm's running time is large but exponential in a polynomial in \( k \), and the paper suggests potential improvements and modifications to reduce this factor.
Reach us at info@study.space
[slides] A linear time algorithm for finding tree-decompositions of small treewidth | StudySpace