A Polynomial Time Algorithm for Obtaining Minimum Edge

download A Polynomial Time Algorithm for Obtaining Minimum Edge

of 35

Transcript of A Polynomial Time Algorithm for Obtaining Minimum Edge

  • 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)