![Page 1: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/1.jpg)
Graph Colouring
Lecture 20: Nov 25
![Page 2: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/2.jpg)
Graph Colouring
Graph Colouring Problem:
Given a graph, colour all the vertices so that
two adjacent vertices get different colours.
Objective: use minimum number of colours.
3-colourable
![Page 3: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/3.jpg)
Optimal Colouring
What graphs have chromatic number one?
when there are no edges…
What graphs have chromatic number 2?
A path? A cycle? A triangle?
What graphs have chromatic number larger than 2?
Definition. min #colors for G is chromatic number, (G)
![Page 4: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/4.jpg)
Simple Cycles
even(C 2) =
odd(C 3) =
![Page 5: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/5.jpg)
n n(K ) =
Complete Graphs
![Page 6: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/6.jpg)
even(W 3) =odd(W 4) =5W
Wheels
![Page 7: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/7.jpg)
Trees
Pick any vertex as “root.”
if (unique) path from root is
even length:
odd length:
root
Can prove more formally using induction.
![Page 8: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/8.jpg)
2-Colourable Graphs
When exactly is a graph 2-colourable?
This is 2-colourable.
2 colourable: tree, even cycle, etc.
Not 2 colourable: triangle, odd cycle, etc.
![Page 9: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/9.jpg)
Bipartite Graphs
When exactly is a graph 2-colourable?
Is a bipartite graph 2-colourable?
Is a 2-colourable graph bipartite?
Fact. A graph is 2-colourable if and only if it is bipartite.
![Page 10: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/10.jpg)
Bipartite Graphs
When exactly is a graph bipartite?
Can a bipartite graph has an odd cycle?
If a graph does not have an odd cycle, then it is bipartite?
NO
![Page 11: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/11.jpg)
Bipartite Graphs
When exactly is a graph bipartite?
If a graph does not have an odd cycle, then it is bipartite?
1. The idea is like colouring a tree.
2. Pick a vertex v, colour it
red.
3. Colour all its neighbour
green.
4. Colour all neighbours of
green vertices red
5. Repeat until all vertices are
coloured.
No such edge because no triangle
Theorem. A graph is bipartite if and only if it has no odd cycle.
No such edge because no 5-cycle
![Page 12: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/12.jpg)
Chromatic Number
What graphs are 3-colourable?
No one knows a good characterization…
How do we estimate the chromatic number of a graph?
If there is a complete subgraph of size k,
then we need at least k colours? YES
Is the converse true?
If a graph has no complete subgraph of size 4,
then we can colour it using 4 colours? NO
![Page 13: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/13.jpg)
Flight Gates
flights need gates, but times overlap.
how many gates needed?
122
145
67
257
306
99
Flights
time
![Page 14: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/14.jpg)
Conflict Graph
99
145
306
Needs gate at same time
• Each vertex represents a flight
• Each edge represents a conflict
![Page 15: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/15.jpg)
257
67
9
145
306
122
Graph Colouring
There is a k-colouring in this graph iff the flights can be scheduled using k gates.
=> If there is a schedule, the flights scheduled at the same gate have no conflict,
and so we can colour the graph by using one colour for flights in each gate.
<= If there is a graph colouring, then the vertices using each colour have no conflict,
and so we can schedule the flights having the same colour in one gate.
![Page 16: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/16.jpg)
257, 67
122,145
99
3064 colors4 gates
assigngates:
257
67
99
145
306
122
Colouring the Vertices
![Page 17: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/17.jpg)
Better Colouring
3 colors3 gates
257
67
99
145
306
122
![Page 18: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/18.jpg)
Final Exams
subjects conflict if student takes both,
so need different time slots.
how short an exam period?
This is a graph colouring problem.
Each vertex is a course, two courses have an edge if there is a conflict.
The graph has a k-colouring if and only if
the exams can be scheduled in k days.
![Page 19: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/19.jpg)
6.042
6.001
18.02
3.091
8.02
M 9am
M 1pm
T 9am
T 1pm
assigntimes:
4 time slots(best possible)
Graph Colouring
![Page 20: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/20.jpg)
Register Allocation
• Given a program, we want to execute it as quick as possible.
• Calculations can be done most quickly if the values are stored in registers.
• But registers are very expensive, and there are only a few in a computer.
• Therefore we need to use the registers efficiently.
This is a graph colouring problem.
![Page 21: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/21.jpg)
Register Allocation
• Each vertex is a variable.
• Two variables have a conflict if they cannot be put into the same register.
a and b cannot use the same register, because they store different values.
c and d cannot use the same register otherwise the value of c is overwritten.
Each colour corresponds to a register.
![Page 22: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/22.jpg)
Good News
For some special graphs, we know exactly when they are k-colourable.
Interval graphs (conflict graphs of intervals):
a
b
c
d
a
b
c
d
For interval graphs,
minimum number of colours need = maximum size of a complete subgraph
So the “flight gate” problem and the “register allocation” can be solved.
![Page 23: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/23.jpg)
Map Colouring
Colour the map using minimum number of colours so that
two countries sharing a border are assigned different colours.
![Page 24: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/24.jpg)
Map Colouring
Can we draw a map so that there are 5 countries
such that any two of which are adjacent?
Theorem (Apple Haken 1977). Every map is 4-colourable.
NO
Can we draw a map which need 5 colours?NO
Conjecture (1852) Every map is 4-colourable.
“Proof” by Kempe 1879, an error is found 11 years later.
(Kempe 1879) Every map is 5-colourable.
The proof is computer assisted, some mathematics are still not happy.
![Page 25: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/25.jpg)
Planar Graphs
- Each vertex is a region.
- Two regions have an edge
if they are adjacent.
A graph is planar if there is a way to
draw it in the plane without edges
crossing.
This is a planar graph.
![Page 26: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/26.jpg)
Non-Planar Graphs
Can we draw a map so that there are 5 countries
such that any two of which are adjacent? NO
![Page 27: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/27.jpg)
IVI
II
II
4 Connected Regions
Four Continuous Faces
An important concept of a planar graph is its faces.
So let’s study it in some details.
![Page 28: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/28.jpg)
a
b
c
d
Region Boundaries
![Page 29: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/29.jpg)
a
b
c
d
abca
Region Boundaries
![Page 30: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/30.jpg)
a
b
c
d
abda
abca
Region Boundaries
![Page 31: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/31.jpg)
a
b
c
d
acda
abca
abda
outer region
Region Boundaries
![Page 32: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/32.jpg)
a
b
c
d
acda
abda
bcdb
abca
outer region
Region Boundaries
![Page 33: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/33.jpg)
Region Boundaries: Bridge
![Page 34: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/34.jpg)
a
d
b
c
g
f
e
abcdaefge
abcefgecda
outer region
Region Boundaries: Bridge
![Page 35: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/35.jpg)
Region Boundaries: Dongle
![Page 36: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/36.jpg)
r
t
s
u
y x
w
v
rstur
Region Boundaries: Dongle
outer region
![Page 37: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/37.jpg)
r
t
s
u
y x
w
v
Region Boundaries: Dongle
![Page 38: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/38.jpg)
r
t
s
u
y x
w
v
stvxyxvwvturs
rstur
Region Boundaries: Dongle
![Page 39: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/39.jpg)
A planar embedding is a graph along with its face boundaries: cycles
(same graph may have different embeddings)
two length 5 faces length 7 face
Planar Embeddings
![Page 40: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/40.jpg)
If a connected planar graph has v vertices, e edges, and f faces, then
v –e +f = 2
Euler’s Formula
v=5, e=5, f=2 v=6, e=10, f=6 v=9, e=8, f=1
![Page 41: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/41.jpg)
Proof of Euler’s Formula
Proof by induction on the number of vertices.
Base case (v=1):
v=1 f=e+1
If a connected planar graph has v vertices, e edges, and f faces, then
v –e +f = 2
![Page 42: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/42.jpg)
Proof of Euler’s Formula
Induction step (v>1):
If a connected planar graph has v vertices, e edges, and f faces, then
v –e +f = 2
“contract” the red edge
v’=v-1, e’=e-1, f’=f
Number of faces is the same, although some faces get shorter.
By induction, v’-e’+f’=2. This implies v-e+f=2.
![Page 43: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/43.jpg)
Application of Euler’s Formula
Let be the face lengths.
Note that
because each edge contributes 2 to the sumContributes one to
two faces
Contributes two to one face
Claim. If G is a simple planar graph with at least 3 vertices, then
e <= 3v-6
![Page 44: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/44.jpg)
Application of Euler’s Formula
Claim. If G is a simple planar graph with at least 3 vertices, then
e <= 3v-6
Let be the face lengths.
Note that
Since the graph is simple, each face is of length at least 3.
So
Since e = v+f-2, this implies
![Page 45: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/45.jpg)
Application of Euler’s Formula
Claim. If G is a simple planar graph with at least 3 vertices, then
e <= 3v-6
Claim. Every simple planar graph has a vertex of degree at most 5.
1. Suppose every vertex has degree at least 6.
2. Then e >= 6v/2 = 3v.
3. A contradiction.
![Page 46: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/46.jpg)
Claim. Every simple planar graph has a vertex of degree at most 5.
6-Colouring Planar Graphs
Theorem. Every planar graph is 6-colourable.
1. Proof by induction on the number of vertices.
2. Let v be a vertex of degree at most 5.
3. Remove v from the planar graph G.
4. Note that G-v is still a planar graph.
5. By induction, G-v is 6-colourable.
6. Since v has at most 5 neighbours,
7. v can always choose a colour (from the 6 colours).
G-v
v
![Page 47: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/47.jpg)
Application of Euler’s Formula
Can we draw a map so that there are 5 countries
such that any two of which are adjacent? NO
Can this graph have a planar drawing?
Claim. If G is a simple planar graph with at least 3 vertices, then
e <= 3v-6
This graph has v=5 and e=10, and so does not satisfy the claim.
![Page 48: Graph Colouring Lecture 20: Nov 25. Graph Colouring Graph Colouring Problem: Given a graph, colour all the vertices so that two adjacent vertices get](https://reader033.vdocuments.mx/reader033/viewer/2022061616/56649d545503460f94a3148c/html5/thumbnails/48.jpg)
Polyhedra
Icosahedron gives a 5 regular planar graph.