A Guide To Graph Algorithms by Ton Kloks

Download as pdf or txt
Download as pdf or txt
You are on page 1of 350

Ton Kloks · Mingyu Xiao

A Guide to
Graph Algorithms
A Guide to Graph Algorithms
Ton Kloks • Mingyu Xiao

A Guide to Graph
Algorithms
Ton Kloks Mingyu Xiao
Computer Science and Engineering Computer Science and Engineering
University of Electronic Science University of Electronic Science
and Technology of China and Technology of China
Chengdu, Sichuan, China Chengdu, Sichuan, China

ISBN 978-981-16-6349-9 ISBN 978-981-16-6350-5 (eBook)


https://doi.org/10.1007/978-981-16-6350-5

© The Editor(s) (if applicable) and The Author(s), under exclusive license to Springer Nature
Singapore Pte Ltd. 2022
This work is subject to copyright. All rights are solely and exclusively licensed by the Publisher,
whether the whole or part of the material is concerned, specifically the rights of translation,
reprinting, reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any
other physical way, and transmission or information storage and retrieval, electronic adaptation,
computer software, or by similar or dissimilar methodology now known or hereafter developed.
The use of general descriptive names, registered names, trademarks, service marks, etc. in this
publication does not imply, even in the absence of a specific statement, that such names are
exempt from the relevant protective laws and regulations and therefore free for general use.
The publisher, the authors and the editors are safe to assume that the advice and information in
this book are believed to be true and accurate at the date of publication. Neither the publisher nor
the authors or the editors give a warranty, expressed or implied, with respect to the material
contained herein or for any errors or omissions that may have been made. The publisher remains
neutral with regard to jurisdictional claims in published maps and institutional affiliations.

This Springer imprint is published by the registered company Springer Nature Singapore Pte Ltd.
The registered company address is: 152 Beach Road, #21-01/04 Gateway East, Singapore
189721, Singapore
Contents

Preface XI

Acknowledgments XV

Graphs 1
1.1 Isomorphic Graphs . . . . . . . . . . . . . . . . . . . 2
1.2 Representing graphs . . . . . . . . . . . . . . . . . . 2
1.3 Neighborhoods . . . . . . . . . . . . . . . . . . . . . 3
1.4 Connectedness . . . . . . . . . . . . . . . . . . . . . 4
1.5 Induced Subgraphs . . . . . . . . . . . . . . . . . . 4
1.6 Paths and Cycles . . . . . . . . . . . . . . . . . . . 5
1.7 Complements . . . . . . . . . . . . . . . . . . . . . . 7
1.8 Components . . . . . . . . . . . . . . . . . . . . . . . 7
1.8.1 Rem ’ s Algorithm . . . . . . . . . . . . . . . 7
1.9 Separators . . . . . . . . . . . . . . . . . . . . . . . . 10
1.10 Trees . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.11 Bipartite Graphs . . . . . . . . . . . . . . . . . . . . 12
1.12 Linegraphs . . . . . . . . . . . . . . . . . . . . . . . 14
1.13 Cliques and Independent Sets . . . . . . . . . . . . 14
1.14 On Notations . . . . . . . . . . . . . . . . . . . . . . 15

Algorithms 17
2.1 Finding and counting small induced subgraphs . . . 18
2.2 Bottleneck domination . . . . . . . . . . . . . . . . . 20
2.3 The Bron & Kerbosch Algorithm . . . . . . . . . . . 22
2.3.1 A Timebound for the B & K – Algorithm . 28
2.4 Total Order! . . . . . . . . . . . . . . . . . . . . . . . 30
2.4.1 Hypergraphs . . . . . . . . . . . . . . . . . . 34

V
VI Contents

2.4.2 Problem Reductions . . . . . . . . . . . . . . 35


2.5 NP – Completeness . . . . . . . . . . . . . . . . . . . 38
2.5.1 Equivalence covers of splitgraphs . . . . . . . 39
2.6 Lovász Local Lemma . . . . . . . . . . . . . . . . . . 42
2.6.1 Bounds on dominating sets . . . . . . . . . . 46
2.6.2 The Moser & Tardos algorithm . . . . . . . . 48
2.6.3 Logs and witness trees . . . . . . . . . . . . . 49
2.6.4 A Galton - Watson branching process . . . . 52
2.7 Szemerédi’s Regularity Lemma . . . . . . . . . . . . 54
2.7.1 Construction of regular partitions . . . . . . . 60
2.8 Edge - thickness and stickiness . . . . . . . . . . . . 72
2.9 Clique Separators . . . . . . . . . . . . . . . . . . . 74
2.9.1 Feasible Partitions . . . . . . . . . . . . . . . 76
2.9.2 Intermezzo . . . . . . . . . . . . . . . . . . . 79
2.9.3 Another Intermezzo: Trivially perfect graphs 80
2.10 Vertex ranking . . . . . . . . . . . . . . . . . . . . . 81
2.10.1 Permutation graphs . . . . . . . . . . . . . . 81
2.10.2 Separators in permutation graphs . . . . . . . 82
2.10.3 Vertex ranking of permutation graphs . . . . 83
2.11 Cographs . . . . . . . . . . . . . . . . . . . . . . . . 84
2.11.1 Switching cographs . . . . . . . . . . . . . . . 85
2.12 Parameterized Algorithms . . . . . . . . . . . . . . . 88
2.13 The bounded search technique . . . . . . . . . . . . 90
2.13.1 Vertex cover . . . . . . . . . . . . . . . . . . 90
2.13.2 Edge dominating set . . . . . . . . . . . . . . 91
2.13.3 Feedback vertex set . . . . . . . . . . . . . . 92
2.13.4 Further reading . . . . . . . . . . . . . . . . . 95
2.14 Matchings . . . . . . . . . . . . . . . . . . . . . . . . 96
2.15 Independent Set in Claw - Free Graphs . . . . . . . . 97
2.15.1 The Blossom Algorithm . . . . . . . . . . . . 97
2.15.2 Minty ’ s Algorithm . . . . . . . . . . . . . . 100
2.15.3 A Cute Lemma . . . . . . . . . . . . . . . . . 101
2.15.4 Edmonds ’ Graph . . . . . . . . . . . . . . . 102
2.16 Dominoes . . . . . . . . . . . . . . . . . . . . . . . . 104
2.17 Triangle partition of planar graphs . . . . . . . . . . 106
2.17.1 Intermezzo: PQ - trees . . . . . . . . . . . . . 110
2.18 Games . . . . . . . . . . . . . . . . . . . . . . . . . . 111
2.18.1 Snake . . . . . . . . . . . . . . . . . . . . . . 112
Contents VII

2.18.2 Grundy values . . . . . . . . . . . . . . . . . 113


2.18.3 De Bruijn’s game . . . . . . . . . . . . . . . . 114
2.18.4 Poset games . . . . . . . . . . . . . . . . . . . 115
2.18.5 Coin - turning games . . . . . . . . . . . . . . 116
2.18.6 Nim - multiplication . . . . . . . . . . . . . . 118
2.18.7 P3 - Games . . . . . . . . . . . . . . . . . . . 120
2.18.8 Chomp . . . . . . . . . . . . . . . . . . . . . 122

Problem Formulations 125


3.1 Graph Algebras . . . . . . . . . . . . . . . . . . . . 125
3.2 Monadic Second – Order Logic . . . . . . . . . . . . 126
3.2.1 Sentences and Expressions . . . . . . . . . 126
3.2.2 Quantification over Subsets of Edges . . . 127

Recent Trends 129


4.1 Triangulations . . . . . . . . . . . . . . . . . . . . . 129
4.1.1 Chordal Graphs . . . . . . . . . . . . . . . . 129
4.1.2 Clique – Trees . . . . . . . . . . . . . . . . . . 132
4.2 Treewidth . . . . . . . . . . . . . . . . . . . . . . . . 134
4.2.1 Treewidth and brambles . . . . . . . . . . . . 135
4.2.2 Tree - decompositions . . . . . . . . . . . . . 137
4.2.3 Example: Steiner tree . . . . . . . . . . . . . 139
4.2.4 Treewidth of Circle Graphs . . . . . . . . . 145
4.3 On the treewidth of planar graphs . . . . . . . . . . 149
4.3.1 Antipodalities . . . . . . . . . . . . . . . . . . 151
4.3.2 Tilts and slopes . . . . . . . . . . . . . . . . . 157
4.3.3 Bond carvings . . . . . . . . . . . . . . . . . 163
4.3.4 Carvings and antipodalities . . . . . . . . . . 168
4.4 Tree - degrees of graphs . . . . . . . . . . . . . . . . 174
4.4.1 Intermezzo: Interval graphs . . . . . . . . . . 175
4.5 Modular decomposition . . . . . . . . . . . . . . . . 177
4.5.1 Modular decomposition tree . . . . . . . . . . 179
4.5.2 A linear - time modular decomposition . . . . 180
4.5.3 Exercise . . . . . . . . . . . . . . . . . . . . . 187
4.6 Rankwidth . . . . . . . . . . . . . . . . . . . . . . . 187
4.6.1 Distance hereditary - graphs . . . . . . . . . 188
4.6.2 Intermezzo: Perfect graphs . . . . . . . . . . 190
4.6.3 χ - Boundedness . . . . . . . . . . . . . . . . 191
VIII Contents

4.6.4 Governed decompositions . . . . . . . . . . . 196


4.6.5 Forward Ramsey splits . . . . . . . . . . . . . 198
4.6.6 Factorization of trees . . . . . . . . . . . . . . 199
4.6.7 Kruskalian decompositions . . . . . . . . . . 203
4.6.8 Exercise . . . . . . . . . . . . . . . . . . . . . 204
4.7 Clustered coloring . . . . . . . . . . . . . . . . . . . 205
4.7.1 Bandwidth and BFS - trees with few leaves . 205
4.7.2 Connected partitions . . . . . . . . . . . . . . 207
4.7.3 A decomposition of Kt minor free graphs . . 210
4.7.4 Further reading . . . . . . . . . . . . . . . . . 211
4.8 Well - Quasi Orders . . . . . . . . . . . . . . . . . . 213
4.8.1 Higman’s Lemma . . . . . . . . . . . . . . . . 213
4.8.2 Kruskal’s Theorem . . . . . . . . . . . . . . . 215
4.8.3 Gap embeddings . . . . . . . . . . . . . . . . 216
4.9 Threshold graphs and threshold - width . . . . . . . 217
4.9.1 Threshold - width . . . . . . . . . . . . . . . 218
4.9.2 On the complexity of threshold - width . . . 221
4.9.3 A fixed - parameter algorithm for threshold -
width . . . . . . . . . . . . . . . . . . . . . . 222
4.10 Black and white - coloring . . . . . . . . . . . . . . . 227
4.10.1 The complexity of black and white - coloring 228
4.11 k – Cographs . . . . . . . . . . . . . . . . . . . . . . . 229
4.11.1 Recognition of k – Cographs . . . . . . . . . 231
4.11.2 Recognition of k – Cographs — revisited . . 232
4.11.3 Treewidth of Cographs . . . . . . . . . . . . 233
4.12 Minors . . . . . . . . . . . . . . . . . . . . . . . . . . 234
4.12.1 The Graph Minor Theorem . . . . . . . . . 235
4.13 General Partition Graphs . . . . . . . . . . . . . . . 236
4.14 Tournaments . . . . . . . . . . . . . . . . . . . . . . 240
4.14.1 Tournament games . . . . . . . . . . . . . . . 240
4.14.2 Trees in tournaments . . . . . . . . . . . . . . 242
4.14.3 Immersions in tournaments . . . . . . . . . . 246
4.14.4 Domination in tournaments . . . . . . . . . . 255
4.15 Immersions . . . . . . . . . . . . . . . . . . . . . . . 259
4.15.1 Intermezzo: Topological minors . . . . . . . 259
4.15.2 Strong immersions in series - parallel digraphs 261
4.15.3 Intermezzo on 2 - trees . . . . . . . . . . . . . 262
4.15.4 Series parallel - triples . . . . . . . . . . . . . 263
Contents IX

4.15.5 A well quasi - order for one way series parallel


- triples . . . . . . . . . . . . . . . . . . . . . 268
4.15.6 Series parallel separations . . . . . . . . . . . 270
4.15.7 Coda . . . . . . . . . . . . . . . . . . . . . . . 275
4.15.8 Exercise . . . . . . . . . . . . . . . . . . . . . 281
4.16 Asteroidal sets . . . . . . . . . . . . . . . . . . . . . 282
4.16.1 AT - free graphs . . . . . . . . . . . . . . . . 283
4.16.2 Independent set in AT-free graphs . . . . . . 283
4.16.3 Exercise . . . . . . . . . . . . . . . . . . . . . 285
4.16.4 Bandwidth of AT-free graphs . . . . . . . . . 286
4.16.5 Dominating pairs . . . . . . . . . . . . . . . . 290
4.16.6 Antimatroids . . . . . . . . . . . . . . . . . . 290
4.16.7 Totally balanced matrices . . . . . . . . . . . 292
4.16.8 Triangle graphs . . . . . . . . . . . . . . . . . 295
4.17 Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . 296
4.17.1 What happened earlier ... . . . . . . . . . . . 297
4.17.2 Cauchy’s interlace lemma . . . . . . . . . . . 298
4.17.3 Hypercubes . . . . . . . . . . . . . . . . . . . 298
4.17.4 Möbius inversion . . . . . . . . . . . . . . . . 300
4.17.5 The equivalence theorem . . . . . . . . . . . 301
4.17.6 Further reading . . . . . . . . . . . . . . . . . 304
4.18 Homomorphisms . . . . . . . . . . . . . . . . . . . . 304
4.18.1 Retracts . . . . . . . . . . . . . . . . . . . . . 305
4.18.2 Retracts in threshold graphs . . . . . . . . . 306
4.18.3 Retracts in cographs . . . . . . . . . . . . . . 307
4.19 Products . . . . . . . . . . . . . . . . . . . . . . . . . 312
4.19.1 Categorical products of cographs . . . . . . . 313
4.19.2 Tensor capacity . . . . . . . . . . . . . . . . . 314
4.19.3 Cartesian products . . . . . . . . . . . . . . . 317
4.19.4 Independence domination in cographs . . . . 318
4.19.5 θe (Kn × Kn ) . . . . . . . . . . . . . . . . . . 319
4.20 Outerplanar Graphs . . . . . . . . . . . . . . . . . . 321
4.20.1 k – Outerplanar Graphs . . . . . . . . . . . . 322
4.20.2 Courcelle ’ s Theorem . . . . . . . . . . . . . 323
4.20.3 Approximations for Planar Graphs . . . . . . 323
4.20.4 Independent Set in Planar Graphs . . . . . . 323
4.21 Graph isomorphism . . . . . . . . . . . . . . . . . . . 325
X Contents

Bibliography 327

Index 335
Preface

A series of summerschools organized by the University of Science


and Technology in China germinated this book. It is a collection of
texts that are either ‘trend-setters’ or just good examples. A first
draft of this text was prepared in 2016 and 2017. It was substantially
updated in subsequent years.

This book provides an introduction to the research area of graph


algorithms and reviews the development over the last decade. The
contents is divided into parts titled ‘Graphs,’ ‘Algorithms,’ ‘Problem
Formulations,’ and ‘Recent Trends.’ The first part reviews some
graph - theoretic concepts. The second part presents a few early
highlights in graph algorithms. The third part is a very short
introduction into graph algebras and monadic second order - logic.
The last part of the book uses ‘treewidth’ as a stepping stone and
talks through a wide variety of recent trends.

The book assumes familiarity with a few basic concepts and


programming techniques that are taught during a first year computer
science course in algorithms. It provides a smooth introduction for
those who want to dive deep into this fascinating research area. The
book contains a lot of exercises, many up at present - day research
- level; they will keep the reader pleasantly entertained for many
hours.

XI
About the authors

Dr. Mingyu Xiao is a professor in the school of computer science


and engineering, University of Electronic Science and Technology of
China, Chengdu, China. He received his PhD in Computer Science
from the Chinese University of Hong Kong in 2008.

Dr. Ton Kloks is a researcher of graph algorithms. He studied


mathematics at Eindhoven University in the Netherlands during
the 1980s. He received his PhD in Computer Science from Utrecht
University in The Netherlands in 1993 for his thesis on treewidth.

XIII
Acknowledgments

An invitation by Dr. Mingyu Xiao, to introduce second and


third year students of his department during a one - week - course
to graph algorithmics, led me — Ton Kloks — to write a first draft
of this text that lies before you now. I am grateful to my wife,
to Mingyu Xiao, and to the University of Electronic Science and
Technology of China for giving me this opportunity.

This text originated in 2016 – 2017, and was substantially updated


during the summers of 2018, 2019, 2020 and 2021.

XV
Graphs
s s
 A
s
 s As
@
This book provides an introduction to the research area of @s
graph algorithms. — To start — in this chapter we review
some graph – theoretic concepts.
Figure 1.1: Kloks’ Teacher,
Professor Jaap Seidel, once
Definition 1.1. A graph G is an ordered pair of finite sets told him that this was his
favorite graph. (The point
in the middle was added on
G = (V , E).
only when he grew older.)
The elements of the nonempty set V are called points — or
vertices . 1 The set E is a subset of the unordered pairs of 1
We have: one vertex, and
two vertices.
points
E ⊆ { {a, b} | {a, b} ⊆ V } 2
An edge is a set with two
elements, which are two ver-
and the elements of E are called lines — or edges . 2
tices.

When the sets V and E of a graph G are not clear from 3


A structure with V = ∅ is
referred to as a ‘null - graph.’
the context we denote them as V( G ) and E( G ). We require
(It is not a graph.) In En-
that V 6= ∅ . 3 A graph is called empty if E = ∅ . glish: ‘null’ = ‘invalid.’

The two vertices of an edge are called the endpoints of


that edge. An endpoint of an edge is said to be ‘ incident ’ with
that edge. Two vertices x and y are adjacent if { x , y } ∈ E
and they are nonadjacent if { x , y } ∈
/ E . When two vertices
are adjacent — we say that they are — neighbors — of each
other.

All graphs that we consider in this book are finite — that


is — the set V is a nonempty :::::
finite set .

© The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd. 2022 1
T. Kloks, M. Xiao, A Guide to Graph Algorithms, https://doi.org/10.1007/978-981-16-6350-5_1
2 Graphs

Definition 1.2. A set V is finite if

∃k∈N |V| 6 k.

By the way, we use

N = { 1, 2, . . . }.

The set N of the natural numbers is, by definition, countable but, it


is not finite.

1.1 Isomorphic Graphs


Definition 1.3. Two graphs G1 and G2 are isomorphic if
there exists a bijection π : V( G1 ) → V( G2 ) satisfying

{ x , y } ∈ E( G1 ) ⇔ { π( x ) , π( y ) } ∈ E( G2 ) . (1.1)

Exercise 1.1
Show that ‘ being isomorphic ’ is an equivalence relation —
that is to say — show that

1. Every graph is isomorphic to itself

2. If G1 is isomorphic to G2 then G2 is isomorphic to G1

3. If G1 is isomorphic to G2 and G2 is isomorphic to G3 then


G1 is isomorphic to G3 .

1.2 Representing graphs


A graph can be represented by its adjacency matrix . Let G
be a graph. The adjacency matrix A of G is a symmetric
0/1 – matrix with rows and columns corresponding to the ver-
tices of G. The elements A x , y of A are defined as follows.


1 if { x , y } ∈ E( G ) , and
∀x∈V ∀y∈V Ax, y = (1.2)
0 otherwise.
1.3 Neighborhoods 3

— For example — the graph in Figure 1.1 on Page 1 has an


adjacency matrix:
 
0 0 0 0 0 0
0 0 1 0 0 1
 
 
0 1 0 1 0 0
 
0 0 1 0 1 0 (1.3)
 
0 0 0 1 0 1
 
0 1 0 0 1 0

1.3 Neighborhoods

Definition 1.4. The neighborhood N( x ) of a vertex x ∈


V( G ) is the set of vertices that are adjacent to x — that
is
N( x ) = { y ∈ V | { x , y } ∈ E } . (1.4)

When the graph G is not clear from the context we use


NG ( x ) instead of N( x ) . 4
A graph G is called regular
if all vertices have the same
The degree of a vertex x is the number of its neighbors,
degree.
ie 4

d( x ) = | N( x ) | . (1.5)

We use the notation

N[ x ] = N( x ) ∪ { x } (1.6)
Figure 1.2: The Petersen
graph is regular with degree
to denote the ‘ closed neighborhood ’ of a vertex x . For a 3.
nonempty set W of vertices we write
!
[
N( W ) = N( w ) \W
w∈W

= {y | y ∈ V \ W and N( y ) ∩ W 6= ∅ } . (1.7)

We use N[ W ] = N( W ) ∪ W to denote the closed neighborhood


of W .
4 Graphs

1.4 Connectedness

A graph is connected if one can walk from any point to any


other point via the edges of the graph . 5 5
When I told my teacher AB,
back in 1984, that I needed
Definition 1.5. A graph G is connected if | V | = 1 — or this property to finish my
proof, he said: “That’s called
else — if for every partition
:::::::
— { A, B } of V — there exists connected !”
elements a ∈ A and b ∈ B satisfying { a, b } ∈ E .

A graph is disconnected if it is not connected.

A partition of a set is defined as follows.

Definition 1.6. A collection of sets {V1 , . . . , Vt } is a partition of a


set V if

1. t > 2,

2. all Vi 6= ∅,

3. for all i 6= j, Vi ∩ Vj = ∅, and

4. ∪Vi = V.

1.5 Induced Subgraphs

Let G be a graph. A subgraph of G is a graph H with 6 6


The graph H is a
spanning subgraph of G
if V(H) = V(G) and
V( H ) ⊆ V( G ) and E( H ) ⊆ E( G ) . (1.8) E(H) ⊆ E(G). When H
is a spanning subgraph of
G and also a tree it is
called a spanning tree of G.
Definition 1.7. Let G be a graph. Let W ⊆ V( G ) and let Clearly, a graph can only
have a spanning tree if it is
W 6= ∅ . The subgraph of G induced by W is the graph H connected.
with

V( H ) = W and
E( H ) = { { a , b } | { a , b } ⊆ W and { a , b } ∈ E( G ) } .
1.6 Paths and Cycles 5

For a graph G and a nonempty set W ⊆ V( G ) we denote


the subgraph of G induced by W as G[ W ] . We also write
— where we use V = V( G ) —

G − W = G[ V \ W ] , when V \ W 6= ∅ . (1.9)

For a vertex x we write G − x instead of G − { x } . For an


edge e = { x , y } we write G − e for the graph with vertices
V( G ) and edges E( G ) \ { e } .

1.6 Paths and Cycles

Let G be a graph. A path 7 in G is a nonempty set of vertices 7


In a path all vertices are
that is ordered such that consecutive pairs are adjacent. A distinct.

path has — by definition — at least one vertex. To denote a


path P in G we use the notation

P = [x1 ··· xt ]. (1.10)

— Here — the vertices of P are

V( P ) = { x 1 , · · · , x t } ⊆ V( G ) .

The edges of P are the pairs of vertices that are consecutive


in the ordering. Edges in G — that connect vertices in P A path with n vertices has
which are not consecutive — are called chords of P . n − 1 edges.

The points x 1 and x t are the endpoints of P and we also


say that P runs between x 1 and x t . We call a path P an
x ∼ y – path if x and y are the endpoints of P . The length of
P is the number of edges in it — that is to say —

`( P ) = | E( P ) | = | V( P ) | − 1 .

Definition 1.8. For any two vertices x and y in a graph their


distance is defined as

d( x , y ) = min { | E( P ) | | P is an x ∼ y – path } . (1.11)


6 Graphs

In the case where V( P ) = V( G ) and E( P ) = E( G ) —


the graph G is called a path . 8 We use a special notation to 8
A graph is a path if it con-
denote graphs that are paths with n vertices — namely — tains a path to which it is
isomorphic.

∀n∈N Pn is the path with n vertices . s s s s


Figure 1.3: The figure shows
Exercise 1.2 a path with 4 vertices; that
is, P4 .
Design an algorithm to check whether a graph G given as
input is a path.

A cycle 9 C in a graph G is a set of at least three vertices 9


In a cycle all vertices are
that is ordered distinct.

C = [c1 ··· ct ] (1.12)


s s
such that any two consecutive vertices are adjacent in G  A
and — furthermore — also the first and last vertex of the s
 As
sequence are adjacent. @
@s
The edges of the cycle C are the consecutive pairs and the Figure 1.4: C5 : a cycle with
pair { c 1 , c t }. Edges 5 vertices

{ c i , c j } ∈ E( G ) \ E( C )

are called chords of C .

When V( G ) = V( C ) and E( G ) = E( C ) we say that G is


a cycle. For graphs isomorphic to a cycle with n vertices we
use the special notation

Cn is the cycle with n vertices .

Exercise 1.3
Show that a graph G is regular with all vertices of degree two, if
and only if every component of G induces a cycle.

Exercise 1.4
Show that C̄5 and C5 are isomorphic. Are there other cycles isomor-
phic to their complement?
1.8 Components 7

1.7 Complements
Strawberries and cream
complement each other
Let G be a graph. The complement of G is the graph Ḡ with nicely!

the following sets of vertices and edges.

V( Ḡ ) = V(G) and s s
E( Ḡ ) = { { a , b } | { a , b } ⊆ V( G ) and {a, b} ∈
/ E( G ) }. s s

Figure 1.5: The figure shows


C̄4 , the complement of the 4-
cycle. Notice that this graph
1.8 Components is disconnected.

s
Unions of connected graphs — without any additional edges A
between them — create new graphs. The constituent parts of s As
the new graph are called its components . s s

Definition 1.9. A component of a graph G is a maximal set Figure 1.6: This is the house.
It is the complement of P5 :
of vertices W ⊆ V( G ) such that G[ W ] is connected. P̄5 .

Notice that, the set of components of a graph G forms


a partition of V( G ) if and only if G is disconnected. Each
component induces a connected subgraph of G .

1.8.1 Rem ’ s Algorithm

Let G be a graph and let V(G) = [ n ] . 10 Rem ’s algorithm, 10


[n] = {1, . . . , n}
Algorithm 1 computes a function δ : V( G ) → [ n ] satisfying

∀k δ( k ) 6 k and

(i) δ( k ) = k if vertex k belongs to the component with number


k

(ii) δ( k ) < k if vertex k lies in the same component as vertex


δ( k ) .
8 Graphs

For the number of components we have

# components of G = # { x | x ∈ V and δ( x ) = x } . (1.13)

Notice that when G is the empty graph 11 the identity 11


G is empty if E(G) = ∅.
function is a solution — it puts a vertex k in the component
with number k , for k ∈ [ n ] .

Rem ’ s algorithm initializes the function δ as the identity


function and, as it — one by one — adds the edges to the
graph, it updates δ . The objective is to decrease the number
of applications needed for a vertex to find the representative
vertex in its component . 12 The algorithm is optimal in the 12
That is, the number of
sense that δ decreases at every pass of the loop that starts in times one has to apply δ be-
fore it gets constant.
Line 11 .

Exercise 1.5
Prove the correctness of Rem ’ s algorithm in Algorithm 1.
Show that it runs in O( n 2 ) time. Implement and test it on
the graph shown in Figure 2.2 on Page 23 — that is the graph
with — say 20 — disjoint triangles .

Exercise 1.6
Design an algorithm that — using Rem ’ s algorithm as a
subroutine — checks whether two vertices x and y are in the
same component of a graph G .
Hint: Analyze what happens to their components if you add
the edge { x , y } to the graph.

Exercise 1.7
Suppose we measure the ‘efficiency’ of the algorithm by the maximal
number of times one has to apply the function δ to a vertex to find
its component’s number. The efficiency of Rem’s algorithm seems
to depend on the order in which we add the edges. Is there a clever
choice?
Hint: Suppose G is a path. Analyze different orderings in which to
add the edges.
1.8 Components 9

Algorithm 1: Rem ’ s
1: procedure Rem Algorithm

2:
3: for i ∈ [n] do
4: δ(i) ← i
5: end for
6:
7: for {p, q} ∈ E(G) do
8: p0 , q0 ← p, q
9: p1 , q1 ← δ(p0 ), δ(q0 )
10:
11: while p1 6= q1 do
12: if p1 < q1 then
13: δ(q0 ) ← p1
14: q0 , q1 ← q1 , δ(q1 )
15: else
16: δ(p0 ) ← q1
17: p0 , p1 ← p1 , δ(p1 )
18: end if
19: end while
20:
21: end for
22: end procedure
10 Graphs

1.9 Separators

Definition 1.10. Let G be a graph.

1. A separator is a set S ⊂ V such that G − S is disconnected.

2. For two nonadjacent vertices a and b , a set S is a minimal


a | b - separator if a and b are in different components of
G − S and no proper subset of S has that property.

3. A set S ⊂ V( G ) is a minimal separator if S is a minimal


a | b - separator for some nonadjacent pair a and b .

— In a graph — the empty set is a minimal separator if


and only if the graph is disconnected. If a minimal separator
contains only one vertex that vertex is called a cutvertex.

s s
Exercise 1.8  A
s As s
Let a and b be nonadjacent vertices in a graph. Prove that @
@s
there is exactly one minimal a | b - separator contained in N( a ) .

Figure 1.7: Notice that one


Exercise 1.9 minimal separator can be
properly contained in an-
Show that a set S is a minimal separator in a graph G if other one. This is clear when
G is disconnected. In this ex-
and only if G − S has two components that have a neighbor ample, the cutvertex is prop-
of every vertex in S . erly contained in a minimal
separator for the nonadja-
cent pair of its neighbors in
the 5-cycle.

1.10 Trees s
s
Definition 1.11. A connected graph T is a tree if it contains s
A
no cycles — that is — if no induced subgraph of T is a cycle. s As

Remark 1.12. Notice that Definition 1.11 implies that every Figure 1.8: A tree
connected induced subgraph of a tree is a tree.
1.10 Trees 11

Definition 1.13. A graph is a forest if each of its components


induces a tree.

Exercise 1.10
Prove or disprove: A connected graph is a tree if and only if every
minimal separator in it has cardinality 1. What are graphs in which
every connected induced subgraph with at least three vertices has
a cutvertex?

Theorem 1.14. A connected graph is a tree if and only if


every connected induced subgraph with at least two vertices has
a vertex of degree one . 13 13
In a tree T we call the
vertices of degree at most
Proof. When a connected graph is not a tree then it contains a one the leaves of T . Note
that we have: ‘one leaf’ and
cycle, and so, the graph has an induced subgraph — the cycle — ‘two leaves.’ (I did it wrong
without vertex of degree 1 . in my PhD thesis ;-(. ) In
graphs, vertices of degree
Let T be a tree . When | V( T ) | = 1 the only induced subgraph one are called pendant ver-
of T is T itself. Since T has no induced subgraph with at least tices. A pendant vertex
is pendent (=“dangling.”)
two vertices, the condition is void (as it should be). ‘ Pedant ’ means something
entirely different.
Now assume that | V( T ) | > 1 and let T be connected. We
show that T has two leaves. Let x be any vertex of T and let
C1 , · · · , Ct be the components of T − x . If some component
Ci has only one vertex, then this vertex has degree one, since
its only neighbor is x .
If x has two neighbors in C1 , say y and z , then there is
a path P in T [ C1 ] connecting y and z . Then V( P ) ∪ { x }
induces a cycle in T .
By induction — on the number of vertices of T — we may
assume that each Ci induces a tree with at least two vertices.
By induction on the number of vertices — since | Ci | > 1 —
T [ Ci ] contains at least two leaves. At least one of those leaves
is not adjacent to x — and so — there is a leaf in T [ Ci ]
which is a leaf in T .
To see that T has at least two leaves — observe that when
T − x has only one component that component contains a leaf
12 Graphs

and x itself is a leaf. When T − x has at least two components


— each component contains a leaf — and so there are at least
two leaves.
This proves the theorem.

Notice that the proof of Theorem 1.14 shows that we can


prune 14 leaves off a tree , until no vertex remains. 14
‘ To prune ’ means, to cut
off branches from a plant or
Corollary 1.15. A graph T is a tree if and only if it has tree. In our case, we just pick
an elimination order — that is an ordering of V( T ) — say leaves one by one.

[x1 ··· xn ]

such that

∀16i6n G [ V i ] is a tree and x i is a leaf in G [ V i ]


where V i = { x i , · · · , x n } . (1.14)

Exercise 1.11
Design an algorithm that checks whether a graph given as
input is a tree.

1.11 Bipartite Graphs

Definition 1.16. A graph G is bipartite if | V( G ) | = 1 or


else there is a partition of V( G ) — say { A , B } — such that Exercise 1.12
Show that every tree is bipar-
∀e ∈ E(G) e ∩ A 6= ∅ and e ∩ B 6= ∅ . (1.15) tite.

The two sets A and B in a partition as above are called


color classes of G . Notice that these color classes are indepen- Exercise 1.13
dent sets in G — that is — no two vertices in one color class A bipartite graph is
complete bipartite if every
are adjacent. pair of vertices in different
color classes is adjacent. We
Definition 1.17. Let G be a graph and let denote a complete bipartite
graph, with a and b vertices
in its color classes, as Ka,b .
S ⊆ V and S 6= ∅ .
What are the minimal
separators in a complete
The set S is an independent set if no two vertices in S are
bipartite graph?
adjacent.
1.11 Bipartite Graphs 13

We represent the maximal cardinality of an independent


set in G by
α( G ) .

Let C be some set — the elements of which are called colors.


A coloring of a graph G is a map

V( G ) → C

with the property that the endpoints of any edge in G receive


different colors of C .

Definition 1.18. The chromatic number of a graph G

χ( G )

is the smallest number of colors needed to color the vertices


such that adjacent vertices have different colors.

By definition a graph G is bipartite if and only if χ(G) 6 2 .

Exercise 1.14
Design an algorithm that checks whether a graph is bipartite.
Hint: It doesn’t seem clever to use Theorem 1.19.

We have seen that trees are exactly those connected graphs


that contain no cycles. Bipartite graphs are characterized via
cycles as follows.

Theorem 1.19. A graph is bipartite if and only if all cycles


in it are even.

Proof. Let G be bipartite and let { A , B } be a partition of


V such that all edges have one end in A and the other in
B. Let C = [ c 1 · · · c t ] be a cycle. Then the elements c i
alternate between A and B . This proves that

| V( C ) | = | E( C ) | = t is even . (1.16)

Let G be a graph and assume that all cycles in G are even.


We may assume that G is connected. Start coloring G by
14 Graphs

assigning an arbitrary vertex r the color A . Define the set A


as the set of vertices that are at even distance from r . Let

B = V \ A.

We claim that { A , B } is a coloring of G . Assume that A


contains two adjacent vertices x and y . Then a shortest path
from r to x — together with a shortest path from r to y —
plus the edge { x , y } — contains an odd cycle.
This proves the theorem.

1.12 Linegraphs

Definition 1.20. Let G be a graph with at least one edge. 15 15


When a graph is empty, its
‘linegraph’ would have no ver-
The linegraph L( G ) of G is the graph
tices, which makes it not a
graph.
V( L ) = E( G ) and
E( L ) = { { e 1 , e 2 } | { e 1 , e 2 } ⊆ E( G ) and e 1 ∩ e 2 6= ∅ } .
(1.17)

Exercise 1.15
Describe the linegraphs of trees (with at least one edge).

Notice that linegraphs are graphs without claws (see Figure 2.11).
For any fixed graph H, a graph is H-free if it does not have an
induced subgraph isomorphic to H.

1.13 Cliques and Independent Sets

Definition 1.21. A clique in a graph G is a nonempty set

C ⊆ V

such that any two vertices of C are adjacent.


1.14 On Notations 15

— So — a clique in G is an independent set in Ḡ and


vice versa . 16 Let ω( G ) denote the maximal cardinality of a 16
An independent set is de-
clique in G . Then fined in Definition 1.17.

ω( G ) = α( Ḡ ) .

We call a clique with three vertices a triangle. Of course,


bipartite graphs have no triangles, since those are odd cycles. It
follows that ω( G ) 6 2 whenever G is bipartite.

A graph is called a clique if every pair of its vertices are


adjacent . 17 When G is a clique we have 17
For a clique with n ver-
tices we use the notation Kn .
ω( G ) = | V( G ) | = χ( G ) and α( G ) = 1 .

— Similarly — a graph is an independent set if it has no


edges. When G is an independent set we have

ω( G ) = χ( G ) = 1 and α( G ) = | V( G ) | .

1.14 On Notations

— To conclude this chapter — when there is no confu-


sion possible we use — when a generic graph G underlies the
discussion
n = | V( G ) | and m = | E( G ) |.
18
Perhaps I should have
— Similarly — we use used v and e, instead of n
and m, but this choice has
the advantage that I am
V = V(G) E = E(G) ω = ω( G ) α = α( G ) &tc.
used to it !
I *should* have used G in-
whenever it is clear and convenient . 18 stead of V (and use the ‘old’
notation where G is syn-
onymous with (G, E)), but,
We freely abuse notation when it clarifies the text — for unfortunately, ‘recent tradi-
tions’ kept me back.
example — when S is some subset of vertices of a graph G
then we use S also to denote G[ S ] (see the Sidenote 2.4 on
Page 30 ). The general rule applied removes uninformative 19
. . . to improve readabil-
ity ; we don’t want to
variables and parentheses . 19
compress the text. ;-)
Algorithms

— To get a taste of graph algorithms — it seems


a good idea to have a look at the early achievements that are
still widely in use today.

Before we start a word of warning. 1 Debugging may help 1


I read this in one of Dijk-
you find errors in your algorithm, but it can never prove that stra’s very early articles.

your algorithm is correct.

— Actually 2 — there cannot be a procedure that tests if an 2


In Concrete Math the side
algorithm terminates or not . Minsky gives the following proof note “skip to the next sec-
tion” would appear here.
of this. Assume there were a procedure proper( · ) that takes as
input any procedure L and outputs true if L terminates and
false otherwise. The following example provides a contradiction.

Consider the procedure L shown in Algorithm 2 . When L


is proper then it is improper and vice versa . Hence, the
procedure proper( · ) can not exist .
Algorithm 2: Minsky’s exam-
ple of a procedure that is nei-
1: procedure L ther proper nor improper.
2: use package proper
3:
4: while proper( L ) do
5: whistle once
6: end while
7: end procedure

© The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd. 2022 17
T. Kloks, M. Xiao, A Guide to Graph Algorithms, https://doi.org/10.1007/978-981-16-6350-5_2
18 Algorithms

2.1 Finding and counting small induced subgraphs

Triangles in graphs can be found via fast matrix multipli-


cation of its adjacency matrix. This gives an algorithm to find a
triangle in O(nα ) where α < 2.376.

In 1997 Alon, Yuster and Zwick showed that a triangle can


be found in O(m2α/α+1 ) = O(m1.41 ). (This improved an earlier
O(m3/2 ) algorithm by Itai and Rodeh.) 3 3
In this section we express
the run - time of algorithms
In this section we show how their method can be used to find a as a function of n and m.
diamond in a graph in O(m3/2 + nα ). 4 4
A diamond is a graph with
4 vertices; obtained from K4
by removing one edge. A
graph is diamond-free if no
Exercise 2.1 induced subgraph is isomor-
phic to the diamond.
A graph is diamond - free if and only if the neighborhood of every
vertex induces a graph in which every component is a clique.

Hint: If a graph has no diamond then every neighborhood is P3 -free


— ie — every component of a neighborhood is a clique.

The algorithm to check if a graph G has a diamond first


partitions the vertices in those that have ‘low’ degree and ‘high’
degree. Let D be some number. A vertex is low degree if its degree
is at most D and otherwise it is high degree. Let L be the set of
vertices that have low degree and let H be the set of vertices that
have high degree.
The search for a diamond is split in 4 parts.

Phase 1. check if G has a diamond with a vertex of degree 3 that is of low


degree

Phase 2. check if G has a diamond with a vertex of degree 2 that is of low


degree

Phase 3. if no diamond was found then remove all vertices of low degree.
Let G∗ be the graph that remains.

Phase 4. check if G∗ has a diamond.


2.1 Finding and counting small induced subgraphs 19

We show how each phase is implemented. We assume that the


adjacency matrix A is given. For each x ∈ L construct adjacency
lists for the graph induced by N(x). This can be accomplished
in O(d(x)2 ) time. Then compute the components of G[N(x)] and
check if each component is a clique. This can be done in O(d(x)2 )
time. If some component is not a clique then a P3 is found in
O(d(x)2 ) time. 5 It follows that this phase can be completed in 5
Exercise !
time X
d(x)2 6 2 · D · m.
x∈L

We describe the implementation of Phase 2. Let x ∈ L and let C


be a maximal clique in N(x). For each pair y, z ∈ C check if

A2y,z > |C| − 1.

If that is the case then y and z have a common neighbor outside


N[x] — ie — we find a diamond. The diamond can be produced
in linear time when all adjacency lists are sorted. We leave it as an
exercise to check that Phase 2 runs in O(D · m + nα ).

Assume that Phase 1 and Phase 2 do not produce a diamond. Notice


that
2·m
V(G∗ ) 6 .
D
Repeat the procedure described in Phase 1 for all vertices of G∗ .
This can be implemented to run in
X  2
m
dH (x) 2
= O (m · |H|) = O .
D
x∈H

Theorem 2.1. There exists an algorithm that finds a diamond in


a graph if there is one. With the adjacency matrix of the graph as
input the algorithm runs in O(nα + m3/2 ).

Proof. By the above the total run - time is at most

m2
 
O D·m+ + nα .
D

Choose D = m.
20 Algorithms

Exercise 2.2
Use a similar technique to show there is an algorithm to check if a
connected graph is claw-free that runs in O(m(α+1)/2 ) = O(m1.69 ).
6 6
The claw is shown in Fig-
√ ure 2.11 on Page 84. It is a
Hint: If a graph is claw-free then every vertex has at most 2 m tree with 4 vertices of which
√ 3 are leaves.
neighbors. When every vertex has at most 2 m neighbors then
do a fast matrix multiplication for each neighborhood and check
for a K̄3 . This step can be performed in time proportional to
X √ X
d(x)α 6 (2 m)α−1 · d(x) 6 2α · m(α+1)2 .
x x

2.2 Bottleneck domination

Let G be a graph and let w : V → R be a function which assigns


to every vertex x a weight w(x). We assume that arithmetic
operations on vertex weights can be performed in O(1) time.

Definition 2.2. Let (G, w) be a weighted graph. For W ⊆ V the


bottleneck of W is

max { w(x) | x ∈ V }.

Definition 2.3. Let G be a graph. A set D ⊆ V is a dominating


set if every vertex of V \ D has a neighbor in D.
For example, every maximal
independent set in a graph
is a dominating set.

The bottleneck domination problem is the following.


Input: A weighted graph (G, w).
T. Kloks, D. Kratsch, C. Lee
Output: A dominating set with minimal bottleneck. and J. Liu, Improved bottle-
neck domination algorithms,
Discrete Applied Mathemat-
ics 154 (2006), pp. 1578–
1592.
2.2 Bottleneck domination 21

Exercise 2.3
Prove the following theorem.

Theorem 2.4. There exists a linear time - algorithm to solve the


bottleneck domination problem.

Hint: Let (G, w) be a weighted graph. For x ∈ V let

m(x) = min { w(y) | y ∈ N[x] }.

Let
ρ = max { m(x) | x ∈ V }.

Show that the minimal bottleneck is ρ.

Definition 2.5. Let G be a graph. A total dominating set is a


set D ⊆ V such that every vertex of V has a neighbor in D. 7 7
If the graph has isolated
vertices then there is no total
dominating set.

Exercise 2.4
Show that D is a total dominating set if it is a dominating set and
G[D] has no isolated vertices.

Exercise 2.5
Prove the following theorem.

Theorem 2.6. There exists a linear time - algorithm to compute a


total dominating set with smallest bottleneck in a weighted graph.

Hint: For x ∈ V define

m0 (x) = min { w(y) | y ∈ N(x) }

and let
ρ0 = max { m0 (x) | x ∈ V }.

Show that the smallest bottleneck of a total dominating set is ρ0 .


22 Algorithms

2.3 The Bron & Kerbosch Algorithm


In this section we ’ ll have a look at the Bron – Kerbosch al-
gorithm. It was developed in the early 1970s at Eindhoven ’ s
University of Technology in The Netherlands . It remains to
this day a winner .

Recall the definition of a clique ( Definition 1.21 ) . 8 8


A clique in a graph G is
a set of vertices that are all
pairwise adjacent.
Definition 2.7. A clique C is maximal if

∀ x ∈/ C ∃ y ∈ C {x, y} ∈
/ E. (2.1) s
s
For a graph G let
A
Ω( G ) s As
s @s
represent the set of maximal cliques in G .
Figure 2.1: A clique is maxi-
mal if it is not contained in
a larger one. Obviously, this
The algorithm of Bron and Kerbosch lists all the maximal doesn’t mean that there is
cliques in a graph. In this section we describe a variant of the no larger one! This graph is
original Bron and Kerbosch – algorithm and we analyze its time called the net. Edges inci-
dent with pendant vertices
complexity. are maximal cliques. The
largest maximal clique is the
When a graph G has only vertices of degree at most 2 triangle. A largest maximal
clique is called a maximum
then each component of G is a path or a cycle. In that clique.
case the number of maximal cliques is at most n . It seems
that when a graph has a lot of maximal cliques it has a lot
of vertices of high degree.

Let ’ s look at the case where all vertices of G have degree


at least n − 3 . We say that G is high degree .
2.3 The Bron & Kerbosch Algorithm 23

Exercise 2.6
Show that a graph G is high degree if and only if every
induced subgraph of G is that . r r r
...
rAAr rAAr rAAr

Notice that, when G is high degree, every component of Ḡ


is a path or a cycle. Consider the case where Ḡ is a path — Figure 2.2: This figure show
the complement of a high
say
degree-graph. For this graph
[ x 1 · · · x n ]. we use notations

We can list the maximal cliques of G as follows. When n 6 3 K3 + · · · + K3 = t · K3 ,


this is easy — so we assume henceforth that n > 4 . to be read as ‘a union of tri-
angles.’
For the set of maximal cliques in P̄n we have

Ω( 1 · · · 1 ) = { { x 1 } } , Ω( 1 · · · 2 ) = { { x 1 } , { x 2 } } , and
Ω( 1 · · · 3 ) = { { x 1 , x 3 } , { x 2 } } .

and for n > 4 ,

Ω( 1 · · · n ) = { { x n } ∪ C | C ∈ Ω( 1 · · · n − 2 ) }
[
{ { x n−1 } ∪ C | C ∈ Ω( 1 · · · n − 3 ) } . (2.2)

Exercise 2.7
Implement this algorithm to list all maximal cliques in the
complement of a path.
For the number of maximal cliques in P̄n we have the recurrence

P( 1 ) = 1 P( 2 ) = 2 P( 3 ) = 2 and
P( n ) = P( n − 2 ) + P( n − 3 ) for n > 4 ,
n 
where P( n ) = | Ω( P̄n ) | . This solves as O 43 . (The
architect Dom van der Laan considered this the ideal fraction of
measurements for his buildings.)
24 Algorithms

Exercise 2.8
Design a similar algorithm to list all the maximal cliques in the
complement of a cycle.
Hint: Can you adapt the algorithm for paths?

Some straightforward calculations show that the high – degree


graph — with the most maximal cliques — is a graph G —
satisfying one of the following.

i. If n = 0 mod 3 , all components of Ḡ are triangles, that is ,


G has 3 n/3 maximal cliques.

ii. If n = 1 mod 3 and n > 1 , all components of Ḡ , except


two, are triangles, and the two exceptional components are
edges . 9 This gives 4 · 3 (n−4)/3 maximal cliques if n > 1 . 9
The two exceptional com-
We have one maximal clique if n = 1 . ponents induce the comple-
ment of a 4-cycle with 4 max-
imal cliques.
iii. If n = 2 mod 3 , all components of Ḡ — except one — are
triangles, and the exceptional component is a single edge.
This case gives 2 · 3 (n−2)/3 maximal cliques.

It follows that every high degree – graph has at most 3 n/3


maximal cliques. Exercise 2.9

Part I
Let us first show that — indeed — among all graphs these Consider the high degree-
graphs are the ones with the most maximal cliques. graph G in Figure 2.2. This
graph is the complement of
n
3 triangles. Show that
n
Lemma 2.8. Let G be a graph which is not high degree. Then 
|Ω(G)| = 31/3

= (1.442 · · · )n .
| Ω | 6 µ · 3 n/3 (2.3)

for some µ ∈ R, 0 < µ < 1 . Here n = | V( G ) | .


Part II
Show that the graph above
has the most maximal
Proof. The graph must have a vertex x of degree at most cliques among all high
n − 4 . Partition the set of maximal cliques into those that degree-graphs.
contain x and those that do not contain x . The first set of
cliques are exactly the maximal cliques contained in G[ N(x) ] ,
with x added on to each of them . 10 The second set of cliques 10
If N(x) = ∅, the vertex x
is an isolated vertex. In that
are maximal cliques in G − x . Possibly this second set contains
case the only maximal clique
that contains x is {x}.
2.3 The Bron & Kerbosch Algorithm 25

cliques that are not maximal in G — but — as an upperbound


we get

 | Ω( G[ N(x) ] ) | + | Ω( G − x ) | If N(x) 6= ∅
| Ω( G ) | 6 (2.4)
 1 + | Ω( G − x ) | otherwise.

By induction on the number of vertices in the graph

| Ω( G[ N(x) ] ) | 6 3 (n−4)/3 since x has degree at most n − 4 .

By induction also

| Ω( G − x ) | 6 3 (n−1)/3 .

It follows that 11 11
Since G is not high de-
gree we may assume n > 4.
When x is isolated, we have,
| Ω( G ) | 6 3 (n−4)/3 + 3 (n−1)/3
for some µ ∈ (0, 1), since
= ( 3−4/3 + 3−1/3 ) · 3 n/3 n > 4,

= 3−4/3 · ( 1 + 3 ) · 3 n/3 |Ω| 6 1 + 3(n−1)/3

= 3−4/3 · 4 · 3 n/3 6 µ · 3n/3 .

< 3 n/3 since 3 4/3 > 4.326 .

This completes the proof.

Remark 2.9. I agree to it that the notation in (2.4) is *awful*


with all those (useless) brackets! One of my teachers, Professor
De Bruijn used to say: “ Our notation for functions is terrible. —
Unfortunately — it’s not bad enough for people to feel the need
to change it; so we’re stuck with it and we’d better get used
to it ! ”

Lemma 2.10. There is an algorithm that lists all the maximal


cliques in a high degree graph in O n 2 · | Ω | time.



Proof. There is an algorithm that runs in O n 2 time and
that computes the components of Ḡ . 12 Since G is high degree, 12
We assume that G is suit-
ably represented.
26 Algorithms

each component of Ḡ is a path or a cycle, and we can find a


suitable vertex ordering in each of these components.
The technique — explained on Page 23 ff — shows that there
is an algorithm, that lists all cliques in the complement of a
path or cycle in time O ( | W | · N ) , where N is the number of
maximal cliques in G[ W ] for a component W of Ḡ .
Let { W1 , · · · , Wk } be the set of components of Ḡ . Then

Ω( G ) = { S1 ∪ · · · ∪ Sk |
∀i Si is a clique in the component G[ Wi ] } . (2.5)

It is now straightforward to show that all maximal cliques in


G can be listed in O n 2 · | Ω( G ) | time.


Exercise 2.10
Implement and run the algorithm described above for C5 .

Let A be the algorithm described above, that lists all maximal


cliques in graphs that are high degree in
 
O n 2 · | Ω | = O n 2 · 3 n/3 time ( as n → ∞ ).


When we estimate time-


bounds of graph algorithms,
We describe the algorithm of Bron and Kerbosch blow —
we are usually interested in
in Algorithm 3. The algorithm to list all the maximal cliques the case where n → ∞. We
consists of a call to the procedure with parameters: usually omit this addendum.
Choose=pick=select
B & K ( ∅, V, ∅ ) .

An invariant is a property that holds true for the parameters


of a procedure, at every call to it . An invariant is useful when
the termination condition together with the invariant yields
the desired solution , ie , the ‘ post condition . ’ The concept of
an invariant of a procedure was introduced by Dijkstra in the
early 1960s . As a concept it is a useful tool to prove the
correctness of programs.

In the case of the procedure B & K described above the


parameters can be described by the following invariant:
2.3 The Bron & Kerbosch Algorithm 27

Algorithm 3: The
1: procedure B & K( R, P, X ) Bron – Kerbosch Algorithm

2: if P ∪ X = ∅ then report R
3: else
4: if P = ∅ then skip
5: else
6: if G[ P ] is high degree then
7: Compute Ω( G[ P ] ) using Algorithm A and
8: extend them with R
9: else
10: Choose x ∈ P such that | N(x) ∩ P | < | P | − 4
11: B & K( R ∪ {x}, P ∩ N(x), X ∩ N(x) )
12: B & K( R, P \ {x}, X ∪ {x} )
13: end if
14: end if
15: end if
16: end procedure

1. R = ∅ or R is a clique in G.

2. P and X are disjoint sets and

P ∪ X = { y | R ⊆ N( y ) }

— that is — the set P ∪ X contains those vertices y ∈ V \ R


such that { y } ∪ R is a clique.

Notice that — by virtue of the invariant — the set R is a


maximal clique exactly when P ∪ X = ∅ ; thence the Report
command in Line 2.

The set P is called the set of candidates . When x is a


candidate, chosen in Line 10 , the algorithm lists all maximal
cliques that contain R ∪ { x } . Then x is removed from the set
of candidates and put into the set X to maintain the invariant.
— Finally — the remaining set of maximal cliques, that is,
those that do not contain x , are listed via the call B & K with
parameters
R , P \ { x } , and X ∪ { x } .
28 Algorithms

Exercise 2.11 s s
A A
Implement and run the Bron – Kerbosch algorithm for the 5- s As As

wheel W5 in Figure 2.3 and for the Petersen graph (Figure 1.2 @
@s
on Page 3).

Figure 2.3: The 5-wheel W5

2.3.1 A Timebound for the B & K – Algorithm

We have seen that when G is high – degree, its maximal cliques



can be listed using algorithm A in O n 2 · 3 n/3 time. The
sets P , X and R in the Bron and Kerbosch – algorithm may be
implemented by a pointer structure or an array .

Theorem 2.11. The Bron – Kerbosch algorithm runs in

O( n 2 · 3 n/3 ) time .

Proof. Let t( n ) denote the time needed to list all maximal


cliques in a graph with n vertices. Write

t( n ) = t ∗ ( n ) + r( n ),

where r( n ) is the time spent on reporting maximal cliques.


Then
r( n ) = O ( n · | Ω | ) .

The variant of the Bron – Kerbosch algorithm, in which each


report statement is replaced by an O(1) statement — like in-
creasing a counter to count the number of maximal cliques —
has then running time t ∗ ( n ).

When G[ P ] is high degree we have, by Lemma 2.10 ,


 
t ∗ ( p ) = O 3 p/3 where p = | P | . (2.6)

We claim that — when G[ P ] is not high degree

t ∗( p ) 6 t ∗( p − 4 ) + t ∗( p − 1 ) + O p 2 .

(2.7)
2.3 The Bron & Kerbosch Algorithm 29

The term t ∗ ( p − 4 ) corresponds to the case where a candidate


x of degree at most p − 4 is added to R . The search space
reduces to N( x ) , which has at most p − 4 vertices.
The term t ∗ ( p − 1 ) is the time needed to count the maximal
cliques that do not contain x . 13 — In that case — the search 13
That is, there must exist a
space is P − x , ie, a graph with p − 1 vertices. vertex y ∈ P \ NP [x] that is
adjacent to all vertices of R.

The term O p 2 is the time needed to check if G[ P ] is
high degree, to update the sets R, P and X , and to find a
candidate x ∈ P with at most p − 4 neighbors in P .
The recurrence (2.7) is similar to what we obtained for the
number of maximal cliques in 2.4 on Page 25 . It is readily
checked that  
t ∗ ( n ) = O n 2 · 3 n/3 .
Important: Make sure that
you know how to solve a re-
This completes the proof. currence as in (2.7). If not,
ask your teacher or check-
out Concrete Math!

Remark 2.12. After having gathered a list of all the maximal


cliques in the graph G[ N[ x ] ] , the remaining maximal cliques
must contain at least one nonneighbor of x . — So — instead of
finding all maximal cliques in G − x , we could list all maximal
cliques that contain some nonneighbor of x . The analysis of
Tomita et al. shows that this is ‘ much of muchness ’ — it does
not improve the worst – case time estimate.

Exercise 2.12
This idea can be built into the algorithm by replacing the
second recursive call (in Line 12) by a loop during which all
nonneighbors of x are tried. In order to minimize the number
of recursive calls Tomita et al. choose a vertex x with the most
neighbors.

Eppstein et al. analyze the complexity for sparse graphs in 14


A graph is k-degenerate if
every induced subgraph has
terms of their ‘ degeneracy .’ 14
a vertex of degree at most k.
30 Algorithms

Remark 2.13. For the maximal number of maximal cliques that


a graph with n > 1 vertices may have, Moon and Moser
derived the following formula.



n/3
3 if n = 0 mod 3
g( n ) = 4 · 3 bn/3c−1 if n = 1 mod 3 (2.8)



2 · 3 bn/3c if n = 2 mod 3 .

For a slightly different proof see also Vatter.

The graph in Figure 2.2 is the unique 15 graph with n vertices


and 3 n/3 maximal cliques ( when n = 0 mod 3 ). 15
up to isomorphism

2.4 Total Order!

A binary relation on a set P is a subset of the set of ordered


pairs in P , ie, a subset of the Cartesian product P 2 = P × P
where
When P is a poset, we use
P × P = { ( q , r ) | q ∈ P and r ∈ P } . the same symbol P also for
its set of elements. This
abuse of notation was also
common in graph theory.
Definition 2.14. A partial order — or poset — P is a pair De Bruijn used to say about
this: “ As long as you know
what you’re talking about,
( P , 6 ), there’s no problem at all ! ”

where P is a set and 6 is a binary relation on P satisfying:

∀x∈P x 6 x 6 is reflexive,
∀x∈P ∀y∈P (x 6 y & y 6 x) ⇒ x = y antisymmetric,
∀x∈P ∀y∈P ∀z∈P (x 6 y & y 6 z) ⇒ x 6 z and transitive.

Notice that possibly there are elements x ∈ P and y ∈ P for


which neither x 6 y nor y 6 x holds.
2.4 Total Order! 31

Definition 2.15. A partial order ( P, 6 ) is a total order if


every pair of its elements are related by 6 . 16
16
For example, [n] and N
are total orders. A to-
The total ordering problem is the problem to find a tal order is also called a
linear order .
total order of a set V satisfying a collection of ‘ betweenness
constraints . ’ We are given a collection R of ordered triples ‘ constraint ’ = ‘ restriction . ’

(a, b, c) ∈ V 3 .

The total order 6 should satisfy :

(a, b, c) ∈ R ⇒ (a < b < c) or (c < b < a),


where we use p < q to denote that p 6 q and p 6= q .
(2.9)

Paraphrased — the required total order 6 puts b ‘ between ’


a and c .

Let ’ s look at the Simple Total Ordering Problem first.


That problem is similar to the one above — except that each
betweenness constraint has the form

(a, b, c) ∈ R ⇒ a < b < c. (2.10)

In the simple total ordering problem the collection of con-


straints builds a poset on the elements of V . In other words ,
the betweenness constraints define arcs between elements of V ,
say x → y if some betweenness relation implies that x < y . A digraph is a graph in which
each edge {x, y} has a direc-
tion, either x → y or y → x.
A digraph is not a graph!
Exercise 2.13
If a digraph has no directed
A simple total ordering problem on V has a solution if and cycles, it is called a DAG, a
directed, acyclic graph.
only if the directed graph — defined above — is a DAG .

A topological sort of a digraph is a total ordering of its


vertices such that for every arc x → y the vertex x comes
before y in the total order.

In 1962 Kahn described an algorithm that finds a topological


sort in a DAG — say G = ( V , A ) — in time O( n + m ) . 17 17
n = |V| and m = |A|
32 Algorithms

In Kahn ’ s algorithm, Algorithm 4 on Page 32, the set S is


the set of ‘ start – nodes, ’ which is the set of vertices without
incoming arcs . 18 The set L contains the final linear ordering. 18
Start-nodes are ‘sources.’
The vertices without outgo-
ing arcs are called ‘sinks.’

Algorithm 4: Kahn ’ s
1: procedure Kahn( G = ( V , A ) ) Topological Sort

2:
3: L←∅
4: S ← { x ∈ V | ∀y∈V ¬ ( y → x ) } . S is the set of sources.
5:
6: while S 6= ∅ do
7: x←∈S
8: S←S\ {x}
9: L←L+ {x} . x is added at the end of L.
10:
11: for (x, y) ∈ A do
12: A ← A \ { (x, y) }
13: if ∀z ¬ ( (z, y) ∈ A ) then . y is a new source.
14: S←S ∪ {y}
15: end if
16: end for
17:
18: end while
19:
20: if A 6= ∅ then
21: G has a cycle : Report defeat
22: else
23: Report L
24: end if
25:
26: end procedure

Exercise 2.14
Prove that any start – node may start a topological sort of a
DAG .
2.4 Total Order! 33

A start – node x is selected as a first element in L . The


vertex x is then removed from the graph and a topological
sort is performed on the remaining graph. In the remaining
graph, all arcs ( x , y ) are removed — since x is no longer a
vertex of the graph — and the set of start – nodes of G − x
is determined. The process continues as long as the set of
start – nodes is nonempty.

Exercise 2.15
Prove that upon completion of the algorithm described above
— that is when S = ∅ — any remaining arc implies that G
has a cycle.
Hint: The remaining digraph — if any — has no source.

Theorem 2.16. There exists a linear – time algorithm 19 that 19


By ‘linear’ we mean that
computes a topological sort in a DAG . the algorithm runs in O(n+
m) time.

Proof. The graph is represented as a list of arcs. For each


vertex the algorithm maintains a list of out – neighbors and
a list of in – neighbors. These lists are updated in O(1) time
whenever an arc is removed.

To find the set of start – nodes , define a Boolean array

b : V → { true , false }

and initialize it as true for all vertices. Then the algorithm


passes through all arcs ( x , y ) ∈ A and sets b : (y) = false .
The start – nodes are then the remaining vertices, ie , those x
for which b( x ) remained true . This part of the algorithm
can be implemented so that it runs in O( n + m ) time .
t t
At each pass of the loop in Kahn ’ s algorithm, starting at ta L @
L @
t
Line 7 , a vertex x is removed from S and added to L . aaL!t
!!
t!! L aat
!a
Effectively , x is removed from the graph. The removal of
@ L
arcs that leave x takes O(1) time per arc. The fact that each @t Lt
arc is removed at most once proves the timebound.
Figure 2.4: The 8-wheel W8
This proves the theorem. (The figure appears here for
no particular reason.)
34 Algorithms

— By Theorem 2.16 — there exists a linear – time algorithm


that solves the simple total ordering problem. Unfortunately —
there is no method like that available for the total ordering
problem.
Opatnrý shows that the problem to color a hypergraph of
rank 3 can be reduced to the total ordering problem. We
explore this issue in the next section.

2.4.1 Hypergraphs

Definition 2.17. A hypergraph H is a pair ( V , E ) — where


V is a finite nonempty set and E = E( H ) is a set of
nonempty subsets of V . 20 20
Hypergraphs are sets of
subsets of a ‘universal set’
The elements of E are called hyperedges . of vertices V.

Definition 2.18. The rank of a hypergraph H is the maximal


cardinality of its hyperedges , ie ,

rank( H ) = max { | e | | e ∈ E } ,
where E = E( H ) denotes the set of hyperedges of H . (2.11)
A hypergraph is called
k-uniform if all its hyper-
The 2 – coloring problem for hypergraphs H = ( V , E ) is to edges have k vertices.
find a partition of its vertices — say { A , B } — such that
each hyperedge has a nonempty intersection with A and B ,
ie,
∀e ∈ E e ∩ A 6= ∅ and e ∩ B 6= ∅. (2.12)
When H is 2 – uniform then H is a graph and then the
2 – coloring problem is easy to solve . 21 21
See exercise 1.14.

In the remainder of this section we show that the total


ordering problem is at least as hard as the 2 – coloring problem
for hypergraphs of rank 3 . By that we mean that if there Exercise 2.16
exists a polynomial – time algorithm that solves the total order-
An orientation of a graph
ing problem, then that algorithm can be adapted, so that it gives each edge a direction.
solves the 2 – coloring problem for hypergraphs of rank 3 in Show that any graph can be
oriented into a DAG.
polynomial time.
2.4 Total Order! 35

Exercise 2.17
Orient the graph in Figure 2.4 into a DAG . Implement Kahn ’ s
algorithm, and find a topological sort.

Remark 2.19. Cook showed that the 2 – coloring problem for


hypergraphs of rank 3 is NP – complete . There are some
indications that show that there is — probably — no polyno-
mial – time algorithm for any NP – complete problem. We will
speak more about that in our chapter on complexity.

2.4.2 Problem Reductions


The method — to show that the total ordering problem is
at least as hard as the 2 – coloring problem — is called a
problem reduction . We reduce the 2 – coloring problem for
hypergraphs of rank 3 to the total ordering problem and we
show that this reduction takes polynomial time.

Assume that there exists a polynomial – time algorithm that


solves the total ordering problem in time O ( n + | R | ) k , for


some k ∈ N . Here n = | V | , the cardinality of the universal


set, and R is the set of betweenness constraints. We show
that there also exists an algorithm that solves
 the 2 - coloring

problem for hypergraphs H of rank 3 in O ( n + m )k time.
Here n = | V( H ) | and m = | E( H ) | .

Proof. Let H be a hypergraph of rank 3 for which we wish


to solve the 2 – coloring problem. Notice that we may assume
that there are no hyperedges of cardinality 1, otherwise there
cannot exist a 2 – coloring of H and we are done. Henceforth,
we assume that every hyperedge is either a triple or a pair
of elements of V .
Number the vertices and hyperedges of H :

V( H ) = { h1 , · · · , hn } and
E( H ) = { ( ai , bi , ci ) | { ai , bi , ci } ⊆ V and 1 6 i 6 t }
[
{ ( dj , ej ) | { dj , ej } ⊆ V and 1 6 j 6 p } . (2.13)
36 Algorithms

Construct a universal set and a set of betweenness constraints


as follows. For each triple ( ai , bi , ci ) ∈ E( H ) introduce one
vertex, say yi . Add one more vertex x . The universal set
V ∗ is

V ∗ = V( H ) ∪ { x } ∪ { yi | ( ai , bi , ci ) ∈ E( H ) } . (2.14)

The set of betweenness constraints R is defined as follows.


For each triple ( ai , bi , ci ) ∈ E( H ) the following two triples
are in R ,

( ai , yi , bi ) ∈ R and ( y i , x , ci ) ∈ R . (2.15)

For each pair ( di , ei ) ∈ E( H ) the following triple is in R :


yi
( di , x , ei ) ∈ R . (2.16) ai s s s bi

This completes the description of the betweenness relations and dj s sx s ej


the universal set.
s
ci
We claim that H has a 2 – coloring if and only if there is a
total ordering of V ∗ satisfying the betweenness constraints R . Figure 2.5: The figure illus-
trates the betweenness con-
Assume that the hypergraph H has a 2 – coloring of its vertices. straints.
Let { A, B } be a partition of V that contains an endpoint of
every hyperedge. We show that there is a linear ordering of
V ∗ satisfying R . Exercise 2.18
Construct an injective map f : V ∗ → Q as follows. Show that the function f is
injective.
f( x ) = 0 (2.17)

` if h` ∈ A
∀ h` ∈ V f( h` ) = (2.18)
 −` if h` ∈ B ,

 min { f( a ) , f( b ) } + 1
if sign( f( ai ) ) = sign( f( bi ) )
i i i+1
∀i ∈ [t] f( yi ) =
 − sign( f( ci ) ) otherwise.
i+1
(2.19) 
1 if z > 0
∀z∈Z sign(z) =
−1 if z < 0.
Notice that each vertex of H is mapped to i or to −i , for
some natural number i ∈ N . It is positive when it is in
2.4 Total Order! 37

A and negative otherwise. Since the endpoints of each hyper-


edge ( ci , di ) ∈ E( H ) have opposite colors each betweenness
constraint ( ci , x, di ) ∈ R is satisfied.
Consider ( ai , bi , ci ) ∈ E(H) . We check if the betweenness
constraint ( ai , yi , bi ) is satisfied.
If ai and bi are both in the same sets of the partition, ie,
if
sign( f( ai ) ) = sign( f( bi ) )
then — since f( ai ) 6= f( bi ) 22 — yi is mapped to the 22
f(ai ) 6= f(bi ) because
smallest of f( ai ) and f( bi ) plus 1/(i + 1) , and so f( yi ) lies ai 6= bi .

between f( ai ) and f( bi ) .
If sign( f( ai ) ) 6= sign( f( bi ) ) , then

f( yi ) ∈ ( −1, 0 ) ∪ ( 0, 1 )

— and so — yi lies between f( ai ) and f( bi ) which are


integers of opposite sign.

Exercise 2.19
Check that also all betweenness constraints ( yi , x , ci ) are
satisfied.

This completes the proof that V ∗ has a total order, namely ,


since Q is a total order, the function f defines a total ordering
of V ∗ .
Assume now that there is a total order of V ∗ — say 6 . 23 23
We’re not done yet!
Define a partition { A , B } of V( H ) by

A = { h | h ∈ V( H ) and h > x } and B = V \ A . (2.20)

By the betweenness constraints each hyperedge

( di , ei ) ∈ E( H )

has x between the two endpoints — and so — only one of


the two endpoints is in A .
38 Algorithms

Similarly, there cannot be a hyperedge

( ai , bi , ci ) ,

with all three elements < x or all three > x .

Exercise 2.20
Check all four cases, that no hyperedge { a , b , c } ∈ E( H ) is
monochromatic.

— We are done — we have shown that given a hypergraph


of rank 3 we can construct an instance for the total ordering
problem in linear time. The universal set V ∗ has a total
ordering if and only if the hypergraph has a 2 – coloring .

Exercise 2.21
Implement Opatnrý ’ s reduction — Start with the following
hypergraph ( V , E ) :

V = [n] (2.21)
E = {{i, i + 1, i + 2} | 1 6 i 6 n − 2} . (2.22)

Make a list of the betweenness constraints. What is the


universal set and what are the total orders that satisfy all
the betweenness constraints ?

2.5 NP – Completeness

Let P be some problem that we wish to solve . — For


simplicity — assume that P is a ‘ yes - or - no ’ question —
or —

a decision problem . 24 24
Usually, the decision vari-
ant of a problem is sufficient
to solve it. For example, to
We would like to have a fast algorithm — eg, polynomial compute ω(G) in polyno-
mial time, it would be suf-
— to solve P . The question whether we can do that concerns ficient to have a polynomial-
the — complexity — of the problem. time algorithm that checks
if ω(G) > k, for each k ∈
[n].
2.5 NP – Completeness 39

To acquire some information about the complexity of a


decision problem P, it is useful to consider the alternative
problem P ∗ , which is the problem P equipped with an oracle 25 25
eg, your teacher
that gives you the answer to P. Then the remaining question
that you need to solve is whether the oracle has given you
the correct answer.

Definition 2.20. The class of problems NP is the class of


decision problems P for which an answer — supplied by an
oracle — can be tested in polynomial time.

Definition 2.21. A decision problem P is NP – complete if


it is in NP and every other problem in NP reduces to it
in polynomial time.

Example 2.22. For example, in Section 2.4.2 on Page 35 we


reduced the 2 – coloring problem for hypergraphs of rank 3 , to
the total ordering problem. — Given the fact that — the
2 – coloring problem is NP – complete – we have shown that the
total ordering problem is NP – complete as well.

2.5.1 Equivalence covers of splitgraphs

Definition 2.23. A graph is an equivalence graph if it is P3 -free


— that is — if it is a disjoint union of cliques. An equivalence cover
of a graph G is a set of equivalence subgraphs that covers E(G).

The minimal number of equivalence graphs in a cover of G is


denoted as q(G).

Definition 2.24. A graph is a splitgraph if there is a partition of


its vertices into a clique and an independent set.
40 Algorithms

Exercise 2.22
Let G be a splitgraph and let {K, S} be a partition of V(G) such
that K induces a clique and S induces an independent set. For a
vertex x ∈ K define

δ(x) = |N(x) ∩ S| and let D = max { δ(x) | x ∈ K }.

1. Show that q(G) > ∆: Choose a vertex x ∈ K that has D


neighbors in S. The star induced by x and its neighbors in S
has equivalence number D.

2. Show that q(G) 6 D + 1: To see that enumerate the vertices of


S — say y1 · · · yt . For each x ∈ K order its neighbors in S in
some arbitrary order. For i = 1, · · · , D, define the equivalence
graph with cliques

Wi,j = { yj } ∪ { x ∈ K | the ith neighbor of x is yj }.

Define one more equivalence graph that consists of one clique;


namely K.

In this section we show that computing the equivalence cover


number of splitgraphs is NP-complete.

Chromatic index
The chromatic index of a graph is the minimal number that is
needed to color the edges of a graph such that no two edges with a
nonempty intersection have the same color. The chromatic index is
denoted as χ0 (G). By Vizing’s theorem the chromatic index of a
graph is either ∆ or ∆ + 1, where ∆ is the maximal degree of a
vertex in the graph.

Holyer proved the following theorem. 26 26


I. Holyer, The NP-
completeness of edge -
Theorem 2.25. It is NP-complete to decide whether the chromatic coloring, SIAM J. Comput.
10 (1981), pp. 718–720.
index of a cubic graph is 3 or 4.
A graph is cubic if every ver-
tex has degree 3. For exam-
ple, the Petersen graph is cu-
bic.
2.5 NP – Completeness 41

Exercise 2.23
Assume that G is triangle - free. Show that

q(G) = χ0 (G).

Exercise 2.24
Let G be a cubic graph. Construct a graph G0 as follows.
Introduce a new vertex xe for every edge e ∈ E(G). Make a new
vertex xe adjacent to the two endpoints of e.
Show that
χ0 (G) = 3 ⇔ q(G0 ) = 3.

Corollary 2.26. It is NP-complete to decide whether a graph


without K4 and with maximal degree at most 6 has equivalence
cover number 3 or 4.

Let G be a cubic graph. Construct a splitgraph


G∗ as follows.

S1. The splitgraph G∗ has a clique K = V(G).

S2. For each e ∈ E(G) the independent set S of G∗ contains two


vertices xe and ye which are both adjacent to the endpoints
of e in K.

S3. For each nonedge


:::::::
f ∈ E(Ḡ) the independent set S of G∗ con-
tains one vertex zf which is adjacent to the endpoints of f in
K.

This completes the description of the splitgraph G∗ . Let’s hope it works!

Exercise 2.25
Let G be a cubic graph and let G∗ be the graph constructed as
above.
χ0 (G) = 3 ⇔ q(G∗ ) = n + 2 A. Blokhuis and T. Kloks,
On the equivalence covering
where n = |V(G)|. number of splitgraphs, In-
formation Processing Letters
This proves the following theorem. 54 (1995), pp. 301–304.
42 Algorithms

Theorem 2.27. It is NP-complete to decide whether the equivalence


cover number of a splitgraph is D or D + 1. This remains NP-
complete when the class is restricted so that all vertices in the
independent sets of the splitgraphs have degree 2.

2.6 Lovász Local Lemma

To show the existence of combinatorial objects the Lovász


Local Lemma can be of great use.

To start consider the 2-coloring problem of a hypergraph H: we


wish to color the vertices with two colors such that no hyperedge is
monochromatic. Assume that H is k-uniform — that is — every
hyperedge of H has k vertices.

When H has less than 2 k−1 edges then H is 2-colorable.

To see that, color the vertices of H independently with proba-


bility 1/2 red or black. A bad event is an hyperedge that is
colored monochromatic.

The hypergraph is k-uniform — so — the probability that a


bad event occurs is at most 21−k (either all vertices of the hyperedge
are colored black or all vertices are colored red). The probability
that some bad event happens is at most their sum and this is less
than one (by the assumption on the number of hyperedges). The
conclusion is that there is a 2-coloring of H in which no bad event
occurs.

This result is not so great: for a graph it simply says that it


is bipartite whenever it has less than two edges (in which case
there can be no cycle). It is easy to do better; when each edge
intersects at most one other edge then the graph is bipartite also.
A generalization of this case is captured by Lovász’ local lemma.

Assume that every hyperedge of a k-uniform hypergraph H


intersects at most d other hyperedges. Lovász’ local lemma
2.6 Lovász Local Lemma 43

allows us to conclude that H is 2-colorable whenever

e · (d + 1) 6 2 k−1

(where e = 2.718 · · · is the basis of the natural logarithm).

In a probability space consider a finite set of mutually inde-


pendent random variables. Let

A1 ··· An

be a collection of events. An event is determined by the values


of a subset of the variables in the outcome of an experiment. We
write P(Ai ) for the probability that an event Ai occurs.
The Ai are the (bad) events that we wish to avoid. (In the example
above the bad events are monochromatic hyperedges that turn up
in the outcome of an experiment which colors the vertices of the
hypergraph.)
We can avoid all bad events if we prove

P( ∩ Āi ) > 0.

When the events are independent then their complements Āi are
also independent. In that case
Y
P( ∩ Āi ) = P( Āi ) > 0

— that is — there exists a way to assign values to the variables such


that no bad event happens (unless some Ai surely happens). — On
the other hand — it is clearly impossible to avoid all events when
some subset of the Āj s implies some (other) event Ai . Therefore
we need some upperbound for the conditional probabilities
\
P( Ai | Āj )
j∈J

for any set J ⊆ [n] \ i.

The local lemma deals with the case where the events are ‘almost’
independent. To formalize this we make use of a dependency graph.
The dependency graph has a vertex for each subset of variables that
determines an event. Two vertices are adjacent in the graph when
the intersection of the two subsets is nonempty.
44 Algorithms

Definition 2.28. An event A is independent of a collection of events


B1 · · · Bk if for all J ⊆ [k] and J 6= ∅
\ \
P( A Bj ) = P( A ) × P( Bj ).
j∈J j∈J

Definition 2.29. Let A1 · · · An be events in a probability space.


A graph D = (V, E) with V = [n] is a dependency graph if each
event Ai is independent of the collection of events

{ Aj | { i, j } ∈
/ E }.

Spencer formulated and proved Lovász’ local lemma (originally


proved by Lovász and Erdős) as follows.

Lemma 2.30. Let A1 · · · An be events with a dependency graph.


Let 0 6 xi < 1 be real numbers assigned to the events such that
Y
P( Ai ) 6 xi · (1 − xj ).
{ i, j } ∈ E

Then Y Y
P( ∩ Āi ) > (1 − xi ) > 0.

Proof. We first show that for any J ⊆ [n] \ i

P( Ai | ∩j ∈ J Āj ) 6 xi .

This is true when J = ∅, since


Y
P( Ai ) 6 xi · (1 − xj ) 6 xi .
{ i, j } ∈ E

We proceed by induction on | J |. Let

J1 = { j ∈ J | ( i, j ) ∈ E .} and let J 2 = J \ J1

We may assume that J1 6= ∅ otherwise the claim is clearly true.


We can write
P( Ai ∩j∈ J1 Āj | ∩j ∈ J2 Āj )
P( Ai | ∩j ∈ J Āj ) = . (2.23)
P( ∩j ∈ J1 Āj | ∩j ∈ J2 Āj )
2.6 Lovász Local Lemma 45

The event Ai is independent of the set of events { Aj | j ∈ J2 }. We


use that to find an upperbound for the numerator in (2.23).

P( Ai ∩j ∈ J1 Āj | ∩j ∈ J2 Āj ) 6 P( Ai | ∩j ∈ J2 Āj )


Y
= P( Ai ) 6 xi · (1 − xj ).
{ i, j } ∈ E

To find a lowerbound for the denominator in (2.23); write


J1 = { j1 , ··· , jr }.
Using induction we obtain

P( Āj1 ∩ · · · ∩ Ājr | ∩j ∈ J2 Āj ) =


P( Āj1 | ∩j ∈ J2 Āj ) × P( Āj2 | Āj1 ∩j ∈ J2 Āj ) ×
··· × P( Ājr | Āj1 ∩ · · · ∩ Ājr−1 ∩j ∈ J2 Āj )
Y
> (1 − xj ).
{ i, j } ∈ E

This proves the claim.


The following observation completes the proof of the lemma.

P( ∩ Āi ) = P( Ā1 ) × P( Ā2 | Ā1 ) × · · ·


Y
n
× P( Ān | Ā1 ∩ · · · ∩ Ān−1 ) > (1 − xi ) > 0.
i=1

Remark 2.31. Assume that all degrees in a dependency graph are at


most d. Assume that the probability of any bad event satisfies
P( Ai ) 6 p
We claim that if e · p · (d + 1) 6 1 then P( ∩ Āi ) > 0. To see
that set xi = 1/d+1. Since the degree of any vertex is at most d, we
have
Y 1 1 d
xi · (1 − xj ) > · (1 − ) >
d+1 d+1
{ i, j } ∈ E
1
> p.
e · (d + 1)
So the local lemma applies.
46 Algorithms

Exercise 2.26
Prove the claim we made at the start of this section: Let H be a
k-uniform hypergraph and assume that every hyperedge intersects
at most d other hyperedges. When e(d + 1) 6 2k−1 then H is
2-colorable.

Remark 2.32. In 2009 Moser and Tardos presented a constructive


proof of the Lovász local lemma — that is — they present an
algorithm that finds a good object efficiently.

Remark 2.33. Thomassen shows that every hypergraph which is k-


regular and k-uniform (that is; every hyperedge has k vertices and
every vertex is in k hyperedges) is 2-colorable provided k > 4. The
Fano plane shows that not every 3-regular, 3-uniform hypergraph
is 2-colorable. The 2-regular graphs that are not 2-colorable are
— of course — the odd cycles.

2.6.1 Bounds on dominating sets


The following problem is an example of a problem which can be
tackled using the Lovász Local Lemma.

Definition 2.34. Let a, b ∈ N. A set S of vertices in a graph is an


(a, b)-dominating set if every vertex of S is adjacent to at least a
vertices in S and every vertex outside S is adjacent to at least b
vertices in S.

For a graph G with all degrees at least a let γa,b (G) be the
smallest number of elements in an (a, b)-dominating set in G.

Lemma 2.35. Let 12 6 α < 1. There exists a number R > 0 such


that for all r > R any r-regular graph satisfies

γa,b 6 α · n.

Proof. Let N ∈ N and color (independently) the vertices of an


r-regular graph G with N colors. One of the colors appears at
2.6 Lovász Local Lemma 47

least n/N times among the vertices of G. Say red is such a color
and write V \ red for the vertices that are not red.
We claim that
V \ red
is with positive probability an (a, b)-dominating set.
For a vertex x define a bad event Ax as a coloring of N[x] such
that either one of the following holds.

1. x is red and x has less than b neighbors in V \ red

2. x is not red and x has less than a neighbors in V \ red

The following formula expresses the probability that a bad event Ax


occurs.

1 X
b−1  
r
P(Ax ) = · (N − 1)i +
Nr+1 i
i=0
X r
a−1
!
(N − 1) · (N − 1)i . (2.24)
i
i=0

Notice that each event Ax is dependent of at most r2 other events;


namely the events Ay for vertices y at distance at most two from
x. — So — by Remark 2.31 (or by Lovász local lemma with all
variables xi = 1/r2 ) we are done when we show that

e · P · r2 6 1,

where we write P = P(Ax ) for the probability of a bad event as in


Formula (2.24).
For any given number N > 2 since a and b are fixed numbers
in the formula (2.24) the numerator is a polynomial in r and the
denominator is an exponential function in r. — So — there exists
a number R such that e · P · r2 < 1 whenever r > R.
This proves the lemma.

It is easy to cover the case where G is a graph with minimal


degree δ and maximal degree ∆: Use δ to adjust (2.24) and use ∆2
to bound the degree in the dependency graph.
48 Algorithms

An (a, b)-dominating set that meets the requirements can be


constructed efficiently by the algorithm of Moser and Tardos.

2.6.2 The Moser & Tardos algorithm

Moser and Tardos developed (in 2009) a constructive proof of


Lovász’ local lemma. — To be more precise — let A be a collection
of events with a dependency graph D. 27
In their paper Moser and
Tardos introduce the nota-
To ease the notations we identify an event A with the set of variables
tion vbl(A) for this set of
whose outcome determines A.27 variables.

For an event A ∈ A we write N( A ) ⊆ A \ A for its neighbors in


the dependency graph D and we write N̄( A ) = N( A ) ∪ {A} for
its closed neighborhood.28 Let x : A → (0, 1) be a function which 28
In the dependency graph
satisfies Lovász’ condition there is an edge between two
events A and B when A ∩
Y B 6= ∅. So an event A
∀A ∈ A P( A ) 6 x( A ) × (1 − x( B )). (2.25) is independent of the collec-
B ∈ N( A ) tion A \ ({A} ∪ Γ (A)). (See
Definiton 2.28 on Page 44.)

Moser and Tardos show that a very simple randomized algo-


rithm finds an assignment of the variables which avoids all events
A ∈ A. — Furthermore — the expected number of resampling
steps used by this algorithm is bounded by
X x( A )
.
1 − x( A )
A∈A

In this section we recapitulate Moser and Tardos’ result. In


their paper they show furthermore that when the dependency graph
has bounded degree and the function x satisfies a slightly stronger
condition than (2.25) then there is an ‘efficient’ deterministic al-
gorithm that finds an assignment of the variables which avoids all
events of A. (We refer to their paper for a precise description of
this and other results.)

We say that an experiment violates an event when the event


happens.
2.6 Lovász Local Lemma 49

The randomized algorithm to find an assignment of the vari-


ables which avoids all the events of A is the following.

1. Start with a random asignment of all variables

2. If some event of A occurs then pick one arbitrarily and find


a new random assignment of the variables that it contains

3. Repeat this resampling step until no more bad event occurs.

Below we prove the following theorem.

Theorem 2.36. Let P be a finite set of mutually independent


random variables in a probability space. Let A be a finite set of
events and let x be a function which satisfies the condition of Lovász
local lemma (2.25). The algorithm described above resamples an
event A an expected number of times at most x( A )/1−x( A ) —
that is — the expected total number of resampling steps is at most
X x( A )
.
1 − x( A )
A∈A

2.6.3 Logs and witness trees


To prove Theorem 2.36 we show that the algorithm is equivalent
to ‘checking’ sequences of ‘witness trees’ for the occurrence of bad
events.

The execution of the algorithm above produces a log — that


is — a sequence of events

C:N → A,

which are chosen for resampling during the execution. This is a


partial function when the algorithm terminates. We assume that
there is a fixed (randomized) procedure which selects the bad event
for resampling. (This makes the log a random variable.)
50 Algorithms

Definition 2.37. A witness tree is a finite rooted tree T with a


labeling
[ · ] : V( T ) → A

such that for each node a its children are labeled by elements of
N̄( [a] ).

A witness tree is called proper if all children of a node in a


witness tree have different labels.

Given a log C we identify a witness tree with each element


C(t) as follows. Start with a tree T t which consists of a single root
node with label C(t). For i = t − 1, · · · 1 distinguish two cases to
construct the tree T i .

• If there is a vertex a in the tree T i+1 with C(i) ∈ N̄( [a] ) then
choose a such that it is furthest from the root. Attach a new
child to a and label it as C(i).

• If N̄( C(i) ) ∩ V( T i+1 ) = ∅ then let T i = T i+1 .

The witness tree τ( t ) of the resampling step t in C is defined as

τ( t ) = T 1.

Definition 2.38. A witness tree T appears in C if there exists


some t ∈ N such that T = τ( t ).

Lemma 2.39. A witness tree which appears in a log is proper.

Proof. By definition of the algorithm that produces the witness tree;


no two elements of A that are the same or intersect can appear
at the same depth in a witness tree.

We want to show that the probability that a witness tree T


appears in C is at most the probability that it passes a certain
test.
2.6 Lovász Local Lemma 51

Definition 2.40. Let T be a witness tree. A T -check visits the


nodes of T in reversed BFS-order, it takes a random evaluation
of elements of each node [a] in T that it visits and checks if the
event [a] is violated. The witness tree T passes the check if all
events were violated when checked.

Lemma 2.41. The probability that a witness tree T passes its check
is Y
P( [a] ).
a ∈ V(T )

Proof. The random evaluation of the variables in each node is


independent of earlier evaluations.

Lemma 2.42. Let T be a fixed witness tree and let C be the


random log produced by the algorithm. The probability that T appears
in the log is at most
Y
P( [a] ).
a ∈ V( T )

Proof. Assume that a random generator produces an infinite se-


quence of independent random evaluations for each variable P

P1 P2 ···

Whenever the algorithm of Moser and Tardos (or a T -check) calls


for a new random sample of P the generator presents the next
element in the list.
Assume that a witness tree T appears in the log C — say T = τ(t)
for some t ∈ N. (So the root of T is labeled as C(t)). We need to
prove that T passes the T -check.
Let a ∈ V( T ) and let P ∈ [a]. Let S(P) be the set of nodes
w ∈ V( T ) that are at depth greater than v in T and for which
P ∈ [w]. When the T -check visits v the random evaluation of P
produces P|S(P)| . That is so because the check visits the nodes in
order of decreasing depth and no two nodes at the same depth can
contain the same element P (since they are disjoint).
52 Algorithms

Notice that the randomized algorithm of Moser and Tardos re-


samples the variable P exactly in the same order (by definition of
the occurrence of T in the log). Since [a] is violated in the Moser
& Tardos algorithm it is also violated in the T -check.
This proves the lemma.

Let NA be the number of times that an event A ∈ A appears


in the log — that is — NA is the number of times that A is
resampled during the execution of the Moser & Tardos algorithm.
Then NA is equal to the number of different witness trees that
appear in C and that have their root labeled A. To see that let ti
be such that C( ti ) = A for the ith time. The witness tree τ( ti )
contains exactly i copies of A — so clearly — τ( ti ) 6= τ( tj )
whenever i 6= j.
It follows that we can bound the expectation of NA by summing
the bounds on the probabilities of occurrences of witness trees. We
do that in the next section.

2.6.4 A Galton - Watson branching process


Wassup ?
In this section we describe and analyze a process that generates
proper witness trees with a fixed root A ∈ A.

Let x( · ) be a function satisfying the Lovász’ condition 2.25 on


Page 48. A process to generate a witness tree is the following.

1. In the first round the process generates a tree with a single


node labeled A

2. For each subsequent round choose (independently) an el-


ement a of the previous round and (also independently)
choose an element B ∈ N̄( [a] )

3. With probability x( B ) add a child node at the node a and


give it the label B. With probability 1 − x( B ): skip.
2.6 Lovász Local Lemma 53

This process ends when no new vertices are created in some round.

Define
Y
x0 ( B ) = x( B ) · (1 − x( C )).
C ∈ N( B )

Lemma 2.43. Let T be a proper witness tree with its root labeled
A. The probability that the Galton-Watson process described above
produces exactly T is

1 − x( A ) Y
PT = · x0 ( [a] ).
x( A )
a ∈ V(T )

Proof. For a ∈ V(T ) let Wa be the set of elements in N̄( [a] ) that
do not appear as the label of a child of a. The probability that
the Galton-Watson process produces T is
1 Y Y
PT = · x( [a] ) · (1 − x( [u] )).
x( A )
a ∈ V(T ) u ∈ Wa

(The leading factor appears because the root is always there.)

We get rid of the Wa ’s as follows

1 − x( A ) Y x( [a] ) Y
PT = · · (1−x( [u] )).
x( A ) 1 − x( [a] )
a ∈ V(T ) u ∈ N̄( [a] )

We can replace inclusive neighborhoods by exclusive ones

1 − x( A ) Y Y
PT = · x( [a] ) · (1−x( [u] )) =
x( A )
a ∈ V(T ) u ∈ N( [a] )

1 − x( A ) Y
· x0 ( [a] ).
x( A )
a ∈ V(T )

This proves the lemma.

We are now ready to complete the proof of Theorem 2.36 (which


is on Page 49).
54 Algorithms

Proof. Let TA be the set of all proper witness trees that have root
A. We find for the expected number of times that an event A
appears in the log C:
X
E( NA ) = P( T appears in C ) 6
T ∈ TA
X Y X Y
P( [a] ) 6 x0 ( [a] ) =
T ∈ TA a ∈ V(T ) T ∈ TA a ∈ V(T )

x( A ) X x( A )
· PT 6 .
1 − x( A ) 1 − x( A )
T ∈ TA

The first inequality follows from Lemma 2.42. The second inequality
follows from the assumptions in Theorem 2.36. The third inequality
follows from Lemma 2.43. The last inequality holds because the
Galton-Watson process produces exactly one tree at a time.
This proves the theorem.

2.7 Szemerédi’s Regularity Lemma


The regularity lemma plays an important role in extremal combina-
torics. 29 29
Extremal graph theory
studies maximal or minimal
graphs satisfying a certain
Let G be a graph and let X and Y be disjoint sets of vertices. property.
Write e(X, Y) for the number of edges that intersect both X and Y.
The density of {X, Y} is defined as d(X, Y) = e(X,Y)/|X|·|Y|.

Definition 2.44. Let X and Y be disjoint sets. The pair {X, Y} is


-regular if for all X0 ⊆ X and Y 0 ⊆ Y

|X0 |/|X| >  and |Y 0 |/|Y| >  ⇒


| d(X , Y ) − d(X, Y) | 6
0 0
.

Exercise 2.27
Show that {X, Y} is -regular when d(X, Y) 6 3.
2.7 Szemerédi’s Regularity Lemma 55

Definition 2.45. A partition {V0 , · · · , Vk } of the vertices of a graph


is equitable if

|Vi | = |Vj | for all 1 6 i < j 6 k.

The set V0 may be empty; it is called the exceptional class of the


partition.

Definition 2.46. An equitable partition {V0 , · · · , Vk } is -regular


if both of the following conditions hold.

(a) |V0 | 6  · n;

(b) all — except at most  · k2 of the pairs {Vi , Vj } (1 6 i < j 6 k)


—are -regular.

In this chapter we prove Szemerédi’s regularity lemma:

The Regularity Lemma

Lemma 2.47. Let  ∈ R and t ∈ N. There exist N, T ∈ N


such that any graph with at least N vertices has an -regular
partition {V0 , · · · , Vk } with t 6 k 6 T .

We will assume — throughout this chapter — that


1
0 <  6 .
2
This is not an important restriction since any 0 -regular partition
is -regular for  > 0 .

Exercise 2.28
Assume G has at most 4 · n2 edges. Show that any equitable
partition with |V0 | 6  · n is -regular.

A partition π0 is a refinement of another partition π if every


class of π is the union of some classes of π0 .
56 Algorithms

Definition 2.48. Let π = {V1 , · · · , Vk } be a partition of the


vertices of a graph. The index of π is
X |Vi | · |Vj | 2
index(π) = · d (Vi , Vj ).
n2
16i<j6k

Important modification:
When π = {V0 , · · · , Vk } is a partition with an exceptional class V0
then we define index(π) as the index of the refined partition where
each element of V0 forms a class by itself (so index(π) is the index
of a partition with |V0 | + k classes).

Exercise 2.29
Show that
1
0 6 index(π) 6 .
2

In the search for an -regular partition we start with


an arbitrary equitable partition of the vertices {V0 , · · · , Vt } with

|V0 | = t − 1.

We refine this partition until it satisfies the conditions. To prove


that the number of classes in the final partition is independent of
n we use the fact that the index increases whilst it is bounded
from above by 1/2.

We first show that the index does not decrease in any refine-
ment. — Below (in Lemma 2.51) — we show that the increase
is substantial when there are ‘irregular pairs’ — that is — pairs
{Vi , Vj } with subsets Vi0 and Vj0 that satisfy

|Vi0 | >  · |Vi | and |Vj0 | >  · |Vj | and


|d(Vi0 , Vj0 ) − d(Vi , Vj )| > . (2.26)
2.7 Szemerédi’s Regularity Lemma 57

Lemma 2.49. If π0 refines π then

index(π0 ) > index(π).

Proof. Consider a bipartition {X, Y}. Let {X1 , X2 } be a partition of


X. Then
e(X, Y) = e(X1 , Y) + e(X2 , Y).

Rewrite this as

|X||Y| · d(X, Y) = |X1 ||Y| · d(X1 , Y) + |X2 ||Y| · d(X2 , Y).

By the Cauchy-Schwartz inequality we obtain

|X1 | 2 |X2 | 2
d2 (X, Y) 6 · d (X1 , Y) + · d (X2 , Y). (2.27)
|X| |X|

Any refinement is obtained by repeated application of bipartitions.


This proves the lemma.

Exercise 2.30
The Cauchy-Schwartz inequality says that for any real numbers ai
and bi ,

(a1 b1 + · · · + an bn )2 a21 + · · · + a2n · b21 + · · · + b2n .


 
6

Derive (2.27) (by suitable choice of ai and bi ).

Lemma 2.50. Let {X, Y} be an irregular bipartition: let {X1 , X2 }


and {Y1 , Y2 } be partitions of X and Y such that

(a) |X1 | >  · |X| and |Y1 | >  · |Y|;

(b) |d(X1 , Y1 ) − d(X, Y)| > ,

then
X |Xi ||Yj |
· d2 (Xi , Yj ) > d2 (X, Y) + 4 .
|X||Y|
58 Algorithms

Proof. Notice that


X
|X||Y| · d(X, Y) = |Xi ||Yj | · d(Xi , Yj ).

We have
X |Xi ||Yj |
4 6 · (d(Xi , Yj ) − d(X, Y))2 =
|X||Y|
X |Xi ||Yj | X |Xi ||Yj |
· d2 (Xi , Yj ) − 2 d(X, Y) · d(Xi , Yj ) +
|X||Y| |X||Y|
d2 (X, Y) =
X |Xi ||Yj |
· d2 (Xi , Yj ) − d2 (X, Y).
|X||Y|

This proves the lemma.

Notation: For a partition π = {V0 , · · · , Vk } with an exceptional


class V0 let |π| = k.

Lemma 2.51. Let π = {V0 , · · · , Vk } be an equitable partition with


an exceptional class V0 that satisfies |V0 | 6 ·n. Assume that there
are more than  · k2 irregular pairs. There exists a refinement π0
of π that satisfies
1 5
index(π0 ) > index(π) + · and |π0 | 6 k · 2k .
4
Proof. When sets Vi and Vj form an irregular pair {Vi , Vj } then
there are partitions {Vi1 , Vi2 } and {Vj1 , Vj2 } such that

|Vi1 | > |Vi |, |Vj1 | > |Vj |, | d(Vi1 , Vj1 ) − d(Vi , Vj ) | > .

By Lemma 2.50 this implies


X |Vik ||Vj` | 2 k ` |Vi ||Vj | 2 |Vi ||Vj | 4
·d (Vi , Vj ) > ·d (Vi , Vj ) + · .
n2 n2 n2
k,` ∈ {1,2}
(2.28)
Let π0 be the common refinement of these partitions; say this
partitions a set Vi as

{ Vi,1 , · · · , Vi,ki }.
2.7 Szemerédi’s Regularity Lemma 59

Then ki 6 2k — so — |π0 | 6 k · 2k .
By (2.28) and Lemma 2.49 we have for all irregular pairs {Vi , Vj }

Xki X
kj
|Vi,a ||Vj,b | 2
· d (Vi,a , Vj,b ) >
a=1
n2
b=1
|Vi ||Vj | 2 |Vi ||Vj | 4
· d (Vi , Vj ) + · .
n2 n2
Since there are more than k2 irregular pairs — and since for
i > 1: |Vi | > (1−)·n
k — we find

index(π0 ) >
((1−)n/k)2 4 1 5
index(π) + k2 · · > index(π) + ·
n2 4
(since we may assume that 0 <  6 1/2).
This proves the lemma.

We now prove the regularity lemma (Lemma 2.47 on


Page 55).

Proof. Start with an equitable partition π0 = {V0 , · · · , Vt } with


|V0 | = t−1. We may assume that n is large enough ie t 6 ·n/2. 30 30
This leaves us some space
in the exceptional class —
If π0 is not -regular there exists a refinement π0 which satisfies which we need — because
the exceptional class grows
1 5
index(π0 ) > index(π) + · and |π0 | 6 |π| · 2|π| . during the refinements.
4

Let A = |π0 |. To make π0 into an equitable partition π1 partition


each class further into classes of size exactly 14 · 6 · A
n
 
and at most
one class of size less than that. All the small parts are moved into
the exceptional set. This increases the size of the exceptional set by
at most 14 · 6 · n. 31 By Lemmas 2.49 and 2.51: 31
That is so because the in-
crease is less than
1 5 j n k 1
index(π1 ) > index(π0 ) + · . A · 6 · 6 · 6 · n.
4 4A 4
Notice that for all this to
Repeating this process the kth partition πk satisfies make sense we need n >
4A/6 otherwise the refine-
k 5 ment does not exist. The
index(πk ) > index(π0 ) + · . iteration blows up this lower
4
bound on n; but it remains
constant.
60 Algorithms

1
However, any index is bounded from above by 2. Therefore, the
process ends in at most 2 · −5 iterations.
Notice that the increase of the exceptional set is smaller than
1 6 1
·  · n · 2 · −5 = ·  · n,
4 2 Let a function f : N → N
— that is — since the original exceptional class satisfies be defined by
l f(1) = t and
m
f(k + 1) = 46 · f(k)2f(k) .
1
|V0 | 6 ·  · n, The number of classes in
2 the -regular partition πk
we obtain an -regular partition. The number of classes is bounded produced by the algorithm
satisfies
by a function of  and t.
|πk | 6 f(d2−5 e).
This proves the regularity lemma.
Clearly, this is also the lower
bound for n.

Remark 2.52. It is generally not possible to obtain -regular parti-


tions that do not have any irregular pairs. The following bipartite
graph is an example of a graph in which every -regular partition
has irregular pairs. Let

A = {a1 , · · · , an } and B = {b1 , · · · , bn }

and let {ai , bj } ∈ E if i 6 j. (This bipartite graph is called a chain


graph.)

2.7.1 Construction of regular partitions


Alon et al. showed (in 1994) that it is co-NP-complete to decide
whether a given partition of a graph is -regular. — On the other
hand — the lemma can be made constructive; an -regular partition
can be found in O(M(n)) time, where M(n) = n2.373 is the time
needed to multiply two n × n matrices with entries in {0, 1}.

The problem to decide whether a given partition is -regular


remains co-NP-complete even when  = 1/2 and k = 2. To prove
that Alon et al. derive the following lemma (we omit the proof).

Lemma 2.53. The following problem is NP-complete. Given a


bipartite graph with color classes A and B satisfying |A| = |B| = n
and |E| = 12 · n2 − 1. Decide if the graph contains a complete bipartite
subgraph K n2 , n2 .
2.7 Szemerédi’s Regularity Lemma 61

To see that -regularity is co-NP-complete, Alon et al. make


the following observation.

Lemma 2.54. A bipartite graph with n vertices in each color class


2
and with exactly n2 − 1 edges contains K n2 , n2 if and only if it is
not -regular with  = 1/2.

Proof. Let the color classes be A and B. Assume |A| = |B| = n and
d(A, B) = 12 − n12 .
Assume the graph contains K n2 , n2 . Then there are sets X and Y of
size n/2 and d(X, Y) = 1. This implies
1
| d(X, Y) − d(A, B) | > ,
2
which shows that the graph is not -regular with  = 1/2.
Assume that the graph is not -regular with  = 1/2. Then there
are sets X and Y of size at least n2 that satisfy
1 1 1
| d(X, Y) − + | > .
2 n2 2
Notice that this is only possible when d(X, Y) = 1 — that is —
{X, Y} represents a complete bipartite subgraph (with at least n/2
vertices in each color class).
This proves the lemma.

In their paper Alon et al. prove the following theorem (which is


a constructive edition of the Regularity Lemma (Lemma 2.47
on Page 55).

Theorem 2.55. For  > 0 and t ∈ N there exist N, T ∈ N


such that every graph with at least N vertices has an -regular
partition with k + 1 classes where k satisfies t 6 k 6 T .

Such a partition can be found in O(M(n)) time.

To prove the theorem we need to do some preliminary work.


62 Algorithms

Definition 2.56. Let A and B be color classes of a bipartite graph 32


When the graph is com-
satisfying |A| = |B| = n. Let d be the average degree. For two plete bipartite or empty
then
vertices p, q ∈ B define their neighborhood deviation as
σ(p, q) = 0
2
d for all pairs p, q ∈ B. In
σ(p, q) = | N(p) ∩ N(q) | − . that case σ(Y) = 0 for all
n
nonempty sets Y ⊆ B.
For Y ⊆ B (Y 6= ∅) define its deviation as 32 As another example, define
a bipartite graph H on the 7
1 X points and 7 lines of the Fano
σ(Y) = · σ(p, q). plane. A point and line are
|Y|2
adjacent of they are incident
p,q ∈ Y
p6=q in the plane. We have an av-
erage degree d = 3 since any
point lies on 3 lines. Since
any pair of points lie on one
line
A constructive version of the regularity lemma depends on 2
the construction of suitable subsets Vi0 and Vj0 satisfying (2.26) (of σ(p, q) = 1 − 9/7 = − .
7
irregular pairs {Vi , Vj }). These ‘witnesses’ to the irregularity are When B is the set of points
hard to find. of the Fano plane, we find

The following lemma shows that it is possible to ‘approximate’ 1 2 12


σ(B) = ·7·6·(− ) = − .
49 7 49
witnesses.

Lemma 2.57. Let a bipartite graph have color classes A and B


which satisfy |A| = |B| = n. Let d be the average degree. Let
0 <  < 1/16. Assume there exists a set Y ⊆ B such that

3
|Y| > ·n and σ(Y) > ·n (2.29)
2

Then one of the following items holds true

I. d < 3 · n;
4
II. | {y | y ∈ B and | deg(y) − d | > 4 · n } | > 8 · n;

III. There exist subsets A0 ⊆ A and B0 ⊆ B that satisfy

4 4
|A0 | > · |A| and |B0 | > · |B| and
4 4
| d(A0 , B0 ) − d(A, B) | > 4 .
2.7 Szemerédi’s Regularity Lemma 63

There exists an O(M(n))-algorithm that produces sets A0 and B0 as


specified in III when I and II do not hold.

Proof. Assume that I and II do not happen. We prove III.


Define

Y0 = {y ∈ Y | |deg(y) − d| < 4 · n }.

Then Y 0 6= ∅ since II does not occur.


P
Choose y0 ∈ Y that maximizes y∈Y σ(y, y0 ). By taking an
P
average we estimate y∈Y σ(y, y0 ).

X X X X
σ(y, y0 ) = σ(Y) · |Y|2 − σ(y, y0 )
y0 ∈Y 0 y∈Y y0 ∈Y\Y 0 y∈Y
y6=y0 y6=y0

3 4
> · n · |Y|2 − · n · |Y| · n.
2 8
(Here we use Y’s property that σ(Y) > 3 ·n/2 and the assumption
4
that II does not occur which implies |Y \ Y 0 | 6 8 · n.)
Since |Y 0 | 6 |Y| and |Y| >  · n, we have
X 3 4 2 3 3
σ(y, y0 ) > · n · |Y| − ·n > ·  · n · |Y|. (2.30)
2 8 8
y∈Y

We claim
4
| {y | y∈Y and σ(y, y0 ) > 24 · n } | > · n.
4
(2.31)
Otherwise
X 4
σ(y, y0 ) < · n2 + |Y| · 24 · n
4
y∈Y

3 3 3
6 · n · |Y| + 24 · n · |Y| 6 ·  · n · |Y|
4 8
and this contradicts (2.30).
It follows from (2.31) that there exists a set B0 ⊆ Y \ {y0 } which
satisfies
4 d2
|B0 | > · n and ∀b∈B0 | N(b) ∩ N(y0 ) | > + 24 · n.
4 n
64 Algorithms

Let A0 = N(y0 ). Since d > 3 · n and 16 < 1,


4
|A0 | > d−4 ·n > 3 ·n−4 ·n > 154 ·n > ·n.
4

We claim
| d(A0 , B0 ) − d(A, B) | > 4 .
To see that notice
X 
d2

e(A0 , B0 ) = | N(y0 ) ∩ N(b) | > + 24 · n · |B0 |.
n
b∈B0

It follows that

d2
 
1 d
d(A0 , B0 ) − d(A, B) > + 24 · n · −
n |A0 | n
d2 d
> + 24 − =
n(d + 4 · n) n
d4
24 − > 4 .
d + 4 · n
(In the second line we use the fact that |A0 | 6 n since A0 ⊆ A and
the fact that |A0 | = |N(y0 )| < d + 4 · n since y0 ∈ Y 0 .)
An algorithm to compute the sets A0 and B0 proceeds by com-
puting for all y0 ∈ B with | deg(y0 ) − d | < 4 · n the set

B(y0 ) = {y | y ∈ B and σ(y, y0 ) > 24 · n }.


4
There exists a vertex y0 with |B(y0 )| > 4 · n (see (2.31)). The
required sets are B0 = B(y0 ) and A0 = N(y0 ).
All quantities σ(y, y0 ) can be obtained by squaring the adjacency
matrix.
This proves the lemma.

Exercise 2.31
Let d be the average degree of a bipartite graph with color classes
A and B of size n. Assume d < 3 · n (Case I of Lemma 2.57).
Prove that the graph is -regular.
Hint: See Exercise 2.27.
2.7 Szemerédi’s Regularity Lemma 65

Exercise 2.32
Let the color classes A and B of a bipartite graph satisfy |A| = n
and |B| = n. Show that the graph is -regular if for all X ⊆ A and
Y⊆B

|X| = d · |A|e and |Y| = d · |B|e ⇒


| d(X, Y) − d(A, B) | 6 .

Hint: Compare Definition 2.44 (which is on Page 54).

Lemma 2.58. Let A and B be color classes of a bipartite graph and


assume that |A| = |B| = n. Assume
1 1
2n− 4 <  < .
16
Assume that case II, in Lemma 2.57, does not occur, ie

4
| { y ∈ B | | deg(y) − d | > 4 · n } | 6 · n.
8
If the graph is not -regular then there exists a set Y ⊂ B which
satisfies (2.29) ie

3
|Y| > ·n and σ(Y) > · n. (2.32)
2
Proof. Assume that no set Y ⊆ B, |Y| >  · n satisfies (2.32). We
show that the graph is -regular.
Let X ⊆ A and Y ⊆ B and let

|X| = d · |A|e and |Y| = d · |B|e .

We show that
| d(X, Y) − d(A, B) | 6 .

We claim
X d
2
2
| N(x) ∩ Y | − · |Y| 6 e(A, Y) + |Y|2 · σ(Y) + 5 · n3 .
n 5
x∈X

To see that write (mi,j ) for the bipartite adjacency matrix. Then
66 Algorithms

X d
2
|N(x) ∩ Y| − · |Y| 6
n
x∈X
X d
2
|N(x) ∩ Y| − · |Y| =
n
x∈A
 2 
X X d X X d2
 mx,y − · |Y| =  m2x,y + 2 · |Y|2 +
n n
x∈A y∈Y x∈A y∈Y

X 2d X
· |Y| ·

mx,y · mx,y0 − mx,y  =
n 
y,y0 ∈Y y∈Y
y6=y0

d2 X 2d
e(A, Y) + · |Y|2 + | N(y) ∩ N(y0 ) | − · |Y| · e(A, Y) =
n 0
n
y,y ∈Y
y6=y0

d2 X  d2

2d
e(A, Y) + · |Y|2 + σ(y, y0 ) + − · |Y| · e(A, Y) 6
n 0
n n
y,y ∈Y
y6=y0

2d2 2d
e(A, Y) + σ(Y) · |Y|2 + · |Y|2 − · |Y| · e(A, Y).
n n
To prove the claim, we must show
d2 d 5
· |Y|2 − · |Y| · e(A, Y) 6 · n3 ,
n n 5
that is,

d 5 · n3 1
we need to show that: d(A, Y) > − · 2.
n 5d |Y|

To see that notice


4
e(A, Y) (d − 4 · n)(|Y| − 8 · n)
d(A, Y) = > =
n · |Y| n · |Y|
4
d  · d 8 · n d 3
− 4 − + > − 4 − .
n 8 · |Y| 8 · |Y| n 8
(We used |Y| >  · n >  · d.)
We now use the assumption that 4 · n > 1 and that |Y| 6  · n + 1:
5 · n3 5 · n 2 5 3
> > > + 4 .
5d · |Y|2 5( · n + 1)2 5( + 4 )2 8
2.7 Szemerédi’s Regularity Lemma 67

This proves the claim.


By the Cauchy-Schwartz inequality we have

X d
2
| N(x) ∩ Y | − · |Y| >
n
x∈X
!2
1 X d
( | N(x) ∩ Y |) − · |X| · |Y| .
|X| n
x∈X

— So — by the previous claim


!2
X d
( | N(x) ∩ Y |) − · |X| · |Y| 6
n
x∈X
25
 
|X| · e(A, Y) + |Y|2 · σ(Y) + · n3 .
5

When we divide by |X|2 · |Y|2 we obtain

| d(X, Y) − d(A, B) | 6
25
 
1
· e(A, Y) + |Y|2 · σ(Y) + · n3 .
|X| · |Y| 5

We now use that


4
(i) e(A, Y) 6 (d + 4 · n) · |Y| + 8 · n2
3
(ii) σ(Y) 6 2 ·n

(iii)  > 2n−1/4 ,

and we find

| d(X, Y) − d(A, B) |2 6
4 · n2 3 · n 25
 
1
· (d +  4
· n) · |Y| + + · |Y|2
+ · n3
6
|X| · |Y|2 8 2 5
n + 4 · n 4 · n2 3 · n 25 · n3
2 2
+ 3 3+ + 6
 ·n 8 · n 2 · n 53 · n3
2 · (1 + 4 ) 92 5
+ + 6 2 .
16 10 128

This proves that the graph is -regular — that is — it proves the


lemma.
68 Algorithms

Corollary 2.59. Let a bipartite graph H have color classes A and


B that satisfy
|A| = |B| = n.

Assume
1
2 · n− /4
1
<  < .
16
There exists an algorithm that runs in O(M(n)) time and that
verifies that H is -regular or finds sets A0 ⊆ A and B0 ⊆ B that
satisfy

4 4
|A0 | > · n, |B0 | > · n, | d(A0 , B0 ) − d(A, B) | > 4 . (2.33)
16 16
Proof. If d 6 3 · n, then we are done; we can check that in O(n2 )
time and report that H is -regular.

Next if
4
| { y | y ∈ B | deg(y) − d | > 4 · n } | > · n,
8
then the degrees of at least half of them deviate from d in the same
direction. — That is — we can find a set B0 ⊆ B that satisfies
4
|B0 | > 16 · n and that satisfies

| d(A, B0 ) − d(A, B) | > 4 .

In that case we are done.

Finally, we need to show that we can find A0 and B0 as required


when H is not -regular — that is (by Lemma 2.58) —when there
exists a set Y that satisfies Equation 2.29 ie

3
|Y| >  · n and σ(Y) > · n. (2.34)
2
By Lemma 2.57 there exists an O(M(n)) algorithm to compute
these sets A0 and B0 when Y exists.

This proves the claim.

Alon et al proceed to formulate the key-Lemma 2.51 (on Page 58)


in a constructive form.
2.7 Szemerédi’s Regularity Lemma 69

Lemma 2.60. Let k ∈ N and let 0 < γ 6 1/2. Let Π0 =


{C0 , · · · , Ck } be an equitable partition and assume

|C1 | > 42k and |C0 | 6 γ · n. (2.35)

Assume that proofs are given as part of the input of more than γ·k2
pairs of classes showing that they are not γ-regular. 33 There is 33
By ‘proofs’ we mean ‘wit-
an algorithm that runs in O(n) time that produces a refinement Π1 nesses’ ie subsets of the
color classes that violate γ-
of Π0 satisfying regularity.
|Π1 | = k · 4k .

Furthermore, the exceptional class increases by at most n/2k and

1 5
index(Π1 ) > index(Π0 ) + ·γ .
4
Proof. By Lemma 2.51 there is a linear-time algorithm that com-
putes a refinement Π0 of Π0 (leaving the exceptional class unaltered
but which may have other classes of unequal size) satisfying

1 5
|Π0 | 6 k · 2k and index(Π0 ) > index(Π0 ) + ·γ .
4

Since |C1 | > 42k we can refine Π0 into an equitable partition Π1


which satisfies 34 (by Lemma 2.49) 34
To obtain Π1 partition
the parts of Π0 further into
1 5 parts of size
|Π1 | = k · 4k and index(Π1 ) > index(Π0 ) + ·γ .
4 b(n−|C0 |)/k·4k c = b|C1 |/4k c .

This increases the size of the exceptional class of Π0 (and of Π0 ) by This increases the excep-
tional class by at most
at most n/2k .
n − |C0 |
 
n
|Π0 |· 6 .
k · 4k 2k

Below follows the proof of Theorem 2.55:

Theorem. For  > 0 and t ∈ N there exist N, T ∈ N such


that every graph with at least N vertices has an -regular parti-
tion with k + 1 classes where k satisfies t 6 k 6 T .
Such a partition can be found in O(M(n)) time.
70 Algorithms

Proof. Let  > 0 and t ∈ N.

The following algorithm computes a sequence of equitable partitions


— say (Πi ). Write |Πi | = ki and let ni be the size of a class of
Πi that is not exceptional. Let γ = 4/16.

1. Start with an equitable partition Π1 = {C0 , · · · , Ck1 } with

|C0 | < k1 and |Ci | = n1 = bn/k1 c for i > 0.

(Below we determine a suitable value for k1 .) Set i := 1.


35
2. To proceed from a partition Πi use Corollary 2.59 to determine To apply the corollary we
need to ensure that n is large
for every pair of classes in Pi whether they are -regular or
4 enough to satisfy the con-
else to find pairs of subsets (of size at least 16 · ni ) as in dition 4 · ni > 16 ie
Equation 2.33. 35 γ · ni > 1.

3. If at most  · ki pairs are not -regular then report Πi as an


-regular partition. Stop.

4. Otherwise call on Lemma 2.60 to compute a refinement Πi+1


of Πi satisfying
1 5
ki+1 = ki · 4ki and index(Πi+1 ) > index(Πi ) + ·γ .
4
Write Ci0 for the exceptional class of Πi . 36 Then the exceptional 36
To compute Πi+1 use
Lemma 2.51 to compute Π0
class of Πi+1 satisfies
(on input Πi ) with
n |Π0 | 6 ki · 2k
|Ci+1
0 | − |C0 |
i
6 . i
2ki
Refine Π0 into parts of size
Notice that to apply Lemma 2.60 we need to ensure Equation 2.35
n − |Ci0 |
 
— ie — ni+1 = .
ki · 4ki
ni > 42ki and |Ci0 | 6 γ · n. This increases the excep-
tional class
5. Set i := i + 1 and go to Step 2.
|Ci+1
0 | − |C0 | 6
i

n − |Ci0 |
 
n
ki ·2ki · 6 k .
Notice that ki · 4ki 2 i

γ5
index(Πi ) > index(Π1 ) + (i − 1) · .
4
So — since the index cannot exceed 1/2 — the algorithm ends in
 
at most 1 + 2 · γ−5 iterations.
2.7 Szemerédi’s Regularity Lemma 71

To define a lowerbound for the number of vertices in the graph


introduce a function f : N → N as follows

k if i = 1
1
f(i) =
f(i − 1) · 4f(i−1) otherwise.

2·T
} and assume

Let T = f 1 + b2 · γ−5 c , let N = max{ 2·T ·4 2·T , γ
that n > N.

We show that the exceptional class does not exceed γ · n. We may


assume that
γ · 2k1 > 4. (2.36)

Claim: |Ci0 | 6 γ · n · (1 − 1/2i ). For i = 1 we have

2·T 2 · k1
n > N > > ⇒
γ γ
γ·n
|C10 | < k1 6 .
2
This show that the claim is true for i = 1.

We have
n n n
|Ci+1
0 | − |C0 |
i
6 and we show: < γ· .
2ki 2ki 2i+1
This is true for i = 1 by the assumption (2.36) and

ki+1 = ki · 4ki ⇒ γ · 2ki+1 > 2 · γ · 2ki > γ · 2i+1 .

This proves the claim.

Corollary 2.59 requires that

γ · ni > 1.

To see that this holds true observe


(1 − γ) · n (1 − γ) · N 1−γ
ni > > > 2· .
ki T γ

Since γ < 1/2 this implies

γ · ni > 2 · (1 − γ) > 1.
72 Algorithms

Lemma 2.60 requires that

ni > 42ki .

We have

ni > (1−γ)·N/ki and ki 6 T and N > 2 · T · 4 2·T .

It easily follows that


ni
> 2 · (1 − γ) > 1.
42·ki

This proves the theorem.

Remark 2.61. In 2014 J. Fox and L. M. Lovász proved tight


lowerbounds for the number of parts in an -regular partition.

2.8 Edge - thickness and stickiness


For a set S let
X
Λ(S) = { λ : S → R>0 | λ(x) = 1 }.
x∈S

The elements of Λ(S) are called thickness functions. For a thickness


P
function λ and A ⊆ S write λ(A) = x∈A λ(x).
T. Kloks, C. Lee and J. Liu,
Stickiness, edge-thickness,
Definition 2.62. Let G be a graph. The thickness of G is and clique-thickness in
defined as graphs, Journal of Informa-
tion Science and Engineering
φ(G) = inf sup λ(e).
λ∈Λ(V) e∈E 20 (2004), pp. 207–217.

The inf and sup may be


replaced by min and max.

Exercise 2.33
Assume that G is a graph which is not empty. Show that
δ 1
6 φ(G) 6 ,
m α(G)
where m is the number of edges and δ is the minimal degree of a
vertex in G and α(G) is the size of a largest independent set in G.
2.8 Edge - thickness and stickiness 73

Exercise 2.34

(i) Clearly when G has an isolated vertex then its thickness is 0.

(ii) Assume that G has no isolated vertices. Let λ be a thickness


function that realizes the thickness of G. Denote φ = φ(G).
Show that every vertex is incident with an edge of weight φ.

(iii) Assume that G has no isolated vertices. Show that there exists
a thickness function λ that realizes the thickness of G and that
has a range
φ
{ 0, φ, }.
2

Definition 2.63. The stickiness of a graph G is

s(G) = max |X| − |N̄(X)|


X⊆V

where N̄(X) = ∪x∈X N(x).


A graph is Hallian if
s(G) 6 0. A graph is Hal-
lian if and only if there is a
Exercise 2.35 partition of V into a match-
ing and a set of odd cycles.
When s(G) > 0 then it is realized by an independent set.

Exercise 2.36
If G has an isolated vertex then φ(G) = 0 otherwise
2
φ(G) = .
n + s(G)

Computing stickiness
Let G be a graph. Construct a bipartite graph G0 as follows.
Create two copies of a vertex x ∈ V — say x1 and x2 . For
A ⊆ V write Ai = { xi | x ∈ A }. The set of vertices of G0 is
V 1 ∪ V 2 . The edges of G0 are

E(G0 ) = { { x1 , y2 } | {x, y} ∈ E(G) }.


74 Algorithms

Construct a flow - network on G0 by giving each edge of G0 a


capacity ∞. Add one source - vertex s and make it adjacent to
all vertices of V 1 . All edges that are incident with s have capacity
1. Add one sink - vertex t and make it adjacent to all vertices of
V 2 . All edges incident with t have capacity 1.
J. Orlin, Max flows in
A cut in the network is a set of the form A1 ∪ B2 ∪ {s} where O(nm) time, or better , Pro-
ceedings STOC’13, pp. 765–
A ⊆ V and N̄(A) ⊆ B. The capacity of such a cut is 774.

|V \ A| + |B| = n + |B| − |A|.

A cut of minimum capacity satisfies B = N̄(A) — and so — it


minimizes |N̄(A)| − |A|.

A minimum cut can be computed O( n · m ) time.

Remark 2.64 (Motzkin - Straus Theorem (1965)). Let G be a graph


with vertex set [n]. Give each vertex i a values xi > 0 such that
P
i xi = 1. The largest value over these assignments of
X
xi · xj
(i,j)∈E

1
is equal to 2 · (1 − 1/ω).

2.9 Clique Separators

Definition 2.65. Let G be a graph. A set S ⊆ V is a


clique separator if S = ∅ or a clique and G − S is discon-
nected.

Whitesides showed that one can find a clique cutset in



O n 3 time. In this section we present a variation of this

algorithm . We show that there exists an O n 4 algorithm
that lists all minimal clique separators.

Definition 2.66. Let G be a graph. A set S ⊆ V is a minimal


clique separator if S is a minimal separator — and — either
S = ∅ or a clique.
2.9 Clique Separators 75

Example 2.67. Notice that the number of clique separators


that a graph may have is exponential. — For example —
consider the graph built up from a clique Kt and a path P3 ,
say [ x, y, z ] . Add additional edges from the midpoint y to all
vertices of the clique Kt . Then, for any subset W ⊆ V( Kt )
x s sz
W ∪ { y } is a clique separator.
@
@sy
A
This shows that the graph has at least 2 t clique separators ,  sA
and t + 3 vertices.
 @A
s
 @As
On the other hand the graph has only one minimal separator
— namely — { y } . Figure 2.6: This graph has
an exponential number of
clique separators, as the size
of the clique goes to ∞.
For a graph G , write σ( G ) for the number of minimal clique
separators in G .

Lemma 2.68. For any graph σ < | V | .

Proof. We claim that, when G is connected, σ( G ) < n . Notice


that this implies the lemma. — In order to prove this — we
may assume that G is connected. We may also assume that
G is not a clique — as otherwise σ( G ) = 0 < n .
Let x ∈ V be a vertex for which the largest component in G −
N[ x ] is as large as possible. Let C be this largest component.
Let
S = N( C ) and X = V \ N[ C ] . (2.37)
Then x ∈ X — so X 6= ∅ . Since G is connected S 6= ∅ , and
since G is not a clique C 6= ∅ — so { X , S , C } is a partition
of the set V .
— By our choice of x — every vertex of X is adjacent to every
vertex of S . This implies that every minimal clique separator
in G[ X ∪ S ] either contains X or else contains S . — So — Here, we let a set stand in
for the graph induced by that



set.
 σ( X ) if S is a clique and X is not
σ( X ∪ S ) = σ( S ) if X is a clique and S is not (2.38)



0 if neither or both are cliques.
76 Algorithms

Any vertex of S has a neighbor in C , and since C is connected,


no two vertices in S are separated by a clique separator. This
reduces the number (2.38) of minimal clique separators in X ∪ S
that are clique separators in G, to at most σ( X ) .
37
A clique separator T , con-
A minimal clique separator which is contained in C ∪ S may no tained in C ∪ S, has all ver-
longer be a minimal separator in G − X . — To repair that tices of S that are not in T
in one component of G−T .
— in the graph C ∪ S , add all edges between pairs in S . 37
Removal of the set X may
Denote this graph as C ∪ S̄ . disconnect this component
and possibly T is not a min-
Some minimal clique separators in C ∪ S̄ may not be cliques in imal separator in G − X.
G 38 — but — as an upperbound for the number of minimal 38
In our algorithm, we will
clique separators — that are contained in C ∪ S — we find sift the minimal clique sep-
arators of C ∪ S̄, and select
σ(C ∪ S̄) . those that are cliques in G.

Using induction on the number of vertices in the graph we


find:

σ( G ) 6 σ( X ) + σ( C ∪ S̄ ) Exercise 2.37
< |X| + |C ∪ S| ( since C ∪ S is connected ) Prove the first inequality.
Hint: Show that every mini-
= n.
mal clique separator is one in
G[X ∪ S] or one in G[C ∪ S].

This proves the lemma.

2.9.1 Feasible Partitions

To turn the proof of Lemma 2.68 into an algorithm we need


to find the partition { X, S, C } as mentioned there. — That is
— we need a feasible partition of V(G) — as defined below.

Definition 2.69. A partition { X, S, C } of V is feasible if

(a) G[ C ] is connected and

(b) S = N(C) and S separates X and C and

(c) every vertex of X is adjacent to every vertex of S.


2.9 Clique Separators 77

In this section we show how to find a feasible partition.


The idea is to start with C = { R } , for some arbitrary vertex
R ∈ V which is not universal . 39 39
A vertex is universal if it
it adjacent to all others.
As an invariant for the algorithm we let { X , S , C } be a
partitition of V with the property

C is connected and S = N( C ) and S separates X and C .


(2.39)
Notice that the partition { X , S , C } satisfies (2.39) at the
initialization — when C = { R } — since R is nonuniversal . 40 40
If every vertex is universal,
then G is a clique, and then,
there is no minimal separa-
tor.
To make progress — towards a feasible partition — let C
grow as follows :

Choose y ∈ S with X 6⊂ N( y ) . (2.40)

The vertex y is added to C .

Notice that, when such a vertex y ∈ S does not exist, we


may conclude the postcondition — that is — { X , S , C } is a
feasible partition.

The weakest precondition is a property that ensures progress


when valid, and that ensures the postcondition when not valid.
In our case, the weakest precondition is the existence of a vertex
y as in (2.40) .
This proves the correctness of Algorithm 5 .

Exercise 2.38

Let T ( n ) denote the worst – case running-time bound of algorithm 5 .


Prove that

T( n ) 6 T( n − 1 ) + O n 2 T( n ) = O n 3 .
 
⇒ (2.41)
78 Algorithms

Algorithm 5: Feasible
1: procedure FP ( G ) Partition

2:
3: if G is a clique then
4: there is no partition
5: else
6: R ←∈ { x | x ∈ V and d(x) < n − 1 }
7: C ← {R}
8: S ← N(R)
9: X ← V \ N[C]
10:
11: while ∃y∈S X 6⊂ N(y) do
12: C ← C ∪ {y}
13: S ← ( S \ {y} ) ∪ ( N(y) ∩ X )
14: X ← X \ N(y)
15: end while
16:
17: report { X , S , C }
18: end if
19:
20: end procedure
2.9 Clique Separators 79

2.9.2 Intermezzo

Another way to describe the inclusion of the vertex y in C


is by contractions .

Definition 2.70. Let { x , y } ∈ E( G ). The contraction of


{ x , y } is the operation that replaces the two vertices x and y
by one new vertex — say xy — whose neighborhood is defined
as
N( xy ) = ( N(x) ∪ N(y) ) \ { x , y } .

The operation that includes y in C could be replaced by


contracting the edge { R , y } .

Back to Business:

Theorem 2.71. There exists an algorithm — that runs in



O n 4 time — and that computes all minimal clique separators
in a graph G .

Proof. The algorithm we propose computes a feasible partition


{ X , S , C } of V( G ) . When S is a clique, it recursively com-
putes σ( X ) . All minimal clique separators in G[ X ] , with S
tagged on, are minimal clique separators in G .
Next, all edges are added to make S a clique. Denote the t t
subgraph induced by C ∪ S as C ∪ S̄ . Recursively, count the

JJ
minimal clique separators in C ∪ S̄ that are cliques in G .
t qq t J
tH qq Jty
HHH
x
q


Ht t

The recursions take place on subsets of V that form a partition JH 

of V(G) , namely X and C ∪ S . The overhead is dominated J

JJt t

by the computation of the feasible partition, which , by (2.41) ,



takes O n 3 time.

This proves that the time used by this algorithm is O n 4 . Figure 2.7: This exam-
ple shows that the number
This completes the proof. of minimal separators in a
graph can be exponential.
80 Algorithms

Remark 2.72. The number of minimal separators in a graph may be


exponential. — For example — consider the graph in Figure 2.7
on the previous page . An x | y – separator must contain a vertex
of each x ∼ y – path. If there are t such paths, then there are 2 t
minimal x | y – separators and the graph has 2t + 2 vertices.

There exists an algorithm that lists all minimal separators in


a graph with polynomial delay . That is, the algorithm produces
all minimal separators, and it spends polynomial time — either
to produce a next one or to end.

Exercise 2.39
Let G be a graph. Consider the following set R of betweenness
relations :

(x, y, z) ∈ R ⇔
there is a minimal clique separator that
contains y and separates x and z . (2.42)
Design an algorithm that finds a total ordering 6 of V
satisfying
(a , b , c ) ∈ R ⇔ a < b < c or c < b < a.
s

s
2.9.3 Another Intermezzo: Trivially perfect graphs s @ @s

Figure 2.8: The figure shows


When a graph G is connected but has no induced C4 and no induced the paw. It has no induced
P4 and no induced C4 . It
P4 then it has a universal vertex (that is a vertex adjacent to all does have a universal vertex.
others). This was proved by Wolk in 1961. Let G be a connected
graph without induced C4 or P4 . Then there exists a rooted tree T
with V(T ) = V(G) such that any two vertices x and y are adjacent
in G if and only if one lies on the path to the root of the other one.

The graphs without induced P4 nor C4 were given the epithet


‘trivially perfect’ by Golumbic. The reason for that name is that
in any induced subgraph of the graph the independence number
equals the number of maximal cliques.
2.10 Vertex ranking 81

2.10 Vertex ranking

Definition 2.73. Let G be a graph and let t ∈ N. A t-ranking


is a coloring c : V → [t] which satisfies the following property. For
any two vertices x and y with c(x) = c(y) any x ∼ y-path contains
a vertex z with c(z) > c(x).

The rank of G is denoted as χr (G) and it is the smallest t for


which G has a t-ranking. — Clearly — χ 6 χr since a t-ranking
is a proper coloring.

Exercise 2.40
Let G be a connected graph and assume it has a t-ranking. There
exists at most one vertex that has color t.

Exercise 2.41
What is the rank of C4 ? What is the rank of P4 ? What is χr (G)
when G is trivially perfect?

Exercise 2.42
Let G be a graph which is not a clique. Show that

χr (G) = min max |S| + χr (C)


S C

where S varies over the set of minimal separators in G and C


varies over the collection of components of G − S.

2.10.1 Permutation graphs

Definition 2.74. A graph is a permutation graph if it is the


intersection graph of a set of line-segments in the plane that have
their endpoints on two parallel lines.
82 Algorithms

Figure 2.9: The figure shows


a permutation model. The
graph has the black line-
segments as vertices; two
being adjacent if the line-
segments intersect.

Exercise 2.43

(1) Show that a graph is a permutation graph if and only if its


complement is a permutation graph.

(2) Show that a permutation graph is a comparability graph — that


is it has a transitive orientation of its edges. 41 41
That is, if x → y and
y → z then {x, z} ∈ E and
(3) Show that a graph is a permutation graph if and only if it and x → z.

its complement are comparability graphs.

(4) Design efficient algorithms to compute α and ω for permutation


graphs. You may assume that a permutation model is given as
input.

(5) Show that any permutation graph has a dominating pair — 42


A set D ⊆ V is a dominat-
ing set if every vertex that is
that is — a pair of vertices x and y with the property that any
not in D has a neighbor in
x ∼ y-path is a dominating set in the graph. 42 D.

2.10.2 Separators in permutation graphs

Consider a scanline in a permutation model — that is —


a new line-segment s with its endpoints on the two parallel lines.
The line-segment s splits the set of vertices in three parts:

(a) vertices of which the line-segment lies to the left of s

(b) vertices of which the line-segment lies to the right of s

(c) vertices of which the line-segment crosses with s.


2.10 Vertex ranking 83

Exercise 2.44
Let G be a permutation graph and let S be a minimal separator
in G. In any model for G there exists a scanline s such that the
vertices of S are the line-segments that cross s.
Corollary: the number of minimal separators in a permutation
graph is O(n2 ).
Hint: Consider a permutation model. Remove the vertices of S from
the model. Let C1 and C2 be two components of G − S such
that every vertex of S has a neighbor in both. For the scanline
s take any line-segment in the model that lies between any two
line-segments of C1 and C2 and that crosses no other line-segments.
That line-segment must exist since C1 and C2 form connected parts
in the diagram. Since a vertex of S has a neighbor in C1 and in
C2 it must cross s. The only vertices that were removed from the
model are in S so all line-segments that cross s are in S.

Figure 2.10: Illustration of a


green scanline.

2.10.3 Vertex ranking of permutation graphs

Definition 2.75. Let s1 and s2 be two parallel scanlines in a


permutation model. The piece C(s1 , s2 ) is the subgraph of G
induced by the following sets of vertices.

i. vertices of which the line-segment s between s1 and s2

ii. vertices that cross at least one of s1 and s2 .

Definition 2.76. Let C(s1 , s2 ) be a piece. A scanline t splits


the piece if t is between s1 and s2 .
84 Algorithms

Theorem 2.77. There exists an O(n6 ) algorithm to compute the


rank of a permutation graph.

Proof. A permutation model can be constructed in linear time via


a modular decomposition. 43 43
R. McConnell and J. Spin-
rad, Modular decomposition
Organize the pieces according to the number of vertices that are in and transitive orientation,
Discrete Mathematics 201
it. To compute χr for a piece C(s1 , s2 ) try all scanlines that split
(1999), pp. 189–241.
the piece into smaller pieces. By Exercise 2.42 the rank of the
piece can be computed from the maximal rank of a smaller piece
and the size of the separator.

2.11 Cographs r
r r r r r
r @r
Definition 2.78. A cograph is a graph without induced P4 .
Figure 2.11: The figure
shows the claw, ie, K1,3 , on
the left and P4 on the right.
One important observation is that cographs are closed
under complementation. — That is — when G is a cograph
then so is its complement Ḡ . That is so because

P4 is isomorphic to its complement P̄4 .

— One other thing — a graph is a cograph if and only if


all of its components induce cographs. That is so because an
induced P4 cannot have points in more than one component.
Thus, whenever G1 and G2 are two cographs, we can create
two new cographs by taking their union G1 ⊕ G2 and their
join G1 ⊗ G2 . 44 Folklore asserts that this property charac- 44
In the union G1 ⊕ G2 the
edges are just the edges of G1
terizes cographs.
and G2 . In the join G1 ⊗G2
we add all edges that have
one endpoint in G1 and the
Theorem 2.79. A graph is a cograph if and only if every other in G2 . So
induced subgraph has only one vertex — or else — it or its Ḡ1 ⊗ Ḡ2 = G1 ⊕ G2 .
complement is disconnected.
2.11 Cographs 85

By Theorem 2.79 each cograph G is represented by a cotree —


that is — a rooted tree T and a bijection from the leaves of T to
V(G). The internal nodes of T are labeled: each internal node
has a label ⊕ or ⊗. Two vertices in G are adjacent if and only
if their lowest common ancestor in T is labeled with ⊗.

Definition 2.80. A pair of vertices x and y in a graph is a twin


if every third vertex z is either adjacent to both or neither of
x and y — that is — a twin is a module in the graph with two
elements. A twin is a true twin if the pair is adjacent and a false
twin if the pair is not adjacent.

Theorem 2.81. A graph is a cograph if and only if every induced


subgraph with at least two vertices has a twin.

Exercise 2.45
Characterize bipartite cographs.

Exercise 2.46
Design an efficient algorithm to compute the rank χr of a cograph.

2.11.1 Switching cographs

Definition 2.82. A two-graph is a pair (V, ∆) where V is a finite


set and where ∆ is a collection of ::::::
triples in V with the property
that every set with 4 elements from V contains an even number of
triples that are in ∆. 45 45
Two-graphs look a lot like
graphs but in two-graphs
the ‘edges’ are triples.

Exercise 2.47
Let G be a graph and let ∆ be the ‘odd triples in G’ — that is —
the set of triples in V that carry an odd number of edges between
them. Show that this is a two-graph.
86 Algorithms

Exercise 2.48
Let G be a graph and let S ⊆ V. A switch of G with respect
to S replaces all edges that have one end in S by nonedges and all
nonadjacent pairs with one end in S by edges. Show that a switch
does not change the set of odd triples.

Call two graphs G and H switch-equivalent if one is


obtained from the other via a switch. Van Lint and Seidel showed
that two-graphs are switch equivalence - classes.

Exercise 2.49
A two-graph is the switch equivalence - class of a cograph if and
only if it does not contain the pentagon — that is — the set of
odd triples of the C5 .

The switch - class of cographs is characterized by the following


property. There exists a tree T without vertices of degree two. Let
V be the set of leaves in T . Since T is bipartite it has a unique
coloring with two colors — say black and white. Define ∆ as
the collection of triples {x, y, z} in V if the paths that connect the
three meet in a black vertex. Then (V, ∆) is a two-graph and the
two-graphs obtained in this manner are exactly the switching - class
of cographs.

Exercise 2.50
Show that a graph can be switched to a cograph if and only if it
does not contain C5 , the bull, the gem or the cogem as an induced
subgraph — that is — no subgraph with 5 vertices switches to
C5 .

Show that a graph G can be switched to a cograph if and only if


every induced subgraph with at least two vertices has a twin or an
anti-twin. 46 46
An anti-twin in a graph
is a pair of vertices x and y
such that every third vertex
z is adjacent to exactly one
of them.
2.11 Cographs 87

Exercise 2.51
Design a linear - time algorithm to compute χ for graphs in the
switch - class of cographs. You may assume that a tree - model is
given as input.
Hint: Show that χ = ω for any graph that switches to a cograph.

Exercise 2.52
The rank of the adjacency matrix of a cograph
::::::
is equal to the
number of distinct non - zero rows. 47 47
For graphs in general this
For a proof of this see eg the following paper. is an upperbound.

G. Royle, The rank of a cograph, Electronic Journal on Combina-


torics 10, (2003), Note 11.
In this paper the question is raised whether any other “natural”
classes of graphs satisfy this property. What can you say about
the rank of a graph that switches to a cograph?
Hint: P5 has eigenvalue zero — so — the rank of P5 is :::
not equal
to the number of distinct rows in the adjacency matrix of P5 . —
Furthermore — P5 switches to a cograph.

Switching does not change the eigenvalues of the Seidel - matrix


of the graph. The Seidel - matrix has:
1. zeros on the diagonal

2. −1 at entries that represent edges in the graph

3. +1 at entries that represent nonedges in the graph.


So it is the matrix J − I − 2A where A is the ordinary adjacency
matrix of the graph. When the graph is regular the eigenspaces of
A and J − I − 2A are the same. Seidel’s favorite graph C5 +
K1 has Seidel spectrum
The spectrum of the Seidel matrix is the same for any two graphs √ (3) √ (3)
{ 5 , − 5 }. This
that are switching - equivalent. For a proof see Corollary 3.3 in graph switches to the net
(the complement of the 3-
the paper below.
sun).
J. Seidel, A survey of two - graphs, Atti Convegno Internazionale
Teorie Combinatorie, Tomo 1 (Rome, Italy, September 3-15, 1973),
Acdemia Nazionale dei Lincei, Roma (1976), pp. 481–511.
88 Algorithms

2.12 Parameterized Algorithms

let’s start with a bird’s - eye view.

Exercise 2.53
Show that there is an algorithm that checks if a graph G has
a set S ⊆ V — | S | 6 k — such that G − S is a cograph —
where k ∈ N is a parameter.
::::::::
Your algorithm should run in The algorithm is a function
of k.
O 4k · n3 .



Hint: First design an O n 3 algorithm that finds an induced
P 4 — if there exists one — eg , using a matrix multiplication.
Next, if P is an induced P 4 , then branch, each time putting
a different point of P in S . Since | S | 6 k , the depth of the
recursion is k .

Unless P = NP no NP - complete problem can be solved in


polynomial time. All known algorithms that solve NP-complete I’ve heard that before!
problems are exponential. — Therefore — we wish to design ‘fast’
exponential - time algorithms to solve hard problems.
Parameterized algorithmics is a theory designed to help you do
this. The genesis of the theory is the notion of a parameterized
problem.
Definition 2.83. A parameterized problem is a pair (P, k) where P
is a computational problem and k is a parameter that differentiates
some solutions from others. When the values of the pa-
The parameter expresses the ‘size’ of a solution but the definition rameter k ranges over N
then a parameterized prob-
of a size is up to the composer of the problem. — Below — we lem is an ordering of the so-
give three examples of parameterized problems. lutions (by their size).

1. Let I be the vertex cover - problem: Let G be a graph. Find a


smallest set S ⊂ V(G) such that G − S is empty. G − S is empty if

Let k ∈ N. The parameterized vertex cover - problem (I, k) is to E(G − S) = ∅


find a vertex cover S with |S| 6 k.
2.12 Parameterized Algorithms 89

2. Let II be the edge domination - problem: Let G be a graph. An


edge dominating set is a dominating set in the linegraph L(G)
— in other words — it is a set M ⊆ E(G) of edges in G such For a set M of edges let
V(M) be the set of end-
that E(G − V(M)) = ∅. The problem asks for a smallest edge
points of edges in M — that
dominating set. is — V(M) = ∪e∈M e.
The parameterized problem edge domination - problem (II, k) is
to find an edge dominating set with at most k edges.

3. Problem III is the feedback vertex set - problem. This problem


applies to graphs G that may have loops and multiple edges. The
problem is to find a smallest set S ⊂ V(G) such that G − S has
no cycles.
The parameterized problem parameterized feedback vertex set
problem (III, k) is to find a feedback vertex set of size at most k.

For ease of discussion in Def-


inition 2.84 we assume that
Definition 2.84. A fixed parameter - algorithm is an algorithm the parameter k ranges over
the natural numbers.
that solves a parameterized problem (P, k) with parameter k ∈ N
in
O ( f(k) · |P| c ) A computable function is a
function which can be evalu-
time. Here f : N → N is a computable function and c ∈ N. ated via an algorithm.

Notice that c is a constant; (not a parameter); the run - time A constant is a natural num-
ber.
of a fixed parameter algorithm is a polynomial
:::::::::
in the size of the
instance of problem P. The influence of the parameter k on the
run - time is some arbitrary function f(k). The algorithm runs
in polynomial - time if we let the parameter k be a constant (then
f(k) disappears in the Big-Oh). When P is NP - complete the
function f is not a polyno-
mial.
There are problems that can not be solved by a fixed parameter -
algorithm. The ‘good guys’ are called fixed parameter - tractable.
Nobody knows of an algo-
rithm that solves the pa-
Definition 2.85. Let (P, k) be a parameterized problem. The rameterized problem ω > k
and that runs in time O(nc )
problem is fixed parameter tractable ( FPT ) if there is a fixed where c does not depend on
parameter - algorithm that solves (P, k). k. The clique problem is
W[1] - hard.
90 Algorithms

Remark 2.86. In their book Downey and Fellows introduce a


W-hierarchy
:::::::::::
to capture the hardness of parameterized problems.
In this hierarchy W[0] = FPT. A parameterized problems is W[1]
This section has too many
- hard if there is no fixed - parameter algorithm to solve it (under imprecise definitions and —
certain logical assumptions). unexplained — assumptions.
Let’s hope that — in prac-
tice — it all works out fine.

2.13 The bounded search technique

Let’s take a look at a basic technique to design fixed


parameter - algorithms. The bounded search technique is best
explained by example.

2.13.1 Vertex cover

Our example is the vertex cover problem parameterized by the size


of the solution. Let G be a graph and let S be a vertex cover in G We want a vertex cover with
— that is at most k vertices.

e ∈ E(G) ⇒ e ∩ S 6= ∅.

The following algorithm searches for a vertex cover of size 6 k


Every edge of the graph has
(where the parameter k ranges over N ∪ {0}). at least one endpoint that is
in a vertex cover. The search
If the graph has no edges then ∅ is a solution. If k = 0 and tree tries both endpoints and
E(G) 6= ∅ then there is no solution. Otherwise pick an edge e from searches for a small vertex
cover that contains an end-
the graph and build a search tree with that edge as a root. point.

The search tree (with root e) branches at the root into two subtrees;
each subtree is labeled with an endpoint of e. The subtrees are
evaluated as follows.

The selected endpoint of e is put in S and this endpoint is deleted


from the graph. The parameter k decreases with 1 and the subtree
searches for a vertex cover of size k − 1 (in the remaining graph).

The size of the search tree is O(2k ) (since the depth of the search
tree is at most k and every node has at most two children). This
proves the following theorem.
2.13 The bounded search technique 91

Theorem 2.87. The vertex cover problem is fixed-parameter tractable


and can be solved in 2k · |I| O(1) time.

2.13.2 Edge dominating set

The parameterized vertex cover problem is easy to solve via the


building of a search tree of size 2k .

A different kettle of fish is the parameterized edge dom-


inating set problem. To build a search tree for this problem we
would want to find a set of edges M which satisfies the following
two conditions.

1. |M| is bounded by some function of k

2. any solution to the parameterized edge domination problem has


at least one edge in M.

This road doesn’t look very appealing. We take a different approach.


Why doesn’t this idea work?
What happens to the prob-
Instead of trying to locate the edges of a solution we first find lem if we assume that the
degree of the graph is at
a collection of suitable sets S ⊆ V(G) that are endpoints of a
most 3?
solution. Step two is to find a a solution — that is — a set of
edges that solves the parameterized edge domination problem and
that contains all elements of S.

Exercise 2.54
Let M be a minimum edge dominating set. Then V(M) is a vertex
cover.

Exercise 2.55
Prove or disprove:
Let S be a minimal
:::::::
vertex cover. A minimum edge dominating set
M which satisfies S ⊆ V(M) can be computed in polynomial time
92 Algorithms

as follows. Initialize M as a maximum matching in G[S]. For each


vertex x ∈ S \ V(M) add one edge of G that contains x to M.

The exercises show that our job is done if we can find the right
minimal vertex cover.

Theorem 2.88. The parameterized edge dominating set problem is


fixed-parameter tractable and can be solved in 4k · |II| O(1) time.

Proof. The following algorithm solves the parameterized edge domi-


nation problem.

1. generate the set S of all minimal vertex covers with at most 2k


elements

2. for each S ∈ S compute a minimum edge dominating set M with


S ⊆ V(M) as in Exercise 2.55

3. Output M when |M| 6 k.

This proves the theorem.

2.13.3 Feedback vertex set

In the previous two examples we made use of the fact that a small
‘local’ part of the graph contain a solution. The feedback vertex
problem lacks this property. A solution is some ‘small’ set
of vertices that hits all cycles
of the graph. What happens
to the feedback vertex set
It is always a good idea to reduce the graph before going problem if we assume that
the graph has no induced cy-
on a venture that takes exponential time — so — that’s what cles of length more than 3?
we do.

1. if a vertex is not in any cycle then we delete the vertex from the
Exercise: Show that the
graph reductions take polynomial
time and that they are ‘safe:’
2. if there are two vertices with more than two edges running between the graph has a solution
if and only if the reduced
them then we delete one of those edges
graph has a solution.
2.13 The bounded search technique 93

3. if a vertex is in a loop then we delete the vertex from the graph


and we decrease the parameter k by 1 (the vertex is in every
solution)

4. if x has only one neighbor y and if there are at least two edges
between x and y then we remove x and we add a loop at y

5. if a vertex is in exactly two edges that connect it to two different


neighbors then we remove the vertex and replace it with an edge
that connects the two neighbors.

Definition 2.89. A graph is reduced if none of the operations


above apply.

A reduced graph has no loops and at most two parallel edges


between any two vertices. Furthermore every vertex is in at
least three edges.

We turn our attention to the reduced graph. A solution is some


‘small’ set X of vertices that hits all cycles. If we remove X from
the graph the remainder is a ‘large’ forest F. All the vertices of
F that have at most two neighbors in F must have neighbors in X.
Not every vertex of X has a small degree; that is so because there
is no large forest with only a few leaves and only a few vertices of
degree two.

Let’s work this out. Order the vertices in the graph in a


descending order of their degree say

d(v1 ) > ··· > d(vn ).

Define the set of high - degree vertices as the set of the first d3k/2e
vertices in this order:

H = { v1 , . . . , vd3k/2e }.

Call the elements of H the vertices of high degree.


94 Algorithms

Lemma 2.90. Let G = (V, E) be a reduced graph. Any feedback


vertex set in G of size at most k contains at least one vertex of high
degree.

Proof. Let X be a feedback vertex set and let F = V \ X. Then G[F]


is a forest and the number of edges in G[F] is at most |F| − 1. We
have that X
d(z) > |E| − |F| + 1.
z∈X

Assume that there is a feedback vertex set X of size at most k and


assume that X ∩ H = ∅. We show that this leads to a contradiction.
Following the idea outlined above we concentrate on the number of
edges that run between F and X.
Let f = |F \ H|. Each vertex in F \ H has degree in G at least three
since G is reduced. Let a = d(vd3k/2e ). Then a > 3.
By assumption H ⊆ F. We have that
X
d(z) > d3k/2e · a + 3 · f.
z∈F

The induced graph G[F] is a forest and the number of edges in G[F]
is at most |F| − 1. Thus, the number of edges that run between F
and X is at least

d3k/2ea + 3f − |F| + 1 = d3k/2e(a − 1) + 2f + 1.

On the other hand each vertex in X has degree at most a —


and so — the number of edges between X and F is at most k · a.
So we have that

d3k/2e(a − 1) + 2f + 1 6 k · a.

and this leads to a < 3. This contradicts the fact that each vertex
in G has degree at least 3.

Lemma 2.90 allows the following parameterized algorithm for


feedback vertex set.
2.13 The bounded search technique 95

Reduce the graph. The vertices of high degree in the reduced graph
form the root of a branching. A selected vertex is put in the solution
set and deleted from the graph.

Each branching operation results in at most d3k/2e subproblems.


The depth of the recursion is at most k. This proves the following
theorem. Exercise: Check all this.

Theorem 2.91. The parameterized feedback vertex set problem is


fixed-parameter tractable and can be solved in (1.5k)k · |III| O(1) time.

Exercise 2.56

A set of vertices in a graph is called a P3 - cover if each path of


length two in the graph contains at least one vertex from the set.

Please design a fixed parameter algorithm for the problem to decide


if a graph has a P3 - cover of size at most k (where k is a parameter).

Hint: Any P3 - cover contains at least one of the three vertices of


any path of two edges.

2.13.4 Further reading

The fastest parameterized algorithm for the vertex cover problem


runs in 1.2738k nO(1) time. This was obtained by Chen, Kanj and
Xia in 2010.

The edge dominating set problem can be solved in 2.3147k nO(1)


time by Xiao, Kloks and Poon. This is further improved to
2.2351k nO(1) by Iwaide and Nagamochi.

For the feedback vertex set problem, there is a 2.7k nO(1) -time
randomized algorithm by Li and Nederlof. There is also a 3.46k nO(1) -
time deterministic algorithm by Iwata and Kobayashi.
96 Algorithms

References

R. Downey and M. Fellows, Fixed Parameter Tractability and Com-


pleteness. Dagstuhl workshop Complexity theory: current research,
1992, pp. 191 – 225.

J. Chen, I. Kanj and G. Xia, Improved upper bounds for vertex cover ,
Theor. Comput. Sci. 411 (2010), pp. 3736 – 3756.

M. Xiao, T. Kloks and S. Poon, New parameterized algorithms for


the edge dominating set problem, Theor. Comput. Sci. 511 (2013),
pp. 147 – 158.

K. Iwaide and H. Nagamochi, An Improved Algorithm for Parame-


terized Edge Dominating Set Problem, J. Graph Algorithms Appl.
20 (2016), pp. 23 – 58.

J. Li and J. Nederlof, Detecting Feedback Vertex Sets of Size k in


O ∗ (2.7k ) Time, Proceedings of SODA 2020, pp. 971 – 989.

Y. Iwata and Y. Kobayashi, Improved Analysis of Highest-Degree


Branching for Feedback Vertex Set , Algorithmica 83(8) (2021), pp. 2503
– 2520.

s s
A A
2.14 Matchings s As As

@
A matching in a graph G is a set of edges of which no pair @s
shares an endpoint.
Figure 2.12: The 5-wheel
Definition 2.92. Let G be a graph with at least one edge.
A set Exercise 2.57
S ⊆ E Check Definition 2.92 with
the text above it.
is a matching if S is an independent set in L( G ).

We denote a matching of maximal cardinality in G by

ν( G ) = α ( L(G) ) .

A matching of maximal cardinality is called a maximum ν is the 13th Greek alphabet


letter ‘nu.’ In the English
matching.
alphabet, the 13th letter is
m, for matching.
2.15 Independent Set in Claw - Free Graphs 97

2.15 Independent Set in Claw - Free Graphs s


s
s @ @s

Figure 2.13: The claw


Claw - free graphs generalize linegraphs. Of course
they can be recognized in polynomial time. Minty designed a
polynomial – time algorithm to find maximum independent sets in
claw – free graphs . We describe this algorithm. Since linegraphs
are claw – free, this implies that there is a polynomial – time
When F is some finite collec-
algorithm to find a maximum matching in a graph. tion of graphs, then the class
of F-free graphs is the set
BTW Harary exhibits a complete list of nine forbidden induced of those graphs that have
subgraphs that characterize linegraphs. (For example — the no induced subgraph isomor-
phic to an element of F.
5-wheel is claw-free but not a linegraph).

2.15.1 The Blossom Algorithm

Let us first recapitulate Edmonds’ algorithm to compute a maxi-


mum matching in a graph.

A chain is a sequence of vertices

P = [v0 ··· vt]

such that successive elements are adjacent. Let M be a maximal


matching. Let X be the set of vertices that are not in any line of M.

Berge showed that M is not maximal if and only if there exists


an M-augmenting path — that is — a path that starts and ends
with distinct points in X and whose edges alternate between M and
E \ M. Berge ’ s original proposal to find an augmenting path via a
s s
depth-first-search procedure did not work because the path could  A
end up in an odd cycle. It was Edmonds ’ idea to shrink the cycle s
 As s s
vi v0
into one new point and start the search afresh. @
@s

Definition 2.93. A chain P = [ v 0 · · · v t ] is alternating if for Figure 2.14: The figure


each i exactly one of the edges {vi−1 , vi } and {vi , vi+1 } is in M. shows a flower. The thick
lines represent edges of M.
98 Algorithms

We first show that we can find a shortest alternating chain with


endpoints in X. Let A be the set of edges of a directed graph (V, A)
defined as follows

A = { u → v | ∃x∈V { u, x } ∈ E and { x, v } ∈ M }.

Then each alternating chain which starts and ends in X is a directed


path from X to NG (X) in (V, A). Thus we can find an alternating
chain in G in polynomial time.

Definition 2.94. An alternating chain

P = [v0 ··· vt]

is a flower if

1. t is odd

2. v0 , . . . , vt−1 are distinct

3. vt = vi for some i < t where i is even.

The circuit [vi , . . . , vt ] is called the blossom of the flower.

Lemma 2.95. A shortest alternating chain

P = [v0 ··· vt]

from X to X is either an augmenting path or [ v 0 ··· v j ] is


a flower for some j 6 t.

Proof. Assume P is not a path. Let i < j be such that vi = vj and


such that j is as small as possible. Thus v0 , . . . , vj−1 are distinct.
If j − i is even delete vi+1 , . . . , vj from P and obtain a shorter
alternating chain from X to X.
Assume j − i is odd. The case where j is even and i is odd cannot
occur since this would imply that two edges of the matching meet
in vi .
Thus we may assume that j is odd and i is even which implies
that
[v0 ··· vj]
is a flower.
2.15 Independent Set in Claw - Free Graphs 99

Let B the the blossom of a flower. The graph G/B replaces the
set of vertices of B by one new vertex. We call this new vertex B.
The edges of the graph G/B are

E( G/B ) = { {x, y} | {x, y} ∈ E and / B} ∪


x, y ∈
{ { B, y } | y ∈ NG (B) }. (2.43)

For the matching M in G we let M/B be the set of corresponding


edges in G/B. An edge of M with both ends in B is not an edge of
M/B.

Lemma 2.96. Let

B = [vi ··· vt]

be a blossom in G. Then M is a matching of maximal cardinality in


the graph G if and only if M/B is a matching of maximal cardinality
in the graph G/B.

Proof. Assume that M/B is not maximum in G/B. Let P be an


augmenting path. If P does not contain B then it is an augmenting
path in G.
Assume that P enters B by an edge

{ u, B } ∈
/ M/B.

Thus {u, vj } ∈ E for some j ∈ {i, . . . , t}. If j is odd then replace


B in P by [ v j v j+1 · · · v t ]. If j is even then replace B by
[ v j v j−1 · · · v i ]. In both cases we obtain an augmenting path
in G.
Now assume that |M| is not maximal. We may assume that i =
0 — that is — vi ∈ X. Otherwise we can replace M by the
symmetric difference M ÷ Q where Q is the set of lines in the chain
[ v 0 · · · v i ].
Let P = [ u 0 · · · u s ] be an augmenting path in G. When
P does not visit B then P is an augmenting path in G/B. If P
visits B then we may assume that u0 ∈ / B since otherwise we can
replace P by its reverse. Let uj be the first vertex of P in B. Then
[ u 0 · · · u j−1 B ] is an augmenting path in G/B. — Thus —
|M/B| is not maximal.
100 Algorithms

Edmonds ’ algorithm can be implemented to run in O(n2 · m)


time. Micali and Vazirani show that a maximum matching can be

computed in O( n · m) time.

2.15.2 Minty ’ s Algorithm


We assume that the reader is familar with Edmonds ’ algorithm to
find a maximum matching in graphs. Minty ’ s algorithm computes
α(G) in claw-free graphs by reducing it to that of finding a maximum
matching in an auxiliary graph constructed from the input graph.
Let G be claw-free and let B be a maximal independent set in
G. Color the vertices of B black and the others white. Notice that
every white vertex has 1 or 2 black neighbors.

An augmenting path is a path that runs between two white


vertices — that each have only one black neighbor — and of which
the white vertices form an independent set.

Lemma 2.97. When two white vertices — both having two black
neighbors — are adjacent then they have a common black neighbor.

Proof. Let x and y be two white vertices that are adjacent. Notice
that
| ( N(x) ∪ N(y) ) ∩ B | > 4

implies a claw with one of the two whites as a center (since the
black vertices form an independent set). This is a contradiction.

If there exists an independent set of cardinality larger than |B|


then there must exist an augmenting path. Minty ’ s algorithm finds
an augmenting path — if it exists — as follows.

Definition 2.98. A wing is a nonempty subset of white vertices


that is a single white vertex that has only one black neighbor or
the common neighborhood of two black vertices.

We refer to the wings of the second kind as the ‘tipped wings.’

Definition 2.99. A black vertex is regular if either


2.15 Independent Set in Claw - Free Graphs 101

1. it is incident with a white vertex that has only one black neighbor

2. it is incident with at least three tipped wings.

Lemma 2.100. Let b be a regular black vertex of the second kind.


Let p, q, r ∈ N(b) and let them be in different tipped wings incident
with b. Then the number of pairs in {p, q, r} that are edges is odd.

Proof. The graph would have a claw when the number of edges in
{p, q, r} were 0 or 2 (either with b as a center or the one of p, q
and r that is adjacent to the other two ).

2.15.3 A Cute Lemma


In an attempt to find an augmenting path we may try to find an
augmenting path that runs between a fixed pair of white vertices
that have one black neighbor. By trying all O(n2 ) feasible pairs
this will find an augmenting path if it exists.

This approach has the advantage that we can reduce the graph:
Let s and t be two white vertices that are not adjacent and that have
each exactly one black neighbor. In the search for an augmenting
s ∼ t-path we can remove all white neighbors of s and t and all
other white vertices that have only one black neighbor. We refer to
this graph as the reduced structure.
s s
Minty first shows that the neighborhood of any regular back s @s s @
@s
vertex has a partition into two classes such that all nonedges run @s @@s s @@s
between vertices in different classes. For a regular vertex b that is @s @s
@
adjacent to s or to t one of the two classes is s or t and the other @s s
@
s@s
@
class is N(b) \ {s, t}. The following lemma concerns itself with the s s
regular vertices that are incident with at least three tipped wings.
Figure 2.15: A claw-free
graph; this one is a domino:
Lemma 2.101. Let b be a black vertex that is incident with at every vertex is in two maxi-
mal cliques.
least three tipped wings. There exists a unique partition of N(b)
into at most two parts such that all nonedges that run between
whites in different wings have their endpoints in different parts and
all edges between whites in different wings have their endpoints in
similar parts.
102 Algorithms

Proof. Notice that if x, y and z are three white vertices in different


tipped wings at b then the number of edges among {x, y, z} is odd.
We call a triple {x, y, z} with an odd number of edges among them
an odd triple .

First notice that — when each triple in a graph is odd — then the
graph is a union of at most two cliques. In that case we are done.

Consider a wing S and let z ∈ / S. Define a binary relation Lz on S


as follows. Any two elements x and y in S are related if and only if
{x, z} and {y, z} are both edges or both nonedges.
48
Notice that any augment-
It is not difficult to check that any z0 ∈
/ S produces the same ing path can use only one
relation Lz0 = Lz on S — that is — we can write L instead of Lz . white vertex in a wing. So
the graph on the white ver-
Make two vertices in a wing S adjacent when they are related in L tices within a wing is of
no importance. The lemma
and nonadjacent when they are not related in L. 48 Then every makes no claim on the edges
triple in the wing is an odd triple. that run between whites that
are in the same wing.
It is now easy to check that any triple {x, y, z} in N(b) is odd.
It follows that N(b) has a partition as claimed in the lemma.
u
e @@e
@ u
Exercise 2.58 @
e b@e
u @u
Let G be a graph and let Ω be its collection of odd triples. A
Seidel switch with respect to some set S ⊆ V changes all edges with Figure 2.16: Three wings
one endpoint in S into nonedges and it changes all nonedges with (edges with white endpoints
are not shown)
one endpoint in S into edges.
Prove that a Seidel switch does not change Ω. When is a collection
of triples the set of odd triples of a graph?
Hint: A collection of triples is the collection of odd triples in a graph
if and only if every four elements contain an even number of even
triples.

2.15.4 Edmonds ’ Graph


Notice that we lack a partition — into nonadjacent classes — of
the neighborhoods of black vertices whose neighborhoods consists of
two tipped wings. Minty calls these vertices irregular.
2.15 Independent Set in Claw - Free Graphs 103

As a subroutine the algorithm determines whether two regular


black vertices — say a and b — are connected by an alternating
path whose white vertices form an independent set.
Consider a sequence (W0 , b0 , W1 , b1 , . . . , Wn , bn , Wn+1 ) where
the bi are irregular black vertices and Wi is the wing at bi with
tip bi+1 . We may assume that this sequence is maximal — that
is — W0 and Wn+1 are wings incident with regular vertices. By
dynamic programming we can determine whether there exists a
path
[ a w 0 b 0 w 1 b 1 · · · w n+1 b ]
such that r r r
@@r @
@r
1. a and b are the tips of W0 and Wn+1 @r

2. a is not adjacent to w0 ∈ W0 and b is not adjacent to wn+1 ∈ Figure 2.17: This is the sun.
Wn+1 The sun is claw-free. It is the
linegraph of the net.
3. consecutive white vertices wi ∈ Wi and wi+1 ∈ Wi+1 are nonad-
jacent.

We refer to such an a ∼ b-path as an irregular path.

Let N be the number of regular vertices in the graph. Edmonds ’


graph consists of a matching with N edges, representing the regular r r
@ r r
vertices. The endpoints of an edge represent the two classes of the @
partition of the regular black vertex. The graph has two more @r
vertices s and t. These are joined by an edge to the node-classes of
Figure 2.18: This graph
the two unique regular black neighbors. is called the bull . The
bull is claw-free, but has an
By the subroutine described above for any two classes of regular edge-contraction that pro-
black vertices we can decide whether they are connected by an duces a claw. Thus, the
class of claw-free graphs,
augmenting path that uses no irregular vertices. Between any two is not closed under edge-
of the 2N endpoints of edges in the matching add an edge if the contractions. BTW, what is
two regular black vertices are connected by an irregular path that the complement of the bull?

uses the two classes.

Lemma 2.102. There exists an augmenting s ∼ t – path if and only


if Edmonds’ graph has an augmenting path.

We leave it as an exercise to check the correctness.


104 Algorithms

Theorem 2.103. There exists an O( n 5 ) algorithm that computes


a maximum independent set in claw-free graphs.

Proof. The problem reduces to finding a augmenting path in Ed-


monds’ graph. The existence of irregular paths can be computed
in (overall) O(n2 ) time. Finding an augmenting path in Edmonds’
graph can be done in O(n3 ) time via the blossom algorithm. Since
the algorithm tries all feasible pairs s and t as endpoints of an
augmenting path the algorithm runs in O(n5 ) time.

Exercise 2.59
The problem to find α( G ) in a triangle – free graph is NP -
— complete. Reduce this problem to the clique problem in
claw – free graphs. Thus , finding ω( G ) in claw – free graphs
is NP – complete.

Faenza et al. show that the independence number in claw-free


graphs can be computed in O(n3 ) time.

2.16 Dominoes
A natural generalization of the class of linegraphs of bipartite
graphs, is the class of dominoes .
49
I spell: ”one domino” and
Definition 2.104. A graph is a domino if every vertex is in ”two dominoes.”
at most two maximal cliques.

Notice that linegraphs of bipartite graphs are dominoes. 49 r r r


Not all linegraphs are dominoes — for example — the linegraph r @ @r @ @r
of the diamond is the 4 - wheel W4 and W4 is not a domino. @@r r @ @r

Exercise 2.60 Figure 2.19: The linegraph


of the diamond, on the left,
Show that every domino has at most n maximal cliques. is the 4-wheel, on the right.
The 4-wheel is not a domino.
2.16 Dominoes 105

Exercise 2.61
Show that the class of dominoes is hereditary — that is — a
graph G is a domino if and only if every induced subgraph of
G is a domino.

Dominoes can be characterized in various ways.

Theorem 2.105. The following propositions are equivalent.

1. G is a domino

2. G is { W4 , claw , gem } – free. r r


r S
 S 

AAr
HH
Hr 
S

Remark 2.106. The class of dominoes can be recognized in
Figure 2.20: The gem
linear time. — That is — there is a linear – time algorithm that
checks whether a graph is a domino. The algorithms operates
by identifying vertices that have the same closed neighborhood.
The graph on the equivalence classes is a linegraph (with some
additional properties). — Actually — a graph is a domino if and
only if its representative is the linegraph of a triangle-free graph in
which every vertex is adjacent to at most one pendant vertex.

Exercise 2.62
Let G be a graph. Call two vertices equivalent if they have A binary relation is an
equivalence relation if it
the same closed neighborhood. Show that this defines an equiva-
is reflexive, symmetric,
lence relation on V( G ). The representative R( G ) of a graph and transitive. To be precise,
G is the graph with a binary relation ∼ is an
equivalence relation if ∼
satisfies
V( R ) = { X | X ⊆ V(G) is an equivalence class }.
1. ∀x x ∼ x,
2. ∀x ∀y x ∼ y ⇒ y ∼ x,
Two vertices of R are adjacent if a pair of elements of the
3. ∀x ∀y ∀z (x ∼ y and y ∼
classes are adjacent. Design a linear – time algorithm that com- z) ⇒ x ∼ z.
putes the representative of a graph. The sets of mutually equiv-
alent vertices are called
equivalence classes.
106 Algorithms

Exercise 2.63
A graph is strongly regular if there are numbers k , λ and µ
such that

(i) all vertices have the same degree — that is — the graph is
regular with degree k :

∀x∈V d( x ) = | N( x ) | = k

(ii)

∀x∈V ∀y∈V x 6= y ⇒

λ if { x , y } ∈ E
| N( x ) ∩ N( y ) | =
µ if { x , y } ∈
/ E.

— For example — the Petersen graph is strongly regular with


parameters
( n , k , λ , µ ) = ( 10 , 3 , 0 , 1 ).

(I) Prove that L( K n ) is strongly regular. Is it a domino ?

(II) Prove that the adjacancey matrix of a strongly regular graph


satisfies
A2 = k · I + λ · A + µ · (J − I − A)
where I is the identity matrix and J is the matrix with all
elements equal to 1 .

Hint: Notice that J − I − A is the adjacency matrix of Ḡ .

2.17 Triangle partition of planar graphs

Definition 2.107. A graph has a partition if its set of edges can


be partitioned into triangles. 50 51 50
A triangle is a clique in
the graph with 3 vertices.
51
Finding a minimum set of
In this chapter we show that there is a linear - time algorithm triangles that covers the
to check if a planar graph has a partition. edges of a planar graph is
NP-complete.
2.17 Triangle partition of planar graphs 107

Definition 2.108. Let G be a plane graph — that is — the


graph G is planar and is given with an embedding in the plane.
A triangle T partitions the plane in two open regions say ‘inside’
and ‘outside.’ If both regions contain vertices of G the triangle is
separating.

Definition 2.109. Let T be a separating triangle and let x ∈ V(T ).


The inside degree of x — say d(x) — is the number of edges that
is incident with x and some vertex inside T .
A separating triangle is even if d(x) is even for every x ∈ V(T ).

The dual

Exercise 2.64
Assume that G has an edge which is in only one triangle. Say the
triangle has edges e1 , e2 and e3 . Then G has a partition if and
only if G − {e1 , e2 , e3 } has a partition.

Exercise 2.65
Show that there is a linear-time reduction to the case where the
graph G is biconnected — that is — henceforth we assume that
G is biconnected. Furthermore we may assume that every vertex
of G has at least three neighbors. 52 52
A graph is biconnected if
each minimal separator has
at least two vertices.

Lemma 2.110. Let H be the dual of G. If G has a partition


then H is bipartite.

Proof. Assume G has a partition. Let C be a cycle in H. The


set of edges of C is a cut in G. Every triangle of the partition has
either all its vertices on the same side of the cut or one vertex on
one side and two on the other side. This shows that the cut has an
even number of edges — and so C is even.
108 Algorithms

The triangle partition algorithm

— By now — we may assume the following. 53 53


Check !

1. G is biconnected

2. the dual H is bipartite

3. every vertex of G has even degree at least 4

4. every edge of G is in at least two triangles.

Graphs without separating triangles


If the graph has no separating triangles then every triangle is a
face.

Lemma 2.111. Assume G has no separating triangle. Then G


has a partition if and only if every vertex of one color class of H
has degree 3.

Proof. Let H1 be a color class of H and assume that all vertices


of H1 have degree 3. Then the vertices of H1 form a partition of
E(G) into triangles.

Assume that G has a partition. The triangles of the partition are


faces and the corresponding vertices in H have degree 3. Between
any two of them the distance is even so they form a color class of
H.

Graphs with separating triangles


Let P be a partition of E(G) into triangles. A separating triangle
S = {x, y, z} is of one of the following types.

Type 1. S ∈ P or the three edges of S are in triangles with the third


vertex inside S

Type 2. the three edges of S are in triangles of P with the third vertex
outside S
2.17 Triangle partition of planar graphs 109

Type 3. some edge of S is in a triangle of P with the third vertex inside


S and some edge of S is in a triangle of P with the third vertex
outside S.

Exercise 2.66
If a separating triangle S is even then it is of Type 1 or Type 2
in any partition.
Hint: Let S be a separating triangle and let P ve a partition of the
edges of G into triangles. Let G0 be the graph induced by S and
the vertices inside S. When S ∈ P then S is even (otherwise G0 has
no partition).
Let {x, y} ∈ E(S) and assume that {x, y} is in a triangle of P with
the third vertex outside S. Assume that the two other edges of S
are in triangle with their third vertex inside S. (So S is of Type 3.)
Remove the edge {x, y} from the graph G0 . There is a partition of
the edges of G0 − {x, y} into triangles — and so — the degree of
x and y must be even in G0 − {x, y}. But then S is not an even
triangle in G.
54
Jiawei Gao, Ton Kloks
and Sheung-Hung Poon, Tri-
Exercise 2.67 angle - partitioning edges
of planar graphs, toroidal
All even separating triangles can be found in linear time. graphs, and k-planar graphs,
Springer - Verlag, Lecture
Hint: Use Baker’s method to partition V(G) into layers. (See Notes in Computer Science
Theorem 4.246 on Page 323.) 54 7748 (2013), pp. 194–205.

Definition 2.112. A separating triangle is outermost if none of


its vertices is inside any other separating triangle.

Consider the graph G∗ obtained from G by removing the interior


of all outermost even separating triangles. So the graph G∗ has no
even separating triangles. A special region of G∗ is a face that is
an outermost even separating triangle in G.
Let P be a partition of G∗ . Every even region or face is of one of
two types.
110 Algorithms

Type a. the special region or face is a triangle of P

Type b. the edges of the boundary are in triangles of P that have their
third vertex outside.

Lemma 2.113. Assume G∗ has a partition. Let H1 and H2 be the


two color classes of the dual. Then all vertices of H1 are of Type a
and all vertices of H2 are of Type b or vice versa.
Proof. Along any path in the dual of G∗ the types of the vertices
must alternate. The dual is connected so all vertices of one color
class are of the same type.
This proves the lemma.

Theorem 2.114. There exists a linear - time algorithm to find a


partition of the edges of a planar graph in triangles.
Proof. There are only two ways to partition G∗ .
Let S be an outermost even separating triangle. If S is labeled
Type a then a recursive step checks if the inside including S has a
partition. If S is labeled as Type b then the interior (without S)
is processed in a recursive step.
A list of all even separating triangles can be found in linear time.
All recursive steps are performed on separate subgraphs of G. This
proves that the algorithm runs in linear time.
This proves the theorem.

2.17.1 Intermezzo: PQ - trees


Booth and Luecker introduced PQ - trees in 1976 as a data -
structure that is useful for the recognition of eg planar graphs
and interval graphs. Implementations of PQ -
trees allow linear - time
Let V be a finite set. A PQ - tree is a rooted tree T and a recognition algorithms for in-
terval graphs and for planar
bijection from the elements of V to the leaves of T . Each internal graphs.
node is labeled P or Q and has at least two children.

The PQ - tree represents a set of permutations of V:


2.18 Games 111

1. the children of a P - node can be re-ordered in any way

2. the order of the children of a Q - node can be reversed (and


that is the only other valid order).

Let G be an interval graph — that is — there is an ordering


of the maximal cliques in G

C1 ··· Ct

such that each vertex is contained in a consecutive subset.

Consider the (0, 1) - matrix with V as its columns and the maximal
cliques in G as its rows and that has a 1 precisely when a vertex
is in a clique. Then the rows can be permuted so that all the ones
in a column are consecutive.

Exercise 2.68
Design an algorithm:
Input: A graph G and the set of all the maximal cliques in G —
say — {C1 , · · · , Ct }.
Output: A permutation of the cliques such that the (clique -
vertex) - incidence matrix has all ones in each column consecutive.

Hint: Build a PQ - tree. Start with a tree that has all its leaves
adjacent to the root and identified with C1 , · · · Ct . Label the root
as a P - node. Add the vertices one by one and rebuild the tree
to satisfy the consecutive ones property.

2.18 Games

It’s almost Christmas — let’s play some games!

One of my teachers used to say: “Only games played between


two people are interesting. Larger groups of players give rise to
fights and 1-player games are boring!”
112 Algorithms

2.18.1 Snake

Snake is a thrilling game played on a graph as follows. — Johan Cruijff was once
Of course — the game is played between two players. The ‘game the greatest football player
in Holland. One of his
- board’ is a graph G. The two players take turns in making (legal) proverbs was: “Football is
moves. The player who can’t make a legal move loses the game. a game of mistakes. Who-
ever makes the fewest wins!”
The two players together build a path in the graph. One endpoint
of the path is the ‘head’ and the only legal
::::
moves that are available
to a player (when it is his turn) extend the path with one vertex
that is adjacent to the head. 55 A newly added vertex becomes the 55
Of course, only legal
moves are allowed. A player
head of the path.
is allowed to make a legal
Player 1 makes the first move and he chooses one point in the move when it is his turn.

graph to start the path.

Exercise 2.69
Show that player 1 can easily win the game if the graph has an
isolated vertex. C. Berge, Combinatorial
games on a graph, Discrete
Mathematics 151 (1996),
pp. 59–65.
We are interested in the question whether player 1 has a winning
strategy.

Snake was invented by Berge and he formulated the following


beautiful theorem in 1996.

Theorem 2.115. Player 1 wins the game snake if and only if


the graph has no perfect matching.
A perfect matching in a
graph is a matching with n/2
Proof. Suppose G has a perfect matching. We show that player 2 edges; so it covers all the
has a winning strategy. vertices.

To win the game player 2 fixes a perfect matching M and carries


that in his head. Player 1 chooses a vertex x to start the game.
There is a unique edge e ∈ M that contains x. Player 2 chooses
the other endpoint of e to extend the path.
2.18 Games 113

At any point in the game when player 1 enters a new edge of M


player 2 chooses the other end of that edge. Since M is perfect
this is a winning strategy for player 2.
The exercise below takes care of the converse.
This proves the theorem.

Exercise 2.70
Suppose that G has no perfect matching. Show that player 1
has a winning strategy.

2.18.2 Grundy values

When it is a player’s turn he is faced with a position in the game.


Assume that the positions in a game form a DAG when there is an
arc from position x to position y if y is reached from x in one
move (by either player). 56 56
We want to consider only
finite games; if the digraph
Give each position a Grundy value defined as follows. Each sink has a directed cycle a game
can go on forever.
in the DAG has Grundy value 0. Let x be a position with some
outgoing arcs. The Grundy value of x is the smallest element in
N ∪ {0} that is not a Grundy value of any of its out-neighbors. A sink in the DAG is a posi-
tion that ends the game.
Let s denote the starting - position — ie — s is the position in
which player 1 has to make his first move. Call the Grundy value
of s the Grundy value of the game. My teacher once said that we
could try to simulate chess
with a DAG; but it’s made
Player 1 has a winning strategy if and only if the hard by rules that involve
Grundy value of the game is not 0. the history of the game (like
‘castling’). “And then —
To see that assume that the Grundy value of s is not 0. By the you need to deal with a case
where you offer a draw and
definition of the Grundy value there must be a position y that
your opponent gets a red face
player 1 can reach which has Grundy value 0. Player 1 makes that and resigns!”
move. Since the Grundy value of y is zero player 2 can only make
moves to positions that have a non-zero Grundy value. — So —
the game ends when player 1 makes the final move to a sink.

A natural question is whether player 1 has a winning strategy.


114 Algorithms

Input: A graph G and a game (ie a rule which defines legal


moves).
Output: Decide whether the Grundy value of a the game is 0.

For example, there is a polynomial-time algorithm to decide if the


Grundy value of snake is zero; just figure out if the graph has a
perfect matching.

2.18.3 De Bruijn’s game

De Bruijn shows that is can be quite difficult to find a winning


move. To decide a game is to decide
whether its Grundy value is
0. If the Grundy value is
Consider this game played on the set [n]. During the game > 0 then player 1 has a win-
two players alternate and scratch out certain numbers of [n]. A ning move. In this section
number can be scratched out only once and when no number is left we show a game in which it is
not easy to :::
find that winning
the player who has to make a move loses the game. move.

The rule to scratch out numbers is this. When it is a player’s turn he


chooses a number that has not been scratched out before. The move
scratches out this number and all its divisors (ie those divisors
that were not scratched out already). So the number 1 gets
scratched out at the first
move.

Player 1 has a winning strategy.


To see that suppose player 1 chooses 1. This does not really change In this game player 1 has a
the game — that is — if now player 2 wins the game then player 1 ‘waiting move.’
:::::::
could have made that winning move instead of playing 1! — In
other words — player 1 wins the game. Player 1 wins the game but
finding the winning move is
not feasible —say — when
n > 100.
Exercise 2.71
The NIM - game is played with some piles of stones. When it is a
player’s turn he must choose one nonempty pile and remove some
stones from it. When no pile has any stone left the player that has
to make a move loses the game.
2.18 Games 115

Let there be k piles and let the number of stones in these piles be

n1 ··· nk .

The Grundy value of this game is the nim - sum

n1 ⊕ ··· ⊕ nk .

To obtain the nim - sum add the ni with the following addition
rule

a⊕b = min { k ∈ N ∪ {0} | ∀a0 <a ∀b0 <b


k 6= a0 ⊕ b and k 6= a ⊕ b0 }.

Another way to obtain a ⊕ b is to write a and b in binary and


then to add them up bit - by - bit without using a carry.

Exercise 2.72
In this game the board is a forest F of k rooted trees. On the
root of each tree lies a coin. A legal move chooses one tree in the
forest and moves the coin in this tree to a point that is further
away from the root.

Let di denote the maximal distance of any point in Ti ∈ F from


the root. The Grundy number of this game is

d1 ⊕ ··· ⊕ dk .

2.18.4 Poset games

Poset games are played on a poset. Two players play


a game on a poset (P, 6). When it is his turn a player selects an
element x of P; this removes x and all elements y > x.

Example 2.116. 1. Clearly NIM is a poset game: the poset is a


union of chains (the piles).
116 Algorithms

2. Hackendot is a game played on a forest of rooted tree. The


selection as a move of a vertex removes all vertices that are on
J. Úlelha, A complete analy-
the path from the vertex to a root. (When the forest is a tree sis of Von Neumann’s Hack-
then player 1 wins.) endot, International Journal
of Game Theory 9 (1980),
pp. 107–113.
Deuber and Tomassé show that the Grundy value of an N - free
poset - game can be computed in O(n4 ) time. W. Deuber and S. Thomassé,
Grundy sets of partial orders.
Technical report, University
Bielefeld, 1980.
2.18.5 Coin - turning games

Let a board be [n] with a coin on every element


that is showing head or tail. A move is a turn of two
coins subject to the condition that the right - most coin of the
two turns from head to tail. Write the numbers 1 · · · n
from left to right.
As usual, when a player can’t make a legal move he loses the game.

Exercise 2.73
Suppose there is only one coin that is showing head. Show that
the game is equivalent to NIM with one pile of stones. How many
stones are there in the pile of the NIM-game?
Hint: If there is only one coin that shows head then a legal move
is the same as ‘shifting the head to the left.’ So, it is equivalent to
NIM with one pile of stones. The number of stones on the pile in
NIM is the number of positions the head can move to the left; if it
is in position k then it can move k − 1 positions to the left. (If the
head is in position 1 player 1 loses the game; accordingly g(1) = 0.)

Let’s take a bold step and see what happens if we simulate


the coin - turning game by a NIM - game that has one pile for
every head in the set.
Let A ⊆ [n] be the set of elements where the coin is showing head.
Simulate this game by a NIM - game; with a pile of stones for
every a ∈ A. The number of stones in a pile — say g(a) — is
the number of positions it can move to the left.
2.18 Games 117

Claim: the two games have the same Grundy value:


M
g(a).
a∈A

Proof. A difficulty arises only when two coins are turned that are
both head. In a ‘perfect’ simulation of the coin - turning game
the two piles would ‘disappear.’ The two piles in the NIM - game
become of equal size — that is — they have the same number of
stones and so the sum of their Grundy values equals 0.
This proves the claim.

Exercise 2.74
Suppose the coin - turning game is played on an n × m - grid. Call
(n, m) - corner of the grid the North - East. One each point of
the grid lies a coin which shows head or tail.
A legal move turns all coins of a subgrid subject to the condition
that the North - East - corner of the subgrid turns from head to
tail.
Show that the Grundy value can be expressed as
M
g(a), (2.44)
a∈A

where A is the set of vertices of the grid on which the coin shows
head. (What is g(a)?)

Exercise 2.75
Let (P, ) be a poset. Define the coin - turning game analogously
to the above. Show that there is an efficient way to decide if player 1
wins this game.
Hint: Introduce a turning set for each element in the poset. All
:::::::::
coins in a turning set T (a) turn when a player turns the coin in
a. In this game we assume that each element a is the unique
maximal element of its turning set T (a).
A legal move flips all coins of a turning set T (a) provided that the
coin in a shows head. Show that the Grundy value of the game can
be expressed as in (2.44).
118 Algorithms

2.18.6 Nim - multiplication

H. W. Lenstra, Jr., NIM - multiplication. Technical Report Insti-


tute des Hautes Etudes Scientifiques IHES/M/78/211. Research
supported by the Netherlands Organization for the Advancement of
Pure Research (Z.W.O), 1978.

This paper defines a game as follows.


This definition should end
with an exclamation mark!
Definition 2.117. A game is a set.

To explain this definition a game is identified with its


initial position and a position is a set of options. Each option is
again a position. — So — an element of a game is a position (a
set of options) and every element of a position is again a position.
In this section all elements of a set are sets.

To play a set S Player 1 chooses an element of S — say — S0 .


Then Player two chooses an element S00 of S0 and so on. The
player who needs to choose an element from an empty set loses the
game. We assume that this will — eventually — occur, after a
finite number of moves.

While we’re at it let’s define the Grundy number of a game


A as g(∅) = 0 and

g(A) = min { k | k 6= g(`) for ` ∈ A }

Then player 1 has a winning strategy if and only if the Grundy


value of the game is not zero.

The sum of two game A and B is the game

A+B = { a + B, b + A | a ∈ A and b∈B}

We assume that you are familiar with the sum - theorem.


2.18 Games 119

Theorem 2.118 (The sum theorem). The Grundy value of the sum
of two games A + B is

g(A + B) = g(A) ⊕ g(B),

where ⊕ is the NIM - addition:

α⊕β = min { k | k 6= α0 ⊕ β and k 6= α ⊕ β0


for all α0 < α and β0 < β. }.

Let us define the product of two games as

A×B = { (a × B) + (A × b) + (a × b) | a ∈ A and b ∈ B }.

Then the Grundy value of the product is

g(A × B) = g(A) ◦ g(B)


where the product n ◦ m of two numbers is the smallest number
different from (n0 ◦ m) ⊕ (n ◦ m0 ) ⊕ (n0 ◦ m0 )
for all n0 < n and m0 < m. (2.45)

We want no zero divisors:


(n − n0 ) ◦ (m − m0 ) 6= 0.
So the Grundy value of n◦m
Suppose we play the product game with two naturural is the smallest number differ-
numbers n and m. After t moves the position looks like ent from all

(n0 ◦ m) ⊕ (n ◦ m0 )⊕
(a1 ◦ b1 ) + (a2 ◦ b2 ) + · · · + (a2t+1 ◦ b2t+1 ).
(n0 ◦ m0 ).

For any pair a, b the term (a ◦ b) may appear many times


but only the parity of the number of occurrences of (a ◦ b) is of
interest.
A legal move is to replace a pair — say (a, b) — with three pairs

(a0 ◦ b) + (a ◦ b0 ) + (a0 ◦ b0 ),

where a0 < a and b0 < b. (N, ⊕, ◦) is a field of charac-


teristic two.
120 Algorithms

If one of the three new term is already in the product then


the two equal terms cancel each other out because the sum of two
equal
:::::
games is zero.

We can represent the positions of the n ◦ m - game by a rect-


angular n × m - grid. In each point of the grid there is a coin
showing red or blue (head or tail).

The rule for a legal move is as follows. Choose a rectangle of


which the North - East corner is red. Switch the color at the 4
:::::::::::::::::::::::
corners of the rectangle.

Theorem 2.119 (The product theorem). The Grundy number of


a product game is the sum over all the red nodes of the nim -
product of the two coordinates.

In his paper (Exercise 4) Lenstra describes an algorithm to


calculate the NIM - product of two numbers n ◦ m.

2.18.7 P3 - Games

Definition 2.120. Let G be a graph. A set S ⊆ V is P3 - convex


if
∀x/
∈S |N(x) ∩ S| < 2.
2.18 Games 121

Notice that this defines an alignment — that is

1. ∅ and V are P3 -convex

2. if A and B are P3 -convex then A ∩ B is P3 -convex.

Exercise 2.76
Let L be the collection of P3 -convex sets. Define the hull
operator σ : 2V → L by

σ(A) = the smallest P3 -convex set that contains A.

Show that this is a proper definition.

Two players play the P3 -game. The board is a graph. In a


move certain vertices of the graph get labeled. Initially the
set of labeled vertices S = ∅.
A player selects an unlabeled vertex x. This changes the set
of labeled vertices as follows.

S ← σ(S + x)

(The move labels all vertices of σ(S + x).)

(At each point of the game prior to a move the set of labeled
vertices S is P3 -convex.)

Exercise 2.77
Prove the following theorem.

Theorem 2.121. There exists an O(n2 ) algorithm to decide the


P3 - game on paths.
122 Algorithms

Hint: Compute the Grundy value of the game played on every


subpath — using dynamic programming.
Wing Kai Hon, Ton Kloks,
In the connected P3 - game the moves are restricted so that Fu-Hong Liu, Hsiang-
Hsuan Liu and Tao-
the set of labeled vertices S must induce a connected subgraph. Ming Wang, P3 - games.
Manuscript on arXiv:
1608.05169, 2016.
Exercise 2.78

1. Player 1 wins the connected P3 - game on Pn if and only if

n 6= 2.

2. Player 1 wins the connected P3 - game on the cycle Cn if and


only if
n = 2 mod 3.

Exercise 2.79

1. Show that there is a polynomial - time algorithm to decide the


connected P3 - game on trees.

2. Show that there is a polynomial - time algorithm to decide the


P3 - game on cographs.

3. The ladder is the Cartesian product P2 ×Pn . Show that Player 1


wins the connected P3 - game on the ladder if and only if

n = 0 mod 6.

2.18.8 Chomp It is also called ‘the take-


away game.’

Two players play a game on a graph. The name of the


game is chomp. When it is his turn a player removes a vertex
or edge of the graph. 57 The game ends when there are no more
vertices or edges left. The game ends when there is no graph left to
57
The removal of a vertex
play with. also removes all edges that
are incident with it.
2.18 Games 123

Exercise 2.80
Show that player 1 loses the game on a triangle. Show that the
Grundy value for Chomp on Kn equals n mod 3.

Exercise 2.81
Show that there is an efficient way to decide the winner of a game
of chomp on K+ n which consists of a clique with n vertices and one
extra vertex that is adjacent to exactly one vertex in the clique.

A useful tool to compute the Grundy value of this game is the


automorphism σ : V(G) → V(G)
flipping lemma. A flip is an :::::::::::::
which satisfies

1. for every x ∈ V {x, σ(x)} ∈


/E

2. σ2 = σ.

The kernel of a flip is the set

{x | σ(x) = x }.

Lemma 2.122 (The flipping lemma). The Grundy value for chomp
on G equals the Grundy value on any kernel of a flip.

Kandhawit and Ye — extending older results of Draisma and


Van Rijnswou for the Grundy value of forests — showed that for
bipartite graphs the Grundy value equals

φ(G) = n2 + 2 · m2 , (2.46)

where n2 and m2 are the numbers of vertices and edges of the graph
modulo two.

Exercise 2.82

1. Show that an even wheel has a flip with kernel P3 . — Conse-


quently — even wheels have Grundy value 1.

2. Show that also odd wheels have Grundy value 1.


124 Algorithms

Exercise 2.83
Is there a polynomial time - algorithm to decide the winner of a
game of chomp played on a cograph?
Hint: Every cograph is either one vertex or the join or the union
of two smaller cographs. — Clearly — the Grundy value of the
graph is the nim - sum of the Grundy values of its components.
Problem Formulations

To communicate problems in mathematics one makes use


of logic. In this section we discuss two languages that can be
used to express ‘ most ’ problems in algorithmic graph theory.

3.1 Graph Algebras

Many sets of graphs can be described via a ‘ gluing ’ or a


‘ bridging ’ procedure .

Given two graphs — say G1 and G2 — in a bridging


operation one creates a new graph by adding edges between
certain subsets of vertices of G1 and G2 . Examples of classes
of graphs that fall into this category are trees, cographs, and
distance - hereditary graphs . 1 1
A graph is distance
hereditary if for any two
vertices in the graphs,
In a gluing operation one builds a larger graph from G1 all chordless paths that
and G2 by identifying certain vertices of G1 and G2 . An connect them, have the
same length.
example of a class of graphs that falls in this category is the
class of chordal graphs.

The languages that we will discuss next allow us to formu-


late both the membership of graphs in these classes and most
problems that are in NP .

© The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd. 2022 125
T. Kloks, M. Xiao, A Guide to Graph Algorithms, https://doi.org/10.1007/978-981-16-6350-5_3
126 Problem Formulations

3.2 Monadic Second – Order Logic

Monadic second – order logic is a logical language — that can


be used to express properties of graphs.

— For example — according to Definition 1.5 — we can


express that a graph G is connected as follows.

∀A⊆V ∀B⊆V
( A 6= ∅ ∧ B 6= ∅ ∧ A ∩ B = ∅ ∧ V = A ∪ B ) ⇒
∃ a ∈ V ∃ b ∈ V ( a ∈ A ∧ b ∈ B ∧ { a, b } ∈ E ) . (3.1)

— As you can see — in this language we use quantifiers —


that is — the symbols

∀ and ∃.

The quantities — that we quantify over — are subsets of V


and elements of V . 2 The rest of Formula 3.1 is called the 2
That’s why the language is
called ‘ monadic. ’
expression of the sentence.

3.2.1 Sentences and Expressions

A sentence consists of

1. Logical symbols:

(i) Parentheses ( and )


(ii) Connective symbols ⇒ , ∧ , ∨ , and ¬
(iii) Variables, say x , y , A , any natural number of them

2. and Parameters:

(a) Quantifier symbols ∀ and ∃


(b) Equality symbol =
(c) Constants symbols, eg, ∅ , and any natural number
3.2 Monadic Second – Order Logic 127

(d) Predicate symbols — that is — any number of functions

f : V k → { true , false } for k ∈ N


3
The number of arguments
of a predicate is called its ar-
— for example — ( { a , b } ∈ E( G ) ) . 3
ity.

For simplicity we assume that sentences are well – formed


— that is — the parentheses are placed so that they break
down the formulas into their atomic parts. These parts have
no connective nor quantifier symbols.

3.2.2 Quantification over Subsets of Edges

A version of Monadic Second – Order Logic — where quanti-


fication over subsets of edges is allowed — turns out to be
important for algorithms on graphs of bounded treewidth (see
Section 4.2).

Definition 3.1. A property is expressible in MS1 if it can be


expressed in a monadic second – order formula with quantification
over vertices and subsets of vertices.
A property is expressible in MS2 if it can be expressed in a
monadic second – order formula with quantification over vertices,
edges and subsets of vertices and edges.

Exercise 3.1
Show that having a Hamiltonian Cycle is a problem that can
be expressed in MS2 . Can you also express it in MS1 ?
Hint: A Hamiltonian cycle is a of edges that form a cycle —
and — that covers all vertices.

Remark 3.2. Courcelle proved the following two theorems —


which we mention here for completeness ’ sake. 4
The class of graphs of
 bounded rankwidth is a
Theorem 3.3. All MS1 – sentences can be evaluated in O n 3
parametrization of the
time on graphs bounded rankwidth . 4 class of distance-hereditary
graphs.
128 Problem Formulations

These algorithms are fixed-parameter algorithms, parametrized


by the rankwidth of the graphs.

Historically the next theorem came first.

Theorem 3.4. All MS2 – sentences can be evaluated in linear


time on graphs of bounded treewidth .

These are fixed – parameter algorithms, where the parameter is


the treewidth of the graph.

Exercise 3.2
The language MS2 is more powerful than MS1 . Therefore, if
we let MSi stand for the class of graphs, for which all MSi -
– problems can be solved in universal – constant polynomial
time, then we have
MS2 ⊆ MS1 .
— Find other problems — that are expressible in MS2 but not
in MS1 .
Recent Trends

As this is the final chapter of this overview


we should have a look at the ‘ recent ’ developments in graph
algorithmics . 1 To keep this brief short let me select one 1
Better late than never . . .
topic — namely treewidth — and use that as a chassis to
explain various ‘ recent ’ concepts.

4.1 Triangulations
A triangulation of a graph is an embedding of it in a chordal
graph.
q q q q q
q AA AA A @ @q
@@q Aq Aq AAq
4.1.1 Chordal Graphs
Figure 4.1: A chordal graph

Definition 4.1. A graph is chordal if it has no chordless


cycle 2 of length more than 3 . 2
A chordless cycle is a cycle
without chords, that is, it is
an induced cycle.

We could say that chordal graphs are { C n } – free graphs, Exercise 4.1
(for all n > 4 ), except that this notation looks a bit weird Prove that every connected
chordal graph, with at least
(since it is not finite). Trees are well – known examples of two vertices, has a simpli-
chordal graphs and in general — one could say — that chordal cial vertex, that is, a ver-
graphs have a ‘ tree - like ’ – structure. tex whose neighborhood is a
clique.
Hint: Consider a feasible par-
The way in which the structure of chordal graphs resembles tition, see Definition 2.69 on
that of trees is best conveyed via their minimal separators. page 76.

© The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd. 2022 129
T. Kloks, M. Xiao, A Guide to Graph Algorithms, https://doi.org/10.1007/978-981-16-6350-5_4
130 Recent Trends

Lemma 4.2. A connected graph is chordal if and only if all


its minimal separators are cliques . 3 3
We exclude disconnected
graphs, because, those have
Proof. First, assume that G has a minimal separator S with two ∅ as a minimal separator,
and ∅ is not a clique.
nonadjacent vertices — say a and b . Let S be a minimal x | y -
– separator — and let C x and C y be the components of G − S
that contain x and y . Then every vertex of S has a neighbor
in C x and in C y .

Two chordless a ∼ b – paths — one with its internal vertices in C x


and the other with its internal vertices in C y — form a chordless
cycle in G of length at least 4 . — So — when G has a
minimal separator that is not a clique then G is not chordal.

Now assume that every minimal separator in G is a clique.


When G is a clique itself we are done , since cliques are
chordal graphs. We proceed by induction on the number of
vertices in the graph . 4 4
Alternatively, we could pro-
ceed by induction on the
Let S be a minimal separator and let C1 , · · · , Ct be the com- number of minimal separa-
tors in the graph.
ponents of G − S . We claim that every minimal separator in
each graph C i ∪ S is a clique.

— To see that — let S 0 be a minimal x | y - separator in C1 ∪


S . Since S is a clique it can be contained in at most one
component of
( C1 ∪ S ) \ S 0 .

It follows that S 0 is a minimal separator in G — and so — S 0


is a clique.

By induction — on the number of vertices — each graph C i ∪ S


is chordal — and since any chordless cycle of length at least 4
would be contained in one C i ∪ S — such a chordless cycle
cannot exist in G .

This proves the lemma.

Usually trees have leaves. In the language of chordal


graphs leaves are called simplicials .
4.1 Triangulations 131

Definition 4.3. A vertex is simplicial if its neighborhood is


either ∅ or a clique.

Lemma 4.4. Every chordal graph has a simplicial.

Proof. If G is a clique we are done since then every vertex


is a simplicial.
Consider a feasible partition { X, S, C } . 5 Then S is a clique 5
See Section 2.9.1.
since it is a minimal separator in a chordal graph. By induction
on the number of vertices in the graph, G[ X ] has a simplicial
vertex. Since S is a clique this is also a simplicial in G .
This proves the lemma.

Since cycles have no simplicials we have the following char-


acterization.

A graph is chordal if and only if every induced subgraph


of G has a simplicial.

Equivalently — we have —

Corollary 4.5. A graph is chordal if and only if it has


a perfect elimination order — that is — an ordering of its
vertices — say

x1 ··· xn —

such that Abuse coming up ! !

∀i x i is simplicial in G[ x i · · · x n ].

Exercise 4.2
Prove that every chordal graph that is not a clique has at
least two simplicial vertices.
132 Recent Trends

4.1.2 Clique – Trees


From a computational point of view the clique – tree of a
chordal graph says it all.

Definition 4.6. A clique tree of a graph G is a pair ( T , C )


where T is a tree and C is the set of all maximal cliques
in G . Furthermore, there is a bijection 6 V( T ) → C which 6
In future we’ll sim-
satisfies the property 7 ply identify each vertex of
T with one maximal clique
of G.
for each vertex x ∈ V( G ) the maximal cliques that 7
Let’s call this the
contain x form a subtree of T under the bijection . subtree property .

Theorem 4.7. A graph is chordal if and only if it has a


clique – tree.

Proof. Assume G has a clique – tree ( T , C ) . Consider a clique


C ∈ C that is a leaf of T . We contradict the maximality
of C when we assume that every vertex of C is also an
element of the only neighbor of C in T . Therefore — by the
subtree – property — there is a vertex in C that appears in no
other element of C . — That vertex — is a simplicial of G . Exercise 4.3
Notice that having a clique – tree is a hereditary property — Show that if a graph has
a clique-tree then so does
that is — if a graph G has a clique – tree then so does every every induced subgraph.
induced subgraph of G . This shows that G is chordal, since
every induced subgraph has a simplicial.
Assume G is chordal. When G is a clique it has a clique – tree
and then we are done. Otherwise — let x be a simplicial of
G . By induction on | V( G ) | the chordal graph G − x has a
clique - tree, say ( T 0 , C 0 ) .
Since x is simplicial its neighborhood N( x ) is a clique. Let
P ∈ C0 contain N( x ). Create a new node for N[ x ] and
attach it in T to P . It is readily checked that this creates a
clique – tree for G .
This proves the theorem.
4.1 Triangulations 133

Exercise 4.4

Construct a clique – tree for the graph in Figure 4.1 on Page 129.
Which chordal graphs have a clique – tree that is a path?
Hint: Chordal graphs that have a clique – tree which is a path
are called interval graphs . Consider the intersection graph of
a set of intervals on the real line .

Exercise 4.5

Show that a graph is chordal if and only if it is the intersection


graph of a set of subtrees in a tree. By that we mean that
there exists a tree T and a collection of n subtrees of T

{ Tx | x ∈ V( G ) }

such that

{ x , y } ∈ E( G ) ⇔ V( Tx ) ∩ V( Ty ) 6= ∅ .

Hint: Assume G is chordal. For a vertex x ∈ V( G ) consider


the subtree Tx of all the maximal cliques in the clique – tree T
that contain the vertex x .

Exercise 4.6

Let G be a connected chordal graph and let ( T , C ) be a


clique-tree for G . Let

S = { Ci ∩ Cj | { Ci , Cj } ∈ E( T ) }. (4.1)

Show that S is the set of minimal separators of G .


134 Recent Trends

4.2 Treewidth
Definition 4.8. A chordal embedding or triangulation of a
graph G is a chordal graph — say H 8 — with 8
Hi!

V( H ) = V( G ) and E( G ) ⊆ E( H ) . (4.2)

Notice that every graph has a chordal embedding — just add


all edges to G to make it a clique. The triangulation is minimal
if the removal of an added edge creates a chordless cycle . 9 9
which has to be a 4-cycle

The objective of the treewidth problem is to find a chordal sp ps


 pp pp A
embedding with smallest clique number. s ppp ppp As

@ pp pp
Definition 4.9. The treewidth of a graph G = (V, E) is defined @ppsp
as Figure 4.2: A chordal embed-
ding of C5 : The dotted lines
treewidth( G ) = are added in the embedding.
min { ω( H ) − 1 | H is a chordal embedding of G } . (4.4)
We use tw( G ) to denote the treewidth of G .
Exercise 4.7
Show that the number
Treewidth of Claw – Free Graphs
of minimal triangulations
of the cycle Cn is the
Computing the treewidth of a graph is NP – complete . — How-
Catalan number Catn−2 .
ever — it is solvable in polynomial time for many special classes That is, it satsifies the
of graphs. recurrence
4 · n − 10
Catn−2 = ·Catn−3
As an example — since we are already a bit familiar with n−1
(4.3)
the structure of claw – free graphs — let ’ s have a quick look with Cat0 = 1. So, the num-
at the computational complexity of treewidth for claw – free ber of minimal triangluations
of C5 is 5.
graphs.

Arnborg et al. showed that the treewidth problem remains


NP – complete for bipartite graphs — and also for —
cobipartite graphs . 10
10
A graph is cobipartite if
its complement is bipartite.
Exercise 4.8
Show that the treewidth problem remains NP – complete when
restricted to claw – free graphs .
4.2 Treewidth 135

4.2.1 Treewidth and brambles

Let’s start with the definition of a bramble.

Definition 4.10. Let G be a graph. Two subsets A, B ⊆ V touch


if A ∩ B 6= ∅ or there exist a ∈ A and b ∈ B with {a, b} ∈ E.

Definition 4.11. Let G be a graph. A bramble B = {Bi } is a


set of subsets Bi ⊆ V whis satisfies the following properties.

1. each subset Bi induces a connected subgraph of G

2. Each pair Bi and Bj touch.

Now let’s define the order of a bramble.


A set Z is a hitting set for
{Bi } if Z ∩ Bi 6= ∅ for all
Definition 4.12. Let B = {Bi } be a bramble. The order of B is Bi ∈ B.
the minimal number of elements in a ::::::
hitting:::
set for B.

And now we define the bramble number of a graph.


Exercise: What is the bram-
ble number of an indepen-
Definition 4.13. The bramble number of a graph G is the max- dent set? What is the bram-
ble number of a clique? How
imal order of a bramble in G.
to compute the bramble num-
ber of a graph from the
We denote the bramble number of G by b(G). bramble numbers of its com-
ponents? Design an algo-
The reason we did all that is the following theorem proved by rithm to compute the bram-
ble number in cographs.
Seymour and Thomas in 1993. We write tw(G) for the
treewidth of G.
Theorem 4.14 (Seymour and Thomas). For any graph G the
following equality holds.

tw(G) + 1 = b(G)

There is an elegant proof of Theorem 4.14 by Bellenbaum and


Diestel.
136 Recent Trends

P. Bellenbaum and R. Diestel, Two short proofs concerning treede-


compositions, Combinatorics, Probability, and Computing 11 (2002),
pp. 541–547.

The following lemma gives a short proof of the theorem for


chordal graphs. (Perhaps it helps the reader to get a feel for
brambles and for chordal graph.)

Lemma 4.15. For any chordal graph G

b(G) = ω(G).

Proof. The graph is chordal so there is a tree T and a collection


of subtrees of T — say {Tx | x ∈ V(G) } — with the property that
for any two subtrees Tx and Ty

V(Tx ) ∩ V(Ty ) 6= ∅ ⇔ {x, y} ∈ E(G)

Let {Bi } be a bramble. By definition each G[Bi ] is connected.


Let [
Ti = Tx
x∈Bi

Then Ti is a subtree of T .
Every pair Bi and Bj touch. This implies

V(Ti ) ∩ V(Tj ) 6= ∅.

Since every pair of subtrees Ti and Tj share a point of T there


exists a point c in T that is in every tree Ti . 11 11
The Helly property.

Let C = { x ∈ V | c ∈ V(Tx ) }. Then C is a clique in G — and so


— |C| 6 ω. — Furthermore — the set C is a hitting set for the
bramble.
We conclude that b(G) 6 ω(G) since any bramble has order at
most ω(G).
To see that ω 6 b let M be a clique in G with ω vertices.
Define a bramble { {x} | x ∈ M }. — Clearly — the order of this
bramble is ω. So ω 6 b(G).
This proves the lemma.
4.2 Treewidth 137

Exercise 4.9
Show that any graph G satisfies

b(G) 6 tw(G) + 1.

Exercise 4.10

(a) Let G be a graph and let H be a minimal triangulation of G.


Show that any bramble in G is a bramble in H of the same
order.

(b) Show that for any graph

b(G) = tw(G) + 1.

Further reading

The paper below introduces brambles — although in this paper


brambles are called ‘screens.’

P. Seymour and R. Thomas, Graph searching and a minimax


theorem for treewidth, Journal of Combinatorial Theory, Series B
58 (1993), pp. 239–257.

The paper that christens the concept as brambles is this.

B. Reed, Treewidth and tangles, a new measure of connectivity


and some applications. In: Vol. 241 of LMS Lecture Note Series,
Cambridge University Press, (1997), pp. 87–162.

4.2.2 Tree - decompositions

Graphs of treewidth k are exactly the graphs that have tree -


decompositions of width k.
138 Recent Trends

Definition 4.16. Let G be a graph. A tree - decomposition for


G is a pair (T , {Xi }) where

1. T is a tree with a root

2. each node i ∈ V(T ) corresponds with a bag Xi ⊆ V(G)

3. every vertex of G is in a bag

4. every edge of G is contained in a bag

5. for each vertex x ∈ V(G) the nodes i with x ∈ Xi form a


subtree of T .

The width of a tree - decomposition is the maximal size of a bag


minus one.

A graph has treewidth k if and only if it has a tree - decomposi-


tion with width 6 k. Make a clique of every bag;
this embeds the graph in a
In 1996 H. Bodlaender designed a linear time algorithm to com- chordal graph with the tree
pute a tree - decomposition of minimal width for graphs of bounded - decomposition as a clique -
tree.
treewidth.
H. Bodlaender, A linear time algorithm for finding tree - decompo-
sitions of small treewidth, SIAM J. Comput. 25 (1996), pp. 1305–
1317.

Exercise 4.11
Show that a graph G has a nice tree - decomposition — that is
— a tree - decomposition (T , {Xi }) which satisfies the following.

1. the width of T is tw(G)

2. every node of T has at most two children

3. if a node i has one child j then |Xi | = |Xj | + 1 and Xj ⊂ Xi or


|Xi | = |Xj | − 1 and Xi ⊂ Xj

4. if a node i has two children p and q then Xi = Xp = Xq

5. T has at most 4n nodes (where n = |V(G)|).


4.2 Treewidth 139

4.2.3 Example: Steiner tree

As an example let us take a look at an algorithm that solves


the Steiner tree problem on graphs of bounded treewidth. To be
precise we take a close look at the following paper.

M. Chimani, P. Mutzl and B. Zey, Improved Steiner tree algorithms


for bounded treewidth, Journal of Discrete Algorithms 16 (2012),
pp. 67–78.

Partitions of a set

As usual we start with something else.

Let S be a set. Say that S has k elements. We wish to


enumerate all the partitions of S.
A (mock) closed-form for
One way to do this is recursive and goes as follows. Choose an Bk is
arbitrary element, say a ∈ S. Choose a part with j elements in
Bk = (1 + B)k−1 .
S \ a and put a in that part. Partition the remaining vertices in
all possible ways.

This algorithm gives the following formula for the number of


partitions of a set with k elements.
These are the Bell numbers
X
k−1 
k−1

1 1 2 5 15 52
Bk = · Bk−1−j .
j 203 877 4140 ···
j=0
There is a simple algorithm
To make it all work out nicely we choose B0 = 1. to make a table of these
numbers similar to Pas-
cal’s triangle. De Bruijn
(in his book “Asymptotic
Exercise 4.12 Methods in Analysis”) gives
a nice asymptotic expres-
Design an algorithm that runs in O(k · Bk ) time to make a list of
sion for ln(Bn )/n with a
all the partitions of a set with k elements. marvelous Big-Oh - term
O(ln ln n/(ln n)2 ). A more
recent bound for the Bell
Assume that we wish to enumerate all partitions of S where
numbers is
possibly one part is special.
Bn < (0.792n/ln(n+1))n .
140 Recent Trends

This is done by adding a ‘ghost - element’ g to the set. Now


enumerate all partitions of S ∪ {g}. The part that contains the
ghost element is the special part.
The algorithm gives the following formula for the number of parti-
tions with a special part.

B∗k = Bk+1 .

The numbers B∗k − Bk ap-


pear in the second diagonal
of the Bell triangle. (These
are the number of partitions
Steiner trees that have a special part.)

Let G be a graph and let Ω ⊆ V be a subset of the vertices. The


elements of Ω are called terminals. The Steiner tree problem is Equivalently: the Steiner
tree problem asks for a
to connect the terminals by a tree in G with a smallest number
connected subgraph of G
of edges. with a smallest number of
edges which contains all ter-
minals. Clearly, this can
only exist if the terminals are
Processing the tree - decomposition in a component of the graph.

To solve the Steiner tree problem we have a nice tree


Chimani et al consider the
- decomposition (T , {Xi }) at our disposal. Let i ∈ V(T ). Let Ti problem where the edges
be the subtree of T which is rooted at node i. have weights. We don’t do
that.
- Vi ⊆ V(G) is the set of vertices that appear in bags of Ti

- Ωi ⊆ Ω is the set of terminals that appear in bags of Ti .

Let S be a Steiner tree in G. This induces a forest in G[Vi ].


The only vertices of Vi that have neighbors in V \ Vi are vertices
of Xi . Assume that there is at least one terminal in V \ Vi . Then
the terminals of Ωi \ Xi are connected (in a forest) to some vertices
in Xi . The algorithm stores at the node i the sub - forest of S
on the vertices of Xi .
A forest on Xi is represented as a partition of Xi . One part of
this partition may be special; a set of vertices that is not in the
forest. The other parts represent the components of the forest.
4.2 Treewidth 141

A partition of Xi has a cost. The cost of a partition is the


smallest number of edges in a Steiner forest in Vi which induces
the partition. The cost of a partition is the
sum of the costs of the parts.
We may assume that every node in T is of one of the following
types. See Exercise 4.11.

1. a start node satisfies |Xi | = 1

2. an introduce node i has exactly one child j and the bags satisfy
Xj ⊂ Xi and Xi has exactly one vertex that is not in Xj

3. a forget node i has exactly one child j and the bags satisfy
Xi ⊂ Xj and Xj has exactly one vertex that is not in Xi

4. a join node i has two children p and q and the bags at these
nodes satisfy Xi = Xp = Xq .

A node in the tree T is processed at a time after the completion


of processing its children. Below we describe — for each type of Bottoms up!
node — the computational process.

Process at a start node

Let i be a start node — that is — Xi contains one vertex x ∈ V(G).


A table at i has the partitions of Xi with a possible special part. The special part contains the
So at i we have a table with two entries {x}; in one of the entries vertices of Xi that are not in
the Steiner tree.
{x} is marked ‘special.’
We need to supply a cost to each part of a table entry. When
the vertex x is a terminal and a part that contains x is marked
as a ‘special’ then the partition has cost ∞. In all other cases the
partition has cost 0.

Process at an introduce node

Let i be an introduce node with a child j. Let x be the vertex


that is in Xi \ Xj . Then
N[x] ∩ Vi ⊆ Xi .
142 Recent Trends

The first step of the process is to generate a table with all


partitions of Xi with one part possibly marked as special. That is
equivalent to the generation of all partitions of Xj with two
:::
ghost
elements — of which one is x.
The algorithm needs to compute a cost of each part of a partition
P at the node i. This is obtained from the costs of partitions Q
at node j that are compatible with P — as follows. some parts of Q connect
with x into one part of P.
A partition Q of Xj is compatible with P if each part of Q
either

- is equal to a part in P or

- is a subset of the part in P that contains x.

When a part of P is equal to a part of Q then its cost is copied.


Let Px be the part of the partition that contains x. Let Q be
compatible with P and let
[
Px \ x = Qi ,

where {Qi } is the partition of Px \ x into parts of Q.


The cost of the part Px is ∞ when x ∈ Ω and Px is marked
as special. — Otherwise — it is the smallest value — over all
P
partitions Q that are compatible with P — of cost(Qi ) plus

• ∞ when x is not connected to some Qi The only neighbors of x in


Vi are vertices in Xi .
• the number of parts Qi when they all connect to x.

Exercise 4.13
Show that a table for the node i can be computed in O(B2k+2 · k)
time where k = tw(G).

Exercise 4.14
Let i be an introduce node with child j and let x ∈ Xi \ Xj .
Consider partitions of Xj with a 2-coloring on its parts. Let the
parts of one color union with x to make up one part in a partition
4.2 Treewidth 143

of Xi . Show that the number of 2-colored partitions (of a set with


(2) (2)
k elements) satisfies B0 = 1, B1 = 2 and

(2)
X
k  
k
Bk = · Bj · Bk−j .
j
j=0

(2)
Show that Bk 6 Bk · Bk+1 .

Process at a forget node

Not much happens in this case. We have Xi = Xj \ v for


some v ∈ Xj . Call two partitions of Xj equivalent if they are
the same when the vertex x is removed. Compute the cost of an
equivalence class (which is a partition of Xi ) as the smallest cost
of the elements in the class.

We leave it as an exercise to show that forget nodes are processed


within O(B2k+2 · k) time where k = tw(G).

Process at a join node

Let i be a join - node with two children p and q. We have for


the sets of vertices

Vp ∪ Vq = Vi and Vp ∩ Vq = Xi

and for the sets of edges in G[Vp ] and in G[Vq ]:

Ep ∪ Eq = Ei and Ep ∩ Eq = Ei .

A Steiner tree has edges in Ep or in Eq or in both — that is —


we can split it up in two forests; one with edges in Ep and the other
with edges in Eq . The monochromatic parts are a partition of Xi
(with some part that is not used).

The algorithm needs to check if the two forests at p and q add up


as a tree (to make one part of a partition at node i).
144 Recent Trends

Consider all 2k−1 kk−2 trees in Kk where k = |Xi | with a 2-


coloring on the edges. Let the partition at p have the components
of the tree with edges in color 1 and let the partition at q have the
components of the tree with edges in color 2. (Both partitions may
have a special part.) The cost of the tree is the sum of the costs of
the partitions of p and q.

This yields an algorithm to compute a cost for all partitions at


join - node i. To compute a table at node i it uses O((2k)k−1 Bk+1 )
time. The paper by Chimani et al improves on this. 12 12
We have Bk < (k/ln k)k
(when k → ∞).

Consider partitions P and Q at nodes p and q. Construct a


graph on parts {Pi } and {Qi } that make up a part of a partition
at node i. The following algorithm checks if the union of {Pi } and
{Qi } is a proper part at node i.
Exercise: k!/Bk → ∞ and
k!/B2 → 0 (as k → ∞).
Construct a graph whose vertices are the parts in {Pi } and the parts k

in {Qi }. Two parts are connected by an edge if they share a vertex


in Xi . This graph has O(tw(G)) vertices and edges. A depth -
first - search on this graph detects whether it is connected and if
there is any cycle in linear time.

In their paper Chimani et al show that this gives an algorithm


that computes a table for a join - node in O(B2tw+2 · tw) time.

Conclusion
The cases described above add up to prove the theorem of Chimani,
Mutzel and Zey. We are not aware of any
(nontrivial) lowerbounds. —
Theorem 4.17. There is an algorithm that takes O(k · B2k+1 · n) Perhaps — there is room for
improvement.
time to solve the Steiner tree problem for graphs with treewidth k.

Must - reads on Steiner trees


S. Dreyfus and R. Wagner, The Steiner problem in graphs, Networks
1 (1972), pp. 195–207.
A. Aitken, A problem in combinations, Mathematical Notes 28
(1933), pp. 18–23.
4.2 Treewidth 145

A. Marcus and G. Tardos proved the Stanley - Wilf conjecture


in 2004. 13 13
Actually they proved
the Füredi - Hajnal conjec-
Theorem 4.18. For every permutation π there is a constant C ture about {0, 1} - matrices.

such that the number of permutations in Sn that avoid π as a


pattern is at most Cn .
Any permutation has a cycle
(The constant C(π) is an exponential function of π for almost all decomposition. (That shows
that k! > Bk when k > 3;
permutations.) Bk is the number of per-
mutation in which each cy-
cle is ordered. The average
A. Marcus and G. Tador, Excluded permutation matrices and the
number of cycles is the har-
Stanley - Wilf conjecture, Journal of Combinatorial Theory, Series monic number Hn ≈ ln(n))
A 107 (2004), pp. 153–160. The number of permutations
drops dramatically when we
forbid a pattern.

Exercise 4.15
How many pairs (α, β) of permutations in Sn are there that have A connected graph is a cac-
cycles Cα and Cβ such that the union of α \ Cα and β \ Cβ is tus if any two cycles share at
most one vertex. so every
a tree of cycles — that is — a cactus ? block is an edge or a cycle.

4.2.4 Treewidth of Circle Graphs 


@
Consider a circle in the Euclidean plane. A chord of the circle @
is a line segment that connects two points of the circle.

Definition 4.19. A circle graph is an intersection graph of


a set of chords of a circle in the Euclidean plane. — That Figure 4.3: A circle and two
is — the vertex set of the circle graph is the set of chords of chords in it. The circle graph
corresponding to this model
the circle and two vertices are adjacent whenever their chords
has two, adjacent vertices.
intersect.

— As an example — we show that there is a nice algorithm


that computes the treewidth of circle graphs.

To compute the treewidth of a graph we need to find a


triangulation of it that minimizes the clique number. In a
chordal embedding of a graph all minimal separators are cliques .
— It follows that they are non – crossing .
146 Recent Trends

Crossing Separators
Definition 4.20. One minimal separator S 1 crosses another
one S 2 if there exist two components of G − S 2 — each
containing a vertex of S 1 .

We say that two minimal separators are parallel if they are


noncrossing — that is — if neither crosses the other.
Exercise 4.16
Show that the crossing
Exercise 4.17 relation, on the set of
minimal separators of a
Show that there is a 1 – 1 correspondence between the set of graph, is symmetric.
minimal triangulations of a graph and the maximal sets of
pairwise parallel minimal separators. — For example — in a
chordal graph all minimal separators are pairwise parallel —
and so — the graph has only one chordal embedding — namely
the graph itself.

Minimal Separators in Circle Graphs


Consider an intersection model of a circle graph . 14 — That 14
Circle graphs can be rec-
is — let C be a circle in the Euclidean plane and let G be a ognized in ‘almost’ linear
time.
set of chords of C. We may assume that no two chords share
an endpoint.

Definition 4.21. A scanline is a chord of C that shares no


endpoint with any chord of G.

Lemma 4.22. Assume the graph G is connected. Let S be


the set of chords of a minimal separator in G. There is a
scanline t such that the elements of S are exactly the chords
that cross t .

Proof. Remove the chords from the intersection model that


correspond with vertices of S. Then each part that remains
connected corresponds to a component of G − S .
Let S be a minimal a | b - separator and let Ca and Cb be the 15
The chords are straight
line segments, therefore,
components of G − S that contain a and b. Choose a scanline
there is a straight scanline
t that separates the component Ca from Cb . 15 The chords that separates the convex
hull of the chords of a
component.
4.2 Treewidth 147

that cross t are exactly the chords of S .

This proves the lemma.

Consider a polygon P with 2 n corners — one between every 16


Let’s call chords of P,
two consecutive endpoints of G . diagonals.

Definition 4.23. A plane triangulation of P is a maximal set


of noncrossing chords in P . 16 s s
@
s  @s
Definition 4.24. Let T be a plane triangulation of P . The @ 
s
@ s
weight of a triangle in T is the number of chords in G that
cross some sides of the triangle. The weight of the triangulation
Figure 4.4: A plane triangu-
T is the maximal weight over the triangles contained in T . lation of a 6-sided polygon.

Notice that, if a chord of G cross some side of a triangle, then


it crosses exactly two sides of the triangle.

An algorithm to compute the treewidth of circle graphs

To compute the minimal weight of all the triangulations of the


polygon P we use dynamic programming.

Let ` be the number of corners of P 17 and let them be 17


If n = |V(G)| then the
numbered circle graph model has n
chords, with 2n endpoints.
s 0 , s 1 , · · · , s `−1 . between any two consecutive
endpoints, we have a corner
of P. Thus, the polygon P
Denote the number of chords in G — that cross the line has ` = 2n corners.
( s i , s j ) — by c( i , j ).

Let P( i , t ) denote the sub – polygon with corners

s i , s i+1 , · · · , s i+t−1

where we take indices modulo ` . Let w( i , t ) denote the


weight of a minimal triangulation of P( i , t ) .
148 Recent Trends

Organize the computation by increasing length of the sub-


polygons. For t = 2 let w( i , 2 ) = 0 for all i ∈ { 0 , . . . , ` − 1 } .
Then we have — for t > 3 —

w( i , t ) = min max { w( i , j ), w( i + j − 1 , t − j + 1 ), F( i , j ) }
26j<t
(4.5)
where

1
F( i , j ) = · ( c( i , i + j − 1 ) + c( i + j − 1 , i + t − 1 )+
2
c( i , i + t − 1 ) ) . (4.6)

That is so because every chord of G crosses — zero — or


exactly two sides of every triangle.

Theorem 4.25. The minimal weight of a triangulation of P



can be computed in O n 3 time. The treewidth of G is

tw( G ) = w( 0 , ` ) − 1 .

Proof. There are O n 2 diagonals in P . A check whether
a diagonal of P and a chord of G cross each other can be
achieved in O(1) time. Thus — to compute the numbers c( i , j )

of chords that cross a diagonal ( si , sj ) takes O n 3 time.

By Equation (4.5) the minimal weight of a triangulation is



obtained in O n 3 time.

To compute the treewidth of G we need to select a maximal


set of parallel minimal separators. This problem is equivalent
to finding a triangulation of P . The clique number of the
minimal triangulation of G is the maximal number of chords
that cross a triangle in the minimal triangulation of P .

This proves the theorem.


4.3 On the treewidth of planar graphs 149

Exercise 4.18
Describe all minimal triangulations of the circle graph in the figure
on Page 149. What is the treewidth of this graph?

18
Rankwidth is a
18 parametrization of the
I have not given you the definition of rankwidth yet but
class of distance - hereditary
— for the record — I put down the following research problem graphs.
here .

Exercise 4.19 David Chandler once


showed me an algorithm,
Research problem: but, as far as I know, the
Design a polynomial – time algorithm to compute the rankwidth details were not written
down fully.
of circle graphs .

Figure 4.5: A circle graph


and its model.

4.3 On the treewidth of planar graphs

Before we say anything else let us mention that at


present ie anno Domini 2021 the complexity of computing
treewidth of planar graphs is open.

In a remarkable paper Seymour and Thomas showed (in 1994)


that treewidth of planar graphs can be approximated within a factor
3/2. Their algorithm computes a decomposition in O(n4 ) time. In

this chapter we describe their method.


150 Recent Trends

Let G be a graph. In this chapter the definition of a graph is


relaxed so that a graph may have multiple edges and loops. 19 19
The dual of a plane graph
may have loops and multi-
ple edges. Without this
Consider a ternary tree T and a 1-1 map from the vertices relaxation the dual of a
of G to the leaves of T . 20 Identify an edge e ∈ E(T ) with a plane graph would not be
a graph.
bipartition of V(G) where two elements occupy a similar part if
20
A tree is ternary if every
they appear in the same component of T \ e. 21 vertex has degree 1 or 3.
The collection of (all) the classes of bipartitions of V over all edges 21
The tree is called a
of T defines a ‘cross-free set-system’ on V(G). 22 ‘routing tree’ of the graph.
Routing trees with small
Definition 4.26. Let V be a finite set with at least two elements. ‘congestion’ (ie carving
Two subsets A and B (subsets of V) cross if width) are of importance
for the design of telephone
A∩B A\B B\A V \ (A ∪ B) networks.
22
A set-system C is laminar
are all non-empty. if for any two elements A and
B of C at least one of the
three sets A ∩ B, A \ B and
A family C of subsets of V is a carving if B\A is empty. Notice that
‘being laminar’ is a property
/C
C1 ∅, V ∈ that is independent of the
ground set V. (‘Being cross-
free’ is not.)
C2 no two elements of C cross

C3 C is maximal subject to the above.

Exercise 4.20
Let C be a carving of a finite set V, |V| > 2. Show that there exists
a ternary tree T and a 1-1 map V(G) → leaves(T ) such that C ∈ C
if and only if there exists an edge e in T such that C is identified
with the set of leaves in one of the two components of T \ e.

Let G be a graph. For X ⊆ V let δ(X) denote the set of edges in


G that have exactly one endpoint in X. 23 23
In this chapter we show
that the carving width is
Definition 4.27. Let G be a graph with at least two vertices. The computable in polynomial
width of a carving C of V is time for planar graphs.

max { |δ(X)| | X ∈ C }.

The carving width of G is the smallest width of a carving of V.


4.3 On the treewidth of planar graphs 151

P
Let p : E → Z>0 . For A ⊆ E let p(A) = e∈A p(e). 24 The 24
Z>0 = N ∪ {0}. We
p-carving width of a graph with at least 2 vertices is the minimum could replace each edge of
G by p(e) parallel lines and
over all carvings C of V of the maximum p(δ(A)) for A ∈ C. compute the carving width
of this auxiliary ‘graph.’
We show below that the p-carving width of a connected planar However it is our aim to find
a ‘strongly polynomial’ al-
graph is at least k if and only if either gorithm for p-carving width
— the timebound of our al-
1. there exists a vertex v satisfying p(δ(v)) > k gorithm is a polynomial in
n + m (which gives a much
2. it has an ‘antipodality’ of p-range at least k. better bound than a polyno-
mial Pof the same degree in
n + p(e)).
In other words the minimal k ∈ N ∪ {0} such that there is a
carving C of V(G) satisfying

∀X∈C p(δ(X)) 6 k

equals the maximal k ∈ N ∪ {0} such that G has an antipodality of


p-range at least k or a vertex satisfying p(δ(x)) > k. 25 25
Slogan:

Next, we will show that there is a very easy algorithm (using the min carvingwidth =
concept of ‘round set’) to find an antipodality of maximal p-range. max antipodality

4.3.1 Antipodalities
A walk in a graph is a sequence

v0 e1 v1 e2 v2 e3 ··· ek vk

with all vi ∈ V and all ei ∈ E and all ei = {vi−1 , vi }. The walk is


26
closed if v0 = vk . A sphere is a balloon. The
rubber edition was invented
by Michael Faraday in 1824.
An embedding of a graph is
Let Σ be a sphere 26 and let a graph G be embedded on Σ. a drawing of it on a balloon
such that edges only meet at
Let R(G) denote the regions of the embedding — that is — the endpoints. The regions of
maximal open sets (faces) in Σ that do not contain any vertex nor the drawing are the maximal
connected areas of the bal-
hit any edge.
loon’s surface that are not
touched by the edges or ver-
Assume that G is not empty and let G∗ denote the dual of G. Each
tices of the drawing. The re-
vertex v ∈ V is contained in exactly one region r ∈ R(G∗ ); we denote gions are ‘open sets:’ if you
v∗ = r. Similarly, each region r ∈ R(G) contains exactly one vertex take any point in a region,
then a small enough disc
r∗ ∈ V(G∗ ) (and that vertex is denoted r∗ ). For an edge e ∈ E we with positive radius around
let e∗ be the unique edge of G∗ that crosses e in Σ. the point will be contained
in that region.
152 Recent Trends

Let p : E(G) → Z>0 . For a walk

v0 e1 ··· ek vk

in the dual G∗ define the p-length as

p(f1 ) + ··· + p(fk )

where fi = e∗i .

Definition 4.28. An antipodality of p-range > k is a function α


with domain E(G)∪R(G) such that for all e ∈ E α(e) is a subgraph
and for all regions r ∈ R α(r) is a nonempty subset of V satisfying

(A1) for each edge e ∈ E(G) the subgraph α(e) does not contain an
endpoint of e

(A2) if an edge e and a region r are incident then α(r) ⊆ V(α(e)) and
every component of α(e) has a vertex in α(r)

(A3) if e ∈ E and f ∈ E(α(e)) then every closed walk in G∗ that


contains e∗ and f∗ has p-length at least k.

Intermezzo: Round Sets

Let N be a graph with vertex set V(N) = I and let M be a graph


with a partition of its vertices

{ Xi | i ∈ I }.

Assume

x ∈ Xi and y ∈ Xj and {x, y} ∈ E(M) ⇒


i 6= j and {i, j} ∈ E(N).

(There is a homomorphism M → N.)

Definition 4.29. A set Z ⊆ V(M) is round if

∀{i,j}∈E(N) ∀x∈Z∩Xi ∃y∈Z∩Xj {x, y} ∈ E(M).


4.3 On the treewidth of planar graphs 153

We show that there is a greedy algorithm to decide whether M


has a nonempty round set.

Exercise 4.21
Prove the following. Let Z be round and let Z ⊆ S. Assume that
there exists a vertex x ∈ S that has no neighbors in S ∩ Xj for some
j ∈ NN (i). Then Z ⊆ S \ {x}.
Hint: If x ∈ Z ∩ Xi then it must have a neighbor in Z ∩ Xj ⊆ S ∩ Xj
since Z is round.

Exercise 4.22
Define the bipartite graph H as follows. The two color classes of H
are I and V(M). A vertex x ∈ V(M) is adjacent to j ∈ I if x ∈ Xi
and i adjacent to j in N.
Design an algorithm that find a maximal round set in M. Your
algorithm should run in

O( |V(M)| + |E(M)| + |E(H)| ).

Hint: For {x, j} ∈ E(H) let

d(x, j) = | NM (x) ∩ Xj | .

Construct a stack that contains the vertices v ∈ V(M) that satisfy


d(v, j) = 0 for some j ∈ I. Initialize Z = V(M). At the end of the
recursion described below Z will be a maximal round set of M.
During the recursion vertices of L are deleted from L and from Z.
This needs an update of values d(v, j) (since a vertex in M is deleted).
To estimate the timebound describe in detail how the stack L and
the values d(v, j) are maintained — in other words — present the
algorithm and prove its correctness. 27 27
A stack is a linear data
structure in which elements
Notice that the property of being round is maintained under unions are added or deleted only
— so — there is a unique maximal round set. from the top-end.

We show that there exists an O(m2 ) - algorithm to decide if a


graph has an antipodality of p-range > k.
154 Recent Trends

Let G be a connected planar graph which is not empty. Let


p : E(G) → Z>0 and let k ∈ Z>0 . For e ∈ E(G) let φ(e) be
the following subgraph. The vertices of φ(e) are V \ e (that is;
all vertices except the endpoints of e) and the edges of φ(e) are
f ∈ E for which f ∩ e = ∅ and for which every closed walk in
the dual G∗ that contains e∗ and f∗ has p-length > k.

Lemma 4.30. If there exists an antipodality of p-range > k


then there exists one — say α — such that α(e) is a union of
components of φ(e) for all e ∈ E.

Proof. Let β be an antipodality of p-range > k. By definition β(e)


is a subgraph of φ(e).

For e ∈ E define α(e) as the union of those components of φ(e)


that intersect β(e). For all regions r define α(r) = β(r).

The map α satisfies the first and third antipodality-condition (Defi-


nition 4.28). To check the second condition let e ∈ E and r ∈ R and
assume that e and r are incident. Then since β is an antipodality

α(r) = β(r) ⊆ V(β(e)) ⊆ V(α(e)).

Every component of α(e) contains a component of β(e). This


implies that every component of α(e) intersects α(r).

This proves that α is an antipodality of p-range at least k.

We show that the set of components of φ(e) for all e ∈ E can be


computed in O(m2 ) time.

Exercise 4.23
Let G be a connected plane graph with a dual G∗ . Let p : E → Z>0 . 28
The p-distance is the
shortest p-length of a path
For two vertices x, y ∈ V(G∗ ) denote their p-distance in G∗ as
(that runs between two ver-
d∗ (x, y). 28 tices in the dual graph).
4.3 On the treewidth of planar graphs 155

Let e∗ = {x, y} and f∗ = {p, q} be edges of G∗ ; e∗ ∩ f∗ = ∅. There


is a closed walk in G∗ of p-length < k if and only if either

d∗ (x, p) + d∗ (y, q) < k − p(e) − p(f) or


∗ ∗
d (x, q) + d (y, p) < k − p(e) − p(f).

Exercise 4.24
Design an algorithm to compute the following.
Input: A connected plane graph G with a dual G∗ . A function
p : E → Z>0 and integer k ∈ Z>0 .
Output: The graph φ(e) and a list of the components of φ(e) for
every edge e ∈ E(G).
Your algorithm should run in O(m2 ) time.
Hint: Frederickson shows that the all pairs shortest paths problem
can be solved on planar graphs in O(n2 ) time.

We describe an algorithm to decide whether G has an antipodality


of p-range > k. Below we prove the correctness.
The input is a connected plane graph G with a dual G∗ , a function
p : E → Z>0 and an integer k > 0.

1. For each edge e ∈ E(G) compute Ce ie the set of components of


φ(e).

2. Construct a graph M with vertices


[
V(M) = Xi ,
i∈I

where I = E ∪ R and a partition { Xi | i ∈ I } of V(M) is defined


as follows

(i) For each r ∈ R let

Xr = { (r, x) | x ∈ V }

(ii) For each e ∈ E let

Xe = { (e, C) | C ∈ Ce }.
156 Recent Trends

A vertex (e, C) is adjacent to a vertex (r, x) in M if 29 29


We write r̄ for the
geometric closure of the
e ⊆ r̄ and x ∈ V(C). region. Each region is an
open set. An edge e and
region r are incident if
3. Use Exercise 4.22 to check if M has a nonempty round set. The e ⊆ r̄.
graph N has vertex set I = E ∪ R. The adjacencies in N running
between edges and regions is defined by their incidence in G.

4. The graph G has an antipodality of p-range > k precisely when


M has a nonempty round set.

Remark 4.31. To compute a round set in M construct a bipartite


graph H with color classes V(M) and V(N) as follows. When an
edge e and a region r are incident then e is adjacent to every vertex
in Xr and r is adjacent to every vertex in Xe .
For v ∈ V(M) and j ∈ V(N) such that {v, j} ∈ E(H) define d(v, j)
as the number of vertices in Xj that is adjacent to v in M ie


 |C| if j ∈ R, v = (e, C), (e ∈ E, C ∈ Ce )

d(v, j) = 1 if j ∈ E, v = (r, x), (r ∈ R, x ∈
/ j)



0 if j ∈ E, v = (r, x), (r ∈ R, x ∈ j).

Create a stack with elements v ∈ M for which there is a j ∈ N


satisfying d(v, j) = 0. Repeatedly delete those elements from M and
update the stack.

Theorem 4.32. Let G be a connected planar graph and let p : E →


Z>0 and k ∈ N. There exists an O(m2 ) - algorithm that decides if
G has an antipodality of p-range > k. Here m = |V(G)| + |E(G)|.

Proof. To prove the correctness let Z ⊆ V(M). Define, for e ∈ E


and for r ∈ R, a subgraph α(e) and a subset of vertices α(r):

α(e) = ∪ { C ∈ Ce | (e, C) ∈ Z }
α(r) = { v ∈ V | (r, v) ∈ Z }.

Then α satisfies the first and third condition. It satisfies the second
condition of Definition 4.28 on Page 152 exactly when Z is round.
4.3 On the treewidth of planar graphs 157

The selected α(e) and α(r) are not empty exactly when Z 6= ∅.
30 — That is — the graph G has an antipodality of p-range > k 30
Notice that when one of
exactly when Z is round in M and Z 6= ∅. the α(e) and α(r) is empty
then they are all empty. This
follows from the second an-
This proves the theorem.
tipodality condition.

4.3.2 Tilts and slopes

It is our aim to prove the following theorem.

Theorem 4.33. Let G be a connected planar graph with


|V| > 2. Let p : E → N and let k ∈ Z>0 . Then G has
p-carvingwidth at least k if and only if it has a vertex x with
p(δ(x)) > k or an antipodality of p-range at least k.

In this section we show ‘only if’.

Let V be a set and let κ : 2V → Z. 31 The function κ is 31


In this section we slip and
submodular if it satisfies for all X, Y ∈ 2V slide all the way down the
rabbit hole;

κ(X ∪ Y) + κ(X ∩ Y) 6 κ(X) + κ(Y). bias → tilt →


slope → antipodality
For example, the function κ(X) = p(δ(X)) + c (for any constant c)
is a submodular function 2V → Z>0 . 32 32
The edges that are not
counted on the left are those
with one end in X\Y and the
Let κ : 2V → Z. Call a set X efficient if κ(X) 6 0. Assume that other in Y \ X.
κ satisfies

(a) κ(X) = κ(V \ X) for all X ⊆ V

(b) κ is submodular

(c) all X ⊆ V of cardinality one are efficient.

A bias is a collection B of efficient subsets of V such that

(B1) for each efficient set X exactly one of X and V \ X is in B


158 Recent Trends

(B2) X, Y, Z ∈ B ⇒ X ∪ Y ∪ Z 6= V

(B3) |X| = 1 ⇒ X ∈ B.

Robertson and Seymour proved the following lemma in their


‘Graph Minors X.’ 33 33
That is ‘Graph Minors.
X. Obstructions to tree-
decomposition.’ It appeared
Lemma 4.34. Exactly one of the following statements is true in: Journal of Combinatorial
Theory, Series B, 52 (1991),
pp. 153–190.
1. there is a carving C such that κ(X) 6 0 for all X ∈ C

2. there is a bias B.

Proof. We only prove that not both statements are true.


Assume there is a carving C (as stated in the lemma) and a bias B.
We derive a contradiction as follows.
The carving C corresponds with a routing tree T . Let e be an edge
of the routing tree. Let X and V \ X be the leaves in the components
of T − e. Since all sets in C are efficient both X and V \ X are efficient.
Since B is a bias exactly one of X and V \ X is in B.
An incident pair (v, e) is a pair with v ∈ V(T ) and e ∈ E(T ) and
v ∈ e. Let X(v, e) be the set of leaves in the component of T − e
that contains x. Call a pair (v, e) passive if X(v, e) ∈/ B. By the
above there are exactly |E(T )| incident pairs that are passive.
There are |E(T )| + 1 vertices in T . It follows that there is a vertex
v ∈ V(T ) such that for that all edges e that have v as an endpoint
/ B.
X(v, e) ∈
Now assume that such a vertex v is a leaf. Then |X(v, e)| = 1 and
since B is a bias X(v, e) ∈ B which contradicts the assumption.
Assume that v is not a leaf. Then there are three edges incident
with v. The sets of leaves X(v, ei ) satisfy

X̄(v, e1 ) ∪ X̄(v, e2 ) ∪ X̄(v, e3 ) = V


where X̄(v, ei ) = V \ X(v, ei ) ∈ B.

/ B contradicts the
— So — assuming that all three X(v, ei ) ∈
assumption that B is a bias.
4.3 On the treewidth of planar graphs 159

This shows a small part of the proof. For the sake of brevity
we direct the reader to ‘Graph Minors X’ for the remainder of the
proof.

Definition 4.35. A tilt of order k is a collection B of subsets of


V that satisfy p(δ(X)) < k and 34 34
A ‘tilt’ is a sloping surface
(one that makes you glide
(T1) Let X ⊆ V. Then B contains exactly one of X and V \ X if and down). It’s of course just
a linear transformation of a
only if p(δ(X)) < k. bias.

(T2) When X, Y, Z ∈ B then X ∪ Y ∪ Z 6= V.

(T3) For all x ∈ V {x} ∈ B.

Corollary 4.36. Let G be a graph with at least two vertices. Let


p : E → N and let k ∈ N be so that p(δ(v)) < k for all v ∈ V.
Then G has p-carvingwidth > k if and only if G has a tilt of
order k.

Proof. Let
κ(X) = p(δ(X)) − k + 1.

Then κ(X) 6 0 if and only if p(δ(X)) < k. The statement follows


from Lemma 4.34.

Let us get back to that surface Σ. Let G be embedded


in Σ and let k ∈ N. We show how the circuits in the graph define a
slope. 35 35
We call a ‘circuit’ the em-
bedding of a cycle in Σ. Ev-
Definition 4.37. A slope of order k/2 is a function ins that assigns ery circuit cuts the sphere in
two discs. So, topologically
to every circuit C of length < k exactly one of the two closed speaking, every circuit is an
discs in Σ that have C as boundary. Furthermore, the function ins ‘equator.’
satisfies the following conditions.

(S1) Let C and C0 be circuits of length < k and assume that C is


drawn within ins(C0 ). Then

ins(C) ⊆ ins(C0 ).
160 Recent Trends

(S2) Let P1 , P2 and P3 be three paths of length < k that run between
two vertices u and v but that are otherwise vertex disjoint.
Then

ins(P1 ∪ P2 ) ∪ ins(P1 ∪ P3 ) ∪ ins(P2 ∪ P3 ) 6= Σ

A slope is uniform if for every region r ∈ R(G) there is a circuit C


of length < k such that

r ⊆ ins(C).

Definition 4.38. Let X ⊆ V be nonempty such that G[X] is


connected and V \ X 6= ∅ and G[V \ X] connected. Then δ(X) is
a bond.

Exercise 4.25
Show that the dual of a bond is the set of edges of a circuit in G∗ .

Lemma 4.39. Let G be connected and drawn on a sphere Σ.


Let p : E(G) → N. Let k ∈ N be such that p(δ(x)) < k for all
x ∈ V(G). Define the graph G0 as the graph obtained from the
dual G∗ by subdividing each edge e∗ ∈ E(G∗ ) p(e) − 1 times. 36 36
A subdivision replaces
If G has a tilt of order k then G0 has a uniform slope of order an edge (in this case an
edge of G∗ ) by a path of
k/2. length 2. Subdividing `
times introduces ` new ver-
Proof. Let B be a tilt of order k in G. We define a slope in G0 of tices in Σ on e which re-
place the edge by a path of
order k/2 and show that it is uniform.
length ` + 1.
Let C be a circuit in G0 of length < k and let ∆1 and ∆2 be the two
discs in Σ with boundary C. Notice that

p(δ(V(G) ∩ ∆i )) = |E(C)| < k.

— So — exactly one of the sets V(G) ∩ ∆i is an element of B —


say — V(G) ∩ ∆1 ∈ B. Define ins(C) = ∆1 . Then (by the tilt
conditions T 1 and T 2) ins is a slope of order k/2 in G0 . We show
that ins is uniform.
4.3 On the treewidth of planar graphs 161

Let r ∈ R(G0 ). Then r ∈ R(G∗ ); say r = v∗ for some v ∈ V(G). By


T 3: {v} ∈ B. Choose X ∈ B maximal such that v ∈ X and such that
G[X] is connected.

Let Y = V(G) \ X. By T 2: Y 6= ∅. We show that G[Y] is connected


(and so δ(X) is a bond).

Let Y1 , Y2 , · · · be the components of G[Y]. Each G[X ∪ Yi ] is con-


nected since G and G[X] are connected. Also δ(Yi ) ⊆ δ(X). Since X
is maximal X ∪ Yi ∈ / B. Notice that

δ(X ∪ Yi ) ⊆ δ(X) ⇒ p(δ(X ∪ Yi )) < k ⇒


Y \ Yi = V(G) \ (X ∪ Yi ) ∈ B. ((By T 1))

When t > 2 then X, Y \ Y1 and Y \ Y2 are all in B and their union is


V(G). This contradicts T 2.

— So — t 6 1 and t 6= 0 (by T 2). It follows that δ(X) is a bond.


Let C = {e∗ | e ∈ δ(X)}. Then C is the set of edges of a circuit in G∗ .
The subdivisions transform C into a circuit C0 of G0 . Then

|E(C0 )| = p(δ(X)) < k

and r ⊆ ins(C0 ) = ins(C) since X ∈ B.

This proves that ins is a uniform slope of order k/2 in G0 .


37
Graph Minors. XI. Cir-
cuits on a surface. Journal
Robertson and Seymour proved the following lemma in their
of Combinatorial Theory, Se-
‘Graph Minors XI.’ We omit the proof. 37 ries B 60 (1994), pp. 72–106.

A closed walk W ‘captures’ a point x ∈ Σ if it passes through x or


there is a circuit C of length < k that satisfies E(C) ⊆ E(W) and
x ∈ ins(C).

Lemma 4.40. Let G be drawn on a sphere Σ and let k ∈ N. Let


ins be a slope of order k/2 and let x ∈ Σ.
Let Nx ⊆ Σ be the set of y ∈ Σ for which there is a closed walk W
in G of length < k that captures x and y. Then either Σ − Nx
is an open disc or Nx = ∅. Furthermore if ins is uniform then
Nx 6= ∅.
162 Recent Trends

We come to the final step in showing that carvingswidth


at least k and for all vertices p(δ(x)) < k implies an antipodality
of p-range at least k. Actually, the following theorem shows that
there is an antipodality which is connected. An antipodality α is
connected if α(e) is connected for all e ∈ E(G).

In the following theorem let G, G∗ , G0 , p and k be as in


Lemma 4.39.

Theorem 4.41. If G0 has a uniform slope of order k/2 then G


has a connected antipodality of p-range > k.

Proof. For x ∈ Σ let Nx be as in Lemma 4.40 but for the graph


G0 instead of G.
Define α as follows. We show below that α is a connected antipo-
dality of p-range at least k.
For r ∈ R(G) let

α(r) = { v ∈ V | v ∗ ⊆ Σ − N r∗ }

and for e ∈ E(G) let

V(α(e)) = { v ∈ V | v∗ ⊆ Σ − Nx(e) }
E(α(e)) = {f ∈ E | f ∗
⊆ Σ − Nx(e) }.

Notice that this is a subgraph. 38 38


To see that let f be an
edge with endpoint v. Notice
By Lemma 4.40 Nx(e) is an open disc — so — α(e) is a connected that
subgraph of G.
f∗ ⊆ Σ − Nx(e) ⇒
We show that α is an antipodality of p-range > k. To prove v∗ ⊆ Σ − Nx(e)
A1 let e ∈ E and let v be an endpoint of e. Since ins is uniform
there exists a circuit C in G0 of length < k such that v∗ ⊆ ins(C).
Then e∗ ⊆ ins(C). So there is a circuit of length < k that captures
each point of v∗ and x(e) and this implies v∗ ⊆ Nx(e) — so —
v∈/ V(α(e)).
To see A2 let e ∈ E(G) and r ∈ R(G) and let e and r be incident.
Then e∗ and r∗ are incident in G∗ and Nx(e) ⊆ Nr∗ (since any walk
in G0 that captures x(e) also captures r∗ ) and so

Σ − Nr∗ ⊆ Σ − Nx(e) .
4.3 On the treewidth of planar graphs 163

This show that α(r) ⊆ V(α(e)).

To see A3 let e ∈ E and f ∈ E(α(e)). No closed walk of length < k


captures both x(e) an x(f). This implies that no closed walk in G∗
of length < k contains e∗ and f∗ .

This proves the theorem.

This shows the following halfway result.

Let G be a connected graph with at least two vertices drawn


on a sphere Σ with a dual G∗ . Let p : E(G) → N and k ∈ N.
Assume that p(δ(x)) < k for each vertex x ∈ V(G) and that
the p-carving width of G is > k. Then G has an antipodality
of p-range > k.

4.3.3 Bond carvings

Take a deep breath: it’s time to start the proof of the ‘if’ -
part of Theorem 4.33 on Page 157.

Let’s get in the mood with a groovy exercise. 39 39


The word ‘groovy’ is a
bit outdated (it means ‘cool’
— if that’s not already out-
dated also); it comes from
Exercise 4.26 the ‘groove’ in a vinyl record;
‘the music is in the groove’ ie
Let C be a carving of a set V. in the carving of the record.

(i) X ∈ C ⇒ V \X∈C

(ii) if X ∈ C and |X| > 2 then X has a unique partition {Y, Z} with
Y, Z ∈ C. 40 40
So —
(a) Y, Z 6= ∅
Hint: Use Exercise 4.20 on Page 150. A routing tree is ternary.
(b) Y ∩ Z = ∅
The set X is the set of leaves of a branch and X has at least two
(c) Y ∪ Z = X.
leaves. (A branch of a tree is a component of the forest obtained
The fact that Y, Z ∈ C im-
by removing one edge of the tree.) plies (also) that Y, Z 6= ∅.
164 Recent Trends

Recall Definition 4.38 on Page 160: a set δ(X) is a bond if X


and V \ X induce connected subgraphs in G.

Definition 4.42. A carving C of a graph G is a bond - carving


if δ(X) is a bond for all X ∈ C.

Here’s one more easy exercise.

Exercise 4.27 41
Abuse! We mean of
course that G[X] is con-
A carving C is a bond - carving if and only if X is connected for
nected when C is a bond
all X ∈ C. 41 carving and X ∈ C.

For disjoint sets X and Y denote the set of edges that have one
endpoint in X and the other in Y as δ(X, Y). Let C be a carving
of G. A triad is a partition {X, Y, Z} of V with X, Y, Z ∈ C. —
Clearly — each X ∈ C is in at most one triad. It is in a (unique)
triad when
|X| 6 n − 2.

Define a ‘measure’ µ on the carvings of G as follows. Assume that


G is connected and let T = {X, Y, Z} be a triad. Then at most one
of δ(X, Y), δ(X, Z), and δ(Y, Z) is empty. 42 If one is empty — say 42
Otherwise, one of X, Y
δ(X, Y) = ∅ — then let µ(T ) = |Z| − 1. If none of δ(X, Y), δ(X, Z) and Z is disconnected from
the rest.
and δ(Y, Z) is empty then let µ(T ) = 0. Define
X
µ(C) = µ(T ).
T a triad of C

(The summation is over all triads T = {X, Y, Z} in C. 43 ) 43


That is — over all points
of degree 3 in a routing tree.

Lemma 4.43. Let C be a carving of G. Assume that G is con-


nected and that |V| > 2. Let {A1 , A2 , B1 , B2 } ⊆ C be a partition of
V such that 44 44
Take an edge e of a rout-
ing tree T such that both
(a) A1 ∪ A2 ∈ C components of T \ e have
at least two leaves. Let
{A1 , A2 } and {B1 , B2 } be
(b) δ(A1 , A2 ) = ∅
a partition of the two sets of
leaves of T \ e. The lemma
(c) δ(A1 , B1 ) 6= ∅ and δ(A2 , B2 ) 6= ∅. rebuilds the tree (grouping
A1 ∪ B1 and A2 ∪ B2 into
sets of leaves) into one that
has a smaller µ-value.
4.3 On the treewidth of planar graphs 165

Define a carving C0 of G as follows

C0 = (C \ { A1 ∪ A2 , B1 ∪ B2 } ) ∪ { A1 ∪ B1 , A2 ∪ B2 }.

Then µ(C0 ) < µ(C).

Proof.

µ(C) − µ(C0 ) =
µ(A1 ∪ A2 , B1 , B2 ) + µ(A1 , A2 , B1 ∪ B2 )
::::::::::::::::

− µ(A1 ∪ B1 , A2 , B2 ) − µ(A1 , B1 , A2 ∪ B2 ).

Since {A1 , A2 , B1 ∪ B2 } is a triad and δ(A1 , A2 ) = ∅ we have (by


definition of µ)

µ(A1 , A2 , B1 ∪ B2 ) = |B1 ∪ B2 | − 1 = |B1 | + |B2 | − 1.

We prove the claim via the principle of contradiction; assume

µ(A1 ∪ B1 , A2 , B2 ) + µ(A1 , B1 , A2 ∪ B2 ) >


µ(A1 ∪ A2 , B1 , B2 ) + |B1 ∪ B2 | − 1. (4.7)

Since B1 and B2 are disjoint we conclude

( µ(A1 ∪ B1 , A2 , B2 ) − ( |B2 | − 1 ) ) +
( µ(A1 , B1 , A2 ∪ B2 ) − ( |B1 | − 1 ) ) > 0.

— So — without loss of generality we may assume that

µ(A1 , B1 , A2 ∪ B2 ) > |B1 | − 1. (4.8)

Notice that (4.8) implies that δ(A1 , A2 ∪ B2 ) 6= ∅ since otherwise


the equation would be an equality. Since we are also given that
δ(A1 , B1 ) 6= ∅ (4.8) implies that δ(B1 , A2 ∪ B2 ) = ∅ (since other-
wise µ(A1 , B1 , A2 ∪ B2 ) = 0). — So — we obtain that

µ(A1 , B1 , A2 ∪ B2 ) = |A1 | − 1 and δ(B1 , A2 ∪ B2 ) = ∅.

— Clearly — this implies

δ(B1 , B2 ) ⊆ δ(B1 , A2 ∪ B2 ) = ∅ ⇒
µ(A1 ∪ A2 , B1 , B2 ) = |A1 ∪ A2 | − 1.
166 Recent Trends

Rewriting our assumption (4.7) we find that

µ(A1 ∪B1 , A2 , B2 )+|A1 |−1 > |A1 ∪A2 |−1+|B1 ∪B2 |−1 ⇒
µ(A1 ∪ B1 , A2 , B2 ) > |A2 ∪ B1 ∪ B2 | − 1 >
max { |A2 | − 1, |B2 | − 1 }. (4.9)

By assumption δ(A2 , B2 ) 6= ∅ — so — µ(A1 ∪ B1 , A2 , B2 ) 6=


|A1 ∪ B1 | − 1. Then µ(A1 ∪ B1 , A2 , B2 ) must be one of |A2 | − 1,
|B2 | − 1, or 0. This contradicts (4.9).

This proves the lemma.

We come to the main result of this section. When G


is a 2-connected graph and p : E → N then G has a bond-carving
of minimal p-width. 45 45
A graph is 2-connected if
every minimal separator in
it has at least two vertices.
Theorem 4.44. Assume that a graph G is 2-connected and that
it has at least two vertices. Let p : E → N and assume that G has
p-carving width < k. Then G has a bond - carving C such that
p(δ(X)) < k for all X ∈ C.

Proof. Since we introduced that measure µ we might


as well use it. Let C be a carving of G such that p(δ(X)) < k for
all X ∈ C and assume that µ(C) is minimal (subject to the above).
We claim that C is a bond-carving.

Assume not. Then there exists X ∈ C which is not connected.


Choose X such that it has minimal size. (Clearly |X| > 1 since it
induces a disconnected graph).

Since C is a carving there exists a partition {X1 , X2 } of X with


both sets Xi ∈ C. By the minimality of X both X1 and X2 are
connected. Since X is not connected δ(X1 , X2 ) = 0.

This shows that C has a triad {A1 , A2 , B} such that

i. δ(A1 , A2 ) = ∅

ii. |B| minimal subject to i.


4.3 On the treewidth of planar graphs 167

The set B is a separator for A1 and A2 . Since we assume that G


is 2-connected |B| > 2. It follows that B has a partition {B1 , B2 }
with both Bi ∈ C.
Claim A: δ(A1 , B1 ) 6= ∅ or δ(A2 , B1 ) 6= ∅. That is so because
the triad {B1 , A1 ∪ A2 , B2 } has |B2 | < |B| and so δ(A1 ∪ A2 , B1 ) 6= ∅
(since we chose B minimal). — For the same reason — we have
δ(A1 ∪ A2 , B2 ) 6= ∅.
First assume that δ(A1 , B1 ) 6= ∅ and δ(A2 , B2 ) 6= ∅. Claim:
p(δ(A1 ∪ B1 )) > k. To see that by Lemma 4.43 µ(C0 ) < µ(C) and
so (since µ(C is minimal) there exists X ∈ C0 such that p(δ(X)) > k.
By definition of C0 either X = A1 ∪ B1 or X = A2 ∪ B2 . In either
case

p(δ(A1 ∪B1 )) = p(δ(A2 ∪B2 )) = p(δ(X)) > k. (4.10)

By similarity we also have that δ(A1 , B2 ) 6= ∅ and δ(A2 , B1 ) 6= ∅


implies
p(δ(A1 ∪ B2 )) > k. (4.11)

Since G is connected at least one of δ(A1 , B1 ) and δ(A1 , B2 ) is not


empty and the same holds when A2 replaces A1 . By Claim A
we may assume that δ(A1 , B1 ) 6= ∅ and δ(A2 , B2 ) 6= ∅. By
Equation (4.10) p(δ(A1 ∪ B1 )) > k. Since p(δ(B1 )) < k and
δ(A1 , A2 ) = ∅,

δ(A1 ∪ B1 ) 6⊆ δ(B1 ) ⇒ δ(A1 , B2 ) 6= ∅,

and — similarly — δ(A2 , B1 ) 6= ∅. By (4.11) p(δ(A1 ∪ B2 )) > k.


We derive a contradiction as follows

2·k 6 p(δ(A1 ∪ B1 )) + p(δ(A1 ∪ B2 )) =


p(δ(A1 , B2 )) + p(δ(A2 , B1 )) + p(δ(B1 , B2 ))+
p(δ(A1 , B1 )) + p(δ(A2 , B2 )) + p(δ(B1 , B2 )) =
p(δ(B1 )) + p(δ(B2 )) < 2 · k.

(where the last line follows from B1 , B2 ∈ C)


This proves the theorem.
168 Recent Trends

4.3.4 Carvings and antipodalities

In this section we complete the proof of Theorem 4.33 on Page 157.


We present the proof in seven easy steps.
Let G be a connected planar graph with at least two vertices. Let
G be drawn on a sphere Σ and let G∗ be the dual. Let p : E → N
and let k ∈ Z>0 .
Let α be an antipodality of p-range > k. In this section we show
that G has p-carving width > k. 46 46
Recall the definition of an
antipodality. For each region
A pair (P, v) with P ⊆ V and v ∈ P is a limb if ∅ 6= α(r) ⊆ V and for each
edge α(e) is a subgraph (so
it has at least one vertex)
δ(P) ⊆ δ(v) and ∃ e with endpoint v V(α(e)) ∩ P 6= ∅. that does not contain an end-
point of e. The function α
satisfies the following condi-
tions.
Exercise 4.28
(A1) for each edge e ∈ E(G)
When (P, v) is a limb and P 6= V then v is a cutvertex and P is the subgraph α(e) does
not contain an endpoint
the union of a collection of components of G − v and {v}. of e
Hint: Use that δ(P) ⊆ δ(v). (A2) if an edge e and a re-
gion r are incident then
α(r) ⊆ V(α(e)) and ev-
Lemma 4.45. If (P, v) is a limb then ery component of α(e)
has a vertex in α(r)
∀ e with endpoint v V(α(e)) ∩ P \ {v} 6= ∅.
(A3) if e ∈ E and
f ∈ E(α(e)) then
Proof. Let e1 , · · · , et be the edges that are incident with v in the every closed walk in G∗
cyclic order in which they are drawn in Σ. Assume V(α(e1 ))∩P 6= ∅. that contains e∗ and f∗
We prove the lemma via contradiction: let i > 1 be minimal has p-length at least k.

V(α(ei )) ∩ P = ∅.
Then V(α(ei−1 )) ∩ P 6= ∅. Let H be a component of α(ei−1 ) with
V(H) ∩ P 6= ∅. Then v ∈ / V(H) since α(ei−1 ) does not contain an
endpoint of ei−1 (since α is an antipodality).
Since δ(P) ⊆ δ(v) and v ∈
/ V(H) and H is connected

V(H) ⊆ P.

Let r ∈ R(G) be the region that is incident with ei−1 and ei . By


the second antipodality condition

V(H) ∩ α(r) 6= ∅ and α(r) ⊆ V(α(ei )).


4.3 On the treewidth of planar graphs 169

This implies

∅ 6= V(H) ∩ α(r) ⊆ P ∩ α(r) ⊆ P ∩ V(α(ei )).

This contradicts the choice of i.


This proves the lemma.

Notice that all vertices have degree at least 1 since G is connected


and |V| > 2. It follows that for all vertices (V, v) is a limb. Choose
a limb (P, v) such that |P| is as small as possible.

Lemma 4.46. G[P \ {v}] is connected.


Proof. Notice that P \ {v} 6= ∅ since 47 47
When (P, v) is a limb
then P 6= {v} since P ∩
V(α(e)) ∩ (P \ {v}) = V(α(e)) ∩ P 6= ∅. V(α(e)) 6= ∅ for some e in-
cident with v and α(e) does
not contain v.
Suppose P \ v is not connected. Then there exist subsets P1 and P2
satisfying
1. P1 ∪ P2 = P

2. P1 ∩ P2 = {v}

3. δ(P1 \ v, P2 \ v) = ∅

4. P1 \ v 6= ∅ and P2 \ v 6= ∅.
Choose e incident with v such that P ∩ V(α(e)) 6= ∅. Then one of
P1 ∩ V(α(e)) and P2 ∩ V(α(e)) is 6= ∅. — That is — (P1 , v) or
(P2 , v) is a limb. This contradicts the choice of (P, v) as a limb with
P minimal.
This proves the lemma.

Exercise 4.29 48
An edge forms a 2-
connected subgraph. So
Show that P \ {v} 6= ∅ and that δ(P \ {v}, v) 6= ∅. B contains at least v
and a neighbor of v in P.
Let B be a maximal 2-connected subgraph of G that contains v and Since B is 2-connected and
δ(P)) ⊆ δ(v) B does not
a neighbor of v in P. 48 Since δ(P) ⊆ δ(v) contain any vertex outside P;
otherwise B would contain
V(B) ⊆ P. a cutvertex; namely v.
170 Recent Trends

Lemma 4.47. Every neighbor of v in P is in V(B):

N[v] ∩ P ⊆ V(B).

Proof. By definition of B v has a neighbor u1 ∈ V(B). Assume v


has another neighbor u2 in P. Since G[P \ {v}] is connected there
is a circuit C in G[P] that contains v, u1 , and u2 .
Then
| V(B) ∩ C | > 2 ⇒ C ⊆ V(B).
This implies u2 ∈ V(B) and this proves the lemma.

Exercise 4.30
For X ⊆ B show that there exists a unique set X̃ that satisfies

X̃ ∩ B = X and δ(X̃) = δ(X, B \ X).

Hint: Consider the union of components of V \ B that have a


neighbor in X. No component can have a neighbor in X and in B \ X
since B is a biconnected component.

Exercise 4.31
/ X then X̃ ⊆ P \ {x}.
When v ∈

Exercise 4.32
Let a graph H be a subgraph of a graph G. Let p : E → N. Show
that the p-carving width of G is at least the p-carving width of H.
Hint: Let T be a routing tree for G. Remove leaves that are not in
V(H). Let T 0 be the result of this. How can we change T 0 into a
routing tree for H?

Assume that B has p-carving width < k. We show that


this assumption leads to a contradiction.
By Theorem 4.44 there exists a bond - carving C such that for all
X⊆B
p(δ(X, B \ X)) = p(δ(X̃)) < k.
4.3 On the treewidth of planar graphs 171

Define

C0 = {X ∈ C | v ∈
/X and ∃ e∈δ(X̃) V(α(e)) ∩ X̃ 6= ∅}.

Lemma 4.48. C0 6= ∅.

Proof. We show that X = B \ {v} ∈ C0 .

Clearly X ∈ C. Notice that X̃ = P \ {v} (since every neighbor of v in


P is in B). Choose e ∈ E(B) with endpoint v. Since (P, v) is a
limb (by Lemma 4.45)

V(α(e)) ∩ X̃ 6= ∅.

Since e ∈ δ(X̃) this proves that X ∈ C0 .

Choose X ∈ C0 such that |X| is minimal.

Lemma 4.49. |X| 6= 1.

Proof. Assume X = {u}. Then δ(X̃) ⊆ δ(u) and V(α(e)) ∩ X̃ 6= ∅


for some e ∈ δ(X̃) (since X ∈ C0 ). This shows that (X̃, u) is a limb
and X̃ ⊆ P \ v. This contradicts the choice of (P, v) (as a limb with
|P| is as small as possible).

Since C is a carving there exist X1 , X2 ∈ C such that {X1 , X2 }


is a partition of X. By the minimality of |X| neither X1 nor X2 is
in C0 .

Lemma 4.50. For all e ∈ δ(X̃1 ) ∪ δ(X̃2 )


 
E(α(e)) ∩ δ(X̃1 ) ∪ δ(X̃2 ) = ∅.
172 Recent Trends

Proof. Let e, f ∈ δ(X̃1 ) ∪ δ(X̃2 ). One of δ(X), δ(X1 ) and δ(X2 )


contains both e and f — say D.
Since C is a bond-carving D is a bond and this implies that there
is a circuit C in G∗

E(C) = { f∗ | f ∈ D }

and e∗ , f∗ ∈ E(C).
The circuit C has p-length p(D) < k. By the antipodality condition
A3 : f ∈
/ E(α(e)).
This proves the lemma.

Lemma 4.51. For all e ∈ δ(X̃)

V(α(e)) ∩ X̃1 = ∅.

Proof. Since δ(X) is a bond we may choose an ordering of the edges


in δ(X̃)
e1 · · · et
such that there is a region ri in G incident with ei−1 and ei .
Notice that B \ X2 is connected. That is so because B \ X2 ∈ C
and C is a bond carving. It follows that

δ(X̃1 ) ∩ X̃ 6= ∅.

/ C0 we have
— So — we may choose e1 ∈ δ(X̃1 ). Since X1 ∈

V(α(e1 )) ∩ X̃1 = ∅.

Let i be minimal such that V(α(ei )) ∩ X̃1 6= ∅. 49 Let H be a 49


We go via contradiction.
component of α(ei ) that intersects X̃1 . By Lemma 4.50 E(H) ∩
δ(X̃1 ) = ∅. Since H is connected

V(H) ⊆ X̃1 .

By the second antipodality condition

V(H) ∩ α(ri ) 6= ∅
4.3 On the treewidth of planar graphs 173

and α(ri ) ⊆ V(α(ei−1 )). This implies V(α(ei−1 )) ∩ X̃1 6= ∅ and


this is a contradiction. — So — V(α(e)) ∩ X̃1 = ∅ for all e ∈ δ(X̃).

The same argument shows that V(α(e)) ∩ X̃2 = ∅ for all e ∈ δ(X̃).
Since {X1 , X2 } is a partition of X V(α(e)) ∩ X̃ = ∅ for all e ∈ δ(X̃).
This contradicts the assumption that X ∈ C0 .

This proves the lemma.

In other words the assumption on Page 170 is wrong: B has


p-carving width > k. This shows that G has p-carving width > k
since B is a subgraph of G.

The following theorem summarizes the results.

Theorem 4.52. Let G be a connected planar graph with at least


two vertices. Let G be drawn on a sphere with a dual G∗ . Let p :
E → N and let k ∈ Z>0 . The following statements are equivalent.

1. the graph G has p-carving width at least k

2. the graph G has a tilt of p-order k

3. the graph G0 has a uniform slope of order k/2 50 50


G0 is obtained from G∗
by subdividing edges e∗ ∈
4. the graph G has a connected antipodality of p-range at least k E(G∗ ) p(e) − 1 times.

5. the graph G has an antipodality of p-range at least k.

Remark 4.53. By Theorem 4.32 there exists an O(m2 ) - algorithm


to decide if the p-carving width > k (m = |V| + |E|). In their paper
Robertson and Seymour show that the result above can be used
to compute the ‘branchwidth’ of planar graphs in O(m2 ) time. The
branchwidth parameter approximates the treewidth of graphs within
a factor 3/2.
174 Recent Trends

4.4 Tree - degrees of graphs

Chordal graphs are the intersection graphs of sub-


trees of a tree (see Exercise 4.5 on Page 133). In this section
we look at graphs that have a — slightly — different intersection
model.

Definition 4.54. A graph G is the edge intersection - graph of


a tree T if there is a collection of subtrees

{ Tx | x ∈ V}

such that

{x, y} ∈ E(G) ⇔ E(Tx ) ∩ E(Ty ) 6= ∅.

The definition above is — a kind of — a joke.


Namely any graph is the edge intersection - graph of a family of
subtrees of a tree. To see that consider a star K1,z and a bijection
from its leaves to the maximal cliques of G. 51 For x ∈ V(G) let 51
So z is the number of
Tx be the subtree of the star that connects all leaves that contain x. maximal cliques in G. Two
subtrees of a star share a line
if and only if they share a
leaf ie if and only if the
vertices share a maximal
Exercise 4.33 clique.

Show that the above constructs an edge intersection - model for


any graph.

Hint: Two vertices are adjacent only if they are in a maximal clique
— that is — only if their subtrees share a leaf.

Exercise 4.34
Let G be a graph without isolated vertices 52 and let C be a 52
If x is an isolated ver-
tex let Tx be a subtree that
collection of maximal cliques that cover the edges of G — that is
contains only one (arbitrary)
— every edge of G is contained in one of the cliques of C. The vertex.
4.4 Tree - degrees of graphs 175

minimal number of cliques in a cover of E is the edge clique - cover


of G. Denote the edge - clique cover - number of a graph G as
cc(G). Its computation is NP-complete.

Say that G has an edge clique - cover with k cliques. Show that
G is the edge intersection graph of a tree with maximal degree k.

Definition 4.55. The tree - degree τ(G) of a graph G is the


minimal k ∈ N ∪ {0} such that G is the edge intersection - graph
of subtrees of a tree that has maximal degree 6 k.

Exercise 4.35
Let G be connected. Show that τ(G) = 1 if and only if G is a
clique with at least two vertices.

Assume that G has k > 2 components Gi that have at least one


edge. Show that

τ(G) = max{ τ(Gi ), 2 | 1 6 i 6 k }

4.4.1 Intermezzo: Interval graphs

Consider a set of n intervals on the real line — say — I1 , · · · , In .


Construct a graph with vertex set [n]. Let two vertices be adjacent
if the intervals have a nonempty intersection. The graph is called
an interval graph.

Definition 4.56. A graph is an interval graph is it is the intersection


graph of a collection of intervals on a line.

Exercise 4.36
Show that interval graphs are chordal.
176 Recent Trends

53
A collection of intervals on the real line satisfies The Helly property also
holds for subtrees of a tree:
the Helly property: if any pair of a collection of intervals
when C is a collection of sub-
intersects then they they all contain a common point on the real trees of a tree T of which
line. 53 Suppose we scan the line from left to right and for each every pair intersects in some
point of T . Then T contains
point we record all the intervals that contain that point. That will a point that in in all the sub-
give us a list of the cliques of G. trees of C. The same is
not true when we consider
edge - intersections: for ex-
ample, consider three paths
Exercise 4.37 in a claw each connecting
one pair of leaves.
Show that a graph G is an interval graph if and only if its maximal
cliques can be put in a linear order 54 54
Since G is chordal it
has at most n maximal
cliques. The linear order
C1 ··· Ct
of maximal cliques is called
a consecutive clique arrange-
such that for any vertex the cliques that contain it form an interval. ment.

Exercise 4.38
Let G be an interval graph and let C1 , · · · , Ct be a consecutive
clique arrangement. Show that the collection

{ Ci ∩ Ci+1 | 1 6 i < t }

is the collection of minimal separators in G.

The reason for introducing interval graphs is the


following presentation of graphs that have tree - degree at most two
and three.

Exercise 4.39
A graph satisfies τ 6 2 if and only if it is an interval graph.
A graph satisfies τ 6 3 if and only if it is a chordal graph.
4.5 Modular decomposition 177

Remark 4.57. It can be shown that for all graphs 55 55


M. Chang, T. Kloks and
H. Müller, On the tree-degree
τ(G) 6 cc(G). of graphs, Springer, Lecture
Notes in Computer Science
2204 (2001), pp. 44–54.
Equality holds when G has no clique separator.

Let k ∈ N and let G be a class of graphs that satisfy τ 6 k. There


exists a polynomial - time algorithm to compute the treewidth of a
graph in G. The reason is that the number of minimal separators
in a graph of G is at most 3m · 2τ−2 . There exists a polynomial -
time algorithm to compute the treewidth of graphs that have only a
polynomial number of minimal separators. 56 57 56
V. Bouchitté and I. Tod-
An upper-bound for the treewidth is inca, Minimal triangulations
of graphs with “few” min-
imal separators, Springer,
tw 6 τ · ω. Lecture Notes in Com-
puter Science 1461 (1998),
pp. 344–355.
The computation of τ(G) remains NP-complete even when restricted 57
T. Kloks and D. Kratsch,
to plane triangulations (G is a plane graph and every face is a Finding all minimal separa-
tors of a graph. Technical
triangle). report 9327, Eindhoven Uni-
versity of Technology, 1993.

4.5 Modular decomposition

A module is a spacelab.
Let’s start with a definition; then we know what we are
talking about.

Definition 4.58. Let G be a graph. A module in G is a set of


vertices X ⊆ V with the property that every vertex of V \ X is
either adjacent to every vertex of X or not adjacent to any vertex
in X.
The components of a graph
as well as the compo-
nents of the complement are
Clearly every graph has modules. The trivial modules are ∅, modules.
V and the subsets with one vertex. A graph is prime if it only has
trivial modules.
178 Recent Trends

Exercise 4.40

(a) Let G be a graph and let X be a module in G. A set Y ⊆ X


is a module in G if and only if Y is a module in G[X].

(b) Let M be a module in a connected graph G and assume that


M contains two vertices that are at distance > 2 in G. Then
M = V.
Hint: If z ∈ / M then z is not adjacent to anything in M
(otherwise every pair of vertices in M is at distance 6 2). But
G is connected — so — M = V.

(c) Let X be a module in G and let z ∈ V \ X. Show that X is a


module in G[ N(z) ] or in G[ V \ N[z] ].

(d) The set of modules M of a graph is a partitive family — that


is —

• all trivial modules are in M


Two sets A and B overlap
• when X and Y are modules that overlap then
if A\B 6= ∅ and B\A 6= ∅
and A ∩ B 6= ∅.
X∩Y X∪Y X\Y and (X \ Y) ∪ (Y \ X)

are all modules.

Definition 4.59. A module is strong if it does not overlap other


modules.

Every graph has a partition of its vertices with parts that are strong
modules.

Exercise 4.41

(a) Let A be a strong module. The smallest strong module that


properly contains A is unique.

(b) Let S be a minimal separator in G and let M be a module in


G that has a vertex of S but that is not contained in S. Then
M contains all vertices of components that are close to S.
4.5 Modular decomposition 179

Let us see if a BFS - tree can be of any use in spotting a module.


A BFS - tree is a spanning
tree with the property that
In this chapter a BFS - tree T has a left - to - right order of every path from a vertex in
the vertices in every level with the following property. If a vertex the tree to the root is a
shortest path in the graph.
x has a parent y in T then x is not adjacent to any vertex in
the level of y that is to the left of y.

Exercise 4.42

1. Let M be a module and let x be a vertex not in M. Let T


be a BFS - tree with root x. Then all vertices of M have the
same parent in T .

2. Let C be a component of the graph induced by the vertices in


a level > 1 in a BFS - tree with root x. Let M be a strong
module that contains x. Then C ⊂ M or C ∩ M = ∅.

3. Let x be a vertex and let C be a cocomponent in G[ N(x) ].


Let M be a strong module that contains x. Then C ⊂ M or
C ∩ M = ∅.

4.5.1 Modular decomposition tree


The nodes of a modu-
lar decomposition tree are
the nonempty modules that
overlap with no other mod-
Let G be a graph. A modular decomposition - tree for the ules. The ancestor relation
graph G is a rooted tree with the vertices of G as leaves defined is containment.
as follows.

Exercise 4.43
Show that a decomposition tree (as defined below) has the following
property. The leaves of a branch are a module in G.

1. if G is disconnected then the root is labeled as a parallel


node. Its children are the roots of the decompositions of the
components.
180 Recent Trends

2. if Ḡ is disconnected then the root is labeled as a series node.


Its children are the roots of the decomposition trees of the
cocomponents.

3. if G and Ḡ are both connected then there is a set U ⊆ V and


a partition P of V with the following properties.

• |U| > 3 Every graph with less than


4 vertices is a cograph. The
• G[U] is a maximal prime subgraph of G decomposition tree for a co-
graph has only series nodes
• every part P ∈ P satisfies |U ∩ P| = 1. and parallel nodes.

The node is a prime node and labeled as G[U]. Its children are
the roots of a decomposition tree for the parts in P.
Can two adjacent nodes in a
modular decomposition tree
be of the same type?
Exercise 4.44
Let G be a cograph. What are the strong modules in G?
Hint: The cotree is a modular decomposition (without any prime
nodes). Every branch in a cotree is a module. Every induced
subgraph has a module with two vertices.

4.5.2 A linear - time modular decomposition

In this section we take a look at the following paper.


M. Tedder, D. Corneil, M. Habib and C. Paul, Simple, linear -
time modular decomposition. Manuscript on arXiv: 07010.3901,
2008.

The algorithm that is presented in this paper computes a mod-


ular decomposition tree as follows.
We assume that G is connected. Choose an arbitrary vertex x
and let {Li } be a partition of V into the levels of a BFS-tree with
L0 = {x} and L1 = N(x) and so on. The algorithm recursively Recall: The strong modules
computes a modular decomposition tree T (Li ) for each layer L1 that do not contain x are
modules in N(x) or in V \
and orders them as N[x]. The difficulties are
1. find the strong modules
T (L1 ) {x} T (L2 ) T (L3 ) ··· that contain x
2. construct the modular de-
composition tree.
4.5 Modular decomposition 181

The aim is to compute a linear order of the vertices that is


factorizing — that is — all the vertices of any strong module are
consecutive.
::::::::::

We describe three
::::
procedures to achieve this. As an invariant The invariant is a relaxation
we have an ordered partition of the vertices (each part is a set of of the desired result.

leaves in a tree) which satisfies the condition that all the strong
modules that do not contain x appear in ::::::::::
consecutive::::::
parts. Below we add a second in-
variant that describes the po-
sitions of the strong modules
that contain x.
Refinement

Let the current list of trees be The paper of Tedder et al


uses
T (N0 ) {x} T (N1 ) ··· T (Nk ) N0 = N(x) = L1 .

Let M be a strong module that does not contain x. Then M ⊆ Ni


for some i — furthermore — it is either a node in T (Ni ) or it is
a set of nodes that all have the same parent.
The refinement - operation rebuilds T (Ni ) in case M is not a
node. Let y be the parent of elements of M and assume that y
has some children that are not in M. The procedure creates a new
child y0 of y. The children of y that are in M become children
of y0 .

Exercise 4.45
After a refinement the strong modules that do not contain x appear
in consecutive parts.

When the refinement procedure terminates the nodes that do


not have marked children are the strong modules containing x. The
next procedure creates a new list of trees. This needs to be in order
so that the invariant remains true. A “marker” helps us decide
upon the new order.

Definition 4.60. An edge {x, y} ∈ E(G) is active if its endpoints


are in different Ni ’s.
182 Recent Trends

Exercise 4.46
Upon termination of the refinement - procedure the strong modules
that contain x are exactly the nodes that do not have marked
children.
Algorithm 6: Part 1 of re-
fine: decide on left-split,
input an ordered list of trees: right-split, and marker

T (N0 ) {x} T (N1 ) ··· T (Nk )

α(v) = { y ∈ N(v) | {v, y} is active };


Refine with X = α(v) and
if v is left of x OR refine operates on a tree left of x then
Refine with left - splits and marker=left
else
Refine with right - splits and marker=right
end if

The presentation of the re-


finement - code is unortho-
dox. The first part shows
what markers and splits are
A second invariant limits the trees in the sequence that used. The details of the re-
contain vertices of strong modules that contain x. This invariant finement procedure are in the
second part.
is formulated as follows.

Let the ordered set of trees — after a refinement — be

Tk ··· T1 {x} T10 · · · T`0 .

Let M be a strong module with x ∈ M. There exist trees Ti and


Tj0 such that

M ⊃ Ti−1 ∪ ··· ∪ T1 ∪ {x} ∪ T10 ∪ ··· ∪ 0


Tj−1
and M ⊆ Ti ∪ ··· ∪ T1 ∪ {x} ∪ T10 ∪ ··· ∪ Tj0 .

Remark 4.61. If M 6= V is a module and x ∈ M then M has


only vertices in levels 0, 1 and 2. If some vertex in level 2 is not in
M then it is not adjacent to any vertex of M. So M intersects the
second level in some union of components. (The same must hold
4.5 Modular decomposition 183

Algorithm 7: Part 2 of re-


fine: Refinements by a set
Let T1 · · · Tk be the maximal subtrees with all leaves in X; X

Let P1 · · · P` be the parents of T1 , · · · , Tk ;

for all Pi NOT prime do


Partition the children of Pi ;
A are the children of Pi that are Tj ’s and B are the other
children;
Create trees Ta and Tb with roots that have children A and B;
Assign the label (series, parallel or prime) of Pi to A and B;
if Pi is a root then
if left - split then
replace Pi with Ta Tb
else
replace Pi with Tb Ta
end if ;
else
replace children of Pi with Ta and Tb
end if ;
Use the marker (left or right) to mark roots of Ta and Tb and
all their ancestors . (When a node is not a module then neither
is any of its ancestors.)
end for;
for all Pi prime do
Mark Pi ; Mark all its children; Mark all its ancestors
end for
184 Recent Trends

for Ḡ — so — M intersects N(x) in a union of cocomponents.)


When the second level is disconnected then the root of T (L2 ) is a
parallel node and M is a set of children of the root.

Exercise 4.47
Let M be a strong module that contains x and a vertex at distance
> 2 from x. Then M = V. This shows that the second invariant
is true for the initial set of trees

T (N0 ) {x} T (N1 ) ··· T (Nk )

with Ti = T (N0 ) and Tj either T (N1 ) or T (Nk ). We leave it as an


exercise to check that this invariant remains true after refinement.

Promotion

Algorithm 8: Promotion
while there is a root r and child c both marked left do
Move the branch with root c to the left of r
end while;
while there is a root r and child c both marked right do
Move the branch with root c to the right of r
end while;
If a marked root has only one child then replace it with that child;
Delete all marked roots that have no children;
Remove all marks

Exercise 4.48
Upon termination of the promotion - procedure the ordered list of
trees is a factorizing permutation.
4.5 Modular decomposition 185

Assembly

At this point we have an ordered list of trees. The nodes of


these trees (except x) are the strong modules that do not contain
x and each of these is properly decomposed. What’s left to do is
to identify the strong modules that contain x.

The strong modules that contain x are nested in intervals around


x. The (co-)components of G[Ni ] appear consecutive. The list of
trees is a list of (co-)components

Cκ ··· C1 {x} C01 ··· Cλ

where {Ci } are the cocomponents of G[N0 ] and {Ci0 } are the
components of G[Ni ] for i > 0. The strong components that
contain x form a nested family of intervals.

By Exercise 4.42 we have the following lemma.

Lemma 4.62. Let M be the smallest


:::::::
strong module that contains
x. Then M satisfies one of the following.

1. M is a series - module: M is a maximal consecutive collection


that contains x and no Ci0

2. M is parallel: M is a consecutive collection that contains x and


no Ci . Furthermore all the Cj0 that are in M are in N1 and
they have no edge to their right

3. M is prime: M is a consecutive collection which includes {x},


C1 and C10 .

The lemma above is used to compute the strong modules that


contain x as follows.

1. For Ci0 in N1 determine if it has a vertex with a neighbor in


Nj for j > 1.

2. Determine a µ - value for each Ci and Ci0 as follows.


186 Recent Trends

• to find µ(Ci ): find C0j with smallest j such that Ci has no


neighbors in C0` for ` > j. then

x if j = 1
µ(Ci ) =
C0 otherwise
j−1

• µ(C0i ) is defined “symmetrically.”

3. The cases in the lemma above are now easily recognized. If


there is no series or prime module then M contains C1 and C01 .
When Ci is added to M — recursively — add C01 ∪· · ·∪µ(Ci )
(and a symmetric rule applies when C0j is added).

Conclusion

Theorem 4.63. There exists a linear time algorithm to compute


a modular decomposition tree of a graph.

Exercise 4.49

Let’s do it again: Design an algorithm to compute a modular


decomposition via a depth - first search tree.

Further reading

T. Uno and M. Yagiura, Fast algorithms to enumerate all common


intervals of two permutations, Algorithmica 26 (2000), pp. 290 –
309.
4.6 Rankwidth 187

4.5.3 Exercise

Let G be a class of graph. A graph G is a probe graph of G if


its set of vertices partitions into probes and nonprobes such that
G embeds in a graph of G by adding edges between nonprobes.

Exercise 4.50
Design an algorithm to check if a graph is a probe permutation
graph. You may assume that a partition of the vertices into probes
and nonprobes is a part of the input.

Hint: A graph G is a permutation graphs if and only if G and Ḡ


are both comparability graphs. There is a linear - time algorithm
to construct a transitive orientation of a comparability graph via
modular decomposition. This does ::: not imply a linear - time
recognition algorithm for comparability graphs.

The modules in a permutation graphs can be represented by boxes


in the permutation graph diagram. The following paper addresses
the problem in detail.

D. Chandler, Maw-Shang Chang, T. Kloks, J. Liu, Sheng-Lung Peng,


On probe permutation graphs, Discrete Applied Mathematics 157
(2009), pp. 2611–2619.

58
The rows of a cutmatrix
form elements of a vector
4.6 Rankwidth space over GF[2]; the Ga-
lois field with two elements
0 and 1. (BTW Évariste
Galois was a French math-
Let G be a graph and let C be a carving of G. The cut matrix ematician.) The rank of
of a set X ∈ C is the submatrix of the adjacency matrix with X as a cutmatrix is the maximal
number of rows of which
rows and V \ X as columns. Let rank(X) be the rank over GF[2] no nonempty subset adds up
of the cutmatrix associated with X. 58 59 to 0. (Addition of vectors
is element-wise and obeys
0 + 0 = 0, 1 + 0 = 1, and
1 + 1 = 0).
Definition 4.64. A graph has rankwidth 6 k if it has a carving
59
The routing tree is re-
C such that for every X ∈ C rank(X) 6 k.
stricted so that internal
nodes have degree 3. This
is of importance; a star
would allow a decomposition
of rankwidth 1 of any graph.
188 Recent Trends

Exercise 4.51
Let C be a carving of a graph G of rankwidth 6 k. Show that every
X ∈ C has a partition into at most 2k classes such that the vertices
of each class all have the same neighbors in V \ X.

Hliněný and Oum showed (in 2008) that there is a fixed-


parameter O(n3 ) algorithm that recognizes graphs of rankwidth
at most k (for k ∈ N). (Computing the rankwidth of a graph is 60
P. Hliněný and
NP-complete.) Hliněný and Oum’s algorithm finds a carving of S. Oum, Finding branch-
rankwidth 6 k if there exists one. 60 decompositions and
rank-decompositions, SIAM
Journal on Computing 38
Geelen, Kwon, McCarthy and Wollan show that any circle (2008), pp. 1012–1032.
graph H is a vertex - minor of a graph with sufficiently large
rankwidth.
J. Geelen, O. Kwon, R. McCarthy and P. Wollan, The grid theorem
for vertex - minors. Manuscript on arXiv: 1909.08113, 2019.

4.6.1 Distance hereditary - graphs

It makes sense to have a close look at graphs that have


rankwidth at most one. In this section we characterize those
graphs. 61
A path is chordless if only
consecutive pairs of vertices
are adjacent in the graph.
Definition 4.65. A graph G is distance - hereditary if for any
two nonadjacent vertices x and y all chordless x ∼ y-paths have the 62
Are you getting confused?
If all else fails you
same length. 61 can always have a look
at: Ton Kloks and Yue-
Pioneering work on distance hereditary - graphs Li Wang’s Advances in
graph algorithms.
was done by Howorka. We summarize some results below. 62
63
A domino is a tile in a
game and the game is called
Exercise 4.52 ‘dominoes.’ It seems that
the game originated in China.
1. Show that a distance hereditary - graph G does not have an (A domino is not a pizza!)
The domino is a rectangle
induces subgraph which is isomorphic to a house, hole, domino that is partitioned into two
or gem. 63 squares. Each square has a
number of dots on it. For
plural we use ‘dominoes’.
4.6 Rankwidth 189

2. Show that a graph is distance - hereditary if and only if it does


not contain a house, hole, domino or gem as an induced subgraph.
64 64

(i) a hole in a graph is a


Hint: The class of graphs that are distance - hereditary is hereditary chordless cycle of length
at least 5
— that is — the class is closed under taking induced subgraphs.
(ii) a house is C5 with one
The house, holes, domino and gem are exactly the smallest graphs
chord
that have two nonadjacent vertices that are connected by two chord-
(iii) a gem is C5 with two
less paths of different length (so the two nonadjacent vertices are chords that share an end-
in a cycle). point
(iv) a domino is C6 with
one chord that connects
two vertices that are at
Exercise 4.53 distance 3 in C6 .

Show that the class of graphs that are distance - hereditary is closed
under the following operations.

1. add a pendant vertex to the graph — that is — add one new


vertex and give it exactly one neighbor

2. add a (true or false) twin — that is — add one new vertex


and give it exactly the same (closed or open) neighborhood as
one other vertex.

Exercise 4.54
Let T be a routing tree for a graph G of rankwidth k > 1. Let the
graph G0 be obtained from G by adding one new vertex that gets
the same (open or closed) neighborhood as a vertex of G. (That is;
G0 is obtained from G ‘by creating a twin.’) Construct a routing
tree for G0 (of width k).

One other (similar) question: how do you construct a routing tree


for the graph obtained from G by adding a pendant vertex (adjacent
to exactly one other vertex in the graph)?

Exercise 4.55
When G is distance - hereditary then every neighborhood induces
a cograph. 65 65
Recall Chapter 2.11: a
graph is a cograph if it does
not contain a path with 4 ver-
tices as an induced subgraph.
190 Recent Trends

Hint: Assume G has an induced P4 with all its points in a neigh-


borhood — say — N(x) contains an induced P4 . Then G has a
gem.

Theorem 4.66. A graph has rankwidth 6 1 if and only if it is


distance - hereditary.

Proof. Assume a graph G is distance - hereditary. By Exercise 4.53


G has a routing tree with the following property. The set of leaves
— say X — of a branch has a partition {X1 , X2 } (where we allow
parts to be empty) such that the vertices of each part have the same
neighbors in V \ X. Furthermore when both parts are nonempty
then the vertices of one of the two parts have no neighbors in
V \ X. 66 — In other words — all nonzero rows of the cutmatrix 66
A suitable routing tree is
of X are the same. This shows that G has rankwidth 6 1. easily constructed via an
elimination by pendant ver-
A carving C of rankwidth 6 1 has the property that rank(X) 6 1 for tices and elements of twins.

every X ∈ C. This implies that all vertices of X that have neighbors


in V \ X have the same neighbors in V \ X.
Let X ∈ C with |X| = 2. If X has two vertices that have neighbors
in V \ X then those two are twins. If X has only one vertex with
neighbors in V \ X then the other one is a pendant or an isolated
vertex. 67 By induction it follows that G is distance - hereditary. 67
Clearly the class of dis-
tance hereditary - graphs is
This proves the theorem. (also) closed under adding
isolated vertices.

4.6.2 Intermezzo: Perfect graphs

The classes of chordal graphs, bipartite graphs and distance heredi-


tary - graphs share an interesting property — namely — they are
perfect.

Definition 4.67. A graph G is perfect if every induced subgraph


H satisfies
χ(H) = ω(H).
4.6 Rankwidth 191

There are two important things to say about perfect


graphs. They are called ‘the perfect graph theorem’ and ‘the
strong perfect graph theorem.’ We present them without proof.

Theorem 4.68. A graph is perfect if and only if its complement


is perfect.
68
An odd hole in a graph
is an induced cycle of odd
length at least 5. An odd
Theorem 4.69. A graph is perfect if and only if it does not contain antihole in a graph is an odd
an odd hole or an odd antihole as an induced subgraph. 68 hole in the complement.

Remark 4.70. A few other things: Claude Berge introduced 69


A lecture about the Shan-
non capacity of a graph. See:
perfect graphs after listening to a lecture by Claude Shannon.
C. Shannon, The zero-error
69 In 1963 he proposed two conjectures that are now the two
capacity of a noisy channel ,
theorems above. 70 IRE Trans. Inform. Theory
(1956), 8–19.
Important classes of perfect graphs are bipartite graphs, line graphs 70
A graph is Berge if it
of bipartite graphs, chordal graphs and comparability graphs (and does not contain an odd hole
or odd antihole.
of course the classes of complements of these graphs).
One other characterization states that a graph is perfect if every
induced subgraph H satisfies 71 71
Notice that this is not true
for odd cycles of length more
α(H) · ω(H) > | V(H) | . than 3.

Lovász proved the perfect graph theorem in 1972. Chudnovsky,


Cornuéjols, Liu, Seymour and Vušković showed (in 2008) that
there is a polynomial - time algorithm to check if a graph is perfect.
Grötschel, Lovász, and Schrijver showed (in 1988) that α(G),
ω(G), and χ(G) are computable in polynomial time on perfect
graphs.

4.6.3 χ - Boundedness

As we already mentioned problems that can be formulated in


monadic second-order logic (without using quantification over sub-
sets of edges) can be solved in O(n3 ) time on graphs of bounded
192 Recent Trends

rankwidth. When a routing tree is a part of the input then this


reduces to O(n) time.

Exercise 4.56
Let k ∈ N. Design a monadic second-order formula that checks if a
graph G can be (properly) colored with at most k colors — that
is — the formula expresses χ(G) 6 k.
Hint: A graph is k-colorable if there exists a partition of V(G)
into at most k classes that are all independent sets in G.

— The idea is — to prove that χ is computable in O(n3 )


time for graphs of bounded rankwidth and bounded clique number
by providing an upper bound

χ 6 f(ω) (4.12)

for some function f : N → N such that (4.12) holds true for all graphs
of rankwidth 6 k.
Many classes of graphs are
χ - bounded; for example
Definition 4.71. A class of graphs G is χ-bounded if there exists
intersection graphs of axis -
a function f : N → N such that parallel boxes in d - space;
graphs without odd holes;
χ(G) 6 f(ω(G)) graphs without long holes;
graphs that do no contain a
subdivision of a tree. Circle
for all G ∈ G. graphs are polynomially χ -
bounded.
Z. Dvořák and D. Král’,
Classes of graphs with small
In this section we show that for k ∈ N the class of graphs of rank decompositions are χ-
bounded , Manuscript on
rankwidth 6 k is χ-bounded. arXiv: 1107.2161, 2011.

Exercise 4.57
Show that the class of distance hereditary - graphs is χ-bounded.
Hint: Design an algorithm that colors a distance hereditary - graph
with ω colors.
4.6 Rankwidth 193

We show that there is a partition of V that splits up all


maximum cliques.

Lemma 4.72. Let G be a connected graph with at least two vertices


and of rankwidth 6 k. There exists a partition of V(G) into at
most 3 · 2k classes such that each class induces a subgraph with
clique number less than ω(G).

Proof. We may assume that the graph G has no false twins; ie the
graph has no two vertices x and y with N(x) = N(y). 72 72
Otherwise we can remove
an element x of a twin
Let T be a routing tree. To facilitate the description of the {x, y}; compute the parti-
tion for the graph G − x;
partitioning - procedure we give T a root r which is a leaf and
and put x in the same class
not a vertex of G. 73 as y. In a similar manner
we could reduce the graph so
The tree T is ternary so we can label the lines of T with labels that it contains no pendant
from {1, 2, 3} such that each internal point of T is incident with vertices either.
73
That is, we let T be a
an edge of each label. 74 routing tree for a graph G +
r in which r ∈ / V(G) is
For v ∈ V(T ) let Vv denote the set of vertices of G that are leaves added as an isolated vertex
of the subtree Tv rooted at v. Since T has rankwidth k we can fix (a ‘root’) to the graph G.
74
a partition That is so because a tree
 0 is bipartite and so its line-
Vv = Vv , Vv1 , · · · , Vvd graphs is perfect.

such that

(a) the vertices of Vv0 have no neighbors outside Vv

(b) all vertices of Vvj for j > 0 have the same neighbors outside Vv

(c) d < 2k .

Define a coloring φ of the vertices of G as follows. 75 To color 75


The coloring is not nec-
x ∈ V(G) find the point ` on the path from x to r in T that is essarily proper. The color
classes of φ form the parti-
furthest from r such that N[x] is contained in the set of leaves tion that is claimed in the
of T` . — In other words V` is the minimal element of the carving lemma.

that contains N[x]. By definition x ∈ V`0. Assume that x is a leaf


of Tp for a child p of `. Let α ∈ {1, 2, 3} be the label of the edge
{`, p} ∈ E(T ).

In the partition of Vp find β such that x ∈ Vpβ . Notice that by


the choice of ` 76 76
The node p is further from
r than `; so Vp does not con-
tain N(x) — that is — x
has a neighbor in V \ Vp .
194 Recent Trends

0 < β < 2k .

Color the vertex x with a pair:

φ0 (x) = (α, β).

Map the colors that are used by φ0 to a set of colors that is


not used by φ to color V`1 , V`2 , · · ·. (Each of these classes is
monochromatic.) This defines φ.

This procedure describes a coloring of V(G) that uses less than 3 · 2k


colors. This coloring is not necessarily proper — however — it
colors no maximum clique monochromatic.

To see that let K be a clique in G of size ω(G) and assume


that φ colors K monochromatic. Then there exists a vertex
z ∈ V(T ) such that
K ⊆ Vzj

for some j > 0. 77 This implies that the vertices of K have a 77


Exercise !
common neighbor in V \ Vz . This contradicts that K has size ω(G).

This proves the lemma.

The rest is a walk in the park.

Theorem 4.73. Let k ∈ N. The class of graphs of rankwidth 6 k


is χ-bounded.

Proof. Define a function f : N → N

for s ∈ N : f(s) = 2k·s · 3s−1

Let G be a graph of rankwidth 6 k. We show that χ 6 f(ω) by


induction on ω.

When ω = 1 then χ = 1 6 f(1).


4.6 Rankwidth 195

When ω > 1 then by Lemma 4.72 there is a coloring φ of G that


uses at most 3 · 2k colors and has the property no maximum clique
is monochromatic.

The subgraphs induced by the color classes of φ have rankwidth


6 k — so — each color class of φ has a proper coloring with at
most f(ω − 1) colors.

Color a vertex x by a pair:

(1) the index of the color class of φ that contains it

(2) the color assigned by the proper coloring.

The number of colors used by this proper coloring of G is at


most
3 · 2k · f(ω − 1) = f(ω)

This proves the theorem.

H. Guo, T. Kloks, H. Wang


and M. Xiao, On con-
flict - free colorings of
some classes of graphs.
Exercise 4.58 Manuscript 2019.
A conflict - free coloring of a graph is a function c : V → N which
satisfies the following condition

∀x∈V ∃y∈N[x] ∀z∈N[x]\{y} c(y) 6= c(z). (4.13)

Show that there is an O(n3 ) algorithm to compute the conflict-free


chromatic number χCF (G) for graphs of bounded rankwidth and
bounded clique number.

Hint: Clearly χCF (G) 6 χ(G). A class of graphs of rankwidth


6 k is χ-bounded. This solves the problem since (4.13) is a formula
in monadic second-order logic.
The real question is to find a good upper bound for

max { χCF (G) | rankwidth(G) 6 k }.


196 Recent Trends

Remark 4.74. Gyárfás did a lot of pioneering work on χ-bounded


classes of graphs. 78 One conjecture of his is that for any tree 78
A. Gyárfás, Problems from
T the class of graphs that do not have T as an induced subgraph is the world surrounding per-
fect graphs, Proceedings of
χ-bounded. A weaker statement is true — namely — for every the international conference
tree T the class of graphs that do not contain any subdivision of T on combinatorial analysis
and its applications (Pokrzy-
as an induced subgraph is χ-bounded. wna, 1985), Zastos. Mat. 19
(1987), pp. 413–441.
By Erdős’ result the class of triangle-free graphs is not χ-bounded.
To pronounce Gyárfás, try to
Scott and Seymour proved (in 2016) that, for all κ > 0, if G is say something like “garfas.”
a a graph with
κ+2
ω 6 κ and χ > 22

then G has an odd hole. 79


A. Scott and P. Sey-
mour, A survey of χ-
For more general information on χ-boundedness we direct the
boundedness. Manuscript on
reader to the survey by Scott and Seymour. 79 arXiv: 1812.07500, 2018.

4.6.4 Governed decompositions

Bonamy and Pilipczuk prove in 2020 that graphs of bounded


diversity are polynomially χ - bounded. For this purpose they
derive the lemma below.

To present this lemma we need some definitions.

Definition 4.75. A generalized decomposition of a graph G is a


pair (T , η) where T is a rooted tree and η a map η : V(G) → V(T ).

Let (T , η) be a generalized decomposition. For an edge e = {u, v} ∈


E(G) let η(e) be the least common ancestor of u and v in T. For
nodes x, y ∈ V(T ) write x  y when x is an ancestor of y. For a node
x ∈ V(T ) define the graph G < x > as the graph with the following
sets of vertices and edges.

V <x> = { y ∈ V(G) | x  η(y) }


E <x> = { e ∈ E(G) | η(e) = x }
4.6 Rankwidth 197

Definition 4.76. Let C be a class of graphs. A generalized decom-


position (T , η) of a graph is C - governed if the graph G < x > ∈ C
for all x ∈ V(T ).

Let (T , η) be a generalized decomposition of a graph. The (general-


ized) diversity of a branch rooted at a node x ∈ V(T ) is the number
::::::
of neighborhood - classes of G < x > — that is — the number of
equivalence classes when two vertices of G < x > are equivalent if
they have the same neighbors in V(G) \ V < x >.

Let (T , η) be a generalized decomposition of diversity k. A tagging


is a set of functions λx : V < x >→ [k] (x ∈ V(T )) such that u
and v in V < x > have the same neighbors in V(G) \ V < x > when
λx (u) = λx (v).

Let e = {x, y} ∈ E(T ) and let x be the parent of y. Let ρ(e) : [k] → [k]
be a function which assigns ρ(e) (i) = j if

u ∈ V <y> and λy (u) = i ⇒ λx (u) = j.

The functions ρ(e) (e ∈ E(T )) form a labeling of E(T ) with


elements of F = [k][k] . w1
r

Let F = [k][k] — that is — F is the collection of functions


[k] → [k]. Denote the composition of two functions f and g in F as wm
f ◦ g.
x
Definition 4.77. A subset A ⊆ F is forward Ramsey if for all
Figure 4.6: Edge - labels are
e, f ∈ A elements of F = [k][k] . A
e = e ◦ f. word wx is the sequence of
edge labels from the root to
x. It relates to the function
Definition 4.78. A decomposition (T , η) of a graph is Kruskalian w1 ◦ · · · ◦ wm .
if the set of edge - labels is forward Ramsey.
Bonamy and Pilipczuk call
A decomposition (T , η) is shallow if every path to the root has at the Kruskalian decomposi-
tions: splendid.
most two nodes.

Bonamy and Pilipczuk prove the following lemma. We take a


look at the proof.
198 Recent Trends

Lemma 4.79. Let C be a hereditary class of graphs. There


exists p ∈ 2O(k log k) and a sequence of hereditary classes

D0 ⊆ D1 ··· ⊆ Dp

such that

1. D0 = C

2. Dp is the class of graphs that have a C - governed decompo-


sition of generalized diversity k

3. for i ∈ [p] all graphs in Di have a Di−1 - governed decom-


position of generalized diversity k which is Kruskalian or
shallow.

4.6.5 Forward Ramsey splits T. Colcombet, A combi-


natorial theorem for trees.
In Proceedings ICALP’07,
To prove Lemma 4.79 the authors make use of a lemma that they Springer, LNCS 4596,
attribute to Thomas Colcombet. We present the lemma without pp. 901–912, 2007.

proof.

Consider a tree T with a root and an edge - labeling ρ : E(T ) → F


where F = [k][k] . A ‘word’ is a sequence of edge labels on a path
from the root to a node.

Let F∗ the set of words of finite length with letters in F. For a


nonempty word w ∈ F∗ let φ(w) ∈ F denote the function that is
the composition of the letters in w.

Let w be a nonempty word say w = w1 · · · wn . Let w[x, y]


denote the word wx+1 · · · wy (for 0 6 x < y 6 n). A split of height
h of w is a map {0, · · · , n} → [h]. Two positions 0 6 x < y 6 n
are s - equivalent if

s(x) = s(y) and s(z) 6 s(x) for all x 6 z 6 y.


4.6 Rankwidth 199

Definition 4.80. A split is forward Ramsey if for every two s -


equivalent pairs x < y and x0 < y0

φ(w[x, y]) = φ(w[x, y]) ◦ φ(w[x0 , y0 ]).

Lemma 4.81 (Colcombet). There exists a map µ : F∗ → kk with


 

the following property. Let w be a nonempty word and let sw be the


Notice that we define the
split sw (x) = µ( w[0, x] ). Then sw is forward Ramsey. ‘forward Ramsey - concept’
for
1. Sets A ⊆ F
For the tree
:::
T define a split of height h as a function V(T ) →
2. Splits of words in F ∗
[h]. For a node x let wx be sequence of edge - labels on the path
3. Splits of F - labeled trees.
from the root to x. The split is forward Ramsey if it is a forward
Ramsey split of wx for every x ∈ V(T ).

4.6.6 Factorization of trees

Let (T , r) be a rooted tree. A factorization is a partition of V(T ) in


parts that induce subtrees. The parts are called factors. The root
of a factor is the vertex closest to r.
Let P be a factorization. The quotient tree T/P is obtained from
T by shrinking each factor to its root.
Assume that T has an edge - labeling ρ : E(T ) → F. The quotient
tree has an edge - labeling ρ/P defined as follows. Let e = {x, y} be
an edge of T/P and assume that x is the parent of y. Let e1 . . . em
be the sequence of edges on the path in T from the root of x to the
root of y. Define the edge label of the quotient tree as follows

ρ/P (e) = ρ(e1 ) ◦ · · · ◦ ρ(em ).

Bonamy and Pilipczuk prove the following lemma.


3|F|
Lemma 4.82. There exists a sequence (Ti )i=0 which satisfies the
following. 80 80
The sequence has 3 ·kk +1
elements.
• each Ti is a class of edge - labeled trees with labels from F

• for all i Ti ⊆ Ti+1


200 Recent Trends

• the class T0 has only one element which is a tree with one
node. The class T3|F| is the class of all edge - labeled trees with
labels from F

• for all i > 0 every tree in Ti has a factorization with factors


in Ti−1 and with a quotient tree that is either Kruskalian or
shallow.

Proof. Let (T , ρ) be a rooted tree with an F - labeling on its edges.


Define the level of (T , ρ) as follows.

level (T , ρ) = min {h | (T , ρ) has a split of height h }

The level of (T , ρ) is at most kk by Colcombet’s lemma. For x ∈ V(T ) define t(x) =


µ(w[0, x]).
Also — define a complexity of (T , ρ) as follows.

• if T has only one node then then the complexity of (T , ρ) is 0

• otherwise — when T has at least two nodes — the complexity


is the smallest number k such that (T , ρ) has a factorization
of which every factor has complexity < k and for which the
quotient tree is Kruskalian or shallow.

We claim that

complexity (T , ρ) 6 3 · level (T , ρ). (†)

This claim implies the lemma: let Ti be the set of trees with
edge - labels in F that have complexity i.

We prove (†) by induction on the level.

The following observation is our primary tool.

Exercise 4.59
Let A, B ⊆ F and assume that A ∩ B 6= ∅. If A and B are forward
Ramsey then so is A ∪ B. Recall the definition 4.77 of
forward Ramsey - subsets of
F.
Assume that the level of (T , ρ) is 1 — that is — T has a split of
height one: t(x) = 1 for all x ∈ V(T ). Let’s start with the base
case.
4.6 Rankwidth 201

Exercise 4.60
Let y ∈ V(T ) be a child of the root and let Ay ⊆ F be those
elements of F that are assigned by ρ to edges of the subtree rooted
at y. The set Ay is forward Ramsey.
Hint: Let z be a child of y. The elements of wz are forward Ramsey.
All words wz contain the element ρ(r, y). The previous exercise
shows that Ay ∪ {ρ(r, y)} is forward Ramsey. This implies that Ay
is forward Ramsey.

Exercise 4.61
For every child y of the root the complexity of the tree rooted at
y is at most one.
Hint: Take a factorization into single nodes. All factors have
complexity zero and the quotient tree is just the tree Ty . By the
previous exercise it is Kruskalian. This shows that the complexity
of (T , ρ) is at most two because we can take a factorization with
the root as one factor and each subtree rooted at a child y of r as
a factor. Then the quotient is shallow.
This proves (†) for the base case; when the level of T is one. That base case was easy
enough; let’s get on with the
Induction step: Assume that the level of (T , ρ) is ` > 1 and let t induction step; I bet it goes
be a split of T of height `. Define X ⊆ V(T ) as follows ‘in the same way.’ (After
all; we only have a short list
of ingredients to cook the
X = { x ∈ V(T ) | t(x) = ` }. proof.)

Define a factorization P of T as follows. Two nodes x and y are


in the same part if either

1. neither x nor y has an ancestor in X (which implies x, y ∈


/ X)

2. x and y have the same least ancestor in X.

For x ∈ X let Px be the factorization of the subtree rooted at x.


Figure 4.7: An artist’s im-
Let y ∈ X have an ancestor in X \ y. Then (Ty /Py , ρy /Py ) is pression of a factorization.
Kruskalian. The argument to prove this is similar to the one asked
for in Exercise 4.60: Let x ∈ X be the least ancestor of y not equal
to y and let z ∈ X be a descendant of y in X. Let Qxz be the path
in T/P from x to z; then {x, y} is the first edge of Qxz . The set Bz
202 Recent Trends

of elements assigned by ρ/P to edges of Qxz is forward Ramsey. It x


follows that the union of ∪Bz for z ∈ X that are descendants of y is
y
forward Ramsey. Qxz

Claim: Let y ∈ X and assume that y has an ancestor in X \ y.


Then the complexity of (Ty , ρy ) is at most 3` − 1. By the previous
observation (Ty /Py , ρy /Py ) is Kruskalian. Let F be a factor of Py . z
We show that F has complexity at most 3` − 2. The only node of F
Figure 4.8: Illustration to
that is at height ` is the root of F. Take a factorization with the show that (Ty /Py , ρy /Py )
root as one factor and with every branch of the root as one factor. is Kruskalian.
Each branch has level 6 ` − 1 — and so — (by the induction
hypothesis) its complexity is at most 3` − 3. The root is a factor
with one node and so it has complexity zero. The factorization is
shallow — and so — F has complexity at most 3` − 1.
R Is the maximal subtree of
T in which no path to the
Let R be the subtree of T induced by the nodes that have at most
root has two elements of X.
one ancestor in X.

Claim: The complexity of R is at most 3 · ` − 1.

To see that notice that for every x ∈ R ∩ X the subtree Rx has


complexity at most 3` − 2 (because the only node of Rx of height `
is the root). 81 81
So — if the root of T is
in X then we are done.
Let R0 be the subtree of nodes that have no ancestor in X. Then
R0 has a forward Ramsey split of height `−1 and so its complexity r
is at most 3` − 3. R0

This proves the claim because {R0 , Rx | x ∈ R ∩ X} is a shallow


x x
factorization of R with all factors having complexity at most x x
3` − 2.
Figure 4.9: The figure illus-
It’s time to finish the proof of (†). Let Q be the partition trates the factorization of R
of V(T ) with factors R and Ty for the nodes y ∈ X that have into R0 and subtrees Rx .

exactly one ancestor 6= y in X. Then all factors have complexity


6 3 · ` − 1. — Furthermore — the quotient is shallow — and so —
the complexity of T is at most 3 · `.

The lemma of Bonamy and Pilipczuk follows from Lemma 4.82.


4.6 Rankwidth 203

Lemma 4.83. Let C be a hereditary class of graphs and let p = 3·kk .


There exists a sequence of hereditary classes

D0 ⊆ D1 ··· ⊆ Dp

such that

1. D0 = C

2. Dp is the class of graphs that have a C - governed decomposition


of generalized diversity k

3. for i ∈ [p] all graphs in Di have a Di−1 - governed decomposi-


tion of generalized diversity k which is Kruskalian or shallow.
3|F|
Proof. By Lemma 4.82 there exists a sequence (Ti )1 of trees
with edge - labels in F such that trees in Ti have a factorization
that has all factors in Ti−1 and a quotient which is Kruskalian or
shallow.

Let Di be the class of graphs that have a C - governed decomposition


of diversity k which is a tree in Ti .

We leave it to the reader to check that the classes Di


satisfy the required properties.

Exercise: Show that the


class of circle graphs is closed
Remark 4.84. Geelen et al shows that for any circle
::::
graph H under vertex - minors.
the graphs that do not have H as a vertex - minor have bounded
rankwidth. — So — these graphs are polynomially χ - bounded.

4.6.7 Kruskalian decompositions

We end this chapter with some remarks about the Kruskalian


decompositions. These observations show that a class of graphs
of bounded rankwidth is polynomially χ - bounded.

Let C be a hereditary class of graphs and denote the closure of


C under modular substitution by C∗ . — For example — when C
204 Recent Trends

be the class of graphs that have at most two vertices then C∗ is the
class of cographs.

Notice that C∗ is the class of graphs that have a C - governed


decomposition of diversity one.

When C is polynomially χ - bounded then so is C∗ .

The fact that T is Kruskalian implies that there is a partition of V(G)


into at most k parts such that for all parts the decomposition has
an edge - labeling which a constant function.

For each part Gi partition the levels of T in odd and even. This
defines two spanning subgraphs of Gi — say Gi0 and Gi1 where Gi0
has the edges of Gi defined by the nodes in even levels of T and Gi1
has the edges of Gi defined by nodes in odd levels of T .

Since the labeling is a constant function Gi0 and Gi1 are both in C∗ .

4.6.8 Exercise

Exercise 4.62

Show that the class of AT - free graphs is linearly χ - bounded. Permutation graphs and in-
terval graphs are AT - free.
Hint: Every connected AT - free graph has a dominating pair — These classes are perfect; so
χ = ω. These classes are
that is a pair {a, b} of vertices with the property that every path complements of comparabil-
that runs between a and b is a dominating set in the graph. ity graphs. That is ; they are
intersection graphs of contin-
uous functions f : [0, 1] → R.
(This implies that cocompa-
rability graphs are AT - free.)
Remark 4.85. Graphs of bounded :::::
linear rankwidth are linearly χ AT - free graphs are not per-
- bounded. fect as C5 is AT - free.

J. Nešetřil, P. Ossona de Mendez, R. Rabinovich and S. Siebertz,


Linear rankwidth meets stability. Manuscript on arXiv: 1911.07748,
2019.
4.7 Clustered coloring 205

4.7 Clustered coloring

Hadwiger conjectures that graphs without Kt - minor can be


colored with t − 1 colors. This has been proved for t 6 6 (and it is
open for t > 7). The conjecture dates back to
1943.
Exercise: What are the
graphs that do not have K3
Definition 4.86. Let G be a graph. A cluster coloring of G with as a minor? Are they col-
k colors and cluster number c is a map f : (V) → [k] such that orable with two colors? K4
poses similar questions that
for each i ∈ [k] the graph induced by the vertices of color i has no you should be able to answer.
component with more than c vertices. The case t = 5 is equiva-
lent to the 4-color theorem.
(That is so because by Wag-
Definition 4.87. Let G be a class of graphs. The cluster chromatic ner’s theorem every 4 - con-
nected graph is planar if and
number of G is the least number k for which there exists c ∈ N only if it has no K5 - minor.)
such that all graphs in G can be cluster colored with k colors and
cluster number c.

In 2018 Jan van den Heuvel and David Wood proved the
theorem below. In this chapter we take a look at the proof.

Theorem 4.88. Let t > 4. Every Kt minor free - graph has


a cluster coloring that uses (2t − 2) colors and has cluster
number d(t−2)/2e.

4.7.1 Bandwidth and BFS - trees with few leaves


To prove Theorem 4.88 we start with some easy exercises. (The
rest turns out to be easy as well.)

Definition 4.89. A graph has bandwidth k if its vertices can be


ordered v1 · · · vn such that

{vi , vj } ∈ E ⇒ |i − j| 6 k.
206 Recent Trends

Clearly when a graph has bandwidth k then it is a subgraph


of an interval graph with clique number k + 1 — that is — the
pathwidth of a graph is at most its bandwidth.

Let G be a graph and let T be a BFS - tree of G. The tree


partitions the vertices of G in layers 82 — say V0 · · · V` — where 82
the BFS - levels
Vi is the set of vertices that are in G at distance i from the root.
For a vertex x ∈ Vi its parent is its neighbor in T in layer Vi−1 .

The BFS - tree orders each layer Vi such that

1. the parent of a vertex x ∈ Vi is the first neighbor of x in Vi−1

2. if {x, y} ∈ E(G) and x ∈ Vi and y ∈ Vi−1 then there does not


exist {a, b} ∈ E with a before x in Vi and b after y in Vi−1 .

Exercise 4.63
Let k ∈ N and let G be a connected graph that has a BFS - tree
with at most k leaves. Show that the bandwidth of G is at most k.

Hint: Notice that each layer has at most k vertices. Take a linear
order
V0 V1 ··· V` .

Let G be a graph and let T be a BFS - tree of G. A BFS -


subtree of T is a subtree of T that contains the root of T . (A BFS
- subtree is a BFS - tree of the graph induced in G by its vertices.)

Exercise 4.64
Let G be a connected graph and let T be a BFS - tree of G. Let S
be a BFS - subtree of T with k leaves. Every vertex of G has at
most 2k neighbors in V(S).

Hint: Let P be a path in S that runs from the root to a leaf. It is


sufficient to show that every vertex x in G has at most 2 neighbors
in P. That is clearly so when x ∈ P because P is a shortest path.
Let x ∈ / P and assume that x is adjacent to three vertices in P —
say — a, b and c. Let a ∈ Vi−1 , b ∈ Vi and c ∈ Vi+1 . Let y be
4.7 Clustered coloring 207

the parent of x. Then — by the first rule — y appears before a


and (by the second rule) x appears before b in Vi . But then (by
the first rule) c is adjacent to x instead of b in T .

4.7.2 Connected partitions


In their paper Van den Heuvel and Wood prove the following
theorem which implies Theorem 4.88.

Let G be a graph. A connected partition {H1 , · · · , H` } is an


ordered partition of V(G) such that each part Hi induces a con-
nected subgraph of G. Two parts are connected if there is an
edge in G with an endpoint in both.

Theorem 4.90. Let t > 4 and let G be Kt - minor free. Then


G has a connected partition {H1 , · · · , H` } which satisfies for all i:

• Hi is adjacent to at most t − 2 parts of H1 · · · Hi−1

• every vertex of the induced subgraph Hi has degree at most t − 2

• the induced subgraph Hi is 2 - colorable with cluster d(t−2)/2e.


In an early paper Van den
Heuvel et al. show that
each part Hi has a BFS - tree
Exercise 4.65 with at most t − 3 leaves.
— So — a 2 - coloring of
Show that Theorem 4.90 implies Theorem 4.88. the BFS - layers yields a 2
- coloring of the part with
Hint: Color the parts Hi such that adjacent parts receive different cluster number t − 3.

colors. — Obviously — t−1 colors are sufficient. Color the vertices


of the graph G with a pair:::
of colors: one element of the pair is
the color of the part that contains the vertex and the other element
of the pair is the color that the vertex receives by a 2 - coloring of The Steiner tree problem
the part with cluster number d(t−2)/2e. asks for a tree in G (of min-
imum weight) which spans
all vertices of a set of ‘termi-
nals.’ This problem is fixed
Theorem 4.90 is proved via the following two lemmas. - parameter tractable (with
parameter the number of ter-
minals).
Lemma 4.91. Let G be a connected graph and let A ⊆ V(G) with
A ‘minimal’ induced con-
|A| = k > 2. Let H be a connected induced subgraph of G with nected subgraph H as spec-
A ⊆ V(H) and ified in Lemma 4.91 is com-
putable by a greedy algo-
rithm.
208 Recent Trends

• every vertex of H − A is a cutvertex of H

• for every vertex x ∈ H − A every component of H − x has a


vertex of A.

Then the graph H has the following properties.

1. every tree contained in H has at most k leaves

2. every vertex of H has degree at most k

3. H has bandwidth at most k − 1

4. H has a 2 - coloring with cluster dk/2e

5. H can be colored with colors red and blue such that

• the red subgraph of H has at most k − 2 vertices


• the blue subgraph of H is a union of at most k − 1 paths.

Proof. All the leaves of a spanning tree T of H are in A (by the


minimality of H). It follows that any tree in H has at most k
leaves — and so — every vertex of H has degree at most k. By
Exercise 4.63 H has bandwidth k − 1 (since H has a BFS - tree with
a root in A).

We show that H has a 2 - coloring with cluster dk/2e. When |V(H)| =


k then this is obvious. We proceed by induction on |V(H)|.

When |V(H)| > k then H has a cutvertex. Let v ∈


/ A be a Every vertex of H − A is a
cutvertex such that some component L of H − v has the least cutvertex of H.

number of elements in A. — Clearly — V(L) ⊆ A and |V(L)| 6 k2 .


A4 v L

Let H0 = H − L and let A2


·
A1
A0 = (A \ V(L)) ∪ {v}.
A3
Then H0 is a minimal connected subgraph of G that spans A0 and
The figure illustrates the in-
|V(H0 )| < |V(H)| and |A0 | 6 k. By induction H0 has a 2 - coloring duced subgraph H.
with cluster number dk/2e. To color H color the vertices of L by
the color that is not used by v.
4.7 Clustered coloring 209

We show that H has the required red / blue - coloring.

We use induction on k. When k = 2 then H is a path between two


vertices of A. In that case color all vertices of H blue.

Assume k > 3 and let x ∈ A be such that H − x is connected.


Let H0 be a minimal connected subgraph of H − x that contains
A \ x. By induction H0 can be colored with 6 k − 3 red vertices
and 6 k − 2 blue paths. When x ∈ V(H0 ) then we are done.

Otherwise when x ∈ / V(H0 ) let P = [x · · · u, v, w] be a shortest path


x A \ x in H — that is — v is the only vertex of P \ w that
has neighbors in V(H0 ). Color v red and the path P \ {v, w} blue.
This colors all vertices of H with a color red or blue. There are at
most k − 2 red vertices and the blue vertices form a union of at
most k − 1 paths. — Furthermore — V(H) ⊆ V(P) ∪ V(H0 ) (by
the minimality of H).

This proves the lemma.

To compute H as mentioned
in Lemma 4.92 construct a
Lemma 4.92. Let G be a connected graph, let A ⊆ V(G) and let BFS - tree rooted at a ver-
tex of A. Extract a min-
|A| = k > 2. There exists an induced subgraph H which satisfies imal subtree that spans all
all the items mentioned in Lemma 4.91 and which — furthermore vertices of A. Repeatedly
— has the property that every vertex in G has at most 2k − 2 remove vertices that are not
in A and that are not
neighbors in V(H). cutvertices.

Proof. Let T be a BFS - tree with a root in A. Let S be the minimal


subtree of T that contains all elements of A. Let H be a minimal
induced subgraph of G[V(S)] — as mentioned in Lemma 4.91 —
which spans A. Then V(H) ⊆ V(S).

The tree S has at most k − 1 leaves. By Exercise 4.64 every vertex


of G has at most 2(k − 1) neighbors in V(S).

The claims follow from Lemma 4.91.

This proves the lemma.


210 Recent Trends

4.7.3 A decomposition of Kt minor free graphs

In this section we prove Theorem 4.90 (which implies


Theorem 4.88).

Definition 4.93. Let {H1 , · · · , H` } be a connected partition of


a graph G. It has width k if for all t every component of
G − it=1 Ht is adjacent to at most k of the graphs H1 , · · · , Hi .
S

The following theorem implies Theorem 4.90.

Theorem 4.94. Let t > 4 and let G be a graph without Kt as a


minor. There is a connected partition {H1 , · · · , H` } of width t − 2
such that each Hi satisfies the following conditions.

(a) Hi is a graph of which every vertex has degree at most t − 2

(b) Hi has bandwidth t − 3

(c) Hi has a 2 - coloring with cluster d(t−2)/2e

(d) Hi can be colored with colors red and blue such that

• there are at most t − 4 red vertices


• the blue vertices induce a union of at most t − 3 paths.

— Furthermore — let C be a component of G − it=1 Ht . Then


S

C satisfies the following.

(i) at most t − 2 of the graphs H1 , · · · , Hi are adjacent to C and


those are pairwise adjacent

(ii) every vertex of C has at most 2t − 6 neighbors in each of the


sets V(H1 ), · · · , V(Hi ).

Proof. We may assume that G is connected. Construct the Hi


one by one as follows. Choose an arbitrary vertex x of G and let
V(H1 ) = {x}. Then H1 and every component of G − H1 satisfy all
the items.
Assume there is a component C in G − it=1 Ht . Let Q1 , · · · , Qk
S

be the elements of {H1 , · · · , Hi } that are adjacent to C. We may


assume that k 6 t − 2 and that the Qi ’s are pairwise adjacent.
4.7 Clustered coloring 211

Define Hi+1 as follows. For j ∈ [k] let vj ∈ C be a vertex with


a neighbor in Qj . When k = 1 then let V(Hi+1 ) = {v1 }. When
k > 2 let Hi+1 be the graph as produced in Lemma 4.92 which
contains {v1 , · · · , vk }.

Let C0 be a component of G − i+1 0


S
t=1 Ht . Notice that either C ⊂ C
0
or C ∩ C = ∅.

Assume C0 ∩ C = ∅. Then C0 is a component of G − it=1 Ht and


S

C0 is not adjacent to Hi+1 .

Assume C0 ⊂ C. By induction and Lemma 4.92 every vertex of


C0 has at most 2t − 6 neighbors in each of H1 , · · · , Hi+1 . The
neighbors of C0 are a subset of Q1 , · · · , Qk , Hi+1 and these are
pairwise adjacent.

Suppose k = t − 2. Contract each of Q1 , · · · , Qt−2 , Hi+1 and C0


to a single vertex. This produces Kt which contradicts that G
does not have Kt as a minor.

This proves the theorem.

4.7.4 Further reading

In case you haven’t read this; it’s a “golden oldie.”

S. Dreyfus and R. Wagner, The Steiner problem in graphs, Networks


1 (1972), pp. 195–207.

In 2018 Chung - Hung Liu and Sang-il Oum found that the
cluster chromatic number of Kt - minor graph graphs is at most
3(t − 1). 83 83
The cluster numbers of
these colorings are very
C.-H. Liu and S.-i. Oum, Partitioning H - minor free graphs into large.
three subgraphs with no large components, Journal of Combinatorial
Theory 128 (2018), pp. 114–133.

In 2020 Chun - Hung Liu determines the cluster chromatic


number up to a small additive constant for graphs without H -
immersion.
:::::::::
212 Recent Trends

Chun - Hung Liu, Immersions and clustered coloring. Manuscript


on arXiv: 2007.00259, 2020.

Definition 4.95. A coloring of a graph with k colors and defect


d is a coloring f : V(G) → [k] such that in every monochromatic
component every vertex has degree at most d.

In their paper Van den Heuvel and Wood show that Kt - minor
free graphs can be colored with t−1 colors and defect t−2. Edwards
et al. show that the class of Kt - minor free graphs has defective
chromatic number :::::
equal to t − 1. A class of graphs has defec-
tive chromatic number k if
The paper of Edwards et al. shows — also — that the class of there exists d ∈ N such that
every graph in the class has
graphs without topological Kt minor is colorable with t − 1 colors a coloring with k colors and
and defect O(t4 ). defect d.

K. Edwards, D. Y. Kang, J. Kim, S.-i. Oum and P. Seymour, A


relative of Hadwiger’s conjecture, SIAM Journal on Discrete Mathe-
matics 29 (2015), pp. 2385 – 2388.

Let T be a tree with n edges. When n is large enough


K2n+1 can be ::::::
packed with 2n + 1 copies of T . The edges of K2n+1 can be
colored with 2n + 1 colors
R. Montgomery, A. Prokovskiy and B. Sudakov, A proof of Ringel’s such that each color induces
a copy of T . This is called
conjecture. Manuscript on arXiv:2001.02665, 2020. Ringel’s conjecture.

Let T be an oriented tree on n vertices. When n is large


enough any tournament with 2n − 1 vertices contains a copy of
T.

D. Kühn, R. Mycroft and D. Osthus, A proof of Sumner’s universal


tournament conjecture for large tournaments. Manuscript on arXiv:
1010.4430, 2010.
4.8 Well - Quasi Orders 213

4.8 Well - Quasi Orders

We might as well put the definitions of well - quasi orders here.

Definition 4.96. A quasi - order is a set with binary relation


which is reflexive and transitive.

Notice that a quasi - order is similar to a partial order — except


that — quasi - orders are not necessarily anti - symmetric.

Definition 4.97. A quasi - order is a well - quasi order if — for


any infinite sequence of elements x1 , x2 , · · · — there exist indices
i < j such that xi  xj .

Exercise 4.66
Let T be a tree not necessarily finite with a root. Define the run -
out of a point x in T as the supremum of the lengths of paths in T
that have x as endpoint.
Prove Kőnig’s infinity lemma:
If every point of T has finite out - degree and some point P has
infinite run - out then there is an infinite path that starts in P.
This proof is not construc-
Notice that the condition that the out - degree is finite is essential. tive; only a proof by contra-
diction shows the existence
Hint: At any point P with infinite run - out there must be a of a successor. So it is
successor Q which has also infinite run - out. not a proof in the sense of
L.E.J. Brouwer.

4.8.1 Higman’s Lemma

Let A be a finite alphabet of letters and consider an


infinite sequence
w1 w2 w3 ···
of ‘words’ — that is — finite nonempty sequences of letters

w i = w i[ 1 ] w i[ 2 ] ... w i[ k ]
214 Recent Trends

where k is the length of the word wi and wi (`) ∈ A for ` ∈ [ k ]. 84 84


The notation A∗ is used
Higman’s lemma asserts that there exist i < j such that wi is a for the set of finite sequences
over the alphabet A. So we
subsequence of wj . By that we mean that there is an increasing have wi ∈ A∗ for i ∈ N.
function f : N → N such that Perhaps we should have used
‘ki ’ instead of k for the
length of the word wi . Just
w i [ k ] = w j [ f( k ) ] note that words may have dif-
ferent lengths. We assume
that the words are finite and
for k = 1 up to the length of wi .
nonempty so their lengths
are in N.
Below we present Nash-Williams’ proof of the lemma.

Lemma 4.98. The set A∗ of finite nonempty sequences over a


finite alphabet A is well-quasi ordered by the subsequence relation.

Proof. Nash-Williams introduces the notion of a ‘bad sequence.’


A sequence (wi ) (i ∈ N) is bad if for no pair i < j wi is a
subsequence of wj . Assume that there exists a bad sequence.

Construct a minimal bad sequence as follows. Let x1 ∈ A∗ be


a word of minimal length that starts some bad sequence. Let
x2 ∈ A∗ be a word of minimal length such that there exists a bad
sequence that starts with x1 , x2 . For i ∈ N let xi+1 ∈ A∗ be of
minimal length such that there is a bad sequence starting with
x1 · · · xi+1 .

Choose an infinite subsequence of (xi ) — say (yi ) — such that all


words yi start with the same letter. From each yi remove the first
letter and call the new sequence (y0i ). Then (y0i ) is a bad sequence.

Let y1 = xn . The sequence

x1 ··· xn−1 y01 y02 ···

is bad also. But this contradicts the choice of xn since y01 is a


shorter word and x1 · · · xn−1 y01 starts a bad sequence.

This proves the lemma.


4.8 Well - Quasi Orders 215

4.8.2 Kruskal’s Theorem


Kruskal’s theorem extends Higman’s lemma to sequences of labeled
trees.

Consider an infinite sequence of rooted trees 85 — say 85


A root in a tree is one
vertex that is labeled as
T1 T2 ··· ‘root.’

Assume that the vertices of each tree have been labeled with elements
from some finite set — say [ k ] — for k ∈ N. 86 86
To spell: ‘labeling’ and ‘la-
belling’ are both OK.
Kruskal ’s theorem says that there exist i < j such that Ti can
be ‘ embedded ’ into Tj . This is defined as follows.

Definition 4.99. Define for two labeled trees Ti and Tj


Ti  Tj
if there is an injective map A function A → B is
injective if every b ∈ B is
f : V( Ti ) → V( Tj ) the image of at most one el-
ement in A.
that satisfies
1. f maps the root of Ti to the root of Tj

2. f preserves labels — that is —


label ( f( x ) ) = label( x ) ,

3. for any two vertices x and y of Ti their common ancestor is


mapped to the common ancestor of f( x ) and f( y ) .

We present Kruskal’s theorem without proof.


Theorem 4.100. The set of rooted trees with vertices labeled from
a finite set is well - quasi ordered. — That is — let k ∈ N and let
T1 , T2 , · · · be an infinite sequence of rooted trees with vertices labeled
from [k]. Then there exist indices i < j that satisfy
Ti  Tj .

The theorem remains true when the trees are labeled with elements
of a well - quasi order. Nash – Williams gives an elegant proof of
Kruskal’s theorem.
216 Recent Trends

4.8.3 Gap embeddings

Let (Q, ) be a quasi - order and let k ∈ N. Let T be the set of


triples (T , f, a) where

• T is a rooted tree

• f : V(T ) → Q

• a : E(T ) → [k].

Define a quasi - order  on T as follows. Let t = (T , f, a)


and r = (R, g, b) be two elements of T. Let t  r if there exists
an injective map η : V(T ) → V(R) which satisfies the following
conditions.

1. η maps the root of T to the root of R and η maps the common


ancestor of any two points in T to the common ancestor of their
images in R

2. for an x ∈ V(T ): g(η(x))  f(x)

3. for any edge e = {x, y} ∈ E(T ): a(e) 6 b(e0 ) for all e0 ∈ E(R) that
lie on the path from η(x) to η(y).
The theorem remains valid
when N is replaced with —
Theorem 4.101. Let (Q, 6) be a well - quasi order and let k ∈ N. say — N ∪ {i, 0, ∞}.
The collection T of labeled trees — as defined above — is well -
quasi -ordered by the relation .
I. Tzameret, Kruskal - Fried-
man gap embedding theorems
over well - quasi - orderings.
Remark 4.102. Above we assume that the edge - labels are from a Thesis, Tel Aviv University
2002.
totally ordered set [k]. Tzameret shows that this can be relaxed
— but — not ‘all the way.’
4.9 Threshold graphs and threshold - width 217

4.9 Threshold graphs and threshold - width

Threshold graphs were given their name by Chv átal


and Hammer. Below we present one way to define this class of
graphs.

Definition 4.103. A graph is a threshold graph if every induced


subgraph has an isolated vertex or a universal vertex. 87 87
A vertex is isolated if its
neighborhood is empty. A
vertex is universal if it is ad-
jacent to all other vertices.
When a graph has only one
Exercise 4.67 vertex it is both; isolated and
universal.
A graph is a threshold graph if and only if its complement is that.
Show that a graph is a threshold graph if and only if it has no r r r r r r
induced P4 , C4 , or 2K2 . r r r r r r

Figure 4.10: The figure


Exercise 4.68 shows P4 , C4 and 2K2 .

A graph is a split graph if its vertices partition into a clique and


an independent set. Show that a graph is a split graph if and only if
it does not contain 2K2 , C4 or C5 as an induced subgraph. Show
that every threshold graph is a split graph.

The threshold dimension θ(G) of a graph G = (V, E) is the


minimum k ∈ N for which there are k threshold graphs Gi = (V, Ei )
with Ei = E. There exists an O(n3 ) - algorithm to check if
S

θ(G) 6 2. To check if θ(G) 6 3 is NP-complete. 88


Recall from Section 2.9.3
on page 80 that a graph is
trivially perfect if it has no
induced P4 and no induced
Exercise 4.69
C4 . Since C̄4 = 2K2 a
88 graph is a threshold graph
What is the threshold dimension of a trivially perfect graph? if and only if it and its com-
plement are trivially perfect.
218 Recent Trends

4.9.1 Threshold - width

A — somewhat — similar concept is that of the threshold


- width of a graph.

Definition 4.104. A graph G has threshold - width 6 k if it


has k independent sets N1 , · · · , Nk such that there is a threshold
graph H that has G as a spanning subgraph and every edge of
H — which is not an edge of G — has both endpoints in Ni for
some i ∈ [k].

Denote the smallest k such that a graph G has threshold -


width 6 k as τ(G). In this section we show that τ 6 k is fixed
parameter - tractable. 89 89
Even better!

Theorem 4.105. There exists a characterization of the graphs


that satisfy τ 6 k by a finite collection of forbidden induced
subgraphs.

Proof. Observe that the class of graphs that satisfy τ 6 k is


hereditary. — So — there exists a collection F of graphs F that
satisfy τ(F) > k and for every vertex x ∈ V(F) τ(F − x) 6 k.

It is our job to prove that |F| is finite.

A graph is a threshold - graph if its vertices can be put in a linear


order such that each vertex is either adjacent to all vertices that
come after it or not adjacent to any vertex that comes after it.

Let G be a graph that has threshold - width 6 k. Let N1 , · · · , Nk


be k independent sets in G that witness this. We identify the
graph with a word with letters from a finite alphabet as follows.

Label each vertex x with a (0, 1)-vector `(x) of length k with the
ith entry 1 if x ∈ Ni . Then G has a linear order of its vertices
such that each vertex x is — either

(i) not adjacent to any vertex that comes after it


4.9 Threshold graphs and threshold - width 219

(ii) adjacent to exactly all vertices y that come after x for which
`(x) · `(y) = 0.

(Here `(x) · `(y) denotes the inner product of the two labels; it is not
zero when x and y occupy a similar independent set Ni .)
Identify a graph with a sequence of labels in an elimination order
as above. Notice that if a graph H has a sequence which is a
subsequence of the sequence of the graph G then H is isomorphic
to an induced subgraph of G. 90 90
Exercise !

We proceed by contradiction. Let

F1 F2 ··· (4.14)

be an infinite sequence of different elements of F. Each graph F


in this sequence has τ(F) > k — but — we can choose an arbitrary
vertex r in it such that τ(F − r) 6 k.
Denote a choice for a vertex in the graph Fi as ri . Each Fi − ri
identifies with a word via the labeling procedure described above
with letters from a finite alphabet.
Extend the labels of the vertices of Fi − ri with one additional
(0, 1)-label: 1 if the vertex is adjacent to ri and 0 otherwise. Notice
that if a graph Fi − ri has a sequence which is a subsequence of a
graph Fj − rj then Fi is isomorphic to an induced subgraph of Fj .
91 91
Exercise !

Replace the sequence (4.14) by a sequence of words of finite length


with letters from a finite alphabet. We can make use of Higman’s
Lemma (Lemma 4.98 on Page 214): the sequence must contain
elements i < j such that the word Fi is a subsequence of the word Fj
— that is — Fi is isomorphic to an induced subgraph of Fj . This is
a contradiction — so — |F| ∈ N.
This proves the theorem.

Lemma 4.106. For any graph its rankwidth is at most 2τ .

Proof. Let G be a graph, let N1 , · · · , Nk be k independent sets


in G, and let H be an embedding of G in a threshold graph with
every e ∈ E(H) \ E(G) contained in some Ni .
220 Recent Trends

The graph H has rankwidth 1 (it is distance - hereditary). Let C


be a carving of H with rank(X) 6 1 for every X ∈ C. The rank
of the cut matrix (X, V \ X) of the adjacency matrix of G is at
most 2k . To see that observe that each independent set Ni is
a 0-submatrix in the adjacency matrix of G. It follows that for
X ∈ C there are at most 2k different neighborhoods in V \ X. 92 92
This bound is sharp.

This proves the lemma.

Corollary 4.107. Problems that can be formulated in monadic


second-order logic can be solved in O(n3 ) time for graphs of
bounded threshold - width.

Theorem 4.108. Threshold -width is fixed - parameter tractable.

Proof. The class of graphs with threshold - width 6 k is charac-


terized by a finite collection of forbidden induced subgraphs. This
shows that the recognition can be formulated in monadic second-
order logic.

The graphs of threshold - width 6 k have rankwidth at most


2k . By Courcelle’s theorem there exists an O(n3 ) - algorithm to
recognize graphs of threshold - width 6 k.

This proves the theorem.

Remark 4.109. Theorem 4.108 can also be proved via the formula-
tion of an elimination order — that is — a graph has threshold
- width 6 k if and only if every induced subgraph has an isolated
vertex or a vertex x which is adjacent to all other vertices except
those that are in one of the k independent sets that contain x.
This property be formulated in monadic second order logic.
4.9 Threshold graphs and threshold - width 221

4.9.2 On the complexity of threshold - width

In this section we show that computing the threshold - width of a


graph is NP-complete.

Let us look at an ‘easier’ problem — first. Let K be 93


We could call this the
‘clique - width’ of the graph.
the class of all cliques ie all complete graphs. The K - width of a
Unfortunately, there is an-
graph is the minimum number of independent sets N1 , · · · , Nk in other concept closely related
the graph such that every nonedge of G has its endpoints in one to rankwidth that carries
that name. So we just call
of the Ni . 93 it K - width.

94
L. Kou, L. Stockmeyer
Lemma 4.110. K - Width is NP-complete. and C. Wong, Covering
edges by cliques with regard
Proof. The problem is equivalent to finding a cover of the edges of to keyword conflicts and in-
Ḡ with a minimal number of cliques. Kou, Stockmeyer, and Wong tersection graphs. Commu-
nications of the ACM 21
proved that this is NP-complete. 94 (1978), pp. 135–139.

Theorem 4.111. Threshold - width is NP-complete.

Proof. We reduce K-width to threshold - width.


Let G be a graph for which we would like to compute the K-width.
Starting with G construct the graph G0 :

(a) add a clique C with n2 vertices and make every vertex of C


adjacent to every vertex of G

(b) add one more vertex ω and make it adjacent to all vertices of
G.

Clearly if we add an edge between every nonadjacent pair in G


then G0 becomes a threshold graph. We claim that this is the best
way to embed G0 into a threshold graph.
Let x and y be a nonadjacent pair in G. When x and y are not
adjacent in a threshold embedding of G0 then ω is adjacent to all
vertices of C in that embedding. That is so because a threshold
graph has no C4 . However to make ω adjacent to all vertices of
C needs n2 independent sets (since C is a clique).
222 Recent Trends

This proves that the threshold - width of G0 equals the K - width


of G.
By Lemma 4.110 this proves the theorem.

4.9.3 A fixed - parameter algorithm for threshold - width

We have shown that threshold - width is fixed - parameter tractable.

In this section we present an algorithm.

To get in the mood we start with some — easy — exercises.

Exercise 4.70
Show that a graph is a threshold graph if and only if for any pair
of its vertices x and y

N(x) ⊆ N[y] or N(y) ⊆ N[x].

In other words a graph is a threshold graph if and only if its


vertices can be put into a linear order

x1 ··· xn

such that

1 6 i < j 6 n ⇒ N(xi ) ⊆ N[xj ].

Exercise 4.71
Let G be a graph and let {N1 , · · · , Nk } be a ‘witness’ — ie — a
collection of k independent sets in G. Design an algorithm to check
if G can be embedded into a threshold graph H such that every
edge of H which is not an edge of G has both endpoints in some Ni .
Hint: Define a k-universal vertex as a vertex for which the sets
Ni that contain it cover all its nonneighbors.
4.9 Threshold graphs and threshold - width 223

Exercise 4.72
Let G be a graph of threshold - width 6 k. Let N1 , · · · , Nk be k
independent sets in G that witness this. The witness {N1 , · · · , Nk }
is well-linked if every Ni is a maximal independent set in G.
Prove that every graph of threshold - width 6 k has a well-linked
witness.

Exercise 4.73
Assume G has a well-linked witness {N1 , · · · , Nk } and a threshold
embedding H. Label each vertex as in the proof of Theorem 4.105
with a vector `(x) of length k. Assume two vertices x and y satisfy
NH (x) ⊆ NH [y]. Then

NG (x) ⊆ NG [y] ⇔ `(x) > `(y).

Definition 4.112. Let k ∈ N. A set M of vertices in a graph is


called a k-probe module if either

1. |M| > 3 and every pair of vertices in M is a false twin (in the
graph)

2. |M| > k + 3 and every pair of vertices in M is a true twin.

Lemma 4.113. Let G be a graph; let k ∈ N; and let M be a


k-probe module in G. Then for any x ∈ M

τ(G) 6 k ⇔ τ(G − x) 6 k.

Proof. — Clearly — τ(G − x) 6 τ(G) for any x ∈ V(G).


Assume τ(G − x) 6 k for some x in a k-probe module M. Let H
be a threshold embedding of G − x. Since H is a split graph its
vertices partition into a clique — say C — and an independent
set.
First assume that M is an independent set - module. Then

|M \ x| > 2.
224 Recent Trends

Let y ∈ M\x. If y is in the independent set (that is, if y ∈ V(H)\C)


then we can let x be a false twin of y. This produces a threshold
embedding of G of width 6 k. When (M \ x) ⊆ C then let x be
a true twin of an arbitrary element of M \ x. — Again — this
produces a threshold embedding of G with width 6 k.
Assume that M is a clique module. Then it has at least k + 3
elements. At least k + 1 of those are in C. Choose z ∈ M ∩ C
such that NH [z] is minimal. Assume that z has a neighbor u in
H which is not a neighbor of z in G. Then u is a neighbor in H
but not in G of every vertex of M ∩ C. Since M is a clique in G
the vertex u is contained in at least k + 1 independent sets. This is
a contradiction.
— So —
NH [z] = NG [z]
and we can let x be a twin of z.
This proves the lemma.

Definition 4.114. A vertex x is maximal if for all y ∈ V

N(y) ⊆ N(x) ⇒ N(y) = N(x) and


N[y] ⊆ N[x] ⇒ N[y] = N[x].

Lemma 4.115. Let G be a graph with threshold - width 6 k and


assume that G has no k-probe module. Then the number of
maximal vertices in G is at most

2k+1 + k.

Proof. Let H be a threshold embedding of G with a well-linked


witness {N1 , · · · , Nk }.
Partition the vertices of H into equivalence classes M0 , M1 , · · · of
vertices with the same open - or closed neighborhood. (Each Mi is
a clique or an independent set in H.) Order the classes such that
for each xi ∈ Mi and xi+1 ∈ Mi+1 :

NH (xi+1 ) ⊆ NH [xi ].
4.9 Threshold graphs and threshold - width 225

(So when H is connected M0 is its set of universal vertices.)

Partition each Mi into sets of vertices that have the same label.
95 These ‘label-sets’ are modules in G. Since there is no k-probe 95
Two vertices have the
module each label-set has at most 2 vertices when it is independent same label if every Ni con-
tains both of them or nei-
and at most k + 2 when it is a clique. It follows that for each i ther of them.

|Mi | 6 2(2k − 1) + (k + 2) = 2k+1 + k.

Notice that there are at most 2k label-sets of maximal vertices.


At most 2k − 1 are in independent sets Ni and they have at most
2 vertices. At most one is a clique and it has at most k + 2
vertices.

This proves the lemma.

Lemma 4.116. Let G be a graph of threshold - width 6 k.


Assume that G has no isolated vertices and no k-probe modules.
There exists a set Y ⊆ V, |Y| 6 22(k+1) , such that every threshold
embedding that is a witness has its set of universal vertices M0 ⊆ Y.
The set Y can be computed in linear time.

Proof. Since G has no isolated vertices H is connected. Let M0 be


its set of universal vertices.

To compute a set Y that contains M0 start with Y = ∅. Repeat-


edly add the set of vertices to Y that are maximal in G and
remove those from the graph.

After at most 2k repetitions each label-set of M0 is contained in


Y. Each set of maximal elements has size at most 2k+1 + k which
shows
|Y| 6 2k · (2k+1 + k) 6 22(k+1)

This proves the lemma.


226 Recent Trends

Exercise 4.74
Let U be a set of labeled vertices. As usual; each label is a (0, 1)-
vector of length k and for each entry i the vertices — say Ni —
that have a 1 in that entry form an independent set.

The set U is a probe clique if the inner product of any two labels
of elements in U is zero — that is — if the nonedges of U are
exactly the pairs that share some Ni .

Call U ⊆ V(G) probe universal if each x ∈


/ U can be given a label
such that U ∪ x is a probe clique.

Let U be a probe universal set and let x ∈


/ U be such that the set

U0 = U ∪ N(x)

can be labeled as probe universal with the same number of


nonempty label-sets as U. When there is such a vertex then
choose x such that N(x) is minimal. When G has an embedding
with U as a universal set then G has an embedding with U0 as a
universal set.

Theorem 4.117. Let k ∈ N. There exists an O(n2 ) algorithm


that recognizes graphs of threshold width 6 k.

Proof. We may assume that G has no isolated vertices or k-probe


modules.

By Lemma 4.116 there is a constant number of feasible universal


sets.

Assume there exists a vertex x that can be labeled such that N(x)
extends the universal set in such a way that it does not increase the
number of label-sets. By Exercise 4.74 the algorithm can safely
extend the probe universal set with N(x). Next the algorithm
removes the vertex x and tries to find another greedy extension.

When there are no more greedy extension the algorithm computes


the set Y as in Lemma 4.116. It then tries all subsets of Y as
possible extensions of the probe universal set.
4.10 Black and white - coloring 227

There can be at most 2k steps in this algorithm that increase the


number of label-sets in the probe universal set. The set Y of maximal
elements can be computed in O(n2 ) time.

This proves the theorem.

Exercise 4.75
Define a width - parameter for the class of distance-hereditary graphs
as follows. A graph G has DH-width 6 k if it has k independent
sets N1 , · · · , Nk and an embedding H which is distance-hereditary
such that every edge of H which is not an edge of G has both
endpoints in some Ni .

Is DH-width fixed-parameter tractable?

Hint: Is there a monadic second-order formulation of DH(G) 6 k?

4.10 Black and white - coloring

Claude Berge posed the problem to put b black queens


and w white queens on a chess board so that no two queens of
opposite colors hit each other. 96 96
We talk about Western
chess played on a 8×8 board.
A black and white queen
hit each other if they are
Definition 4.118. Let G be a graph and let b, w ∈ N. A black placed in the same row, col-
and white - coloring of G chooses b black vertices and w white umn, or diagonal provided
no other piece is placed be-
vertices such that no black vertex is adjacent to any white vertex. tween them.

Exercise 4.76
Show that the black and white - coloring problem can be solved in
linear time on graphs of bounded treewidth.
228 Recent Trends

Exercise 4.77
Show that there is a polynomial-time algorithm to solve the black
and white - coloring problem on cographs.
Hint: Define a boolean variable φ(G, b, w) with value true if the
graph G has a black and white coloring with b black vertices and
w white vertices.
Let G1 and G2 are two cographs and let G be the join or union
of the two. Express φ(G, w, b) as a function of φ(G1 , w1 , b1 ) and
φ(G2 , w2 , b2 ).
This leads to an (n5 ) algorithm to check if a cograph has a black
and white coloring (for any values b and w). Improve your algorithm
to solve the black and white - coloring problem on cographs so that
it runs in O(n3 ).

4.10.1 The complexity of black and white - coloring


In this section we show that the black and white - coloring problem
is NP-complete even when restricted to the class of splitgraphs (see
Exercise 4.68 for the definition of a splitgraph.) 97 97
A graph is a splitgraph if
it is a clique or an indepen-
dent set or else V partitions
Theorem 4.119. The black and white coloring - problem is NP- in {C, S} where C induces a
clique and S a stable set. A
complete on splitgraphs. graph is a splitgraph if it has
no induced C4 , C5 or 2K2 .
Proof. Splitgraphs are closed under complementations. The ‘inverse
black and white coloring - problem’ is similar except that it is
required that every black vertex is adjacent to every white vertex.
Let G be a graph. Construct a splitgraph H = (S ∪ C, E0 ) as
follows. The clique C of H is V(G). The independent set S of
H is E(G). A vertex of C is adjacent to a vertex of S in H if the
vertex is not an endpoint of the edge in G.
Let Ω be a maximum clique in G of size k and let

V0 = V(G) \ Ω.

The computation of the clique number in G remains NP-complete 98


D. Johnson, The NP-
completeness column — an
when n is even, k = n2 and n > 6. 98 — Henceforth — we
ongoing guide, Journal of Al-
gorithms 8 (1987), pp. 438–
448.
4.11 k – Cographs 229

assume that.
Notice that H has an inverse black and white coloring with
   
k k+1
b = k and w = k + = (4.15)
2 2
To see that — color all vertices of V 0 black. They are in H adjacent
to all edges in S that have both ends in Ω and to all vertices of
C \ V 0.
For the converse assume that the splitgraph H has an inverse black
and white coloring with b and w as in Equation (4.15). Since S
is an independent set all colored vertices of S are the same color.
First assume that S contains no white vertices. Then C contains a
set W of white vertices and vertices in C \ W are black. However
w > 2k = n (since n > 6) — so — this is not possible. So the
inverse black and white - coloring has white vertices in S.
Let Sw be the set of white vertices in S and let V 0 ⊆ C be the set
of k black vertices. If an edge of G is in Sw then it is not incident
with a vertex of V 0 . All those edges are incident with vertices in
V(G) \ V 0 . Since |V \ V 0 | = k and |Sw | = k2 the only possibility


is that Sw is the set of edges of a k-clique V \ V 0 .


This proves the theorem.

99
4.11 k – Cographs A graph is a cograph if it
has no induced P4 .

In this section we illustrate the importance of Kruskal’s theorem.

Recall the definition of a cograph; Definition 2.78 . 99 s s s s


By Theorem 2.79 (on Page 84) cographs can be encoded into
cotrees .
Figure 4.11: P4
Definition 4.120. Let G be a graph. A cotree for G is a pair 100
A rooted tree is binary if
( T , f ) — where either it has only one point
(which is then both root
1. T is a rooted binary tree 100
and leaf) or the root has
degree 2, all leaves have de-
2. f : V( G ) → leaves( T ) is a bijection that identifies each gree 1, and all other vertices
vertex of G with one leaf of T have degree 3. Notice that
there is no binary tree with
two points.
230 Recent Trends

3. each internal node of T is labeled as ⊗ or ⊕

4.

{ x, y } ∈ E( G ) ⇔
the least common ancestor of f(x) and f(y) in T is labeled ⊗ .
(4.16)

By Theorem 2.79 a graph is a cograph if and only if it has


a cotree.

We parametrize the class of cographs as follows . 101 101


To spell, both
‘parametrize’ and ‘pa-
Definition 4.121. Let k ∈ N . A graph G is a k - cograph if rameterize’ are OK.
it has a decomposition ( T , f ) such that
I. T is a rooted binary tree

II. each leaf of T is labeled with an element from [ k ]

III. f is a bijection V( G ) → leaves( T )

IV. all internal nodes are labeled by a a symmetric binary


relation on [ k ] (eg represented by a symmetric Boolean k × k-
matrix)

V.

{ x , y } ∈ E( G ) ⇔
the lowest common ancestor of f(x) and f(y) is labeled σ ,
with σ such that
σ ( label( f( x ) ) , label( f( y ) )) = true . (4.17)

— Notice that — ordinary cographs are 1 - cographs .

Exercise 4.78
Show that — for each k ∈ N — the class of k – cographs is
hereditary .
Hint: Let G be a k – cograph and let ( T , f ) be a decompo-
sition tree for G. For an induced subgraph H consider the
subtree of T that contains all vertices of H .
4.11 k – Cographs 231

Exercise 4.79
Show that a class of k – cographs is closed under creating twins.
A twin is a pair of vertices — say x and y — such that 102 102
When the pair is adja-
cent, the twin is called a true
twin. When the pair is non-
N[x] = N[y] if x and y are adjacent
adjacent, it is called a false
N( x ) = N( y ) otherwise. twin.

When G is a k – cograph — and H is obtained from G


by creating a twin of some vertex in G — then H is also a
k – cograph.

4.11.1 Recognition of k – Cographs


In this section we show that there exists a characterization of
k – cographs by a finite set of forbidden induced subgraphs.

For k ∈ N denote the class of k - cographs as C( k ).

Theorem 4.122. There exists a finite set of graphs Sk —


such that — a graph G ∈ C( k ) if and only if G contains no
element of Sk as an induced subgraph.

Proof. The set Sk is the set of inclusion – minimal graphs that


are not k – cographs . We show that Sk is finite.

Assume that Sk is not finite. Then we can choose an infinite


sequence of pairwise different graphs in Sk — say

G1 , G2 , ··· .

Since each graph G i is inclusion – minimal — we have that


G i − r i is a k – cograph — for each vertex r i ∈ V( G i ) . Pick
one arbitrary vertex r i in each G i .

Consider a sequence of rooted binary trees

T 1, T 2, ···

where T i is a k – cotree for the graph G i − r i .


232 Recent Trends

Extend the labels of the vertices in each T i as follows. In


T i , give a vertex z ∈ V( G i − r i ) an extra label

 0 if z is not adjacent to r , and
i
label( z ) =
 1 otherwise .

— By Kruskal ’ s theorem — the newly labeled sequence of trees


T 1 , T 2 , · · · satisfies

∃i ∃j i, j ∈ N and i < j and Ti  Tj.

But — owing to the new labeling — this implies that G i is


an induced subgraph of G j — which is a contradiction.
This proves the theorem.

Corollary 4.123. For k ∈ N , there exists a polynomial – time


algorithm that recognizes k – cographs . 103 103
But . . . nobody knows
what it is, as long as Sk is
This follows from the fact that Sk is finite. Namely we can unknown.
test whether one element of Sk — say with t vertices — is

an induced subgraph of a graph in O n t+2 time. So the
recognition takes time

O | Sk | · n t+2 = O n t+2
 
,
where t = max { | V( S ) | | S ∈ Sk } . (4.18)

4.11.2 Recognition of k – Cographs — revisited


Actually we can do much better. If I gave you the definition, it
would be easy for you to check that k – cographs have rankwidth
at most k . Courcelle showed that
every problem that can be formulated in MS1 can be

solved in O n 3 time for graphs of rankwidth at most k .
It is an easy exercise to show that — for any graph S —
there is a monadic second – order formula expressing that S is
an induced subgraph of a graph G .
4.11 k – Cographs 233

Theorem 4.124. The recognition of k – cographs is fixed param-



eter – tractable. There exists an O n 3 algorithm to tests if
a graph is a k – cograph .

Exercise 4.80
Prove that any graph is a k - cograph , for some k ∈ N . Define
the

cograph – width( G ) = min { k | G is a k – cograph } .

Show that cograph – width is fixed parameter – tractable — that



is — show that there exists an O f(k) · n 3 algorithm that
checks if the cograph – width is at most k (for some function
f : N → N.

4.11.3 Treewidth of Cographs

Exercise 4.81
Prove the following lemma.

Lemma 4.125. Let a graph G be the join of two graphs —


say
G = G1 ⊗ G2 .
Then

tw( G ) = min { tw( G 1 ) + | V( G 2 ) | , tw( G 2 ) + | V( G 1 ) | } .

Hint: Let H be a chordal embedding of G . If both H 1 and


H 2 have nonadjacent vertices H has a C4 .

Exercise 4.82
Prove the following lemma.

Lemma 4.126. Let a graph G be the union of two graphs —


say that G = G 1 ⊕ G 2 . Then

tw( G ) = max { tw( G 1 ) , tw( G 2 ) } .


234 Recent Trends

Exercise 4.83
Design a linear – time algorithm that computes the treewidth of
cographs. You may assume that a cotree is part of the input .

4.12 Minors

It is a bit unfortunate that graphs are not well -quasi -


ordered by the induced subgraph relation. — For example
— Figure 4.12 shows an infinite sequence of graphs, T 1 , · · ·
that are pairwise incomparable 104 with respect to the induced 104
they are pairwise ‘dis-
similar.’
subgraph relation — that is —
;-)
···
∀ i 6= j ¬(T i  ind T j), r r
@r
@ r r r
where  ind is the induced subgraph relation. (4.19) r @r
@
r r
@r
@ r r
The way to avoid any infinite sequence of incomparable r @r
@
graphs, is to define a minor – ordering. r r
@r
@ r
Definition 4.127. A graph H is a minor of a graph G if there r @r
@
is a sequence of
Figure 4.12: A sequence of
1. vertex deletions graphs that is not well-quasi-
ordered by the induced sub-
2. edge deletions and graph relation.

3. edge contractions

— performed on the graph G — that turns it into H .

Exercise 4.84
Prove that a graph H is a minor of a graph G if and only if
V(G) can be partitioned into sets

V 1, V 2, ··· , V h where V( H ) = [ h ]

— such that —

1. each G[ V i ] is connected
4.12 Minors 235

2.

{ i , j } ∈ E( H ) ⇒ ∃ vi ∈V i ∃ vj ∈V j { v i , v j } ∈ E( G ) .

Hint: — Since each G[ Vi ] is connected — it can be contracted


to one vertex. The second condition guarantees that H is
a subgraph of the remainder. Notice that this proves the
following corollary.

Corollary 4.128. For any graph H the property that a graph


G contains H as a minor can be formulated in MS1 .

4.12.1 The Graph Minor Theorem

Robertson and Seymour proved the following theorem — which


extends Kruskal ’ s .

Theorem 4.129. The class of all graphs is well -quasi -ordered


by the minor relation.

— Equivalently — we have the following result.

Theorem 4.130. Every class of graphs that is closed under


minors has a finite obstruction set .

Let G be a class of graphs that is closed under taking minors.


— So —

G ∈ G and H  minor G ⇒ H ∈ G.

Then there is a finite set O of graphs — called the obstruction


set — which characterizes G in the following sense :

G ∈ G ⇔ ∀O ∈ O ¬ (O  minor G).

To see that Theorem 4.130 follows from Theorem 4.129 , let


G be a class of graphs that is closed under minors. Let O 105 105
O is the set of minimal
elements, under the minor re-
lation, that are not in G.
236 Recent Trends

be the set of graphs O that satisfy

/ G
O ∈ and ∀ O0 (O0  minor O and O 0 6= O ) ⇒ O0 ∈ G.

If | O | is infinite 106 we can choose an infinite sequence 106



O1 , · · · of graphs in O that are all different. — However
— by Theorem 4.129 there must exist

i < j such that Oi  minor Oj

which is a contradiction.

This proves Theorem 4.130 .

Exercise 4.85
Show that the following classes of graphs are closed under taking
minors;

1. the class of planar graphs 107 107


A graph is planar if it
can be drawn in the plane
2. the class of graphs with treewidth at most k , for k ∈ N . without crossing edges. A
plane graph is a planar
graph together with an em-
What is the obstruction set for the class of planar graphs?
bedding of it in the plane.
Hint: Recall Kuratowski ’ s theorem — A graph is planar if and
only if it has no element of

{ K 5 , K3, 3 }

as a minor . 108 108


Harary dedicated his
book to Kuratowski, “who
gave K5 and K3,3 to those
who thought planarity was
4.13 General Partition Graphs nothing but topology.”

Definition 4.131. A graph G is a general partition graph if there


exists a set S and a map which assigns a subset Sx ⊆ S to every
vertex x ∈ V such that 109 109
The graph is a partition
graph if it satisfies the three
1. for all pairs of vertices x and y conditions and furthermore
no two Sx and Sy (x 6= y)
are the same.
{x, y} ∈ E ⇔ Sx ∩ Sy 6= ∅
4.13 General Partition Graphs 237

2. S = ∪x Sx

3. when M is a maximal independent set then

{ Sm | m ∈ M } is a partition of S.

In this section we show that for every class of graphs which


is not the class of all graphs and which is closed under taking
minors there is a polynomial - time algorithm to check if a
graph in the class is a general partition graph.

So — for example — there exists an efficient algorithm to check


if a planar graph is a general partition graph.

Exercise 4.86
Show that a graph is a general partition graph if and only if it
has a set C of cliques such that

(a) every edge {x, y} ∈ E has both endpoints in some clique C ∈ C —


that is — C covers the edges of G

(b) every maximal independent set hits every C ∈ C.

Exercise 4.87
Show that every cograph is a general partition graph.

Exercise 4.88
Let G be a graph. Let the graph H be obtained from G by adding
one vertex to every edge in G and making that adjacent to the two
endpoints of the edge. Then H has only one clique - cover with
|E(G)| maximal cliques. Furthermore every maximal independent 110
It can be shown that an
AT-free graph satisfies the
set hits every clique in this cover. So H is a general partition graph.
triangle condition if and only
if it is a general partition
At some point in history it was discovered that general graph. This can be checked
on AT-free graphs in polyno-
partition graphs satisfy the triangle condition : 110 mial time. It is conjectured
that the triangle condition is
co-NP-complete.
238 Recent Trends

A graph satisfies the triangle condition if for every maximal


independent set M and every edge {x, y} in G − M there is a
vertex m ∈ M such that {x, y, m} is a triangle in G.

Exercise 4.89
Design an algorithm to check if a planar graph satisfies the triangle
condition. 111 111
T. Kloks, C. Lee, J. Liu
and H. Müller, On the recog-
nition of general partition
graphs. Proceedings WG
Exercise 4.90
2003, Springer-Verlag, Lec-
ture Notes in Computer Sci-
Not all graphs that satisfy the triangle condition are general
ence 2880 (2003), pp. 273–
partition graphs. For example the figure on Page 149 shows a 283.
circle graph that satisfies the triangle condition but is not a general
partition graph.
Show that every general partition graph satisfies the triangle condi-
tion.

Our claim that we can test if a graph is general partition for


minor - closed classes follows easily from the following lemma.

Lemma 4.132. Let k ∈ N and let G be a class of graphs that


satisfy ω 6 k. There exists a polynomial - time algorithm to check
if a graph in G is a general partition graph.

Proof. We use Exercise 4.86.

Let G be a class of graphs with clique number 6 k. — Clearly —


graphs in G have only O(nk ) maximal cliques and we can compute
a list of maximal cliques in polynomial time — eg — via the
algorithm of Bron and Kerbosch.

Let C be a maximal clique for which there is a maximal independent


set M such that
C ∩ M = ∅.

Then C is not in a clique cover of which every element is hit by every


maximal independent set. Call C intolerable.
4.13 General Partition Graphs 239

We can recognize whether C is intolerable in polynomial time as


follows. Let C = {x1 , · · · , x` }. For every choice of yi ∈ N(xi )
check if {y1 , · · · , y` } is an independent set. If there exists a choice
Y = {y1 , · · · , y` } which is independent then Y is contained in a
maximal independent set M with C ∩ M = ∅.

Let C be the set of tolerable cliques ( ie those that are not intolera-
ble). We have that G is a general partition graph if and only if C
covers all edges of G.

This proves the lemma.

Corollary 4.133. Let G be a class of graphs which is not the class


of all graphs and which is closed under taking minors. There exists
a polynomial - time algorithm to check if a graph in G is a general
partition graph.

Proof. By the graph minor theorem the class G has a finite obstruc-
tion set F. This set is not empty since G does not contain all graphs.
Let
k = min { |V(F)| | F ∈ F }.

No graph in G can have a clique of size > k (since it would have


F ∈ F as a subgraph).

Exercise 4.91

The red maximal independent set problem is the following. Given


a graph G and a coloring of its vertices with colors red and blue.
Question: does G have a maximal independent set with only red 112
T. Kloks, D. Kratsch,
vertices? C. Lee and J. Liu, Im-
proved bottleneck domina-
This problem is NP-complete even when restricted to planar graphs. tion algorithms. Discrete
Show that there is a polynomial - time algorithm to solve red Applied Mathematics 154
(2006), pp. 1578 – 1592.
maximal independent set for graphs with ω 6 k. 112
240 Recent Trends

4.14 Tournaments

An orientation of a graph G assigns to every edge {x, y} ∈ E(G)


an orientation — say — either xy or yx. 113 113
We may also write x → y
instead of xy.

Definition 4.134. A tournament is an orientation of a complete


graph.

4.14.1 Tournament games

Two players play a game. The board they use is a tourna-


ment. They both choose a point of the tournament. When they
chose the same point the outcome of the game is a draw. Otherwise
the player who chose the head of the arc formed by the two chosen
points is the winner. 114 114
It’s like the “paper, scis-
sors and stone game.”

Let T be a tournament. A probability distribution is a function


w : V(T ) → [0, 1] which satisfies t
stone
X @
w(x) = 1.
t Rt
@
 @
x∈V(T ) paper scissors
P
For a subset S ⊆ V(T ) we write w(S) = x∈S w(x).

A player wishes to find a winning probability distribution — that Figure 4.13: The paper, scis-
sors and stone game
is — he wishes to find a probability distribution which satisfies

∀x∈V(T ) w(I(x)) > w(O(x))

where I(x) and O(x) are the sets of vertices that beat x (so the
arrows point from I(x) towards x) and are beaten by x (the arrows
point away from x towards O(x)). 115 115
A winning distribution
has the property that for ev-
Fisher and Ryan show that every tournament has a winning ery x ∈ V(T ) it is at least
as likely to beat x as it is to
probability distribution. In this section we show their proof.
lose to x.

In their proof they make use of Farkas’ lemma.


4.14 Tournaments 241

Lemma 4.135. Given a matrix M and a vector b over the reals.


Exactly one of the two following systems of linear inequalities has
a solution.
1. Mx = b and x > 0

2. MT y > 0 and bT y < 0.

Let T be a tournament. The payoff matrix K has entries





0 if i = j
kij = −1 if i → j



1 if i ← j.
Since T is a tournament KT = −K — that is — K is skew -
symmetric.

Theorem 4.136. Every tournament has a winning probability dis-


tribution. A winning distribution w satisfies
w(x) > 0 ⇒ w(I(x)) = w(O(x)).
Proof. By definition; a distribution w is winning if
w > 0 and 1T w = 1 and Kw 6 0.

Assume that there is no winning distribution. Then the following


system has no solution
! ! ! ! !
K I w 0 w 0
= and > .
1T 0T z 1 z 0
By Farkas’ lemma the following system has a solution
! ! ! !
−K 1 u 0   u
> and 0T 1 < 0.
I 0 v 0 v
This implies u > 0 and Ku < 0. But then w = u/(1T u) is a winning
probability distribution — a contradiction.
When w is winning wi (Kw)i 6 0 for all i. Since K is skew-symmetric
wT Kw = −wT Kw = 0 and this implies
wi > 0 ⇒ w(I(i)) = w(O(i)).

This proves the theorem.


242 Recent Trends

4.14.2 Trees in tournaments

Sumner conjectures that every tournament with 2(n − 1) vertices


contains any oriented tree with n vertices. This is true when n
is large enough.

A weaker result was obtained by A. El Sahili in 2004.

Theorem 4.137 (El Sahili). Every tournament with 3(n − 1)


vertices contains every oriented tree with n vertices.

In this section we take a look at the proof.

Median orders of digraphs were introduced by Havet and


Thomassé. A median order of a digraph is defined as follows. Exercise: Design an algo-
rithm to compute a median
order.
Definition 4.138. A median order of a digraph is an ordering of
Hint: Notice that the prob-
the vertices v1 · · · vn which maximizes lem is feedback arc set.

| { (vi , vj ) ∈ E | i < j } |.

Exercise 4.92
Let v1 · · · vn be a median order of the vertices of a digraph.

1. any interval vi+1 · · · vj is a median order of the digraph induced


by {vi+1 , · · · , vj }

2. let I = {vi+1 , · · · , vj }. Then |N+ (vi ) ∩ I| > |N− (vi ) ∩ I|.


Exercise: What are the me-
dian orders in graphs with a
transitive orientation?
Definition 4.139. Let A and D be digraphs. An embedding of
A in D is an injection
:::::::
f : V(A) → V(D) which satisfies A embeds in D if A is iso-
morphic to a subgraph of D.
(a, b) ∈ E(A) ⇒ (f(a), f(b)) ∈ E(D).

Definition 4.140. Let A and D be digraphs and let M = v1 · · · vn


be a median order of D. An embedding f of A in D is an M -
embedding if for every :::: segment I = {vi+1 · · · vn }
final::::::::
4.14 Tournaments 243

1
| f(A) ∩ I | < · | I | + 1.
2

A. El Sahili remarks that


this lemma is suggested in
Lemma 4.141. Let T be a tournament with at least three vertices the paper by Havet and
Thomassé on median orders.
and let M = v1 · · · vn be a median order of D. Let T 0 be the
tournament induced by {v1 , · · · , vn−2 } and let M0 = v1 · · · vn−2 .
Let A be a digraph with a leaf (x, y). 116 Assume that A − y has 116
In general a leaf is a ver-
an M0 - embedding f0 in T 0 . Then A has an M - embedding in tex with exactly one neigh-
bor. Here we assume that
T which extends f0 . the vertex y has exactly one
in - neighbor x and no out-
Proof. Let A0 = A − y. Let f0 be an M0 - embedding of A0 in T 0 . neighbor.
Let f0 (x) = vi and let I0 = {vi+1 · · · vn−2 }. Then
1
|f0 (A0 ) ∩ I0 | < · | I0 | + 1.
2

Let I = {vi+1 · · · vn }. Since T is a tournament and M is a median


order
1 1
| N+T (vi ) ∩ I | > · | I | = · | I0 | + 1.
2 2
So
| N+T (vi ) ∩ I | > | f0 (A0 ) ∩ I0 | = | f0 (A0 ) ∩ I |.
We conclude that vi has an outneighbor vj ∈ I \ f0 (A0 ) — say v.
Define f(y) = v and f = f0 everywhere else. Then f is an M -
embedding of A in T .
This proves the lemma.
When a digraph has a leaf y
then it has a median order
A branching is a rooted tree with an orientation that is directed with y at the end.

away from the root.

Exercise 4.93
Let A be a branching on n vertices and let T be a tournament
with 2(n − 1) vertices. Then A has an M - embedding in T for
every median order M of T .
Hint: Use Lemma 4.141.
244 Recent Trends

Well - rooted trees

Definition 4.142. A digraph A is t - embeddable if A has an M


- embedding in every tournament that has t vertices and median
order M.

Definition 4.143. An oriented tree with a root is well - rooted if


its root is a source.

Let A be a well - rooted tree. An edge of A is backward if its


head is closer to the root. Let b be the number of backward edges.
If there are no backward
edges the tree A is a branch-
The set of backward edges — if any — span a digraph — say B. ing.
Let c be the number of components of B. B is a forest and it has has b
edges. If c is the number of
components, then what can
Finally; let d = b − c. you say about the number of
vertices in B? (It’s b + c.)
B has no isolated vertices so
Lemma 4.144. Let A be a well - rooted tree with n vertices. b > c unless both are zero.

Then A is (2n + 2d) - embeddable with d defined as above.

Proof. By induction on c. First assume c = 0. Then A is a


branching and the claim follows from Exercise 4.93.
Assume c > 0. If A has a leaf y with parent x such that (x, y)
is a forward arc then the claim follows from Lemma 4.141. So we
may assume that every leaf of A is a source.
Let T be a tournament with 2(n + d) vertices and median order M
— say M = v1 · · · v2n+2d . We show that A has an M - embedding
f in T .
Let B0 be a component of B which contains a leaf of A. Let y be
its root and let x be the parent of y. Then (x, y) is a forward arc. Recall that A is a well -
rooted tree — so — y is
Let n0 = | V(B0 ) |. Then A−B0 has n−n0 vertices and b−(n0 −1) not the root.
backward edges and c − 1 backward components.
Let T 0 be the tournament induced by the initial segment

M0 = v1 ··· v2n+2d−4(n0 −1) .


4.14 Tournaments 245

By induction A0 has an M0 - embedding f0 in T 0 .


Let A00 be obtained from A0 by adding 2(n01 ) forward edges with
tail x. Let S be the set of heads of these edges. By Lemma 4.141
A00 has an M - embedding f00 in T :::::
which:::::::: f0 .
extends ::
Let U be the subtournament of T induced by f00 (S). Then U
has 2(n0 − 1) vertices. By Exercise 4.93 U contains B0 . Let g
be an isomorphism from B0 to a subtournament of U which is
isomorphic to B0 .
Define the map f : V(A) → V(T ) as follows.

 f0 (x) if x ∈ V(A0 )
f(x) =
 g(x) if x ∈ B0 .

Then f is an M - embedding of A in T .
This proves the lemma.

We now prove Theorem 4.137.

Theorem 4.145. Every oriented tree with n > 2 vertices is


3(n − 1) - embeddable.

Proof. For any root that we choose in A we may assume that the
number of forward arcs is at least the number of backward arcs —
otherwise — we consider the problem of embedding the ‘inverse’ of
A. 117 117
The inverse is obtained by
replacing every arc (x, y) by
We may assume that A is not a branching. Choose a root r in its inverse (y, x).
A which minimizes d. We may assume that r is a source. — To
see that — assume there is a vertex v incident with an arc (v, r).
If we choose v as the root then d decreases or else (if {v, r} is one
backward component) the tree is well rooted with v as a root and
the same value d.
Since A is well - rooted we can apply Lemma 4.144: A is 2(n + d)
- embeddable. We have
n−1 n−3
b 6 and c > 1 ⇒ d 6 .
2 2

This proves the theorem.


246 Recent Trends

Remark 4.146. In their paper Havet and Thomassé conjecture the


following: Let A be an oriented tree with at most k leaves. Every
tournament on n + k − 1 vertices contains A.

Further reading

F. Havet and S. Thomassé, Median orders of tournaments: a


tool for the second neighborhood problem and Sumner’s conjecture,
Journal of Graph Theory 35 (2000), pp. 244–256.

D. Kühn, R. Mycroft and D. Osthus, An approximate version of


Sumner’s universal tournament conjecture. Manuscript on arXiv:
1010.4429, 2010.

4.14.3 Immersions in tournaments

Let G and H be digraphs. 118 The digraph H immerses in G if 118


A digraph is an oriented
there is a map η : H → G which satisfies the following criteria. graph. Each edge has an ori-
entation; either xy or yx.

1. η(x) ∈ V(G) for every x ∈ V(H)

2. when x, y ∈ V(H) and x 6= y then η(x) 6= η(y)

3. η(xy) is a directed path in G from η(x) to η(y) for every edge


xy ∈ E(H)

4. when e and f are edges of H and e 6= f then η(e) and η(f) are
edge - disjoint.

The digraph H strongly immerses in G when — additionally — the


following condition is satisfied.

5. When x ∈ V(H) and e ∈ EH) and x is not an endpoint of e then


η(x) is not on the path η(e). To define immersions for
graphs replace ‘arc’ with
‘edge’ in the definition.
4.14 Tournaments 247

Exercise 4.94
Let H and G be graphs.
::::::
Show that H immerses
::::::::
in G if and only
0
if H is an induced subgraph of a graph G obtained from G via a
sequence of edge lifts.

An edge - lift takes two edges that share an endpoint — say {x, a}
and {x, b} — and replaces it with one edge {a, b}.

Chudnovsky and Seymour prove that tournaments are well -


quasi ordered by strong immersion. In this section we review their
proof.

The same is not true for digraphs. To see that consider the set of
even length cycles and orient the edges so that there is no directed
path with more than two vertices. No element of this set immerses
in another one.

What happened earlier ..


In their paper Chudnovsky and Seymour use the following result
(which they published in a separate paper). Let G be a digraph. A
layout is a linear order of its vertices. Let

v1 ··· vn

be a layout of G. The layout has cutwidth k if for each i there are


at most k arcs that have their tail in {v1 , · · · , vi } and their head in
{vi+1 , · · · , vn }. The digraph G has cutwidth k if it has a layout of
cutwidth k.

Theorem 4.147. Let S be a set of tournaments. The following


two statements are equivalent.

1. there exists k ∈ N such that all tournaments in S have cutwidth


at most k

2. there exists a digraph H such that H does not strongly immerse


in any tournament of S.
248 Recent Trends

Remark 4.148. The two statements are also equivalent with this: t
there exists k ∈ N such that every vertex of a tournaments in S is @
I
@
in at most k edge - disjoint directed cycles. t
 @t

Exercise 4.95
Let H be a cyclic triangle. The tournaments in which H does not Figure 4.14: A transitive
tournament
immerse are the transitive tournaments. Transitive tournaments
have cutwidth 0. An orientation of a graph
is transitive if xy and yz
imply xz. A comparability
graph is a graph that allows
We first show that it is sufficient to prove that tournaments a transitive orientation of its
of cutwidth at most k are well - quasi ordered. edges.

Lemma 4.149. Assume that for every k ∈ N the class of tourna-


ments of cutwidth k is well - quasi -ordered by strong immersions.
This implies that the class of all tournaments is well - quasi ordered
by strong immersions.

Proof. By means of contradiction; let (Ti ) be a sequence of tour-


naments such that no Ti strongly immerses in Tj whenever i < j.
Let T = {Ti } and let

S = T \ {T1 }.

Then there is a digraph that does not strongly immerse in any


tournament of S — namely — T1 .

By Theorem 4.147 all tournaments of S have cutwidth at most k


(for some k ∈ N). This contradicts the assumption.

Linked layouts

Let G be a digraph and let

µ = x1 ··· xn

be a layout of G. Write Bi = {x1 , · · · , xi }, Ai = {xi+1 , · · · , xn } and


let Fi be the set of edges with tail in Bi and head in Ai .
4.14 Tournaments 249

The layout µ is linked if for all h < j such that |Fh | = Fj | = t and
for all h 6 i 6 j |Fi | > t there are t edge - disjoint directed paths
from Bh to Aj .

Lemma 4.150. Let G be a digraph of cutwidth k. There is a linked


layout of G of cutwidth k.

Proof. For a layout µ of cutwidth at most k let

ns = | { i | |Fi | = s } |.

Choose a layout µ of cutwidth at most k such that the sequence


(n0 , n1 , · · · ) is lexicographically as large as possible.
Assume that this layout µ is not linked. Then there exist h < j
with Fh | = |Fj | = t and for all h 6 i 6 j |Fi | > t and there are not
t edge-disjoint paths from Bh to Aj . By Menger’s theorem 119 119
Max flow = min cut
there exists a partition {P, Q} of V(G) with Bh ⊆ P and Aj ⊆ Q and
there are less than t arcs from P to Q. Let F be the set of arcs with
tail in P and head in Q. Choose the partition {P, Q} such that |F| is
as small as possible.
Let p = |P| and let

µ0 = x01 ··· x0p x0p+1 ··· x0n

be the layout that puts all elements of P before the elements of Q


and that keeps the ordering within the parts P and Q the same as
in µ.
We claim that µ0 has cutwidth k. We first show that |F0i | 6 k for
all i 6= p (where F0i is the set of edges with tail in B0i = {x01 , · · · , x0i }
and head in A0i = {x0i+1 , · · · , x0n }).
To see that let i < p and choose r such that
120
N+ (S) is the set of edges
with tail in S and head in
B0i = Br ∩ P and A0i = Ar ∪ Q.
V \ S.
121
Then r < j and Aj ∩ (Br ∪ P) = ∅. We use the fact that
|N+ (S)| (S ⊆ V) is
Since we chose |F| minimal and since Bh ⊆ P ⊆ Br ∪ P we have a submodular function —
that is — for any sets S and
that |N+ (Br ∪ P)| > |F|. 120 T : |N+ (S)| + |N+ (T )| >
|N+ (S ∪ T )| + |N+ (S ∩ T )|.
We have 121 This property is also known
as the principle of diminish-
ing returns.
250 Recent Trends

|N+ (Br )| + |N+ (P)| > |N+ (Br ∩ P)| + |N+ (Br ∪ P)| that is
|Fr | + |F| > |F0i | + |N (Br ∪ P)|
+
> |F0i |
+ |F|
and this implies
|F0i | 6 |Fr |.

It follows that |F0i | 6 k for i < p and similarly |F0i | 6 k for i > p.
Since F0p = F and |F| 6 k this proves that µ0 has cutwidth k.
We claim that n0s > ns for s < t. Let 0 6 s 6 t − 1 and let r be
such that |Fr | = s. We actually have that F0r = Fr . To see that
observe that we must have r < h or r > j. Assume r < h. Then
Br ⊆ P and so B0r = Br and F0r = Fr .
This shows that n0s = ns for all s < t and

|F0r | < t ⇒ r < h or r > j

We arrived at a contradiction since |F0p | < t and h 6


p 6 j. Therefore µ is linked.
This proves the lemma.

Gap sequences
Let (Q, ) be a quasi - order and let k ∈ N. A (Q, k) - gap
sequence is a triple (P, f, a) where
• P is a path

• f is a map V(P) → Q

• a is a map E(P) → {0, · · · , k}.


Define a quasi - order on (Q, k) - gap sequences as follows. For two
(Q, k) - gap sequences (P, f, a) and (R, g, b) let (P, f, a)  (R, g, b)
if

P = p1 ··· pm and R = r1 ··· rn

and there exists a map

1 6 s(1) < s(2) < ··· < s(m) 6 n

such that
4.14 Tournaments 251

• for all i: f(pi )  g(rs(i) )

• for all i: if e = pi pi+1 then a(e) 6 b(e0 ) for all e0 ∈ E(R) that
are on the path from rs(i) to rs(i+1) .

By Theorem 4.101 when (Q, ) is a well - quasi order then  is a


well - quasi order on (Q, k) - gap sequences.

Marches
A march µ is a sequence

e1 ··· ek

of elements. The set {e1 , · · · , ek } is the support of µ and k = |µ| is


the length of µ. We write ei = µ(i).
Define an ::::::::::
equivalence on :::::
pairs ::
of ::::::::
marches as follows. Two pairs
pairs of marches (µ1 , ν1 ) and (µ2 , ν2 ) are equivalent if

• |µ1 | = |µ2 |

• |ν1 | = |ν2 |

• for all i and j µ1 (i) = ν1 (j) ⇔ µ2 (i) = ν2 (j).

Codewords
A codeword of type k is a pair (P, f) where

• P is a path say P = p1 · · · pn

• f is a function with domain V(P) which maps a vertex pi of P to


a pair of marches (µi , νi ) both of length at most k such that

– |νi | = |µi+1 |
– |µ1 | = |νn | = 0.

The cutsize function a : E(P) → {0, · · · , k} maps each edge (pi , pi+1 )
to |νi | = |µi+1 |.

Let Ck be the set of all codewords of type k. Define a quasi -


order on Ck as follows. Let (P, f) and (R, g) be two codewords of
type k and let a and b be their cutsize functions. Then (P, f, a)
252 Recent Trends

and (R, g, b) are (Q, k) - gap sequences where Q is the set of


pairs of marches ordered by equivalence. Let (P, f)  (R, g) if
(P, f, a)  (R, g, b).

Lemma 4.151. For each k (Ck , ) is well - quasi ordered.

Proof. The set Q of pairs of marches of length at most k is well -


quasi ordered by equivalence because there are only a finite number
of equivalence classes.

Let G be a tournament of cutwidth k and let

x1 ··· xn

be a linked layout of G of cutwidth k. Define Bi , Ai and Fi as


before. We have that for all h < j that satisfy

|Fh | = |Fj | = t and ∀ h6i6j |Fi | > t (4.20)

there are t edge disjoint paths P1 , · · · , Pt from Bh to Aj .

The following lemma makes sure that we can find marches with
support Fi such that the sth elements of them are edges of Ps .

Lemma 4.152. There exist marches µi with support Fi such that


all h < j that satisfy (4.20) there are edge - disjoint paths P1 , · · · , Pt
such that for s ∈ [t] the sth term of µh and the sth term of µj are
edges of Ps .

Exercise 4.96
Prove Lemma 4.152.

Hint: Fix t. Let i(1) < · · · < i(`) be the indices i with |Fi | = t.
For j = 1, · · · , ` choose the march µi(j) (ie choose a linear order of
the elements of Fi(j) ) such that the sth element extends the path Ps .

Encoding
Let G be a tournament and let g1 · · · gn be a layout of G with
cutwidth k. Map G to a codeword of type k as follows.
4.14 Tournaments 253

Let G denote the path with vertices g1 , · · · , gn . Define µ0 = µn = We use the same symbol G
∅ and let µi be a march as in Lemma 4.152. Let g be the map for the tournament and its
layout.
g(gi ) = (µi−1 , µi )
for i ∈ [n]. Then (G, g) is a codeword of type k.

Lemma 4.153. Let G and H be tournaments of cutwidth k and let


(G, g) and (H, h) be codewords of G and H. Assume (H, h)  (G, g)
in (Ck , ). Then H immerses strongly in G.
table of notations:
Proof. There are linked layouts of the tournaments G and H that H G
(hj )m
1 (gi )n
1
give rise to the codewords (G, g) and (H, h) — say — Dj , Cj , Fj Bi , Ai , Ei
marches: νj marches: µi
G = g1 ··· gn and H = h1 ··· hm .
For the layout (gi ) define Bi and Ai as above and let Ei be the set
of edges with tail in Bi and head in Ai . Similarly define Dj , Cj
and Fj for the layout (hj ) of H. Denote the cutsize functions of (gi )
and (hj ) as b and a.
Let the µi be marches with support Ei as in Lemma 4.152 and —
similarly — let the νi be marches with support Fi .
We have that (H, h)  (G, g) which implies there are
1 6 r(1) < r(2) < ··· < r(m) 6 n
such that
• h(hi ) and g(gr(i) ) are equivalent pairs of marches

• if e = hi hi+1 then a(e) 6 b(e0 ) for every edge e0 on the path


gr(i) gr(i+1) .

Since h(hi ) = (νi−1 , νi ) and g(gr(i) ) = (µr(i)−1 , µr(i) ) are equiva-


lent pairs of marches we have that
|Fi | = |Er(i) |, |Fi−1 | = |Er(i)−1 | and |Fi−1 ∩ Fi | = |Er(i)−1 ∩ Er(i) |
The second property implies

|Er(i) | = |Er(i+1)−1 | = |Fi | and


|Ej | > |Fi | for all r(i) 6 j 6 r(i + 1) − 1.

Let 1 6 i 6 m. For e ∈ Fi there are directed paths Pi (e) in G


with the following properties.
254 Recent Trends

(a) the paths in {Pi (e) | e ∈ Fi } are pairwise edge - disjoint

(b) the first edge of Pi (e) is in Er(i) and it has tail gr(i) if and only
if e has tail hi

(c) the last edge of Pi (e) is in Er(i+1) and it has head gr(i+1) if and
only if e has head hi+1

(d) all internal vertices of Pi (e) are in {gr(i)+1 , · · · , gr(i+1)−1 }

(e) let e be the sth term of march νi . The first edge of Pi (e) is the
sth term of µr(i) and the last edge of Pi (e) is the sth term of
µr(i+1)−1 .

Let e = hh hj be an edge of H with h < j. Then e ∈ Fi for h 6 i < j.


The reader is invited to check that the appropriate paths Pi (e) glue
together — to be precise — let e ∈ E(H) and let e = hh hj for
h < j. There is a directed path η(e) = gr(h) gr(j) in G such that

(f) no vertex of {gr(1) , · · · , gr(m) } is an internal vertex of η(e)

(g) all the paths in {η(e) | e = hh hj where h < j} are pairwise edge -
disjoint

(h) if e is the sth term of νh then the first edge of η(e) is the sth
term of µr(h)

(i) if e is the tth term of νj−1 then the last edge of η(e) is the tth
term of µr(j)−1 .

Let h < j and let e = hj hh be an edge of H. Then gr(j) gr(h) is an


edge of G. For these edges define η(e) as the edge gr(j) gr(h) ; this
is a directed path in G of length one and it is edge - disjoint from
the paths η(e) for edges in H that point forward in its layout.
Define η(hi ) = gr(i) . This completes the definition of η which is a
strong immersion of H in G.
This proves the lemma.

Theorem 4.154. The class of tournaments is well - quasi ordered


by the strong immersion - relation.
4.14 Tournaments 255

Proof. By Lemma 4.149 it is sufficient to show that a class of


tournaments of cutwidth at most k is well - quasi ordered by strong
immersions. Let (Ti ) be a sequence of tournaments of cutwidth at
most k. Their codewords are elements of Ck and these are well -
quasi ordered. — So — there exist i < j such that the codeword
of Ti is dominated by the codeword of Tj . By Lemma 4.153 this
implies that Ti strongly immerses in Tj .

Remark 4.155. Orientations of complete bipartite graphs are well -


quasi ordered under strong immersions — moreover — the immer-
sion relation respects the parts of the bipartition.

4.14.4 Domination in tournaments

Exercise 4.97
Every acyclic digraph has a unique independent dominating set.

Hint: This result has been attributed to Von Neumann and


Morgenstern. J. von Neumann and O. Mor-
genstern, Theory of games
In 2017 Bousquet, Lochet and Thomassé proved the Erdős - and economic behavior ,
Princeton University Press,
Sands - Sauer - Woodrow conjecture. In this section we review 1944.
their proof.

The transive closure of a


There exists a function g : N → N so that if the arcs of binary relation (Q, ) is
a tournament are colored with k colors there is a set S with the smallest transitive rela-
tion (Q, 6) which contains
at most g(k) vertices such that for every vertex x there is a (Q, ).
monochromatic path from S to x.
A multiset is a set together
with a multiplicity function
Let T be a tournament and let the arcs be colored with k colors. In which maps the elements of
order to formulate the conjecture above as a domination problem the set to N. It is sometimes
we would want each color to induce a quasi - order — so — we take called a bag.

the :::::::::
transitive ::::::
closure of the set of arcs of each color. — Clearly — A digraph is an orientation
of a graph. So it has no loops,
this may introduce multiple arcs between pairs of vertices.
no multiple arcs and no di-
rected cycles of length two.
256 Recent Trends

Definition 4.156. A complete multi digraph is a set D of vertices


and a multiset of arcs A such that

1. every arc is an ordered pair of vertices

2. every two vertices form at least one arc

A complete multi digraph can have cycles of length two (but no


loops). A multi digraph is a set
of vertices together with a
multiset of ordered pairs of
For a (multi-) digraph (D, A) and x ∈ D define the closed in-
distinct vertices. Multi di-
neighborhood as graphs can have oriented cy-
cles of length two but not of
N− [x] = {x} ∪ { y | (y, x) ∈ A }. length one.

For a set S we write N− [S] = ∪x∈S N− [x]. Similarly define N+ .


A set S is domination if N+ [S] = V. The domination number of
the digraph γ(D) is the smallest cardinality of a dominating set.
We prove the following theorem. (Clearly this implies the ESSW -
conjecture, above.)

Theorem 4.157. There exists a function f : N → N with the


following property. Let T be a complete multi digraph whose arcs
are the union of k quasi - orders then γ(T ) 6 f(k).

The proof of the theorem makes use of two lemmas.


Let T be a complete multi digraph and let the arcs of T be covered
with k quasi - orders — say — (T , 6i ), (i ∈ [k]). For x ∈ V(T ) we
write N−
i [x] for the closed in-neighborhood of x in (T , 6i ).

Lemma 4.158. Let T be a complete multi digraph whose set of


arcs is the union of k quasi - orders. There exists a probability
distribution w : V(T ) → [0, 1] and a partition {T1 , · · · , Tk } of V(T )
such that for each x ∈ Ti
1
w(N− [x]) > .
2k
Proof. By Theorem 4.136 (on Page 241) there is a probability
distribution w : V(T ) → [0, 1] such that w(N− [x]) > 1/2 for all
x ∈ V(T ).
4.14 Tournaments 257

Define for i ∈ [k]

Ti = {x | w(N−
i [x]) > 1/2k }.

Then ∪Ti = V(T ).

— Clearly — the sets Ti can be reduced so that the result forms


a partition of V(T ).

This proves the lemma.

Let (P, ) be a quasi - order. We identify (P, ) with a digraph


(P, A) where the set of arcs is the set of ordered pairs xy with
x  y and x 6= y. 122 122
So N− [x] is well-defined
on the elements of a quasi -
order.
Definition 4.159. Let (P, ) be a quasi - order. A set A ⊆ P
is ε-dense in P if there is a probability distribution w on P which
satisfies
∀ x∈A w(N− [x]) > ε.

Lemma 4.160. There exists a function g : [0, 1] → N with the


following property. In every quasi - order (P, ) if C ⊆ B are
subsets of P such that B is ε-dense in P and C is ε-dense in B
then there exists a set of g(ε) elements of P that dominate C.

Proof. Let w : P → [0, 1] and wB : B → [0, 1] be probability distri-


butions that show that B is ε-dense in P and C is ε-dense in B —
that is —

∀ x∈B w(N− [x]) > ε and ∀ x∈C wB (N− ([x]) > ε.

j k
ln(ε)
Define the function g(ε) = ln(1−ε) + 1.

Select —at random and according to probability distribution w —


a multiset S of g(ε) elements of P. Then

∀ x∈B P(x ∈ N+ [S]) > 1 − (1 − ε)g(ε) > 1 − ε.


258 Recent Trends

By linearity of expectation of wB there exists a set S such that


wB (N+ [S]) > 1 − ε.

Since wB (N− [x]) > ε for all x ∈ C we have that N− [x] intersects
N+ [S] for all x ∈ C. By transitivity this implies that S dominates
C.

This proves the lemma.

We now present the proof of Theorem 4.157.

Theorem. Let k ∈ N and let T be a complete multi digraph whose


arcs are the union of k quasi - orders then γ(T ) = O(kk+2 ·ln(2k)).

Proof. Let P1 = {T1 , · · · , Tk } be a partition of V(T ) as mentioned


in Lemma 4.158. Repeat this partitioning process k + 1 times to
obtain a sequence of partitions P1 , · · · , Pk+1 which we specify as

Pi = { Tj1 ...ji | j1 , · · · , ji ∈ [k] }

so that for each ` 6 k + 1 Tj1 ···j` is a subset of Tj1 ···j`−1 .

Let wj1 ···j` −1 be a probability distribution (as in Lemma 4.158) such


that
1 In this formula N− j` ([x])
wj1 ···j`−1 (N−
j` [x]) > denotes the closed in-
2k
neighborhood of x in the jth
`
for all x ∈ Tj1 ···j` . quasi order.

By the pigeonhole principle every sequence j1 · · · jk+1 in


[k]k+1 contains i < ` such that ji = j` . Apply Lemma 4.160 with

P = Tj1 ···j`−1 B = Tj1 ···ji and C = Tj1 ···j` .

It follows that there exists a set of at most g(1/2k) elements that


dominates Tj1 ···j` and so it dominates Tj1 ···jk+1 .

We can conclude that γ(T ) 6 kk+1 · g(1/2k). Notice that g(1/2k) 6


ln(2k) · (2k − 1/2 + o(1)) — that is — γ(T ) = O(kk+2 · ln(2k)).

This proves the theorem.


4.15 Immersions 259

As far as we know the following conjecture is open. (It was


posed by Sanders, Sauer and Woodrow in 1982.)

Conjecture 4.161. There exists a function f ∈ N N with the fol-


lowing property. Let D be a multi digraph whose set of arcs is a
union of k quasi - orders. Then D has a dominating set which is
the union of f(k) independent sets.

4.15 Immersions

In this chapter we show


In this chapter graphs and digraphs are allowed to have multiple that digraphs without
:::::::::
k -
edges but no loops unless stated otherwise. alternating paths are well
:::::::::::::
quasi - ordered by strong im-
Robertson and Seymour proved that the class of all graphs is mersions.

well quasi - ordered by weak immersions. Whether the same holds


true for strong
:::::
immersions is an open problem. 123 123
See Page 246 for the defi-
nitions of immersions.
Exercise 4.98
A graph is ‘subcubic’ if every vertex has degree at most 3. Show
that the class of subcubic graphs is well quasi - ordered by strong
immersions. — Also — for subcubic graphs H is a topological
minor of G if and only if it is a minor.
Hint: Let G and H be subcubic. Show that H immerses in G if
and only if H is a minor of G.
Chun-Hung Liu and Irene
Muzi, Well - quasi - or-
Chun-Hung Liu and Irene Muzi show that digraphs without
dering digraphs with no
k-alternating paths are well quasi - ordered by strong immersions. long alternating paths by
Before we take a closer look at their proof let us take some time off the strong immersion rela-
tion. Manuscript on arXiv:
to meditate on an important result on topological minors. 2007.15822, 2020.

4.15.1 Intermezzo: Topological minors


Relax: we present only facts;
no proofs; just try to under-
Definition 4.162. Let G and H be graphs. The graph H is a stand what’s going on...

topological minor of G if some subgraph of G is isomorphic to a


subdivision of H.
260 Recent Trends

A graph H is a topological minor of G if there is a homeomorphic


embedding of H in G — that is — a map η : H → G such that
1. the map η : V(H) → V(G) is injective

2. η maps each edge {x, y} ∈ E(H) to a path η(x) η(y) in G such


that distinct edges of H map to paths in G that have no vertices
in common other than endpoints.

Exercise 4.99
Show that K5 is a minor of the Peterson graph but that it is not
a topological minor.
Remark 4.163. Grohe, Marx, Wollan, and Kawarabashi show that
finding a topological minor is fixed parameter - tractable: there
exists a cubic algorithm to test if a graph H of ‘constant size’ is a
topological minor of a graph G.

Graphs are :::


not well quasi - ordered by topological minors. — To
see that — let Pi be a path with i vertices and construct a graph
Gi as follows.
• duplicate every edge of Pi

• attach two new vertices to each end of Pi .


The sequence (Gi ) is an infinite antichain in the topological minor
order. For subcubic graphs the
topological minor relation is
Chun-Hung Liu and Robin Thomas prove that this is the only equivalent with the minor re-
obstruction. lation. Let G be an arbi-
trary graph. We can map it
to a subcubic graph G0 as fol-
Definition 4.164. A Robertson chain of length k is a graph lows. Replace a vertex x by
obtained from a path of length k by duplicating each edge. a cycle with d(x) vertices.
Each vertex in the cycle re-
Theorem 4.165. Let k ∈ N and let (Q, 6Q ) be a well quasi - ceives one neighbor of x as
a neighbor outside the cycle.
order. Let (Gi ) be a sequence of graphs without Robertson chain For what classes of graphs
of length k and let φi : V(G) → Q be a labeling of the vertices of holds G0 6top minor H0 ⇒
Gi with elements of Q. There exist j < j0 and a homeomorphism G 6top minor H ?

η : Gj → Gj0 which satisfies

∀x∈V(Gj ) φj (x) 6Q φj0 (η(x)).


4.15 Immersions 261

Further reading on topological minors:


C.-H. Liu, Graph structures and well-quasi-ordering , PhD disserta-
tion, Georgia Institute of Technology, 2014.

C.-H. Liu and R. Thomas, Robertson’s conjecture I. Well - quasi -


ordering bounded treewidth graphs by the topological minor relation.
Manuscript on arXiv: 2006.00192, 2020.

M. Grohe, D. Marx, K. Kawarabashi and P. Wollan, Finding topo-


logical subgraphs is fixed parameter tractable. Manuscript on arXiv:
1011.1827, 2010.

4.15.2 Strong immersions in series - parallel digraphs

A thread is a digraph whose underlying graph is a path. A thread


P in a digraph D is k-alternating if it changes direction k times —
that is — if it has k vertices that have in-degree in P equal to 0 or
out-degree in P equal to 0.

Chun-Hung Liu and Irene Muzi prove the following theorem.

Theorem 4.166. Let k ∈ N and let (Di ) be a sequence of digraphs


without k-alternating thread. Let (Q, 6) be a well quasi - order and
for all i let φi : V(Di ) → Q. There exist j < j0 and a strong
immersion η of Dj into Dj0 such that for all x ∈ V(Dj )

φj (x) 6 φj0 (η(x)).

In this chapter we take a close look at the proof of this theorem.


The proof is by induction on k. We present the base case k = 1
as an exercise.

Exercise 4.100
Let D be a digraph in which every thread is a directed path.
Then D is obtained from a directed path or cycle (possibly of length
two) by multiplying edges.
262 Recent Trends

Exercise 4.101
Let (Di ) be a sequence of digraphs without 1-alternating thread.
Let (Q, 6) be a well quasi - order and let φi : V(Di ) → Q. There
exist j < j0 such that there is a strong immersion η of Dj in Dj0
which satisfies

∀x∈V(Dj ) φj (x) 6 φj0 (η(x)).

Hint: Use the gap theorem. Perhaps we should do this


in class... Work this out in
detail!

Step number two is a proof of the fact that ::: one::- ::::
way :::::
series
-::::::::
parallel ::::::
triples are well quasi - ordered by strong immersions.
A biconnected multigraph is
a two - terminal graph if and
Definition 4.167. A triple (D, s, t) is a two - terminal graph if only if it is confluent. That
D is a multigraph and s, t ∈ V(D) and either is, for any two edges ev-
ery cycle that contain them,
meets the endpoints in the
• V(D) = {s, t} and E(D) = {{s, t}}
same relative order. A multi-
graph is confluent if and only
• D is a series composition: there exist two - terminal graphs if it contains no subgraph
(D1 , s1 , t1 ) and (D2 , s2 , t2 ) and s = s1 and t = t2 and D is which is a subdivision of K4
— so — its underlying sim-
obtained from the union of D1 and D2 by identifying t1 and s2
ple graph has treewidth two.

• D is a parallel composition: (D, s, t) is obtained from a union of


two - terminal graphs (D1 , s1 , t1 ) and (D2 , s2 , t2 ) by identifying
s = s1 = s2 and t = t1 = t2 .

The two vertices s and t are the ‘terminals’ of the graph.

4.15.3 Intermezzo on 2 - trees

The underlying simple graph of a 2 - terminal graph is a partial 2 -


tree — that is — it is a subgraph of a 2 - tree.
The partial 2 - trees are
To define a 2 - tree: any graph that is an edge is a 2-tree. the graphs of treewidth
When T is a 2-tree and t a triangle then a new 2-tree is obtained 2. They are the graphs
that do not have K4
from the disjoint union by identifying the endpoints of an edge in T as a minor.
with the endpoints of an edge in t.
4.15 Immersions 263

‘To understand what the


Labeled and unlabeled biconnected partial two-trees can be elements of a combinato-
enumerated (like trees). The enumeration of the ‘rooted’ graphs rial structure look like
you should try to enumerate
(where the root is a pair {s, t}) serves as a first step. See Chapter 4 them.’ (De Bruijn.)
in: Ton Kloks, ”Treewidth.” PhD Thesis, 1993.

Figure 4.15: Enumeration of


2-trees
···

Exercise 4.102
Any 2-tree has an orientation which is acyclic.

Let G be a biconnected graph of treewidth two. A cell -


completion of G is obtained from G as follows. Let s and t be
nonadjacent vertices in G. If G − s − t has at least three components
then add an edge {s, t} in the cell - completion.

When G is biconnected and has treewidth two then its cell -


completion is unique and it is a tree of cycles.

A tree of cycles is a graph defined recursively, as follows.

(i) any graph that is a cycle is a tree of cycles


Figure 4.16: A clip from the
cover
(ii) Let C be a cycle and let T be a tree of cycles. Then another tree
of cycles is obtained from the union by identifying the endpoints
of an edge in C with the endpoints of an edge in T .

4.15.4 Series parallel - triples

When a two-terminal graph is not biconnected then its cutvertices


and blocks form a path: every cutvertex is in two blocks, every
264 Recent Trends

block is incident with at most two cutvertices, and there are two
blocks that are incident with exactly one cutvertex.

The underlying simple graph of a two - terminal graph has


treewidth two — that is — a graph without a subgraph homeomor-
phic to K4 . However, notice that the claw can not be generated
as a two - terminal graph: every cutvertex in a two - terminal graph
separates the graph in two components; one contains s and the
other contains t.
A graph is the underlying graph of a two - terminal graph if and
only if it is a graph of treewidth two of which the cutvertices and
blocks form a path. Every block has a minimal triangulation (into
a 2-tree) in which the two cutvertices (including s and t) form an
edge.

The Figure 4.17 shows a minimal triangulation of a 2-terminal


graph. To specify the 2-terminal graph each edge of this minimal
triangulation is labeled with a multiplicity; ie an element of ∈
N ∪ {0}. (The multiplicity - labels are not shown.) The only edges in a minimal
triangulation of a block that
Since a 2-terminal graph has treewidth 2 each block in a minimal can have multiplicity zero
are edges that are minimal
triangulation is a 2-tree. It has a coloring with three colors such
separators.
that every pair of colors induces a tree. Similarly, a 2-tree has a
3-partition of its edges such that each part is a tree.

Figure 4.17: The figure


s t shows a minimal triangula-
tions of a 2-terminal graph.

A one-way series-parallel digraph is an orientation of a 2-terminal


graph such that all threads that run from s to t are directed paths.

Definition 4.168. A series - parallel triple (D, s, t) is a directed


graph D whose underlying graph is connected and s and t are
4.15 Immersions 265

distinct vertices of D such that every thread with ends s and t is a


directed path and every cutvertex separates s and t.

A series - parallel triple is one - way if every s, t - thread is a


directed path from s to t or if every s, t - thread is a directed path
from t to s.

The proof of the following lemma is an easy exercise.

Lemma 4.169. A series - parallel triple is an orientation of a


two - terminal graph (D, s, t) such that every thread with ends s
and t is a directed path.

Definition 4.170. Let (Q, 6) be a well quasi - order. Let (Di , si , ti )


(for i ∈ {1, 2}) be two series - parallel triples and let φi : V(Di ) → Q.
The pair (D2 , φ2 ) simulates (D1 , φ1 ) if there exists a strong immer-
sion η : D1 → D2 which satisfies

η(s1 ) = s2 and η(t1 ) = t2 and


∀x∈V(D1 ) φ1 (x) 6 φ2 (η(x))

Definition 4.171. A collection F of series parallel triples is well


- simulated if for every well quasi - order (Q, 6) in any sequence
((Di , φi )) of Q-labeled elements of F there exist j < j0 such that
(Dj0 , φj0 ) simulates (Dj , φj ).
The minimal triangulations
of the underlying simple
graphs in a parallel composi-
Parallel compositions tion are obtained by gluing
2-trees together along their
root - edges {s, t}. (See Fig-
Lemma 4.172. Let F be a set of well - simulated one way series ure 4.17.) A parallel compo-
sition encodes as a ‘Higman
parallel triples. Let Fp be the set of parallel compositions of elements - word’ over an alphabet
of F. Then Fp is well - simulated. formed by the constituents
of the composition.

Proof. Let (Q, 6) be a well quasi - order and let (Di , φi ) be a


sequence of Q-labeled series - parallel triples in Fp . By assumption
each Di is a parallel composition of a collection of — say `i (`i ∈ N)
— series - parallel triples that are in F :

Di is a parallel composition of { Di,j | j ∈ [`i ] }


266 Recent Trends

word ai — which encode (Di , φi ) — as the sequence


Define a ::::

ai = (Di,1 , ψ1 ) ··· (Di,`i , ψ`i )

where the ψj in this formula are simply the restrictions of φi to


V(Di,j ) (for j ∈ [`i ]).
It now follows from Higman’s Lemma that there exist j < j0
such that (Dj0 , φj0 ) simulates (Dj , φj ).
This proves the lemma.

F - Series parallel trees

Series compositions are not easy to deal with since immersions may
‘stretch out’ the domain. To handle this we introduce series -
parallel trees. Figure 4.17 suggests an en-
coding of one way series par-
allel triple as a ‘word’ over
Rooted digraphs (D, r) are digraphs with a root. We let strong an alphabet which is the set
immersions of rooted digraphs preserve the root. of blocks and to use Hig-
man’s lemma - with - a - gap.
Definition 4.173. A set of rooted digraphs is well - behaved if for The alphabet (set of blocks)
is well quasi - ordered by
any well quasi - order (Q, 6) and any sequence in the set of rooted
homeomorphic embedding.
digraphs (Di , ri ) with a labeling φi : V(Di ) → Q there exist j < j0
such that there is a strong immersion η of (Dj , rj ) in (Dj0 , rj0 )
which satisfies η(rj ) = rj0 and

∀x∈V(Dj ) φj (x) 6 φj0 (η(x))

Let (D, r) be a rooted digraph. Associate with (D, r) a rooted


tree T of which the nodes are the cutvertices (including r) and
the blocks of D. A block and a cutvertex are adjacent in T when
the block contains the cutvertex. The root of T maps to the root of
the digraph.

Definition 4.174. Let F be a set of rooted digraphs. A rooted


digraph (D, r) is an F series parallel tree if

1. the block that contains r is in F


4.15 Immersions 267

2. If B is a block and c is the cutvertex that separates it from its


parent then (B, c) ∈ F

3. every thread from r to a cutvertex is a directed path

4. every block contains at most two cutvertices of D; so every


block B which has a child - block is a series parallel triple. 124 124
Blocks that have a child
are called :::::
middle::::::
blocks.

Truncations and portraits


Let (B, x, y) be a middle block of a series parallel tree. Let {X, Y} A block is a middle block if
be a partition of V(B) such that x ∈ X, y ∈ Y and the number it has two cutvertices.

of edges with one end in X and the other end in Y is equal to the
maximal number of edge - disjoint threads between x and y. A {X, Y} is a minimum cut.
truncation is the series parallel triple obtained by ::::::::
shrinking one of
the two parts X or Y to one vertex.

In an F - series parallel tree add the two truncations of every


middle block to the tree; by subdividing the two edges incident
with the middle block. The new trees are called portraits.
The gap - theorem — applied to these portraits — proves the
following lemma. (We omit the proof.)
Lemma 4.175.
Let F be a set of rooted digraphs which behaves well
• F0 is the set of series parallel triples (D, s, t) with (D, s) ∈ F
and t ∈ V(D − s)

• F00 is the set of truncations of elements of F0 .


If F0 and F00 are well - simulated then the set of F - series
parallel trees behaves well.

Let F be a set of one way series parallel - triples and assume that The series extensions of F is
the set F ∗ of which the ele-
F is well - simulated. Let Fs denote the set of all series extensions
ments in a word are chained
of elements of F. The following exercise initiates a proof to show by identifying ti and si+1 .
that Fs is well - simulated.

Exercise 4.103
Let F be a set of one way series parallel triples which is well -
simulated;
268 Recent Trends

• Fs is the set of one way series parallel triples that are series
extensions of elements of F

• Ft is the set of all truncations of elements of F.

If Ft is well - simulated then Fs is well - simulated.

Hint: Use Lemma 4.175.

4.15.5 A well quasi - order for one way series parallel - triples

In this section let F be a set of one way series parallel triples. For
k ∈ N let Fk ⊆ F be the set of one way series parallel triples that
do not contain a k-alternating path.

Exercise 4.104
Let (D, s, t) be a one way series parallel triple. Design an algorithm
to calculate the maximal number k ∈ N for which (D, s, t) has a
k-alternating path.

Chun-Hung Liu and Irene Muzi prove the following lemma.

Lemma 4.176. Let (Q, 6) be a well quasi - order. Let ((Di , si , ti ))


be a sequence in Fk and let φi : V(Di ) → Q. There exist j < j0
and a strong immersion η : Dj → Dj0 such that η(sj ) = sj0 and
η(tj ) = tj0 and

∀x∈V(Dj ) φj (x) 6 φj0 (η(x))

Proof. Cover the set F with the following collections of one way
series parallel triples.

1. A0 is the set of series parallel triples that consist of one edge

2. A0,0 = A0

For k and i in N ∪ {0} define

3. Ak,2i+1 is the set of all parallel extensions of elements in Ak,2i


4.15 Immersions 269

4. Ak,2i+2 is the set of all series extensions of elements in Ak,2i+1

5. Ak+1 ⊆ F is the set of one way series parallel triples that have
no (k + 1) - alternating path that starts in s or t

6. Ak+1,0 is the set of elements in F such that either

• every (k + 1) - alternating path with s on one end contains t


and there is no (k + 1) - alternating path with t on one end
or
• every (k + 1) - alternating path with t on one end contains s
and there is no (k + 1) - alternating path with s on one end.

The lemma is proved in the following steps.

(a) every series - irreducible triple in Ak+1 is in Ak,3

(b) Ak+1 ⊆ Ak,4

(c) for (D, s, t) ∈ F :

− if (D, s, t) ∈ Ak then every truncation125 is in Ak 125


with respect to a parti-
tion {S, T } with s ∈ S and
− if (D, s, t) ∈ Ak,0 then every truncation is in Ak,0 . t ∈ T and a minimal number
of crossing edges.

The next claim is proved via Lemma 4.175.

(d) if Ak is well - simulated then Ak,0 is well - simulated

(e) let k > 0 and ` > 0. All truncations of elements of Ak,` are
elements of Ak,` .

(f) for k, ` > 0 if Ak,0 is well - simulated then Ak,` is well - simulated.

It now easily follows by induction on k that Ak is well - simulated:


This is clearly true for k = 0. When Ak−1 is well - simulated then
by (d) Ak−1,0 is well - simlulated. By (f) Ak−1,4 is well - simulated
and since Ak ⊆ Ak−1,4 (by (b)) Ak is well - simulated.

This proves the lemma since — obviously — Fk ⊆ Ak .


270 Recent Trends

4.15.6 Series parallel separations

Definition 4.177. Let D be a digraph. A separation of D is a


pair of edge disjoint subgraphs (A, B) such that A ∪ B = D. The
:::::::::::
order of the separation is |V(A ∩ B)|.
The intersection A ∩ B of
two digraphs is of course
Definition 4.178. A series parallel separation of a digraph D is what you think it is.
a separation (A, B) of D with V(A ∩ B) = {s, t} and such that
(A, s, t) is a one way series parallel triple.

Exercise 4.105
Let G be a graph of treewidth
::::::::
w. Let S be a collection of subsets
of V and assume that G[S] is connected for each S ∈ S. Let k ∈ N.
One of the two following statements holds true.

• there exist k pairwise disjoint elements of S

• there exists a subset Z ⊆ V(G) |Z| 6 (k−1)(w+1) and Z∩S 6= ∅


for each S ∈ S.

Hint: We may as well assume that G is a w - tree. First consider the The subtrees are vertices in
a chordal graph. When ev-
case w = 1 — that is — G is a tree. The Erdős - Pósa property
ery pair of subtrees intersects
says the following. Let A be a collection of subtrees of G. For every then they have a point in
k either A has k elements that are vertex - disjoint or G has a common.

subset of less than k vertices which hits every element of A.

Let’s get to the point. A graph is biconnected if it


has no separator with less
than two vertices — that is
Lemma 4.179. There exists a function f : N → N with the following — the graph is connected and
has no cutvertex.
property. Let D be a digraph whose underlying graph is biconnected
and assume that D has no (t + 1) - alternating path. There exists
a set Z ⊆ V(D) |Z| 6 f(t) such that every t - alternating path P
satisfies one of the following two statements.

• there is a series parallel separation (A, B) with P ⊆ A

• V(P) ∩ Z 6= ∅.
4.15 Immersions 271

Proof. If a digraph has two vertex disjoint threads and 2t + 3 vertex


disjoint threads that run between them then D has a (t + 1) - Exercise: Let D be an orien-
alternating path. This implies that the underlying graph of D has tation of a ladder, say with
2t + 3 steps. Show that D
no subdivision of a 2 × k -wall (for sufficiently large k). By the grid has an (t + 1) - alternating
minor - theorem there exists w ∈ N such that D has treewidth w. path.

Let f(t) = 4(w + 1). (This is a function of t; we show below that Hint: There are t + 2 steps
whose orientation from one
this works.) stringer to the other is the
same.
Let P be a t - alternating path in D. Let k ∈ N and let G be a
graph. Either the treewidth
• when t is odd then let m denote the pivot in the middle of G is at most k or G has
an f(k) × f(k) - grid as a
• when t is even then let m and m0 denote the two middle - pivots. minor, for some function f :
By symmetry we may assume that m is a sink and m0 is a N → N. This is the grid
minor - theorem.
source.

Let P1 and P2 be two vertex - disjoint t - alternating paths in D.


Denote the pivots in the middle of Pi as mi and m0i (i ∈ {1, 2}).
Let P be a thread that that runs between P1 and P2 .

1. if t is odd then V(P1 ) ∩ V(P) = m1 and V(P2 ) ∩ V(P) is between


the (d 2t e − 1)th pivot and the (d 2t e + 1)th pivot of P2 or vice
versa. Furthermore, if V(P) ∩ P2 6= {m2 } then P is a directed
path

2. if t is even then P is a directed path between m1 and m02 or vice


versa.

Figure 4.18: The figure illus-


m m m0 trates two disjoint t - alter-
r- r  t-1 r r r r- t 1  t-1 r r nating paths — P1 and P2
 J — interacting with a thread
 J
^
JJ P that runs between them.
r- r 
 t- r r r r- t  Jt- r r
m2 m2 m02
t is odd t is even

By assumption the underlying graph of D is biconnected and since


there are no three disjoint threads between P1 and P2 it follows
that there exists a separation (A, B) of order two with P1 ⊆ A
and P2 ⊆ B. — Furthermore — there exist two disjoint :::::::
directed
272 Recent Trends

paths Q1 and Q2 that run between P1 and P2 and which satisfy


the following.

• if t is even then Q1 is a directed path from m1 to m02 and Q2 is


a directed path from m2 to m01

• if t is odd then Q1 has endpoint m1 and Q2 has endpoint m2 .


Furthermore, the other end of Q1 is not m2 and the other end
of Q2 is not m1 .

We show the following.

For any five vertex - disjoint t - alternating paths P1 , · · · , P5


there exists a series parallel separation (A, B) with Pi ⊆ A for
some i ∈ [5].

Assume the paths exist. Let (A, B) be a separation of order two


A
—say V(A) ∩ V(B) = {s, t} — such that P1 ⊆ A and P2 ⊆ B. By
assumption (A, B) and (B, A) are not series parallel separations. P1
P3
At most two of the three other paths can intersect {s, t}. Assume s t
P2
V(P3 ) ∩ {s, t} = ∅ and P3 ⊆ A − s − t.

Let Q3,1 be a directed path from P3 to P1 as mentioned above. B

Then Q3,1 ⊆ A.

To see that first assume that Q3,1 contains {s, t}. Then we can
replace the part that passes through s and t by a thread in B. The
result should be a directed path from m3 to P1 \ {m1 }. However,
(B, A) is not a series parallel separation and so B contains a thread
between s and t that is not a directed path. This proves Q3,1 ⊆ A.

We claim that there is a separation (A0 , B0 ) of order two with


V(A0 ∩ B0 ) = {m1 , m2 } and

P1 ∪ P3 ⊆ A0 and P2 ⊆ B0

To prove that we show that there is no thread in D − {m1 , m2 }


between m3 and P2 \ {m2 }. That is so because a merge of such a
thread with Q3,1 would be a thread between P1 \ {m1 } and P2 \ {m2 }
which is a contradiction. So no component of D − {s, t} intersects
4.15 Immersions 273

P3 and P2 − m2 and no component of D − {s, t} intersects P1 − m1


and P2 − m2 . This proves the claim.
If Q2,3 ∩ P1 = ∅ then Q2,3 ⊆ A0 . Merge Q2,3 with a thread in B0 to
obtain thread m2 m1 . Since (B0 , m1 , m2 ) is not a one way series
parallel triple there is a thread m2 m1 which is not a directed
path. So Q2,3 ∩ P1 6= ∅.
If Q2,3 ∩ P1 6= ∅ then let P00 be the subthread of Q2,3 from P3 − m3
to P1 . Then P00 has end m1 and P00 ⊆ A0 (since m2 ∈ / V(P00 )). The
00
concatenation P ∪ Q1,2 is a thread from P3 − m3 to P2 − m2 and
this is a contradiction.
Let S be the collection of vertex - sets of t - alternating paths P for
which there is no series parallel separation (A, B) with P ⊆ A. By
Exercise 4.105 there exists a set Z of vertices in D with |Z| 6 4(w+1)
which hits every set S ∈ S.
This proves the lemma.

Ahead lies a clear road to glory; we should examine


the extreme
:::::::
series parallel separations. Way to go! There are less
than 5 extremes! A good
name for maximal separa-
Definition 4.180. A series parallel separation (A, B) of a digraph tions is ‘asteroidal.’

is maximal if there exists no series parallel separation (A0 , B0 ) in


the digraph with A ⊂ A0 .

Lemma 4.181. Let D be a digraph whose underlying graph is bicon-


nected. Assume that D 6= X ∪ Y for one way series parallel triples
(X, s, t) and (Y, t, s). If (Ai , Bi ) are two distinct maximal series
parallel separations then

A1 ⊆ B2 and A2 ⊆ B1 .

Proof. For i ∈ [2] let Ai ∩ Bi = {si , ti } such that every thread


si ti in Ai is a directed path from si to ti .
Assume that t2 ∈ V(A1 ) and that s2 ∈ V(B1 ) (see Figure 4.19).
Let P2 and P20 be threads that run between s2 and t2 in A2 and
274 Recent Trends

B2 . Every thread in A1 from s1 to t1 contains t2 (since it connects


A2 \ B2 with B2 \ A2 ) and s1 ∈ V(P2 ).
It follows that (A1 ∪ A2 , s2 , t1 ) is a one way series parallel triple.
By assumption D 6= A1 ∪ A2 so E(B1 ∩ B2 ) 6= ∅. This shows that
(A1 ∪ A2 , B1 ∩ B2 ) is a series parallel separation and A1 ⊂ A1 ∪ A2
(since s2 ∈
/ V(A1 )). This contradicts the assumption that (A1 , B1 )
is maximal.

Figure 4.19: Illustration of


Case 1
s1
t2 B1
P2

A1 s2

P20
t1

Case 2: Assume that {s2 , t2 } ⊆ V(A1 ). Then B1 ⊆ A2 or B1 ⊆ B2 .


When B1 ⊆ B2 then A2 ⊆ A1 and this contradicts that (A2 , B2 ) is
maximal.
So we have B1 ⊆ A2 . Then (B1 , t1 , s1 ) is a one way series parallel
triple and so D is the union of one way series parallel triples A1
and B1 . This is a contradiction.
Since (A1 , B1 ) is maximal A1 6⊆ A2 and so A1 ⊆ B2 .
This proves the lemma.

To summarize: Let D be a digraph whose underlying graph is


biconnected and assume that D is not a union of one way series
parallel triples (X, s, t) and (Y, t, s). The collection S of maximal
series parallel separations of D satisfies the following.
• for every series parallel separation (A, B) of D there exists
(A0 , B0 ) ∈ S with A ⊆ A0

• when (A1 , B1 ) ∈ S and (A2 , B2 ) ∈ S then A1 ⊆ B2 and A2 ⊆ B1 .


4.15 Immersions 275

4.15.7 Coda

In this section we prove Theorem 4.166.

In case you lost track; it’s the theorem below.

Theorem 4.182 (Liu and Muzi’s theorem). Let k ∈ N and let


(Di ) be a sequence of digraphs without k - alternating path. Let
(Q, 6) be a well quasi - order and for i ∈ N let φi : V(Di ) → Q.
Then there exist j < j0 and a strong immersion η : Dj → Dj0 such
that for all x ∈ V(Dj )

φj (x) 6 φj0 ( η(x) ).

Let’s get in the mood and start with an easy exercise. “In the mood” is a tune by
Glen Miller. In a future edi-
tion of this book we will let
you listen to it!
Exercise 4.106
Let D be a digraph whose underlying graph is biconnected. Let r,
x and y be three vertices of D and assume that every thread from
r to {x, y} is a directed path. Then for one of x and y there are
directed paths to and from r.
Hint: See the figure.

y Figure 4.20: Let P and Q


Q be threads from r to x and
y with V(P) ∩ V(Q) = {r}.
R r (Exercise: show that P and
Q exist.) Let R be a thread
P that connects P\r with Q\r.
x (R exists.) When all threads
from r to {x, y} are directed
paths then one endpoint of
R must be one of x or y.

To prove Theorem 4.166 we order the set of rooted digraphs.


For t, k ∈ N∪{0} let Ft,k be the set of those rooted digraphs (D, r)
that satisfy the following properties. here we go again ... see
Lemma 4.176 on Page 268.
276 Recent Trends

• the underlying graph of D is connected

• r is not a cutvertex

• D has no (t + 1) - alternating path

• no block of D has a t - alternating path

• no k - alternating path in D has r as an endpoint.

Define the classes Ft , Ftb and Ft∗ as follows.

• Ft is the set of rooted digraphs of which the underlying graph is


connected
:::::::::
and which has no t - alternating path

• Ftb is the set of rooted digraphs with no t - alternating path and


biconnected. 126
of which the underlying graph is :::::::::: 126
This includes the case
where the underlying graph
• Ft∗ is the set of rooted digraphs without t - alternating path. is one vertex or two vertices
that are adjacent: a graph is
biconnected if it is connected
and has no cutvertex.

Exercise 4.107

1. Ftb ⊆ Ft ⊆ F∗
P
2. ∅ ⊆ Ft,0 ⊆ · · · ⊆ Ft,t+1 = k>0 Ft,k .

Exercise 4.108
If Ft,t+1 behaves well then Ft ∪ Ft∗ behaves well.

Hint: By Higman’s lemma if Ft behaves well then so does Ft∗ .


So it is suffient to prove that Ft behaves well. To show this apply
Higman’s lemma (on words that are composed of letters in the well
- behaved set Ft,t+1 ).

Lemma 4.183. If Ftb behaves well then so does Ft,k for every
integer k > 0.
4.15 Immersions 277

Proof. We leave it as an exercise to check that Ft,0 behaves well. Hint: Ft,0 = ∅.

We proceed by induction on k and assume that Ft,k−1 behaves well.

Let (Q, 6) be a well quasi - order. Let (Di , ri ) be a sequence of


rooted digraphs in Ft,k and let φi : V(Di ) → Q.

Let Si be a minimal set of cutvertices x of Di that root some


branch (B, x) ∈ Ftb ∪ Ft,k−1 and that covers all branches of Di that
are in Ft,k−1 — that is — for every branch (B, x) of Di that is in
Ft,k−1 there is a (B0 , x0 ) ∈ Ftb ∪ Ft,k−1 with B ⊆ B0 and x0 ∈ Si .

By the induction assumption and by Higman’s lemma the branches


of Di that are in Ftb ∪ Ft,k−1 are well - behaved.

Let Di0 be the digraph obtained from Di by removing the internal


vertices of branches at vertices x ∈ Si that are in Ftb ∪ Ft,k−1 .

Label the vertices of D0i with elements of a well quasi - order (Q0 , 60 )
as follows.

1. if x ∈
/ Si then label x with φi (x)

2. if x ∈ Si then label x with a pair (φi (x), φi (B)) where B is the


union of branches at x that are in Ftb ∪ Ft,k−1 .

Quasi - order pairs by the Cartesian product of the components.

If D0i is biconnected then it is in Ftb (since it is in Ft,k ). So —


since Ftb behaves well — if there are an infinite number of D0i that
are biconnected then we are done. — Henceforth — we assume
that all elements of the sequence (D0i ) have cutvertices.
Hint: Let x be a cutvertex
such that some thread ri
The following claim is easily checked. When x is a cutvertex of Di
x is not directed. By def-
then all threads that run between ri and x are directed paths and inition of Si (B, x) ∈/ Ft,k
they all run in the same direction. so there is a (k − 1) - alter-
nating path in B that ends
Every block of Di0 has at most two cutvertices and the block that in x. Then there is a k -
alternating path that ends
contains ri contains at most one cutvertex of D0i . To see that use in ri . This contradicts that
Exercise 4.20. (Di , ri ) ∈ Ft,k .

It follows that (Di0 , ri ) is an Ftb - series parallel tree. We show


that the set of Ftb - series parallel trees behaves well. Let F0 be the
set of one way series parallel - triples (B, x, y) with (B, x) ∈ Ftb and
y ∈ V(B) \ x. These series parallel triples are in At . The set of all
278 Recent Trends

the truncations of the element of F0 are in At (see Lemma 4.176).


Thus F0 and all truncations are well - similated. By Lemma 4.175
this proves the claim.

Exercise 4.109
Let F be a collection of rooted digraphs and assume that F behaves
well. For s ∈ N let Fs be the collection of rooted digraphs (D, r)
for which there exists

X ⊆ V(D) |X| 6 s r ∈ X and (D − X, r0 ) ∈ F


for some r0 ∈ D \ X. (4.21)

Show that Fs behaves well.

Hint: Let (Q, 6) be a well quasi - order and let ((Di , ri )) be a


sequence in Fs and write

Xi = { ui,1 , ui,2 , · · · , ui,s } where ui,1 = ri .

For x ∈ V(Di − Xi ) define

φ0i (x) = (φi (x), a1 , b1 , · · · , as , bs ),

where a` is the number of edges ui,` → x and b` is the number


of edges x → ui,` . Define a useful well quasi - order to label the
vertices of Di − X.
Recall: Ftb is the collection
of rooted digraphs (D, r)
Lemma 4.184. Ftb behaves well for all t ∈ N. that have no t - alternat-
ing thread and of which the
Proof. We prove this by induction on t. For t = 1 the claim is underlying graph is bicon-
nected. For t = 1 these
proved in Exercise 4.101 on Page 262. are obtained from a directed
path or cycle by multiplica-
Assume that Ft−1
b
behaves well. By Exercise 4.183 and Lemma 4.108 tion of edges.
Ft−1 behaves well.

Let (Q, 6) be a well quasi - order; let ((Di , ri )) be a sequence in


Ftb and let φi : V(Di ) → Q. We show that there exist j < j0
and a strong immersion η : (Dj , rj ) → (Dj0 , rj0 ) which satisfies
φj (x) 6 φj0 (η(x)) for all x ∈ V(Dj ).
4.15 Immersions 279

Assume that for infinitely many i Di = Xi ∪ Yi for one way series


parallel triples (Xi , si , ti ) and (Yi , ti , si ). Then we are done by
Lemma 4.176. So — by the summary on Page 274 — we may
assume that every Di has a collection of separations Si that satisfy Remove any Di that is a
union of one way series par-
• (A, B) ∈ Si is a series parallel separation of Di allel triples. We may assume
that this removes only a fi-
nite number of elements from
• if (A1 , B1 ) ∈ Si and (A2 , B2 ) ∈ Si then A1 ⊆ B2 and A2 ⊆ B1 the sequence. So we are
left with an infinite sequence;
• if (A, B) is a series parallel separation of Di then there exists which we simply call (Di ).
(A0 , B0 ) ∈ Si with A ⊆ A0 .
Si is the set of maximal se-
ries parallel separations of
Di .

By Lemma 4.179 there exist N ∈ N and Zi ⊆ V(Di ) with


|Zi | 6 N which hits every (t − 1) - alternating path P for which
there is no
::
series parallel separation (A, B) with P ⊆ A.

Let’s get started.


Let (A, B) ∈ Si . Replace A with a handle which is a directed P5
that runs between the two terminals of A and that has a multiplicity
on its edges. The multiplicity of the end - edges are the degrees in
A of the two terminals. The multiplicity of the two middle edges is
the number of edge - disjoint directed paths in A that run between
the two terminals.

Figure 4.21: Replacement of


A with a handle. Multiplici-
t
ties are not shown.

A B
the monster

Let D0i be obtained from Di by replacing each :::


Ai of the separations
Si that satisfies |V(Ai ) \ V(Bi )| > 2 with a handle.
(Ai , Bi ) ∈:::
280 Recent Trends

We need to supply Di0 with a root. If ri ∈ Bi then let


ri0 = ri and if ri ∈ Ai \ Bi then let r0i be an arbitrary vertex of Di0 .

Let Zi0 be the following set of vertices in D0i .

1. the vertices of Zi that are in D0i

2. r0i

3. the two terminals s and t for every one way series parallel triple
(A, s, t) for which ... for which A has been re-
placed by a handle and for
- A ∪ B = Di which Zi ∩ (A \ B) 6= ∅.

- (A, B) ∈ Si
- V(A ∩ B) = {s, t}
- |V(A) \ V(B)| > 2
- Zi has a vertex in A \ B.

Then Z0i ⊆ V(Di ) ∩ V(Di0 ) and |Zi | 6 2 · |Zi | + 1 6 2 · N + 1.

Notice that Zi0 hits every (t − 1) - alternating path in Di0 . Exercise! Hint: Assume
there is a (t−1) - alternating
Let Di∗ = D0i − Z0i and let ri∗ be an arbitrary vertex of D∗i . By the path P 0 in Di0 that misses Z0i .
Replace parts in handles by
previous observation (Di∗ , ri∗ ) ∈ Ft−1

.
threads in Di and construct
an (t − 1) - alternating path
Let F∗ be the set of rooted digraphs (D, r) which satisfy
in Di that misses Zi .

1. D has a set Z of vertices with r ∈ Z and |Z| 6 2 · N + 1

2. (D − Z, r0 ) ∈ Ft−1

for some r0 ∈ V(D) \ Z.

Then F∗ behaves well and (D0i , r0i ) ∈ F∗ . Exercise 4.109 shows that F ∗
behaves well.

To exploit the fact that F∗ behaves well the vertices of


(Di0 , ri0 ) are now labeled with elements of a well quasi - order — say
— φ0i : V(D0i ) → Q0 . First we supply Q0 with an element that is
incomparable to all others. This element of Q0 is used to label ri0 .
For vertices x of Di0 that are in Di define φ0i (x) = φi (x).

It remains to label the vertices of handles that replace one way


series parallel triples; say (A, s, t) in Di . The midpoint of such a
handle is labeled as ((A, s, t), φi ).
4.15 Immersions 281

Fix a partition {S, T } of V(A) with s ∈ S and t ∈ T and such that


the crossing edges form a minimum cut. Label the two neighbors
of the midpoint in the handle with the two truncations
::::::::::
of which
the vertices are labeled by φi . Lemma 4.176 shows that
one way series parallel triples
F∗ behaves well; (D0i ) is a sequence in F∗ and φ0i : V(Di0 ) → Q0 for without k - alternating
threads and their trunca-
a well quasi - order (Q0 , 60 ). — Thus — there exist j < j0 and
tions are well - simulated.
a strong immersion η0 : V(Dj0 ) → V(D0j0 ) which respects (Q0 , 60 ).
It follows easily that there is a strong immersion η : (Dj , rj ) →
(Dj0 , rj0 ) which respects (Q, 6).

This proves the lemma.

Hooray! We’re done. Hip, hip!

Theorem 4.185. Let k ∈ N and let (Di ) be a sequence of digraphs


without k - alternating path. Let (Q, 6) be a well quasi - order
and for i ∈ N let φi : V(Di ) → Q. Then there exist j < j0 and a
strong immersion η : Dj → Dj0 such that for all x ∈ V(Dj )

φj (x) 6 φj0 ( η(x) ).

Proof. By Lemma 4.184 Ftb behaves well and so Ft∗ behaves well
(by Exercise 4.108 and Lemma 4.183).

This proves the theorem.

4.15.8 Exercise

A permutation graph is an intersection graph of a set of straight


line - segments with their endpoints on two parallel lines.

Figure 4.22: The figure


shows a permutation dia-
gram. Crossing line seg-
ments represent adjacent
vertices in the permutation
graph.
282 Recent Trends

A graph G is a permutation graph if and only if G and Ḡ are


comparability graphs — so — a permutation graph can be rep-
resented as a tournament with a 2-coloring of its edges such that
every color is transitive.

Exercise 4.110
A graph is AT - free if it
Let (Pi )i∈N be a sequence of permutation graphs. Show that there has no ::::::::
asteroidal ::::
triple —
exist j < j0 such that Pj immerses strongly in Pj0 . that is — if it has no three
vertices of which every pair
Show that the class of AT - free graphs is well quasi - ordered by is connected by a path that
avoids the closed neighbor-
strong immersions.
hood of the third.

4.16 Asteroidal sets

Definition 4.186. Let G be a graph. A set A ⊆ V is an


asteroidal set if for each vertex a ∈ A the set A \ {a} is contained
in a component of G − N[a].

Asteroidal sets with 3 vertices are called asteroidal


triples. — For example — consider a claw and subdivide ev-
ery edge one time. The set of leaves of this tree is an asteroidal
triple. Another example is an independent set in C6 (or the simpli-
cials in a 3-sun). Gallai presents a list of the minimal graphs that
have an asteroidal triple.

The concept was used by Lekkerkerker and Boland to characterize


interval graph in the following manner.

A graph is an interval graph if and only if it is chordal and has


no asteroidal triples.
4.16 Asteroidal sets 283

4.16.1 AT - free graphs

In this section we have a look at the structure of graphs that do


not have an asteroidal triple. Clearly (by the characterization
of Lekkerkerker and Boland ) interval graphs are graphs without
asteroidal triple. Another example of a class of graphs that are
AT-free is the class of permutation graphs.

All complements of comparability graphs are AT-free. To see that,


use the fact that cocomparability graphs are intersection graphs
of continuous functions f : [0, 1] → R. When 3 functions pairwise
don’t intersect then one is between the other two — and so — its
closed neighborhood hits every path that runs between the outer
two.

4.16.2 Independent set in AT-free graphs

Computing ω is NP-complete on AT-free graphs. That


is so because α is NP-complete on triangle-free graphs. In this
section we show that there is a polynomial algorithm to compute
the independence number α on AT-free graphs.

The algorithm computes (recursively) the following numbers.

Exercise 4.111
Let G be a graph. Then
X
α(G) = 1 + max α(Ci )
x∈V
i

where the Ci are the components of G − N[x].

Let G be AT-free and let x and y be nonadjacent vertices in


G. The interval I(x, y) is the set of all vertices that are between
x and y.
284 Recent Trends

Exercise 4.112
Let G be AT-free. Let x ∈ V and let C be a component of
G − N[x].
 
X
α(C) = 1 + max α(I(x, y)) + α(Ci )
y∈C
i

where the Ci are the components of G − N[y] that are


contained in C.

The final step is to decompose the intervals.

Exercise 4.113
Let G be AT-free and let I(x, y) be an interval in G. When
I = ∅ then α(I) = 0. Otherwise
X
α(I) = 1 + max α( I(x, s) ) + α( I(y, s) ) + α(Ci )
s∈I
i

where C1 , · · · are the components of G − N[s] that are


contained in I.

Exercise 4.114
Prove the following theorem.

Theorem 4.187. There exists an O(n4 ) algorithm to compute the


independence number in AT-free graphs.

Exercise 4.115
Show that the computation of the clique number ω is NP - complete
on AT - free graphs.
Hint: The independence number α is NP - complete for the class of
triangle - free graphs.
4.16 Asteroidal sets 285

4.16.3 Exercise

AT - free graphs are χ - bounded — that is — there exists


a function f : N → N which satisfies

χ 6 f( ω ) for all AT - free graphs.

That is so because AT - free graphs do not contain a subdivision


of a claw as an induced subgraph. Kierstead and Penrice showed
(in 1994) that the class of graphs without subdivision of a claw is
χ - bounded.

Remark 4.188. The Gyárás - Sumner conjecture suggests that for


every tree T the class of graphs that do no contain T as an induced
subgraph is χ - bounded.
Remark 4.189. We are not aware of any hereditary class of
graphs which is χ - bounded but not polynomially so.

Exercise 4.116
Let k ∈ N. Show that there is a polynomial - time algorithm to
check if χ 6 k for AT - free graphs.

A conflict - free coloring of a graph G is a coloring of


its vertices such that every closed neighborhood has a uniquely
colored vertex. Let κ(G) denote the mimimal number of colors
needed in a conflict - free coloring of G.

Exercise 4.117
Show that tK2 - free graphs satisfy κ 6 2 · t − 1.

Exercise 4.118
Show that circle graphs satisfy

κ 6 28 · ω.
286 Recent Trends

Hint: First show that permutation graphs satisfy κ 6 4. To see


that make use of the fact that permutation graphs have a shortest
path that is dominating. Davies and McCarty show that the
vertex set of a circle graph can be partitioned into 7ω parts that
induce permutation graphs.

Exercise 4.119
Prove or disprove: there exists k ∈ N such that every circle
graph can be colored conflict free with k colors.

Remark 4.190. For any graph H the class of graphs that do not
contain H as a ::::::
vertex ::::::
minor has bounded rankwidth if and only
if H is a circle graph.
J. Geelen, O. Kwon, R. McCarty, and P. Wollan, The grid theorem
for vertex - minors. Manuscript on arXiv: 1909.08113, 2020.

4.16.4 Bandwidth of AT-free graphs

Definition 4.191. A layout of a graph G is an ordering of its


vertices L : V ↔ [n]. The width of L is 0 if E = ∅ and otherwise
it is
max { |L(x) − L(y)| | {x, y} ∈ E }.

The bandwidth of G is the minimal width of a layout of G. 127 127


When a graph has small
bandwidth then the rows and
columns of its adjacency ma-
trix can be permuted so
In this section we prove the following theorem. that all 1s appear in a narrow
band around the diagonal.

Theorem 4.192. There exists a linear - time algorithm to


approximate the bandwidth of AT-free graphs with worst - case
performance ratio 6.
4.16 Asteroidal sets 287

To prove the performance ratio we need a lower


bound.

Lemma 4.193. Let G be a graph. Let {x, y} ∈ E. Then

1
bw(G) > · ( |N(x) ∪ N(y)| − 1 ) .
3
Proof. Let L be an optimal layout. Assume L(x) < L(y). Consider
the three sets S1 , S2 , and S3 :

S1 = { z ∈ N | L(z) 6 L(x) }
S2 = { z ∈ N | L(x) 6 L(z) 6 L(y) }
S3 = { z ∈ N | L(z) > L(y) }

where N = N(x) ∪ N(y).

Then
X
bw(G) > max |Si | − 1 and |Si | = |N| + 2.
i
i

There must exist i such that |Si | − 1 > 13 (|N| − 1).

This proves the lemma.

Definition 4.194. A caterpillar is a tree with a dominating path.

The vertices of the caterpillar that are not in the dominating


path are called the feet of the caterpillar. 128 128
These animals should not
be confused with (but look
similar to) another kind of
animals called ‘centipedes’
Exercise 4.120 — that is — ‘100-feet.’ (In
Dutch they have a 1000 feet.)
A tree is a caterpillar if and only if it does not contain the tree
obtained from a claw by subdividing each edge one time.
Show that a tree is AT-free if and only if it is a caterpillar.

Lemma 4.195. There exists an O(n) algorithm to approximate the


bandwidth of caterpillars within a factor 3/2.
288 Recent Trends

Proof. Let [b1 · · · b` ] be the dominating path of a caterpillar T


and let di be the number of feet attached to bi . Define
 
di X
L(bi ) = + dj .
2
j<i

For feet z adjacent to bi let


   
di di
L(z) ∈ L(bi ) − , ··· , L(bi ) + .
2 2

The width of L is
   
di di+1
max L(bi+1 ) − L(bi ) = max + .
i i 2 2

By Lemma 4.193
1
bw(T ) > · max di + di+1 + 1.
3 i

3
This implies that the width of L is at most 2 · bw(T ).
This proves the lemma.

Exercise 4.121
Prove the following lemma.

Lemma 4.196. Let G be a connected AT-free graph. There exists


a spanning caterpillar T such that any adjacent pair in G is at 129
The caterpillar T has
V(T ) = V(G) (it spans V).
distance at most 4 in T . This caterpillar can be found in linear
The graph G is a (spanning)
time. 129 subgraph of T 4 .

Hint: Use the fact that a connected AT-free graph has a dominating
pair — that is — a pair of vertices such that any path that connects
them is a dominating path.

We are ready to proof Theorem 4.192.

Proof. Let G be AT-free. Let T be a spanning caterpillar such


that adjacent vertices in G are at distance at most 4 in T . Let L
be a layout of T of width at most 32 · bw(T ).
4.16 Asteroidal sets 289

Use L as a layout for G. We have

width(G, L) 6 width(T 4 , L)
6 4 · width(T , L)
3
6 4 · bw(T )
2
6 6 · bw(G).

This proves the theorem.

Remark 4.197. There exists an O(m+n log n) algorithm to compute


the bandwidth on caterpillars. Alternatively there exists a O(n3 )
algorithm that approximates the bandwidth of AT-free graphs within
a factor 2.

The bandwidth problem remains NP-complete on cobipartite graphs


(which are AT-free). (For cobipartite graphs the bandwidth equals
the treewidth of the graph.)

Another way to approximate the bandwidth of AT-free graphs is via


the computation of a minimal triangulation. Let G be AT-free
and let H be a minimal triangulation of G. Then the bandwidth
of H is at most twice the bandwidth of G. To see that observe
that AT-free graphs have no induced C6 . It follows that in any
minimal separator S of G two nonadjacent vertices of S have
a common neighbor in G. This shows that any two adjacent
vertices of H that are not adjacent in G have a common neighbor
in G. Consequently bw(H) 6 2 · bw(G). — Finally — every 130
D. Kleitman and
R. Vohra, Computing the
minimal triangulation of G is an interval graph and there is an
bandwidth of interval graphs.
O(n2 ) algorithm to compute the bandwidth of interval graphs. 130 SIAM Journal on Discrete
Mathematics 3 (1990),
pp. 373–375.

Exercise 4.122
A graph is AT-free if and only if every minimal triangulation is an
interval graph.
290 Recent Trends

4.16.5 Dominating pairs

A connected graph with at least two vertices and without asteroidal


triples has a dominating pair — that is — a pair of vertices s
and t with the property that every s t - path in the graph is a
dominating set.

4.16.6 Antimatroids

Let V be the set of vertices of a graph G. A betweenness relation


in G is a collection of rooted sets K = { (K, r) } where K ⊆ V and
r ∈ K. A betweenness relation K defines a convexity: a set C ⊆ V is
convex if
K\r ⊆ C ⇒ r ∈ C
for every betweenness (K, r) ∈ K.

Definition 4.198. Let V be a finite set and let C be a collection


of subsets of V. The set system (V, C) is a convex geometry if

1. ∅ ∈ C and V ∈ C

2. if A ∈ C and B ∈ C then A ∩ B ∈ C

3. if A ∈ C and A 6= V then there exists x ∈ V \ A such that


A ∪ x ∈ C.

Chang et al. proved the following characterization of AT - free


graphs.

Theorem 4.199. There exists a betweenness relation such that the


collection of convex sets in a graph is a convex geometry if and
only if the graph has no asteroidal triple.

The betweenness relation consists of rooted sets with three pairwise


nonadjacent vertices for which there is a path from the root to
each end that avoids the neighborhood of the other end.
When some vertex is between two others then it is one of the
following.
4.16 Asteroidal sets 291

1. the nose of a bull

2. a root of a 6 - chain

3. a midpoint of P5

4. a pendant, adjacent to the midpoint of P5 .

r x z x z Figure 4.23: The figure


shows P5, P5 with a pen-
x z dant, the bull and the 6-
chain. The ‘root’ r is the
element of the betweenness
x r z r r
that is between the two ‘ends’
x and z.

An AT - free order is a shelling sequence of the convex geometry;


:::::::::::::::
it repeatedly removes vertices from the graph that are not between
two others.
Algorithm 9: Compute an
AT - free order
α ← ∅;

while α 6= V do

Choose x ∈ V \ α such that


there is no betweenness (K, x) K ⊆ V \ α with root x;

α ← αx

end while

Example 4.200. Consider a shelling of a poset which eliminates


If the poset is a rooted tree
elements that have no descendants. The sequences are the words
then the antimatroid is the
of an antimatroid. Poset antimatroids have a betweenness relation collection of elimination or-
with only two elements — namely — the cover - relation of the ders which remove leaves
until there are no more ver-
poset. tices. The betweenness rela-
tion is the parent relation of
the tree.
292 Recent Trends

Exercise 4.123
Let G be a chordal graph. The collection of simplicial elimination
orders of G is an antimatroid. Please describe a concise betweenness
relation that defines this antimatroid.

If a graph has no root of a P5 , bull or 6 - chain then it is AT -


free and any order of the vertices is an AT - free order.

Lemma 4.201. Let G be a graph and assume that G is prime with


respect to modular decomposition. If G has no induced P5 , bull or 6
- chain then any independent set in G has at most two elements.

Proof. Assume G is prime and has no induced P5 or bull. Maffray


shows that either G is the complement of a graph without triangles
or G has no house (that is the complement of P5 ) or C5 . 131 131
The refences are listed on
Page 294.
Fouquet and Vanherpe show that if a graph is prime and has no
C5 , P5 , house or bull then it is a chain graph or the complement
of a chain graph. In our case the graph has no 6-chain. This leaves
complements of chain graphs (which includes the 4-chain P4 ). —
In any case — the complements are graphs without triangle.

4.16.7 Totally balanced matrices

Let H be a hypergraph. Its incidence matrix is the 0/1 - matrix of


which the rows are indexed by the vertices of H and the columns
are indexed by the hyperedges of H. An entry (x, e) of this matrix
is 1 if the vertex x is in the edge e.

Definition 4.202. A hypergraph is totally balanced if the inci-


dence matrix does not contain a submatrix of size at least 3 with no
identical columns and with each row sum and column sum equal
to 2.
4.16 Asteroidal sets 293

Lemma 4.203. Let G be connected and AT - free. Let {s, t} be a


dominating pair and let P be a shortest s t - path in G. Let H be
the hypergraph with vertex set V(G) and the following edges. For
each P3 in P the union of the closed neighborhoods is an edge of H.
Then H is totally balanced.

Proof. It is sufficient to to show that the hyperedges are a path


decomposition of G — in other words — the graph becomes an
interval graph if we make clique of all hyperedges.
Both endpoints of an edge are in the closed neighborhood of a P3
in P — otherwise there is a cycle of length at least 6.
Clearly each vertex of G is in a consecutive set of hyperedges.

Remark 4.204. Strongly chordal graphs are chordal graphs without


a sun. They have a ::::::
simple elimination order; that is a simplicial
elimination order that avoids taking out the nose of a bull, or a
midpoint of P5 , or a pendant to a midpoint of P5 . A vertex is simple if for any
A net is a graph that consists of a clique and an independent set two vertices x and y in its
closed neighborhood
both of size at least 3 and a perfect matching between them. A
net is the smallest strongly chordal graph that has a nose of a bull N[x] ⊆ N[y] or

between any two of its ends. (Three leaves in a net are an asteroidal N[y] ⊆ N[x].

triple.)

Exercise 4.124
The simple elimination orders of an :::::::
interval::::::
graph are the words of
an antimatroid. Describe a betweenness relation that defines this
antimatroid.

Exercise 4.125
A paired dominating set in a graph is a dominating set that has a
perfect matching.

1. Show that every graph without isolated vertices has a paired


dominating set.
294 Recent Trends

2. Show that there is a greedy algorithm to compute a paired domi-


nating set in AT - free graphs of smallest size.

Hint: Let P be a dominating shortest path. This defines a path -


decomposition as in Lemma 4.203. Prove that there is a minimum
paired dominating set with a perfect matching of which every edge
hits P. (See Figures 4.24, 4.25 and 4.26.)

Figure 4.24: The figure


shows a betweenness involv-
ing a P3 in P. (The red ver-
tices are vertices of the short-
est path P.)

Figure 4.25: The absence of


asteroidal triples limit the
neighborhood of a C5

Figure 4.26: The figure


shows the connections be-
tween two P4 s.

Further reading

Alcón, L., B. Brešar, T. Gologranc, M. Gutierrez, T. Šumenjak, I. Pe-


terin, A. Tepeh, Toll convexity, European Journal of Combinatorics
46 (2015), pp. 161 – 175.
4.16 Asteroidal sets 295

Beisegel, J., Characterising AT - free graphs with BFS. Manuscript


on arXiv: 1807.05065, 2018.
Boyd, E. and U. Faigle, An algorithmic characterization of antima-
troids, Discrete Applied Mathematics 28 (1990) pp. 197 – 205.
Chang, J., T. Kloks and H. Wang, Convex geometries on AT -
free graphs and an application to generating the AT - free orders.
Manuscript 2017.
Corneil, D. and J. Stacho, Vertex ordering characterizations of graphs
of bounded asteroidal number, Journal of Graph Theory 78 (2015)
pp. 61 – 79.
Farber, M., Domination, independent domination, and duality in
strongly chordal graphs, Discrete Applied Mathematics 7 (1984)
pp. 115 – 130.
Fouquet, J. and J. Vanherpe, Seidel complementation on
(P5 , house, bull) - free graphs. Technical report Université d’Orléans,
HAL - 00467642, 2010.
Korte, B., L. Lovász and R. Schrader, Greedoids, Springer, Series
Algorithms and Combinatorics 4 1980.
Lawler, E., Optimal sequencing of a single machine subject to
precedence constraints, Management Science 19 (1973) pp. 544 –
546.
Maffray, F., Coloring (P5 , bull) - free graphs. Manuscript on arXiv:
1707.08918, 2017.
Nakamura, M., Excluded - minor characterizations of antimatroids
arisen from posets and graph searches, Discrete Applied Mathematics
129 (2003) pp. 487 – 498.
Hoffman, A., A. Kolen and M. Sakarovitch, Totally balanced and
greedy matrices. Technical report, Mathematical Centre, Amster-
dam, 1980.

4.16.8 Triangle graphs

Circle graphs are the intersection graphs of chords of a circle.


296 Recent Trends

Elmallah and Stewart introduced the class of k-polygon graphs.


These graphs are the intersection graphs of chords in a k-sided
polygon. Elmallah and Stewart show that k-polygon graphs can
be recognized in polynomial time and that the domination problem
2
can be solved in O(n4k +3 ) time on k-polygon graphs.

Figure 4.27: The figure


shows some chords in a tri-
angle. It is the model of a
3-sun.

Exercise 4.126
Define a betweenness which generates an antimatroid on triangle
graphs. Design a greedy algorithm to compute γ on triangle graphs
(γ is the domination number). Let T be a rooted binary,
tree. The leaves are labeled
as 0 or 1. Internal nodes (in-
cluding the root) are labeled
with variables xi . Given
4.17 Sensitivity input x ∈ {0, 1}n the tree
is evaluated as follows. If
the root is a leaf then out-
put its label 0 or 1. Other-
In 2019 Hao Huang proved the sensitivity conjecture! wise query the value of the
root variable xi . If it is 0
then evaluate the left sub-
tree — otherwise — eval-
In this chapter we take a look at the proof. uate the right subtree. The
tree T ‘computes’ a Boolean
function f : {0, 1}n → {0, 1}
A decision tree is an algorithm that evaluates a Boolean func-
if the algorithm described
tion f : {0, 1}n → {0, 1} by a sequence of queries. A query reads above gives output f(x) for
one bit xi of an input x ∈ {0, 1}n . The choice of a query depends all x ∈ {0, 1}n . The depth
of f is the smallest depth of
on the outcome of previous queries. a tree that evaluates f.
4.17 Sensitivity 297

The depth of a decision tree is the largest number of queries made


by the algorithm to evaluate f(x) (over all x ∈ {0, 1}n ). The depth
D(f) of a Boolean function f is the smallest depth over all decision
trees that compute f.

Definition 4.205. Let f : {0, 1}n → {0, 1} be a Boolean function.


Make sure you understand
The sensitivity of f at input x ∈ {0, 1}n is the number of i’s for this definition properly:
which a flip of the ith element of x changes the value of f(x). {0, 1} is an alphabet. Ele-
The sensitivity s(f) of f is the largest sensitivity at input x over ments of {0, 1}n are words
of length n with letters in
all x ∈ {0, 1}n . {0, 1}. For S ⊆ [n] let xS
be the word obtained from
x = x1 · · · xn by ::::::
flipping
In 2019 Hao Huang proved the following theorem. the value of xi for i ∈ S.
The sensitivity of f at x is
Theorem 4.206 (The sensitivity theorem). Let f : {0, 1}n → {0, 1} the number of i ∈ [n] for
which f(x) 6= f(x{i} ).
be a Boolean function. Then s(f) 6 D(f) and there exists a
constant c such that
Exercise: Show that
c D(f) > s(f).
D(f) = O ( s(f) ) .

4.17.1 What happened earlier ...

For x ∈ {0, 1}n and S ⊆ [n] let xS be the word obtained from x by
flipping all bits in S.

Definition 4.207. The block sensitivity of a Boolean function f


at x ∈ {0, 1}n is the maximal number of disjoint subsets B ⊆ [n]
for which f(xB ) 6= f(x). The block sensitity of f is the largest block
sensitivity of f(x) over all x ∈ {0, 1}n .

Noam Nisan showed (in 1989) the following sandwich Exercise: Show that bs(f) >
s(f).

s(f) 6 bs(f) 6 D(f) = O(bs(f)4 ).

Hao Huang proves the following theorem. — Notice — that this


proves the sensitivity theorem. Exercise: Show that this the-
orem proves the sensitivity
theorem.
298 Recent Trends

Theorem 4.208. For every Boolean function

s(f) 6 bs(f) 6 s(f)4 .

We take a look at the proof — but first — let’s do


something else.

4.17.2 Cauchy’s interlace lemma

Let A be a real symmetric n × n matrix. Then all eigenvalues


are real numbers. A principle submatrix B is a submatrix of A on
the same subset of rows and columns. Cauchy’s interlace lemma
says that the eigenvalues of A and B interlace which is defined
as in the lemma. The eigenvalues of A and
B are like shoelaces.
Shoelaces ‘interlace’ (that
Lemma 4.209. Let A be a real symmetric n × n - matrix. Let is; they ‘twine’) to tie up
your shoe.
B be a m × m principal submatrix of A. Let λ1 > · · · > λn be When m = n − 1 then
the eigenvalues of A and let µ1 > · · · > µm be the eigenvalues of
λ1 > µ 1 > λ2 > · · ·
B. Then for i ∈ [m]:
· · · > µn−1 > λn
λi > µi > λi+n−m .

4.17.3 Hypercubes

For a proof of the following lemma see eg the mono-


graph by Brouwer and Haemers on spectra of graphs.
Figure 4.28: A hypercube

Lemma 4.210. The spectrum of the hypercube Qn consists of


the numbers n − 2i with multiplicity ni for i = 0 · · · n.

Exercise: Prove The-
orem 4.211 by using
Lemma 4.210 and interlac-
ing.
In his paper Huang Huo proves the following theorem.
Hint: ∆(H) > λ1 (H).
4.17 Sensitivity 299

Theorem 4.211 (The hypercube theorem). Let H be an induced


subgraph of the hypercube Qn with 2n−1 + 1 vertices. Then the
largest degree in H satisfies

∆(H) > n

and — this inequality is tight when n is a square.

To prove Theorem 4.211 let’s start with two exercises.

Exercise 4.127
Define a sequence (An ) of {0, −1, +1} - matrices as follows. If we flip all −1’s in An to
+1 we get the adjacency ma-
! !
trix of the hypercube Qn .
0 1 An−1 I
A1 = and An = .
1 0 I −An−1
√ √
Show that the eigenvalues of An are n and − n both of
multiplicity 2n−1 .
Remark: An n × n con-
Hint: An satisfies A2n = n · I. ference matrix C has ze-
ros on the diagonal and +1
or -1 everywhere else and
::::::::::::
satisfies CT C = (n − 1)I.
Exercise 4.128 Van Lint and Seidel show
that a symmetric conference
Let G be a graph. Let A be a :::::::::
symmetric matrix whose rows and matrix can only exist if n =
columns are indexed by V(G) and which has entries in {0, −1, +1} 2 mod 4 and n − 1 is a sum
of two squares.
such that
A(x, y) 6= 0 ⇒ {x, y} ∈ E(G) 132
λ1 (A) is the largest
132 eigenvalue of A and ∆(G)
Then ∆(G) > λ1 (A).
is the largest degree of a ver-
tex in G.

The proof of the hypercube theorem

Remark: A matrix H is
Proof. Let An be the {0, −1, +1} - matrix as defined in Exer- Hadamard if all
:
its entries
cise 4.127. Change all the −1 - entries in An to +1. Then the are +1 or -1 and HHT =
n · I. When H is hadamard
matrix becomes the adjacency matrix of the hypercube Qn . — So then so is H H

H −H .
— we may assume that there is a 1-1 correspondence between rows
and columns of An and Qn .
300 Recent Trends

Let H be an induced subgraph of Qn with at least 2n−1 + 1


vertices. Let AH be the principal submatrix of An whose rows
and columns are indexed by the vertices of H. By Exercise 4.128

∆(H) > λ1 (AH ).

By Cauchy’s interlace lemma:



λ1 (AH ) > λ2n−1 (An ) = n. (4.22)

This proves the theorem.

It is easy to see that the inequality (4.22) is tight: Let H be the


subgraph of Qn induced by all vertices of even weight and one vertex
P n n−1
of odd weight. Then H is a union of the star K1,n and isolated There are i 2i = 2
√ vertices of even weight.
vertices. The largest eigenvalue is n.
They form an independent
set in Qn . Every vertex
in Qn of odd weight has
4.17.4 Möbius inversion a neighborhood of size n
which is a set of vertices that
all have even weight.
Let f : {0, 1}n → R be a map. We show that f can be represented
as a polynomial in n variables x1 , · · · , xn .

The elements of the domain {0, 1}n are in 1-1 correspondence


with subsets of [n]. Let (P, 6) be the poset with P = 2[n] and 6
the subset - relation.

Exercise 4.129
Prove Lemma 4.212 below.
Hint: This lemma is ‘the principle of inclusion - exclusion.’

Lemma 4.212 (Möbius inversion of the hypercube). Let f : P → R


be a map and let g : P → R be defined as follows
X
g(x) = f(y).
y6x

Then X
f(x) = g(y) · (−1)n(x)−n(y) , (4.23)
y6x

where n(·) denotes the number of elements in the specified subset.


4.17 Sensitivity 301

The right hand - side of Equation 4.23 can be written as a


multilinear polynomial in n variables x1 , · · · , xn : write x ∈ P as
x = (x1 , · · · , xn ) where each xi ∈ {0, 1}. Then
P Y Y
(−1)n(x) = (−1) xi = (−1)xi = (1 − 2xi ).

In their paper Gotsman and Linial write x ∈ P as



 −1 if i ∈ x
x = (x1 , · · · , xn ) where xi = C. Gotsman and N. Linial,
 +1 if i ∈
/ x. The equivalence of two prob-
lems on the cube, Journal
of Combinatorial Theory, Se-
and they rewrite (4.23) as ries A 61 (1992), pp. 142–
146.
 
X Y X
f(x) = αy · xi  = αy ·(−1)n(x∩y) . (4.24)
y∈P i∈y y∈P

When f : {−1, +1}n → {−1, +1} is a Boolean map then all of the
2n coefficients satisfy −1 6 αx 6 +1. Gotsman and Linial call the
coefficient αx the Fourier
transform of f at x.
Definition 4.213. The degree of a Boolean map f : {−1, +1}n →
{−1, +1} is
δ(f) = max{ |x| | αx 6= 0 }.

4.17.5 The equivalence theorem

In their paper Gotsman and Linial prove the equivalence theorem.


Let G be an induced subgraph of Qn . Define

Γ (G) = max { ∆(G), ∆(Qn − G) }.

Theorem 4.214 (The equivalence theorem). Let h : N → R be a


monotone map. The following two statements are both true or both
false.

1. if G is an induced subgraph of Qn and |V(G)| 6= 2n−1 then


Γ (G) > h(n)
302 Recent Trends

2. any Boolean function f : 2[n] → {−1, +1} satisfies s(f) > h(δ(f)).

Proof. Identify an induced subgraph G of Qn with a Boolean


function: 
+1 if x ∈ V(G)
g(x) =
−1 if x ∈
/ V(G).

Exercise 4.130
Show that
dG (x) = n − s(g(x)).

1
P
Let E(g) = 2n · x∈2[n] g(x).

Exercise 4.131
Show that the statements in the lemma are equivalent with the
following pair of statements.

1’. if g is a Boolean function and E(g) 6= 0 then there exists x ∈


V(Qn ) with s(g(x)) 6 n − h(n)

2’. for any Boolean function f: if s(f) < h(n) then δ(f) < n.

The equivalence of 1.0 and 2.0 is shown as follows. Let

Y
n
g(x) = f(x) · xi .
1
f and g represent induced
subgraphs with vertex sets
Call the coefficients αx ( x ∈ 2[n] ) in (4.24), for the boolean that partition V(Qn ).
functions f and g: f̂x and ĝx .

Exercise 4.132

(a) Show that s(g(x)) = n − s(f(x))

(b) Show that the coefficients f̂x and ĝx of Equation (4.24) for
the Boolean functions f and g satisfy

ĝx = f̂x̄ where x̄ = [n] − x


4.17 Sensitivity 303

(c)
E(g) = ĝ∅ = f̂[n] .

1.0 ⇒ 2.0 :
Assume δ(f) = n. Then f̂[n] 6= 0 — so — E(g) 6= 0. By 1.0 there
exists x ∈ 2[n] such that s(g(x)) 6 n − h(n). This implies that
there exists x ∈ 2[n] such that s(f(x)) > h(n).
2.0 ⇒ 1.0 :
Assume that for all x ∈ 2[n] s(g(x)) > n−h(n). Then s(f) < h(n).
By 2.0 δ(f) < n — and so —

f̂[n] = ĝ∅ = E(g) = 0.

This proves the lemma.

We omit the proof of the following lemma. It was proved by Tal :


A. Tal, Properties and applications of Boolean function composition
Electronic Colloquium on Computational Complexity , Report No.
163, 2012.

Lemma 4.215 (Tal). The block sensitivity and degree of a Boolean


functions satisfy
bs(f) 6 δ(f)2 .
We’ll add a proof later on ...
maybe ...

We now prove Theorem 4.208 (on Page 298).



Proof. In the equivalence theorem take h(n) = n. Then the
first item (1.) holds true since one of G or Qn − G has at least
2n−1 + 1 vertices. We conclude
p
s(f) > δ(f).

We obtain (by Tal’s lemma) :

s(f)4 > δ(f)2 > bs(f).

This proves Theorem 4.208.


304 Recent Trends

4.17.6 Further reading

The sensitivity conjecture stems from this paper. The paper shows
(Lemma 7) that bs(f) 6 2 · δ(f)2 . (Tal’s lemma removes the factor
2.)
N. Nisan and M. Szegedy, On the degree of Boolean functions as
real polynomials, Computational Complexity 4 (1994), pp. 301–313.

The following paper makes a probabilistic approach.


J. Bourgain, J. Kahn, G. Kalai, Y. Katznelson and N. Linial, The
influence of variables in product spaces, Israel Journal of Mathemat-
ics 77 (1992), pp. 55–64.

A lot about eigenvalues and about interlacing techniques


can be found in the following publications.

Andries E. Brouwer and Willem H. Haemers, Spectra of Graphs,


Universitext, Springer, 2011.

Willem H. Haemers, Interlacing eigenvalues and graphs, Linear


Algebra and its Applications 227/228, (1995), pp. 593–616.

The paper below is a classic on Möbius functions.

Gian - Carlo Rota, On the foundations of combinatorial theory: I


Theory of Möbius functions, Z. Wahrscheinlichkeitstheorie 2 (1964),
pp. 340–368.

4.18 Homomorphisms
Definition 4.216. Let G and H be two graphs . A homo-
morphism
G → H
is a map h : V( G ) → V( H ) with the property

∀ e ∈ E( G ) h( e ) ∈ E( H ) ,
where — for a set A ⊆ V( G ) we write
h( A ) = { h( a ) | a ∈ A } . (4.25)
4.18 Homomorphisms 305

Thus, a homomorphism is a map that sends edges to edges .


133 133
and dust to dust . . .

Exercise 4.133
Define  hom as the quasi – order defined on graphs by

G  hom H if there exists a homomorphism G → H.

Show that  hom is not a well quasi – order.


Hint: Show that the sequence of odd cycles

C3 , C5 , C7 , · · ·

is an infinite antichain — that is — no two elements are com-


parable under hom . BTW, how about the even cycles ?

Exercise 4.134
Show that for any graph G and k ∈ N

G → Kk ⇔ χ( G ) 6 k (4.26)
Kk → G ⇔ ω( G ) > k . (4.27)

4.18.1 Retracts

Definition 4.217. Let G and H be graphs. The graph H is a


retract of G if there exist homomorphisms 134 134
The maps ρ and γ are
called the retraction and co-
retraction.
ρ:G → H and γ:H → G such that ρ ◦ γ = idH

where idH is the identity map V(H) → V(H). 135


However a copy of H in
G is not necessarily a re-
tract of G. (When H is a
When H is a retract of G then H is isomorphic to an induced retract then a proper color-
subgraph of G. 135 Since there are homomorphisms in two directions, ing of H extends to a proper
coloring of G.)
306 Recent Trends

G and H have the same clique number, chromatic number and odd
girth. A graph G retracts to Kk if and only if χ(G) = ω(G) = k.

For any graph H to check if there is a homomorphism G → H is


polynomial when H is bipartite and it is NP-complete otherwise. It
follows that, for any graph H, checking if H is a retract of a graph
G is NP-complete, unless H is bipartite. The question whether a
graph G has a homomorphism to itself which is not the identity is
NP-complete.

4.18.2 Retracts in threshold graphs

Theorem 4.218. Let G and H be threshold graphs. There exists


a linear-time algorithm to check if H is a retract of G.

Proof. Assume that H is a retract of G and let ρ and γ be the


retraction and co-retraction.
Assume that G has a universal vertex, say x1 . Then H must have
a universal vertex as well, since a retract of a connected graph is
connected. Let y1 be a universal vertex of H. Let yi = ρ(x1 ). Since
ρ is a homomorphism it preserves edges, and since x1 is universal in
G, ρ maps no other vertex of G to yi . Notice also that γ(yi ) = x1
since ρ ◦ γ = idH and ρ maps no other vertex to yi .
Assume that yi 6= y1 . Let γ(y1 ) = x` . Then x` 6= x1 since γ
preserves edges and so

{ y1 , yi } ∈ E(H) ⇒
{ γ(y1 ), γ(yi ) } = { x` , x1 } ∈ E(G) ⇒ x` 6= x1 .

Furthermore, since y1 is universal, γ maps no other vertex of H to


x` . Of course, since ρ ◦ γ = idH , ρ(x` ) = y1 .
We claim that yi is universal in H, and therefore exchangeable with
y1 . Assume not and let ys ∈ V(H) be another vertex of H not
adjacent to yi . Let γ(ys ) = xp . Then xp 6= x1 since ρ ◦ γ = idH
and ρ(x1 ) = yi 6= ys . Now, since ρ is a homomorphism,

{x1 , xp } ∈ E(G) ⇒ {ρ(x1 ), ρ(xp )} = {yi , ys } ∈ E(H),


4.18 Homomorphisms 307

which is a contradiction. Therefore, we may assume that yi = y1 .


— That is — from now on we assume that

ρ(x1 ) = y1 and γ(y1 ) = x1 .

This proves that, when G is connected then H is a retract of G if


and only if H − y1 is a retract of G − x1 . By the way, notice that if
|V(H)| = 1 then H can be a retract of G only if G is an independent
set, so this case is easy to check.
Finally, assume that G is not connected. Since G has no induced
2K2 , all components, except possibly one, have only one vertex. The
number of components of H can be at most equal to the number of
components of G, since ρ maps components in G to components of
H, and ρ ◦ γ = idH , and so any two components of H are mapped
by γ to different components of G.
First assume that H is also disconnected. Let x1 , . . . , xa be the
isolated vertices of G and let y1 , . . . , yb be the isolated vertices
of H. Let ρ(xi ) = yi and γ(yi ) = xi for i ∈ {1, . . . , b} and let
ρ(xb+1 ) = · · · = ρ(xa ) = yb . Now, H is a retract of G if and only if
H − {x1 , . . . , xb } is a retract of G − {x1 , . . . , xa }.
If H is connected, with at least two vertices, then let y1 be a universal
vertex and let ρ(x1 ) = · · · = ρ(xa ) = y1 . If H is a retract of G then
G must have exactly one component with at least two vertices,
since G is a threshold graph and ρ is a homomorphism. Let xu be
the universal vertex of that component and define ρ(xu ) = y1 and
γ(y1 ) = xu . In this case, H is a retract if and only if H − y1 is a
retract of G − {x1 , . . . , xa , xu }.
An elimination ordering, which eliminates successive isolated and
universal vertices in a threshold graph, can be obtained in linear
time.
This proves the theorem.

4.18.3 Retracts in cographs


In this section we show that the retract - problem is NP-complete
on cographs.
308 Recent Trends

Recall that a graph G is perfect when ω(G0 ) = χ(G0 )


for every induced subgraph G0 of G. By the perfect graph
theorem a graph is perfect if and only if it has no odd hole or odd
antihole. This implies that cographs are perfect. Perfect graphs are
recognizable in polynomial time. For a graph G, when ω(G) =
χ(G) one can compute this value in polynomial time via Lovász
theta function.

Lemma 4.219. Assume that ω(H) = χ(H). There is a homomor-


phism G → H if and only if χ(G) 6 ω(H).

Proof. Write ω = ω(H) = χ(H). First assume that there is a


homomorphism φ : G → H. There is a homomorphism f : H → Kω
since H is ω-colorable. Then f ◦ φ : G → Kω is a homomorphism,
and so G has an ω-coloring. This implies that χ(G) 6 ω.

Assume χ(G) 6 ω. There is a homomorphism G → Kk , where


k = χ(G). Since Kk is an induced subgraph of H, there is also a
homomorphism Kk → H. This implies that G is homomorphic to H
— ie — G → H.

This proves the lemma.

Corollary 4.220. When G and H are perfect one can check


in polynomial time whether there is a homomorphism G → H.

Retracts — like general homomorphisms — consti-


tute a transitive relation. We provide a short proof of this
for completeness sake.

Lemma 4.221. Let A be a retract of G and let B be a retract of A.


Then B is a retract of G.

Proof. Let ρ1 and γ1 be a retraction and co-retraction from G to


A and let ρ2 and γ2 be a retraction and co-retraction from A to
4.18 Homomorphisms 309

B. Since all four maps ρ1 , ρ2 , γ1 and γ2 are homomorphisms, the


following two maps are homomorphisms as well.

ρ2 ◦ ρ1 : G → B and γ1 ◦ γ2 : B → G. (4.28)

Furthermore,

(ρ2 ◦ ρ1 ) ◦ (γ1 ◦ γ2 ) = ρ2 ◦ idA ◦ γ2 = ρ2 ◦ γ2 = idB . (4.29)

This proves that B is a retract of G.

Throughout the remainder of this section it is assumed that G


and H are cographs. Note that, using the cotree, ω(G) and χ(G)
can be computed in linear time when G is a cograph.

Lemma 4.222. Assume H is disconnected; denote the components


of H as
H1 · · · Ht .
Assume that H is a retract of a graph G. Then there is an ordering
of the components of G, say G1 , · · · , Gs such that

(a) s > t, and

(b) Gi retracts to Hi , for every i ∈ {1, . . . , t}, and

(c) for every j ∈ {t + 1, . . . , s}, there is a homomorphism Gj → H.

Proof. No connected graph has a disconnected retract since the


homomorphic image of a connected graph is connected. To see that,
notice that a homomorphism φ : G → H is a vertex coloring of G,
where the vertices of H represent colors. By that we mean that,
for each v ∈ V(H), the pre-image φ−1 (v) is an independent set in
G or ∅. One obtains the image φ(G) by identifying vertices in G
that receive the same color. When G is connected, this ‘quotient
graph’ on the color classes is also connected, which is easy to prove
by means of contradiction.
Assume that G retracts to H. Then we may assume that H1 , . . . , Ht
are induced subgraphs of components G1 , . . . , Gt of G and that each
Gi retracts to Hi . For the remaining components Gj , where j > t,
there is then a homomorphisms Gj → H.
310 Recent Trends

Notice that, for j > t, we can check if there is a homomorphism


Gj → H by checking if Gj ⊕ Hk retracts to Hk for some 1 6 k 6 t
— or, equivalently (since cographs are perfect) — if ω(Gj ) 6 ω(Hk )
for some 1 6 k 6 t.

Remark 4.223. Assume that we are given, for each pair Gi and Hj
whether Gi retracts to Hj or not. Then, to check if G retracts to H,
we may consider a bipartite graph B defined as follows. One color
class of B has the components of G as vertices and the other color
class has the components of H as vertices. There is an edge between
Gi and Hj whenever Gi retracts to Hj . To check if G retracts to H,
we can let an algorithm compute a maximum matching in B. There
is a retraction only if the matching exhausts all components of H
and if ω(G) = ω(H).

A cocomponent of a graph G is a subset of vertices which


induces a component of the complement Ḡ.

Lemma 4.224. Assume G is connected and assume that G re-


tracts to H. Then H is also connected. Let G1 , · · · , Gt be the
subgraphs of G induced by the cocomponents of G. There is a
partition of the cocomponents of H such that the subgraphs of H
induced by the parts of the partition can be ordered H1 , · · · , Ht such
that Gi retracts to Hi for i ∈ {1, · · · , t}.

Proof. Every subgraph Gi of G, induced by a cocomponent, some


subgraphs induced by cocomponents of H. Thus the parts of V(H)
that are the images of the subgraphs induced by cocomponents of
G form a partition of the cocomponents of H.

Theorem 4.225. Let G and H be cographs. The problem to


decide whether H is a retract of G is NP-complete.

Proof. We reduce the 3-partition problem to the retract problem


on cotrees. The 3-partition problem is the following. Let m and B
be integers. Let S be a multiset of 3m positive integers, a1 , . . . , a3m .
Determine if there is a partition of S into m subsets S1 , . . . , Sm ,
such that the sum of the numbers in each subset is B. Without loss
4.18 Homomorphisms 311

of generality we assume that each number is strictly between B/4


and B/2, which guarantees that in a solution each subset contains
exactly three numbers that add up to B.
The 3-partition problem is strongly NP-complete, that is, the prob-
lem remains NP-complete when all the numbers in the input are
represented in unary.
In our reduction, the cotree for the graph H has a root which
is labeled as a join-node ⊗. The root has 3m children, one for
each number ai . For simplicity we refer to the children as ai ,
i ∈ {1, . . . , 3m}. Each child ai has a union node ⊕ as the root. The
root of each ai -child has two children, one is a single leaf and the
other is a join-node ⊗ with ai leaves. This ends the description of
H.
The cotree for the graph G has a join-node ⊗ as a root and this has
m children. The idea is that each child corresponds with one set
of a 3-partition of S. The subtrees for all the children are identical.
It has a union-node ⊕ as the root. Consider all triples {i, j, k} for
which ai + aj + ak = B. For each such triple create one child, which
is the join of three cotrees, one for ai , one for aj and one for ak
in the triple. The subtree for ai is a union of two subtrees. As in
the cotree for the pattern H, one subtree is a single leaf, and the
other subtree is the join of ai leaves. The other two subtrees, for
the numbers aj and ak in the triple are similar.
Let TH and TG be the cotrees for H and G as constructed above. Say
TH and TG have roots rH and rG . When the graph H is a retract
of G then the ai -children of rH are partitioned into triples, such
that there is a bijection between these triples, say {ai , aj , ak } and a
branch in the cotree of G. Each ⊕-node which is the root of a child
of rG must have exactly one {ai , aj , ak }-child that corresponds with
the triple. Notice that, by the construction, all subgraphs induced
by remaining components of the ⊕-node have maximal cliques of
size B. Therefore, all other children of the ⊕-node are homomorphic
to the one child which corresponds to the triple {ai , aj , ak }.
It now follows from the Lemma above that there is a 3-partition if
and only if the graph H is a retract of G.
This completes the proof.
312 Recent Trends

4.19 Products

Let G and H be graphs. The categorical product (or tensor


product) is a graph denoted as G × H. 136 The vertices of G × H 136
The categorical product
also goes by the name of
are
‘tensor product’ or ‘direct
product’, ‘Kronecker prod-
V(G × H) = { (g, h) | g ∈ V(G) and h ∈ V(H) }. uct’ and more. This is just
one way to define a graph
Two vertices — say (g1 , h1 ) and (g2 , h2 ) — are adjacent if product.

{g1 , g2 } ∈ E(G) and {h1 , h2 } ∈ E(H).

Hedetniemi made the following conjecture (some 50 years


ago). For any two graphs G and H

χ(G × H) = min { χ(G), χ(H) .} (4.30)

The ‘fractional version’ of


Hedetniemi’s conjecture is
The right hand - side is an upperbound. To see that let f be a
true: X. Zu, The fractional
coloring of G. Let f0 be defined as version of Hedetniemi’s con-
jecture is true, European
for g ∈ V(G) and h ∈ V(H): f0 (g, h) = f(g). Journal of Combinatorics 32
(2011), pp. 1168–1175.

Then f0 is a proper coloring of G × H.


Y. Shitov. Counterexam-
ples to Hedetniemi’s conjec-
ture. Manuscript on ArXiv:
Yaroslav Shitov produced a counterexample to the conjec- 1905:02167, 2019.
ture in 2019.

Theorem 4.226. When G and H are perfect then (4.30) holds


true.

Proof. Clearly 137 137


Exercise !

ω(G × H) > min { ω(G), ω(H) }.


4.19 Products 313

When we assume that G and H are perfect then

χ(G) = ω(G) and χ(H) = ω(H).

The claim easily follows from the following observation.

χ(G × H) > ω(G × H) > min { ω(G), ω(H) } =


min { χ(G), χ(H) } > χ(G × H).

This proves the theorem.

4.19.1 Categorical products of cographs

Much less is known about the independence number


in the categorical product of graphs. Clearly we have
that 138 138
Exercise !

α(G × H) > max { α(G) · |V(H), α(H) · |V(G)| , } (4.31)

but this lower bound is not sharp not even for threshold graphs.
139 139
P. Jha and S. Klavžar, In-
dependence in direct - prod-
uct graphs, Ars Combinato-
Cographs are perfect. But the product of two cographs is not ria 50, 1998.
necessarily perfect. As an example let G be isomorphic to the
paw (see Figure 2.8 on Page 80) and let H be isomorphic to K3 .
Then G × H contains C5 as an induced subgraph. 140 140
Check !

Ravindra and Parthasarathy showed that G × H is perfect if


and only if one of the following holds. 141 141
G. Ravindra and
K. Parthasarathy, Perfect
1. G or H is bipartite product graphs, Discrete
Mathematics 20 (1977),
pp. 177–186.
2. G and H contain no odd holes and no paws.

Exercise 4.135

(a) Let G and H be complete multipartite. Then G×H is perfect.


314 Recent Trends

(b) If G and H are complete multipartite then

α(G × H) = max { α(G) · |V(H)|, α(H) · |V(G)| }.

Exercise 4.136
Let G and H be cographs and assume that G is diconnected.
Say G = G1 ⊕ G2 (G is the union
:::::
of G1 and G2 ). Show that

α(G × H) = α(G1 × H) + α(G2 × H).

Exercise 4.137
Let G and H be cographs and assume that both are connected.
Say G = G1 ⊗ G2 and H = H1 ⊗ H2 (G and H are joins
::::
of the
constituents). Show that

α(G×H) = max{ α(G1 ×H), α(G2 ×H), α(G×H1 ), α(G×H2 ) }.

We can now leave the proof of the following theo-


rem as an exercise.

Theorem 4.227. There exists an O(n2 ) algorithm to compute


α(G × H) when G and H are cographs.

Exercise 4.138
Show that there is a polynomial - time algorithm to compute the
independence number of G × H when G and H are splitgraphs.

4.19.2 Tensor capacity

Definition 4.228. The independence ratio of a graph G is defined


as
α(G)
r(G) = .
|V(G)|
4.19 Products 315

Exercise 4.139
Show that
r(G × H) > max { r(G), r(H) }.

Hint: Use (4.31).

Write Gk for G × · · · × G where G is k − 1 times multiplied


by itself. Notice that r(Gk ) is non-decreasing and it is at most
1. Therefore limk→∞ r(Gk ) exists. Call this limit the tensor
capacity of the graph.

Definition 4.229. Let G be a graph. The tensor capacity of G


is
Θ(G) = lim r(Gk ).
k→∞

It can be shown that the computation of the tensor capacity is


NP-complete.

Let G be a graph. Define

|I|
a(G) = max
|I| + |N(I)|

where I varies over the independent sets in G. Define


 142
Á. Tóth, Answer to a
a(G) if a(G) 6 1/2 question of Alon and Lu-
a∗ (G) = betzky about the ultimate
1 if a(G) > 1/2. categorical independence ra-
tio. Manuscript on arXiv:
142 1112.6172, 2011.
Tóth proved the following theorem.

Theorem 4.230.
Θ(G) = a∗ (G).
Equivalently for any graph

a∗ (G2 ) = a∗ (G).
Let G and H be graphs.
Tóth showed that

Theorem 4.231. There exists a polynomial - time algorithm to Θ(G⊕H) = Θ(G×H) =

compute the tensor capacity for cographs. max { Θ(G), Θ(H) }.


316 Recent Trends

Proof. By Tóth’s result, it is sufficient to show that a(G) can be


computed.

Consider a cotree. For each node in the cotree the algorithm


computes a table with numbers `(k)

`(k) = min { |N(I)| | I is an independent set and |I| = k }.

The value a(G) is then obtained from the table at the root as

k
a(G) = max .
k k + `(k)

Assume that G is disconnected — say G = G1 ⊕ G2 . Let `1 and


`2 denote the tables for G1 and G2 . Then

`(k) = min { `1 (k1 ) + `2 (k2 ) | k1 + k2 = k }.

Let G be connected — say G = G1 ⊗ G2 . In that cae we have

`(k) = min { `1 (k) + |V(G2 )|, |V(G1 )| + `2 (k) }.

This proves the theorem.

Exercise 4.140
Show that there is an O∗ (3n/3 ) algorithm to compute the tensor
capacity of a graph.

Hint: Use Moon and Moser.

Remark 4.232. It can be shown that the tensor capacity can be


computed in time O(3k+1 · n3 ) for graphs of treewidth at most k.

It is NP-complete to determine α(G × K4 ) when G is a planar


graph of maximal degree 3.
4.19 Products 317

4.19.3 Cartesian products

The Cartesian product GH of two graphs G and H is


the graph with vertex set V(G) × V(H) and (g1 , h1 ) adjacent to
(g2 , h2 ) if

g1 = g2 and {h1 , h2 } ∈ E(H) or


h1 = h2 and {g1 , g2 } ∈ E(G).

Independence domination
Definition 4.233. Let G be a graph. A set B ⊆ V dominates a
set A ⊆ V when
[
A ⊆ N[x].
x∈B

The minimal cardinality of a set B that dominates a set A is denoted


as γ(A).

Definition 4.234. The independence domination number of a


graph G is

γi (G) = max { γ(A) | A an independent set }.

Clearly — for any graph γ > γi . Here γ = γ(G) is the


domination number of G:
it is the smallest cardinality
Vizing’s conjecture states of a dominating set D — a
set D that satisfies N[x] ∩
γ(GH) > γ(G) · γ(H). D 6= ∅ for every x ∈ V.

Aharoni and Szabó proved in 2009 that Vizing’s conjecture


holds true for chordal graphs. — Furthermore — they show that A graph is chordal if it has
for all graphs G and H no induced cycle of length
more than 3. Computing
γ for chordal graphs is NP-
γ(GH) > γi (G) · γ(H) and γi (GH) > γi (G) · γi (H). complete.
318 Recent Trends

Progress towards proving the conjecture was made by Suen


and Tarr in 2012. They proved
1
γ(GH) > · γ(G) · γ(H) + min { γ(G), γ(H) }.
2

4.19.4 Independence domination in cographs

When G is a cograph it is either the join or the union of


two cographs — say

G = G1 ⊗ G2 or G = G1 ⊕ G2 .

Exercise 4.141
When G is a cograph with at least two vertices then

min { γ(G ), γ(G ), 2 } if G = G ⊗ G
1 2 1 2
γ(G) =
γ(G1 ) + γ(G2 ) if G = G1 ⊕ G2 .

Exercise 4.142
When G is a cograph then γi (G) is the number of components
of G.

Exercise 4.143
Let k ∈ N. Design a polynomial - time algorithm to compute γi
for graphs of rankwidth 6 k. Wing-Kai Hon, T. Kloks,
H. Liu, S. Poon and Yue-
Li Wang, On independence
domination. Manuscript on
Exercise 4.144 arXiv: 1304.6450, 2013.
Show that there is a polynomial - time algorithm to compute γi
for permutation graphs.
4.19 Products 319

4.19.5 θe (Kn × Kn )

Every graph is the intersection graph of a collec-


tion of subsets of a set U. By that we mean that every
vertex is represented by a subset of U and two vertices are adjacent
precisely when the subsets have a nonempty intersection. For example interval graphs
are intersection graphs.

Definition 4.235. For a graph G let θe denote the minimal size


of a set U such that G is the intersection graph of a collection of
subsets of U.
Show that θe is finite for
any graph. Hint: Number
the edges of the graph
For the reason given below the parameter θe is called the edge e1 , · · · , em . For each ver-
clique cover - number of the graph. tex x let Sx = { j | x ∈ ej }.

Exercise 4.145
Show that θe is the minimal size of a set of cliques that has the
property that every edge is contained in at least one of them.

The tensor product Kn × Kn


The tensor product Kn × Kn has the following set of vertices

V = { (i, j) | i ∈ [n] and j ∈ [n] }.

Two vertices (i, j) and (k, `) are adjacent if and only if

i 6= k and j 6= `.

Exercise 4.146
Show that any graph satisfies

θe > m/(ω).
2
320 Recent Trends

Corollary 4.236.

θe (Kn × Kn ) > n(n − 1).

Exercise 4.147
Let p be prime and let u 6 p. Show that

θe (Kp × Ku ) = p(p − 1).

The following theorem characterizes those n ∈ N for which Kn ×


Kn has an edge clique - cover with n(n − 1) cliques.

Theorem 4.237. θe (Kn × Kn ) = n(n − 1) if and only if there


exists a projective plane of order n.

We omit the proof. The theorem is reminiscent of a result of


De Bruin and Erdős concerning θe (Kn ). Wing-Kai Hon, Ton Kloks,
Hsiang-Hsuan Liu and Yue-
Li Wang, Edge clique - cov-
ers of the tensor product ,
Definition 4.238. Let n ∈ N. A projective plane of order n is
Theoretical Computer Sci-
a set of n2 + n + 1 points and n2 + n + 1 lines such that 143 ence 607 (2015), pp. 68–74.

P1. every line has n + 1 points on it 143


Lines are sets of points.
We say that a point lies on a
P2. every point is on n + 1 lines line if the line contains it.

P3. any two lines intersect in exactly one point

P4. any two points lie on exactly one line.

The Fano plane is a projective plane of order two. A projective


plane of order 6 does not exist. The case n = 10 was ruled out
by computer calculations. The existence of a projective plane of
order 12 is open. There exists a projective plane of order n when
n is a prime power.
4.20 Outerplanar Graphs 321

Corollary 4.239. For every n which is the power of a prime


number
θe (Kn × Kn ) = n(n − 1).

Exercise 4.148
For n > 2

θe (Kn × Kn ) 6 (2n − 1) · (2n − 2).

Hint: Let p be the smallest prime > n. Bertrand’s postulate


says that p 6 2n − 1.

Remark 4.240. When the Riemann hypothesis holds true then


θe (Kn × Kn )
lim = 1.
n→∞ n(n − 1)

4.20 Outerplanar Graphs


An embedding of a graph G in the plane is a drawing of G
such that no two edges intersect. A plane graph is already
embedded.

The maximal regions — bounded by the edges of the graph — are


called faces. The unbounded region is unique, and it is called the
outerface .

Definition 4.241. A planar graph is outerplanar if it can be r


r r @
@r
embedded in the plane so that all its vertices lie on the same face. @@r @
@r
Customarily, this face is called the exterior. r @r
@@r
@r
Exercise 4.149 r

Show that the class of outerplanar graphs is closed under taking Figure 4.29: A MOP
minors. The obstruction set is

O = { K 4 , K2, 3 } .
322 Recent Trends

Exercise 4.150
A recursive definition of a MOP is the following. 144
144
Show that every MOP is
(i) A graph consisting of a single edge is a MOP, Hamiltonian.

(ii) If G is a MOP, then a new MOP is constructed by adding a


vertex and making it adjacent to the endpoints of an edge that
is not a minimal separator of G.

A maximal outerplanar graph is an outerplanar graph with


an inclusion – wise maximal set of edges. — Thus — adding an
edge destroys the outerplanarity.

Lemma 4.242. Any outerplanar graph has treewidth at most 2 .

Proof. Any outerplanar graph embeds in a MOP . A maximal


outerplanar graph has treewidth at most two.

4.20.1 k – Outerplanar Graphs


A parametrization of the class of all planar graphs is obtained
by partitioning its vertices into outerplanar layers.

Definition 4.243. Let G be a plane graph. Its layers , say

L1 , L2 , ···

form a partition of V(G) where Li is the set of vertices in the


outerface of
i−1
145
[ Computing the (smallest)
G− L j. outerplanarity of a graph is
j=1 NP-complete.
146
See Figure 4.29. Con-
The graph G is k – outerplanar if it has a plane embedding tract the outerface to a
with at most k nonempty layers . 145 MOP, such that each com-
ponent of the remaining lay-
ers is contained in a triangle.
Bodlaender proved the following generalization of Lemma 4.242 . Continue this process for the
remaining layers. This adds
Lemma 4.244. A k – outerplanar graph has treewidth 3k−1 . 146 one triangle per layer and
so, the clique number is
bounded by 3k.
4.20 Outerplanar Graphs 323

4.20.2 Courcelle ’ s Theorem

Courcelle proved in 1990 the following theorem.

Theorem 4.245. Any problem that can be formulated in MS2


can be solved in linear time for graphs of bounded treewidth .

Courcelle ’ s theorem — as above — is based on Bodlaender ’ s


linear – time algorithm to recognize graphs of treewidth at most
k. The class of graphs that have treewidth at most k is
minor – closed and characterized by a finite obstruction set —
say Tk . This implies that bounded treewidth can be formulated
in monadic second – order logic. By Theorem 4.245 , tw( G ) 6 k
can be tested in linear time for all k ∈ N . 147 147
Bodlaender’s algorithm
constructs an embedding; for
that, the obstruction set is
not needed.
4.20.3 Approximations for Planar Graphs

Baker showed that many optimization problems on planar graphs


can be approximated — to an arbitrary degree of accuracy — by
a linear – time algorithm.

This elegant method is best explained via an example.

4.20.4 Independent Set in Planar Graphs


To compute α for planar graphs is NP - complete . 148 Baker ’ s 148
On the other hand, to
method provides an efficient approximation scheme. compute ω(G) is polyno-
mial.

Theorem 4.246. For every k ∈ N there exists a linear – time


algorithm that approximates α( G ) — for planar graphs — within
k
a factor k+1 .

Proof. Let G be a plane graph . Number its layers consectively


as
L 1 , L 2 , · · · where L 1 is the outerface.
324 Recent Trends

For 1 6 i 6 k define the graph G i as the graph induced by


[
Lj.
j 6= i mod k

The k graphs G i are k – outerplanar since the missing layers


form separators. Thus — by Theorem 4.245 — the independence
numbers α( G i ) can be computed in linear time . 149 149
The problem of the inde-
pendence number can be for-
Let M be a maximum independent set in G . Then mulated in monadic second-
order logic.

X
α( G ) = Li ∩ M (4.32)
i

1 X
k X
= · Lj ∩ M (4.33)
k−1
i=1 j6=i mod k

1 X
k
6 · α( G i ) (4.34)
k−1
i=1
1
6 · k · max { α( G i ) | 1 6 i 6 k } (4.35)
k−1
k−1
⇒ max α( G i ) > · α( G ). (4.36)
i k

This proves the theorem . 150 150


Dash it all ! I should’ve
started with k + 1! I
*always* do that!
4.21 Graph isomorphism 325

4.21 Graph isomorphism

Coming soon!

We regret that we can not present the beautiful graph isomor-


phism test of Lásló Babai in this book.

Must - reads on graph isomorphism

Grohe, M. and D. Neuen, Recent advances on the graph isomor-


phism problem. Manuscript on ArXiv: 2011.01366, 2021.
Bibliography

[1] Alipour, S. and A. Jafari, Upperbounds for domination number


of graphs using Turán’s and Lovász local lemma. Manuscript
on ArXiv: 1803.04031, 2018.

[2] Alon, N., R. Duke, H. Lefmann, V. Rödl and R. Yuster, Algo-


rithmic aspects of the regularity lemma. Journal of Algorithms
16 (1994), pp. 80–109.

[3] Alon, N., R. Yuster and U. Zwick, Finding and counting given
length cycles. Algorithmica 17 (1997), pp. 209–223.

[4] Arnborg, S., D. Corneil, and A. Proskurowski, Complexity of


finding embeddings in a k-tree. SIAM Journal on Algebraic
and Discrete Methods 8 (1987), pp. 277–284.

[5] Backus, J., Can programming be liberated from the Von Neu-
mann style? A functional style and its algebra of programs.
Communications of the ACM 21 (1978), pp. 613–641.

[6] Baker, B., Approximation algorithms for NP-complete prob-


lems on planar graphs. Journal of the ACM 41 (1994), pp. 153–
180.

[7] Bell, R., Dynamic Programming. Dover Books on Computer


Science, 2003.

[8] Berge, C., Two theorems in graphs. Proc. Nat. Acad. Sci. 43
(1957), pp. 842–844.

[9] Bouchet, A., Reducing prime graphs and recognizing circle


graphs. Combinatorica 7 (1987), pp. 243–254.

© The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd. 2022 327
T. Kloks, M. Xiao, A Guide to Graph Algorithms, https://doi.org/10.1007/978-981-16-6350-5
328 Bibliography

[10] Blokhuis, A., T. Kloks and H. Wilbrink, A class of graphs con-


taining the polar spaces. European Journal of Combinatorics
7 (1986), pp. 105–114.

[11] Booth, K. and G. Lueker, Testing for the consecutive ones


property, interval graphs, and graph planarity using PQ-tree
algorithms. Journal of Computer and System Sciences 13
(1976), pp. 335–379.

[12] Bose, R., Strongly regular graphs, partial geometries and


partially balanced designs. Pacific Journal of Mathematics 13
(1963) pp. 389–419.

[13] Broersma, H., T. Kloks, D. Kratsch and H. Müller, Indepen-


dent sets in asteroidal triple-free graphs. SIAM Journal on
Discrete Mathematics 12 (1999), pp. 276–287.

[14] Bron, C. and J. Kerbosch, Algorithm 457: finding all cliques


of an undirected graph. Communications of the Association
for Computing Machinery, ACM 16 (1973) pp. 575–577.

[15] Chudnovsky, M. and P. Seymour, Claw-free graphs. III. Cir-


cular interval graphs. Journal of Combinatorial Theory, Series
B 98 (2008), pp. 812–834.

[16] Cook, S., The complexity of theorem-proving procedures. Third


Annual ACM Symposium on Theory of Computing, Associa-
tion for Computing Machinery, New York, 1971, pp. 151–158.

[17] Corneil, D., Y. Perl and L. Stewart, A linear time recognition


algorithm for cographs. SIAM Journal on Computing 14
(1985), pp. 926–934.

[18] Courcelle, B., and J. Engelfriet, Graph structure and monadic


second-order logic – A language theoretic apprach. Cambridge
University Press, 2012.

[19] Dirac, G., On rigid circuit graphs. Congress Report University


Hamburg 25 (1961), pp. 71–76.

[20] Dijkstra, E., Guarded commands, non-determinacy and formal


derivation of programs. Note EWD 472.
Bibliography 329

[21] Dijkstra, E., A discipline of programming. Prentice-Hall, 1976.

[22] Edmonds, J., Path, trees and flowers. The Canadian Journal
of Mathematics 17 (1965), pp. 449–467.

[23] Eppstein, D., M. Löffler and D. Strash, Listing all maximal


cliques in sparse graphs in near-optimal time. Manuscript on
ArXiV: 1006.5440v1, 2010.

[24] Faenza, Y., G. Oriolo and G. Stauffer, An algorithmic de-


composition of claw-free graphs leading to an O(n3 )-algorithm
for the weighted stable set problem. Proceedings of the 22nd
Annual ACM-SIAM Symposium on Discrete Algorithms, 2011.

[25] Fox, J. and L. M. Lovász, A tight lower bound for Szemerédi’s


regularity lemma. Manuscript on ArXiv: 1403.1768, 2014.

[26] Frederickson, G., Fast algorithms for shortest paths in planar


graphs, with applications. Technical Report 84-486, Purdue
University, 1986.

[27] le Gall, F., Powers of tensors and fast matrix multiplication.


Manuscript on ArXiv: 1401.7714, 2014.

[28] Garey, M. and D. Johnson, Computers and Intractibility: A


guide to the theory of NP-completeness. W. Freeman.

[29] Gioan, E., C. Paul, M. Tedder and D. Corneil, Practical


and efficient circle graph recognition. Algorithmica 69 (2014),
pp. 759–788.

[30] Harary, F., Graph Theory. Addison-Wesley, 1972.

[31] Higman, G., Ordering by divisibility in abstract algebras.


Proceedings of the London Mathematical Society 2 (1952),
pp. 326–336.

[32] Hung, L. and T. Kloks, k-cographs are Kruskalian. Chicago


Journal of Theoretical Computer Science, 2011.

[33] Hung, L., T. Kloks and F. Villaamil, Black-and-white threshold


graphs. ArXiV:1104-3917.
330 Bibliography

[34] Kahn, A., Topological sorting of large networks. Communica-


tions of the ACM, 5 (1962), pp. 558–562.

[35] Kloks, T., Treewidth of circle graphs. Utrecht University,


RUU-CS-1993-12, 1993.

[36] Kloks, T., Treewidth. Springer-Verlag, Lecture Notes in


Computer Science 842, 1994.

[37] Kloks, T., D. Kratsch and J. Spinrad, Treewidth and pathwidth


of cocomparability graphs of bounded dimension. Technische
Universiteit Eindhoven, Computing Science Notes 93/46, 1993.

[38] Kloks, T., K1,3 and W4 -free graphs. Technische Universiteit


Eindhoven, Computing Science Notes 94/25, 1994.

[39] Kloks, T., D. Kratsch and H. Müller, Dominoes. Technische


Universiteit Eindhoven, Computing Science Notes 94/12, 1994.

[40] Kloks, T. and D. Kratsch, Listing all minimal separators of a


graph. SIAM Journal on Computing 27 (1998), pp. 605–613.

[41] Kloks, T., D. Kratsch and H. Müller, Finding and counting


small induced subgraphs efficiently . Information Processing
Letters 74 (2000), pp. 115–121.

[42] Kloks, T., C. Lee, J. Liu and H. Müller, On the recognition


of general partition graphs. Springer, LNCS 2880 (2003),
pp. 273–283.

[43] Kloks, T. and Y. Wang, Advances in Graph Algorithms.


Manuscript on viXra: 1409.0165, 2014.

[44] Kratsch, D., T. Kloks and H. Müller, Measuring the vulner-


ability for classes of intersection graphs. Discrete Applied
Mathematics 77 (1997), pp. 259–270.

[45] Kruskal, J., Well-quasi-ordering, the tree theorem, and Vaz-


sonyi’s conjecture. Transactions of the American Mathematical
Society 95 (1960), pp. 210–225.

[46] Krylou, Y. and A. Tchernov, On the problem of domino recog-


nition. Electronic Notes in Mathematics 24 (2006), pp. 251–
258.
Bibliography 331

[47] Dom Van der Laan, H., Het plastische getal, XV Lessen over
de grondslagen van de architectonische ordonnantie. Leiden,
E. J. Brill, 1967.

[48] Lekkerkerker, C. and J. Boland, Representations of a finite


graph by a set of intervals on the real line. Fund. Math. 51
(1962), pp. 45–64.

[49] Micali, S. and V. Vazirani, An O(V 1/2 E) algorithm for finding


maximum matching in general graphs. 21th Annual Sym-
posium on Foundations of Computer Science (1980), IEEE
Computer Society Press, New York, pp. 17–27.

[50] Minsky, M., Computation, finite and infinite machines. Pren-


tice Hall, 1967.

[51] Minty, G., On maximal independent sets of vertices in claw-


free graphs. Journal of Combinatorial Theory, Series B (1980),
pp. 284–304.

[52] Moon, J. and L. Moser, On cliques in graphs. Israel Journal


of Mathematics 3 (1965), pp. 23–28.

[53] Moser, R. and G. Tardos, A constructive proof of the general


Lovász local lemma. Manuscript on ArXiv: 0903.0544, 2009.

[54] Nash-Williams, C., On well-quasi-ordering infinite trees. Proc.


Cambr. Philos. Soc. 61 (1965), pp. 697–720.

[55] Nienhuys, J., De Bruijn ’ s combinatorics. Manuscript on


ViXra 1208.0223, 2012.

[56] Opatnrý, J., Total ordering problem. SIAM Journal on Com-


puting 8 (1979), pp. 111–114.

[57] Rem, M., Algorithmen. (eds. Van Oers and J. Peters) Tech-
nische Hogeschool Eindhoven, College Dictaat 2.292, 1981.

[58] Seidel, J. J., Geometry and Combinatorics. (Corneil and


Mathon eds.) Selected works of J. J. Seidel, Academic Press,
1991.
332 Bibliography

[59] Shannon, C., A theorem on coloring the lines of a network .


Studies in Applies Mathematics 28, Wiley, (1949), pp. 148–
152.

[60] Shi, L. and S. Ólafsson, Nested Partitions Method, Theory


and Applications. International Series in Operations Research
& Management Science, Vol. 109, Springer, 2009.

[61] Shoemaker, A. and S. Vare, Edmonds’ blossom algorithm .


Technical Report Stanford University CME 323, 2016.

[62] Spencer, J., Asymptotic lower bounds for Ramsey functions.


Discrete Mathematics 20 (1977), pp. 69–76.

[63] Sumner, D., Graphs with 1-factors. Proceedings of the Amer-


ican Mathematical Society 42 (1974), pp. 8–12.

[64] Szemerédi, E., Regular partitions of graphs. Technical Report,


Stanford University STAN-CS-75-489, 1975.

[65] Tarjan, R., Decomposition by clique separators. Discrete


Mathematics 55 (1985), pp. 221–232.

[66] Thomassen, C., Every 4-uniform 4-regular hypergraph is 2-


colorable. J. American Math. Soc. 5 (1992), pp. 217–229.

[67] Tomita, E., A. Tanaka and H. Takahashi, The worst-case time


complexity for generating all maximal cliques and computa-
tional experiments. Theoretical Computer Science 363 (2006),
pp. 28–42.

[68] Vatter, V., Maximal independent sets and separating covers.


American Mathematical Monthly 118 (2011), pp. 418–423.

[69] Williams, V., J. Wang, R. Williams and H. Yu, Finding


four-node subgraphs in triangle time. Proceedings SODA’15,
Proceedings of the 20th Annual ACM-SIAM Symposium on
Discrete Algorithms (2015), pp. 1671–1680.

[70] Whitesides, S., An algorithm for finding clique cut-sets. Infor-


mation Processing Letters 12 (1981), pp. 31 32.

[71] Wolk, E., The comparability graph of a tree. Proceedings of


the American Mathematical Society 13 (1962), pp. 789–795.
Bibliography 333

[72] Wood, D., On the number of maximal independent sets in a


graph. ArXiV 2011.

[73] Xiao, M., T. Kloks and S-H. Poon, New parameterized


algorithms for the edge dominating set problem. Theoretical
Computer Science 511 (2013), pp. 147–158.

[74] Xiao, M. and H. Nagamochi, Exact algorithms for maximum


independent set. Information and Computation 255 (2017),
pp. 126–146.
Index

(a, b)-dominating set, 46 χ0 (G), 40 θe , 319


5-wheel, 28 χr (G), 81 tw(G), 134
8-wheel, 33 δ(X), 150 ε-dense, 257
G × H, 23 δ(X, Y), 164 a, b-separator, 10
G + H, 23 -regular, 54 b(G), 135
G − W, 5 -regular partition, 55 d(X, Y), 54
G − x, 5 γ(G), 317 d(x), 3
GF[2], 187 γ(A), 317 e(X, Y), 54
G[ W ], 5 γi (G), 317 e = 2.718 · · · , the basis of the nat-
H-free graph, 14 γa,b , 46 ural logarithm, 43
K4 − e, 18 ∞, 236 k-alternating path, 261
Kn , 23 Z>0 , nonnegative integers, 151 k-degenerate, 29
Km,n , 12 E, expectation, 54 k-uniform hypergraph, 34
MS1 -expressible, 127 N, the set of natural numbers, 2 k · Kn , 23
MS2 -expressible, 127 C - governed decomposition, 197 p-carving width, 151
N− [x], 256 F series parallel tree, 267 p-distance, 154
P3 - convex, 121 F-free graph, 97 p-length, 152
P3 - cover, 95 BFS-order, reversed, 51 q(G), 39
W - hierarchy, 90 DH-width, 227 s(G), 73
W4 , 104 cc(G), 175 t - embeddable, 244
[n], 7 index(π), index of partition, 56 x, y - path, 5
AT - free, 204, 282 rank(X), 187 1-1 map, bijection, 150
N̄( A ), closed neighborhood in | π |, size of a partition, 58 2-coloring problem for hyper-
dependency graph, 48 MOP, 321 graphs, 34
Λ(S), 72 µ, measure of carvings, 164 2-connected, 166
NP, 39 ν(G), 96 2-player game, 112
NP-complete, 39 ω(G), 15 2-tree, 263
X̃, 170 ⊕, 84 3-partition problem, 310
α( G ), 13 ⊗, 84
χ - bounded, 285 φ(G), 72 acyclic, 264
χ-bounded, 192 σ(G), 75 adjacent, 1
χ(G), 13 τ(G), 218 alignment, 121

© The Author(s), under exclusive license to Springer Nature Singapore Pte Ltd. 2022 335
T. Kloks, M. Xiao, A Guide to Graph Algorithms, https://doi.org/10.1007/978-981-16-6350-5
336 Index

anti-twin, 86 cactus, 145 comparability graph, 82, 248


antichain, 305 Cartesian product, 30, 317 complement of a graph, 7
antihole, 191 carving, 150 complete bipartite, 12
antimatroid, 290 carving width, 150 complete graph, 221
antipodality, 151 castling, 113 complete multi digraph, 255
antipodality, of p-range > k, 152
Catalan number, 134 complexity, 38
antisymmetric, 30 categorical product, 312 component, 7
arity, 127 caterpillar, 287 composition, of functions, 197
asteroidal set, 282 Cauchy-Schwartz inequality, 57 computable function, 89
asteroidal triple, 282 cell - completion, 264 conference matrix, 299
atomic formulas, 127 chain, 97 conflict - free coloring, 195
automorphism, 123 chain graph, 60 confluent, 262
chomp, 122 connected, 4
chord of a path, 5 connected P3 - game, 122
chordal embedding, 134 connected partition, 207
backward edge, 244
chordal graph, 129, 317 connective symbol, 126
bad event, 42, 43
chordless cycle, 129 consecutive clique arrangement,
bad sequence, 214
chordless path, 188 111, 176
bag, 255
chromatic index, 40 consecutive ones property, 111
bandwidth, 205
chromatic number, 13 constant, 89
Bell number, 139
circle graph, 145 contraction, 79
Berge graph, 191
circle, in the Euclidean plane, convex geometry, 290
Bertrand’s postulate, 321
145 cotree, 85, 230
betweenness, 290
circuit, 98, 159 countable, 2
betweenness constraints, 31
claw, 14 cover relation, 291
bias, 158
clique, 14 cross-free set-system, 150
biconnected, 270, 276
clique - width, 221 crossing separators, 146
binary relation, 30
clique separator, 74 crossing subsets, 150
binary tree, 229
clique tree, 132 cut, 107
bipartite graph, 12
closed neighborhood, 3 cut matrix, 187
blossom, 98
closed under complementation, cutsize function, 251
bond, 160
84 cutvertex, 10
bond-carving, 164
closed walk, 151 cutwidth, 247
Boolean function, 296
cluster chromatic number, 205 cycle, 6
bottleneck, 20
cluster coloring, 205
bottleneck domination problem,
cluster number, 205
20 DAG, 31
co-NP-complete, 60
bramble, 135 dangling, 11
cobipartite graph, 134
bramble number, 135 data compression, 15
cocomparability graph, 82, 283
branch, 163 decision problem, 38
cocomponent, 310
branching, 243 decision tree, 296
codeword, of type k, 251
bridging operation, 125 decomposition tree, 230
cograph, 84
Bron-Kerbosch algorithm, 22 defective chromatic number, 212
color classes, 12
Brouwer, L. E. J., 213 defective coloring, 212
coloring, 13
bull, 103 degeneracy, 29
Index 337

degree, 3 Erdős - Pósa property, 270 hole, 189


density, 54 even separating triangle, 107 homeomorphism, 260
dependency graph, 44 event, 43 homomorphism, 305
depth, of Boolean function, 297 exceptional class, 55 house, 7, 189
diamond, 18, 104 experiment, 43 hyperedge, 34
diamond-free, 18 expression, 126 hypergraph, 34
digraph, 31, 246, 255 extremal graph theory, 54 hypergraph, k-uniform, 42
direct product, 312 hypergraph, 2-coloring, 34
disc, 159 face, 321 hypergraph, 2-coloring problem,
disconnected, 4 factorizing order, 181 42
distance hereditary, 125 false twin, 85, 231 hypergraph, regular, 46
distance hereditary-graph, 188 Fano plane, 46, 62
distance in graphs, 5 Farkas’ lemma, 240 immersion, 246, 259
diversity, 197 fast matrix multiplication, 60 incidence, 1
dominating pair, 82, 204, 290 feedback vertex set, 89 independence domination, 317
dominating set, 20, 82 feet, 287 independence ratio, 314
domination, 317 finite, 2 independent domination, 255
domination in digraph, 256 fixed parameter algorithm, 89 independent set, 12
domination number, 296 flip, 123 index, of a partition, 56
domino, 104, 189 flower, 98 induced subgraph, 4
dual, of a plane graph, 151 folklore, 84 injective function, 215
forbidden induced subgraph, 97 injective map, 215
edge, 1 forest, 11 inside degree, 107
edge - lift, 247 forward Ramsey, 199 interlacing, 298
edge clique - cover, 175, 237, 319 Fourier transform, 301 intersection graph, 133, 145, 319
edge clique cover - number, 319 interval, 283
edge coloring, 40 gap embedding, 216 interval graph, 111, 133, 175
edge domination, 89 gem, 105, 189 intolerable clique, 238
edge intersection - graph, 174 generalized decomposition, 197 invariant, 26
edge intersection - model, 174 Glenn Miller, 275 isolated vertex, 24, 217
edge-contraction, 103 gluing operation, 125
efficient set, 157 graph, 1 Johan Cruijff, 112
embedding, 321 graph algebra, 125 join, 84
empty graph, 1 graph isomorphism, 2 joke — a kind of, 174
endpoints of a path, 5 grid minor theorem, 271
epithet: Meriam Webster’s word groove, 163 Kőnig’s infinity lemma, 213
of the day on 12 June 2018, kernel, of a flip, 123
80 Hadamard matrix, 299 Kronecker product, 312
equality symbol, 126 Hallian graph, 73 Kruskalian decomposition, 197
equator, 159 Hamiltonian cycle, 127
equitable partition, 55 Helly property, 176, 270 labelling, 215
equivalence cover, 39 hereditary property, 132 ladder, 122
equivalence graph, 39 Higman’s Lemma, 214 laminar set-system, 150
equivalence relation, 2, 105 hitting set, 135 layers, 322
338 Index

layout, 247 NIM - game, 114 perfect matching, 112


legal move, 112 nonadjacent, 1 permutation graph, 81, 282
length of a path, 5 nonedge, 41 permutation pattern, 145
limb, 168 NP-completeness, 35 pizza, 188
line, 320 null graph, 1 planar graph, 236
line segment, 145 plane graph, 107, 236
linear order, 31 obstruction set, 235 point, 320
linear time, 33 odd antihole, 191 polygon, 147
linegraph, 14 odd hole, 191 polynomially χ - bounded, 196
linked layout, 249 odd triple, 85, 102 portrait, 267
log, 49 one - way series - parallel triple, poset, 30
logical symbol, 126 265 postcondition, 77
loop, 8 open set, 151 predicate symbol, 127
Lovász Local Lemma, 42 oracle, 39 principle of diminishing returns,
Lovász’ local lemma, 44 order, of bramble, 135 249
orientation, 34, 240 probability, 43
Möbius inversion, 300 outerface, 321 probability distribution, 240
matching, 96 outermost separating triangle, probability space, 43
maximal clique, 22 109 probe module, 223
maximum clique, 22 overlap, 178 projective plane, 320
maximum flow, 74 proper coloring, 81, 192
maximum matching, 96 packing, 212
middle block, 267 paired domination, 293 quantification over subsets of
minimal separator, 10 paper, scissors and stone game, edges, 127
minor, 234 240 quantifier, 126
modular decomposition tree, 179 parallel composition, 262, 265 quasi-order, 213
modular substitution, 203 parallel extension, 265
module, 177 parallel separators, 146 random generator, 51
monadic second-order logic, 126, parametrization, of a class of random variable, 43
127 graphs, 230 rank, 81
monochromatic, 38 parametrize vs parameterize, 230 rank of hypergraph, 34
multi digraph, 256 partial function, 49 rankwidth, 149, 187, 232
multigraph, 262 partial order, 30 recognition of graph classes, 105
multiset, 255 partial two - tree, 264 red maximal independent set
mutual independence, 43 partitive family, 178 problem, 239
passive, 158 refinement, of a partition, 55
Nash-Williams, Crispin St. John path in a graph, 5 reflexive, 30
Alva, 214 paw, 80 region, 151
natural numbers, 2 payoff matrix, 241 regular, 3
neighbor, 1 pedant, 11 regular black vertex, 100
neighborhood, 3 pendant vertex, 11 regularity lemma, 55
neighborhood class, 197 perfect elimination order, 131 regularity lemma, constructive
net, 22, 293 perfect graph, 190 edition, 61
nice tree - decomposition, 138 perfect graph theorem, 191 representative of a graph, 105
Index 339

resampling, 48 splendid decomposition, 197 totally balanced, 292


retract, 305 split, 198 touch, 135
Riemann hypothesis, 321 split graph, 217 tournament, 240
Ringel’s conjecture, 212 split of a piece, 83 tournament game, 240
Robertson chain, 260 splitgraph, 228 transitive, 30
Robertson-Seymour theorem, Steiner tree, 139, 207 transitive closure, 255
235 stickiness, 73 transitive orientation, 82
root, 215 stringer, 271 tree, 10
rooted digraph, 266 strong immersion, 246 tree - decomposition, 138
round set, 153 strong module, 178 tree - degree, 175
routing tree, 150 strong perfect graph theorem, tree of cycles, 263, 264
run - out, 213 191 tree of triangles, 263
strongly chordal graph, 293 tree-like structure, 129
strongly polynomial, 151 treewidth, 134
safe reduction, 92
strongly regular, 106 triad, 164
scanline, 82, 146
subcubic, 259 triangle, 15, 106
screen, 137
subcubic graph, 260 triangle-free graph, 104
Seidel matrix, 87
subdivision, ` times, 160 triangulation, 134
Seidel switch, 102
subgraph, 4 trivial module, 177
sensitivity, 297
submodular function, 157, 249 trivially perfect graph, 80
sentence, 126
subtree, 132 trivially perfect graphs, 80
separating triangle, 107
subtree property, 132 true twin, 85, 231
separation, 270
Sumner’s conjecture, 212, 242 truncation, 267
separator, 10
sun, 103 twin, 85, 189, 231
series - parallel triple, 265
Szemerédi’s regularity lemma, 54 two - terminal graph, 262
series composition, 262
two-graph, 85
series extension, 267
series parallel separation, 270 tagging, 197
shallow decomposition, 197 take - away game, 122 uniform slope, 160
Shannon capacity, 191 tensor capacity, 315 union, 84
simple elimination order, 293 tensor product, 312 universal set, 34
simple vertex, 293 terminal, 140, 262 universal vertex, 77, 80, 217
simplicial vertex, 131 ternary tree, 150
simply, 266, 279 thickness, 72 vertex, 1
sink, 32 thickness function, 72 vertex cover, 89
skew - symmetric, 241 thread, 261 vertex minor, 286
slope, 160 threshold - width, 218 vertex ranking, 81
snake, 112 threshold graph, 217 Vizing theorem, 40
source, 32 tile, 188
spacelab, 177 tilt, 159 walk, 151
spanning caterpillar, 288 toplogical sort, 31 weakest precondition, 77
spanning subgraph, 4 topological minor, 259 weight of a triangulation, 147
spanning tree, 4 total dominating set, 21 weighted graph, 20
special region, 109 total order, 31 well - rooted tree, 244
sphere, 151 total ordering problem, 31 well - simulated, 265
340 Index

well behaved, 266 wheel, 96 winning strategy, 112


well-formed, 127 width, of a connected partition, witness to irregularity, 62
well-linked, 223 210 witness tree, proper, 50
well-quasi order, 213 wing, 100

Eindhoven and Chengdu Oct. 2021

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy