1 / 40

Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs)

Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs). Dean L. Zeller Kent State University November 29 th , 2005. Definitions. Leaf 1) a vertex in a tree with degree 1 2) a vertex incident with only one edge MLST A spanning tree of graph G maximizing the number of leaves.

libba
Download Presentation

Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs)

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. Approximation Algorithms forMaximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29th, 2005

  2. Definitions • Leaf • 1) a vertex in a tree with degree 1 • 2) a vertex incident with only one edge • MLST • A spanning tree of graph G maximizing the number of leaves. Maximum Leaf Spanning Trees

  3. Two MLST Problems • Problem 1 • Given a graph G and an integer B, find a spanning tree T with B or more leaves. • Shown to be NP-Complete • Problem 2 • Given a graph G, find a spanning tree T with the maximum number of leaves. • Shown to be MAX SNP-hard. • There exists some constant  > 0 such that there is no (1+)-approximation (unless NP=P). Maximum Leaf Spanning Trees

  4. History • 5-approximation in O(n4) time. [LR92] • 3-approximation in O(n7) time. [LR92] • 3-approximation in near linear time. [LR98] • 2-approximation in linear time. [S98] • 7/4-approximation for cubic graphs in linear time [LZ02]  Maximum Leaf Spanning Trees

  5. The Leafy Forest Algorithm • 3-Approximation algorithm created by H. Lu and R. Ravi in 1998. • Introduce notion of “Leafy Tree” • By putting a minor restriction on the inner structure of a tree topology, one can derive a stronger mathematical definition of the number of leaves within the tree. Maximum Leaf Spanning Trees

  6. Vertex Degree Sets Given a graph G… • Let denote the set of vertices of degree i. • Let Maximum Leaf Spanning Trees

  7. Tree properties Let T be a tree within G • The leaves of T are the vertices in V1(T) • (7.8) • Goal: to set a lower bound of number of leaves in a tree. • Want better results by enforcing requirements on a tree. Maximum Leaf Spanning Trees

  8. Leafy Trees Definition 7.1 • A tree T is leafy if • (at least one branching vertex) • Each vertex in V2(T) is adgacent to two vertices in (connecting vertices, if any, connect to two branching vertices) Maximum Leaf Spanning Trees

  9. Leafy Tree, example Maximum Leaf Spanning Trees

  10. Leafy Tree, examples Maximum Leaf Spanning Trees

  11. Leafy Tree, non-examples Maximum Leaf Spanning Trees

  12. Leafy Tree Properties Lemma 7.6: Let T be a leafy tree. Then Proof: • Each vertex in V2(T) is adjacent to two branching vertices. Thus • By equation (7.8) we have Maximum Leaf Spanning Trees

  13. Leafy Spanning Tree • If G has a leafy spanning tree T, it is a 3-approximation of the MLST of G. • Unfortunately, a graph may have no leafy spanning trees. Maximum Leaf Spanning Trees

  14. Leafy Forest Definition 7.2: • A forest F of a graph G is a leafy forest if all its components are leafy trees. • A leafy forest is maximal it is not contained in any other leafy forest. It is not necessary that a leafy forest spans all vertices of a graph. Maximum Leaf Spanning Trees

  15. Maximal Leafy Forest Example V(T1) = {x1, x2, x3, x4} V(T2) = {y1, y2, y3, y4, y5, y6, y7} Singletons: {z1, z2, z3, z4, z5, z6, z7} Maximum Leaf Spanning Trees

  16. Maximal Leafy Forest, Facts • Let F be a maximal leafy forest consisting of leafy trees T1, T2, …Tk. • Fact 7.4: If for any , we have . • Fact 7.5: Let v be a vertex in Ti and both u1 and u2 be vertices adjacent to v in G. If u1 is not in F, u2 must be in Ti. • Fact 7.6: If vertex v has two neighbors not in F, the degree of v within G is two. Maximum Leaf Spanning Trees

  17. Leafy-Forest Algorithm • Part 1 Construct a maximal leafy forest. Some vertices may not be in forest, called “singletons.” • Part 2 The leafy trees and singletons are combined into a spanning tree by adding edges across the trees. Maximum Leaf Spanning Trees

  18. Leafy-Forest Algorithm Input: A graph G = (V,E,w) Output: A maximal leafy forest F 1: Make each vertex v a singleton, and deg(v)0. 2: for each vertex vdo 3: Find the set S of trees containing a vertex u adjacent to v 4: if deg(v) + |S|  3 then 5: Union the trees in S and the tree containing v 6: Update the degrees of v and the adjacent vertices in S 7: Let F be the union of the nonsingleton trees 8: Output F as a maximal leafy forest. Maximum Leaf Spanning Trees

  19. Leafy-Forest Algorithm • Initially, each vertex is a singleton. (Step 1) • For each vertex v, find the trees which can be merged together via adding an edge incident with v. (Steps 2, 3) • If the degree of v after the merge is at least 3, merge the trees and update the degrees of the involved vertices. Otherwise ignore it. (Steps 4, 5, 6) • Connect all leafy trees to form a spanning tree. (Step 7) Maximum Leaf Spanning Trees

  20. Leafy-Forest Algorithm, example Maximum Leaf Spanning Trees

  21. Performance Ratio • Theorem 7.6 • Let F be a maximal leafy forest • Let Y be a spanning tree containing F • Then, for any spanning tree T of G, • Establish a bound on the number of leaves of any spanning tree containing a maximal leafy forest. Maximum Leaf Spanning Trees

  22. Performance Ratio, con’t Setup for lemmas • G = (V,E) • F: a maximal leafy forest consisting of k leafy trees Ti for 1  i  k • Y: a spanning tree containing F • T: any spanning tree of G Maximum Leaf Spanning Trees

  23. Performance Ratio, lemmas Lemma 7.8 |V1(T)|  |V(F)| – k + 1 • The number of leaves in any spanning tree is bounded by |V(F)| – k + 1 Lemma 7.9 |V1(Y)|  |V1(F)| – 2(k-1) • Any spanning tree Y containing a leafy forest F has at least |V1(F)| – 2(k-1) leaves. Maximum Leaf Spanning Trees

  24. Performance Ratio, theorem Theorem 7.7 • Given a graph G=(V,E) a 3-approximation of an MLST can be found in O((n,m)(n+m)) time, in which (n,m) is the inverse Ackermann’s function. Maximum Leaf Spanning Trees

  25. 7/4-Approximation for Cubic Graphs • Created by Loryś and Zwoźniak in 2002 • Cubic Graphs • All vertices are degree = 3 • v V3 for all vertices • One of the simplest classes of graphs • All vertices share similar properties • Appear in a great number of applications • Optimal solution remains NP-hard for any fixed degree  3 • Studying the problem restricted to cubic graphs helps to understand deeper the unrestricted case. Maximum Leaf Spanning Trees

  26. Cubic Graph Examples Maximum Leaf Spanning Trees

  27. Cubic Graphs vs. Binary Trees • Properties of Binary Trees • Approximately half of the vertices are leaves • Vertices have at most degree 3 Maximum Leaf Spanning Trees

  28. Preliminaries • Let G = (V,E,w) be a connected undirected graph. • Neighbors: • For a vertex v, let NG={w: (v,w)  E(G)} • Leaves: • L(G) is the set of vertices of degree 1. • Degrees • Deg(v) is the degree of vertex v, the number of edges incident to v in G. Maximum Leaf Spanning Trees

  29. Algorithm Steps • Step 1: • Build a forest F for G using three rules. • Step 2: • Add edges to connect trees together. Maximum Leaf Spanning Trees

  30. The Rules • Rule 1: • Add two vertices adjacent to a leaf with edges. • Leaf: v  Ti • Vertices: u, w  V(F) • Edges: (v,u) (v,w) • Adds two leaves to the tree, while removing only one. Maximum Leaf Spanning Trees

  31. The Rules • Rule 2: • Put to the tree a vertex adjacent to a leaf together with two vertices adjacent to u. • Leaf: v  Ti • Vertex: u  V(F) • Two vertices: w1,w2 V(F) • Edges: (v,u) (u, w1) (u, w2) • Adds two leaves to the tree, while removing only one. Maximum Leaf Spanning Trees

  32. The Rules • Rule 3: • Initiate new tree, Tj. • If (v  V(Ti), w  NG(v)NG(u) = {w,z1,z2}, andw,u, z1,z2  V(F)) Then build tree Tj rooted at w. add u, z1,z2 to V(Tj) add (w,u) (w, z1) (w, z2) to E(Tj) Ti is the “father” of Tj Maximum Leaf Spanning Trees

  33. The Algorithm Step 1: Construct the forest F • F  • V(T0)  {r0, v1, v2, v3} where r0  V(G) and v1, v2, v3  NG(r0)E(T0)  {(r0, v1), (r0 ,v2), (r0 ,v3)} Let r0 be a root of T0 i  0 Maximum Leaf Spanning Trees

  34. The Algorithm Step 1: continued • If it is possible • Find the leftmost leaf in Ti that can be expanded by Rule 1 and expand it. • Goto Step 1c else • Goto step 1d Maximum Leaf Spanning Trees

  35. The Algorithm Step 1: continued • If it is possible • Find the leftmost leaf in Ti that can be expanded by Rule 2 and expand it. • Goto Step 1c else • F F  Ti • Goto step 1e Maximum Leaf Spanning Trees

  36. The Algorithm Step 1: continued • If it is possible • Find the leftmost leaf in Ti that Rule 3 can be applied to v and apply this rule. • i i + 1 • Let Ti be the new tree created in this step • Goto Step 1c with Ti else • Goto step 1e with the father of Ti. Maximum Leaf Spanning Trees

  37. The Algorithm • Step 2: Add edges to F to make it a spanning tree for G. • Connect each vertex which does not belong to F with one of its neighbors in L(F) and each root of the tree in F (except the root of the first tree) with a leaf of another tree. • Note: instructions seem to contradict rule 2. Maximum Leaf Spanning Trees

  38. Possible Algorithm Output Maximum Leaf Spanning Trees

  39. Performance Analysis • 7/4 performance ratio • For proof (8 pages), read the full article [LZ2002] • Further research • Improvements can be made on algorithm clarity and efficiency • How well does this algorithm work on other graph types? • Proof of linearity and efficiency unclear. Maximum Leaf Spanning Trees

  40. Bibliography • G. Galbiati, F. Maffioli, A. Morzenti A short note on the appriximability of the maximum leaves spanning tree problem, Information Processing Letters 52, 1994. [GMM94] • K. Loryś, G. Zwoźniak Approximation algorithm for the maximum leaf spanning tree problem for cubic graphs, Proceedings on the 10th Annual European Symposium on Algorithms, 2002. [LZ2002] • H. Lu, R. Ravi The power of local optimization: approximation algorithms for maximum-leaf spanning tree, Proceedings of the Thirtieth Annual Allerton Conference on Communication, Control, and Computing, 1992. [LR92] • H. Lu, R. Ravi A near-linear time approximation algorithm for maximum leaf spanning tree, Journal of Algorithms, Vol 29, No. 1, 1998. [LR98] • R. Solis-Oba 2-approximation algorithm for finding a spanning tree with maximum number of leaves, Proceedings on the 6th Annual European Symposium on Algorithms, 1998. [S98] • Wu, B.Y. & K.M. Chao. Spanning Trees and Optimization Problems. Chapman & Hall/CRC, 2004. [WC2004] Maximum Leaf Spanning Trees

More Related