Coloring problems¶
Part 1 · Combinatorial optimization problems · Chapter 4 · Lecture notes, volume 1 (PDF) · Slides · Exercises: Coloring problems · App: Vertex coloring: greedy and DSATUR
Prerequisites
-
From this module, Chapter 1 «Combinatorial optimization problems»: instances, feasible solutions, primal and dual bounds, the gap, and the Bell numbers that count the partitions of a set.
-
From Chapter 3 «Packing problems»: the weight bound as an example of a dual bound.
-
No knowledge of graph theory is needed: the definitions used here are recalled in a short section.
Objectives
At the end of this chapter you will be able to:
-
use the basic notions on graphs: neighbourhood, degree, induced graph, complement graph, clique and stable set;
-
state the definition of the vertex coloring problem and the assumptions on the graph;
-
count the candidate solutions of a small instance and recognize that they are partitions;
-
find a coloring by hand and compute the clique bound and the stable set bound;
-
explain why the clique bound is not always tight.
4.1 Overview of the family¶
-
The coloring problems share the same data: a simple undirected graph \(G = (V,E)\), whose edges are the pairs of vertices in conflict.
-
A solution assigns a color to every vertex, so that the two endpoints of every edge receive different colors: the vertices with the same color form a stable set of \(G\).
-
The objective is to minimize the number of colors used.
A coloring problem partitions the vertices of a graph into the fewest stable sets. The notions on graphs of the next subsection are the common notation of the family.
- The table lists the members of the family, with the section that defines each of them.
| Problem | Acronym | Solution | Section |
|---|---|---|---|
| vertex coloring problem | VCP | a partition of \(V\) into stable sets | 4.2 |
4.1.1 A short review of graphs¶
Definition 4.1: graph, neighbourhood, induced graph and complement graph
-
A graph \(G = (V,E)\) is given by a finite set \(V\) of vertices and a set \(E\) of edges, each edge being a \(2\)-element subset of \(V\). We write \(n = |V|\) and \(m = |E|\); the vertices are labelled \(1,2,\dots,n\). All the graphs of this chapter are simple and undirected.
-
Two distinct vertices \(u\) and \(v\) are adjacent if \(\{u,v\} \in E\). The neighbourhood of a vertex \(v\) is the set \(N(v) = \{\, u \in V : \{u,v\} \in E \,\}\), and its degree is \(\deg(v) = |N(v)|\).
-
For a subset \(U \subseteq V\) the induced graph \(G[U] = (U, E[U])\) has the vertices of \(U\) and the edges of \(E\) with both endpoints in \(U\).
-
The complement graph \(\overline{G} = (V, \overline{E})\) has the same vertices as \(G\), and two distinct vertices are adjacent in \(\overline{G}\) if and only if they are not adjacent in \(G\).
Definition 4.2: clique and stable set
Let \(G = (V,E)\) be a graph.
-
A clique is a subset \(K \subseteq V\) of pairwise adjacent vertices: \(\{u,v\} \in E\) for all \(u,v \in K\) with \(u \neq v\).
-
A stable set (also called independent set) is a subset \(Q \subseteq V\) of pairwise non-adjacent vertices: \(\{u,v\} \notin E\) for all \(u,v \in Q\) with \(u \neq v\).
The clique number \(\omega(G)\) is the largest number of vertices of a clique, and the stability number \(\alpha(G)\) is the largest number of vertices of a stable set.
- A stable set of \(G\) is a clique of the complement graph \(\overline{G}\), and vice versa. A vertex alone and the empty set are both a clique and a stable set.
A clique is a group of vertices that pairwise conflict; a stable set is a group of vertices with no conflict. In a coloring, the vertices of a clique need different colors, and the vertices of a stable set can share one.
Next: 4.2 The vertex coloring problem
Exercises on this chapter: Coloring problems
In depth: what the course does on this problem
In the interactive lab: Vertex coloring: greedy and DSATUR.