Presentation is loading. Please wait.

Presentation is loading. Please wait.

Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29 th, 2005.

Similar presentations


Presentation on theme: "Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29 th, 2005."— Presentation transcript:

1 Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29 th, 2005

2 Maximum Leaf Spanning TreesSlide 2 of 40 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.

3 Maximum Leaf Spanning TreesSlide 3 of 40 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).

4 Maximum Leaf Spanning TreesSlide 4 of 40 History 5-approximation in O(n 4 ) time. [LR92] 3-approximation in O(n 7 ) 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] 

5 Maximum Leaf Spanning TreesSlide 5 of 40 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.

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

7 Maximum Leaf Spanning TreesSlide 7 of 40 Tree properties Let T be a tree within G The leaves of T are the vertices in V 1 (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.

8 Maximum Leaf Spanning TreesSlide 8 of 40 Leafy Trees Definition 7.1 A tree T is leafy if – (at least one branching vertex) –Each vertex in V 2 (T) is adgacent to two vertices in (connecting vertices, if any, connect to two branching vertices)

9 Maximum Leaf Spanning TreesSlide 9 of 40 Leafy Tree, example

10 Maximum Leaf Spanning TreesSlide 10 of 40 Leafy Tree, examples

11 Maximum Leaf Spanning TreesSlide 11 of 40 Leafy Tree, non-examples

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

13 Maximum Leaf Spanning TreesSlide 13 of 40 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.

14 Maximum Leaf Spanning TreesSlide 14 of 40 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.

15 Maximum Leaf Spanning TreesSlide 15 of 40 Maximal Leafy Forest Example V(T 1 ) = {x 1, x 2, x 3, x 4 } V(T 2 ) = {y 1, y 2, y 3, y 4, y 5, y 6, y 7 } Singletons: {z 1, z 2, z 3, z 4, z 5, z 6, z 7 }

16 Maximum Leaf Spanning TreesSlide 16 of 40 Maximal Leafy Forest, Facts Let F be a maximal leafy forest consisting of leafy trees T 1, T 2, …T k. Fact 7.4: If for any, we have. Fact 7.5: Let v be a vertex in T i and both u 1 and u 2 be vertices adjacent to v in G. If u 1 is not in F, u 2 must be in T i. Fact 7.6: If vertex v has two neighbors not in F, the degree of v within G is two.

17 Maximum Leaf Spanning TreesSlide 17 of 40 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.

18 Maximum Leaf Spanning TreesSlide 18 of 40 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 v do 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.

19 Maximum Leaf Spanning TreesSlide 19 of 40 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)

20 Maximum Leaf Spanning TreesSlide 20 of 40 Leafy-Forest Algorithm, example

21 Maximum Leaf Spanning TreesSlide 21 of 40 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.

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

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

24 Maximum Leaf Spanning TreesSlide 24 of 40 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.

25 Maximum Leaf Spanning TreesSlide 25 of 40 7 / 4 -Approximation for Cubic Graphs Created by Loryś and Zwoźniak in 2002 Cubic Graphs –All vertices are degree = 3 –v  V 3 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.

26 Maximum Leaf Spanning TreesSlide 26 of 40 Cubic Graph Examples

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

28 Maximum Leaf Spanning TreesSlide 28 of 40 Preliminaries Let G = (V,E,w) be a connected undirected graph. Neighbors: –For a vertex v, let N G ={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.

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

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

31 Maximum Leaf Spanning TreesSlide 31 of 40 The Rules Rule 2: –Put to the tree a vertex adjacent to a leaf together with two vertices adjacent to u. –Leaf: v  T i –Vertex: u  V(F) –Two vertices: w 1,w 2  V(F) –Edges: (v,u) (u, w 1 ) (u, w 2 ) –Adds two leaves to the tree, while removing only one.

32 Maximum Leaf Spanning TreesSlide 32 of 40 The Rules Rule 3: –Initiate new tree, T j. –If (v  V(T i ), w  N G (v) N G (u) = {w,z 1,z 2 }, and w,u, z 1,z 2  V(F)) Then build tree T j rooted at w. add u, z 1,z 2 to V(T j ) add (w,u) (w, z 1 ) (w, z 2 ) to E(T j ) T i is the “father” of T j

33 Maximum Leaf Spanning TreesSlide 33 of 40 The Algorithm Step 1: Construct the forest F a) F   b) V(T 0 )  {r 0, v 1, v 2, v 3 } where r 0  V(G) and v 1, v 2, v 3  N G (r 0 ) E(T 0 )  {(r 0, v 1 ), (r 0,v 2 ), (r 0,v 3) } Let r 0 be a root of T 0 i  0

34 Maximum Leaf Spanning TreesSlide 34 of 40 The Algorithm Step 1: continued c)If it is possible Find the leftmost leaf in T i that can be expanded by Rule 1 and expand it. Goto Step 1c else Goto step 1d

35 Maximum Leaf Spanning TreesSlide 35 of 40 The Algorithm Step 1: continued d)If it is possible Find the leftmost leaf in T i that can be expanded by Rule 2 and expand it. Goto Step 1c else F  F  T i Goto step 1e

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

37 Maximum Leaf Spanning TreesSlide 37 of 40 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.

38 Maximum Leaf Spanning TreesSlide 38 of 40 Possible Algorithm Output

39 Maximum Leaf Spanning TreesSlide 39 of 40 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.

40 Maximum Leaf Spanning TreesSlide 40 of 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 10 th 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 6 th Annual European Symposium on Algorithms, 1998. [S98] Wu, B.Y. & K.M. Chao. Spanning Trees and Optimization Problems. Chapman & Hall/CRC, 2004. [WC2004]


Download ppt "Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29 th, 2005."

Similar presentations


Ads by Google