0% found this document useful (0 votes)
4 views48 pages

Graph Kernel Computation Algorithms

The document discusses the computation of kernels in directed graphs, particularly focusing on chordal clique-acyclic graphs. It defines a kernel as a stable and absorbing subset of vertices and outlines an algorithm for computing kernels in these graphs, leveraging the structural properties of clique trees. The goal is to determine polynomial-time algorithms for kernel computation in specific graph families where kernel existence is guaranteed but computational complexity remains uncertain.

Uploaded by

Chhin Visal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views48 pages

Graph Kernel Computation Algorithms

The document discusses the computation of kernels in directed graphs, particularly focusing on chordal clique-acyclic graphs. It defines a kernel as a stable and absorbing subset of vertices and outlines an algorithm for computing kernels in these graphs, leveraging the structural properties of clique trees. The goal is to determine polynomial-time algorithms for kernel computation in specific graph families where kernel existence is guaranteed but computational complexity remains uncertain.

Uploaded by

Chhin Visal
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Computing kernels of graphs

Computing kernels of graphs

Adèle Pass-Lanneau
Internship supervised by Frédéric Meunier

Ecole polytechnique - CERMICS

July 11, 2016


Computing kernels of graphs

Plan

1 Introduction

2 Algorithm for chordal graphs

3 Generalization
Computing kernels of graphs
Introduction

Plan

1 Introduction

2 Algorithm for chordal graphs

3 Generalization
Computing kernels of graphs
Introduction

Graph theory basics

1 2 Vertices, edges

3 4 5

6
Computing kernels of graphs
Introduction

Graph theory basics

1 2 Vertices, edges
Orientation, arcs
3 4 5

6
Computing kernels of graphs
Introduction

Graph theory basics

1 2 Vertices, edges
Orientation, arcs
3 4 5 Neighbors/Adjacent vertices
Successor
Sink: vertex without successor
6
Circuit
Computing kernels of graphs
Introduction

Kernel

Denition
Let D = (V , A) be a directed graph. A subset of vertices K is a kernel of
D when:

K is stable: it contains no pair of adjacent vertices

K is absorbing: every vertex v ∈ / K has a successor in K ,


i.e.,∀v ∈
/ K , there is a vertex k ∈ K such that (v , k ) ∈ A.
Computing kernels of graphs
Introduction

Kernel

Denition
Let D = (V , A) be a directed graph. A subset of vertices K is a kernel of
D when:

K is stable: it contains no pair of adjacent vertices

K is absorbing: every vertex v ∈ / K has a successor in K ,


i.e.,∀v ∈
/ K , there is a vertex k ∈ K such that (v , k ) ∈ A.

1 {1, 6} is not an absorbing subset of D :


2 vertex 2 has no successor in {1, 6}

3 4 5

6
Computing kernels of graphs
Introduction

Kernel

Denition
Let D = (V , A) be a directed graph. A subset of vertices K is a kernel of
D when:

K is stable: it contains no pair of adjacent vertices

K is absorbing: every vertex v ∈ / K has a successor in K ,


i.e.,∀v ∈
/ K , there is a vertex k ∈ K such that (v , k ) ∈ A.

1 {1, 6} is not an absorbing subset of D :


2 vertex 2 has no successor in {1, 6}
{1, 2, 6} is absorbing but not stable
3 4 5 because of the arc (1, 2)

6
Computing kernels of graphs
Introduction

Kernel

Denition
Let D = (V , A) be a directed graph. A subset of vertices K is a kernel of
D when:

K is stable: it contains no pair of adjacent vertices

K is absorbing: every vertex v ∈ / K has a successor in K ,


i.e.,∀v ∈
/ K , there is a vertex k ∈ K such that (v , k ) ∈ A.

1 {1, 6} is not an absorbing subset of D :


2 vertex 2 has no successor in {1, 6}
{1, 2, 6} is absorbing but not stable
3 4 5 because of the arc (1, 2)
{2, 6} is absorbing and stable: it is a
kernel of D
6
Computing kernels of graphs
Introduction

Kernel

Denition
Let D = (V , A) be a directed graph. A subset of vertices K is a kernel of
D when:

K is stable: it contains no pair of adjacent vertices

K is absorbing: every vertex v ∈ / K has a successor in K ,


i.e.,∀v ∈
/ K , there is a vertex k ∈ K such that (v , k ) ∈ A.

1 {1, 6} is not an absorbing subset of D :


2 vertex 2 has no successor in {1, 6}
{1, 2, 6} is absorbing but not stable
3 4 5 because of the arc (1, 2)
{2, 6} is absorbing and stable: it is a
kernel of D
6
{3, 6} is another kernel of D
Computing kernels of graphs
Introduction

Existence of a kernel

Graphs can have several kernels (even exponentially many)


Others have no kernel at all, for example odd circuits

Existence theorems are proven for some families of graphs


Graphs without circuits, perfect graphs (Boros-Gurvich), graphs without
odd circuit (Richardson), line-graphs (Maray)...
Computing kernels of graphs
Introduction

Why kernels ?

Related to winning strategies in game theory


Initially introduced by Von Neumann and Morgenstern in their Theory of
Games and Economic Behavior in 1944

Consider a graph without circuit,


with a token placed on a starting
vertex s .
Two-player game: at his turn,
each player moves the token from
the current vertex to a successor
of his.
The player who can't move
anymore is the loser.
Computing kernels of graphs
Introduction

Why kernels ?

A game corresponds to a path


v0 = s → v1 → ... → vn with vn a sink.
Player 1 chooses v2p+1 ∀p .

Let K be a kernel of the digraph. Then:


All sinks are in K .
∀v2p ∈/ K , Player 1 has a strategy to
impose v2p+1 ∈ K .
If s ∈
/ K , Player 1 knows how to win !
Computing kernels of graphs
Introduction

Example of a Nim game

A Nim game:
stack of 10 sticks
two players playing in turns
each of them removes 1, 2 or 3 sticks
the loser is the player who removes the last stick
Computing kernels of graphs
Introduction

Example of a Nim game

A Nim game:
stack of 10 sticks
two players playing in turns
each of them removes 1, 2 or 3 sticks
the loser is the player who removes the last stick
Equivalent to moving a token in the appropriate state graph.

10 9 8 7 6 5 4 3 2 1
Computing kernels of graphs
Introduction

Example of a Nim game

A Nim game:
stack of 10 sticks
two players playing in turns
each of them removes 1, 2 or 3 sticks
the loser is the player who removes the last stick
Equivalent to moving a token in the appropriate state graph.

10 9 8 7 6 5 4 3 2 1
Computing kernels of graphs
Introduction

Example of a Nim game

A Nim game:
stack of 10 sticks
two players playing in turns
each of them removes 1, 2 or 3 sticks
the loser is the player who removes the last stick
Equivalent to moving a token in the appropriate state graph.

10 9 8 7 6 5 4 3 2 1
Computing kernels of graphs
Introduction

Kernel and Nim game

Now we compute a kernel of this graph...

10 9 8 7 6 5 4 3 2 1
Computing kernels of graphs
Introduction

Kernel and Nim game

Now we compute a kernel of this graph...

10 9 8 7 6 5 4 3 2 1
Computing kernels of graphs
Introduction

Kernel and Nim game

Now we compute a kernel of this graph...

10 9 8 7 6 5 4 3 2 1
Computing kernels of graphs
Introduction

Kernel and Nim game

Now we compute a kernel of this graph...

10 9 8 7 6 5 4 3 2 1

Winning strategy for player 1:

Always put player 2 in a state s ∈ K


⇐⇒ Always leave a number of sticks ≡ 1 [4]
Computing kernels of graphs
Introduction

Motivation

Graphs do not always have a kernel.


