treewidth

abbr: tw

tags: tree decomposition

functionally equivalent to: branch width, strong inf-coloring number, mm-width

providers: ISGCI, PACE, PACE

Definition: see Graph minors. II. Algorithmic aspects of tree-width by Robertson, Seymour

Treewidth is arguably the most important graph parameter. Intuitively, it describes how close a graph is to a tree.

On this page we cover only an overview of treewidth. For a more comprehensive introduction, we direct the reader to Parameterized Algorithms by Cygan, Fomin, Kowalik, Lokshtanov, Marx, Pilipczuk, Pilipczuk, Saurabh.

Definition

A tree decomposition is a tree $T$ together with a function $\chi$. To distinguish $T$ from $G$ we call $V(G)$ vertices and $V(T)$ nodes. The function $\chi$ maps each node to a set of vertices in $G$. For each node, the set of vertices assigned to it are called a bag. The tree decomposition $(T,\chi)$ has to follow two rules:

  1. Each vertex of the graph is in bags that form a (nonempty) connected subtree of $T$.
  2. Each edge of the graph has both of its endpoints in some common bag.

A graph has treewidth $k$ if there exists a tree decomposition such that each bag has size at most $k+1$.

Dynamic programming

Structure of the decomposition implies several important properties. The main property is that each bag constitutes a separator. This allows us to design a bottom-up dynamic programming (DP) algorithms over the tree decomposition for many problems. For the DP examples below we assume the reader is comfortable in designing DP bottom-up algorithms on trees for problems like vertex cover, dominating set, weighted independent set, etc.

Though it is possible to design DP over tree decomposition directly we usually simplify the decomposition so that at every step only one simple ’thing’ is happening. Nice tree decomposition can be computed from a tree decomposition in $O(n)$ time and has the following additional properties:

  1. Every node has one of types – leaf, introduce vertex, forget vertex, join.
  2. The decomposition is rooted in some leaf node.
  3. Leaf nodes are empty and childess, except the root which has one child.
  4. Introduce vertex node has the same bag as its only child, and adds a new vertex.
  5. Forget vertex node has the same bag as its only child, and removes one of the vertices.
  6. Join node has exactly the same bag as its two children.

If introduce edge nodes are not present, then an edge is introduced when its second incident vertex is introduced.

Basic DP example

… work in progress

A few brief examples



Relations

