295
Advances in algorithmic graph theory George B. Mertzios School of Engineering and Computing Sciences, Durham University, UK Graph and routing dynamics: models and algorithms Part I EULER Summer School 2013 George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 1 / 75

Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Advances in algorithmic graph theory

George B. Mertzios

School of Engineering and Computing Sciences,Durham University, UK

Graph and routing dynamics: models and algorithms

Part I

EULER Summer School 2013

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 1 / 75

Page 2: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Overview

Partial orders

Comparability graphs

Permutation graphs

Trapezoid graphs

Unless stated otherwise, definitions and theorems can be found in:[Golumbic, Alg. Graph Theory & Perfect Graphs, 2004]

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 2 / 75

Page 3: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

Definition

A (strict) partial order is a pair P = (U,<P), where U is a finite set and<P is a transitive binary relation on U, i.e.:

whenever x , y , z ∈ U, if x <P y and y <P z , then x <P z .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 3 / 75

Page 4: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

Definition

A (strict) partial order is a pair P = (U,<P), where U is a finite set and<P is a transitive binary relation on U, i.e.:

whenever x , y , z ∈ U, if x <P y and y <P z , then x <P z .

A partial order is:

order: the elements of the “ground set” U are “ordered”

partial: not all elements of U are “ordered”

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 3 / 75

Page 5: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

Definition

A (strict) partial order is a pair P = (U,<P), where U is a finite set and<P is a transitive binary relation on U, i.e.:

whenever x , y , z ∈ U, if x <P y and y <P z , then x <P z .

A partial order is:

order: the elements of the “ground set” U are “ordered”

partial: not all elements of U are “ordered”

Two elements x , y ∈ U are:

comparable in P, if x <P y or y <P x ,

incomparable in P, otherwise.

Element x is covered by element y (or y covers x) if:1 x <P y and

2 there exists no element z ∈ U with x <P z <P y .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 3 / 75

Page 6: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Do we need all this information for the relation <P ?

since we know that <P is transitive: a <P d and d <P g ⇒ a <P g

similarly: b <P d and d <P g ⇒ b <P g

similarly: b <P c and c <P f ⇒ b <P f

all other pairs of comparable elements are needed(i.e. they are not implied by others)

=⇒ all information we need is which element covers which other element !(since we know that <P is transitive)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 4 / 75

Page 7: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Do we need all this information for the relation <P ?

since we know that <P is transitive: a <P d and d <P g ⇒ a <P g

similarly: b <P d and d <P g ⇒ b <P g

similarly: b <P c and c <P f ⇒ b <P f

all other pairs of comparable elements are needed(i.e. they are not implied by others)

=⇒ all information we need is which element covers which other element !(since we know that <P is transitive)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 4 / 75

Page 8: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Do we need all this information for the relation <P ?

since we know that <P is transitive: a <P d and d <P g ⇒ a <P g

similarly: b <P d and d <P g ⇒ b <P g

similarly: b <P c and c <P f ⇒ b <P f

all other pairs of comparable elements are needed(i.e. they are not implied by others)

=⇒ all information we need is which element covers which other element !(since we know that <P is transitive)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 4 / 75

Page 9: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Do we need all this information for the relation <P ?

since we know that <P is transitive: a <P d and d <P g ⇒ a <P g

similarly: b <P d and d <P g ⇒ b <P g

similarly: b <P c and c <P f ⇒ b <P f

all other pairs of comparable elements are needed(i.e. they are not implied by others)

=⇒ all information we need is which element covers which other element !(since we know that <P is transitive)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 4 / 75

Page 10: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Do we need all this information for the relation <P ?

since we know that <P is transitive: a <P d and d <P g ⇒ a <P g

similarly: b <P d and d <P g ⇒ b <P g

similarly: b <P c and c <P f ⇒ b <P f

all other pairs of comparable elements are needed(i.e. they are not implied by others)

=⇒ all information we need is which element covers which other element !(since we know that <P is transitive)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 4 / 75

Page 11: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

An element x ∈ U is called:

minimal in <P , if there exists no element y ∈ U with y <P x ,

maximal in <P , if there exists no element y ∈ U with x <P y .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 5 / 75

Page 12: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

An element x ∈ U is called:

minimal in <P , if there exists no element y ∈ U with y <P x ,

maximal in <P , if there exists no element y ∈ U with x <P y .

There may be many minimal/maximal elements !

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 5 / 75

Page 13: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

An element x ∈ U is called:

minimal in <P , if there exists no element y ∈ U with y <P x ,

maximal in <P , if there exists no element y ∈ U with x <P y .

There may be many minimal/maximal elements !

In this example:

the minimal elements are: a, b,

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 5 / 75

Page 14: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

An element x ∈ U is called:

minimal in <P , if there exists no element y ∈ U with y <P x ,

maximal in <P , if there exists no element y ∈ U with x <P y .

There may be many minimal/maximal elements !

In this example:

the minimal elements are: a, b,

the maximal elements are: e, f , g .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 5 / 75

Page 15: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Consider a subset V ⊆ U of the ground set.

The restriction of the partial order P = (U,<P)on the elements of V is denoted by P(V ) = (V ,<P(V )).

the partial sub-order P(V ) = (V ,<P(V )) is:

a chain, if every two elements of V are comparable in <P ,

an antichain, if every two elements of V are incomparable in <P .

An (anti)chain is:

maximal, if it is not strictly included in another (anti)chain,

maximum, if it does not have less elements than any other (anti)chain.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 6 / 75

Page 16: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Consider a subset V ⊆ U of the ground set.

The restriction of the partial order P = (U,<P)on the elements of V is denoted by P(V ) = (V ,<P(V )).

the partial sub-order P(V ) = (V ,<P(V )) is:

a chain, if every two elements of V are comparable in <P ,

an antichain, if every two elements of V are incomparable in <P .

An (anti)chain is:

maximal, if it is not strictly included in another (anti)chain,

maximum, if it does not have less elements than any other (anti)chain.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 6 / 75

Page 17: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

Consider a subset V ⊆ U of the ground set.

The restriction of the partial order P = (U,<P)on the elements of V is denoted by P(V ) = (V ,<P(V )).

the partial sub-order P(V ) = (V ,<P(V )) is:

a chain, if every two elements of V are comparable in <P ,

an antichain, if every two elements of V are incomparable in <P .

An (anti)chain is:

maximal, if it is not strictly included in another (anti)chain,

maximum, if it does not have less elements than any other (anti)chain.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 6 / 75

Page 18: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

It is often useful to represent a partial order by a diagram:

succinct representation,

a better overview of the structure of the partial order,

useful to devise algorithms.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 7 / 75

Page 19: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

This is done by the Hasse diagram of a partial order:

a layered diagram

first we place the maximal elements in the uppermost layer

in the next layer (below) we place the maximal elementsin the partial sub-order of the remaining elements

we continue recursively, until we place all elements in layers

Then:

two elements x , y of the same layer i are always incomparable

an element x in layer i is always covered by an element y in layer i + 1

the chains can be read top-down

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 7 / 75

Page 20: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

This is done by the Hasse diagram of a partial order:

a layered diagram

first we place the maximal elements in the uppermost layer

in the next layer (below) we place the maximal elementsin the partial sub-order of the remaining elements

we continue recursively, until we place all elements in layers

Then:

two elements x , y of the same layer i are always incomparable

an element x in layer i is always covered by an element y in layer i + 1

the chains can be read top-down

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 7 / 75

Page 21: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

The Hasse diagram of this partial order (edges ←→ comparable elements):

e f gmaximal elements −→

c damong {a, b, c, d}maximal elements −→

a bmaximal elements −→among {a, b}

maximal chains:{a, e}, {a, d, g}, {a, c, f}, . . .

maximum chains:{a, d, g}, {a, c, f}, . . .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 8 / 75

Page 22: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

The Hasse diagram of this partial order (edges ←→ comparable elements):

e f gmaximal elements −→

c damong {a, b, c, d}maximal elements −→

a bmaximal elements −→among {a, b}

maximal chains:{a, e}, {a, d, g}, {a, c, f}, . . .

maximum chains:{a, d, g}, {a, c, f}, . . .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 8 / 75

Page 23: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

The Hasse diagram of this partial order (edges ←→ comparable elements):

e f gmaximal elements −→

c damong {a, b, c, d}maximal elements −→

a bmaximal elements −→among {a, b}

maximal chains:{a, e}, {a, d, g}, {a, c, f}, . . .

maximum chains:{a, d, g}, {a, c, f}, . . .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 8 / 75

Page 24: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

The Hasse diagram of this partial order (edges ←→ comparable elements):

e f gmaximal elements −→

c damong {a, b, c, d}maximal elements −→

a bmaximal elements −→among {a, b}

maximal chains:{a, e}, {a, d, g}, {a, c, f}, . . .

maximum chains:{a, d, g}, {a, c, f}, . . .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 8 / 75

Page 25: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

The Hasse diagram of this partial order (edges ←→ comparable elements):

e f gmaximal elements −→

c damong {a, b, c, d}maximal elements −→

a bmaximal elements −→among {a, b}

maximal chains:{a, e}, {a, d, g}, {a, c, f}, . . .

maximum chains:{a, d, g}, {a, c, f}, . . .

not a maximal chain:{c,f}

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 8 / 75

Page 26: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Hasse diagrams

For example, U = {a, b, c , d , e, f , g} and the transitive relation <P is:

a <P d , a <P e, a <P g ,b <P d , b <P e, b <P g , b <P c , b <P f ,d <P g , c <P f , c <P g

The Hasse diagram of this partial order (edges ←→ comparable elements):

e f gmaximal elements −→

c damong {a, b, c, d}maximal elements −→

a bmaximal elements −→among {a, b}

maximal chains:{a, e}, {a, d, g}, {a, c, f}, . . .

maximum chains:{a, d, g}, {a, c, f}, . . .

not a maximal chain:{c,f}

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 8 / 75

Page 27: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Linear orders and linear extensions

Definition

A linear order (or total order) is a partial order P = (U,<P),where every pair of elements in U is comparable.

Definition

Let P = (U,<P) be a partial order. A linear extension of P isa linear order L = (U,<L), such that:

if x <P y , then x <L y .

In other words, a linear extension L of a partial order P has:

all the comparabilities of P

and additional comparabilities to make L linear.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 9 / 75

Page 28: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Linear orders and linear extensions

Lemma

Every partial order P has a linear extension L.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 10 / 75

Page 29: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Linear orders and linear extensions

Lemma

Every partial order P has a linear extension L.

Proof.

If P is a linear order ⇒ L = P

Otherwise we construct a linear extension L of P as follows:1 L← ∅2 In the Hasse diagram H of P, let the layers be H1, H2, . . . , Hk3 For i = 1 to k :

add to L the elements of the layer Hi in an arbitrary order

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 10 / 75

Page 30: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Linear orders and linear extensions

Lemma

Every partial order P has a linear extension L.

Proof.

Since the elements within one layer Hi are all incomparable, thisprocess is equivalent to the following algorithm (Topological Sorting):

1 i = 12 While U 6= ∅:

ai ← an (arbitrary) minimal element of U(such an element always exists!)U ← U \ {ai}i ← i + 1

3 Return L← (a1, a2, . . . , an)

Correctness: since we always pick up as the next element a minimalelement ai in the remaining set, we do not violate in L anycomparability of P. (“smaller comes first”)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 10 / 75

Page 31: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Linear orders and linear extensions

Lemma

Every partial order P has a linear extension L.

Proof.

Since the elements within one layer Hi are all incomparable, thisprocess is equivalent to the following algorithm (Topological Sorting):

1 i = 12 While U 6= ∅:

ai ← an (arbitrary) minimal element of U(such an element always exists!)U ← U \ {ai}i ← i + 1

3 Return L← (a1, a2, . . . , an)

Correctness: since we always pick up as the next element a minimalelement ai in the remaining set, we do not violate in L anycomparability of P. (“smaller comes first”)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 10 / 75

Page 32: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Interval orders

A generalization of linear orders:

Definition

An interval order is a partial order P = (U,<P), where every element xcan be assigned an interval Ix on the real line, such that x <P yif and only if Ix lies completely to the left of Iy .

Observation

A linear order is an interval order where all intervals are points.

Every interval representation of an interval graph correspondsbijectively to an interval order.

a

b c de

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 11 / 75

Page 33: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Interval orders

A generalization of linear orders:

Definition

An interval order is a partial order P = (U,<P), where every element xcan be assigned an interval Ix on the real line, such that x <P yif and only if Ix lies completely to the left of Iy .

Observation

A linear order is an interval order where all intervals are points.

Every interval representation of an interval graph correspondsbijectively to an interval order.

a

b c de

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 11 / 75

Page 34: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Interval orders

A generalization of linear orders:

Definition

An interval order is a partial order P = (U,<P), where every element xcan be assigned an interval Ix on the real line, such that x <P yif and only if Ix lies completely to the left of Iy .

Observation

A linear order is an interval order where all intervals are points.

Every interval representation of an interval graph correspondsbijectively to an interval order.

a

b c de

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 11 / 75

Page 35: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Dimension of partial orders

Definition

Let P1 = (U,<P1), P2 = (U,<P2), . . . , Pk = (U,<Pk) be k partial

orders on the same ground set U. The intersection of them is the partialorder P = P1 ∩ P2 ∩ . . . ∩ Pk , where:

x <P y if and only if x <Piy for every i = 1, 2, . . . , k.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 12 / 75

Page 36: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Dimension of partial orders

Definition

Let P1 = (U,<P1), P2 = (U,<P2), . . . , Pk = (U,<Pk) be k partial

orders on the same ground set U. The intersection of them is the partialorder P = P1 ∩ P2 ∩ . . . ∩ Pk , where:

x <P y if and only if x <Piy for every i = 1, 2, . . . , k.

Definition

Let P be a partial order and P be a class of partial orders(e.g. linear orders, interval orders, etc.).

The P-dimension of P is the smallest number kof orders P1, P2, . . . , Pk ∈ P , such that P = P1 ∩ P2 ∩ . . . ∩ Pk .

If P is the class of linear orders, then the P-dimension of P is calledthe dimension of P (denoted dim(P)).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 12 / 75

Page 37: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Dimension of partial orders

Definition

Let P1 = (U,<P1), P2 = (U,<P2), . . . , Pk = (U,<Pk) be k partial

orders on the same ground set U. The intersection of them is the partialorder P = P1 ∩ P2 ∩ . . . ∩ Pk , where:

x <P y if and only if x <Piy for every i = 1, 2, . . . , k.

Definition

Let P be a partial order and P be a class of partial orders(e.g. linear orders, interval orders, etc.).

The P-dimension of P is the smallest number kof orders P1, P2, . . . , Pk ∈ P , such that P = P1 ∩ P2 ∩ . . . ∩ Pk .

If P is the class of linear orders, then the P-dimension of P is calledthe dimension of P (denoted dim(P)).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 12 / 75

Page 38: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Dimension of partial orders

Definition

Let P1 = (U,<P1), P2 = (U,<P2), . . . , Pk = (U,<Pk) be k partial

orders on the same ground set U. The intersection of them is the partialorder P = P1 ∩ P2 ∩ . . . ∩ Pk , where:

x <P y if and only if x <Piy for every i = 1, 2, . . . , k.

Since every linear order is also a (trivial) interval order, it follows that:

Observation

interval-dimension of P ≤ dimension of P

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 12 / 75

Page 39: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Dimension of partial orders

Example of the dimension of a partial order P:

a′ b′ c′

a b c

Lemma

dim(P) = 3.

Proof.

(i) dim(P) ≤ 3: P = L1 ∩ L2 ∩ L3 (see figure)

L1

ab

c′cb′a′

L2 L3

b cc a

a′ b′a b

a′c′

c′b′

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 13 / 75

Page 40: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Dimension of partial orders

Example of the dimension of a partial order P:

a′ b′ c′

a b c

Lemma

dim(P) = 3.

Proof.

(ii) dim(P) ≥ 3: assume otherwise that dim(P) ≤ 2, i.e. P = L1 ∩ L2

Since a, b, c are incomparable in P⇒ a, b, c have opposite orderings in L1, L2

without loss of generality: a <L1 b <L1 c and c <L2 b <L2 a

Since c <P b′ ⇒ c <L1 b′ ⇒ b <L1 b′

Since a <P b′ ⇒ c <L2 b′ ⇒ b <L2 b′

b <L1 b′ and b <L2 b′ ⇒ b <P b′, contradiction

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 14 / 75

Page 41: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Overview

Partial orders

Comparability graphs

Permutation graphs

Trapezoid graphs

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 15 / 75

Page 42: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Given a partial order P = (U,<P), the comparability graph of Pis a graph G , where:

the vertices of G are the elements of U,there is an edge in G between any two comparable elements.

Definition

A graph G is a comparability graph if it is the comparability graphof a partial order P, i.e. if we can transitively orient the edges of G .

G is a cocomparability graph if its complement G is a comparability graph,i.e. if we can transitively orient the non-edges of G .