Deciding if a graph has a kernel is NP-complete in general
(Chvatal 1973)
In some graph families, a kernel do always exist.
Thus the decision problem is trivial, but computing one kernel
may still be hard (similar to Nash equilibrium)
Our goal: nd if computing a kernel is polynomial
for families where kernel existence is guaranteed but computation
complexity is unknown.
−→ chordal clique-acyclic graphs
Computing kernels of graphs
Introduction

Cliques

1 2
A clique of a graph is a subset of
vertices that are adjacent two by two.
3 4 5
A kernel of a clique is a single vertex (an
absorbing vertex).
6

A digraph has a clique-acyclic orientation if every clique has an absorbing


vertex.
Computing kernels of graphs
Introduction

Chordal graphs

A graph is chordal is it has no cycle of length ≥ 4 without a chord.

Theorem
Chordal clique-acyclic digraphs have a kernel.

Special case of Boros-Gurvich theorem (1996) on perfect graphs.

Not an algorithmic proof: no polynomial algorithm to compute a kernel.


Computing kernels of graphs
Introduction

Problem statement

Problem
Find a polynomial algorithm to compute a kernel of a chordal
clique-acyclic graph.
Computing kernels of graphs
Algorithm for chordal graphs

Plan

1 Introduction

2 Algorithm for chordal graphs

3 Generalization
Computing kernels of graphs
Algorithm for chordal graphs

An easy case: graph without ↔

Input: Chordal clique-acyclic graph without reversible arcs.


Claim 1: it has no circuit
Claim 2: computing a kernel of a graph without circuit is easy
Computing kernels of graphs
Algorithm for chordal graphs

No circuit?

1 The graph has no reversible arc


=⇒ the graph has no 2-circuit
2 The graph is clique-acyclic: every clique has an absorbing vertex
=⇒ the graph has no 3-circuit

3 The graph is chordal


=⇒ if it has a circuit of length ≥ 3, it has a 3-circuit
=⇒ the graph has no circuit of length ≥ 3

Chordal clique-acyclic graph without reversible arcs has no circuit.


Computing kernels of graphs
Algorithm for chordal graphs

Computing a kernel of a graph without circuit

We did it already for the Nim graph!

Reminder: all sinks must be in the kernel

Algorithm:
Put all sinks in K
Remove all their neighbors
Reiterate
Computing kernels of graphs
Algorithm for chordal graphs

An easy case: graph without ↔

Input: Chordal clique-acyclic graph without reversible arcs.


Claim 1: it has no circuit X
Claim 2: computing a kernel of a graph without circuit is easy OK X
Polynomial algorithm in this case
Computing kernels of graphs
Algorithm for chordal graphs

An easy case: graph without ↔

Input: Chordal clique-acyclic graph without reversible arcs.


Claim 1: it has no circuit X
Claim 2: computing a kernel of a graph without circuit is easy OK X
Polynomial algorithm in this case

With ↔:
potentially no sink...
replacing ↔ by → creates circuits...
Computing kernels of graphs
Algorithm for chordal graphs

Our theorem in general case

Theorem
A kernel of a chordal clique-acyclic digraph can be computed in
polynomial time.
Computing kernels of graphs
Algorithm for chordal graphs

Introducing the clique tree

Structural property of chordal graphs:


Eciently represented by a tree whose nodes are cliques of the graph.

A special case of tree decomposition (Halin 1976)


Computing kernels of graphs
Algorithm for chordal graphs

Building a clique tree

The chordal graph

8
9
7
6
3 4
5
1 2
Computing kernels of graphs
Algorithm for chordal graphs

Building a clique tree

The chordal graph Its maximal cliques


8
8 9

9 7
6
7
7
6 6

3 4 3
6
5
1 2
4
3

3
4
5
1
2
Computing kernels of graphs
Algorithm for chordal graphs

Building a clique tree

The chordal graph Its maximal cliques One clique tree


8 8
8 9 9

9 7 7
6 6
7
7 7
6 6 6

