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(vv3 in
this case,
3 and vv4 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
© Copyright 2026 Paperzz