Observation

Interval graphs are cocomparability graphs.

a

b c de

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 16 / 75

Page 43: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Given a partial order P = (U,<P), the comparability graph of Pis a graph G , where:

the vertices of G are the elements of U,there is an edge in G between any two comparable elements.

Definition

A graph G is a comparability graph if it is the comparability graphof a partial order P, i.e. if we can transitively orient the edges of G .

G is a cocomparability graph if its complement G is a comparability graph,i.e. if we can transitively orient the non-edges of G .

Observation

Interval graphs are cocomparability graphs.

a

b c de

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 16 / 75

Page 44: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Given a partial order P = (U,<P), the comparability graph of Pis a graph G , where:

the vertices of G are the elements of U,there is an edge in G between any two comparable elements.

Definition

A graph G is a comparability graph if it is the comparability graphof a partial order P, i.e. if we can transitively orient the edges of G .

G is a cocomparability graph if its complement G is a comparability graph,i.e. if we can transitively orient the non-edges of G .

Observation

Interval graphs are cocomparability graphs.

a

b c de

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 16 / 75

Page 45: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Given a partial order P = (U,<P), the comparability graph of Pis a graph G , where:

the vertices of G are the elements of U,there is an edge in G between any two comparable elements.

Definition

A graph G is a comparability graph if it is the comparability graphof a partial order P, i.e. if we can transitively orient the edges of G .

G is a cocomparability graph if its complement G is a comparability graph,i.e. if we can transitively orient the non-edges of G .

Observation

Interval graphs are cocomparability graphs.

a

b c de

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 16 / 75

Page 46: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsAn alternative definition using graph orientations

Given an undirected graph G = (V , E ), we can interpret Gas a directed graph (V , D(E )), where:

D(E ) is a set of directed arcs (instead of the edges of E ),for two vertices u, v ∈ V , uv ∈ E ⇔ 〈uv〉, 〈vu〉 ∈ D(E )(sometimes we may write E instead of D(E )).

For any subset F ⊆ D(E ):we call (V , F ) an orientation of G ,we denote by F−1 the inverse orientation of F ,where 〈uv〉 ∈ F−1 ⇔ 〈vu〉 ∈ F .we denote by F 2 = {〈uw〉 : 〈uv〉, 〈vw〉 ∈ F for some vertex v}.

(V,E) :

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 17 / 75

Page 47: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsAn alternative definition using graph orientations

Given an undirected graph G = (V , E ), we can interpret Gas a directed graph (V , D(E )), where:

D(E ) is a set of directed arcs (instead of the edges of E ),for two vertices u, v ∈ V , uv ∈ E ⇔ 〈uv〉, 〈vu〉 ∈ D(E )(sometimes we may write E instead of D(E )).

For any subset F ⊆ D(E ):we call (V , F ) an orientation of G ,we denote by F−1 the inverse orientation of F ,where 〈uv〉 ∈ F−1 ⇔ 〈vu〉 ∈ F .we denote by F 2 = {〈uw〉 : 〈uv〉, 〈vw〉 ∈ F for some vertex v}.

(V,E) : (V, F ) :

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 17 / 75

Page 48: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsAn alternative definition using graph orientations

Given an undirected graph G = (V , E ), we can interpret Gas a directed graph (V , D(E )), where:

D(E ) is a set of directed arcs (instead of the edges of E ),for two vertices u, v ∈ V , uv ∈ E ⇔ 〈uv〉, 〈vu〉 ∈ D(E )(sometimes we may write E instead of D(E )).

For any subset F ⊆ D(E ):we call (V , F ) an orientation of G ,we denote by F−1 the inverse orientation of F ,where 〈uv〉 ∈ F−1 ⇔ 〈vu〉 ∈ F .we denote by F 2 = {〈uw〉 : 〈uv〉, 〈vw〉 ∈ F for some vertex v}.

Definition

A graph G = (V , E ) is a comparability graph if there existsan orientation (V , F ) of G such that:

(i) F ∩ F−1 = ∅, (ii) F + F−1 = E , (iii) F 2 ⊆ F .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 17 / 75

Page 49: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph?a

b c

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 50: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph?a

b c

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 51: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph?a

b c

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 52: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph?a

b c

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 53: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 54: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

Is this graph a comparability graph?a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 55: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

Is this graph a comparability graph?a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 56: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

Is this graph a comparability graph?a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 57: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

Is this graph a comparability graph?a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 58: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

Is this graph a comparability graph?a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 59: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

Is this graph a comparability graph?a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 60: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsExamples

Is this graph a comparability graph? YES.a

b c

d

Is this graph a comparability graph? NO.a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 18 / 75

Page 61: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

What was common in these examples?

Some orientations were forcing some others !

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 19 / 75

Page 62: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

What was common in these examples?

Some orientations were forcing some others !

Definition

The binary relation Γ on the edges of an undirected graph G = (V , E ) is:

〈ab〉 Γ 〈a′b′〉 if and only if:

either a = a′ and bb′ /∈ E

,or b = b′ and aa′ /∈ E .

In this case we say that 〈ab〉 directly forces 〈a′b′〉.

a = a′

b b′b = b′

a a′

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 19 / 75

Page 63: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

What was common in these examples?

Some orientations were forcing some others !

Definition

The binary relation Γ on the edges of an undirected graph G = (V , E ) is:

〈ab〉 Γ 〈a′b′〉 if and only if:

either a = a′ and bb′ /∈ E ,or b = b′ and aa′ /∈ E .

In this case we say that 〈ab〉 directly forces 〈a′b′〉.

a = a′

b b′b = b′

a a′

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 19 / 75

Page 64: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

What was common in these examples?

Some orientations were forcing some others !

Definition

The binary relation Γ on the edges of an undirected graph G = (V , E ) is:

〈ab〉 Γ 〈a′b′〉 if and only if:

either a = a′ and bb′ /∈ E ,or b = b′ and aa′ /∈ E .

In this case we say that 〈ab〉 directly forces 〈a′b′〉.

a = a′

b b′b = b′

a a′

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 19 / 75

Page 65: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

What was common in these examples?

Some orientations were forcing some others !

Definition

The binary relation Γ on the edges of an undirected graph G = (V , E ) is:

〈ab〉 Γ 〈a′b′〉 if and only if:

either a = a′ and bb′ /∈ E ,or b = b′ and aa′ /∈ E .

In this case we say that 〈ab〉 directly forces 〈a′b′〉.

Note that:

Γ is symmetric: 〈ab〉 Γ 〈a′b′〉 ⇔ 〈a′b′〉 Γ 〈ab〉

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 19 / 75

Page 66: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

What was common in these examples?

Some orientations were forcing some others !

Definition

The binary relation Γ on the edges of an undirected graph G = (V , E ) is:

〈ab〉 Γ 〈a′b′〉 if and only if:

either a = a′ and bb′ /∈ E ,or b = b′ and aa′ /∈ E .

In this case we say that 〈ab〉 directly forces 〈a′b′〉.

Note that:

Γ is symmetric: 〈ab〉 Γ 〈a′b′〉 ⇔ 〈a′b′〉 Γ 〈ab〉Γ is reflexive: 〈ab〉 Γ 〈ab〉 (since aa′ /∈ E and bb′ /∈ E )

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 19 / 75

Page 67: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

What was common in these examples?

Some orientations were forcing some others !

Definition

The binary relation Γ on the edges of an undirected graph G = (V , E ) is:

〈ab〉 Γ 〈a′b′〉 if and only if:

either a = a′ and bb′ /∈ E ,or b = b′ and aa′ /∈ E .

In this case we say that 〈ab〉 directly forces 〈a′b′〉.

Note that:

Γ is symmetric: 〈ab〉 Γ 〈a′b′〉 ⇔ 〈a′b′〉 Γ 〈ab〉Γ is reflexive: 〈ab〉 Γ 〈ab〉 (since aa′ /∈ E and bb′ /∈ E )

〈ab〉 6 Γ 〈ba〉 (since a 6= b)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 19 / 75

Page 68: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

To be more useful, we need a generalization of the forcing relation Γ:

Definition

The transitive closure Γ∗ of Γ is defined as follows:

1 〈ab〉 Γ 〈a′b′〉 =⇒ 〈ab〉 Γ∗ 〈a′b′〉

2 〈ab〉 Γ∗ 〈cd〉 and 〈cd〉 Γ∗ 〈xy〉 =⇒ 〈ab〉 Γ∗ 〈xy〉 (transitivity)(apply this rule as long as possible).

The transitive closure Γ∗ is an equivalence relation, since it is:

reflexive: 〈ab〉 Γ∗ 〈ab〉,symmetric: 〈ab〉 Γ∗ 〈cd〉 ⇐⇒ 〈cd〉 Γ∗ 〈ab〉,transitive: by condition 2 of the definition of Γ∗.

=⇒ Γ∗ partitions the arcs on E into equivalence classes:

the equivalence class of 〈ab〉 is: [〈ab〉] = {〈cd〉 : 〈ab〉 Γ∗ 〈cd〉},[〈ab〉] is called the implication class of 〈ab〉.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 20 / 75

Page 69: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

To be more useful, we need a generalization of the forcing relation Γ:

Definition

The transitive closure Γ∗ of Γ is defined as follows:

1 〈ab〉 Γ 〈a′b′〉 =⇒ 〈ab〉 Γ∗ 〈a′b′〉2 〈ab〉 Γ∗ 〈cd〉 and 〈cd〉 Γ∗ 〈xy〉 =⇒ 〈ab〉 Γ∗ 〈xy〉 (transitivity)

(apply this rule as long as possible).

The transitive closure Γ∗ is an equivalence relation, since it is:

reflexive: 〈ab〉 Γ∗ 〈ab〉,symmetric: 〈ab〉 Γ∗ 〈cd〉 ⇐⇒ 〈cd〉 Γ∗ 〈ab〉,transitive: by condition 2 of the definition of Γ∗.

=⇒ Γ∗ partitions the arcs on E into equivalence classes:

the equivalence class of 〈ab〉 is: [〈ab〉] = {〈cd〉 : 〈ab〉 Γ∗ 〈cd〉},[〈ab〉] is called the implication class of 〈ab〉.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 20 / 75

Page 70: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

To be more useful, we need a generalization of the forcing relation Γ:

Definition

The transitive closure Γ∗ of Γ is defined as follows:

1 〈ab〉 Γ 〈a′b′〉 =⇒ 〈ab〉 Γ∗ 〈a′b′〉2 〈ab〉 Γ∗ 〈cd〉 and 〈cd〉 Γ∗ 〈xy〉 =⇒ 〈ab〉 Γ∗ 〈xy〉 (transitivity)

(apply this rule as long as possible).

The transitive closure Γ∗ is an equivalence relation, since it is:

reflexive: 〈ab〉 Γ∗ 〈ab〉,symmetric: 〈ab〉 Γ∗ 〈cd〉 ⇐⇒ 〈cd〉 Γ∗ 〈ab〉,transitive: by condition 2 of the definition of Γ∗.

=⇒ Γ∗ partitions the arcs on E into equivalence classes:

the equivalence class of 〈ab〉 is: [〈ab〉] = {〈cd〉 : 〈ab〉 Γ∗ 〈cd〉},[〈ab〉] is called the implication class of 〈ab〉.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 20 / 75

Page 71: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsThe forcing relation

To be more useful, we need a generalization of the forcing relation Γ:

Definition

The transitive closure Γ∗ of Γ is defined as follows:

1 〈ab〉 Γ 〈a′b′〉 =⇒ 〈ab〉 Γ∗ 〈a′b′〉2 〈ab〉 Γ∗ 〈cd〉 and 〈cd〉 Γ∗ 〈xy〉 =⇒ 〈ab〉 Γ∗ 〈xy〉 (transitivity)

(apply this rule as long as possible).

The transitive closure Γ∗ is an equivalence relation, since it is:

reflexive: 〈ab〉 Γ∗ 〈ab〉,symmetric: 〈ab〉 Γ∗ 〈cd〉 ⇐⇒ 〈cd〉 Γ∗ 〈ab〉,transitive: by condition 2 of the definition of Γ∗.

=⇒ Γ∗ partitions the arcs on E into equivalence classes:

the equivalence class of 〈ab〉 is: [〈ab〉] = {〈cd〉 : 〈ab〉 Γ∗ 〈cd〉},[〈ab〉] is called the implication class of 〈ab〉.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 20 / 75

Page 72: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

In other words:

〈ab〉 and 〈cd〉 are in the same implication class (i.e. [〈ab〉] = [〈cd〉])if and only if there exists a sequence of arcs:

〈ab〉 = 〈a0b0〉 Γ 〈a1b1〉 Γ . . . Γ 〈akbk〉 = 〈cd〉such a sequence is called a Γ-chain from 〈ab〉 to 〈cd〉in this case we say that 〈ab〉 eventually forces 〈cd〉.

Let A be an implication class. Then:

A = A∪ A−1 is the symmetric closure of A,

A corresponds to the undirected edges of the arcs in A,

A is called a color class of G .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 21 / 75

Page 73: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

In other words:

〈ab〉 and 〈cd〉 are in the same implication class (i.e. [〈ab〉] = [〈cd〉])if and only if there exists a sequence of arcs:

〈ab〉 = 〈a0b0〉 Γ 〈a1b1〉 Γ . . . Γ 〈akbk〉 = 〈cd〉such a sequence is called a Γ-chain from 〈ab〉 to 〈cd〉in this case we say that 〈ab〉 eventually forces 〈cd〉.

Let A be an implication class. Then:

A = A∪ A−1 is the symmetric closure of A,

A corresponds to the undirected edges of the arcs in A,

A is called a color class of G .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 21 / 75

Page 74: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has the following implication classes:

A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

it is a comparability graph:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 22 / 75

Page 75: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has the following implication classes:

A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}

A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

it is a comparability graph:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 22 / 75

Page 76: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has the following implication classes:

A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}

A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

it is a comparability graph:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 22 / 75

Page 77: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has the following implication classes:

A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}

A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

it is a comparability graph:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 22 / 75

Page 78: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has the following implication classes:

A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

it is a comparability graph:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 22 / 75

Page 79: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has the following implication classes:

A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

it is a comparability graph:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 22 / 75

Page 80: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has one implication class:

A = {〈ab〉, 〈cb〉, 〈cd〉, 〈cf 〉, 〈ef 〉, 〈bf 〉, 〈ba〉, 〈bc〉, 〈dc〉, 〈fc〉, 〈fe〉, 〈fb〉}This is not a comparability graph:

a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 23 / 75

Page 81: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has one implication class:

A = {〈ab〉, 〈cb〉, 〈cd〉, 〈cf 〉, 〈ef 〉, 〈bf 〉, 〈ba〉, 〈bc〉, 〈dc〉, 〈fc〉, 〈fe〉, 〈fb〉}

This is not a comparability graph:

a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 23 / 75

Page 82: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

This graph has one implication class:

A = {〈ab〉, 〈cb〉, 〈cd〉, 〈cf 〉, 〈ef 〉, 〈bf 〉, 〈ba〉, 〈bc〉, 〈dc〉, 〈fc〉, 〈fe〉, 〈fb〉}This is not a comparability graph:

a

b

c

d e

f

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 23 / 75

Page 83: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 24 / 75

Page 84: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

Proof.

(i) A ⊆ F + F−1 (since F + F−1 = E as a transitive orientation)

(ii) F ∩ F−1 = ∅ (again, since F is a transitive orientation)

Furthermore: 〈ab〉 ∈ F and 〈ab〉 Γ∗ 〈a′b′〉 ⇒ 〈a′b′〉 ∈ F .

Thus, if F ∩ A 6= ∅, then A ⊆ F , i.e.: either F ∩ A = ∅ or A ⊆ F .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 24 / 75

Page 85: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

Proof.

(i) A ⊆ F + F−1 (since F + F−1 = E as a transitive orientation)

(ii) F ∩ F−1 = ∅ (again, since F is a transitive orientation)

Furthermore: 〈ab〉 ∈ F and 〈ab〉 Γ∗ 〈a′b′〉 ⇒ 〈a′b′〉 ∈ F .

Thus, if F ∩ A 6= ∅, then A ⊆ F , i.e.: either F ∩ A = ∅ or A ⊆ F .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 24 / 75

Page 86: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

Proof.

(i) A ⊆ F + F−1 (since F + F−1 = E as a transitive orientation)

(ii) F ∩ F−1 = ∅ (again, since F is a transitive orientation)

Furthermore: 〈ab〉 ∈ F and 〈ab〉 Γ∗ 〈a′b′〉 ⇒ 〈a′b′〉 ∈ F .

Thus, if F ∩ A 6= ∅, then A ⊆ F , i.e.: either F ∩ A = ∅ or A ⊆ F .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 24 / 75

Page 87: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

Proof.

(i) A ⊆ F + F−1 (since F + F−1 = E as a transitive orientation)

(ii) F ∩ F−1 = ∅ (again, since F is a transitive orientation)

