1 / 72

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. Martin Furer Department of Computer Science and Engineering The Pennsylvania State University

kristenb
Download Presentation

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

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Approximating the Minimum Degree Spanning Tree to within One from the Optimal Degree R96922115 陳建霖 R96922055 宋彥朋 B93902023 楊鈞羽 R96922074 郭慶徵 R96922142 林佳慶

  2. Authors • Martin Furer Department of Computer Science and EngineeringThe Pennsylvania State University • Balaji Raghavachari Computer Science Department, EC 3.1University of Texas at Dallas

  3. Application • Distribution of mail and news on the Internet • Designing power grids

  4. Similar approximation properties • Edge coloring problem • 3-colorability of planer graphs

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

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

  7. Theorem 3 • 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

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

  9. A Simple Approximation Algorithm

  10. Improvement • :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

  11. Example G T 3 2 1 1 <=2 <=2

  12. Locally Optimal Tree • 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

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

  14. Proof • 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

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

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

  17. Proof

  18. Algorithm (sketch) • 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.

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

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

  21. Proof • 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

  22. Proof

  23. Proof • For , where

  24. Proof • 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.

  25. The Steiner tree version

  26. Steiner Problem 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

  27. Steiner Problem (cont.) 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.

  28. Steiner Problem (cont.) 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.

  29. 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.

  30. Some case of non-tree paths

  31. Steiner Problem (cont.) 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).

  32. Steiner Problem (cont.) 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 ).

  33. Steiner Problem (cont.) 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 ).

  34. Directed spanning trees version

  35. Input : A directed graph G and anyone spanning tree together with r which is the root of the tree.

  36. What is a directed spanning tree ? • 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.

  37. An example

  38. Recall 3 2 1 1 <=2 <=2 The improvement in the undirected case

  39. Where is the cycle in directed case ?

  40. New “improvement” 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.

  41. Step1 : Move the root of the subtree T’ that is 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.

  42. What is a convient vertex ? • 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

  43. T’

  44. Algorithm in directed version • The algorithm tries to decrease the degrees of vertices in Si for i =k – using the improvement step above.

  45. A Lemma 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.

  46. Let Y be “ a tree of F whose vertices do not have descendants of degree i or greater in T “ ? What is a Y ?

  47. i … descendent ancestor

  48. Why 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.

  49. suppose that |Si| = 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.

  50. THEOREM 1.3 • 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).

More Related