投影片 1

Low Degree
Spanning Trees of
Small Weight
Samir Khuller,
Balaji Raghavachari,
and Neal Young
葉恆青
高孟駿 趙坤茂
Outline
1. Introduction
2. Spanning tree of degree 3
i.
Algorithm
ii. Analysis & theorem proof
3. Spanning tree of degree 4
4. Points in Higher dimensions
Introduction
Euclidean degree-K spanning tree problem :
Given n points in the plane, find a minimum spanning tree of degree at
most K.
When K=3 and 4, it was shown to be NP-hard by Papadimitriou and
Vazirani. [ On two geometric problems related to the traveling
salesman problem, J. Algorighms, 5 (1984) ]
When K=5, the problem can be solved in polynomial time. [ Monma
and Suri, Transitions in geometric minimum spanning trees, Discrete &
Computational Geometry, 8 (1992) ]
In this paper, an 1.5 approximation algorithm for degree-3 spanning
tree and an 1.25 approximation algorithm for degree-4 spanning tree
are constructed.
(Improvements (2003 SoCG):
degree-3: 1.402;
degree-4: 1.143)
Some definitions
1. Degree of a vertex
2. Degree of a tree
deg(T) = max { deg(v) | v ∈ T }
3. VIVJ = the length of the segment connecting VI and VJ
4. V1V2V3…Vk = V1V2 + V2V3 + … + Vk-1Vk + VkV1
5. Tk : A spanning tree of degree at most K
Algorithm
V is a set of points in the plane, T is a minimum
spanning tree of V with degree at most 5
TREE-3 ( V, T )
- Find a degree 3 tree of V
1
Root the MST T at a leaf vertex r.
2
For each vertex v ∈ V do
3
4
Compute Pv, the shortest path starting at v
and visiting all the children of v.
Return T3, the tree formed by the union of the paths
{ Pv }
Feasibility
Claim
T3 is a spanning tree of degree at most 3
sketch of the proof
( i ) spanning tree
Induction shows that the union of the paths forms
a tree.
( ii ) of degree at most 3
Observe that each vertex is on at most two paths
and is an interior vertex of at most one path.
Quality
Theorem
Let T be a minimum spanning tree of V, T3 be the
spanning tree output by TREE-3(V,T).
Then
w (T3) <= 1.5 * w (T)
To see the theorem, we need two addition lemmas.
lemma 1
Let X, A, B, and C be points in Rd with XA <= XB, XC.
Then
ABC <= ( 3
3 - 4 ) XA + 2 ( XB + XC )
lemma 2
Let v be a vertex in an MST T of a set of points in R2,
Pv be a shortest path starting at v and visiting childT(v).
Then
w (Pv) <= 1.5 *
∑ v vi
vi∈childT(v)
Theorem
Let T be a minimum spanning tree of V, T3 be the
spanning tree output by TREE-3(V,T).
Then
w (T3) <= 1.5 * w (T)
If lemma 2 holds,
then
w (T3) <= ∑ w(Pv)
v∈T
<= 1.5 * ∑
v∈T
<= 1.5 * w (T)
Which proves the theorem.
∑ v vi
vi∈childT(v)
Proof of lemma 1
Let X, A, B, and C be points in Rd with XA <= XB, XC.
Then
ABC <= ( 3
A
3 - 4 ) XA + 2 ( XB + XC )
Proof
Let B’ and C’ be points on XB and
XC such that XA = XB’ = XC’ .
X
B’
B
C’
By triangle inequality, we have
ABC <= AB’C’ + 2 BB’ + 2 CC’
C
Proof of lemma 1
If the lemma holds for AB’C’, i.e.
AB’C’ <= ( 3
3 - 4 ) XA + 2 ( XB’ + XC’ )
Combining the two inequalities yields the desired result.
So, we only need to show that lemma 1 holds for AB’C’ .
By scaling, we can assume that XA =
1, then the right hand side becomes
3 3.
A
X
B’
B
Thus, it suffices to show that the
maximum perimeter achieved by any
triangle whose vertices lie on a unit
circle is 3 3 .
C’
C
This is easily proved.
Proof of lemma 2
Let v be a vertex in an MST T of a set of points in R2,
Pv be a shortest path starting at v and visiting
childT(v).
Then
w (Pv) <= 1.5 *
Proof
∑ v vi
vi∈childT(v)
The proof is based on the number of children of v.
v
Case 1: v has two children, v1 and v2.
There are two possible paths for Pv, namely P1=[v,v1,v2] and
P2=[v,v2,v1]. Clearly, we have
2
1
w(Pv) <= min { w(P1), w(P2) }
v
<= 0.5 ( w(P1) + w(P2) )
= 0.5 ( v v1 + v v2 ) + v1v2
<= 1.5 ( v v1 + v v2 ) 1
2
v
Proof of lemma 2
1
2
v
v
3
2
1
1
Case 2:v has 3 children, v1, v2, and v3.
3
2
v
3
1
Let v1 be the child that is nearest to v.
3
2
Consider the four paths:P1 = [ v,v1,v2,v3 ] , P2 = [ v,v1,v3,v2 ] ,
P3 = [ v,v2,v1,v3 ] , P4 = [ v,v3,v1,v2 ]
By lemma 1, we have
v1v2 + v2v3 + v3v1 <= ( 3 3 - 4 ) v v1+ 2 ( v v2 + v v3 )
<= 1.25 v v1 + 2 ( v v2 + v v3 )
 { w(P1) + w(P2) } / 3 + { w(P3) + w(P4) } / 6 <= 1.5( v v1 + v v2 + v v3 )
