380 likes | 482 Views
Circle Graph and Circular Arc Graph Recognition. Outlines. Circle Graph Recognition Circular-Arc Graph Recognition. x. y. Chords of a circle. A chord v is associated two endpoints { x , y }. a. e. f. b. d. c. Circle Graph.
E N D
Outlines • Circle Graph Recognition • Circular-Arc Graph Recognition
x y Chords of a circle • A chord v is associated two endpoints {x,y} a e f b d c
Circle 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
Shift and Reverse Unique 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.
Overview • 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.
G1 G2 V3 V0 V2 V1 m2 m1 Join Decomposition V0 V3 V1 V2 m1 m2 All Edges
Prime 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.
(a) a house Members of the Set F (b) A tepee (c) A figure-8 (d) Primitive cycles of length k ≧ 5
1 2 3 2 3 4 5 (b) A tepee 4 1 Round tent The Members of the Set F 5
The 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) )
Circular-Arc Graph Recognition Check the flow chart in the handout
Circular-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
An Arc Model • Denote arc iby head(i), tail(i) scanned in the clockwise order.
1 1 3 4 5 5 2 2 Two Different Arc Modelsunnecessary variations 5 1 3 2 3 4 4
Vertex Adjacency in circular arc graphs • Two vertices v1 and v2 in G are said to be • Independentif 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)\{v1}=N(v2)\{v2} • To define normalized models, we need to assume there are no similar vertices
A 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 <=> v1 is not adjacent to v2 • (2) u1 is contained in u2 <=> N(v1) ⊆ N(v2) • (3) u1strictly overlaps u2 <=> v1 is strictly but not strongly adjacent to v2 • (4) u1 and u2cover the circle <=> v1 is strictly but not strongly adjacent to v2
A Unique Normalized Model • A first step towards unique arc model. • To avoid unnecessary model variation, define a Normalized Modelfor 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.
How 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)
Two types of Violations • If R is nota 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)
Endpoint 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
Algorithm 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))
Algorithm 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))
Algorithm I (eliminating Type I violation) 3 • IfT2is not empty, insert h(i) between T2andT1. • Repeat the procedure for t(i). T1 T2 t(i) h(i)
t(4) > t(3) > t(2) > t(1) Algorithm 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) < h(2) > h(1) > h(3)
The 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
Utilizing 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
The non-Unique Chord Representation (Type I) Consider the connected components of Gc
The non-Unique Chord Representation (Type II) Consider the “module-free” subgraph of Gc
Modular Decomposition • To obtain components which do not contain type I or type II structures, can use Modular Decomposition to decompose Gc
d2 d1 d3 Conformal 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
Conformal Model • Three nodes vi,vj and vk of G are parallel (vi|vj|vk) 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.
Conformal Model • A chord model is a Conformal Modeliff v1|v2|v3 when d1|d2|d3. • 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.
The 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.
The 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
Summary • Recognition Algorithm • Take a proposed circular-arc graph G and transform it into a circle graph Gc • DecomposeGcinto s-inseparable components. • IfGis indeed a circular-arc graph, we can find a conformal model ofGcand transform it back to an N-model ofG. • Otherwise, there is a contradiction, and G is not a circular arc graph.