First case: F ∩ A = ∅. Then:

F ∩ A = ∅ ⇒ A ⊆ F−1 [by (i)]

⇒ A−1 ⊆ F

⇒ F ∩ A = F ∩(A∪ A−1

)= A−1

Furthermore A∩ A−1 = ∅ (since F ∩ A = ∅ and A−1 ⊆ F )

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 24 / 75

Page 88: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

Proof.

(i) A ⊆ F + F−1 (since F + F−1 = E as a transitive orientation)

(ii) F ∩ F−1 = ∅ (again, since F is a transitive orientation)

Second case: A ⊆ F . Then:

A ⊆ F ⇒ A−1 ⊆ F−1

⇒ F ∩ A−1 = ∅ [by (ii)]

⇒ F ∩ A = F ∩(A∪ A−1

)= A

Furthermore A∩ A−1 = ∅ (since A ⊆ F and F ∩ A−1 = ∅)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 24 / 75

Page 89: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

The converse of the Theorem is also valid (we will prove it):

if A∩ A−1 = ∅ for every implication class of G ,then G has a transitive orientation F ,which includes exactly one of {A, A−1} for every A.

However:

if we choose for every A an arbitrary implication class from {A, A−1},do we always obtain a transitive orientation?

NO.

Example:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 25 / 75

Page 90: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

The converse of the Theorem is also valid (we will prove it):

if A∩ A−1 = ∅ for every implication class of G ,then G has a transitive orientation F ,which includes exactly one of {A, A−1} for every A.

However:

if we choose for every A an arbitrary implication class from {A, A−1},do we always obtain a transitive orientation?

NO.

Example:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 25 / 75

Page 91: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

The converse of the Theorem is also valid (we will prove it):

if A∩ A−1 = ∅ for every implication class of G ,then G has a transitive orientation F ,which includes exactly one of {A, A−1} for every A.

However:

if we choose for every A an arbitrary implication class from {A, A−1},do we always obtain a transitive orientation?

NO.

Example:

a

b c

a

b c

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 25 / 75

Page 92: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

Let A be an implication class of G . If G has a transitive orientation F ,then either F ∩ A = A or F ∩ A = A−1. In both cases A∩ A−1 = ∅.

The converse of the Theorem is also valid (we will prove it):

if A∩ A−1 = ∅ for every implication class of G ,then G has a transitive orientation F ,which includes exactly one of {A, A−1} for every A.

However:

if we choose for every A an arbitrary implication class from {A, A−1},do we always obtain a transitive orientation?

NO.

Example:

a

b c

a

b c

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 25 / 75

Page 93: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Let 〈ab〉 Γ∗ 〈cd〉, i.e. 〈ab〉 = 〈a0b0〉 Γ 〈a1b1〉 Γ . . . Γ 〈akbk〉 = 〈cd〉

Then for each i = 1, 2, . . . , k we have:

〈ai−1bi−1〉 Γ 〈aibi−1〉 Γ 〈aibi 〉

where the middle edge is equal to one of the other two,i.e. either ai−1 = ai or bi−1 = bi .

Therefore:

Lemma (canonical Γ-chain)

If 〈ab〉 Γ∗ 〈cd〉, then there exists a Γ-chain from 〈ab〉 to 〈cd〉 of the form

〈ab〉 = 〈a0b0〉 Γ 〈a1b0〉 Γ 〈a1b1〉 Γ 〈a2b1〉 Γ . . . Γ 〈akbk〉 = 〈cd〉.

Such a chain is called a canonical Γ-chain.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 26 / 75

Page 94: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Let 〈ab〉 Γ∗ 〈cd〉, i.e. 〈ab〉 = 〈a0b0〉 Γ 〈a1b1〉 Γ . . . Γ 〈akbk〉 = 〈cd〉

Then for each i = 1, 2, . . . , k we have:

〈ai−1bi−1〉 Γ 〈aibi−1〉 Γ 〈aibi 〉

where the middle edge is equal to one of the other two,i.e. either ai−1 = ai or bi−1 = bi .

Therefore:

Lemma (canonical Γ-chain)

If 〈ab〉 Γ∗ 〈cd〉, then there exists a Γ-chain from 〈ab〉 to 〈cd〉 of the form

〈ab〉 = 〈a0b0〉 Γ 〈a1b0〉 Γ 〈a1b1〉 Γ 〈a2b1〉 Γ . . . Γ 〈akbk〉 = 〈cd〉.

Such a chain is called a canonical Γ-chain.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 26 / 75

Page 95: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

If A is an implication class of G , then exactly one of the following holds:

(i) A = A = A−1,

(ii) A∩ A−1 = ∅, A and A−1 are transitive, and they are the onlytransitive orientations of A.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 27 / 75

Page 96: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

If A is an implication class of G , then exactly one of the following holds:

(i) A = A = A−1,

(ii) A∩ A−1 = ∅, A and A−1 are transitive, and they are the onlytransitive orientations of A.

Proof.

(i) Assume A∩ A−1 6= ∅.

Let 〈ab〉 ∈ A∩ A−1 ⇒ 〈ba〉 ∈ A∩ A−1 ⇒ 〈ab〉 Γ∗ 〈ba〉.For every 〈cd〉 ∈ A, we have 〈cd〉 Γ∗ 〈ab〉 and 〈dc〉 Γ∗ 〈ba〉Thus, since Γ∗ is an equivalence relation and 〈ab〉 Γ∗ 〈ba〉:〈cd〉 Γ∗ 〈dc〉 ⇒ 〈dc〉 ∈ A.

Therefore A = A−1 ⇒ A = A = A−1.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 27 / 75

Page 97: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

If A is an implication class of G , then exactly one of the following holds:

(i) A = A = A−1,

(ii) A∩ A−1 = ∅, A and A−1 are transitive, and they are the onlytransitive orientations of A.

Proof.

(ii) Assume A∩ A−1 = ∅, and let 〈ab〉, 〈bc〉 ∈ A.

If ac /∈ E , then 〈ab〉 Γ∗ 〈cb〉 ⇒ 〈cb〉 ∈ A ⇒ 〈bc〉 ∈ A−1,which is a contradiction since 〈bc〉 ∈ A by assumption.Therefore ac ∈ E .

We will show that 〈ac〉 ∈ A, i.e. that A is transitive.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 28 / 75

Page 98: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Theorem

If A is an implication class of G , then exactly one of the following holds:

(i) A = A = A−1,

(ii) A∩ A−1 = ∅, A and A−1 are transitive, and they are the onlytransitive orientations of A.

Proof.

(ii) Assume A∩ A−1 = ∅, and let 〈ab〉, 〈bc〉 ∈ A.

If ac /∈ E , then 〈ab〉 Γ∗ 〈cb〉 ⇒ 〈cb〉 ∈ A ⇒ 〈bc〉 ∈ A−1,which is a contradiction since 〈bc〉 ∈ A by assumption.Therefore ac ∈ E .

We will show that 〈ac〉 ∈ A, i.e. that A is transitive.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 28 / 75

Page 99: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

(ii) Assume A∩ A−1 = ∅, and let 〈ab〉, 〈bc〉 ∈ A. Then ac ∈ E .

Assume that 〈ac〉 ∈ B, where B 6= A.

Since 〈bc〉, 〈ab〉 ∈ A:

〈bc〉 = 〈b0c0〉 Γ 〈b1c0〉 Γ 〈b1c1〉 Γ 〈b2c1〉 Γ . . . Γ 〈bkck〉 = 〈ab〉We prove (by induction on i) that for every i = 0, 1, . . . , k :

a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction basis (i = 0): true, since b0 = b and c0 = c .

a

b0 = b

A

A

B

c = c0b c

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 29 / 75

Page 100: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

(ii) Assume A∩ A−1 = ∅, and let 〈ab〉, 〈bc〉 ∈ A. Then ac ∈ E .

Assume that 〈ac〉 ∈ B, where B 6= A. Since 〈bc〉, 〈ab〉 ∈ A:

〈bc〉 = 〈b0c0〉 Γ 〈b1c0〉 Γ 〈b1c1〉 Γ 〈b2c1〉 Γ . . . Γ 〈bkck〉 = 〈ab〉

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction basis (i = 0): true, since b0 = b and c0 = c .

a

b0 = b

A

A

B

c = c0

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 29 / 75

Page 101: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

(ii) Assume A∩ A−1 = ∅, and let 〈ab〉, 〈bc〉 ∈ A. Then ac ∈ E .

Assume that 〈ac〉 ∈ B, where B 6= A. Since 〈bc〉, 〈ab〉 ∈ A:

〈bc〉 = 〈b0c0〉 Γ 〈b1c0〉 Γ 〈b1c1〉 Γ 〈b2c1〉 Γ . . . Γ 〈bkck〉 = 〈ab〉We prove (by induction on i) that for every i = 0, 1, . . . , k :

a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction basis (i = 0): true, since b0 = b and c0 = c .

a

b0 = b

A

A

B

c = c0

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 29 / 75

Page 102: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(i) To prove that a 6= bi , abi ∈ E and 〈abi 〉 ∈ A:

Since 〈aci−1〉 ∈ B and 〈bici−1〉 ∈ A ⇒ a 6= bi .

If abi /∈ E ⇒ 〈aci−1〉 Γ 〈bici−1〉⇒ A = B, contradiction.Therefore abi ∈ E

Since bi−1bi /∈ E ⇒ 〈abi−1〉 Γ 〈abi 〉 ⇒⇒ 〈abi 〉 ∈ A

a

A

A

B

bi−1 ci−1

bi

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 30 / 75

Page 103: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(i) To prove that a 6= bi , abi ∈ E and 〈abi 〉 ∈ A:

Since 〈aci−1〉 ∈ B and 〈bici−1〉 ∈ A ⇒ a 6= bi .

If abi /∈ E ⇒ 〈aci−1〉 Γ 〈bici−1〉⇒ A = B, contradiction.Therefore abi ∈ E

Since bi−1bi /∈ E ⇒ 〈abi−1〉 Γ 〈abi 〉 ⇒⇒ 〈abi 〉 ∈ A

a

A

A

B

bi−1 ci−1

A

bi

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 30 / 75

Page 104: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(i) To prove that a 6= bi , abi ∈ E and 〈abi 〉 ∈ A:

Since 〈aci−1〉 ∈ B and 〈bici−1〉 ∈ A ⇒ a 6= bi .

If abi /∈ E ⇒ 〈aci−1〉 Γ 〈bici−1〉⇒ A = B, contradiction.

Therefore abi ∈ E

Since bi−1bi /∈ E ⇒ 〈abi−1〉 Γ 〈abi 〉 ⇒⇒ 〈abi 〉 ∈ A

a

A

A

B

bi−1 ci−1

A

bi

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 30 / 75

Page 105: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(i) To prove that a 6= bi , abi ∈ E and 〈abi 〉 ∈ A:

Since 〈aci−1〉 ∈ B and 〈bici−1〉 ∈ A ⇒ a 6= bi .

If abi /∈ E ⇒ 〈aci−1〉 Γ 〈bici−1〉⇒ A = B, contradiction.Therefore abi ∈ E

Since bi−1bi /∈ E ⇒ 〈abi−1〉 Γ 〈abi 〉 ⇒⇒ 〈abi 〉 ∈ A

a

A

A

B

bi−1 ci−1

A

bi

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 30 / 75

Page 106: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(i) To prove that a 6= bi , abi ∈ E and 〈abi 〉 ∈ A:

Since 〈aci−1〉 ∈ B and 〈bici−1〉 ∈ A ⇒ a 6= bi .

If abi /∈ E ⇒ 〈aci−1〉 Γ 〈bici−1〉⇒ A = B, contradiction.Therefore abi ∈ E

Since bi−1bi /∈ E ⇒ 〈abi−1〉 Γ 〈abi 〉 ⇒⇒ 〈abi 〉 ∈ A

a

A

A

B

bi−1 ci−1

A

A

bi

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 30 / 75

Page 107: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(ii) To prove that aci ∈ E and 〈aci 〉 ∈ B:

If aci /∈ E ⇒ 〈bici 〉 Γ 〈bia〉⇒ A = A−1, contradiction.Therefore aci ∈ E

Since ci−1ci /∈ E ⇒ 〈aci−1〉 Γ 〈aci 〉 ⇒⇒ 〈aci 〉 ∈ B

a

A

A

B

ci−1bi

ci

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 31 / 75

Page 108: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(ii) To prove that aci ∈ E and 〈aci 〉 ∈ B:

If aci /∈ E ⇒ 〈bici 〉 Γ 〈bia〉⇒ A = A−1, contradiction.

Therefore aci ∈ E

Since ci−1ci /∈ E ⇒ 〈aci−1〉 Γ 〈aci 〉 ⇒⇒ 〈aci 〉 ∈ B

a

A

A

B

ci−1bi

A

ci

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 31 / 75

Page 109: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(ii) To prove that aci ∈ E and 〈aci 〉 ∈ B:

If aci /∈ E ⇒ 〈bici 〉 Γ 〈bia〉⇒ A = A−1, contradiction.Therefore aci ∈ E

Since ci−1ci /∈ E ⇒ 〈aci−1〉 Γ 〈aci 〉 ⇒⇒ 〈aci 〉 ∈ B

a

A

A

B

ci−1bi

A

ci

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 31 / 75

Page 110: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

We prove (by induction on i) that for every i = 0, 1, . . . , k :a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

Induction hypothesis:assume that a 6= bi−1, abi−1, aci−1 ∈ E , 〈abi−1〉 ∈ A, 〈aci−1〉 ∈ B.

(ii) To prove that aci ∈ E and 〈aci 〉 ∈ B:

If aci /∈ E ⇒ 〈bici 〉 Γ 〈bia〉⇒ A = A−1, contradiction.Therefore aci ∈ E

Since ci−1ci /∈ E ⇒ 〈aci−1〉 Γ 〈aci 〉 ⇒⇒ 〈aci 〉 ∈ B

a

A

A

B

ci−1bi

A

B

ci

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 31 / 75

Page 111: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

Summarizing:

〈bc〉 = 〈b0c0〉 Γ 〈b1c0〉 Γ 〈b1c1〉 Γ 〈b2c1〉 Γ . . . Γ 〈bkck〉 = 〈ab〉for every i = 0, 1, . . . , k:

a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

This is a contradiction, since 〈bkck〉 = 〈ab〉 and a 6= bk .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 31 / 75

Page 112: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsImplication classes

Proof.

Summarizing:

〈bc〉 = 〈b0c0〉 Γ 〈b1c0〉 Γ 〈b1c1〉 Γ 〈b2c1〉 Γ . . . Γ 〈bkck〉 = 〈ab〉for every i = 0, 1, . . . , k:

a 6= bi , abi , aci ∈ E , and 〈abi 〉 ∈ A, 〈aci 〉 ∈ B

This is a contradiction, since 〈bkck〉 = 〈ab〉 and a 6= bk .

Corollary

Every color class A of a graph G :

either has exactly two transitive orientations A and A−1,one being the reversal of the other (case A∩ A−1 = ∅),

or has no transitive orientation (case A = A = A−1)(in this case G is not a comparability graph).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 31 / 75

Page 113: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

So far we studied transitive orientations, forcing, implication classes.

How can we decide whether a graph G is a comparability graph?

We need some extra notions:

Definition

Let G = (V , E ) be a graph. A partition E = B1 + B2 + . . . + Bk

of the edges is a G -decomposition of E if for every i = 1, 2, . . . , k:

Bi is an implication class of Bi + Bi+1 + . . . + Bk .

A sequence of arcs [〈x1y1〉, . . . , 〈xkyk〉] is a decomposition scheme for Gif there exists a G -decomposition E = B1 + B2 + . . . + Bk such that:

〈xiyi 〉 ∈ Bi , for every i = 1, 2, . . . , k.

For any G -decomposition: many decomposition schemes(any representative for each Bi )

For any decomposition scheme: exactly one G -decomposition

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 32 / 75

Page 114: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

So far we studied transitive orientations, forcing, implication classes.

How can we decide whether a graph G is a comparability graph?

We need some extra notions:

Definition

Let G = (V , E ) be a graph. A partition E = B1 + B2 + . . . + Bk

of the edges is a G -decomposition of E if for every i = 1, 2, . . . , k:

Bi is an implication class of Bi + Bi+1 + . . . + Bk .

A sequence of arcs [〈x1y1〉, . . . , 〈xkyk〉] is a decomposition scheme for Gif there exists a G -decomposition E = B1 + B2 + . . . + Bk such that:

〈xiyi 〉 ∈ Bi , for every i = 1, 2, . . . , k.

For any G -decomposition: many decomposition schemes(any representative for each Bi )

For any decomposition scheme: exactly one G -decomposition

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 32 / 75

Page 115: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

So far we studied transitive orientations, forcing, implication classes.

How can we decide whether a graph G is a comparability graph?

We need some extra notions:

Definition

Let G = (V , E ) be a graph. A partition E = B1 + B2 + . . . + Bk

