Approximating the minimum degree spanning tree to within one from the optimal degree
Download
1 / 72

Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree - PowerPoint PPT Presentation


  • 158 Views
  • Uploaded on

Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree. R96922115 陳建霖 R96922055 宋彥朋 B93902023 楊鈞羽 R96922074 郭慶徵 R96922142 林佳慶. Authors. Martin Furer Department of Computer Science and Engineering The Pennsylvania State University

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree' - dane


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Approximating the minimum degree spanning tree to within one from the optimal degree

Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree

R96922115 陳建霖

R96922055 宋彥朋

B93902023 楊鈞羽

R96922074 郭慶徵

R96922142 林佳慶


Authors
Authors from the Optimal Degree

  • Martin Furer

    Department of Computer Science and EngineeringThe Pennsylvania State University

  • Balaji Raghavachari

    Computer Science Department, EC 3.1University of Texas at Dallas


Application
Application from the Optimal Degree

  • Distribution of mail and news on the Internet

  • Designing power grids


Similar approximation properties
Similar approximation properties from the Optimal Degree

  • Edge coloring problem

  • 3-colorability of planer graphs


Theorem 1
Theorem 1 from the Optimal Degree

  • There is a polynomial time approximation algorithm for the minimum degree spanning tree problem which produces a spanning tree of degree


Theorem 2
Theorem 2 from the Optimal Degree

  • There is a polynomial time approximation algorithm for the minimum degree Steiner tree problem which produces a Steiner tree of degree


Theorem 3
Theorem 3 from the Optimal Degree

  • There is a polynomial time approximation algorithm for the directed version of the minimum degree spanning tree problem which produces a directed spanning tree of degree


Theorem 4
Theorem 4 from the Optimal Degree

  • There is a polynomial time approximation algorithm for the minimum degree spanning tree problem which produces a spanning tree of degree at most


A simple approximation algorithm

A Simple Approximation Algorithm from the Optimal Degree


Improvement
Improvement from the Optimal Degree

  • :the degree of vertex u in T

  • If

    we now introduce an “improvement” in T by adding the edge and deleting one of the edge in C incident to


Example
Example from the Optimal Degree

G

T

3

2

1

1

<=2

<=2


Locally optimal tree
Locally Optimal Tree from the Optimal Degree

  • Def: A locally optimal tree (LOT) is a tree in which none of the non-tree edges produce any improvements. Its maximal degree denoted by k

  • Def: contains those vertices of T which have degree at least i


Theorem
Theorem from the Optimal Degree

  • For any b>1, the maximal degree k of a locally optimal tree T is less than

    Hence, k =


Proof
Proof from the Optimal Degree

  • Observe the ratio of can be larger than b at most times in a row. To be more precise, there is an i with

    k- +1 i k such that

    Otherwise, we have

    which lead to a contradiction


Proof1
Proof from the Optimal Degree

  • Suppose we remove the vertices of from T. This split T into a forest F with t trees. And we can say that


Proof2
Proof from the Optimal Degree

  • Now, we can say the average degree of vertices in in any spanning tree of G is at least


Proof3
Proof from the Optimal Degree


Algorithm sketch
Algorithm (sketch) from the Optimal Degree

  • We start with an arbitrary spanning tree T of G

  • We used the local optimality condition only on “ high”( ) degree vertices.

  • The algorithm stops when no vertex in

    has a local improvement.

  • Each phase of the algorithm can be implemented in polynomial time.


Theorem 11
Theorem 1 from the Optimal Degree

  • There is a polynomial time approximation algorithm for the minimum degree spanning tree problem which produces a spanning tree of degree


Idea from the Optimal Degree

  • We just need to show that the number of phases is bounded by a polynomial in n.


Proof4
Proof from the Optimal Degree

  • Recall :the degree of vertex u in T

  • Define a potential function such that

    (c>2)

  • Define total potential of the tree is the sum of the potentials of all vertices.

  • We can say that where k is the maximal degree of T


