Lecture 3.
What we need today from the first
Lectures?
Perfect Graphs
Advanced Topics in Graph Algorithms
Chromatic number χ(G)
Clique number ω (G)
Advanced Topics in Graph Algorithms
Chordal Graphs
Theorem (Berge, 61)
If G is chordal then it has a simplicial
vertex.
Chordal graphs are perfect
Every minimal separator in G is a clique
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
Proof
By induction.
BASE
For n=1 trivial.
IF G is a clique then χ(H)=ω (H)
for any induced subgraph of G
STEP
Suppose that chordal graphs with <n
vertices are perfect
Advanced Topics in Graph Algorithms
If G is not clique -> there are two
nonadjacent vertices -> there is a
minimal separator S -> S is a clique
Advanced Topics in Graph Algorithms
1
Define by Ai the subgraph induced by
For any proper subgraph H of G
χ(H)=ω (H) by induction assumption
Then
and
Advanced Topics in Graph Algorithms
Complement of a graph
G=(V,E)
G=(V, Ē): u and v are adjacent in G if
and only if they are not not adjacent in
G.
Advanced Topics in Graph Algorithms
Theorem (Haknal-Suranai 58,
Dirac 61)
The complement of a chordal graph is
perfect.
−
G
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
Proof:
Again induction.
BASE
For n=1 trivial.
STEP
Suppose complements of chordal graphs
with <n vertices are perfect
Advanced Topics in Graph Algorithms
We want to prove that for any chordal graph G
on n vertices
Advanced Topics in Graph Algorithms
2
Take a simplicial vertex x in G
Take a maximal clique K in the complement
of G.
K contains a vertex from
(otherwise
x
)
K
Advanced Topics in Graph Algorithms
Then
Advanced Topics in Graph Algorithms
(*) and (**) and induction assumption
imply
From the other hand,
QED
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
Optimization problems on
chordal graphs
χ (G )
COLORING: chromatic number
CLIQUE: maximum size of a clique ω (G )
INDEPENDENT SET: maximum size of an
α (G )
independent set
CLIQUE COVER: minimum number of
cliques covering vertices of the graph
All these problems are NP complete. We
show that on chordal graphs they can
be solved in linear time.
κ (G )
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
3
Reminder: PE ordering testing
1. For each vertex v do A(v) ← empty
2. For i ← 1 to n-1 do
3.
begin
4.
X ← {vk ∈ N ( vi ) : i < k }
5.
6.
if X ≠ empty
begin
9
7.
j ← min{k : vk ∈ X };
concatenate X \ {v j } to A(v j )
6
11
then do
8.
9.
Example
10
7
4
8
11. end;
Advanced Topics in Graph Algorithms
Example
i=1; X={2}; j=2; A(2)={empty},
10
8
i=1; X={2}; j=2; A(2)={empty},
i=2; X={3,4,5}; j=3; A(3)={4,5}; etc...
9
6
11
7
2
Advanced Topics in Graph Algorithms
Example
9
1
5
end;
if A(vi ) \ N (vi ) ≠ empty then return FALSE
10.
3
1
5
4
6
11
3
10
7
2
Advanced Topics in Graph Algorithms
8
3
1
5
4
2
Advanced Topics in Graph Algorithms
How to find all maximal
cliques?
Theorem (Fulkersson, Gross,
65)
So one can easy modify PE ordering testing to
print ALL cliques.
For ordering v1,v2,...,vn
every maximal clique of the graph is of
the form
vi ∪ ( N ( vi ) ∩ {vi +1 , vi + 2 ,..., vn })
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
4
How to compute the clique
number?
To compute
compute all
ω (G )
find PEO and
Chromatic number
Because chordal graphs are perfect
χ (G ) = ω (G )
| vi ∪ ( N ( vi ) ∩ {vi +1 , vi +2 ,..., vn }) |
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
Now we want to list all
maximal cliques.
Naive algorithm
Maximal cliques can have different
cardinalities!
Find
vi ∪ ( N ( vi ) ∩ {vi +1 , vi + 2 ,..., vn })
for every i
And then remove all non-maximal cliques.
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
How a maximal clique looks
like?
Define
Clique
X i = ( N ( vi ) ∩ {vi +1 , vi +2 ,..., vn })
is maximal if and only if
3
vi ∪ X i ⊄ X j
1
2
vi ∪ X i
X1
X2
Advanced Topics in Graph Algorithms
for every j < i
X3
Advanced Topics in Graph Algorithms
5
Take a look at PEO testing
algorithm once again
1. For each vertex v do A(v) ← ∅
2. For i ← 1 to n-1 do
3.
begin
4.
X i ← {vk ∈ N ( vi ) : i < k }
5.
if X i ≠ ∅
6.
begin
7.
j ← min{k : vk ∈ X i };
concatenate X i \ {v j } to A(v j )
9.
j and i = min {k: vk ∈ X j }
then do
8.
10.
Because the oredering is PEO for every
end;
if A(vi ) \ N ( vi ) ≠ ∅ then return FALSE
11. end;
vi ∪ X i ⊇ X j
If | vi ∪ X i |≤ | X j |
then vi ∪ X i is not maximal clique.
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
The algorithm listing all maximal
cliques in a chordal graph
This implies that the clique
v j ∪ X j is not maximal if for some i in the line
8.
concatenate X i \ {v j } to A(v j )
the set of size | X j | was concatenated to A(v j )
1. For i ← 1 to n- 1 do
2. begin
3.
4.
5.
6.
X i ← {v k ∈ N ( v i ) : i < k }
end;
7. for i ← 1 to n- 1 do
8.
begin
9.
if
10.
if | X i | = | X
13.
18.
19.
then do
j ← min{ k : v k ∈ X i };
12.
16 .
17.
Xi ≠ ∅
begin
11.
14.
15.
Advanced Topics in Graph Algorithms
A(v) ← ∅ ;
mclique ( v i ) = TRUE ;
concatenat
j
| + 1 then mclique ( v j ) = FALSE
e X i \ { v j } to A(v
j
)
end; end;
for i ← 1 to n- 1 do
begin
if mclique ( v i ) then print v i ∪ X
i
end;
end .
Advanced Topics in Graph Algorithms
Theorem
How to obtain coloring?
The above algorithm correctly computes
all maximal cliques of a chordal graph in
linear time.
We know how to compute the chromatic
number of a chordal graph. But how to
obtain a coloring?
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
6
Every vertex ordering `induces‘ a greedy
coloring of a graph. For ordering
The maximal color used in such a procedure is
at most
max1≤i ≤n | vi ∪ X i |
v1 , v2 ,..., vn
Color vertex one by one in the smallest
available color.
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
IS and Clique Cover
Because
Because the complement of a chordal graph G
is perfect,
ω (G ) = max1≤i ≤n | vi ∪ X i |
α (G ) = κ (G )
greedy coloring works for PE ordering.
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
Definition
Let
v1 , v2 ,..., vn
be a PE ordering
vi1 = v1
i j = min{k : k > i j −1 and vk ∉ X i1 ∪ X i2 ∪ ... ∪ X i j-1 }
Define a subsequence
vi1 , vi21 ,..., vit
6
2
5
{1,4,6}
1
4
3
inductively
Advanced Topics in Graph Algorithms
7
Advanced Topics in Graph Algorithms
7
Theorem (Gavril, 72)
vi , vi ,..., vi
The set
independent set in G.
The collection of sets
1
21
t
is a maximum
Proof:
The set
set and
Y j = vi j ∪ X i j
vi1 , vi21 ,..., vit
is independent
α (G ) ≥ t
is a minimum clique cover of G.
Advanced Topics in Graph Algorithms
Proof:
Advanced Topics in Graph Algorithms
Proof:
The set {Y1,Y2,...,Yt} is the set of cliques
covering G. Thus
κ (G ) ≤ t
α (G ) ≤ κ (G )
Since
we conclude
t ≤ α ( G ) ≤ κ (G ) ≤ t
QED
Advanced Topics in Graph Algorithms
Advanced Topics in Graph Algorithms
Theorem (Lovász, 72)
Gavril Theorem combining with slightly
modified algorithm for maximal cliques
produces a linear time algorithm for IS
and Clique Cover.
Advanced Topics in Graph Algorithms
Graph is perfect if and only if its
complement is perfect.
Advanced Topics in Graph Algorithms
8
С праздником Первомая!
Advanced Topics in Graph Algorithms
9
© Copyright 2026 Paperzz