Sei sulla pagina 1di 152

Advanced Graph Algorithms Spring 2003

Gabriel Valiente

valiente@lsi.upc.es

Technical University of Catalonia

Schedule

1. Introduction

2. Intersection Graph Theory

3. Algorithms on Permutation Graphs

4. Algorithms on Circle Graphs

5. Algorithms on Interval Graphs

6. Algorithms on Chordal Graphs

7. Algorithms on Circular-Arc Graphs

8. Student Presentations

13 May 2003 27 May 2003

03 June 2003

10 June 2003

28 May 2003 28 May 2003

04 June 2003 04 June 2003 11 June 2003

Introduction

Introduction

Most graph problems of theoretical interest and practical relevance are intractable, even hard to approximate.

However, NP-hard problems become polynomial-time solvable on special graph classes.

A closer look will be taken in this course at some fundamental graph problems (clique, independent set, coloring, isomorphism).

Understanding the structure of the graph classes that make them polynomial-time solvable.

Drawing the boundary between P and NP-hard for them.

Studying robust (certifying) algorithms.

Identifying open problems.

Graph classes will be studied from the point of view of intersection graph theory.

Introduction

Isomorphism expresses what is meant when two graphs are said to be the same graph.

Definition

bijection h : V ( G ) V ( H ) such that, for every pair of vertices u, v V ( G ) ,

Two graphs G and H are isomorphic, denoted by G

= H, if there is a

{u, v} ∈ E ( G ) if and only if {h ( u ) , h ( v ) } ∈ E ( H ) .

Two isomorphic graphs may be depicted in such a way that they look very different.

Example

The following two graphs are isomorphic.

different. Example The following two graphs are isomorphic. Technical University of Catalonia 5/152 Gabriel Valiente

Introduction

Nonisomorphism of graphs is not usually hard to prove, because several invariants or necessary conditions for isomorphism are not difficult to compute. These are properties that do not depend on the presentation or labeling of a graph.

Definition

graphs to be isomorphic.

Example

degree sequence.

Remark

V ( H ) = {v 1 ,

An graph isomorphism invariant is a necessary condition for two

Two graphs cannot be isomorphic if they differ in their order, size, or

For input graphs G and H with V ( G ) = {u 1 ,

,v

n }, a necessary condition for G

n } and

,u

= H is that the multisets

{Γ ( u i ) | 1 i n} and {Γ ( v i ) | 1 i n} be equal.

Introduction

Invariants are not sufficient conditions for isomorphism. Nothing can be concluded about two graphs which share an invariant.

Example

same number of vertices, the same number of edges, and are both 4-regular.

The following two graphs are not isomorphic, although they have the

two graphs are not isomorphic, although they have the Technical University of Catalonia 7/152 Gabriel Valiente

Introduction

Example

same number of vertices, the same number of edges, and are both 4-regular.

  {u 0 ,u 1 },{u 0 ,u 2 },{u 0 ,u 4 },{u 0 ,u 6 },{u 1 ,u 3 },{u 1 ,u 5 },{u 1 ,u 7 },

The following two graphs are not isomorphic, although they have the

{u

3 },{u

9 },{u

 

    {u

2 ,u

5 ,u

2 ,u

5 ,u

8 },{u

13 },{u

2

,u

10

6 ,u 8

},{u 3 ,u 4 },{u 3 ,u 6 },{u 4 ,u 5 },{u 4 ,u 7 },

},{u

10 },{u

7 ,u 9 },{u 7 ,u 13 },