of the edges is a G -decomposition of E if for every i = 1, 2, . . . , k:

Bi is an implication class of Bi + Bi+1 + . . . + Bk .

A sequence of arcs [〈x1y1〉, . . . , 〈xkyk〉] is a decomposition scheme for Gif there exists a G -decomposition E = B1 + B2 + . . . + Bk such that:

〈xiyi 〉 ∈ Bi , for every i = 1, 2, . . . , k.

For any G -decomposition: many decomposition schemes(any representative for each Bi )

For any decomposition scheme: exactly one G -decomposition

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 32 / 75

Page 116: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

So far we studied transitive orientations, forcing, implication classes.

How can we decide whether a graph G is a comparability graph?

We need some extra notions:

Definition

Let G = (V , E ) be a graph. A partition E = B1 + B2 + . . . + Bk

of the edges is a G -decomposition of E if for every i = 1, 2, . . . , k:

Bi is an implication class of Bi + Bi+1 + . . . + Bk .

A sequence of arcs [〈x1y1〉, . . . , 〈xkyk〉] is a decomposition scheme for Gif there exists a G -decomposition E = B1 + B2 + . . . + Bk such that:

〈xiyi 〉 ∈ Bi , for every i = 1, 2, . . . , k.

For any G -decomposition: many decomposition schemes(any representative for each Bi )

For any decomposition scheme: exactly one G -decomposition

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 32 / 75

Page 117: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

How to find a G -decomposition?

Decomposition Algorithm

1 i ← 1; E1 ← E

2 While Ei 6= ∅:

3 Arbitrarily pick an edge xiyi ∈ Ei

4 Enumerate the implication class Bi of Ei that contains 〈xiyi 〉5 Ei+1 ← Ei − Bi ; i ← i + 1

Do all graphs have a G -decomposition?

YES: the algorithm returns a scheme [〈x1y1〉, 〈x2y2〉, . . . , 〈xkyk〉]and a G -decomposition E = B1 + B2 + . . . + Bk for any graph G .

If we choose 〈yixi 〉 instead of 〈xiyi 〉 for some i=⇒ we include B−1i instead of Bi in the G -decomposition.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 33 / 75

Page 118: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

How to find a G -decomposition?

Decomposition Algorithm

1 i ← 1; E1 ← E

2 While Ei 6= ∅:

3 Arbitrarily pick an edge xiyi ∈ Ei

4 Enumerate the implication class Bi of Ei that contains 〈xiyi 〉5 Ei+1 ← Ei − Bi ; i ← i + 1

Do all graphs have a G -decomposition?

YES: the algorithm returns a scheme [〈x1y1〉, 〈x2y2〉, . . . , 〈xkyk〉]and a G -decomposition E = B1 + B2 + . . . + Bk for any graph G .

If we choose 〈yixi 〉 instead of 〈xiyi 〉 for some i=⇒ we include B−1i instead of Bi in the G -decomposition.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 33 / 75

Page 119: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

Recall our previous example:(with eight implication classes A ←→ four color classes A)

A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}a

b

c d e

it is a comparability graph:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 120: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

The Decomposition Algorithm:

a

b

c e

(V,Ei)i 〈xiyi〉 (V,Bi)

i = 1 〈ac〉

a

b

c d e

a

b

c d e

a

b

c d ei = 2 〈bc〉

a

b

c d e

a

b

c d ei = 3 〈dc〉

=

E B2 B3B1

+ +

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 121: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

The Decomposition Algorithm:

a

b

c e

(V,Ei)i 〈xiyi〉 (V,Bi)

i = 1 〈ac〉

a

b

c d e

a

b

c d e

a

b

c d ei = 2 〈bc〉

a

b

c d e

a

b

c d ei = 3 〈dc〉

=

E B2 B3B1

+ +

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 122: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

The Decomposition Algorithm:

a

b

c e

(V,Ei)i 〈xiyi〉 (V,Bi)

i = 1 〈ac〉

a

b

c d e

a

b

c d e

a

b

c d ei = 2 〈bc〉

a

b

c d e

a

b

c d ei = 3 〈dc〉

=

E B2 B3B1

+ +

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 123: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

The Decomposition Algorithm:

a

b

c e

(V,Ei)i 〈xiyi〉 (V,Bi)

i = 1 〈ac〉

a

b

c d e

a

b

c d e

a

b

c d ei = 2 〈bc〉

a

b

c d e

a

b

c d ei = 3 〈dc〉

=

E B2 B3B1

+ +

d

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 124: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

The Decomposition Algorithm:

decomposition scheme: [〈ac〉, 〈bc〉, 〈dc〉]G -decomposition: B1 = A1, B2 = A2 + A−13 , B3 = A−14

Note that:

Although 〈ba〉 and 〈bc〉 are not Γ-related in the original graph:〈ba〉 Γ 〈bc〉 once B1 is removed from G .

In general: each implication class of Ei+1

is the union of some implication classes of Ei .

———————————————————————————————A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 125: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

The Decomposition Algorithm:

decomposition scheme: [〈ac〉, 〈bc〉, 〈dc〉]G -decomposition: B1 = A1, B2 = A2 + A−13 , B3 = A−14

Note that:

Although 〈ba〉 and 〈bc〉 are not Γ-related in the original graph:〈ba〉 Γ 〈bc〉 once B1 is removed from G .

In general: each implication class of Ei+1

is the union of some implication classes of Ei .

———————————————————————————————A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 126: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsA transitive orientation algorithm

The Decomposition Algorithm:

decomposition scheme: [〈ac〉, 〈bc〉, 〈dc〉]G -decomposition: B1 = A1, B2 = A2 + A−13 , B3 = A−14

Note that:

Although 〈ba〉 and 〈bc〉 are not Γ-related in the original graph:〈ba〉 Γ 〈bc〉 once B1 is removed from G .

In general: each implication class of Ei+1

is the union of some implication classes of Ei .

———————————————————————————————A1 = {〈ad〉, 〈ac〉, 〈ae〉} A−11 = {〈da〉, 〈ca〉, 〈ea〉}A2 = {〈bc〉, 〈bd〉, 〈be〉} A−12 = {〈cb〉, 〈db〉, 〈eb〉}A3 = {〈ab〉} A−13 = {〈ba〉}A4 = {〈cd〉} A−14 = {〈dc〉}

a

b

c d e

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 34 / 75

Page 127: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Theorem (Transitive Orientation Theorem)

Let E = B1 + B2 + . . . + Bk be a G -decomposition of a graph G = (V , E ).The following statements are equivalent:

(i) G is a comparability graph,

(ii) A∩ A−1 = ∅, for every implication class A of G ,

(iii) Bi ∩ B−1i = ∅, for every i = 1, 2, . . . , k.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 35 / 75

Page 128: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Theorem (Transitive Orientation Theorem)

Let E = B1 + B2 + . . . + Bk be a G -decomposition of a graph G = (V , E ).The following statements are equivalent:

(i) G is a comparability graph,

(ii) A∩ A−1 = ∅, for every implication class A of G ,

(iii) Bi ∩ B−1i = ∅, for every i = 1, 2, . . . , k.

Proof.

(i) ⇒ (ii): it follows by the first theorem.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 35 / 75

Page 129: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Theorem (Transitive Orientation Theorem)

Let E = B1 + B2 + . . . + Bk be a G -decomposition of a graph G = (V , E ).The following statements are equivalent:

(i) G is a comparability graph,

(ii) A∩ A−1 = ∅, for every implication class A of G ,

(iii) Bi ∩ B−1i = ∅, for every i = 1, 2, . . . , k.

Proof.

(ii) ⇒ (iii):

Let E1 = E .

For i ≥ 2 let Ei = Bi + Bi+1 + . . . + Bk .

It suffices to prove by induction on i that:for every implication class Ci of Ei , we have Ci ∩ C−1i = ∅.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 35 / 75

Page 130: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Induction basis (i = 1): it follows by (ii), since E1 = E .

Induction hypothesis (i ≥ 1):for every implication class Ci of Ei , we have Ci ∩ C−1i = ∅Bi is an implication class of Ei (by the Decomposition Algorithm)

Let Ci+1 be an implication class of Ei+1 = Ei − Bi

If Ci+1 is an implication class of Ei ⇒ Ci+1 ∩C−1i+1 = ∅ (by ind. hyp.)

Otherwise Ci+1 = D1 + D2 + . . . + Dx , where D1, D2, . . . , Dx , x ≥ 2,are disjoint implication classes of Ei .

By induction hypothesis: Dj ∩D−1j = ∅, 1 ≤ j ≤ x . Thus:

Ci+1 ∩ C−1i+1 = (D1 + D2 + . . . + Dx ) ∩ (D−11 + D−12 + . . . + D−1x )

= ∑n

j ,`=1(Dj ∩D−1` )

= (D1 ∩D−11 ) + . . . + (Dx ∩D−1x ) = ∅

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 36 / 75

Page 131: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Induction basis (i = 1): it follows by (ii), since E1 = E .

Induction hypothesis (i ≥ 1):for every implication class Ci of Ei , we have Ci ∩ C−1i = ∅Bi is an implication class of Ei (by the Decomposition Algorithm)

Let Ci+1 be an implication class of Ei+1 = Ei − Bi

If Ci+1 is an implication class of Ei ⇒ Ci+1 ∩C−1i+1 = ∅ (by ind. hyp.)

Otherwise Ci+1 = D1 + D2 + . . . + Dx , where D1, D2, . . . , Dx , x ≥ 2,are disjoint implication classes of Ei .

By induction hypothesis: Dj ∩D−1j = ∅, 1 ≤ j ≤ x . Thus:

Ci+1 ∩ C−1i+1 = (D1 + D2 + . . . + Dx ) ∩ (D−11 + D−12 + . . . + D−1x )

= ∑n

j ,`=1(Dj ∩D−1` )

= (D1 ∩D−11 ) + . . . + (Dx ∩D−1x ) = ∅

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 36 / 75

Page 132: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Induction basis (i = 1): it follows by (ii), since E1 = E .

Induction hypothesis (i ≥ 1):for every implication class Ci of Ei , we have Ci ∩ C−1i = ∅Bi is an implication class of Ei (by the Decomposition Algorithm)

Let Ci+1 be an implication class of Ei+1 = Ei − Bi

If Ci+1 is an implication class of Ei ⇒ Ci+1 ∩C−1i+1 = ∅ (by ind. hyp.)

Otherwise Ci+1 = D1 + D2 + . . . + Dx , where D1, D2, . . . , Dx , x ≥ 2,are disjoint implication classes of Ei .

By induction hypothesis: Dj ∩D−1j = ∅, 1 ≤ j ≤ x . Thus:

Ci+1 ∩ C−1i+1 = (D1 + D2 + . . . + Dx ) ∩ (D−11 + D−12 + . . . + D−1x )

= ∑n

j ,`=1(Dj ∩D−1` )

= (D1 ∩D−11 ) + . . . + (Dx ∩D−1x ) = ∅

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 36 / 75

Page 133: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Induction basis (i = 1): it follows by (ii), since E1 = E .

Induction hypothesis (i ≥ 1):for every implication class Ci of Ei , we have Ci ∩ C−1i = ∅Bi is an implication class of Ei (by the Decomposition Algorithm)

Let Ci+1 be an implication class of Ei+1 = Ei − Bi

If Ci+1 is an implication class of Ei ⇒ Ci+1 ∩C−1i+1 = ∅ (by ind. hyp.)

Otherwise Ci+1 = D1 + D2 + . . . + Dx , where D1, D2, . . . , Dx , x ≥ 2,are disjoint implication classes of Ei .

By induction hypothesis: Dj ∩D−1j = ∅, 1 ≤ j ≤ x . Thus:

Ci+1 ∩ C−1i+1 = (D1 + D2 + . . . + Dx ) ∩ (D−11 + D−12 + . . . + D−1x )

= ∑n

j ,`=1(Dj ∩D−1` )

= (D1 ∩D−11 ) + . . . + (Dx ∩D−1x ) = ∅

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 36 / 75

Page 134: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Induction basis (i = 1): it follows by (ii), since E1 = E .

Induction hypothesis (i ≥ 1):for every implication class Ci of Ei , we have Ci ∩ C−1i = ∅Bi is an implication class of Ei (by the Decomposition Algorithm)

Let Ci+1 be an implication class of Ei+1 = Ei − Bi

If Ci+1 is an implication class of Ei ⇒ Ci+1 ∩C−1i+1 = ∅ (by ind. hyp.)

Otherwise Ci+1 = D1 + D2 + . . . + Dx , where D1, D2, . . . , Dx , x ≥ 2,are disjoint implication classes of Ei .

By induction hypothesis: Dj ∩D−1j = ∅, 1 ≤ j ≤ x . Thus:

Ci+1 ∩ C−1i+1 = (D1 + D2 + . . . + Dx ) ∩ (D−11 + D−12 + . . . + D−1x )

= ∑n

j ,`=1(Dj ∩D−1` )

= (D1 ∩D−11 ) + . . . + (Dx ∩D−1x ) = ∅

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 36 / 75

Page 135: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

(iii) ⇒ (i):

Let E = B1 + B2 + . . . + Bk be a G -decomposition of E ,where Bi ∩ B−1i = ∅ for every i = 1, 2, . . . , k⇒ in particular, B1 is transitive (by the previous theorem)

We prove that B1 + B2 + . . . + Bk is a transitive orientation of G

Proof by induction on the length k of the G -decomposition.

Induction basis (k = 1):if E = Bi ⇒ B1 is clearly a transitive orientation of G

Induction hypothesis: the statement is true for all G -decompositionsof graphs of length ≤ k − 1

⇒ F = B2 + . . . + Bk is a transitive orientation of E − B1

We will show that B1 + F is transitive

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 37 / 75

Page 136: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

(iii) ⇒ (i):

Let E = B1 + B2 + . . . + Bk be a G -decomposition of E ,where Bi ∩ B−1i = ∅ for every i = 1, 2, . . . , k⇒ in particular, B1 is transitive (by the previous theorem)

We prove that B1 + B2 + . . . + Bk is a transitive orientation of G

Proof by induction on the length k of the G -decomposition.

Induction basis (k = 1):if E = Bi ⇒ B1 is clearly a transitive orientation of G

Induction hypothesis: the statement is true for all G -decompositionsof graphs of length ≤ k − 1

⇒ F = B2 + . . . + Bk is a transitive orientation of E − B1

We will show that B1 + F is transitive

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 37 / 75

Page 137: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

(iii) ⇒ (i):

Let E = B1 + B2 + . . . + Bk be a G -decomposition of E ,where Bi ∩ B−1i = ∅ for every i = 1, 2, . . . , k⇒ in particular, B1 is transitive (by the previous theorem)

We prove that B1 + B2 + . . . + Bk is a transitive orientation of G

Proof by induction on the length k of the G -decomposition.

Induction basis (k = 1):if E = Bi ⇒ B1 is clearly a transitive orientation of G

Induction hypothesis: the statement is true for all G -decompositionsof graphs of length ≤ k − 1

⇒ F = B2 + . . . + Bk is a transitive orientation of E − B1

We will show that B1 + F is transitive

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 37 / 75

Page 138: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Let 〈ab〉, 〈bc〉 ∈ B1 + F

For transitivity of B1 + F we need to prove that: 〈ac〉 ∈ B1 + F

Case 1: 〈ab〉, 〈bc〉 ∈ B1 ⇒ 〈ac〉 ∈ B1 ⊆ B1 + F (B1 is transitive)

Case 2: 〈ab〉, 〈bc〉 ∈ F ⇒ 〈ac〉 ∈ F ⊆ B1 + F (F is transitive)

Case 3: 〈ab〉 ∈ B1 and 〈bc〉 ∈ F

If ac /∈ E ⇒ 〈ab〉 Γ 〈cb〉 ⇒ B1 ∩ F 6= ∅, contradiction ⇒ ac ∈ E

Assume that 〈ac〉 /∈ B1 + F ⇒ 〈ca〉 ∈ B1 + F . Then:

assume that 〈ca〉 ∈ B1. Since also 〈ab〉 ∈ B1 ⇒ 〈cb〉 ∈ B1,(contradiction, since 〈bc〉 ∈ F in Case 3)

assume that 〈ca〉 ∈ F . Since also 〈bc〉 ∈ F ⇒ 〈ba〉 ∈ F ,(contradiction, since 〈ab〉 ∈ B1 in Case 3)

Case 4: 〈ab〉 ∈ F and 〈bc〉 ∈ B1: symmetric to Case 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 38 / 75

Page 139: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Let 〈ab〉, 〈bc〉 ∈ B1 + F

For transitivity of B1 + F we need to prove that: 〈ac〉 ∈ B1 + F

Case 1: 〈ab〉, 〈bc〉 ∈ B1 ⇒ 〈ac〉 ∈ B1 ⊆ B1 + F (B1 is transitive)

Case 2: 〈ab〉, 〈bc〉 ∈ F ⇒ 〈ac〉 ∈ F ⊆ B1 + F (F is transitive)

