Upload
others
View
3
Download
0
Embed Size (px)
Citation preview
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Overview
Partial orders
Comparability graphs
Permutation graphs
Trapezoid graphs
George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 15 / 75
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Overview
Partial orders
Comparability graphs
Permutation graphs
Trapezoid graphs
George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 44 / 75
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Overview
Partial orders
Comparability graphs
Permutation graphs
Trapezoid graphs
George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 56 / 75
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Thank you for your attention!
George Mertzios (Durham) Advances in algorithmic graph theory EULER, July 2013 75 / 75