Zero-Skew Trees
Zero-Skew Tree: rooted tree in which all root-to-leaf
paths have the same length
Used in VLSI clock routing & network multicasting
The Zero-Skew Tree Problem
Zero-Skew Tree Problem
Given: set of terminals in rectilinear plane
Find: zero-skew tree with minimum total length
Previous results [CKKRST 99]
• NP-hard for general metric spaces
• factor 2e ~ 5.44 approximation
Our results:
• factor 4 approximation for general metric spaces
• factor 3 approximation for rectilinear plane
ZST Lower-Bound
R
OPT N ( r )dr
(CKKRST 99)
0
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-Bound
R
OPT N ( r )dr
(CKKRST 99)
0
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-Bound
R
OPT N ( r )dr
(CKKRST 99)
0
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-Bound
R
OPT N ( r )dr
(CKKRST 99)
0
N(r)=min. # of balls of radius r that cover all sinks
ZST Lower-Bound
R
OPT N ( r )dr
(CKKRST 99)
0
N(r)=min. # of balls of radius r that cover all sinks
Constructive Lower-Bound
Computing N(r) is NP-hard, but …
Lemma: For any ordering
t1 ,..., tn of the terminals, if
1
r MinDist {t1 ,..., ti }
2
then
N (r ) i
Constructive Lower-Bound
R
OPT N ( r )dr
0
n
n-1
N(r)
2
r
Stretching Rooted Spanning Trees
• ZST root = spanning tree root
delayT (root )
where delay (v) = max path length from v to a leaf of T
v
T
• ZST root-to-leaf path length =
delayT (root )
T
Stretching Rooted Spanning Trees
Loop length =
delayT (root )
delayT (root )
T
Stretching Rooted Spanning Trees
Sum of loop lengths =
delayT (root )
delayT (root )
T
Zero-Skew Spanning Tree Problem
Theorem: Every rooted spanning tree
stretched to a ZST of total length
T
can be
length(T ) delay (T )
where
delay (T ) vV (T ) delayT (v)
Zero-Skew Spanning Tree Problem: Find rooted
spanning tree T minimizing length(T ) delay (T )
How good are the MST and Min-Star?
MST: min length, huge delay
Star: min delay, huge length
N-1
length (N )
N-2
delay ( N 2 )
delay (1)
OPT ( N log N )
OPT (1)
..
.
…
3
2
1
…
0
length (N )
The Rooted-Kruskal Algorithm
• Initially each terminal is a rooted tree; d(t)=0 for all t
• While 2 roots remain:
• Pick closest two roots, t & t’, where d(t) d(t’)
• t’ becomes child of t, root of merged tree is t
• d(t) max{ d(t), d(t’) + dist(t ,t’) }
t’
t
The Rooted-Kruskal Algorithm
• Initially each terminal is a rooted tree; d(t)=0 for all t
• While 2 roots remain:
• Pick closest two roots, t & t’, where d(t) d(t’)
• t’ becomes child of t, root of merged tree is t
• d(t) max{ d(t), d(t’) + dist(t ,t’) }
How good is Rooted-Kruskal?
• Initially each terminal is a rooted tree; d(t)=0 for all t
• While 2 roots remain:
• Pick closest two roots, t & t’, where d(t) d(t’)
• t’ becomes child of t, root of merged tree is t
• d(t) max{ d(t), d(t’) + dist(t ,t’) }
Lemma: delay(T) length(T)
At the end of the algorithm, d(t)=delay (t )
T
When edge (t ,t’) is added to T:
• length(T) increases by dist(t ,t’)
• delay(T) increases by at most dist(t ,t’)
How good is Rooted-Kruskal?
• Initially each terminal is a rooted tree; d(t)=0 for all t
• While 2 roots remain:
• Pick closest two roots, t & t’, where d(t) d(t’)
• t’ becomes child of t, root of merged tree is t
• d(t) max{ d(t), d(t’) + dist(t ,t’) }
Lemma: length(T) 2 OPT
Number terminals in reverse order of becoming non-roots
N
length(T) =
MinDist {t ,..., t }
i 2
1
i
Factor 4 Approximation
Algorithm: Rooted-Kruskal + Stretching
• Length after stretching = length(T) + delay(T)
• delay(T) length(T)
• length(T) 2 OPT
ZST length 4 OPT
Stretching Using Steiner Points
T
Stretched T
length(T ) delay (T )
1
delay (T )
2
Factor 3 Approximation
Algorithm: Rooted-Kruskal + Improved Stretching
• Length after stretching = length(T) + ½ delay(T)
• delay(T) length(T)
• length(T) 2 OPT
ZST length 3 OPT
Practical Considerations
• For a fixed topology, minimum length ZST can be
found in linear time using the Deferred Merge
Embedding (DME) algorithm [Eda91, BK92, CHH92]
• Practical algo: Rooted-Kruskal + Stretching + DME
Theorem: Both stretching algorithms lead to the
same ZST topology when applied to the RootedKruskal tree
Running Time
• Stretching: O(N logN)
• Rooted-Kruskal: O(N logN) using the dynamic
closest-pair data structure of [B98]
• DME: O(N) [Eda91, BK92, CHH92]
O(N logN)
overall
Extension to Other Metric Spaces
Everything works as in rectilinear plane, except:
• Running time of Rooted-Kruskal becomes O(N 2)
• No equivalent of DME known for other spaces
• The space must be metrically convex to apply
second stretching algorithm
Bounded-Skew Trees
b-bounded-skew tree: difference between length of
any two root-to-leaf paths is at most b
Bounded-Skew Tree Problem: given a set of terminals
and bound b>0, find a b-bounded-skew tree with
minimum total length
Previous approximation guarantees [CKKRST 99]:
• factor 16.11 for arbitrary metrics
• factor 12.53 for rectilinear plane
Our results: factor 14, resp. 9 approximation
BST construction idea + lower bound
Two stage BST construction:
• Cover terminals by disjoint b-bounded-skew trees
• Connect roots via a zero-skew tree
Lemma: For any set
S of terminals, and any W S
OPT ZST (W ) OPT BST b (| W | 1)
Constructing the tree cover
• T MST on terminals, rooted arbitrarily
•W
• While T do:
• Find leaf of T furthest from the root
• Find its highest ancestor u that still has delay b
• Add u to W
• Add T u to the tree cover and delete it from T
Lemma:
b (| W | 1) length(MST )
BST Approximation
Algorithm: Output tree cover approximate ZST on W
length( BST ) length( MST ) OPT ZST (W )
( ZST approximat ion factor )
OPT ZST (W ) OPT BST b (| W | 1)
OPT BST length( MST )
length( MST ) OPT SMT OPT BST
( Steiner ratio )
BST Approximation
length( BST ) ( ) OPT BST
ZST approximat ion factor
Steiner ratio
Theorem:
Rectilinear Plane:
3, 1.5 factor 9 approximat ion
Arbitrary metric spaces:
4, 2 factor 14 approximat ion
Summary of Results
Problem
Metric
Zero-Skew
General
Previous
factor
New
factor
Rectilinear
5.44
4
3
Bounded-skew
General
Rectilinear
16.11
12.53
14
9
Open Problems
• Complexity of ZST problem in rectilinear plane
• Complexity of finding the spanning tree with minimum
length+delay?
• Zero-skew Steiner ratio: supremum, over all sets of
terminals, of the ratio between minimum ZST length and
minimum spanning tree length+delay
• What is the ratio for rectilinear plane?
• What is the ratio for arbitrary spaces? ( 4, 3)
• Planar ZST / BST
© Copyright 2026 Paperzz