Case 3: 〈ab〉 ∈ B1 and 〈bc〉 ∈ F

If ac /∈ E ⇒ 〈ab〉 Γ 〈cb〉 ⇒ B1 ∩ F 6= ∅, contradiction ⇒ ac ∈ E

Assume that 〈ac〉 /∈ B1 + F ⇒ 〈ca〉 ∈ B1 + F . Then:

assume that 〈ca〉 ∈ B1. Since also 〈ab〉 ∈ B1 ⇒ 〈cb〉 ∈ B1,(contradiction, since 〈bc〉 ∈ F in Case 3)

assume that 〈ca〉 ∈ F . Since also 〈bc〉 ∈ F ⇒ 〈ba〉 ∈ F ,(contradiction, since 〈ab〉 ∈ B1 in Case 3)

Case 4: 〈ab〉 ∈ F and 〈bc〉 ∈ B1: symmetric to Case 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 38 / 75

Page 140: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Let 〈ab〉, 〈bc〉 ∈ B1 + F

For transitivity of B1 + F we need to prove that: 〈ac〉 ∈ B1 + F

Case 1: 〈ab〉, 〈bc〉 ∈ B1 ⇒ 〈ac〉 ∈ B1 ⊆ B1 + F (B1 is transitive)

Case 2: 〈ab〉, 〈bc〉 ∈ F ⇒ 〈ac〉 ∈ F ⊆ B1 + F (F is transitive)

Case 3: 〈ab〉 ∈ B1 and 〈bc〉 ∈ F

If ac /∈ E ⇒ 〈ab〉 Γ 〈cb〉 ⇒ B1 ∩ F 6= ∅, contradiction ⇒ ac ∈ E

Assume that 〈ac〉 /∈ B1 + F ⇒ 〈ca〉 ∈ B1 + F . Then:

assume that 〈ca〉 ∈ B1. Since also 〈ab〉 ∈ B1 ⇒ 〈cb〉 ∈ B1,(contradiction, since 〈bc〉 ∈ F in Case 3)

assume that 〈ca〉 ∈ F . Since also 〈bc〉 ∈ F ⇒ 〈ba〉 ∈ F ,(contradiction, since 〈ab〉 ∈ B1 in Case 3)

Case 4: 〈ab〉 ∈ F and 〈bc〉 ∈ B1: symmetric to Case 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 38 / 75

Page 141: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Let 〈ab〉, 〈bc〉 ∈ B1 + F

For transitivity of B1 + F we need to prove that: 〈ac〉 ∈ B1 + F

Case 1: 〈ab〉, 〈bc〉 ∈ B1 ⇒ 〈ac〉 ∈ B1 ⊆ B1 + F (B1 is transitive)

Case 2: 〈ab〉, 〈bc〉 ∈ F ⇒ 〈ac〉 ∈ F ⊆ B1 + F (F is transitive)

Case 3: 〈ab〉 ∈ B1 and 〈bc〉 ∈ F

If ac /∈ E ⇒ 〈ab〉 Γ 〈cb〉 ⇒ B1 ∩ F 6= ∅, contradiction ⇒ ac ∈ E

Assume that 〈ac〉 /∈ B1 + F ⇒ 〈ca〉 ∈ B1 + F . Then:

assume that 〈ca〉 ∈ B1. Since also 〈ab〉 ∈ B1 ⇒ 〈cb〉 ∈ B1,(contradiction, since 〈bc〉 ∈ F in Case 3)

assume that 〈ca〉 ∈ F . Since also 〈bc〉 ∈ F ⇒ 〈ba〉 ∈ F ,(contradiction, since 〈ab〉 ∈ B1 in Case 3)

Case 4: 〈ab〉 ∈ F and 〈bc〉 ∈ B1: symmetric to Case 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 38 / 75

Page 142: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Let 〈ab〉, 〈bc〉 ∈ B1 + F

For transitivity of B1 + F we need to prove that: 〈ac〉 ∈ B1 + F

Case 1: 〈ab〉, 〈bc〉 ∈ B1 ⇒ 〈ac〉 ∈ B1 ⊆ B1 + F (B1 is transitive)

Case 2: 〈ab〉, 〈bc〉 ∈ F ⇒ 〈ac〉 ∈ F ⊆ B1 + F (F is transitive)

Case 3: 〈ab〉 ∈ B1 and 〈bc〉 ∈ F

If ac /∈ E ⇒ 〈ab〉 Γ 〈cb〉 ⇒ B1 ∩ F 6= ∅, contradiction ⇒ ac ∈ E

Assume that 〈ac〉 /∈ B1 + F ⇒ 〈ca〉 ∈ B1 + F . Then:

assume that 〈ca〉 ∈ B1. Since also 〈ab〉 ∈ B1 ⇒ 〈cb〉 ∈ B1,(contradiction, since 〈bc〉 ∈ F in Case 3)

assume that 〈ca〉 ∈ F . Since also 〈bc〉 ∈ F ⇒ 〈ba〉 ∈ F ,(contradiction, since 〈ab〉 ∈ B1 in Case 3)

Case 4: 〈ab〉 ∈ F and 〈bc〉 ∈ B1: symmetric to Case 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 38 / 75

Page 143: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Let 〈ab〉, 〈bc〉 ∈ B1 + F

For transitivity of B1 + F we need to prove that: 〈ac〉 ∈ B1 + F

Case 1: 〈ab〉, 〈bc〉 ∈ B1 ⇒ 〈ac〉 ∈ B1 ⊆ B1 + F (B1 is transitive)

Case 2: 〈ab〉, 〈bc〉 ∈ F ⇒ 〈ac〉 ∈ F ⊆ B1 + F (F is transitive)

Case 3: 〈ab〉 ∈ B1 and 〈bc〉 ∈ F

If ac /∈ E ⇒ 〈ab〉 Γ 〈cb〉 ⇒ B1 ∩ F 6= ∅, contradiction ⇒ ac ∈ E

Assume that 〈ac〉 /∈ B1 + F ⇒ 〈ca〉 ∈ B1 + F . Then:

assume that 〈ca〉 ∈ B1. Since also 〈ab〉 ∈ B1 ⇒ 〈cb〉 ∈ B1,(contradiction, since 〈bc〉 ∈ F in Case 3)

assume that 〈ca〉 ∈ F . Since also 〈bc〉 ∈ F ⇒ 〈ba〉 ∈ F ,(contradiction, since 〈ab〉 ∈ B1 in Case 3)

Case 4: 〈ab〉 ∈ F and 〈bc〉 ∈ B1: symmetric to Case 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 38 / 75

Page 144: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Proof.

Let 〈ab〉, 〈bc〉 ∈ B1 + F

For transitivity of B1 + F we need to prove that: 〈ac〉 ∈ B1 + F

Case 1: 〈ab〉, 〈bc〉 ∈ B1 ⇒ 〈ac〉 ∈ B1 ⊆ B1 + F (B1 is transitive)

Case 2: 〈ab〉, 〈bc〉 ∈ F ⇒ 〈ac〉 ∈ F ⊆ B1 + F (F is transitive)

Case 3: 〈ab〉 ∈ B1 and 〈bc〉 ∈ F

If ac /∈ E ⇒ 〈ab〉 Γ 〈cb〉 ⇒ B1 ∩ F 6= ∅, contradiction ⇒ ac ∈ E

Assume that 〈ac〉 /∈ B1 + F ⇒ 〈ca〉 ∈ B1 + F . Then:

assume that 〈ca〉 ∈ B1. Since also 〈ab〉 ∈ B1 ⇒ 〈cb〉 ∈ B1,(contradiction, since 〈bc〉 ∈ F in Case 3)

assume that 〈ca〉 ∈ F . Since also 〈bc〉 ∈ F ⇒ 〈ba〉 ∈ F ,(contradiction, since 〈ab〉 ∈ B1 in Case 3)

Case 4: 〈ab〉 ∈ F and 〈bc〉 ∈ B1: symmetric to Case 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 38 / 75

Page 145: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

The Transitive Orientation Theorem implies the next algorithm:

Transitive Orientation Algorithm

1 i ← 1; E1 ← E ; F ← ∅2 While Ei 6= ∅:

3 Arbitrarily pick an edge xiyi ∈ Ei

4 Enumerate the implication class Bi of Ei that contains 〈xiyi 〉5 If Bi ∩ B−1i = ∅ then add Bi to F

else Return “G is not a comparability graph”

6 Ei+1 ← Ei − Bi ; i ← i + 1

7 Return F

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 39 / 75

Page 146: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Running time of the algorithm for a graph G = (V , E ):O(δ|E |) = O(|V ||E |) = O(|V |3) in worst case(see details in [Golumbic, Alg. Graph Theory & Perfect Graphs, 2004])

Several later algorithms for transitive orientation

The currently fastest algorithm:[McCornell, Spinrad, Discrete Mathematics, 1999]

Given a graph G = (V , E ), it produces in linear O(|V |+ |E |) timean orientation F of G such that:

F is transitive ⇐⇒ G is a comparability graph

F is given implicitly through a linear order L, which serves asa linear extension of F (topological sort)

main tool: a fast “modular decomposition” of a graph

But, in order to check whether F is transitive:matrix multiplication (currently in O(|V |2.376) time)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 40 / 75

Page 147: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Running time of the algorithm for a graph G = (V , E ):O(δ|E |) = O(|V ||E |) = O(|V |3) in worst case(see details in [Golumbic, Alg. Graph Theory & Perfect Graphs, 2004])

Several later algorithms for transitive orientation

The currently fastest algorithm:[McCornell, Spinrad, Discrete Mathematics, 1999]

Given a graph G = (V , E ), it produces in linear O(|V |+ |E |) timean orientation F of G such that:

F is transitive ⇐⇒ G is a comparability graph

F is given implicitly through a linear order L, which serves asa linear extension of F (topological sort)

main tool: a fast “modular decomposition” of a graph

But, in order to check whether F is transitive:matrix multiplication (currently in O(|V |2.376) time)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 40 / 75

Page 148: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphs

Running time of the algorithm for a graph G = (V , E ):O(δ|E |) = O(|V ||E |) = O(|V |3) in worst case(see details in [Golumbic, Alg. Graph Theory & Perfect Graphs, 2004])

Several later algorithms for transitive orientation

The currently fastest algorithm:[McCornell, Spinrad, Discrete Mathematics, 1999]

Given a graph G = (V , E ), it produces in linear O(|V |+ |E |) timean orientation F of G such that:

F is transitive ⇐⇒ G is a comparability graph

F is given implicitly through a linear order L, which serves asa linear extension of F (topological sort)

main tool: a fast “modular decomposition” of a graph

But, in order to check whether F is transitive:matrix multiplication (currently in O(|V |2.376) time)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 40 / 75

Page 149: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Recall that for every graph G = (V , E ):

a clique U ⊆ V is a maximal clique if there exists no other cliqueU ′ ⊆ V such that U ⊂ U ′,a clique U ⊆ V is a maximum clique if there exists no other cliqueU ′ ⊆ V such that |U | < |U ′|,the clique number ω(G ) is the size of a maximum clique of G ,

a proper k-coloring of G is:an assignment of k colors to the vertices of G such that,if uv ∈ E then u and v have different colors,a partition V = V1 ∪ V2 ∪ . . . ∪ Vk , where each Vi isan independent set (“color class”),

the chromatic number χ(G ) is the smallest k for which G hasa proper k-coloring.

Theorem

For any graph G , χ(G ) ≥ ω(G ).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 41 / 75

Page 150: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Recall that for every graph G = (V , E ):

a clique U ⊆ V is a maximal clique if there exists no other cliqueU ′ ⊆ V such that U ⊂ U ′,a clique U ⊆ V is a maximum clique if there exists no other cliqueU ′ ⊆ V such that |U | < |U ′|,the clique number ω(G ) is the size of a maximum clique of G ,a proper k-coloring of G is:

an assignment of k colors to the vertices of G such that,if uv ∈ E then u and v have different colors,a partition V = V1 ∪ V2 ∪ . . . ∪ Vk , where each Vi isan independent set (“color class”),

the chromatic number χ(G ) is the smallest k for which G hasa proper k-coloring.

Theorem

For any graph G , χ(G ) ≥ ω(G ).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 41 / 75

Page 151: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Recall that for every graph G = (V , E ):

a clique U ⊆ V is a maximal clique if there exists no other cliqueU ′ ⊆ V such that U ⊂ U ′,a clique U ⊆ V is a maximum clique if there exists no other cliqueU ′ ⊆ V such that |U | < |U ′|,the clique number ω(G ) is the size of a maximum clique of G ,a proper k-coloring of G is:

an assignment of k colors to the vertices of G such that,if uv ∈ E then u and v have different colors,a partition V = V1 ∪ V2 ∪ . . . ∪ Vk , where each Vi isan independent set (“color class”),

the chromatic number χ(G ) is the smallest k for which G hasa proper k-coloring.

Theorem

For any graph G , χ(G ) ≥ ω(G ).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 41 / 75

Page 152: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Definition

A graph G is perfect if χ(GA) = ω(GA) for every induced subgraph GA.

Is every comparability graph G also a perfect graph?

We need to exploit the Hasse diagram of the partial order for G !

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 153: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Definition

A graph G is perfect if χ(GA) = ω(GA) for every induced subgraph GA.

Is every comparability graph G also a perfect graph?

We need to exploit the Hasse diagram of the partial order for G !

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 154: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Let G = (V , E ) be the comparability graph of the partial order P.

We define a depth function d : V −→N, such that for every v ∈ V :if v is a maximal element in P, then d(v) = 1,otherwise d(v) = 1 + max{d(w) : v <P w}.

If the Hasse diagram has k layers, then:the longest top-down path in the diagram has k vertices, i.e.the maximum chain has k vertices.

Every chain in P corresponds to a clique in G ⇒ ω(G ) ≥ k.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 155: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Let G = (V , E ) be the comparability graph of the partial order P.

We define a depth function d : V −→N, such that for every v ∈ V :if v is a maximal element in P, then d(v) = 1,otherwise d(v) = 1 + max{d(w) : v <P w}.

If the Hasse diagram has k layers, then:the longest top-down path in the diagram has k vertices, i.e.the maximum chain has k vertices.

Every chain in P corresponds to a clique in G ⇒ ω(G ) ≥ k.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 156: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Let G = (V , E ) be the comparability graph of the partial order P.

We define a depth function d : V −→N, such that for every v ∈ V :if v is a maximal element in P, then d(v) = 1,otherwise d(v) = 1 + max{d(w) : v <P w}.

If the Hasse diagram has k layers, then:the longest top-down path in the diagram has k vertices, i.e.the maximum chain has k vertices.

Every chain in P corresponds to a clique in G ⇒ ω(G ) ≥ k.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 157: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Let G = (V , E ) be the comparability graph of the partial order P.

We define a depth function d : V −→N, such that for every v ∈ V :if v is a maximal element in P, then d(v) = 1,otherwise d(v) = 1 + max{d(w) : v <P w}.

If the Hasse diagram has k layers, then:the longest top-down path in the diagram has k vertices, i.e.the maximum chain has k vertices.

Every chain in P corresponds to a clique in G ⇒ ω(G ) ≥ k.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 158: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Let G = (V , E ) be the comparability graph of the partial order P.

We define a depth function d : V −→N, such that for every v ∈ V :if v is a maximal element in P, then d(v) = 1,otherwise d(v) = 1 + max{d(w) : v <P w}.

If the Hasse diagram has k layers, then:the longest top-down path in the diagram has k vertices, i.e.the maximum chain has k vertices.

Every chain in P corresponds to a clique in G ⇒ ω(G ) ≥ k.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 159: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

Let G = (V , E ) be the comparability graph of the partial order P.

We define a depth function d : V −→N, such that for every v ∈ V :if v is a maximal element in P, then d(v) = 1,otherwise d(v) = 1 + max{d(w) : v <P w}.

If the Hasse diagram has k layers, then:the longest top-down path in the diagram has k vertices, i.e.the maximum chain has k vertices.

Every chain in P corresponds to a clique in G ⇒ ω(G ) ≥ k.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 42 / 75

Page 160: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

On the other hand:

Every layer in the Hasse diagram is an independent set

If the diagram has k layers, then:every layer is a color class of G ⇒ χ(G ) ≤ k

Therefore ω(G ) ≥ k ≥ χ(G ) ≥ ω(G ) ⇒ χ(G ) = ω(G )

Every induced subgraph GA of G is a comparability graph⇒ χ(GA) = ω(GA) for every induced subgraph GA

⇒ G is a perfect graph.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 43 / 75

Page 161: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

On the other hand:

Every layer in the Hasse diagram is an independent set

If the diagram has k layers, then:every layer is a color class of G ⇒ χ(G ) ≤ k

Therefore ω(G ) ≥ k ≥ χ(G ) ≥ ω(G ) ⇒ χ(G ) = ω(G )

Every induced subgraph GA of G is a comparability graph⇒ χ(GA) = ω(GA) for every induced subgraph GA

