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 numberredexclusionupper bound
admissibilityredexclusionupper bound
arboricityredexclusionupper bound
average degreeredexclusionupper bound
average distanceblueexclusionexclusion
bandwidthgreenupper boundexclusion
bipartiteblueunboundedexclusion
bipartite numberblueexclusionexclusion
bisection bandwidthblueexclusionexclusion
blockblueunboundedexclusion
book thicknessredexclusionupper bound
boolean widthredexclusionupper bound
bounded componentsgreenupper boundexclusion
bounded expansionredexclusionupper bound
boxicityredexclusionupper bound
branch widthyellowupper boundupper bound
c-closureblueexclusionexclusion
carving-widthgreenupper boundexclusion
chi-boundedredexclusionupper bound
chordalblueunboundedexclusion
chordalityredexclusionupper bound
chromatic numberredexclusionupper bound
clique cover numberblueexclusionexclusion
clique-tree-widthredexclusionupper bound
clique-widthredexclusionupper bound
clusterblueunboundedexclusion
co-clusterblueunboundedexclusion
cographblueunboundedexclusion
completeblueunboundedexclusion
connectedblueexclusionavoids
contraction complexitygreenupper boundexclusion
cutwidthgreenupper boundexclusion
cyclegreenupper boundexclusion
cyclesgreenupper boundexclusion
d-admissibilityredexclusionupper bound
d-path-freegreenupper boundexclusion
degeneracyredexclusionupper bound
degree treewidthgreenupper boundexclusion
diameterblueexclusionexclusion
diameter+max degreegreenupper boundexclusion
distance to bipartiteblueexclusionexclusion
distance to blockblueexclusionexclusion
distance to bounded componentsgreenupper boundexclusion
distance to chordalblueexclusionexclusion
distance to clusterblueexclusionexclusion
distance to co-clusterblueexclusionexclusion
distance to cographblueexclusionexclusion
distance to completeblueexclusionexclusion
distance to edgelessgreenupper boundexclusion
distance to forestgreenupper boundexclusion
distance to intervalblueexclusionexclusion
distance to linear forestgreenupper boundexclusion
distance to maximum degreeblueexclusionexclusion
distance to outerplanargreenupper boundexclusion
distance to perfectblueexclusionexclusion
distance to planarblueexclusionexclusion
distance to starsgreenupper boundexclusion
domatic numberredexclusionupper bound
domination numberblueexclusionexclusion
domino treewidthgreenupper boundexclusion
edge clique cover numberblueexclusionexclusion
edge connectivityredexclusionupper bound
edge-cut widthgreenupper boundexclusion
edge-treewidthgreenupper boundexclusion
edgelessgreenupper boundavoids
excluded minormagentaexclusionunknown to HOPS
excluded planar minorlimeupper boundunknown to HOPS
excluded top-minorredexclusionupper bound
feedback edge setgreenupper boundexclusion
feedback vertex setgreenupper boundexclusion
flip-widthredexclusionupper bound
forestgreenupper boundexclusion
genusblueexclusionexclusion
gridblueunboundedexclusion
h-indexblueexclusionexclusion
intervalblueunboundedexclusion
iterated type partitionsblueexclusionexclusion
linear clique-widthmagentaexclusionunknown to HOPS
linear forestgreenupper boundexclusion
linear NLC-widthmagentaexclusionunknown to HOPS
linear rank-widthmagentaexclusionunknown to HOPS
maximum cliqueredexclusionupper bound
maximum degreeblueexclusionexclusion
maximum independent setblueexclusionexclusion
maximum induced matchingblueexclusionexclusion
maximum leaf numbergreenupper boundexclusion
maximum matchinggreenupper boundexclusion
maximum matching on bipartite graphsgreenupper boundexclusion
merge-widthredexclusionupper bound
mim-widthredexclusionupper bound
minimum degreeredexclusionupper bound
mm-widthyellowupper boundupper bound
modular-widthblueexclusionexclusion
module-widthredexclusionupper bound
monadically dependentredexclusionupper bound
monadically stableredexclusionupper bound
neighborhood diversityblueexclusionexclusion
NLC-widthredexclusionupper bound
NLCT-widthredexclusionupper bound
nowhere denseredexclusionupper bound
odd cycle transversalblueexclusionexclusion
outerplanargreenupper boundexclusion
overlap treewidthlimeupper boundunknown to HOPS
pathgreenupper boundexclusion
pathwidthgreenupper boundexclusion
pathwidth+maxdegreegreenupper boundexclusion
perfectblueunboundedexclusion
planarblueunboundedexclusion
radius-inf flip-widthredexclusionupper bound
radius-r flip-widthredexclusionupper bound
rank-widthredexclusionupper bound
series-parallelgrayunknown to HOPSunknown to HOPS
shrub-depthmagentaexclusionunknown to HOPS
sim-widthredexclusionupper bound
sizegreenupper boundexclusion
slim tree-cut widthgreenupper boundexclusion
sparse twin-widthredexclusionupper bound
stargreenupper boundexclusion
starsgreenupper boundexclusion
strong coloring numberredexclusionupper bound
strong d-coloring numberredexclusionupper bound
strong inf-coloring numberyellowupper boundupper bound
topological bandwidthgreenupper boundexclusion
treegreenupper boundexclusion
tree-cut widthgreenupper boundexclusion
tree-independence numberredexclusionupper bound
tree-partition-widthgreenupper boundexclusion
treebandwidthlimeupper boundunknown to HOPS
treedepthgreenupper boundexclusion
treelengthmagentaexclusionunknown to HOPS
treespangreenupper boundexclusion
treewidthyellowequalequal
twin-cover numberblueexclusionexclusion
twin-widthredexclusionupper bound
vertex connectivitygrayunknown to HOPSunknown to HOPS
vertex covergreenupper boundexclusion
vertex integritygreenupper boundexclusion
weak coloring numberredexclusionupper bound
weak d-coloring numberredexclusionupper bound
weak inf-coloring numbergreenupper boundexclusion
weakly sparseredexclusionupper bound
weakly sparse and merge widthredexclusionupper bound

Results