So, w (Pv) <= min { w(P1), w(P2), w(P3), w(P4) }
<= { w(P1) + w(P2) } / 3 + { w(P3) + w(P4) } / 6
<= 1.5 ( v v1 + v v2 + v v3 )
Proof of lemma 2
Case 3:v has 4 children, v1, v2, v3, and v4, ordered clockwise
around v.
First observe that the diagonals v1v3 and v2v4 intersects. ( Why? )
Let v’ be the point of intersection. Let v3 be the point that is furthest
from v’, among { v1, v2, v3, v4 }.
Consider the two paths P1 = [ v,v4,v1,v2,v3 ], P2 = [ v,v2,v1,v4,v3 ].
We have
w(Pv) <= min { w(P1) , w(P2) } <= 0.5 { w(P1) + w(P2) }
We want to show that
0.5 { w(P1) + w(P2) } <= 1.5 ( v v1 + v v2 + v v3 + v v4 )

v1v2v3v4 + ( v1v2 + v1v4 ) <= 3 ( v v1 + v v3 ) + 2 ( v v2 + v v4 )
Proof of lemma 2
By the triangle inequality,
v’ v1 + v’ v3 = v1v3 <= v v1 + v v3
v’ v2 + v’ v4 = v2v4 <= v v2 + v v4
It suffices to prove that
v1v2v3v4 + ( v1v2 + v1v4 ) <= 3 ( v’ v1 + v’ v3 ) + 2 ( v’ v2 + v’ v4 )
Than we can conclude that the last fomula in previos page is true.
Claim: v1v2v3v4 + ( v1v2 + v1v4 ) <= 3 ( v’ v1 + v’ v3 ) + 2 ( v’ v2 + v’ v4 )
We prove the claim by contradiction.
Proof of lemma 2
Suppose there exists a set of points which does not satisfy the inequality.
In other words, ∃v1, v2, v3, v4, such that
v1v2v3v4 + ( v1v2 + v1v4 ) > 3 ( v’ v1 + v’ v3 ) + 2 ( v’ v2 + v’ v4 )
If we shrink v’ v3 by a,
then the left side decreases by at most 2a,
whereas the right side decrease by exactly 3a.
V1
V4
So if we shrink v’ v3 , the inequality still holds.
V’
V2
Suppose v’ v3 shrinks and becomes equal to
another edge v’ vi for some i ∊ { 1,2,4 }.
We now shrink v’ v3 and v’ vi simultaneously.
Again it is easy to show that the inequality still
holds by the same argument.
V3
Proof of lemma 2
Finally we reach a configuration where three of the edge are equal.
Without loss of generality, we can assume that the length of the three
edges is 1 and the length of the fourth edge is b < 1.
There are two cases to consider. The first is when v’ v1 = b and the
second is when v’ v2 = b. ( The case when v’ v4 = b is symmetric. )
V1
In this case, we have
v1v2v3v4 + ( v1v2 + v1v4 ) > 7 + 3b
1
V4
V’
1
b
V2
1
Case 3a. v’ v1 = b .
Define
F(b) = v1v2v3v4 + ( v1v2 + v1v4 ) - 7 - 3b
= 2 v1v2 + v2v3 + v3v4 + 2 v1v4 – 7 –3b
0 <= b <= 1
V3
Proof of lemma 2
F(b) = 2 v1v2 + v2v3 + v3v4 + 2 v1v4 – 7 –3b is a convex function of b.
( why? ) So it is maximized at either b=0 or b=1.
When b=1, all four points are at the same distance from v’. F can be
written as a function of single variable and reaches a maximum
value of 10 0.8 – 10, which is negative.
When b=0, F reaches a maximum value of 2 2 – 3, which is also
negative.
In both case, we see that F is negative definite when 0<=b<=1,
contradicting the assumtion that v1v2v3v4 + ( v1v2 + v1v4 ) > 7 + 3b.
Vk
Vi
V’
p
Proof of lemma 2
Case 3b. v’ v2 = b .
In this case, we have v1v2v3v4 + ( v1v2 + v1v4 ) > 8 + 2b .
Define F’(b) = v1v2v3v4 + ( v1v2 + v1v4 ) - 8 - 2b
0<=b<=1
As the same reason in 3a, we see that F’ is also a convex function of
b and reaches its maximum at either b=0 or b=1.
The case b=1 leads to the same configuration as in case 3a.
When b=0, F’ can be written as a function of a single variable and
reaches a maximum value of 5 0.8 – 5 , which is negative.
So, we have F’(b) < 0 for 0<=b<=1, a contradiction.
From case 3a and 3b, we have proved the claim and this lemma.
Spanning Trees for Degree 4
Given the MST which has degree at most
5
 High Level Description:


Explain Pv
Spanning Trees for Degree 4
Done.
 This algorithm runs in linear time.
 The only problem left is to prove the bound
on the approximation ratio.

Spanning Trees for Degree 4

If we can prove
 Then

w( Pv )  1.25 
w(T4 )  1.25  w(T )
 vv
i
vi childT ( v )
immediately follows.
How to prove this?
 Since
Pv is the shortest path visiting v and its children,
we can enumerate several possible paths that do so.
 Pv is no greater than any of them, and is no greater
than any convex combination of them.
 Choose a combination for each case so that it gives
us the bound.
Spanning Trees for Degree 4

Cases:
 Identified
according to the number of children
of v on the original MST, T (which is given as
the input, and has the property that each nonroot internal node has at most 4 children)
Case 0: v has no children, one child, or
two children  trivial.
 Case 1: v has 3 children.
 Case 2: v has 4 children

Spanning Trees for Degree 4

Case 1: v has 3 children v1,v2,v3
 Let v1 be the closest to v, among
 Consider the following 4 paths.
New Target
w( Pv )  1.25  (vv1  vv2  vv3 )
its children.
Notice: all these
paths contain (v,v1) ,
which is the
shortest
Spanning Trees for Degree 4

Case 1: v has 3 children v1,v2,v3
about 1.244 < 1.25
Spanning Trees for Degree 4

Case 1: v has 3 children v1,v2,v3
Spanning Trees for Degree 4

Case 2: v has 4 children v1,v2,v3,v4
 Assume v1 is