Proof5
Proof from the Optimal Degree


Proof6
Proof from the Optimal Degree

  • For ,

    where


Proof7
Proof from the Optimal Degree

  • Observe we need phases,the potential reduces by a constant factor.

  • On the other hand, k cannot decrease more than n times.

  • Hence, bound on the number of phases.


The steiner tree version

The Steiner tree version from the Optimal Degree


Steiner problem
Steiner Problem from the Optimal Degree

Consider a graph G = (V,E) and a distinguished set of vertices D V.

Steiner spanning tree: Find a tree whichspans the vertices set D, paths in the tree may go through vertices of V - D.

D1

D2

D3

D4

W1

D5

D6

W4

W2

W3

D7

D8


Steiner problem cont
Steiner Problem (cont.) from the Optimal Degree

Minimum Degree Steiner (spanning) Tree

To find a tree of minimum degree, which spans the set D.

This is a generalization of the [Minimum Degree Spanning Tree] problem.


Steiner problem cont1
Steiner Problem (cont.) from the Optimal Degree

We start with an arbitrary tree T which spans D and retain only edges which separate the set D in T.

In other words, there are no useless edges since every edge separates at least two distinguished vertices.


Let W be the set of vertices spanned by T. (W : all vertices in the tree T)

Non-tree path: a path between two vertices in W which goes entirely through vertices of V-W except for the end point.



Steiner problem cont2
Steiner Problem (cont.) in the tree T)

Pseudo optimal Steiner tree (POST):

Every edge in the tree separates at least two distinguished vertices.

None of the non-tree paths produce any improvement for any vertex in Si for i = k- ⌈log n⌉ , where k denotes the maximal degree of the tree.

If this property is true for all i, then we call it locally optimal Steiner tree (LOST).


Steiner problem cont3
Steiner Problem (cont.) in the tree T)

Similar to the theorem 2.1, we have theorem 3.1: for any b>1, the maximal degree k of a LOST T is at most bΔ* + ⌈log n⌉ . Hence k = O(Δ* + log n ).

This idea can be converted into a polynomial time algorithm which produces a Steiner tree of degree O(Δ* + log n ).


Steiner problem cont4
Steiner Problem (cont.) in the tree T)

Theorem 1.2. There is a polynomial time approximation algorithm for the minimum degree Steiner tree problem which produces a Steiner tree of degree O(Δ* + log n ).




What is a directed spanning tree
What is a directed spanning tree ? in the tree T)

  • Def : A rooted spanning tree T of G is a

    subgraph of G with the following

    properties:

    • T does not contain any cycles.

    • The outdegree of every vertex except r is exactly one.

    • There is a path in T from every vertex to the root r.


An example
An example in the tree T)


Recall
Recall in the tree T)

3

2

1

1

<=2

<=2

The improvement in the undirected case



New improvement
New “improvement” in the tree T)

Idea : Consider a vertex v of indegree i.

Try to reduce the indegree of the

vertex by attaching one of the i

subtrees of v to another vertex of

smaller degree.


Step1 : Move the root of the subtree T’ that is in the tree T)

being removed from v to a “convenient”

vertex in that subtree.

Step2 : Attach T’ to another vertex outside

the tree to which the new root has a

connection.


What is a convient vertex
What is a convient vertex ? in the tree T)

  • The set of convenient vertices are those in the

    strongly connected part of the root of T’ in

    the graph induced by the vertices of T’ with all

    non-tree edges removed from vertices of

    degree i – 1 or greater.

  • We pick a convenient vertex from convenient set


T’ in the tree T)


Algorithm in directed version
Algorithm in directed version in the tree T)

  • The algorithm tries to decrease the degrees of

    vertices in Si for i =k – using the

    improvement step above.


A lemma
A Lemma in the tree T)

Let T be a directed spanning tree of degree k.