⇒ G is a perfect graph.

maximal elements −→

maximal elements −→

maximal elements −→ q

r s

t x y

p

among {p,q,r,s}

among {p,q}

d(t) = d(x) = d(y) = 1

d(r) = d(s) = 2

d(p) = d(q) = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 43 / 75

Page 162: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Comparability graphsColoring and clique

On the other hand:

Every layer in the Hasse diagram is an independent set

If the diagram has k layers, then:every layer is a color class of G ⇒ χ(G ) ≤ k

Therefore ω(G ) ≥ k ≥ χ(G ) ≥ ω(G ) ⇒ χ(G ) = ω(G )

Every induced subgraph GA of G is a comparability graph⇒ χ(GA) = ω(GA) for every induced subgraph GA

⇒ G is a perfect graph.

Theorem

Every comparability graph G is a perfect graph.

Theorem

Given the Hasse diagram of a comparability graph G = (V , E ), we cancompute a minimum coloring and a maximum clique in O(|V |+ |E |) time.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 43 / 75

Page 163: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Overview

Partial orders

Comparability graphs

Permutation graphs

Trapezoid graphs

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 44 / 75

Page 164: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 165: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 166: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 167: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 168: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 169: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 170: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 171: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 172: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 173: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5, π6 = 2

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 174: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5, π6 = 2,

π−11 = 4

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 175: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5, π6 = 2,

π−11 = 4, π−12 = 6

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 176: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5, π6 = 2,

π−11 = 4, π−12 = 6, π−13 = 2

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 177: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5, π6 = 2,

π−11 = 4, π−12 = 6, π−13 = 2, π−14 = 1

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 178: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5, π6 = 2,

π−11 = 4, π−12 = 6, π−13 = 2, π−14 = 1, π−15 = 5

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 179: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Graphs can be defined using mathematical structures:

we saw: partial orders −→ comparability graphswhat about permutations?

Consider the numbers 1, 2, . . . , n

Consider a permutation π = [π1, π2, . . . , πn] of these numbers

For every i = 1, 2, . . . , n:

πi is the ith number in the permutation π

π−1i is the position of number i in the the permutation π

Example: n = 6

π = [4, 3, 6, 1, 5, 2]

π1 = 4, π2 = 3, π3 = 6, π4 = 1, π5 = 5, π6 = 2,

π−11 = 4, π−12 = 6, π−13 = 2, π−14 = 1, π−15 = 5, π−16 = 3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 45 / 75

Page 180: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For every permutation π we can define the graph G [π] as follows:

the vertices of G [π] are {1, 2, . . . , n},there is an edge between vertex i and vertex j (where i < j)when j appears to the left of i in π i.e. π−1j < π−1i

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 46 / 75

Page 181: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For every permutation π we can define the graph G [π] as follows:

the vertices of G [π] are {1, 2, . . . , n},there is an edge between vertex i and vertex j (where i < j)when j appears to the left of i in π i.e. π−1j < π−1i

Example: π = [4, 3, 6, 1, 5, 2]

1 2

4

3

5

6

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 46 / 75

Page 182: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For every permutation π we can define the graph G [π] as follows:

the vertices of G [π] are {1, 2, . . . , n},there is an edge between vertex i and vertex j (where i < j)when j appears to the left of i in π i.e. π−1j < π−1i

Equivalent definition of G [π] = (V , E ):

V = {1, 2, . . . , n},ij ∈ E ⇔ (i − j)(π−1i − π−1j ) < 0.

Definition

A graph G is a permutation graph if there exists a permutation πsuch that G is isomorphic to G [π].

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 46 / 75

Page 183: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For a permutation π = [π1, π2, . . . , πn], the reverse permutation π is:

π = [π1, π2, . . . , πn] = [πn, πn−1, . . . , π1]

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 47 / 75

Page 184: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For a permutation π = [π1, π2, . . . , πn], the reverse permutation π is:

π = [π1, π2, . . . , πn] = [πn, πn−1, . . . , π1]

Note that for every i = 1, 2, . . . , n:

πi = πn−i

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 47 / 75

Page 185: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For a permutation π = [π1, π2, . . . , πn], the reverse permutation π is:

π = [π1, π2, . . . , πn] = [πn, πn−1, . . . , π1]

Note that for every i = 1, 2, . . . , n:

πi = πn−iπ−1i = n− π−1i

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 47 / 75

Page 186: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For a permutation π = [π1, π2, . . . , πn], the reverse permutation π is:

π = [π1, π2, . . . , πn] = [πn, πn−1, . . . , π1]

Lemma

For every permutation π: G [π] = G [π].

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 47 / 75

Page 187: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For a permutation π = [π1, π2, . . . , πn], the reverse permutation π is:

π = [π1, π2, . . . , πn] = [πn, πn−1, . . . , π1]

Lemma

For every permutation π: G [π] = G [π].

Proof.

Denote G [π] = (V , E ) and G [π] = (V , E ).

Then: ij ∈ E ⇔ (i − j)(

π−1i − π−1j

)< 0

⇔ (i − j)((

n− π−1i

)−(

n− π−1j

))< 0

⇔ (i − j)(

π−1i − π−1j

)> 0

⇔ ij /∈ E

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 47 / 75

Page 188: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For a permutation π = [π1, π2, . . . , πn], the reverse permutation π is:

π = [π1, π2, . . . , πn] = [πn, πn−1, . . . , π1]

Lemma

For every permutation π: G [π] = G [π].

Proof.

Denote G [π] = (V , E ) and G [π] = (V , E ).

Then: ij ∈ E ⇔ (i − j)(

π−1i − π−1j

)< 0

⇔ (i − j)((

n− π−1i

)−(

n− π−1j

))< 0

⇔ (i − j)(

π−1i − π−1j

)> 0

⇔ ij /∈ E

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 47 / 75

Page 189: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

For a permutation π = [π1, π2, . . . , πn], the reverse permutation π is:

π = [π1, π2, . . . , πn] = [πn, πn−1, . . . , π1]

Lemma

For every permutation π: G [π] = G [π].

Corollary

The complement of a permutation graph is also a permutation graph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 47 / 75

Page 190: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Lemma

Every permutation graph G is a comparability graph(i.e. G is transitively orientable).

Proof.

Denote G = G [π] = (V , E ).

Define an orientation F of G such that, whenever ij ∈ E :

〈ij〉 ∈ F ⇐⇒ i < j

We show that F is transitive. Assume that 〈ij〉, 〈jk〉 ∈ F

Then: i < j < k (by definition of F )

Furthermore: π−1i > π−1j and π−1j > π−1k (by definition of G [π])

⇒ π−1i > π−1k ⇒ ik ∈ E and 〈ik〉 ∈ F

⇒ F is transitive

⇒ G is a comparability graph

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 48 / 75

Page 191: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Lemma

Every permutation graph G is a comparability graph(i.e. G is transitively orientable).

Proof.

Denote G = G [π] = (V , E ).

Define an orientation F of G such that, whenever ij ∈ E :

〈ij〉 ∈ F ⇐⇒ i < j

We show that F is transitive. Assume that 〈ij〉, 〈jk〉 ∈ F

Then: i < j < k (by definition of F )

Furthermore: π−1i > π−1j and π−1j > π−1k (by definition of G [π])

⇒ π−1i > π−1k ⇒ ik ∈ E and 〈ik〉 ∈ F

⇒ F is transitive

⇒ G is a comparability graph

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 48 / 75

Page 192: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Lemma

Every permutation graph G is a comparability graph(i.e. G is transitively orientable).

Proof.

Denote G = G [π] = (V , E ).

Define an orientation F of G such that, whenever ij ∈ E :

〈ij〉 ∈ F ⇐⇒ i < j

We show that F is transitive. Assume that 〈ij〉, 〈jk〉 ∈ F

Then: i < j < k (by definition of F )

Furthermore: π−1i > π−1j and π−1j > π−1k (by definition of G [π])

⇒ π−1i > π−1k ⇒ ik ∈ E and 〈ik〉 ∈ F

⇒ F is transitive

⇒ G is a comparability graph

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 48 / 75

Page 193: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Lemma

Every permutation graph G is a comparability graph(i.e. G is transitively orientable).

Proof.

Denote G = G [π] = (V , E ).

Define an orientation F of G such that, whenever ij ∈ E :

〈ij〉 ∈ F ⇐⇒ i < j

We show that F is transitive. Assume that 〈ij〉, 〈jk〉 ∈ F

Then: i < j < k (by definition of F )

Furthermore: π−1i > π−1j and π−1j > π−1k (by definition of G [π])

⇒ π−1i > π−1k ⇒ ik ∈ E and 〈ik〉 ∈ F

⇒ F is transitive

⇒ G is a comparability graph

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 48 / 75

Page 194: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Lemma

Every permutation graph G is a comparability graph(i.e. G is transitively orientable).

Proof.

Denote G = G [π] = (V , E ).

Define an orientation F of G such that, whenever ij ∈ E :

〈ij〉 ∈ F ⇐⇒ i < j

We show that F is transitive. Assume that 〈ij〉, 〈jk〉 ∈ F

Then: i < j < k (by definition of F )

Furthermore: π−1i > π−1j and π−1j > π−1k (by definition of G [π])

⇒ π−1i > π−1k ⇒ ik ∈ E and 〈ik〉 ∈ F

⇒ F is transitive

⇒ G is a comparability graph

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 48 / 75

Page 195: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Theorem (Pnueli, Lempel, Even, 1971)

A graph G = (V , E ) is a permutation graph ⇔ G and G arecomparability graphs.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 49 / 75

Page 196: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Theorem (Pnueli, Lempel, Even, 1971)

A graph G = (V , E ) is a permutation graph ⇔ G and G arecomparability graphs.

Proof.

(⇒): Let G = G [π] for some permutation π. Then:

G is a comparability graph (last theorem)

G = G [π] is a permutation graph ⇒ G is a comparability graph

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 49 / 75

Page 197: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Theorem (Pnueli, Lempel, Even, 1971)

A graph G = (V , E ) is a permutation graph ⇔ G and G arecomparability graphs.

Proof.

(⇐): Let G and G be comparability graphs.

Let (V , F1) be a transitive orientation of G

Let (V , F2) be a transitive orientation of G

We show that F1 + F2 is a transitive orientation of the clique⇒ Assume otherwise that 〈ij〉, 〈jk〉, 〈ki〉 ∈ F1 + F2

⇒ at least two of them belong to the same Fi , wlog. 〈ij〉, 〈jk〉 ∈ F1

⇒ by transitivity of F1: 〈ik〉 ∈ F1, contradiction⇒ F1 + F2 is transitive

Similarly: F−11 + F2 is transitive

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 49 / 75

Page 198: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Theorem (Pnueli, Lempel, Even, 1971)

A graph G = (V , E ) is a permutation graph ⇔ G and G arecomparability graphs.

Proof.

(⇐): Let G and G be comparability graphs.

Let (V , F1) be a transitive orientation of G

Let (V , F2) be a transitive orientation of G

We show that F1 + F2 is a transitive orientation of the clique⇒ Assume otherwise that 〈ij〉, 〈jk〉, 〈ki〉 ∈ F1 + F2

⇒ at least two of them belong to the same Fi , wlog. 〈ij〉, 〈jk〉 ∈ F1

⇒ by transitivity of F1: 〈ik〉 ∈ F1, contradiction⇒ F1 + F2 is transitive

Similarly: F−11 + F2 is transitive

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 49 / 75

Page 199: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Theorem (Pnueli, Lempel, Even, 1971)

A graph G = (V , E ) is a permutation graph ⇔ G and G arecomparability graphs.

Proof.

(⇐): Let G and G be comparability graphs.

Let (V , F1) be a transitive orientation of G

Let (V , F2) be a transitive orientation of G

We show that F1 + F2 is a transitive orientation of the clique⇒ Assume otherwise that 〈ij〉, 〈jk〉, 〈ki〉 ∈ F1 + F2

⇒ at least two of them belong to the same Fi , wlog. 〈ij〉, 〈jk〉 ∈ F1

⇒ by transitivity of F1: 〈ik〉 ∈ F1, contradiction⇒ F1 + F2 is transitive

Similarly: F−11 + F2 is transitive

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 49 / 75

Page 200: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Proof.

For every transitive orientation of the clique:

a unique linear ordering of its vertices

We now construct in 3 steps a permutation π such that G = G [π]:

1 Label the vertices according to the linear ordering of F1 + F2:the ith vertex v in this ordering gets label L(v) = i

2 Re-label the vertices according to the linear ordering of F−11 + F2:the ith vertex v in this ordering gets label L′(v) = i

Let u, v be two vertices of G . Then:

uv ∈ E ⇔ (by definition of F1)

u and v have different relative position in the labelings L(·) and L′(·)⇔ (L(u)− L(v)) (L′(u)− L′(v)) < 0

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 50 / 75

Page 201: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Proof.

For every transitive orientation of the clique:

a unique linear ordering of its vertices

We now construct in 3 steps a permutation π such that G = G [π]:

1 Label the vertices according to the linear ordering of F1 + F2:the ith vertex v in this ordering gets label L(v) = i

2 Re-label the vertices according to the linear ordering of F−11 + F2:the ith vertex v in this ordering gets label L′(v) = i

Let u, v be two vertices of G . Then:

uv ∈ E ⇔ (by definition of F1)

u and v have different relative position in the labelings L(·) and L′(·)⇔ (L(u)− L(v)) (L′(u)− L′(v)) < 0

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 50 / 75

Page 202: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Proof.

For every transitive orientation of the clique:

a unique linear ordering of its vertices

We now construct in 3 steps a permutation π such that G = G [π]:

1 Label the vertices according to the linear ordering of F1 + F2:the ith vertex v in this ordering gets label L(v) = i

2 Re-label the vertices according to the linear ordering of F−11 + F2:the ith vertex v in this ordering gets label L′(v) = i

Let u, v be two vertices of G . Then:

uv ∈ E ⇔ (by definition of F1)

u and v have different relative position in the labelings L(·) and L′(·)⇔ (L(u)− L(v)) (L′(u)− L′(v)) < 0

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 50 / 75

Page 203: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Proof.

For every transitive orientation of the clique:

a unique linear ordering of its vertices

We now construct in 3 steps a permutation π such that G = G [π]:

1 Label the vertices according to the linear ordering of F1 + F2:the ith vertex v in this ordering gets label L(v) = i

2 Re-label the vertices according to the linear ordering of F−11 + F2:the ith vertex v in this ordering gets label L′(v) = i

Let u, v be two vertices of G . Then:

uv ∈ E ⇔ (by definition of F1)

u and v have different relative position in the labelings L(·) and L′(·)⇔ (L(u)− L(v)) (L′(u)− L′(v)) < 0

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 50 / 75

Page 204: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphs

Proof.

For every transitive orientation of the clique:

a unique linear ordering of its vertices

We now construct in 3 steps a permutation π such that G = G [π]:

3 Define π as follows:

For every vertex v , if L(v) = i then define π−1i = L′(v).

Then: uv ∈ E ⇔ (L(u)− L(v)) (L′(u)− L′(v)) < 0 ⇔⇔ (i − j)

(π−1i − π−1j

)< 0 ⇔ G = G [π]

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 51 / 75

Page 205: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphsThe recognition problem

Therefore, given a graph G :

We can decide efficiently whether G is a permutation graph(recognition problem)

If both G and G are comparability graphs then:

G is a permutation graphconstruct a permutation π (using the theorem) such that G = G [π]

Otherwise G is not a permutation graph

Time complexity:

using the Transitive Orientation Algorithm: O(n3)

the currently fastest algorithm: O(n + m)[McCornell, Spinrad, Discrete Mathematics, 1999]

using modular decomposition of G

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 52 / 75

Page 206: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphsThe recognition problem

Therefore, given a graph G :

We can decide efficiently whether G is a permutation graph(recognition problem)

If both G and G are comparability graphs then:

G is a permutation graphconstruct a permutation π (using the theorem) such that G = G [π]

Otherwise G is not a permutation graph

Time complexity:

using the Transitive Orientation Algorithm: O(n3)

the currently fastest algorithm: O(n + m)[McCornell, Spinrad, Discrete Mathematics, 1999]

using modular decomposition of G

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 52 / 75

Page 207: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphsAn intersection model

Definition

An undirected graph G = (V , E ) is called an intersection graph, if eachvertex v ∈ V can be assigned to a set Sv , such that two vertices of G areadjacent if and only if the corresponding sets have a nonemptyintersection, i.e. E = {uv | Su ∩ Sv 6= ∅}.Then, F = {Sv | v ∈ V } is the intersection model of G .

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 53 / 75

Page 208: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphsAn intersection model

Definition

An undirected graph G = (V , E ) is called an intersection graph, if eachvertex v ∈ V can be assigned to a set Sv , such that two vertices of G areadjacent if and only if the corresponding sets have a nonemptyintersection, i.e. E = {uv | Su ∩ Sv 6= ∅}.Then, F = {Sv | v ∈ V } is the intersection model of G .

