400 likes | 561 Views
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.
E N D
Approximation Algorithms forMaximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29th, 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. Maximum Leaf Spanning Trees
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
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
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
Vertex Degree Sets Given a graph G… • Let denote the set of vertices of degree i. • Let Maximum Leaf Spanning Trees
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
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
Leafy Tree, example Maximum Leaf Spanning Trees
Leafy Tree, examples Maximum Leaf Spanning Trees
Leafy Tree, non-examples Maximum Leaf Spanning Trees
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
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
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
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
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
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
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
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
Leafy-Forest Algorithm, example Maximum Leaf Spanning Trees
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
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
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
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
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
Cubic Graph Examples Maximum Leaf Spanning Trees
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
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
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
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
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
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
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
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
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
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
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
Possible Algorithm Output Maximum Leaf Spanning Trees
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
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