v4
closest to v.
v1
v1
v2
v2
v4
v3
v3
cases
 2.1 v3 is furthest from v
 2.2 v4 is furthest from v (the other case is
symmetric)
 Two
Spanning Trees for Degree 4

Case 2.1: v1 is closest to v, and v4 is
farthest from v.
 Consider
the following paths:
shortest
longest
Spanning Trees for Degree 4

Case 2.1: v1 is closest to v, and v4 is
farthest from v.
New Target
Spanning Trees for Degree 4
Proof Strategy
 By contradiction. Suppose there is a
counter-example. After....

 1.Shrinking
 2.Scaling
 3.Rotating
 4.Estimating

We prove that this counter-example is not
possible.
Spanning Trees for Degree 4

1.Shrinking
 move v4, v3
v2
(or v2) closer
to v until
v1
ε
 The
lhs is decreased by
at most 2b+2a, while the
rhs is decreased by
exactly 4b+4a

2. Scaling
 As
v
1
v4
v3
b
shown
 We now wish to prove New Target
a
a
New Target
Spanning Trees for Degree 4

3.Rotating


It is maximum when v1 and v3
are on the bisector of v1v v2
4.Estimating
 Define





We will show that F is nonpositive over the domain of
possible ε.
F is a sum of convex
functions minus a linear
function and thus is convex.
So the extrema happens oh
the boundaries.
On F(1), F is less than 4√2~
5.66 . So F(1) <0
On the midpoint of (v1 ,v2), F
is less than 3 √3 ~5.2
v1
v2
1
v
ε
v4
v3
Spanning Trees for Degree
4
Notice: We always avoid

the farthest edge(vv3 in
this case,
3 and vv4 in the
previous case )
Case 2.2: v1 is closest to v, and v is
farthest from v.
Spanning Trees for Degree 4


Case 2.2: v1 is closest to v, and v3 is
farthest from v.
Degree 3 trees for higher
dimensions

5 to k
 Instead
of an MST of degree at most 5 in
plane case, in higer (fixed) dimension, the
MST’s degree is bounded by a constant.

Replace branches to children by a path
that starts at v and visit all children.
 Suppose
the number of children is k.
 We want to prove that there exist a path
satisfying (Lemma 4.1:)
Degree 3 trees for higher
dimensions

By induction
 Sort
v’s children in increasing distance from v
as v1,...,vk.
Induction base k=0,1,2
 Induction hypothesis:

 The
lemma is true for all values of k up to
some l >= 2.
 Consider when k = l+1
 By the induction hypothesis, the claim is true
when v has k-3 (l-2) children.
Degree 3 trees for higher
dimensions

v
{v1,...,vk-3}
Indution
P’: shortest path
starting at v and visit
v1 to vk-3 (not
necessarily in this
order)
vj
vk
P’’ shortest path
starting at vj (the
last vertex on P’)
and visit vk-2 to vk
Induction: If P’ is already within 5/3 times the
edges it replaced, then we want to prove
P’P’’ is also a 5/3 - approximation
vk-2
vk-1
{v1,...,vk}
Degree 3 trees for higher
dimensions

P1 to P6 : all six possibilities
 vj
 vk
vk
vk-1
vk-1
vk-2
vk-1
 vk-1
 vk-2
 vk
 vk-2
 vk
 vk-1
 vk-2
 vk-1
 vk-2
 vk
 vk-1
 vk
Degree 3 trees for higher
dimensions
Degree 3 trees for higher
dimensions

Shrinking
 Remember v1 to vk
is sorted according
to the distance from
v

vk
vj
v
Scaling
1
vk-1
vk-2
Degree 3 trees for higher
dimensions

vj
vk
Rotating + Estimating (Extremum)
 Recall
vk-2
our target
vk-1
can be expressed as the sum of the following two
terms
 1) The perimeter of a triangle, which is bounded by
3√3
 2) The perimeter of a tetrahedron, which is bounded
by 4√6
 4√6 + 3√3 is about 14.994. The rhs of (9) is 15