Definition

A graph G is called an interval graph, if G is the intersection graph of aset of intervals on the real line.

a

b c de

a

b

c d

e⇔

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 53 / 75

Page 209: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphsAn intersection model

Lemma

Permutation graphs are exactly the intersection graphs of line segmentsbetween two parallel lines.

L1

L2

a

c de b

a

b

c d

e⇔

a

c d eb

Proof idea:

for every i = 1, 2, . . . , n, the ith line segment has endpoints i and πi

the ith line segment intersects the jth line segment

⇔ i and j appear in reversed order in π

⇔ i and j are adjacent in G [π]

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 54 / 75

Page 210: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Permutation graphsAn intersection model

Lemma

Permutation graphs are exactly the intersection graphs of line segmentsbetween two parallel lines.

L1

L2

a

c de b

a

b

c d

e⇔

a

c d eb

Proof idea:

for every i = 1, 2, . . . , n, the ith line segment has endpoints i and πi

the ith line segment intersects the jth line segment

⇔ i and j appear in reversed order in π

⇔ i and j are adjacent in G [π]

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 54 / 75

Page 211: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders of dimension 2

Theorem (see Spinrad, Efficient graph representations, 2003)

The complements of permutation graphs are exactly the comparabilitygraphs of partial orders with dimension at most 2.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 55 / 75

Page 212: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders of dimension 2

Theorem (see Spinrad, Efficient graph representations, 2003)

The complements of permutation graphs are exactly the comparabilitygraphs of partial orders with dimension at most 2.

Proof idea:

Every line segment `u is defined by two points pu and qu

Define a partial order P from the line segments:`u <P `v ⇔ `u lies to the left of `v

Define two linear orders P1 and P2 from the points on L1 and L2

`u <P `v ⇔ pu <P1 pv and qu <P2 qv , i.e. P = P1 ∩ P2

L1

L2

`u `v

qu qv

pu pv

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 55 / 75

Page 213: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Partial orders of dimension 2

Theorem (see Spinrad, Efficient graph representations, 2003)

The complements of permutation graphs are exactly the comparabilitygraphs of partial orders with dimension at most 2.

Therefore:

Theorem (see Spinrad, Efficient graph representations, 2003)

For k ≤ 2, we can decide in polynomial time whether the dimension of apartial order is at most k.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 55 / 75

Page 214: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Overview

Partial orders

Comparability graphs

Permutation graphs

Trapezoid graphs

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 56 / 75

Page 215: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

A generalization of permutation graphs:

Definition (Dagan, Golumbic, Pinter, 1988; Corneil, Kamula, 1987)

A graph G is called a trapezoid graph, if G is the intersection graph of aset of trapezoids between two parallel lines.

L1

L2

⇔Tb

Tc

a

b

c d

eTa Td Te

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 57 / 75

Page 216: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

A generalization of permutation graphs:

Definition (Dagan, Golumbic, Pinter, 1988; Corneil, Kamula, 1987)

A graph G is called a trapezoid graph, if G is the intersection graph of aset of trapezoids between two parallel lines.

L1

L2

⇔Tb

Tc

a

b

c d

eTa Td Te

Special cases of trapezoid graphs:

Permutation graphs: when trapezoids are line segments

Interval graphs: when trapezoids are rectangles

Parallelogram graphs: when trapezoids are parallelograms

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 57 / 75

Page 217: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

A generalization of permutation graphs:

Definition (Dagan, Golumbic, Pinter, 1988; Corneil, Kamula, 1987)

A graph G is called a trapezoid graph, if G is the intersection graph of aset of trapezoids between two parallel lines.

L1

L2

⇔Tb

Tc

a

b

c d

eTa Td Te

Special cases of trapezoid graphs:

Permutation graphs: when trapezoids are line segments

Interval graphs: when trapezoids are rectangles

Parallelogram graphs: when trapezoids are parallelograms

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 57 / 75

Page 218: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

A generalization of permutation graphs:

Definition (Dagan, Golumbic, Pinter, 1988; Corneil, Kamula, 1987)

A graph G is called a trapezoid graph, if G is the intersection graph of aset of trapezoids between two parallel lines.

L1

L2

⇔Tb

Tc

a

b

c d

eTa Td Te

Special cases of trapezoid graphs:

Permutation graphs: when trapezoids are line segments

Interval graphs: when trapezoids are rectangles

Parallelogram graphs: when trapezoids are parallelograms

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 57 / 75

Page 219: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Dagan, Golumbic, Pinter, Discr. Applied Math., 1988)

The complements of trapezoid graphs are exactly the comparabilitygraphs of partial orders with interval dimension at most 2.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 58 / 75

Page 220: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Dagan, Golumbic, Pinter, Discr. Applied Math., 1988)

The complements of trapezoid graphs are exactly the comparabilitygraphs of partial orders with interval dimension at most 2.

Proof idea:

every trapezoid Tu is defined by two intervals Iu and JuDefine a partial order P from the trapezoids:Tu <P Tv ⇔ Tu lies to the left of Tv

Define two interval orders P1 and P2 from the intervals on L1 and L2

Tu <P Tv ⇔ Iu <P1 Iv and Ju <P2 Jv , i.e. P = P1 ∩ P2

L1

L2

Tu Tv

Iu Iv

Ju JvGeorge Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 58 / 75

Page 221: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Dagan, Golumbic, Pinter, Discr. Applied Math., 1988)

The complements of trapezoid graphs are exactly the comparabilitygraphs of partial orders with interval dimension at most 2.

Therefore:

Observation

Trapezoid graphs are cocomparability graphs.

L1

L2

TbTc

Ta Td Te

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 58 / 75

Page 222: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example:

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 223: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 224: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 225: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 226: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 227: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 228: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 229: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 230: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 231: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 232: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 233: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 234: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 235: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 236: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 237: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !

If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 238: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Question: Is every trapezoid graph also a comparability graph?

Equivalently: Is every trapezoid graph also a permutation graph?(i.e. can we always “rewrite” a trapezoid graph as a permutation graph?)

Answer: No.

Example: a b

c

d

e

f

g

L1

L2

b c a g ed d f

bca ge dd f

G :

G is not a comparability graph ⇒ not a permutation graph !If d becomes a line segment ⇒ f intersects b. (contradiction)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 59 / 75

Page 239: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we recognize whether a graph G is a trapezoid graph?

We can first check whether G is a comparability graph

necessary but not sufficient condition !

Several algorithms are known:

[Felsner, Habib, Mohring, SIAM Journal on Discrete Math., 1994]

[Ma, Spinrad, Journal of Algorithms, 1994]

[Langley, Discrete Applied Mathematics, 1995]

[Mertzios, Corneil, Discrete Applied Mathematics, 2011]

We sketch the algorithm of [Ma, Spinrad, 1994]

Running time: O(n2)

Main tools of this algorithm:

trapezoid graphs ←→ partial orders of interval dimension ≤ 2

cover of a bipartite graph with “chain graphs”

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 60 / 75

Page 240: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we recognize whether a graph G is a trapezoid graph?

We can first check whether G is a comparability graph

necessary but not sufficient condition !

Several algorithms are known:

[Felsner, Habib, Mohring, SIAM Journal on Discrete Math., 1994]

[Ma, Spinrad, Journal of Algorithms, 1994]

[Langley, Discrete Applied Mathematics, 1995]

[Mertzios, Corneil, Discrete Applied Mathematics, 2011]

We sketch the algorithm of [Ma, Spinrad, 1994]

Running time: O(n2)

Main tools of this algorithm:

trapezoid graphs ←→ partial orders of interval dimension ≤ 2

cover of a bipartite graph with “chain graphs”

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 60 / 75

Page 241: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we recognize whether a graph G is a trapezoid graph?

We can first check whether G is a comparability graph

necessary but not sufficient condition !

Several algorithms are known:

[Felsner, Habib, Mohring, SIAM Journal on Discrete Math., 1994]

[Ma, Spinrad, Journal of Algorithms, 1994]

[Langley, Discrete Applied Mathematics, 1995]

[Mertzios, Corneil, Discrete Applied Mathematics, 2011]

We sketch the algorithm of [Ma, Spinrad, 1994]

Running time: O(n2)

Main tools of this algorithm:

trapezoid graphs ←→ partial orders of interval dimension ≤ 2

cover of a bipartite graph with “chain graphs”

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 60 / 75

Page 242: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

A graph G is bipartite ⇔ χ(G ) ≤ 2⇔ its vertices can be partitioned into two independent sets U, V

We denote a bipartite graph as G = (U, V , E ),where U, V are its color classes

Definition

A bipartite graph G = (U, V , E ) is a chain graph if N(a) ⊆ N(b) orN(b) ⊆ N(a), for any two vertices a, b in the same color class.

Therefore, in a chain graph G = (U, V , E ):

we can enumerate the vertices of U = {u1, u2, . . . , un} such that

N(u1) ⊆ N(u2) ⊆ . . . ⊆ N(un)

and the vertices of V = {v1, v2, . . . , vm} such that

N(v1) ⊆ N(v2) ⊆ . . . ⊆ N(vm)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 61 / 75

Page 243: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

A graph G is bipartite ⇔ χ(G ) ≤ 2⇔ its vertices can be partitioned into two independent sets U, V

We denote a bipartite graph as G = (U, V , E ),where U, V are its color classes

Definition

A bipartite graph G = (U, V , E ) is a chain graph if N(a) ⊆ N(b) orN(b) ⊆ N(a), for any two vertices a, b in the same color class.

Therefore, in a chain graph G = (U, V , E ):

we can enumerate the vertices of U = {u1, u2, . . . , un} such that

N(u1) ⊆ N(u2) ⊆ . . . ⊆ N(un)

and the vertices of V = {v1, v2, . . . , vm} such that

N(v1) ⊆ N(v2) ⊆ . . . ⊆ N(vm)

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 61 / 75

Page 244: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Definition

Let G = (U, V , E ) be a bipartite graph. The bipartite complementG = (U, V , E ) of G is the bipartite graph such that for u ∈ U, v ∈ V :

uv ∈ E ⇔ uv /∈ E

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 62 / 75

Page 245: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Definition

Let G = (U, V , E ) be a bipartite graph. The bipartite complementG = (U, V , E ) of G is the bipartite graph such that for u ∈ U, v ∈ V :

uv ∈ E ⇔ uv /∈ E

Lemma

Chain graphs are exactly the bipartite graphs with no induced 2K2.

2K2 :

u1 u2

v1 v2

Proof.

G = (U, V , E ) includes an induced 2K2

⇔ N(u1) * N(u2) and N(u2) * N(u1) for two vertices u1, u2

⇔ G is not a chain graph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 62 / 75

Page 246: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Definition

Let G = (U, V , E ) be a bipartite graph. The bipartite complementG = (U, V , E ) of G is the bipartite graph such that for u ∈ U, v ∈ V :

uv ∈ E ⇔ uv /∈ E

Lemma

Chain graphs are exactly the bipartite graphs with no induced 2K2.

Corollary

G = (U, V , E ) is a chain graph ⇔ G = (U, V , E ) is a chain graph.

That is:

chain graphs are closed under bipartite complementation.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 62 / 75

Page 247: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Definition

Let G = (U, V , E ) be a bipartite graph. Then:

the chain cover number ch(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋃ki=1 Ei .

the chain dimension chdim(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋂ki=1 Ei .

Lemma

For any bipartite graph G = (U, V , E ): ch(G ) = chdim(G ).

Proof idea: chain graphs are closed under bipartite complementation

Therefore:

The problems of computing ch(G ) and computing chdim(G ) forbipartite graphs G are polynomially equivalent to each other.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 63 / 75

Page 248: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Definition

Let G = (U, V , E ) be a bipartite graph. Then:

the chain cover number ch(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋃ki=1 Ei .

the chain dimension chdim(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋂ki=1 Ei .

Lemma

For any bipartite graph G = (U, V , E ): ch(G ) = chdim(G ).

Proof idea: chain graphs are closed under bipartite complementation

Therefore:

The problems of computing ch(G ) and computing chdim(G ) forbipartite graphs G are polynomially equivalent to each other.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 63 / 75

Page 249: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Definition

Let G = (U, V , E ) be a bipartite graph. Then:

the chain cover number ch(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋃ki=1 Ei .

the chain dimension chdim(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋂ki=1 Ei .

Lemma

For any bipartite graph G = (U, V , E ): ch(G ) = chdim(G ).

Proof idea: chain graphs are closed under bipartite complementation

Therefore:

The problems of computing ch(G ) and computing chdim(G ) forbipartite graphs G are polynomially equivalent to each other.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 63 / 75

Page 250: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Definition

Let G = (U, V , E ) be a bipartite graph. Then:

the chain cover number ch(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋃ki=1 Ei .

the chain dimension chdim(G ) of G is the smallest number k of chaingraphs Gi = (U, V , Ei ), 1 ≤ i ≤ k , such that E =

⋂ki=1 Ei .

Lemma

For any bipartite graph G = (U, V , E ): ch(G ) = chdim(G ).

Proof idea: chain graphs are closed under bipartite complementation

Therefore:

The problems of computing ch(G ) and computing chdim(G ) forbipartite graphs G are polynomially equivalent to each other.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 63 / 75

Page 251: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we efficiently recognize trapezoid graphs?

We use the chain cover number ch(G ) for bipartite graphs G

Definition (Ma, Spinrad, Journal of Algorithms, 1994)

Let P = (U,<P) be a partial order, where U = {u1, u2, . . . , un}. DefineV = {v1, v2, . . . , vn}. The bipartite graph C (P) = (U, V , E ) is defined as:

uivj ∈ E ⇔ ui <P uj .

“C” stands for “Comparable”

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 64 / 75

Page 252: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we efficiently recognize trapezoid graphs?

We use the chain cover number ch(G ) for bipartite graphs G

Definition (Ma, Spinrad, Journal of Algorithms, 1994)

Let P = (U,<P) be a partial order, where U = {u1, u2, . . . , un}. DefineV = {v1, v2, . . . , vn}. The bipartite graph C (P) = (U, V , E ) is defined as:

uivj ∈ E ⇔ ui <P uj .

“C” stands for “Comparable”

Example:u1 u2 u3 u4

v1 v2 v3 v4

C(P ) :

P :u1 <P u3 u3 <P u4u1 <P u4 u2 <P u4

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 64 / 75

Page 253: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we efficiently recognize trapezoid graphs?

We use the chain cover number ch(G ) for bipartite graphs G

Definition (Ma, Spinrad, Journal of Algorithms, 1994)

Let P = (U,<P) be a partial order, where U = {u1, u2, . . . , un}. DefineV = {v1, v2, . . . , vn}. The bipartite graph C (P) = (U, V , E ) is defined as:

uivj ∈ E ⇔ ui <P uj .

“C” stands for “Comparable”

Example:u1 u2 u3 u4

v1 v2 v3 v4

C(P ) :

P :u1 <P u3 u3 <P u4u1 <P u4 u2 <P u4

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 64 / 75

Page 254: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we efficiently recognize trapezoid graphs?

We use the chain cover number ch(G ) for bipartite graphs G

Definition (Ma, Spinrad, Journal of Algorithms, 1994)

Let P = (U,<P) be a partial order, where U = {u1, u2, . . . , un}. DefineV = {v1, v2, . . . , vn}. The bipartite graph C (P) = (U, V , E ) is defined as:

uivj ∈ E ⇔ ui <P uj .

“C” stands for “Comparable”

Example:u1 u2 u3 u4

v1 v2 v3 v4

C(P ) :

P :u1 <P u3 u3 <P u4u1 <P u4 u2 <P u4

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 64 / 75

Page 255: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we efficiently recognize trapezoid graphs?

We use the chain cover number ch(G ) for bipartite graphs G

Definition (Ma, Spinrad, Journal of Algorithms, 1994)

Let P = (U,<P) be a partial order, where U = {u1, u2, . . . , un}. DefineV = {v1, v2, . . . , vn}. The bipartite graph C (P) = (U, V , E ) is defined as:

uivj ∈ E ⇔ ui <P uj .

“C” stands for “Comparable”

Example:u1 u2 u3 u4

v1 v2 v3 v4

C(P ) :

P :u1 <P u3 u3 <P u4u1 <P u4 u2 <P u4

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 64 / 75

Page 256: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

How can we efficiently recognize trapezoid graphs?

We use the chain cover number ch(G ) for bipartite graphs G

Definition (Ma, Spinrad, Journal of Algorithms, 1994)

Let P = (U,<P) be a partial order, where U = {u1, u2, . . . , un}. DefineV = {v1, v2, . . . , vn}. The bipartite graph C (P) = (U, V , E ) is defined as:

uivj ∈ E ⇔ ui <P uj .

“C” stands for “Comparable”

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

A partial order P is an interval order ⇔ C (P) is a chain graph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 64 / 75

Page 257: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Proof.

(≥): Assume C (P) is covered by k chain graphs H1, H2, . . . , Hk

Construct a partial order Q` = (U,<Q`) for every H` such that:

ui <Q`uj ⇔ uivj ∈ H`

Every Q` is an interval order, since C (Q`) = H` is a chain graph

We prove that P = Q1 ∩Q2 ∩ . . . ∩Qk :

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 65 / 75

Page 258: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Proof.

(≥): Assume C (P) is covered by k chain graphs H1, H2, . . . , Hk

Construct a partial order Q` = (U,<Q`) for every H` such that:

ui <Q`uj ⇔ uivj ∈ H`

Every Q` is an interval order, since C (Q`) = H` is a chain graph

We prove that P = Q1 ∩Q2 ∩ . . . ∩Qk :

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 65 / 75

Page 259: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Proof.

(≥): Assume C (P) is covered by k chain graphs H1, H2, . . . , Hk

Construct a partial order Q` = (U,<Q`) for every H` such that:

ui <Q`uj ⇔ uivj ∈ H`

Every Q` is an interval order, since C (Q`) = H` is a chain graph

We prove that P = Q1 ∩Q2 ∩ . . . ∩Qk :

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 65 / 75

Page 260: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Proof.

(≥): Assume C (P) is covered by k chain graphs H1, H2, . . . , Hk

Construct a partial order Q` = (U,<Q`) for every H` such that:

ui <Q`uj ⇔ uivj ∈ H`

Every Q` is an interval order, since C (Q`) = H` is a chain graph

We prove that P = Q1 ∩Q2 ∩ . . . ∩Qk :

ui <P uj ⇔ uivj ∈ C (P) ⇔ uivj /∈ C (P)

⇔ uivj /∈ H` for every ` ⇔ uivj ∈ H` for every `⇔ ui <Q`

