You are on page 1of 35

A Polynomial Time Algorithm for

Obtaining Minimum Edge Ranking on


Two-Connected Outerplanar Graphs

Shin-ichi Nakayama, Shigeru Masuyama


Information Processing Letters 103 (2007) 216-221

Adviser: Yue-Li Wang

Speaker: Ying-Jhih Chen


Outerplanar Graph

Embedding in the plane


Such that every vertex appears on the
boundary of the exterior face.
Lie on a fixed circle
Outerplanar Graph

Example:
Edge Ranking

An edge ranking of G is a labeling r from the edges of


G to the positive integers such that for each path
between any two edges eu and ev, eu ≠ ev, with r(eu)
= r(ev), there exists at least one edge ew on the
path with r(ew) > r(eu) = r(ev).
The value r(ev) of an edge ev is called the rank of edge
ev .
Minimum Edge Ranking

An edge ranking of G is minimum if the


largest rank k assigned is the smallest
among all rankings of G. Such rank k is
called the edge ranking number of G.
Denoted by χe(G).
Minimum Edge Ranking Graph

Example:
Abstract

Minimum edge ranking problem is NP-hard and no


polynomial time algorithm for solving it is known
for non-trivial classes of graphs other than the class
of trees.
On a general graph G, a relation between a minimum
edge ranking of G and its minimal cuts, which
ensures that we can obtain a polynomial time
algorithm for obtaining minimum edge ranking of
a given graph G if minimal cuts for each subgraph
of G can be found in polynomial time and the
number of those is polynomial.
Minimal Cut

G(E\E’) denotes the subgraph obtained from G by


deleting the edges in E’ from E.
A set C ⊆ E is said to be a cut of G if G(E\C) is
disconnected.
A cut C ⊆ E of G is said to be a minimal cut of G, if no
proper subset of C is a cut of G.
A set S2 is a proper subset of another set S1 if every
element in S2 is in S1 and S1 has some elements
which are not in S2.
Lemma 1

Suppose that edges of G are labeled with an edge


ranking. Let k be the largest rank assigned to more
than one edge. After removing edges whose rank is
larger than k from G, the resulting graph G is not
connected.
Proof Lemma 1

Let r(e) be the rank of an edge e assigned by an edge


ranking of G. Assume that G is not divided into
more than one connected subgraph, that is, G is a
connected subgraph of G. Note that two different
edges eu, ev with the same rank r(eu) = r(ev) = k
exist in G by the definition of k. Then, there is a path
between eu and ev in G as G is assumed to be
connected. However, no edge ez with rank r(eu) <
r(ez) exists on the path by the definition of k and G,
which is a contradiction as r does not satisfy the
condition of edge ranking of G.
Lemma 2

Let G = (V ,E) be a connected graph and be the


class of all minimal cuts of G. The following
formula holds with respect to a minimum edge
ranking.

Proof Lemma 2

let be k. We assign a unique rank


chosen from {k+1, k+2,. . . , k +|C|} to each edge of
C.
Example:( |C|=2 )

K+1




 K+2

Thus
Proof Lemma 2

 Letχe(G) − l be the largest rank among ranks assigned to more


than one edge. Let C∗ be a set of edges with ranks χe(G), χe(G) −
1, . . . , χe(G) − l + 1. Then, |C∗| = l. By Lemma 1, G(E\C∗) is divided
into at least two connected subgraphs, but C∗ may not be a minimal cut.
Fortunately, however, a minimal cut C’ is obviously included in

C . Let |C’| = i (≦ l). We reassign labels χe(G),χe(G) − 1, . . . , χe(G) − i
+ 1 to edges in C’ and χe(G) − i,χe(G) − i − 1, . . . , χe(G) − l + 1 to edges in

C \C’. Note that, by the above process, the labels of edges in E\C ∗
assigned by the minimum edge ranking of G are not changed. As labels in
C ∗are mutually different, even if we reassign labels to edges in C ∗
by the above manner, the resulting labeling is a minimum edge
ranking of G.
Proof Lemma 2

As C’ is a minimal cut, G(E\C’) is divided into two


connected subgraphs , .
Each edge of and has a rank among 1, . . . ,
χe(G) − |C’|. Hence, the largest rank of edges of
and is not greater than χe(G) − |C’|.
Consequently,


Thus
Example

|C’|=i=3 , |C*|=l=5

χe(G)-5 C’ C*
χe(G) χe(G)-3 χe(G)-5

χe(G)-1

χe(G)-2 χe(G)-4

By lemma 1, G(E,C*) divide into at least two connected subgraphs.


Half-cycle Subgraph
Anti-half-cycle subgraph
Find Minimum Edge Ranking

Takes times
Example: 3
4





1 2

PS. 46 = 4096

Find All Minimal Cuts That Divide G into Two Maximal
Connected Subgraphs

We first find all minimal cuts: c(k,l,G[1,1;1,4])


c(1,1,G[1,1;1,4])=2 4 3

1
2
Find c(1,2,G[1,1;1,4])

c(1,2,G[1,1;1,4])=3
4 3

1 2
Find All Minimal Cuts: c(k,l,G[1,1;1,4])

