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

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

Embed Size (px)

Citation preview

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

Approximation Algorithms for Maximum Leaf Spanning Trees

(MLSTs)

Dean L. Zeller

Kent State University

November 29th, 2005

Page 2: Approximation Algorithms for Maximum Leaf Spanning Trees (MLSTs) Dean L. Zeller Kent State University November 29 th, 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.

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

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

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

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]

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

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.

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

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

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

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

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

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

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

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

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

Maximum Leaf Spanning Trees Slide 10 of 40

Leafy Tree, examples

V2 = Ø

V1 V2 V3

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

Maximum Leaf Spanning Trees Slide 11 of 40

Leafy Tree, non-examples V1

V2 V3

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

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

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

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.

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

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.

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

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

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

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

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

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.

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

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.

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

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)

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

Maximum Leaf Spanning Trees Slide 20 of 40

Leafy-Forest Algorithm, example

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

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

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

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

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

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.

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

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.

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

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.

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

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

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

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

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

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.

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

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.

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

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

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

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.

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

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

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

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

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

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

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

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

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

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

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

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.

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

Maximum Leaf Spanning Trees Slide 38 of 40

T2

Possible Algorithm Output

T0

T1

T3

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

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.

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

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]