8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
1/35
A Polynomial Time Algorithm for
Obtaining Minimum Edge Ranking onTwo-Connected Outerplanar Graphs
Shin-ichi Nakayama, Shigeru MasuyamaInformation Processing Letters 103 (2007) 216-221
Adviser: Yue-Li Wang
Speaker: Ying-Jhih Chen
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
2/35
Outerplanar Graph
Embedding in the plane
Such that every vertex appears on theboundary of the exterior face.
Lie on a fixed circle
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
3/35
Outerplanar Graph
Example:
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
4/35
Edge Ranking
An edge ranking of G is a labeling r from the edges ofG to the positive integers such that foreachpath
between any two edges eu andev, 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 evis called the rank of edgeev.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
5/35
Minimum Edge Ranking
An edge ranking ofGis minimum if thelargest rankk assigned is the smallestamong all rankings ofG. Such rankk is
called the edge ranking numberofG.Denoted bye(G).
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
6/35
Minimum Edge Ranking Graph
Example:
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
7/35
Abstract
Minimum edge ranking problem is NP-hard and nopolynomial time algorithm for solving it is knownfor non-trivial classes of graphs other than the classof trees.
On a general graph G, a relation between a minimumedge ranking ofG and its minimal cuts, whichensures that we can obtain apolynomial timealgorithm for obtaining minimum edge ranking ofa given graph G ifminimal cutsfor each subgraphof G can be found in polynomial time and thenumber of those is polynomial.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
8/35
Minimal Cut
G(E\E) denotes the subgraph obtained from G bydeleting the edges inE from E.
A set C E is said to be a cut of G if G(E\C) isdisconnected.
A cut C E of G is said to be a minimal cut of G, ifnoproper subsetof C is a cutofG.
AsetS2 is a proper subset of another set S1 if every
element in S2 is in S1 and S1 has some elementswhich are not in S2.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
9/35
Lemma 1
Suppose that edges of G are labeled with an edgeranking. Let k be the largest rank assigned to morethan one edge. After removing edges whose rank islarger than k from G, the resulting graph G is not
connected.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
10/35
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
11/35
Lemma 2
Let G = (V ,E) be a connected graph and be theclass of all minimal cuts of G. The following
formula holds with respect to a minimum edgeranking.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
12/35
Proof Lemma 2
let be k. We assign a unique rankchosen from {k+1, k+2,. . . , k +|C|} to each edge ofC.
Example:( |C|=2 )
Thus
K+1
K+2
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
13/35
Proof Lemma 2
Lete(G) l be the largest rank among ranks assigned to morethan one edge. Let C be a set of edges with rankse(G),e(G) 1, . . . , e(G) l + 1. Then, |C| = l.By Lemma 1, G(E\C) is dividedinto at least two connectedsubgraphs, but C may not be a minimal cut.
Fortunately, however, a minimal cut C is obviously included inC. Let |C| = i ( l). We reassign labels e(G),e(G) 1, . . . ,e(G) i+ 1 to edges in C ande(G) i,e(G) i 1, . . . , e(G) l + 1 to edges inC\C. Note that, by the above process, the labels of edges inE\Cassigned by the minimum edge ranking ofG are not changed. As labels in
Care mutually different, even if we reassign labels to edges in C by the above manner, the resulting labeling is a minimum edgeranking ofG.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
14/35
Proof Lemma 2
As C is a minimalcut, G(E\C) is divided into twoconnected subgraphs , .
Each edge of and has a rank among 1, . . . ,
e(G) |C|. Hence, the largest rank ofedges of
and is not greater thane(G) |C|.Consequently,
Thus
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
15/35
Example
|C|=i=3 , |C*|=l=5
By lemma 1, G(E,C*) divide into at least two connected subgraphs.
C*
e(G)
e(G)-1
e(G)-2
e(G)-3
e(G)-5
e(G)-5
e(G)-4
C
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
16/35
Half-cycle Subgraph
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
17/35
Anti-half-cycle subgraph
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
18/35
Find Minimum Edge Ranking
Takes timesExample:
PS. 46 = 4096
1 2
34
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
19/35
Find All Minimal Cuts That Divide G into Two MaximalConnected Subgraphs
We first find all minimal cuts: c(k,l,G[1,1;1,4])c(1,1,G[1,1;1,4])=2
12
34
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
20/35
Find c(1,2,G[1,1;1,4])
c(1,2,G[1,1;1,4])=3
1 2
34
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
21/35
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])=3c(2,3,G[1,1;1,4])=3, c[2,4,G[1,1;1,4])=2c(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])=3c(4,1,G[1,1;1,4])=3, c(4,2,G[1,1;1,4])=2c(4,3,G[1,1;1,4])= , c(4,4,G[1,1;1,4])=3The number ofc(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 processtakes O(n^3) time in total.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
22/35
Set Default Value
e(G[1,1;1,1])=0,e(G[2,2;2,2])=0e(G[3,3;3,3])=0,e(G[4,4;4,4])=0e(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
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
23/35
Bottom Up
e(G[1,1;2,2])=e(G[1,1;1,2])=1e(G[1,1;3,3])= (its disconnected graph itself)
e(G[4,4;1,1])=e(G[4,4;4,1])=1
e(G[1,1;4,4])=e(G[4,4;1,1])=1e(G[2,2;4,4]): (C=1)=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
1 2
2
4
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
24/35
Finde(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
1 2
3
1 2
3
1 2
3
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
25/35
Finde(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
3
2
4 2
344
2
3
43
2
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
26/35
e(G[x,y;z,w])
e(G[4,4;4,2])=3e(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
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
27/35
Sorte(G[x,y;z,w])
Sorte(G[x,y;z,w]) according to increasing numberof vertices ofG[x,y;z,w].
Can be executed using thebucket sort and thenumber of data is O(n^4), thus its execution takesO(n^4) time.
Bucket sort, orbin sort, is a sorting algorithm thatworks by partitioning an array into a finite number
of buckets. bucket sort is not a comparison sort.Under certain conditions for input data the bucketsort may run in linear time ((n)).
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
28/35
Finds a Minimum Edge Ranking on a 2-connected outerplanargraph
Formula:
A graph is said to be K-connected if there does not
exist a set of K-1 vertices whose removal disconnectsthe graph.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
29/35
Add Dummy Edge Case (i)
Case (i) The case where the degree of either vertex xor y of a half-cycle subgraph G[x, x;x, y] is 1
Example:
y
x
Dummy Edge
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
30/35
Add Dummy Edge Case(ii)
Case (ii) The case where the degree of at least one ofx, y, z, w of an anti-half-cycle subgraphG[x,y;z,w] is 1
x y
zw
Dummy Edge
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
31/35
Time Complexity
For O(n^4) subgraphs G[x,y;z,w], x, y, z,w = 1, . . . ,n, each subgraph is calculated for at mostO(n^2)cuts.
This step can be executed in O(n^6) time.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
32/35
Final Step
Final step: Outpute(G[1, 1;1,n]) that is a minimumedge ranking of G.
This step can be done in O(1) time.
As a whole, it takes time.
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
33/35
Finde(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
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
34/35
Figure
1 2
34
1
1
2
2
3
3
4
4
8/14/2019 A Polynomial Time Algorithm for Obtaining Minimum Edge
35/35
Minimum Edge Ranking Graph
1 2
34
(1)
(1)
(4)
(3)
(2)
Top Related