approximation algorithms for maximum leaf spanning trees (mlsts) dean l. zeller kent state...
TRANSCRIPT
Approximation Algorithms for Maximum Leaf Spanning Trees
(MLSTs)
Dean L. Zeller
Kent State University
November 29th, 2005
Maximum Leaf Spanning Trees Slide 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.
Maximum Leaf Spanning Trees Slide 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).
Maximum Leaf Spanning Trees Slide 4 of 40
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 Slide 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.
Maximum Leaf Spanning Trees Slide 6 of 40
Vertex Degree Sets
Given a graph G…
• Let denote the set of vertices of degree i.
• Let ij
ji GVGV
)()(
)()( GVGVi
verticesbranchingGV
verticesconnectingGV
leavesGV
)(
)(
)(
3
2
1
Maximum Leaf Spanning Trees Slide 7 of 40
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.
2)()( 13 TVTV
2)()( 31 TVTV
Maximum Leaf Spanning Trees Slide 8 of 40
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)
)(3 TV
)(3 TV
Maximum Leaf Spanning Trees Slide 9 of 40
Leafy Tree, example
},,,{
},{
},,,,,,{
3
2
1
kgecv
jfv
mlihdbav
32 twoneighbors VuVv
a
c
d
b
e
f
i
g h
j k
l m
Maximum Leaf Spanning Trees Slide 10 of 40
Leafy Tree, examples
V2 = Ø
V1 V2 V3
Maximum Leaf Spanning Trees Slide 11 of 40
Leafy Tree, non-examples V1
V2 V3
Maximum Leaf Spanning Trees Slide 12 of 40
Leafy Tree PropertiesLemma 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
1)()( 32 TVTV
5)(3
1)(2)(
1)()()(
)()()()(
1
31
221
321
TV
TVTV
TVTVTV
TVTVTVTV
5)(3)( 1 TVTV
Maximum Leaf Spanning Trees Slide 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.
Maximum Leaf Spanning Trees Slide 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.
Maximum Leaf Spanning Trees Slide 15 of 40
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}
x1
x2
x4 x3 z1
z2 z3
z4 z5 z6 z7
y1
y2
y3
y4 y5
y6
y7
T1 T2
Maximum Leaf Spanning Trees Slide 16 of 40
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.
)(2 iTVv )( iTVu )(),( GEvu
Maximum Leaf Spanning Trees Slide 17 of 40
Leafy-Forest Algorithm
• Part 1 Construct a maximal leafy forest. Some vertices may not be in forest, called “singletons.”
• Part 2The leafy trees and singletons are combined into a spanning tree by adding edges across the trees.
Maximum Leaf Spanning Trees Slide 18 of 40
Leafy-Forest AlgorithmInput: 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.
Maximum Leaf Spanning Trees Slide 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)
Maximum Leaf Spanning Trees Slide 20 of 40
Leafy-Forest Algorithm, example
Maximum Leaf Spanning Trees Slide 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.
5)(3)( 1 TVTV
Maximum Leaf Spanning Trees Slide 22 of 40
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 Slide 23 of 40
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 Slide 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.
Maximum Leaf Spanning Trees Slide 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 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 Slide 26 of 40
Cubic Graph Examples n = 4
n = 6
n = 6
n = 4
n = 12
n = 10
n = 8
Maximum Leaf Spanning Trees Slide 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
Maximum Leaf Spanning Trees Slide 28 of 40
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 Slide 29 of 40
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 Slide 30 of 40
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.
v
Ti
u w
Maximum Leaf Spanning Trees Slide 31 of 40
v
Ti
u
w2 w1
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 Slide 32 of 40
v
Ti
u
z2 z1
w
The Rules
• Rule 3:– Initiate new tree, Tj.– If (v V(Ti), w NG(v)
NG(u) = {w,z1,z2}, and w,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 Slide 33 of 40
The Algorithm
Step 1: Construct the forest Fa) F b) 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
v3
r0
v2 v1
Maximum Leaf Spanning Trees Slide 34 of 40
The Algorithm
Step 1: continuedc) 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
v
Ti
u w
Maximum Leaf Spanning Trees Slide 35 of 40
The Algorithm
Step 1: continuedd) 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
v
Ti
u
w2 w1
Maximum Leaf Spanning Trees Slide 36 of 40
The Algorithm
Step 1: continuede) 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.
v
Ti
u
z2 z1
w
Maximum Leaf Spanning Trees Slide 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.
Maximum Leaf Spanning Trees Slide 38 of 40
T2
Possible Algorithm Output
T0
T1
T3
Maximum Leaf Spanning Trees Slide 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.
Maximum Leaf Spanning Trees Slide 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 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]