Title: Circle Graph and Circular Arc Graph Recognition
1Circle Graph and Circular Arc Graph Recognition
2Outlines
- Circle Graph Recognition
- Circular-Arc Graph Recognition
3Chords of a circle
- A chord v is associated two endpoints x,y
a
e
f
b
d
c
4Circle Graph
- A circle graph is a graph whose vertices can be
associated with chords of a circle such that two
vertices are adjacent if and only if the
corresponding chords in the circle intersect.
e
a
d
e
a
f
f
c
b
d
c
b
5Unique Chord Models
- Consider the two equivalent Chord Models of the
following circle graph. - A circle graph is uniquely represented if all of
its Chord Models are equivalent.
6Circle Graph Recognition
7Overview
- Let G(V,E) be the input circle graph.
- Decompose a given graph G into the Prime
Subgraphs through join decomposition - Each prime component has a unique chord model
- Create a a unique chord model for a Prime
Subgraph - Find a member W of a family F whose members have
unique chord models first. - Determine the chords for the vertices in V-W.
8Join Decomposition
V3
V0
V1
V2
m1
m2
All Edges
9Prime Subgraphs
- A subgraph G(V, E) is a prime subgraph iff it
is join-inseperatable. - A prime subgraph G, V 5, contains a subgraph
(a member of the set F) which has a simple and
unique chord presentation. - The family of the subgraph which has a simple and
unique chord presentation is named as the set F.
10Members of the Set F
(b) A tepee
(c) A figure-8
(d) Primitive cycles of length k ? 5
11The Members of the Set F
5
12The unique placement of chords
- Assume we have found a W which is a member of f.
We construct the unique chord model for W first. - Then, if we arrange the remaining vertices
carefully, there is a unique placement for each
of them iteratively. (C. Gabor, W. L. Hsu and K.
Supowit, Recognizing circle graphs in polynomial
time," J. Assoc. Comput. Machin., 435-473, (1989)
)
13Circular-Arc Graph Recognition
- Check the flow chart
- in the handout
14Circular-Arc Graph
- A circular-arc graph is the intersection graph of
a set of arcs on the circle. It has one vertex
for each arc in the set, and an edge between
every pair of vertices corresponding to arcs that
intersect.
7
8
6
3
1
2
4
5
15An Arc Model
- Denote arc i by head(i), tail(i) scanned in the
clockwise order.
16Two Different Arc Modelsunnecessary variations
5
1
3
2
3
4
4
17Vertex Adjacency in circular arc graphs
- Two vertices v1 and v2 in G are said to be
- Independent if v1 is not adjacent to v2.
- strictly adjacent if v1 is adjacent to v2 but
neither N(v1) nor N(v2) is contained in the
other. - strongly adjacent if v1 and v2 are strictly
adjacent and every w in V(G)\N(v1) satisfies that
N(w) ? N(v2) and every w in V(G)\N(v2)
satisfies that N(w) ? N(v1) . - Similar if N(v1)\v1N(v2)\v2
- To define normalized models, we need to assume
there are no similar vertices
18Overlapping relationships of a pair of arcs
19A normalized Arc Model
- An arc Model R for a Circular-Arc Graph G is
normalized if every pair of arcs u1 and u2 and
the corresponding pair of nodes v1and v2 satisfy - (1) u1 is independent of u2 ltgt v1 is not
adjacent to v2 - (2) u1 is contained in u2 ltgt N(v1) ? N(v2)
- (3) u1 strictly overlaps u2 ltgt v1 is strictly
but not strongly adjacent to v2 - (4) u1 and u2 cover the circle ltgt v1 is strictly
but not strongly adjacent to v2
20A Unique Normalized Model
- A first step towards unique arc model.
- To avoid unnecessary model variation, define a
Normalized Model for each circular-arc graph - An arc model C is equivalent to C if C can be
obtained from C by rotation (shift) and
reflection (clockwise ? counter-clockwise). - A circular-arc graph is said to have a unique
normalized model if all normalized models are
equivalent.
21How to normalize an existing arc model?
Possible Violations
- Type I
- u1 strictly overlaps u2 but v1 and v2 are
strongly adjacent. (Algorithm I) - Type II
- u1 strictly overlaps u2 but v1 is contained in
v2. (Algorithm II)
22Two types of Violations
- If R is not a normalized model for G, there are
two types of violations. - Type I
- u1 strictly overlaps u2 but v1 and v2 are
strongly adjacent. (eliminated by Algorithm I) - Type II
- u1 strictly overlaps u2 but v1 is contained in
v2. (eliminated by Algorithm II)
23Endpoint Blocks of an Arc Model
- A head (or tail) block is a set of maximal
contiguous subsequence of heads (tails)
h(1)
t(1)
1 2 3 4
h(2)
t(2)
h(3)
h(4)
t(3)
t(4)
head block H
tail block T
24Algorithm I (eliminating Type I violation) 1
- For each head h(i), find the first tail block
T(h(i)) by a counterclockwise traversal from h(i)
t(i)
h(i)
T(h(i))
25Algorithm I (eliminating Type I violation) 2
- T(h(i)) T1?T2. T1 is the tails of those
corresponding arcs not overlapping arc i. - T2 T(h(i))\T1
T2
T1
t(i)
h(i)
T(h(i))
26Algorithm I (eliminating Type I violation) 3
- If T2 is not empty, insert h(i) between T2 and
T1. - Repeat the procedure for t(i).
T1
T2
t(i)
h(i)
27Algorithm II (eliminating Type II violation)
- For each head block, sort the order of the heads
by its corresponding reverse order of tails.
1 2 3 4
h(4) lt h(2) gt h(1) gt h(3)
28The Associated Circle Graph Gc
- Associate with each graph G the graph Gc that has
the same vertex set as G such that two vertices
in Gc are adjacent iff they are strictly but not
strongly adjacent in G.
Gc
G
29Utilizing theAssociated Circle Graph Gc
- G is a circular-arc graph iff all induced
subgraphs of G are circular arc graph. - Use the Associated Circle Graph Gc to construct a
normalized arc model of G. - However, the same arc model may still associate
with multiple chords model. - How to deal with such a phenomenon? Graph
decomposition
30The non-Unique Chord Representation (Type I)
Consider the connected components of Gc
31The non-Unique Chord Representation (Type II)
Consider the module-free subgraph of Gc
32Modular Decomposition
- To obtain components which do not contain type I
or type II structures, can use Modular
Decomposition to decompose Gc
33Conformal Model
- Does the chord model necessarily represent a
N-model? - The chord model represents a N-model if it is a
Conformal Model. - Three chords d1, d2 and d3 (d1 d2 d3 ) are
said to be parallel if
series
parallel
d2
d1
d3
34Conformal Model
- Three nodes vi,vj and vk of G are parallel
(vivjvk) if one of the following 8 conditions
is satisfied - (1) vk contains vj vj contains vi.
- (2) vk contains vj vj and vi cover the circle.
- (3) vk is contained in vj vi contains vj.
- (4) vk is contained in vj vi is independent of
vj. - (5) vk is independent of vj vj contains vi.
- (6) vk is independent of vj vj and vi cover the
circle. - (7) vk and vj cover the circle vj is independent
of vi - (8) vk and vj cover the circle vi contains vj.
35Conformal Model
- A chord model is a Conformal Model iff v1v2v3
when d1d2d3. - Let G be a circular-arc graph with a connected
Gc (the complement of Gc). Then a model for Gc
is conformal iff it is a chord model associated
with an N-model for G.
36The Transformation from chords back to Arcs (easy
part)
- Let G be a circular-arc graph with a connected
Gc (the complement of Gc). Let D be an
associated chord model of Gc. Then D determines a
unique N-model R of G. - For a fixed arc i, a new arc j
- Is on the opposite side of i if i is independent
of j - or cover the circle with j.
- A new arc j on the same side of i if i contains j
or is contained in j.
37The Transformation from chords back to Arcs
1
Gc
2
3
6
7
4
5
5
6
4
7
The complement of Gc
1
2
3
1
2
3
7
4
6
5
38Summary
- Recognition Algorithm
- Take a proposed circular-arc graph G and
transform it into a circle graph Gc - Decompose Gc into s-inseparable components.
- If G is indeed a circular-arc graph, we can find
a conformal model of Gc and transform it back to
an N-model of G. - Otherwise, there is a contradiction, and G is not
a circular arc graph.