Thus:
c(1,3,G[1,1;1,4])=3 , c(1,4,G[1,1;1,4])= ×
c(2,1,G[1,1;1,4])= × , c[2,2,G[1,1;1,4])=3

c(2,3,G[1,1;1,4])=3, c[2,4,G[1,1;1,4])=2

c(3,1,G[1,1;1,4])=3, c(3,2,G[1,1;1,4])= ×

c(3,3,G[1,1;1,4])=2, c(3,4,G[1,1;1,4])=3

c(4,1,G[1,1;1,4])=3, c(4,2,G[1,1;1,4])=2

c(4,3,G[1,1;1,4])= × , c(4,4,G[1,1;1,4])=3

The number of c(k, l,G), k, l = 1, . . . ,n, is O(n^2). Then, as


each c(k, l,G) can be found in O(n) time, this process
takes O(n^3) time in total.

Set Default Value

χe(G[1,1;1,1])=0, χe(G[2,2;2,2])=0
χe(G[3,3;3,3])=0, χe(G[4,4;4,4])=0

χe(G[1,1;1,2])=1, χe(G[2,2;2,3])=1

χe(G[3,3;3,4])=1, χe(G[4,4;4,1])=1
Bottom Up

χe(G[1,1;2,2])=χe(G[1,1;1,2])=1 1 2

χe(G[1,1;3,3])= ×(it’s disconnected graph itself)


χe(G[4,4;1,1])=χe(G[4,4;4,1])=1 4

χe(G[1,1;4,4])=χe(G[4,4;1,1])=1
χe(G[2,2;4,4]): (C=1)
2
=min{|C|+max{G[2,2;2,2],G[4,4;4,4]}}
=min{1+max{0,0}}=min{1+0}=1

χe(G[4,4;2,2])=χe(G[2,2;4,4])=1

Find χe(G[1,1;1,3])

χe(G[1,1;1,3])=min{|C|+max{G[3,3;3,3],G[1,1;1,2]},|
C|+max{G[1,1;1,1],G[2,2;2,3]}}=min{1+max{0,1} ,
1+max{0,1} }=min{1+1,1+1}=min{2,2}=2
3 3

1 1 2
2

1 2
Find χe(G[2,2;2,4])

χe(G[2,2;2,4])=min{|C|+max{G[2,2;2,2],G[3,3;3,4]} ,
|C|+max{G[3,3;3,3],G[4,4;2,2]} , |C|
+max{G[4,4;4,4],G[2,2;2,3]}}=min{2+max{0,1},2+
max{0,1},2+max{0,1}}=min{2+1,2+1,2+1}=min{3,3,
3}=3
4 3
4 3

4 2 2
3

4
3
2
2
Χe(G[x,y;z,w])

χe(G[4,4;4,2])=3
χe(G[1,2;4,4])=min{|C|+max{G[1,1;1,1],G[2,2;4,4]} , |
C|+max{G[2,2;2,2],G[4,4;4,1]} , |C|
+max{G[4,4;4,4],G[1,1;1,2]}}=min{2+1,2+1,2+1}=3
Sort χe(G[x,y;z,w])

Sort χe(G[x,y;z,w]) according to increasing number


of vertices of G[x,y;z,w].
Can be executed using the bucket sort and the
number of data is O(n^4), thus its execution takes
O(n^4) time.
Bucket sort, or bin sort, is a sorting algorithm that
works by partitioning an array into a finite number
of buckets. bucket sort is not a comparison sort.
Under certain conditions for input data the bucket
sort may run in linear time (Θ(n)).

Finds a Minimum Edge Ranking on a 2-connected outerplanar
graph

Formula:





A graph is said to be K-connected if there does not
exist a set of K-1 vertices whose removal disconnects
the graph.

Add Dummy Edge Case (i)

Case (i) The case where the degree of either vertex x’


or y’ of a half-cycle subgraph G[x’, x’;x’, y’] is 1
Example:

y’

Dummy Edge

x’
Add Dummy Edge Case(ii)

Case (ii) The case where the degree of at least one of


x’, y’, z’, w’ of an anti-half-cycle subgraph
G[x’,y’;z’,w’] is 1
w’ z’

Dummy Edge

x’ y’
Time Complexity

For O(n^4) subgraphs G[x,y;z,w], x, y, z,w = 1, . . . ,


n, each subgraph is calculated for at most O(n^2)
cuts.
This step can be executed in O(n^6) time.
Final Step

Final step: Output χe(G[1, 1;1,n]) that is a minimum


edge ranking of G.
This step can be done in O(1) time.
As a whole, it takes time.
Find χe(G[1,1;1,4])

χe(G[1,1;1,4])=min{|c(4,2,G[1,1;1,4])|
+max{χe(G[1,2;4,4]), χe(G[3,3;3,3])} , |
c(2,3,G[1,1;1,4])|+max{χe(G[4,4;4,1]),
χe(G[2,2;2,3])} , …}=min{2+max{3,0},3+max{1,1},
…}=min{2+3,3+1,…}=min{5,4,…}=4
Figure

4 3
4 3

1 2
1 2

4 3

1 2
Minimum Edge Ranking Graph

(4)
4 3

(1 (3) (1
) )

1 2
(2)

You might also like