Let Si consist of those vertices whose indegree

is at least i. Suppose we remove the vertices of

Si from T, breaking T into a forest F.

Then there are at least t = ISiI× (i – 1) + 1 trees

of F whose vertices do not have descendants of

degree i or greater in T.


Let Y be “ in the tree T)a tree of F whose vertices

do not have descendants of degree i

or greater in T “ ?

What is a Y ?


i in the tree T)

descendent

ancestor


Why is i i i 1 1
Why in the tree T)ISiI× (i – 1) + 1 ?

  • We use induction on the size of |Si|

    • Basis : if |Si| =1, then there are (i-1) +1 = i subtrees like Y (o.k)

    • Note : Each addition of a vertex to the set Si

      can remove at most one tree from the

      set of candidate trees, but adds at

      least i more.


  • suppose that |S in the tree T)i| = k holds, i.e : there are k ×(i-1)+1 subtrees like Y.

  • then if |Si| = k+1, we will have at least

    [k ×(i-1)+1]+i-1 = k×i-k+i = (k+1) ×(i-1)+1

  • By math induction, we complete the proof.


  • Theorem 1 3
    THEOREM 1.3 in the tree T)

    • There is a polynomial time approximation algorithm for the directed version of the minimum degree spanning tree problem which produces a directed spanning tree of degree O(∆* + logn).


    Illustration
    illustration in the tree T)

    • As in the proof of the undirected case, we look

      for an i in the range k to k – where the

      set Si does not “expand” by more than a

      constant factor.

    • We will have at least [ ISiI× (i – 1) + 1 ]+ ISiI−1

      edges connecting these components and each

      one of these edges is incident to at least one

      vertex in Si-1


    Illustration1
    illustration in the tree T)

    • Hence the average degree of vertices in Si-1 in

      any spanning tree of G is at least

    • The maximal degree ∆* is at least the average

      degree of these vertices.


    Illustration2
    illustration in the tree T)

    Hence,


    The 1 algorithm

    The △ in the tree T)*+1 algorithm


    Definition
    Definition in the tree T)

    If ρ(u) ≧ k – 1, we say that u blocks w from (u, v).

    w

    T

    k-1

    k

    T

    w

    k-1

    k

    k-1

    k

    u

    v

    ≦k-2

    k-1

    ≦k-2

    k-1

    u

    v

    If neither u nor v blocks w, then w benefits from (u, v).


    The algorithm works in phases
    The algorithm works in phases in the tree T)

    • (Recall Def.) Suppose k were the maximal degree of a spanning tree T, Let Si be the set of vertices of degree at least i in T.

    • In each phase we try to reduce the size of Sk by one. If successful, we move on to the next phase.

    • So we also update k after each phase.

    • Even in a phase the number of vertices of degree at most k-1 increases so many, but it’s ok!


    Local optimality property

    Local Optimality Property in the tree T)

    Our solution

    We use the local optimality property.

    many phases

    try to improve

    Max degree = k

    but |Sk| remains the same…


    How many phases
    How many phases? in the tree T)

    • As the size of Sk reduces by one in each phase (except the last one), there are at most O (n / k) phases when the maximal degree is k.

    • At most phases

    k=1

    maximal degreefrom k to k-1

    k=2


    Theorem1
    Theorem in the tree T)

    • Let △* be the degree of a MDST.

    • Let S be the set Sk.

    • Let B be an arbitrary subset of vertices of degree k–1 in T.

    S U B

    F

    suppose no such edges exist

    then k≦△*+1


    Try to prove something
    Try to prove in the tree T)△* ≧ something

    △* ≧ average degree of any subset

    we want the vertices of high degree

    take Sk

    take S U B

    S U B

    Sk

    |F| = t

    S U B may be either connected or disconnected

    (Case 1) (Case 2)


    S u b is connected
    S U B is connected in the tree T)

    S U B

    • Case 1

    S U B is connected (a tree), then F contains exactly |S|k+|B|(k-1)-2(|S|+|B|-1) subtrees.

    Exactly|S|k+|B|(k-1)-2(|S|+|B|-1)+(|S|+|B|-1) edges connect to S U B.

    The average degree of vertices in S U B is exactly


    S u b is not connected
    S U B is not connected in the tree T)

    S U B

    • Case 2

    S U B is not connected (not a tree), then F contains more than |S|k+|B|(k-1)-2(|S|+|B|-1) subtrees.

    More than|S|k+|B|(k-1)-2(|S|+|B|-1)+(|S|+|B|-1) edges connect to S U B.

    The average degree of vertices in S U B is more than


    Finally we proved k 1
    Finally we proved △* ≧ k-1 in the tree T)

    • △* ≧ average degree of S U B =

    • Therefore △* ≧ k-1 k ≦ △*+1

    • Note:what if |B|=0?


    Observation
    Observation in the tree T)

    Vk U Vk-1

    Case 2b

    Case 2a

    Case 1

    k-1

    k

    Let B = Vk-1, apply Theorem 5.1, we are done.

    k-1

    k

    k-2

    k-1

    k-2

    k

    k-1…

    ≦k-2

    ≦k-2

    ≦k-1

    ≦k-2

    If no any Sk on the cycle, just union and mark good

    ≦k-2

    ≦k-1


    Algorithm
    Algorithm in the tree T)

    • Step 1. Given a SPT (the degree of all vertices is known), remove Vk U Vk-1 (marked as bad) from T and mark all the connected components as good.

    Vk U Vk-1

    bad

    F

    ≦k-2

    ≦k-2

    ≦k-2

    good


    Algorithm1
    Algorithm in the tree T)

    • Step 2. Choose any edge between 2 components and find the cycle generated, also check all bad vertices on the cycle. If no such edges exist, stop.

    ≦k-2

    ≦k-2

    Vk U Vk-1

    F

    u

    v

    ≦k-2

    ≦k-2


    Algorithm2
    Algorithm in the tree T)

    • Step 3. (Case 1) At least a vertex in Vk on the cycle, reduce the size of Vk by one, go to Step 1.

    ≦k-2

    ≦k-2

    Vk U Vk-1

    k

    k-1

    F

    ≦k-2

    u

    ≦k-2

    v


    Algorithm3
    Algorithm in the tree T)

    • Step 3. (Case 2) No any vertex in Vk on the cycle, (imply) at least a bad vertex in Vk-1 on the cycle, make a union of all components along with all bad vertices on the cycle, also mark the bad vertices as good, go to Step 2.

    ≦k-2

    ≦k-2

    Vk U Vk-1

    k-1

    k-1

    k-1

    u

    F

    v

    ≦k-2

    ≦k-2

    good


    Illustration of example 1
    Illustration of example 1 in the tree T)

    k-1

    k

    k-1

    k-1

    k-2

    ≦k-2

    ≦k-1

    good

    good


    Illustration of example 2
    Illustration of example 2 in the tree T)

    k or k-1

    k-1

    ≦k-2

    Must not be choosed


    Illustration of example 3
    Illustration of example 3 in the tree T)

    k-1

    k

    k


    Time analysis
    Time analysis in the tree T)

    • Step 1. Given a SPT (the degree of all vertices is known), remove Vk U Vk-1 (marked as bad) from T and mark all the connected components as good.

    • Step 2. choose any edge between 2 components and find the cycle generated , also check all bad vertices on the cycle. If no such edges exist, stop.

    • Step 3. (Case 1) At least a vertex in Vk on the cycle, reduce the size of Vk by one, go to Step 1.

    • Step 3. (Case 2) No any vertex in Vk on the cycle, (imply) at least a bad vertex in Vk-1 on the cycle,make a union of all components along with all bad vertices on the cycle, also mark the bad vertices as good, go to Step 2.


    ad