6 ,u

 
  11 },{u 8

  11 ,u 12 },{u 11 ,u 15 },{u 12 ,u 13

{u

{u

8 ,u

,u 14

},{u 12 ,u 14 },{u 13 ,u 15 },{u 14

,u 15 }

},{u 9 ,u 12 },{u 9 ,u 15 },{u 10 ,u 11 },{u 10 ,u 14 },

E ( G ) =

E ( H ) =

     {v 2 ,v 3 },{v 2 ,v 8 },{v 2 ,v 10 },{v 3 ,v 9 },{v 3 ,v 11 },{v 4 ,v 5 },{v 4 ,v 8 },

 

  {v 0 ,v 1 },{v 0 ,v 2 },{v 0 ,v 4 },{v 0 ,v 6 },{v 1 ,v 3 },{v 1 ,v 5 },{v 1 ,v 7 },

{v

4 ,v

7 ,v

{v

12 },{v

11 },{v

5 ,v

7 ,v

9 },{v 5 ,v 13 },{v

13 },{v 8 ,v 9 },{v

6 ,v

8 ,v

7 },{v 6 ,v 10 },{v 6 ,v 12

},

14 },{v 9 ,v 15 },{v 10 ,v 11 },

  

    {v

  10 ,v 14 },{v 11 ,v 15 },{v 12 ,v 13 },{v 12 ,v 14 },{v 13 ,v 15 },{v 14 ,v 15 }

Introduction

Example

same number of vertices, the same number of edges, and are both 4-regular.

The following two graphs are not isomorphic, although they have the

two graphs are not isomorphic, although they have the There are, in fact, only five vertices

There are, in fact, only five vertices at distance 2 of any given vertex of the graph to the left-hand side, but six vertices at distance 2 of any given vertex of the graph to the right-hand side.

Introduction

Isomorphism of graphs is usually much harder to prove than nonisomorphism of graphs, because all known certificates or necessary and sufficient conditions for graph isomorphism are as difficult to compute as graph isomorphism itself.

Definition

condition for two graphs to be isomorphic.

From a complexity-theoretical point of view, graph isomorphism is one of the few NP problems believed neither to be in P nor to be NP-complete.

An graph isomorphism certificate is a necessary and sufficient

NP

NPC

·

·

·

P

GI

Introduction

Definition

h : V ( G ) V ( H ) such that, for every pair of vertices u, v V ( G ) , {h ( u ) , h ( v ) } ∈ E ( H ) if {u, v} ∈ E ( G ) . In an induced subgraph isomorphism, {u, v} ∈ E ( G ) if and only if {h ( u ) , h ( v ) } ∈ E ( H ) .

Definition

graphs G and H, whether H has a subgraph which is isomorphic to G.

Remark

graph problems.

A subgraph isomorphism of a graph G into a graph H is an injection

The subgraph isomorphism problem is to determine, given two input

Subgraph isomorphism is a common generalization of many important

Clique (K n )

Independent set (nK 1 )

Hamiltonian cycle (C n )

Matching (nK 2 )

Girth (P n )

Shortest path (P n )

Introduction

Definition

a mapping h : V ( G ) V ( H ) such that, for every pair of vertices u, v V ( G ) ,

Two graphs G and H are homomorphic, denoted by G H, if there is

{h ( u ) , h ( v ) } ∈ E ( H ) if {u, v} ∈ E ( G ) .

Definition

input graphs G and H, whether H has a subgraph which is homomorphic to G.

Remark

adjacent vertices obtain adjacent colors.

Example

The subgraph homomorphism problem is to determine, given two

Graph homomorphism is a generalization of graph coloring, in which

G K n if and only if G is n-colorable.

in which G K n if and only if G is n-colorable. Technical University of Catalonia

Introduction

Definition

H by deleting degree-two vertices.

Definition

input graphs G and H, whether H has a subgraph which is homeomorphic to G.

Remark

graphs characterized by the absence of forbidden structures.

Example (Kuratowski, 1930)

of a subdivision of either K 5 or K 3,3 .

A graph G is homeomorphic to a graph H if G can be obtained from

The subgraph homeomorphism problem is to determine, given two

Subgraph homeomorphism is the recognition problem for classes of

Planar graphs are characterized by the absence

classes of Planar graphs are characterized by the absence Technical University of Catalonia 13/152 Gabriel Valiente

Introduction

Example

subdivision of K 4 .

Series-parallel graphs are characterized by the absence of a

Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente
Series-parallel graphs are characterized by the absence of a Technical University of Catalonia 14/152 Gabriel Valiente

Introduction

Definition

subgraph of H by contracting edges.

Definition

graphs G and H, whether H (has a subgraph which) is a minor of G.

Remark

characterized by the absence of forbidden minors.

Example

A graph G is a minor of a graph H if G can be obtained from a

The minor containment problem is to determine, given two input

Minor containment is the recognition problem for classes of graphs

K 5 is a minor of the Petersen graph.

classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia
classes of graphs K 5 is a minor of the Petersen graph. Technical University of Catalonia

graph subgraph common subgraph common supergraph

graph class

Introduction

minor

homeomorphism

homomorphism

isomorphism

Definition

Introduction

A certifying algorithm for a decision problem is an algorithm that

provides a certificate with each answer that it produces.

Example

graph G, a 2-coloring of G is an acceptance certificate, while an odd cycle in G is

a rejection certificate.

Consider the problem of recognizing bipartite graphs. Given an input

the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust
the problem of recognizing bipartite graphs. Given an input Remark Certifying algorithms are also called robust

Remark

Certifying algorithms are also called robust.

Introduction

Martin C. Golumbic, Algorithmic Graph Theory and Perfect Graphs, New York: Academic Press, 1980.

Klaus Simon, Effiziente Algorithmen für perfekte Graphen, Stuttgart: B. G. Teubner, 1992.

Johannes Köbler, Uwe Schöning, and Jacobo Turán. The Graph

Isomorphism Problem: its Structural Complexity. Boston: Birkhäuser,

1993.

Ron Shamir. Advanced Topics in Graph Algorithms. Technical Report, Tel-Aviv University, 1994.

Terry A. McKee and Fred R. McMorris, Topics in Intersection Graph Theory, Philadelphia: SIAM, 1999.

Andreas Brandstädt, Van Bang Le, and Jeremy P. Spinrad, Graph Classes:

A Survey, Philadelphia: SIAM, 1999.

Gabriel Valiente. Algorithms on Trees and Graphs. Berlin:

Springer-Verlag, 2002.

Intersection Graph Theory

Intersection Graph Theory

Definition

by ( F ) , is the graph having F as vertex set with S i adjacent to S j if and only if

i = j and S i S j = 0/ . A graph G is called an intersection graph if there exists a

multiset of sets F such that G = ( F ) .

Example

S 3 = {x 4 }, and S 4 = {x 1 ,x 3 ,x 4 ,x 5 }. Then, G

The intersection graph of a multiset of sets F = {S 1 ,

,S

n }, denoted

Let F = {S 1 ,S 2 ,S 3 ,S 4 }, where S 1 = {x 1 }, S 2 = {x 1 ,x 2 ,x 3 },

= ( F ) is depicted next.

v

1

v 2

v 4

Theorem (Marczewski, 1945)

v 3

x 1

x 1 x 3 x 4 x 5

(Marczewski, 1945) v 3 x 1 x 1 x 3 x 4 x 5 x 1

x 1 x 2 x 3

x 4

Every graph is an intersection graph.

Theorem

Every graph is the intersection graph of a family of subgraphs of a

graph.

Intersection Graph Theory

Definition a tree.

Definition

along a circle.

Definition along a line.

Definition

circle.

Definition

between an ordered set of vertices and a permutation of them.

A chordal graph is the intersection graph of a finite set of subtrees of

A circular-arc graph is the intersection graph of a finite set of arcs

An interval graph is the intersection graph of a finite set of intervals

A circle graph is the intersection graph of a finite set of chords of a

A permutation graph is the intersection graph of a finite set of chords

Intersection Graph Theory

Definition

A permutation graph is a graph that is isomorphic to the intersection

graph of a finite set of chords between an ordered set of vertices and a permutation of them.

Example

The following finite set of chords between an ordered set of vertices

and a permutation of them is a permutation model or matching diagram of the permutation graph shown to the left.

Remark

e 6

e

e

8

1

e 2

e 7

e

4

e 5

e

3

v 1

v 2

v 3

v 4

v 5

v 6

v 7

v 8

v 3

v 5

v 8

v 4

v 6

v 1

v 7

v 2

A permutation graph is the graph of inversions in a permutation.

Intersection Graph Theory

Definition

of a finite set of chords of a circle.

Example

circle graph shown to the left.

A circle graph is a graph that is isomorphic to the intersection graph

The following finite set of chords of a circle is a chord model of the

e 3

e 1

e 4

e 5

e 2

e 6

e 7

v

v

8

v

v

5

v

4

7

9

v 6

v 10

v 3

v

v

v 13

2

v

14

v 11

v 12

1

Intersection Graph Theory

Definition

graph of a finite set of subtrees of a tree.

Example

chordal graph shown to the left.

A chordal graph is a graph that is isomorphic to the intersection

The following family of subtrees of a tree is a subtree model of the

 

2

1

3456

3456

 

4

5

 

245

4567 15

245 4567 15

 

3

7

 

6

24

467 1 5

24

467 1 5

 

3456

3456

3456

3456

3456

245 4567 15

245 4567 15

245 4567 15

245

4567 15

245 4567 15

24

467 1 5

24

467 1 5

24

467 1 5

24

467 1 5

24

467 1 5

Intersection Graph Theory

Definition

graph of a finite set of arcs along a circle.

Example

circular-arc graph shown to the left.

A circular-arc graph is a graph that is isomorphic to the intersection

The following finite set of arcs along a circle is an arc model of the

 

1

2

 

3

4

5

6

7

 

12

2

 

2

23

24

35

47

356

 

4

36

 

34

346

Intersection Graph Theory

Definition

graph of a finite set of intervals along a line.

Example

the interval graph shown to the left.

An interval graph is a graph that is isomorphic to the intersection

The following finite set of intervals along a line is an interval model of

1

2

3

4

6

5

7

8

1

3

6

along a line is an interval model of 1 2 3 4 6 5 7 8
along a line is an interval model of 1 2 3 4 6 5 7 8
along a line is an interval model of 1 2 3 4 6 5 7 8
along a line is an interval model of 1 2 3 4 6 5 7 8

8

Intersection Graph Theory

Lemma

the previous five graph classes.

The following diagram summarizes the relationships that hold between

circle

permutation

the relationships that hold between circle permutation chordal interval circular-arc Technical University of

chordal

interval

circular-arc

Intersection Graph Theory

Exercise

between the five graph classes hold, or give at most 32 examples of graphs that belong to some of the previous five graph classes.

Example

circular-arc graph. Consider, for instance, the intersection graph of three noncrossing chords which all cross two noncrossing chords along the circle graph with equator. This permutation graph is isomorphic to K 2,3 and has no circular-arc model, because two arcs along the circle cannot both intersect three nonintersecting arcs along the circle without intersecting themselves.

Prove the previous lemma. Show that the claimed relationships

A permutation graph is a circle graph, but it need not be a

A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of
A permutation graph is a circle graph, but it need not be a Technical University of

Intersection Graph Theory

Example (Hajos,´

G = (V, E ) be an interval graph having a chordless cycle [ v 0 ,v 1 ,v 2 ,

with > 3, and let I k denote the interval corresponding to vertex v k . Choose a

Interval graphs are chordal. As a matter of fact, Let

1957)

1 ,v 0 ]

,v

, points p i constitute a strictly increasing or strictly decreasing sequence. Therefore, it is impossible for I 0 and I 1 to intersect, contradicting the assumption that {v 0 ,v 1 } ∈ E.

point p i I i1 I i , for i = 1, 2,

1. Since I i1 and I i +1 do not overlap, the

Example

interval model, and is chordal.

K n has a permutation model, a circle model, a circular-arc model, an

permutation model, a circle model, a circular-arc model, an Technical University of Catalonia 29/152 Gabriel Valiente
permutation model, a circle model, a circular-arc model, an Technical University of Catalonia 29/152 Gabriel Valiente
permutation model, a circle model, a circular-arc model, an Technical University of Catalonia 29/152 Gabriel Valiente
permutation model, a circle model, a circular-arc model, an Technical University of Catalonia 29/152 Gabriel Valiente
permutation model, a circle model, a circular-arc model, an Technical University of Catalonia 29/152 Gabriel Valiente

Student Presentations

Prove the claimed relationships between the five classes of intersection graphs (chordal, circle, circular-arc, interval, and permutation graphs).

Wen-Lian Hsu, Ross M. McConnell. PC Trees and Circular-Ones Arrangements. Theoretical Computing Science, 296(1):99–116, 2003.

Wen-Lian Hsu. A Simple Test for the Consecutive Ones Property. Journal of Algorithms, 43(1):1–16, 2002.

Emmanuel Gasse. A Proof of a Circle Graph Characterization. Discrete Mathematics, 173(1–3):277-283, 1997.

Stephan Olariu. An Optimal Greedy Heuristic to Color Interval Graphs. Information Processing Letters, 37(1):21–25, 1991.

Wei-Kuan Shih, T. C. Chern, Wen-Lian Hsu. An O ( n 2 log n ) Algorithm for the Hamiltonian Cycle Problem on Circular-Arc Graphs. SIAM Journal on Computing, 21(6):1026–1046, 1992.

Algorithms on Permutation Graphs

Algorithms on Permutation Graphs

Definition

A permutation graph is a graph that is isomorphic to the intersection

graph of a finite set of chords between an ordered set of vertices and a permutation of them.

Example

The following finite set of chords between an ordered set of vertices

and a permutation of them is a permutation model or matching diagram of the permutation graph shown to the left.

Remark

e 6

e

e

8

1

e 2

e 7

e

4

e 5

e

3

v 1

v 2

v 3

v 4

v 5

v 6

v 7

v 8

v 3

v 5

v 8

v 4

v 6

v 1

v 7

v 2

A permutation graph is the graph of inversions in a permutation.

Algorithms on Permutation Graphs

Recognition of Permutation Graphs

Paul C. Gilmore, A. J. Hoffman. A Characterization of

Comparability Graphs and of Interval Graphs. Canadian Journal of Mathematics, 16(3):539–548, 1964.

Shimon Even, Amir Pnueli, Abraham Lempel. Permutation Graphs

and Transitive Graphs. Journal of the ACM, 19(3):400–410, 1972.

Martin C. Golumbic. The Complexity of Comparability Graph

Recognition and Coloring. Computing, 18(4): 199–208, 1977.

Jeremy Spinrad. On Comparability and Permutation Graphs. SIAM Journal on Computing, 14(3):658–670, 1985.

O

( n + m )

Dieter Kratsch, Ross M. McConnell, Kurt Mehlhorn, Jeremy P.

Spinrad. Certifying Algorithms for Recognizing Interval Graphs and

Permutation Graphs. Proc. 14th Annual ACM-SIAM Symp. Discrete Algorithms, 2003, pages 158–167.

O

( n

3

)

O

( n

3

)

O

( n

3

)

O

( n

2

)

Algorithms on Permutation Graphs

Maximum Independent Set of Permutation Graphs

O

( n log n )

Haklin Kim. Finding a Maximum Independent Set in a

Permutation Graph. Information Processing Letters, 36(1):19–23,

1990.

O

( n log n )

D. T. Lee, Majid Sarrafzadeh. Maximum Independent Set of a

Permutation Graph in k Tracks. International Journal of Computational Geometry and Applications, 3(3):291–304, 1993.

O

( n log n )

Peter Widmayer, C. K. Wong. An Optimal Algorithm for the

Maximum Alignment of Terminals. Information Processing Letters, 20(2):75–82, 1985.

Algorithms on Permutation Graphs

Maximum Independent Set of Permutation Graphs

O

( n loglog n )

Maw-Shang Chang, Fu-Hsing Wang. Efficient Algorithms

for the Maximum Weight Clique and Maximum Weight Independent Set Problems on Permutation Graphs. Information Processing Letters, 43(6):293–295, 1992.

O

( n loglog n )

Erkki Mäkinen. On the Longest Subsequence Problem for

Permutations. International Journal of Computer Mathematics, 77(1):45–53, 2001.

O

( n loglog n )

Frederico Malucelli, Thomas Ottmann, Daniele Pretolani.

Efficient Labelling Algorithms for the Maximum Noncrossing

Matching Problem. Discrete Applied Mathematics, 47(2):175–179,

1993.

O

( n loglog n )

Ming-Shing Yu, Lin Yu Tseng, Shoe-Jane Chang.

Sequential and Parallel Algorithms for the Maximum-Weight Independent Set Problem on Permutation Graphs. Information

Processing Letters, 46(1):7–11, 1993.

Algorithms on Permutation Graphs

Isomorphism of Permutation Graphs

O

( n 2 )

Charles J. Colbourn. On Testing Isomorphism of Permutation Graphs. Networks, 11(1):13–21, 1981.

Algorithms on Permutation Graphs

Lemma (Gries, 1981) solved in O ( n log n ) time.

Proof

minimum values

The longest nondecreasing sequence problem can be

Scan the sequence ( v 1 ,v 2 ,

m 1 ,m 2 ,

,m

n ) from left to right and maintain the

,v

k which end the nondecreasing sequences of length

1, 2,

,

k found so far. Then, k is length of a longest nondecreasing sequence.

Each value v i in the sequence is compared with the minimum value m 1 of the shortest nondecreasing sequence and with the minimum value m k of the longest nondecreasing sequence.

If v i < m 1 , then m 1 is set to v i .

If v i m k , then a nondecreasing sequence of length k + 1 is found, and m k +1 is set to v i .

If m 1 v i < m k , then an index j is found such that m j1 v i < m j , and m j is set to v i .

Finding the index j takes O ( log k ) time, yielding the O ( n log n ) time bound.

Algorithms on Permutation Graphs

Lemma (Golumbic, 1980)

Let G be the (permutation) graph of inversions of a

permutation π. Then, the decreasing sequences of π are in one-to-one correspondence with the cliques of G, and the increasing sequences of π are in one-to-one correspondence with the independent sets of G.

Proof

adjacent if and only if the corresponding chords in a matching diagram of G intersect if and only if v i and v j are inverted in the permutation π.

Follows from two vertices v i and v j in a permutation graph G being

 

1

···

i

···

j

···

k

···

n

 

i

   

j

k

π

···

j

···

k

···

i

···

Algorithms on Permutation Graphs

Lemma

graphs in O ( n loglog n ) time.

Proof

restricted universe being solvable in O ( n loglog n ) time.

The maximum independent set problem can be solved on permutation

Follows from the problem of finding the successor of an element in a

Algorithms on Circle Graphs

Algorithms on Circle Graphs

Recognition of Circle Graphs

Walid Naji. Reconnaissance des Graphes de Cordes. Discrete Mathematics, 54(3):329–337, 1985.

André Bouchet. Reducing Prime Graphs and Recognizing Circle Graphs. Combinatorica, 7(3):243–254, 1987.

O ( mn )

Csaba P. Gabor, Kenneth J. Supowit, Wen-Lian Hsu. Recognizing

Circle Graphs in Polynomial Time. Journal of the ACM, 36(3):435–473, 1989.

Wen-Lian Hsu. O ( mn ) Algorithms for the Recognition and

Isomorphism Problems on Circular-Arc Graphs. SIAM Journal on Computing, 24(3):411–439, 1995.

Jeremy Spinrad. Recognition of Circle Graphs. Journal of Algorithms, 16(2):264–282, 1994.

O ( mn )

O ( n 2 )

O ( n

7

)

O ( n

5

)

Algorithms on Circle Graphs

Maximum Independent Set of Circle Graphs

O

( n 3 ) Fanica Gavril. Algorithms for a Maximum Clique and a Maximum Independent Set of a Circle Graph. Networks, 3(3):261–273, 1973.

O

( n 3 ) Robin Liu, Simeon C. Ntafos. On Decomposing Polygons into Uniformly Monotone Parts. Information Processing Letters, 27(2):85–88, 1988.

Algorithms on Circle Graphs

Maximum Independent Set of Circle Graphs

O

( n 2 ) Takao Asano, Tetsuo Asano, Hiroshi Imai. Partitioning a Polygonal Region into Trapezoids. Journal of the ACM, 33(2):290–312, 1986.

O

( n 2 ) Takao Asano, Hiroshi Imai, Akira Mukaiyama. Finding a Maximum Weight Independent Set of a Circle Graph. IEICE Transactions, E74(4):681–683, 1991.

O

( n 2 ) Olivier Goldschmidt, Alexan Takvorian. An Efficient Algorithm for Finding a Maximum Weight Independent Set of a Circle Graph. IEICE Transactions, E77-A(10):1672–1674, 1994.

O

( n 2 ) Ronald C. Read, Doron Rotem, Jorge Urrutia. Orientations of Circle Graphs. Journal of Graph Theory, 6(3):325–341, 1982.

O

( n 2 ) Kenneth J. Supowit. Finding a Maximum Planar Subset of a Set of Nets in a Channel. IEEE Transactions on Computer-Aided Design, 6(1):93–94, 1987.

Algorithms on Circle Graphs

Maximum Independent Set of Circle Graphs

O

( nd )

Alberto Apostolico, Mikhail J. Atallah, Susanne E. Hambrusch. New Clique and Independent Set Algorithms for Circle Graphs.

Discrete Applied Mathematics, 36(1):1–24, 1992; 41(2):179–180,

1993.

Algorithms on Circle Graphs

Isomorphism of Circle Graphs

O ( mn )

Wen-Lian Hsu. O ( mn ) Algorithms for the Recognition and

Isomorphism Problems on Circular-Arc Graphs. SIAM Journal on

Computing, 24(3):411–439, 1995.

Algorithms on Circle Graphs

Definition

of a finite set of chords of a circle.

Example

circle graph shown to the left.

A circle graph is a graph that is isomorphic to the intersection graph

The following finite set of chords of a circle is a chord model of the

e 3

e 1

e 4

e 5

e 2

e 6

e 7

v

v

8

v

v

5

v

4

7

9

v 6

v 10

v 3

v

v

v 13

2

v

14

v 11

v 12

1

Algorithms on Circle Graphs

circle graph

nonadjacency

adjacency

         nonadjacency adjacency disjointness containment overlap  

disjointness

containment

overlap

interval model

A set of mutually disjoint, or contained in each other, intervals of I ( G) models an independent set of G.

A set of mutually overlapping intervals of I ( G ) models a clique of G.

Algorithms on Circle Graphs

( 3, 6 ) -cage

P. J. Heawood (1861–1955)

Algorithms on Circle Graphs

( 3, 7 ) -cage

W. F. McGee (1937–)

Algorithms on Circle Graphs

( 3, 8 ) -cage

W. T. Tutte (1917–2002) and H. S. Coxeter (1907–)

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

n = 1

r = 1

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

n = 2

r = 2

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

n = 3

of non-overlapping regions r that can be obtained n = 3 r = 4 Technical University

r = 4

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

n = 4

r = 8

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

n

12345

r

1248

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

number of non-overlapping regions r that can be obtained n = 5 r = 16 Technical

n = 5

r = 16

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

n

123456

r

1

2

4

8

16

Algorithms on Circle Graphs

Exercise

by joining n points on the circle with chords

Maximum number of non-overlapping regions r that can be obtained

number of non-overlapping regions r that can be obtained n = 6 r = 31 Technical

n = 6

r = 31

Algorithms on Circle Graphs

Definition

chords in the chord model of the graph

The total chord length of a circle graph is the sum of the length of all

e 3

e 1

e 4

e 5

e 2

e 6

e 7

v

v

8

v

v

5

v

4

7

9

v 6

v 10

v 3

v

v

v 13

2

v

14

v 11

v 12

1

Example

The total chord length of the previous circle graph is 37

Algorithms on Circle Graphs

In the interval model of a circle graph, the total order on the vertex set along the circumference of a circle is replaced by a total order along the line

v 1 v 2 v 3 v 4 v 5 v 6 v 7 v
v 1
v 2
v 3
v 4
v 5
v 6
v 7
v 8
v 9
v 10
v 11
v 12
v 13
v 14

Algorithms on Circle Graphs

Definition

The density of a circle graph is the maximum number of intervals

crossing any position on the line in the interval model of the graph v 1
crossing any position on the line in the interval model of the graph
v 1
v 2
v 3
v 4
v 5
v 6
v 7
v 8
v 9
v 10
v 11
v 12
v 13
v 14

Example

The density of the previous circle graph is 4

Algorithms on Circle Graphs

An interval model of a circle graph can be obtained from the chord model of the circle graph by a simple transformation, consisting in cutting the circumference of the circle at some point p which is not an endpoint of a chord and unfolding it at point p

The chord model can be reconstructed by wrapping around the circle the collection of intervals on the line

Given a chord model of a circle graph, for each choice of point p in the previous transformation a different interval model is obtained, and both the density and the total chord length of the circle graph depend on the particular chord or interval model chosen, that is, on the choice of point p for the transformation between the chord model and the interval model of the circle graph

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 37 and density 4

7

8

9

6

5

10 11

4

3

12 13

2 1 14 1 2 3 4 5 6 7 8 9 10 11 12
2
1
14
1
2
3
4
5
6
7
8
9
10 11 12 13 14

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 43 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 2 3 4 5 6 7 8 9 10 11 12 13
2
1
14
2
3
4
5
6
7
8
9
10 11 12 13 14
1

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 37 and density 4

7

8

9

6

5

10 11

4

3

12 13

2 1 14 3 4 5 6 7 8 9 10 11 12 13 14
2
1
14
3
4
5
6
7
8
9
10 11 12 13 14
1
2

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 43 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 4 5 6 7 8 9 10 11 12 13 14 1
2
1
14
4
5
6
7
8
9
10 11 12 13 14
1
2
3

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 47 and density 6

7

8

9

6

5 4

3

10 11

12 13

2 1 14 5 6 7 8 9 10 11 12 13 14 1 2
2
1
14
5
6
7
8
9
10 11 12 13 14
1
2
3
4

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 41 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 6 7 8 9 10 11 12 13 14 1 2 3
2
1
14
6
7
8
9
10 11 12 13 14
1
2
3
4
5

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 45 and density 6

7

8

9

6

5

10 11

4

3

12 13

2 1 14 7 8 9 10 11 12 13 14 1 2 3 4
2
1
14
7
8
9
10 11 12 13 14
1
2
3
4
5
6

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 39 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 8 9 10 11 12 13 14 1 2 3 4 5
2
1
14
8
9
10 11 12 13 14
1
2
3
4
5
6
7

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 41 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 9 10 11 12 13 14 1 2 3 4 5 6
2
1
14
9
10 11 12 13 14
1
2
3
4
5
6
7
8

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 37 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 10 11 12 13 14 1 2 3 4 5 6 7
2
1
14
10 11 12 13 14
1
2
3
4
5
6
7
8
9

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 45 and density 6

7

8

9

6

5

10 11

4

3

12 13

2 1 14 11 12 13 14 1 2 3 4 5 6 7 8
2
1
14
11 12 13 14
1
2
3
4
5
6
7
8
9
10

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 41 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 12 13 14 1 2 3 4 5 6 7 8 9
2
1
14
12 13 14
1
2
3
4
5
6
7
8
9
10 11

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 47 and density 6

7

8

9

6

5

10 11

4

3

12 13

2 1 14 13 14 1 2 3 4 5 6 7 8 9 10
2
1
14
13 14
1
2
3
4
5
6
7
8
9
10 11 12

Algorithms on Circle Graphs

Example

The following chord model and corresponding interval model for the

previous circle graph have total chord length 39 and density 5

7

8

9

6

5

10 11

4

3

12 13

2 1 14 14 1 2 3 4 5 6 7 8 9 10 11
2
1
14
14
1
2
3
4
5
6
7
8
9
10 11 12 13

Algorithms on Circle Graphs

It will be assumed, without loss of generality, that all chords are ordered from lower to higher vertex number, that is, i < j for all chords ( v i ,v j ) E in a circle

graph

G = (V, E )

The length of chord e = (v i ,v j ) E is len ( e ) = j i

MIS ( G ) denotes a maximum independent set of G

For all chords ( v i ,v j ) = e E, MIS ( e ) denotes a maximum independent set of the subgraph of G induced by {v k V |