OtherRelation fromRelation to
acyclic chromatic numberred■exclusionupper bound
admissibilityred■exclusionupper bound
arboricityred■exclusionupper bound
average degreered■exclusionupper bound
average distanceblue■exclusionexclusion
bandwidthgreen■upper boundexclusion
bipartiteblue■unboundedexclusion
bipartite numberblue■exclusionexclusion
bisection bandwidthblue■exclusionexclusion
blockblue■unboundedexclusion
book thicknessred■exclusionupper bound
boolean widthred■exclusionupper bound
bounded componentsgreen■upper boundexclusion
bounded expansionred■exclusionupper bound
boxicityred■exclusionupper bound
branch widthyellow■upper boundupper bound
c-closureblue■exclusionexclusion
carving-widthgreen■upper boundexclusion
chi-boundedred■exclusionupper bound
chordalblue■unboundedexclusion
chordalityred■exclusionupper bound
chromatic numberred■exclusionupper bound
clique cover numberblue■exclusionexclusion
clique-tree-widthred■exclusionupper bound
clique-widthred■exclusionupper bound
clusterblue■unboundedexclusion
co-clusterblue■unboundedexclusion
cographblue■unboundedexclusion
completeblue■unboundedexclusion
connectedblue■exclusionavoids
contraction complexitygreen■upper boundexclusion
cutwidthgreen■upper boundexclusion
cyclegreen■upper boundexclusion
cyclesgreen■upper boundexclusion
d-admissibilityred■exclusionupper bound
d-path-freegreen■upper boundexclusion
degeneracyred■exclusionupper bound
degree treewidthgreen■upper boundexclusion
diameterblue■exclusionexclusion
diameter+max degreegreen■upper boundexclusion
distance to bipartiteblue■exclusionexclusion
distance to blockblue■exclusionexclusion
distance to bounded componentsgreen■upper boundexclusion
distance to chordalblue■exclusionexclusion
distance to clusterblue■exclusionexclusion
distance to co-clusterblue■exclusionexclusion
distance to cographblue■exclusionexclusion
distance to completeblue■exclusionexclusion
distance to edgelessgreen■upper boundexclusion
distance to forestgreen■upper boundexclusion
distance to intervalblue■exclusionexclusion
distance to linear forestgreen■upper boundexclusion
distance to maximum degreeblue■exclusionexclusion
distance to outerplanargreen■upper boundexclusion
distance to perfectblue■exclusionexclusion
distance to planarblue■exclusionexclusion
distance to starsgreen■upper boundexclusion
domatic numberred■exclusionupper bound
domination numberblue■exclusionexclusion
domino treewidthgreen■upper boundexclusion
edge clique cover numberblue■exclusionexclusion
edge connectivityred■exclusionupper bound
edge-cut widthgreen■upper boundexclusion
edge-treewidthgreen■upper boundexclusion
edgelessgreen■upper boundavoids
excluded minormagenta■exclusionunknown to HOPS
excluded planar minorlime■upper boundunknown to HOPS
excluded top-minorred■exclusionupper bound
feedback edge setgreen■upper boundexclusion
feedback vertex setgreen■upper boundexclusion
flip-widthred■exclusionupper bound
forestgreen■upper boundexclusion
genusblue■exclusionexclusion
gridblue■unboundedexclusion
h-indexblue■exclusionexclusion
intervalblue■unboundedexclusion
iterated type partitionsblue■exclusionexclusion
linear clique-widthmagenta■exclusionunknown to HOPS
linear forestgreen■upper boundexclusion
linear NLC-widthmagenta■exclusionunknown to HOPS
linear rank-widthmagenta■exclusionunknown to HOPS
maximum cliquered■exclusionupper bound
maximum degreeblue■exclusionexclusion
maximum independent setblue■exclusionexclusion
maximum induced matchingblue■exclusionexclusion
maximum leaf numbergreen■upper boundexclusion
maximum matchinggreen■upper boundexclusion
maximum matching on bipartite graphsgreen■upper boundexclusion
merge-widthred■exclusionupper bound
mim-widthred■exclusionupper bound
minimum degreered■exclusionupper bound
mm-widthyellow■upper boundupper bound
modular-widthblue■exclusionexclusion
module-widthred■exclusionupper bound
monadically dependentred■exclusionupper bound
monadically stablered■exclusionupper bound
neighborhood diversityblue■exclusionexclusion
NLC-widthred■exclusionupper bound
NLCT-widthred■exclusionupper bound
nowhere densered■exclusionupper bound
odd cycle transversalblue■exclusionexclusion
outerplanargreen■upper boundexclusion
overlap treewidthlime■upper boundunknown to HOPS
pathgreen■upper boundexclusion
pathwidthgreen■upper boundexclusion
pathwidth+maxdegreegreen■upper boundexclusion
perfectblue■unboundedexclusion
planarblue■unboundedexclusion
radius-inf flip-widthred■exclusionupper bound
radius-r flip-widthred■exclusionupper bound
rank-widthred■exclusionupper bound
series-parallelgray■unknown to HOPSunknown to HOPS
shrub-depthmagenta■exclusionunknown to HOPS
sim-widthred■exclusionupper bound
sizegreen■upper boundexclusion
slim tree-cut widthgreen■upper boundexclusion
sparse twin-widthred■exclusionupper bound
stargreen■upper boundexclusion
starsgreen■upper boundexclusion
strong coloring numberred■exclusionupper bound
strong d-coloring numberred■exclusionupper bound
strong inf-coloring numberyellow■upper boundupper bound
topological bandwidthgreen■upper boundexclusion
treegreen■upper boundexclusion
tree-cut widthgreen■upper boundexclusion
tree-independence numberred■exclusionupper bound
tree-partition-widthgreen■upper boundexclusion
treebandwidthlime■upper boundunknown to HOPS
treedepthgreen■upper boundexclusion
treelengthmagenta■exclusionunknown to HOPS
treespangreen■upper boundexclusion
treewidthyellow■equalequal
twin-cover numberblue■exclusionexclusion
twin-widthred■exclusionupper bound
vertex connectivitygray■unknown to HOPSunknown to HOPS
vertex covergreen■upper boundexclusion
vertex integritygreen■upper boundexclusion
weak coloring numberred■exclusionupper bound
weak d-coloring numberred■exclusionupper bound
weak inf-coloring numbergreen■upper boundexclusion
weakly sparsered■exclusionupper bound
weakly sparse and merge widthred■exclusionupper bound

Results