3 4 3 3
6 6
5
1 2
4 4
3 3

3 3
4 4
5 5
1 1
2 2
Computing kernels of graphs
Algorithm for chordal graphs

Clique tree: formal denition

A clique tree of a connected chordal digraph D is a tree T = (C, E) such


that:
- the node set C is the collection of all maximal cliques of D
- for every vertex v ∈ V , the subgraph of T induced by all cliques of C
containing v is a subtree of T .

Existence and computability (Habib 1995): Every chordal graph has a


clique tree which is computable in polynomial time.
Computing kernels of graphs
Algorithm for chordal graphs

Result

Using clique tree structure, we propose an algorithm to compute a


kernel of chordal clique-acyclic graph
It is polynomial of complexity ≤ O (n4 )
Now the question is to generalize it to other families of graphs
Computing kernels of graphs
Generalization

Plan

1 Introduction

2 Algorithm for chordal graphs

3 Generalization
Computing kernels of graphs
Generalization

Natural generalization

The theorem still holds for a graph verifying (H 1), (H 2), (H 3).
Generalized assumptions
(H1) ∃ tree decomposition such that the intersection of two bags is
a clique
(H2) ∀ subgraph B of a bag,
B has a kernel computable in polynomial time

(H3) ∀ subgraph B of a bag, ∀v xed vertex in B ,


in polynomial time: compute a kernel of B containing v if exists, or
report that none exists otherwise

Extension of chordal case


Computing kernels of graphs
Generalization

DE graphs
Consider a collection of paths on a directed tree
Path are vertices of the DE graph
Two vertices are adjacent if the paths share an edge
The collection of paths is the representation of the DE graph

1
2

6 3 6 2
4 5
5
4
Computing kernels of graphs
Generalization

Stable marriages

Two sets: men and women


Every person ranks individuals from the other gender
A matching is a set of married couples
A matching is stable if there is no pair (m, w ) not married together
such that both of them prefer the other to their current
husband/wife

Algorithm of Gale and Shapley: a stable marriage is computed in poly


time for any instance
Computing kernels of graphs
Generalization

Stable marriages

Two sets: men and women


Every person ranks individuals from the other gender
A matching is a set of married couples
A matching is stable if there is no pair (m, w ) not married together
such that both of them prefer the other to their current
husband/wife

Algorithm of Gale and Shapley: a stable marriage is computed in poly


time for any instance

What about DE graphs ?


Computing kernels of graphs
Generalization

DE graphs

DE graphs have a tree decomposition verifying (H 1)


Question: do DE bags verify (H 2), (H 3) ?

One-to-one correspondance between:


a DE bag with clique-acyclic orientation without reversible arc
an instance of the stable marriage problem

A kernel of the DE graph is a stable marriage of the Gale-Shapley


instance.
Computing kernels of graphs
Generalization

DE graphs

DE graphs have a tree decomposition verifying (H 1)


Question: do DE bags verify (H 2), (H 3) ?

One-to-one correspondance between:


a DE bag with clique-acyclic orientation without reversible arc
an instance of the stable marriage problem

A kernel of the DE graph is a stable marriage of the Gale-Shapley


instance.

Thanks to stable marriages, (H 1), (H 2), (H 3) can be veried for DE


clique-acyclic without reversible arc. The generalized algorithm is
applicable.
Computing kernels of graphs
Generalization

Conclusion and open questions

Results:
Algorithm for chordal graphs
Generalization - applicable for some DE graphs

What's next:
Rene the algorithm to compute all kernels? if possible.
Would allow us to solve existence problem.
Extend the results for DE graphs to the case of reversible arcs
(weakly stable marriages)
Characterize graph families that verify (H 1), (H 2), (H 3)
Look for minimal hypothesis instead of (H 1), (H 2), (H 3) (we would
appreciate to weaken (H 3))
Computing kernels of graphs
Generalization

Lunch time

Thank you for your attention !

You might also like