uj for every `

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 65 / 75

Page 261: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Proof.

(≥): Assume C (P) is covered by k chain graphs H1, H2, . . . , Hk

Construct a partial order Q` = (U,<Q`) for every H` such that:

ui <Q`uj ⇔ uivj ∈ H`

Every Q` is an interval order, since C (Q`) = H` is a chain graph

We prove that P = Q1 ∩Q2 ∩ . . . ∩Qk :

Therefore ch(C (P)) ≥ Idim(P).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 65 / 75

Page 262: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Proof.

(≤): Assume P = Q1 ∩Q2 ∩ . . . ∩Qk , where all Qi are interval orders

We prove that C (P) is covered by C (Q1), C (Q2), . . . , C (Qk)

if uivj ∈ C (P) ⇔ uivj /∈ C (P) ⇔ ui ≮P uj⇔ ui ≮Q`

uj for some ` ⇔ uivj /∈ C (Q`) for some `

⇔ uivj ∈ C (Q`) for some `

Therefore ch(C (P)) ≥ Idim(P).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 66 / 75

Page 263: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Proof.

(≤): Assume P = Q1 ∩Q2 ∩ . . . ∩Qk , where all Qi are interval orders

We prove that C (P) is covered by C (Q1), C (Q2), . . . , C (Qk)

if uivj ∈ C (P) ⇔ uivj /∈ C (P) ⇔ ui ≮P uj⇔ ui ≮Q`

uj for some ` ⇔ uivj /∈ C (Q`) for some `

⇔ uivj ∈ C (Q`) for some `

Therefore ch(C (P)) ≥ Idim(P).

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 66 / 75

Page 264: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Recall that:

Theorem (Dagan, Golumbic, Pinter, Discr. Applied Math., 1988)

The complements of trapezoid graphs are exactly the comparabilitygraphs of partial orders with interval dimension at most 2.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 66 / 75

Page 265: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Recall that:

Theorem (Dagan, Golumbic, Pinter, Discr. Applied Math., 1988)

The complements of trapezoid graphs are exactly the comparabilitygraphs of partial orders with interval dimension at most 2.

Therefore, to recognize trapezoid graphs:

it suffices to recognize bipartite graphs G with ch(G ) ≤ 2 !

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 66 / 75

Page 266: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Moreover something more general is true:

Lemma (Ma, Spinrad, Journal of Algorithms, 1994)

For every partial order P = (U,<P): ch(C (P)) is equal to the intervaldimension of P.

Recall that:

Theorem (Dagan, Golumbic, Pinter, Discr. Applied Math., 1988)

The complements of trapezoid graphs are exactly the comparabilitygraphs of partial orders with interval dimension at most 2.

Therefore, to recognize trapezoid graphs:

it suffices to recognize bipartite graphs G with ch(G ) ≤ 2 !

Theorem (Yannakakis, SIAM J. Alg. Discr. Methods, 1982)

For k ≥ 3, it is NP-complete to decide whether ch(G ) ≤ k.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 66 / 75

Page 267: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Recognition of bipartite graphs G with ch(G ) ≤ 2:[Ma, Spinrad, Journal of Algorithms, 1994]

Notation

Let P = (A,<P) be a partial order and a ∈ A. The upper set of ais the set U(a) = {b : a <P b}.

Let G = (X , Y , E ) be a bipartite graph

We compute a partial order P = (X ∪ Y ,<P) with these rules:(initially P = ∅)

1 If N(a) = N(b) for two vertices a, b ∈ X ∪ Y ⇒ remove a from G

2 If N(x) ⊂ N(x ′), where x , x ′ ∈ X : add x ′ <P x to P

3 If N(y) ⊂ N(y ′), where y , y ′ ∈ Y : add y <P y ′ to P

4 If xy /∈ E , where x ∈ X , y ∈ Y : add y <P x to P

5 If U(y) ∩ X ⊆ U(x) ∩ X , where x ∈ X , y ∈ Y : add x <P y to P

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 67 / 75

Page 268: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Recognition of bipartite graphs G with ch(G ) ≤ 2:[Ma, Spinrad, Journal of Algorithms, 1994]

Notation

Let P = (A,<P) be a partial order and a ∈ A. The upper set of ais the set U(a) = {b : a <P b}.

Let G = (X , Y , E ) be a bipartite graph

We compute a partial order P = (X ∪ Y ,<P) with these rules:(initially P = ∅)

1 If N(a) = N(b) for two vertices a, b ∈ X ∪ Y ⇒ remove a from G

2 If N(x) ⊂ N(x ′), where x , x ′ ∈ X : add x ′ <P x to P

3 If N(y) ⊂ N(y ′), where y , y ′ ∈ Y : add y <P y ′ to P

4 If xy /∈ E , where x ∈ X , y ∈ Y : add y <P x to P

5 If U(y) ∩ X ⊆ U(x) ∩ X , where x ∈ X , y ∈ Y : add x <P y to P

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 67 / 75

Page 269: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

Example:

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 270: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

A

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 271: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

1 If N(a) = N(b) for two vertices a, b ∈ X ∪ Y ⇒ remove a from G

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 272: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

2 If N(x) ⊂ N(x ′), where x , x ′ ∈ X : add x ′ <P x to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 273: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

3 If N(y) ⊂ N(y ′), where y , y ′ ∈ Y : add y <P y ′ to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 274: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

4 If xy /∈ E , where x ∈ X , y ∈ Y : add y <P x to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 275: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

5 If U(y) ∩ X ⊆ U(x) ∩ X , where x ∈ X , y ∈ Y : add x <P y to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 276: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

5 If U(y) ∩ X ⊆ U(x) ∩ X , where x ∈ X , y ∈ Y : add x <P y to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 277: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

5 If U(y) ∩ X ⊆ U(x) ∩ X , where x ∈ X , y ∈ Y : add x <P y to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

Hasse diagram of P :

x2

y3

y2

x1

y1

x3

ch(G) = 2

dim(P ) = 2

P1 = {x2, y3, y1, x3, y2, x1}P2 = {x2, y3, y2, x1, y1, x3}

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 278: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

5 If U(y) ∩ X ⊆ U(x) ∩ X , where x ∈ X , y ∈ Y : add x <P y to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

Hasse diagram of P :

x2

y3

y2

x1

y1

x3

ch(G) = 2G = G1 ∪G2

dim(P ) = 2

P1 = {x2, y3, y1, x3, y2, x1}P2 = {x2, y3, y2, x1, y1, x3}

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 279: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

5 If U(y) ∩ X ⊆ U(x) ∩ X , where x ∈ X , y ∈ Y : add x <P y to P

Example:

G :

Xx1 x2 x3

y1 y2 y3Y

after Step 1: P = ∅

after Step 2: N(x1) ⊂ N(x2)⇒ x2 <P x1

N(x3) ⊂ N(x2)⇒ x2 <P x3

after Step 3: N(y3) ⊂ N(y1)⇒ y3 <P y1

N(y3) ⊂ N(y2)⇒ y3 <P y2

after Step 4 (from the non-adjacent vertices):

y1 <P x3, y2 <P x1y3 <P x1, y3 <P x3

after Step 5:

U(y1) ∩X = {x3}U(y2) ∩X = {x1}U(y3) ∩X = {x1, x3}

U(x1) ∩X = ∅

U(x3) ∩X = ∅U(x2) ∩X = {x1, x3}

x2 <P y1, x2 <P y2,x2 <P y3

Hasse diagram of P :

x2

y3

y2

x1

y1

x3

ch(G) = 2G = G1 ∪G2

dim(P ) = 2

P = P1 ∩ P2

P1 = {x2, y3, y1, x3, y2, x1}P2 = {x2, y3, y2, x1, y1, x3}

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 68 / 75

Page 280: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

Therefore:

We can we can efficiently check whether ch(G ) ≤ 2

Summarizing the algorithm: [Ma, Spinrad, Journal of Algorithms, 1994]

Let G be the input cocomparability graph

Let P be a partial order of the complement G

We compute the bipartite graph C (P)

If ch(C (P)) ≤ 2 then:

P has interval dimension at most 2we compute two interval orders P1, P2 such that P = P1 ∩ P2

we compute from P1, P2 a trapezoid representation of G

else return “G is not a trapezoid graph”

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 69 / 75

Page 281: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphs

Theorem (Ma, Spinrad, Journal of Algorithms, 1994)

For the constructed partial order P: dim(P) = ch(G ).

Therefore:

We can we can efficiently check whether ch(G ) ≤ 2

Summarizing the algorithm: [Ma, Spinrad, Journal of Algorithms, 1994]

Let G be the input cocomparability graph

Let P be a partial order of the complement G

We compute the bipartite graph C (P)

If ch(C (P)) ≤ 2 then:

P has interval dimension at most 2we compute two interval orders P1, P2 such that P = P1 ∩ P2

we compute from P1, P2 a trapezoid representation of G

else return “G is not a trapezoid graph”

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 69 / 75

Page 282: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Definition

Parallelogram graphs are the intersection graphs of parallelograms betweentwo parallel lines.

Very similar structure with trapezoid graphs (subclass)

Can we recognize parallelogram graphs efficiently?

Theorem (Mertzios, Sau, Zaks, SIAM Journal on Computing, 2011)

Given a graph G , it is NP-complete to decide whether G is a parallelogramgraph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 70 / 75

Page 283: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Definition

Parallelogram graphs are the intersection graphs of parallelograms betweentwo parallel lines.

Very similar structure with trapezoid graphs (subclass)

Can we recognize parallelogram graphs efficiently?

Theorem (Mertzios, Sau, Zaks, SIAM Journal on Computing, 2011)

Given a graph G , it is NP-complete to decide whether G is a parallelogramgraph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 70 / 75

Page 284: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Definition

Parallelogram graphs are the intersection graphs of parallelograms betweentwo parallel lines.

Very similar structure with trapezoid graphs (subclass)

Can we recognize parallelogram graphs efficiently?

Theorem (Mertzios, Sau, Zaks, SIAM Journal on Computing, 2011)

Given a graph G , it is NP-complete to decide whether G is a parallelogramgraph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 70 / 75

Page 285: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Definition (Corneil, Kamula, 1987)

A trapezoid graph G is called a triangle (or PI∗) graph, if it admitsa trapezoid representation, in which every trapezoid is a triangle.

L1

L2

Definition (Corneil, Kamula, 1987)

A trapezoid graph G is called a simple-triangle (or PI) graph, if it admitsa trapezoid representation, in which every trapezoid is a triangle withone point on L1 and the other two points (i.e. interval) on L2.

L1

L2

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 71 / 75

Page 286: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Definition (Corneil, Kamula, 1987)

A trapezoid graph G is called a triangle (or PI∗) graph, if it admitsa trapezoid representation, in which every trapezoid is a triangle.

L1

L2

Definition (Corneil, Kamula, 1987)

A trapezoid graph G is called a simple-triangle (or PI) graph, if it admitsa trapezoid representation, in which every trapezoid is a triangle withone point on L1 and the other two points (i.e. interval) on L2.

L1

L2

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 71 / 75

Page 287: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Permutation ⊂ Simple-Triangle ⊂ Triangle ⊂ Trapezoid

Triangle and simple-triangle graphs:

again very similar structure with trapezoid graphs (subclass)

can we recognize parallelogram graphs efficiently?

these problems remained open since 1987 (until recently)

Theorem (Mertzios, Theoretical Computer Science, 2012)

The recognition of triangle (i.e. PI∗) graphs is NP-complete.

Theorem (Mertzios, ESA, 2013)

Given a graph G with n vertices and m non-edges, we can decidein O(n2m) time whether G is a simple-triangle (i.e. PI) graph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 72 / 75

Page 288: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Permutation ⊂ Simple-Triangle ⊂ Triangle ⊂ Trapezoid

Triangle and simple-triangle graphs:

again very similar structure with trapezoid graphs (subclass)

can we recognize parallelogram graphs efficiently?

these problems remained open since 1987 (until recently)

Theorem (Mertzios, Theoretical Computer Science, 2012)

The recognition of triangle (i.e. PI∗) graphs is NP-complete.

Theorem (Mertzios, ESA, 2013)

Given a graph G with n vertices and m non-edges, we can decidein O(n2m) time whether G is a simple-triangle (i.e. PI) graph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 72 / 75

Page 289: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Permutation ⊂ Simple-Triangle ⊂ Triangle ⊂ Trapezoid

Triangle and simple-triangle graphs:

again very similar structure with trapezoid graphs (subclass)

can we recognize parallelogram graphs efficiently?

these problems remained open since 1987 (until recently)

Theorem (Mertzios, Theoretical Computer Science, 2012)

The recognition of triangle (i.e. PI∗) graphs is NP-complete.

Theorem (Mertzios, ESA, 2013)

Given a graph G with n vertices and m non-edges, we can decidein O(n2m) time whether G is a simple-triangle (i.e. PI) graph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 72 / 75

Page 290: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Trapezoid graphsSpecial subclasses

Permutation ⊂ Simple-Triangle ⊂ Triangle ⊂ Trapezoid

Triangle and simple-triangle graphs:

again very similar structure with trapezoid graphs (subclass)

can we recognize parallelogram graphs efficiently?

these problems remained open since 1987 (until recently)

Theorem (Mertzios, Theoretical Computer Science, 2012)

The recognition of triangle (i.e. PI∗) graphs is NP-complete.

Theorem (Mertzios, ESA, 2013)

Given a graph G with n vertices and m non-edges, we can decidein O(n2m) time whether G is a simple-triangle (i.e. PI) graph.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 72 / 75

Page 291: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Simple-Triangle (PI) graphs

Definition

A partial order P is a linear-interval order if P = P1 ∩ P2, where:

P1 is a linear order,

P2 is an interval order.

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 73 / 75

Page 292: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Simple-Triangle (PI) graphs

Definition

A partial order P is a linear-interval order if P = P1 ∩ P2, where:

P1 is a linear order,

P2 is an interval order.

Theorem

The complements of simple-triangle graphs are exactly the comparabilitygraphs of linear-interval orders.

Proof idea:

L1

L2

Ju Jv

Tu Tv

pu pv

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 73 / 75

Page 293: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Simple-Triangle (PI) graphs

Definition

A partial order P is a linear-interval order if P = P1 ∩ P2, where:

P1 is a linear order,

P2 is an interval order.

Theorem

The complements of simple-triangle graphs are exactly the comparabilitygraphs of linear-interval orders.

How to recognize linear-interval orders efficiently?

We can not apply directly the previous results for permutationand trapezoid graphs !

new techniques are needed

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 73 / 75

Page 294: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Simple-Triangle (PI) graphs

Theorem (Mertzios, ESA, 2013)

Given a graph G with n vertices and m non-edges, we can decidein O(n2m) time whether G is a simple-triangle (i.e. PI) graph.

Main idea of the algorithm:

Construct a Boolean formula φ = φ1 ∧ φ2 such that:

φ1 is a 3SAT formula

φ2 is a 2SAT formula

φ is satisfiable ⇔ such G is a PI graph

φ has a special structure:satisfiability on φ can be solved in linear time

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 74 / 75

Page 295: Advances in algorithmic graph theorysummerschool2013.ccaba.upc.edu/.../Lecture6.2_Mertzios.pdfAdvances in algorithmic graph theory George B. Mertzios School of Engineering and Computing

Thank you for your attention!

George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 75 / 75