Research Collection
Doctoral Thesis
Approximation schemes for geometric problems
Author(s): Remy, Jan Magnus
Publication Date: 2007
Permanent Link: https://doi.org/10.3929/ethz-a-005397999
Rights / License: In Copyright - Non-Commercial Use Permitted
This page was generated automatically upon download from the ETH Zurich Research Collection. For moreinformation please consult the Terms of use.
ETH Library
Diss. ETH No. 17296
Approximation Schemes for
Geometric Problems
A dissertation submitted to the
ETH ZÜRICH
for the degree of
Doktor der Wissenschaften
presented by
Jan Magnus Remy
Diplom-Informatiker, Technische Universität München
born 01.12.1977
citizen of Germany
accepted on the recommendation of
Prof. Dr. Angelika Steger, ETH Zürich (examiner)
Prof. Satish Rao, UC Berkeley (co-examiner)
Prof. Subhash Suri, UC Santa Barbara (co-examiner)
2007
Se/te
ß/ankLeer
Seite Leer /Blank leaf
Seite Leer /
Blank leaf
V
Abstract
This thesis is devoted to geometric optimization problems of the fol¬
lowing kind: given a sot of points P C Md, we wish to compute a
certain straight-line graph on P with minimum length, such as a short¬
est Steiner tree, a salesman tour or a triangulation. As most of these
problems are A/P-hard and many of them even in the strong sense,
approximation algorithms have attracted considerable attention. One
important breakthrough was made in 1996 when Arora [10, 11] and
Mitchell [93, 94] independently introduced a polynomial time approxi¬
mation scheme (PTAS) for several A/'P-hard geometric problems, includ¬
ing the traveling salesman problem and the Steiner tree problem.
Arora's technique applies to a wide class of problems for which the so-
called Patching Lemma holds. This lemma essentially states that one
can reduce the number of crossings of some solution with a given line
segment without increasing the cost of the solution much. However,
there is a number of popular geometric problems, where it seems unclear
whether a result similar to the Patching Lemma is true. For example,this is the case for ä;-Median, Minimum Weight Triangulation,
Minimum Weight Steiner Triangulation or Bounded-Degree
Minimum Spanning Tree. Nevertheless, for some of these problems
approximation schemes were recently obtained using different methods.
For instance, it is known that a PTAS for ä:-Median [14, 82] and a
quasi-polynomial time approximation scheme (QPTAS) for Bounded-
Degree Minimum Spanning Tree [13] exists. In this thesis we studythe problems listed below. They also seem to resist Arora's technique.
Minimum Weight Triangulation. The Minimum Weicïht Triangula¬
tion problem is to find a triangulation of minimum length for a given
set of points in the Euclidean plane. It was one of the few longstanding
open challenges from the famous list of twelve problems with unknown
complexity status, published by Garey and Johnson [56] in 1979. Very
recently the problem was shown to be AfV-hard by Mulzer and Rote
[99]. In this thesis we present a QPTAS for Minimum Weight Trian¬
gulation.
VI
Node-weighted Sleiner Trees. Let P denote a set of points in ftfd, and
consider the following variant of the geometric Steiner tree problem: we
pay a penalty of r*s units for every Steiner point we use and we are
charged -k{u) units if the point u P is not included in the tree. The
goal is to minimize the total length of the tree including the penalties.
In dimension 2 we introduce a PTAS for the problem. Moreover, for
arbitrary fixed dimension our techniques still yield a QPTAS.
Vehicle Routing with Allocation. The Vehicle-Routing with Allo¬
cation problem is a generalization of TSP. We do not require that all
points lie on the salesman tour. However, points that lie not on the tour
are allocated, i.e., they are directly connected to the nearest tour point
paying a higher (per-unit) cost. More formally, the input is a set of points
P in &d along with functions a : P —» [0, oo) and ß : P —> [1, oo). A so¬
lution is a subset TCP and a salesman tour tt through T, and we wish
to minimize the total length of the tour including all allocation costs.
The allocation cost for a single point p G P \ T is a(p) + ß(p) d{p, q),where q e T is the nearest point on the tour. We give a PTAS with
complexity O (n\ogd+3nj for this problem. For the Steiner variant of
Vehicle-Routing with Allocation we introduce a PTAS with com¬
plexity 0(nlog^(d'e) n), where £(d,e) = ö{Vd,/e)d~l.
vu
Résumé
Cette thèse de doctorat étudie des problèmes d'optimisation géométriquede la façon suivante: étant donné un ensemble des points P C -_^d, nous
voulons construire un arbre de Steiner, un cycle pour un voyageur de
commerce, une triangulation ou une autre structure avec une longueur
(ou un poids) minimal. La plupart de ces problèmes sont J\fV~difficiles,et donc nous nous intéressons aux algorithmes d'approximation. En fait,il y a beaucoup de résultats sur des algorithmes d'approximation pour
tels problèmes géométriques. Un progrès important a été fait en 1996
quand Arora [10, 11] et Mitchell [93, 94] ont présenté indépendammentun polynomial time approximation scheme (PTAS) pour les variantes
géométriques du problème du voyageur de commerce, du problème de
l'arbre de Steiner et d'autres problèmes qui sont A^-difficiles.
La technique d'Arora est applicable à bien de problèmes, à condition que
nous puissions prouver un lemine correspondant au Patching Lemma. Ce
lemme affirme essentiellement qu'on peut réduire le nombre des pointsd'intersection d'une solution avec un segment d'une droite sans beau¬
coup hausser le coût de la solution. Mais il y a beaucoup de problèmes
géométriques pour lesquels on ne peut pas certainement dire si un ré¬
sultat correspondant au Patching Lemma soit vrai.
C'est le cas pour les problèmes ^-Median, Minimum Weight Trian¬
gulation, Minimum Wright Steiner Triangulation, Bounded-
Degree Minimum Spanning Tree et d'autres problèmes. Néanmoins,
pour un petit nombre de ces problèmes il y a des approximation schemes,utilisant des méthodes différentes. Ainsi, nous avons un PTAS pour k-
Median [14, 82] et un quasi-polynomial time approximation scheme
(QPTAS) pour Bounded-Degree Minimum Spanning Tree [13].Cette thèse étudie les problèmes suivants qui semblent de s'opposer à
la technique d'Arora.
Minimum Weight Triangulation. Le problème Minimum Weight Tri¬
angulation, c'est de construire une triangulation avec un poids mini¬
mal d'un ensemble des points dans le plan. Ce problème est apparu sur
la liste des douze problèmes avec une complexité incertaine publiée en
VUl
1979 par Garey et Johnson [56], et il restait irrésolu pour longtemps.Dernièrement Mulzer et Rote [99] ont prouvé que Minimum Weight
Triangulation est AA'P-diflicilo. Ici, nous introduisons un QPTAS
pour Minimum Weight Triangulation.
Node-weighted Steiner Trees. Soit P C ^fd un ensemble des points. Nous
étudions la variante suivante du problème de l'arbre de Steiner: on doit
payer une pénalisation de ti(u) unités si le point u n'est pas inclus dans
l'arbre et chaque point Steiner de l'arbre coûte c$ unités. On souhaite
de construire un arbre avec un poids et une pénalisation minimal. Cette
thèse constitue un PTAS pour ce problème dans le plan. Dans la dimen¬
sion fixée notre technique génère encore un QPTAS.
Vehicle Routing with Allocation. Le problème Vehicle-Routtng with
Allocation est une généralisation du problème du voyageur de com¬
merce. Néanmoins nous n'exigeons pas que tous les points soient inclus
dans le cycle. Au lieu de cela, nous devons joindre les points non-inclus
au prochain point du cycle. Plus précisément, l'input est un ensemble
des points P C Md et des fonctions a : P —> [0, oo) et ß : P —> [1, oo).Une solution est un sous-ensemble T C P avec un cycle ix sur T, et
on minimise le poids du cycle et le coût d'allocation totale. Le coût
d'allocation pour un point p G P\T est a(p) + ß(p) d(p,q), étant
q G T le point le plus proche du cycle. A la suite, nous allons décrire
un PTAS avec la complexité O ( n log" n 1 pour ce problème. De plus,
cette thèse constitue un PTAS avec la complexité ö(nlog^ ,£' n), étant
£(d,e) — OiVd/ey1'1, pour la variante du Vehicle-Routing with
Allocation où la solution peut contenir des points Steiner.
IX
Acknowledgments
Most notably, I am much obligated to my supervisor Angelika Steger for
giving me the opportunity to join her group. Working with her was an
impressive experience, and particularly she always had valuable advice
whenever I needed some.
The research I did with my collaborative colleagues Stefanie Gerke, Reto
Spöhel, Angelika Steger, Andreas Weißl (all at ETH Zürich), Alexander
Souza (University of Freiburg), Stefan Canzar (LORIA), and Felix Fis¬
cher (University of Munich) was a real pleasure. I owe them hours of
inspiring and fruitful discussions.
I am grateful and proud that with Satish Rao (UC Berkeley) and Sub-
hash Suri (UC Santa Barbara) two leading experts in this field agreed
to co-examine my thesis.
The familiar atmosphere in Angelika's group at ETH made many thingsmuch easier, and I wish to thank my colleagues Nicla Bernasconi, Florian
Jug, Julian Lorenz, Martin Marciniszyn, Konstantinos Panagiotou, and
Justus Schwartz as well as the former group members Joshua Cooper
and Manuel Huber not only for their valuable support but also for their
great company. For all kinds of administrative problems, I could alwayscount on the capable advice of Beate Bernhard, Hans Dubach, Barbara
Heller, and Floris Tschurr. Last but no least, I want to thank Klaus
Holzapfel, my room mate at TU Munich, for supporting me during the
first months as a Ph.D. student.
Finally, I am deeply grateful to my family and Judith for their love and
invaluable support they gave me during the last years.
Zürich, February 2007
Jan Remy
Seite Leer /
Blank leaf
Contents
Chapter 1. Introduction 1
Chapter 2. Geometric Optimization Problems 9
2.1. Geometric Preliminaries and Notation 9
2.2. Models of Computation 10
2.3. Geometric and Combinatorial Optimization 12
2.4. A Tour d'Horizon 13
Chapter 3. Minimum Weight Triangulation 23
3.1. Concepts and Algorithmic Strategy 25
3.2. Preliminaries 27
3.3. The Approximation Scheme 32
3.4. Smooth Hulls 36
3.5. The Smoothing Lemma 60
3.6. On the Choice of Q.0 76
Chapter 4. Node-Weighted Steiner Trees 83
4.1. Outline of the Algorithm 85
4.2. Preliminaries 87
4.3. (s, £)-Maps and Standardized Solutions 91
4.4. The Approximation Scheme 106
4.5. Related Problems 113
Chapter 5. Vehicle Routing with Allocation 115
5.1. Concepts and Outline 117
5.2. Perturbation 118
5.3. Zoom Trees and Portal-Respecting Allocations 119
5.4. Euclidean Spanners and VRAP 132
5.5. An Ö (n log°n)-time Approximation Scheme 137
5.6. Steiner VRAP 147
5.7. Higher Dimensions and Derandomization 154
XI
xii Contents
Chapter 6. Conclusions 157
Notation 159
Bibliography 161
Curriculum Vitae 169
CHAPTER 1
Introduction
This thesis is devoted to optimization problems that involve discrete
geometry. Both the input and the solution of such problems are finite
sets of geometric objects like points, lines or regions, but it is not requiredthat the objective function is rational or even integral1. For the sake of
brevity, we refer to such problems as geometric optimization problems,
implicitly presuming their discrete character. In this thesis we introduce
quasi-polynomial and polynomial time approximation schemes for three
such problems.
Geometric optimization problems often have direct applications, as in
practice costs are usually more or less proportional to geometric mea¬
sures, such as distances or areas. One of the most important problemsin this field is nowadays known as Steiner 's problem. Its roots go back
back to the 17th century, when Fermât asked for the shortest way to
connect three points in the Euclidean plane, say x, y and z. Fermât
mentioned this problem in a letter to Galileo's secretary Torricelli who
on his part solved the problem: if none of the angles Zxyz, Zzxy, and
Zyzx is more than 120° then the best way to connect x, y and z induces
in a third point p, called Torricelli point, which is the unique point with
the property that the angle between any two of the line segments xp, yp
and zp is 120°. Otherwise, if some angle is more than 120° the shortest
connection does not include such an artificial point.
A natural question is the generalization of this problem to an arbitrarynumber of points. Indeed, on March the 19th, 1836 the German as¬
tronomer Schumacher wrote to Gauss about difficulties he had experi¬enced in trying to extend Format's problem to four points. He wished to
find a fifth point such that the sum of the distances to these four points is
Indeed, many objective functions involve Euclidean distances and are thus in generaltranscendental.
I
2 Chapter 1. Introduction
minimum. In his response [57] Gauss pointed out Schmacher's mistakes
but also argued that one should rather look at a different problem:
Ist bei einem Viereck nicht von der stricte« mathematischen
Aufgabe, wie sie oben angesprochen ist, sondern von dem
kürzesten Verbindungssystem die Rede, so werden mehrere
einzelne Fälle von einander unterschieden werden müssen, und
es bildet sich so eine recht interessante mathematische Auf¬
gabe, die mir nicht fremd ist, vielmehr habe ich bei Gelegen¬heit einer Eisenbahnverbindung zwischen Harburg, Bremen,
Hannover, Braunschweig sie in Erwägung genommen [...]
In short, Gauss writes that he has already thought about the short¬
est system connecting the four corners of a quadrilateral, and that he
was motivated by the design of a railway connecting the German cities
Harburg2, Bremen, Hannover and Braunschweig (an early thought of
operations research). Gauss sketched the shortest networks for three
different point configurations in the letter to Schumacher. Figure 1.1
depicts the original sketches of Gauss [57]. In the rightmost figure the
network uses the line segment cd; this was also pointed out by Gauss.
Ftgure 1.1. The sketches of Gauss illustrating the
shortest network connecting the four corners of a quadri¬lateral.
The problem of Fermât has been then misattributed3 to the Swiss math¬
ematician Jakob Steiner (1796-1863) in the book What is mathematics?
Today part of Hamburg.' Jakob Steiner gave a lecture on Fermat's problem in 1837 and wrote an article for
Crella's journal discussing this problem amongst others. However, it is not docu¬
mented that he studied Fermat's problem more intensively [115]. As several other
people considered this problem, it is unclear why Courant and Robins attributed it
just to Steiner.
3
by Gourant and Robins [31, Chapter VII, §5]. For this reason, a more
general form of the problem proposed by Gauss became quite popular
as Steiner 's problem.
Problem 1.1 (Steiner's problem). Given a finite set P of points, what
is the shortest network connecting P?
Note that it means no loss of generality if we require that the network
is cycle-free, since the shortest network connecting a set of points is
always a tree. A tree connecting a set of points is called a Steiner tree
and Problem 1.1 is also known as Minimum Steiner Tree. An alert
reader might have noticed that we posed Problem 1.1 not precisely, as
we did not specify from which space we choose the point set. Indeed
the character and the difficulty of this problem depend on the dimension
and on the metric we consider. For the sake of exposition we assume for
the moment that the input points are in the Euclidean plane.
It is easy to see that Steiner's problem with three points is indeed equiva¬
lent to Fermat's problem. However, as we have learned from the conver¬
sation of Schumacher and Gauss, Steiner's problem in full generality has
a quite different character. An important difference between Fermat's
problem and Problem 1.1 shows up, when we regard both problems as
algorithmic questions. Although it is easy to construct the Torricelli
point for a set of three points, it is not obvious how to solve Steiner's
problem, since it is not clear at all how we can identify the artificial
points, henceforth called Steiner points.
Indeed, on a first sight Steiner's problem is not even a combinatorial
optimization problem, as the space of solutions is not finite. It was
Mclzak [92] who first gave an (finite) algorithm using amongst others
the following observations: i) Every point has degree at most 3, ii)
every Steiner point has degree 3, and in) the line segments incident to
Steiner point meet at an angle of 120°. Those observations made it
possible to formulate Steiner's problem as a combinatorial optimization
problem, as it basically remains to guess the topology of the optimum
tree. Unfortunately, Melzak's algorithm is not efficient, as the number of
arithmetic operations we need grows exponentially with the number of
points. Until today no polynomial time algorithm for Steiner's problemis known and the hope to find such an algorithm was diminished in
1977, when Garey, Graham and Johnson [55] proved that the problemis indeed A/'P-hard.
4 Chapter I. Introduction
This gives rise to the question, whether if is possible to find approximate
solutions in polynomial time. That is, we wish to find a network of lengthat most, say (1 + e) times the length of the optimal Steiner tree for some
e > 0. Garey et al. [55] showed that Steiner's problem is A^'P-hard in the
strong sense; so if we assume that V ^ MP, then Steiner's problem does
not admit & fully-polynomial lime approximation scheme (FPTAS), that
is, an approximation algorithm with time complexity poly(?i, i/e)- Thus
the best we can hope for is a polynomial time approximation schemes
(PTAS), that is, an algorithm with time complexity poly(77) for fixed e.
A seminal result of Arora [11] and independently Mitchell [94] is that
Steiner's problem indeed admits a PTAS.
Steiner's problem is just one example of many similar problems, and in
the literature a number of other geometric optimization problems have
been studied. Some can be solved in polynomial time but most of them
are AT^-hard, often even in the strong sense. In Chapter 2 of this thesis
we survey classical and recent results on selected geometric problems,while the main part of this work introduces approximation schemes for
the three problems below.
Minimum Weight Triangulation. Let P C S%2 denote a set of pointsin the Euclidean plane and let \P\ = n. A triangulation T of P is a
collection of non-intersecting edges or straight-line segments, dividingthe interior of the convex hull of P into triangular regions. The lengthor weight of a triangulation T is defined as
£{T)= Yl <*(«»")»{u,«}éT
i.e., the total length of the triangulation T in the Euclidean metric. In
computational geometry triangulations are important structures, and a
quite natural question is to ask for the triangulation of minimum weight4.
Problem 1.2 (Minimum Weight Triangulation). Given a set of
points P C Bf!2, what is the shortest triangulation of PI
Resolving the complexity of Problem 1.2 has been conceived as one of
the most important topics in computational geometry [96], and so the
problem received quite much attention. In 1979 Garey and Johnson [56]included the problem in their famous list of 12 problems with unknown
complexity However, it remained open for almost three decades. Very
Note that a minimum weight triangulation is not necessarily unique.
5
recently and simultaneously to our work, Mulzer and Rote [99] finally
proved that Minimum Weight Triangulation is AfP-hard.
With A^-hardness at hand, the most intriguing question is about the
approximability of the problem. This has also been the subject of previ¬
ous research. As it turned out, natural triangulations like the Delauny
or the greedy triangulation can be worse than the optimum by a factor
of Q(n) [20]. The best approximation algorithm so-far is due to Lev-
copoulos and Krznaric [89] who proved that a suitable variant of the
greedy algorithm constructs triangulations that exceed the weight of an
optimum triangulation by a factor of at most c, where c — 0(1) is a
(rather large) constant.
Chapter 3 introduces a quasi-polynomial time approximation scheme
(QPTAS) for this problem. A QPTAS computes a (1 +^-approximationin quasi-polynomial time, i.e., in time npo ylos(n).
The existence of a QPTAS for some ytPA'-hard problem n implies that
NV ç DTIME[npolylog(n)] which seems to be widely disbelieved5. There¬
fore, the existence of a QPTAS makes it likely that also a PTAS exists.
This work is joint with Angelika Steger and is published in part in [111].
Node-Weighted Steiner Trees. In Chapter 4 of this thesis we return
to Steiner's problem and study the following variant. Suppose it is not
necessary for our application to include all points into the Steiner tree,
but for every input point p that remains isolated we have to pay a penalty
7r(p). In the literature problems of this type are called prize-collecting
problems. Furthermore, we assume that we pay for each Steiner point
we use eg units. So, the problem we look at is the following.
Problem 1.3 (Node-Weighted Steiner Tree). Let Pc# denote
a set of points, let ti : P —> Q+ and let es G Q+. Compute a subset
K* C P and a Steiner tree ST* connecting K* such that i{ST*) +
Yï,péK* 7r(p) + cs-s('5T*) is minimum, where s(ST*) denotes the number
of Steiner points in ST*.
Note that Problem 1.3 includes Steiner's problem as a special case, as it
suffices to let cs = 0 and iv(p) — oo for all p <s P. Hence, Problem 1.3 is
NV-lmid. Another special case is the minimum spanning tree problem;
we just have to choose Co, = oo and 7r(p) = oo for all p P.
°Indeed, several lower bounds on approximability rely on the assumption that NV
is not a subset of DTIME[ni,olvlü^")] rather than on V / NV.
6 Chapter 1. Introduction
Like Steiner's problem, Problem 1.3 has applications in network design.
Our model meets the fact that in practice Steiner points are usuallynot for free. This is already obvious for Gauss's application, since in
a railway network every Steiner point models a station (or at least, a
junction) which is costly to built. Similarly, in computer networks ad¬
ditional switches could reduce the cable length of the network but they
are expensive to install. The motivation for prize-collection is mainly to
identify unprofitable points, since the penalties can be seen as a loss of
income we suffer due to clients who are not connected to our network.
So, from a practical point of view, the objective function of Problem 1.3
in fact maximizes the total profit of our network.
In Chapter 4 we introduce a PTAS for this problem. Our algorithmworks not only for the Euclidean metric but also for any Jzfq-metric.Moreover, we extend our method to higher fixed dimension still obtaining
a QPTAS. This work is joint with Angelika Steger and is published in
part in [110]. A full paper is to appear [112].
Vehicle Routing with Allocation. The traveling salesman problem
(TSP) is a well-studied optimization problem. The geometric variant
admits a PTAS [11, 94, 108]. In Chapter 5 we study the following
generalization of this problem. We do not require that all points lie
on the salesman tour. However, points that lie not on the tour are
allocated the nearest tour point, i.e., they are directly connected to this
point paying a higher (per-unit) cost.
Problem 1.4 (Vehicle Routing with Allocation). Given a set
of points P C âêd and functions a : P —> [0, oo) and ß : P —> [l,oo),compute a subset T* Ç P and a salesman tour 7r* through T* such that
the total length of the tour including all allocation costs is minimum.
Here, the allocation cost for a single point p G P\T* is c\(p)+ß(p)-d(p, q),where q G T* is the nearest point on the tour.
Note that Vehicle Routing with Allocation (VRAP) becomes the
ordinary traveling salesman problem by letting ß(p) = oo for all p G P
(in fact ß(p) — 2 suffices). Problem 1.4 is motivated by vehicle routing.
For instance, each point represents a bank and we wish to transport cash
to the banks using an armored vehicle. The vehicle can visit each bank
(which would be a shortest salesman tour) but it might be cheaper to
visit only some of the banks while the staff of the other banks has to
pick up the cash at the visited banks. Although the total distance is
7
smaller, this way of cash transportation is more risky and needs addi¬
tional insurance (which can be modeled using the functions rv and ß).
We also study a Steiner variant, called Steiner VRAP, of this problem.
Here, we are allowed to include Steiner points in the salesman tour in
order to lower the allocation costs. This problem was recently introduced
as Purchase Cooperative TSP by Armon et al. [9].
Chapter 5 introduces a randomized PTAS for both Vehicle Rout¬
ing with Allocation and Steiner VRAP. A randomized PTAS has
expected approximation ratio (1 + e), or equivalently returns a (1 + e)-
approximation with probability at least 1/2. Our algorithm for VEHI¬
CLE Routing with Allocation has time complexity Ö (nlogrf+3n),whereas that for STEINER VRAP requires Ö (nlog^ ,£> n) time, where
Ç(d,e) — ö(yfd,/e)d~l. The latter algorithm dramatically improves a
result of Armon et al. [9]. This work is joint with Reto Spöhel and
Andreas Weißl, and is published in part in [109].
Seite Leer /
Blank leaf
CHAPTER 2
Geometric Optimization Problems
This chapter provides deeper insight into the field of geometric opti¬
mization. As we already stated in the introduction, we presume that
geometric optimization problems are of discrete character, that is, both
the input and the output consist of finitely many geometric objects such
as points, lines, hyperplanes and regions, along with the usual set of
real numbers. In this chapter we first introduce the principal geometric
objects we use and fix some notation. Then we discuss which model
of computation is suitable to describe geometric algorithms and we ar¬
gue, why our algorithms can be implemented on a traditional RAM or
a Tiring machine. Thereafter, we briefly discuss the relation between
geometric and combinatorial optimization problems. Finally, we survey
previous results on geometric optimization problems.
2.1. Geometric Preliminaries and Notation
As usual, Md denotes the d-dimensional Euclidean space, i.e., the space
of ti-tuples (xi,...,Xd) G ^d with metric [Yli=^x1)1^2 Instead of
the Euclidean metric, we often consider the more general Jzfq-metric
ÇZjd=iXiy/q. We denote the distance of two points p and q in the
Jzfq-metric by dq (p,q). For the sake of brevity, d(p,q) denotes the Eu¬
clidean distance. The Euclidean length of a line segment e is denoted
bv /(e), whereas the ^-distance between the endpoints is denoted by
£q(e).
This thesis only deals with the following principal geometric objects:
points, lines, line segments and hyperplanes. All other considered objectscan be decomposed into those four principal objects1. A straight-line
graph (SLG) Q on a point set P E Md is a set of pairwise (straight)-line
The importance of this decomposition is due to the machine models we consider.
This is discussed in detail in Section '2.2.
9
10 Chapter 2. Geometric Optimization Problems
segments or edges with endpoints in P. For example, a Steiner tree is a
SLG on the input points and the Steiner points. For an edge {u,v\ G
G we sometimes denote the corresponding line segment by uv. More
precisely, uv denotes the set of points on the line segment connecting
u and v. Our convention is that a SLG is a set of edges. Only if the
context is not clear, we use the notation E{G) to refer to the edge set
of G- Similarly, P{G) denotes the points of P that are incident to at
least one edge in E(G). By £(G) and (q{G) we denote the total lengthof G in the Euclidean and the Jzfq-metric, respectively. An important
special case of a SLG is a planar straight-line graph (PSLG) which is a
straight-line graph on a point set Pel2 such that all edges are pairwise
non-intersecting. For instance, a triangulation and all its subgraphs are
PSLGs.
As usual, Axyz denotes the triangle with vertices x, y, and z. As a
triangle induces a PSLG, we use the notations E(A) and P(A) to refer
to A's sides and vertices.
The halfspaces of a line (or a hyperplane) H are denoted by H+ and H~,
respectively. Our convention is that halfspaces are always open. We will
not use any kind of global orientation, but instead we will define H+ and
H~ locally by specifying certain points that they contain. For any region
R C <5^2, dR and R denotes its boundary and closure, respectively. We
denote the convex hull of a point set X G t%d by conv(A). Unless stated
otherwise, logn denotes the logarithm of n to base 2.
2.2. Models of Computation
A model of computation specifies the primitives that we can execute as
well as their respective durations. Combinatorial algorithms and data
structures are usually described in the random access machine (RAM)model [5]. The memory cells of a RAM contain integers, which can be
added, multiplied, subtracted, divided, compared, and used as pointers
to other memory cells. All those operations can be accomplished in
constant time2.
However, in the field of computational geometry it is more common to
consider the Real-RAM model [106]. The memory cells of a Real-RAM
Although this assumption is commonly made for the sake of simplicity, it is not
realistic at all and makes it impossible to relate RAMs and Turing machines. A
second definition takes into account that the cost of those operations depends on the
lengths of the numbers involved. We refer the reader to [5] for details.
2.2. Models of Computation Il
can store not only integers but also arbitrary real numbers, e.g. coor¬
dinates of points. On a Real-RAM we can do arithmetic operations on
and comparisons between real numbers in constant time but conversions
between integers and real numbers are not allowed.
So far, this model of computation is very convenient but not more pow¬
erful than the traditional RAM as long as the input is rational. However,
in computational geometry, we also want to treat decision problems like
the following seemingly simple one.
Problem 2.1. Given x,y,z G âê2 and tGZ+, decide whether Axyz has
perimeter at most t.
At a first glance, this problem seems to be tractable in polynomial time,
as we could simply "measure" the perimeter of the triangle, but to mea¬
sure means to compute roots which are in general transcendental. Thus
it is not clear at all whether we can decide Problem 2.1 on a RAM (or a
Turing machine) in polynomial time. Even more, it is doubtful whether
this problem is in A/"P, since it seems to be impossible to construct ef¬
ficient certificates that involve transcendental numbers. The difficulties
we encounter with geometric decision problems and the class NV are
in fact intentional, as real computers and similarly traditional RAMs
or Turing machines have finite memory and can thus only handle finite
arithmetic. To overcome these difficulties in theory it is common (soalready in [106]) to extend the Real-RAM model such that wo can com¬
pute roots, trigonometric functions, logarithms and powers in constant
time. This model of computation is much more powerful than the tra¬
ditional RAM or Turing machine. Indeed, we can solve Problem 2.1 in
0(1) time on such a Real-RAM. Similarly, the (Euclidean) length of a
minimum spanning tree (cf. Problem 2.8) of a given point set is in gen¬
eral transcendental and we need the Real-RAM to compute this value.
However, as roots are monotone, a RAM is sufficient to compute just
the minimum spanning tree (but not its length).
The aforesaid extensions are also helpful when computing the coordi¬
nates of the Torricelli point which requires trigonometric computations.In addition the Real-RAM model makes it possible to decide whether
certain geometric objects intersect, and if so at which points. For ex¬
ample, we need the Real-RAM to determine at which point (s) two disks
intersect even if the centers' coordinates and the radii arc rational.
The algorithms proposed in this thesis are described in the Real-RAM
model, but we claim that they can be transferred to the traditional RAM
12 Chapter 2. Geometric Optimization Problems
and also to a Turing machine. This has the following reasons. Firstly,
we consider approximation algorithms instead of exact ones. Generally
speaking, our objective functions are sum of roots and thus wo just need
to approximate the roots appropriately. Indeed, one can easily check
that even the asymptotic complexities of our algorithms arc preserved
on the RAM, as for fixed e > 0 a (1 + ^-approximation to a root can
be computed in 0(1) time. Secondly, our algorithms use no (principal)geometric objects other than lines, line segments, hyperplanes and points
(and compound objects such as polygons) determined by points with ra¬
tional coordinates3. Clearly, rational arithmetic is sufficient to compute
intersections of such objects, and also to decide whether a point is above
or below a given line (segment) or a hyperplane.
Note. The practical problems of finite arithmetic have an absolutely dif¬
ferent character. In fact, the implementation of geometric algorithmslike ours is rather difficult, as in practice we use floating point arith¬
metic with bounded precision, e.g. 52 binary digits for IEEE doubles.
This has the effect that it may be hard to decide whether a given pointlies above some line segment or below. There are several approaches to
overcome such problems. We refer to [91] and the references therein.
2.3. Geometric and Combinatorial Optimization
Combinatorial optimization problems are well-studied algorithmic prob¬
lems and many textbooks are devoted to this subject, e.g. those of
Grötschel, Lovâsz and Schrijver [66], Papadimitriou and Steiglitz [100]and Shrijver [116], The most fundamental way to state a combinatorial
optimization problem is the following: the input is a set t/, a weightfunction uj : U —> R+ and a (in most cases implicitly given) set of sub¬
sets S Ç p(U). We wish to find an element sq £ S which optimizes
In fact, many geometric optimization problems can be formulated as a
combinatorial one. Assume we are given a set of points P C S9d and
wish to compute a set of line segments of minimum total length such
that each point in P is an endpoint of exactly one line segment. It is
easy to see that this problem is indeed the minimum perfect matching
problem in graphs, as P induces a weighted complete graph Kp such
that the weight (or length) £(e) of an edge e = {u, v} is the distance
Here we assume that the input points have rational coordinates, as otherwise we
cannot nse the RAM anyway.
2.4. A Tour d'Horizon 13
d(u,v) between its endpoinfs in the Euclidean metric. That is, we can
state the geometric variant of the matching problem in the form
Problem 2.2 (Minimum Perfect Matching). Given P C M'\ com¬
pute the shortest perfect matching in Kp.
Similarly two point sets P,Qc $d induce a weighted complete bipartite
graph Kp^q. So, the geometric relative of the bipartite perfect matching
problem in graphs is
Problem 2.3 (Minimum Perfect Bipartite Matching). Given P,
Q C f$d, compute the shortest perfect matching in Kj^q.
One can solve Problem 2.2 and Problem 2.3 in time Ö (n3) using Ed¬
monds' algorithm [100]. However, this method does not exploit the
strong geometrical background of the problems above. So, is it possibleto find faster algorithms for Problem 2.2 and Problem 2.3? The answer
is indeed yes, but the improvement one achieves depends on the dimen¬
sion and the metric of the input as well as on the desired accuracy. The
currently best results can be found in Table 2.1.
Like the matching problem several other geometric optimization prob¬lems are in a complexity theoretic sense easier than their combinatorial
relatives: we have faster algorithms for tractable problems and achieve
better approximations for hard ones.
However, several geometric optimization problems have no straightfor¬ward combinatorial relative. One prominent example is Steiner's prob¬lem. In the way it was stated it is not a combinatorial problem at all,
and in particular it cannot be formulated as a graph problem. We come
back to this in Section 2.4.3.
2.4. A Tour d'Horizon
In the remainder of this chapter we survey recent and classical results
on geometric optimization problems. Given the vast number of different
geometric optimization problems studied so far, it is apparently not pos¬
sible to provide a complete discussion. The problems we have selected
for this survey are either fundamental or are related to the problemsstudied in the main part in this thesis. In the sequel, we also aim to
demonstrate that on the algorithmic side geometry often helps a lot. To
do so we also discuss the combinatorial counterparts of the problemswhenever it makes sense.
Graph
Dim.
Metrie
Approximation
Complexity
Reference
KP
2•=£\1°^1
•}~^oo
exact
C(n
5/2lo
g4n)
[125
]
^2
exact
Ö(n
3/2lo
g5n)
[126
]
%2
(1+
e)Ö
(n/e3lo
g6n)
[127
]
d^1
(1+
e)0
(e3d
/2n3
/2lo
g5/2
n)[1
24]
%2
(1+
e)<9
(nlog°^n)
[11]
&Cq
(1+
ci(9(nlo
g°<W
n)[1
1]
Kp,Q
2£â\,
^2-,
=^oc
exact
C(n5
/2lo
gn)
[125
]
=2\L
)"^oo
exact
Ö{n
2lo
g3n)
[125
]
^2
exact
Ö(n
2+e)
[2]
^2
(1+
e)0(
n3/2
logn
)[1
27]
Table
2.1.Thecurrentlyfastest(a
ppro
xima
tion
)algorithmsforgeometricmatchingproblems.
The
complexitydependson
thedimensionand
themetric
aswell
asonwhetherwewant
an
optimum
solutionorju
stanapproximation.
2.4. A Tour d'Horizon 15
Most geometric algorithms shaie a certain drawback that is typical for
such problems: they suffer from the so-called curse of dimensionality,that is, their time or space complexities grow at least exponentially with
the dimension. For this reason almost all of the algorithms we give in
the sequel are only polynomial in the plane or some fixed dimension.
2.4.1. Covering and Point Selection. Covering problems are loosely
related to combinatorial optimization problems like Minimum Set Co¬
ver, but they have a strong geometric character. The first problem we
consider is to cover a point set P with unit spheres. We say that a set
of spheres covers a point set P if each point is also contained in at least
one of the spheres.
Problem 2.4 (Covering with Unit Spheres). Given P c S$d1 com¬
pute the minimum number of unit spheres that cover P.
This problem is known to be A/"P-hard in the strong sense [77], so no FP-
TAS exists. However, there is a PTAS for the problem due to Hochbaum
and Maas [71] with complexity double exponential in d. We obtain the
same negative and positive results if we cover the point set with squares
or arbitrary rectangles. The PTAS of Hochbaum and Maas is insofar
interesting, as to the best of our knowledge this is the first application
of randomized dissections of the Euclidean space. This technique was
later extended by Arora [10, 11] and others, and is also heavily used in
this thesis.
Another field of interest is point selection. Selection problems are not
necessarily optimization problems. Indeed, an important selection prob¬lem is Range Searching, where we preprocess the point set such that
we can quickly report or count the points within an arbitrary query
region (see [3] for references). Natural selection problems that involve
optimization are computing the nearest neighbor of a query point or the
closest pair within a point set. More precisely, the former problem is
to preprocess the input points such that we can quickly find the nearest
neighbor for any query point, where we have a certain tradeoff between
preprocessing time and query time. Due to applications in classifica¬
tion, this problem is particularly relevant in high dimension where it
suffers from the curse of dimensionality. For this reason much research
has been done on approximate nearest neighbor queries which can be
answered much faster. We refer the reader to [7, 75, 74] and to the
references therein. The closest-pair problem can be solved in expectedlinear time [63] if the dimension is fixed. A natural generalization is the
16 Chapter 2. Geometric Optimization Problems
following problem, where we wish to select k points minimizing some
closeness measure.
Problem 2.5 (Subset Selection). Given P C ^d, a k e N, and some
criterion /i : p(X) —> M>o, compute a subset X Ç P of cardinality at
least A; such that fi{X) is minimum.
Such problems were first studied by Aggarwal et al. [4] who introduced
an algorithm finding in Ö (k2n\ogn) time using Ö (kn) space a set of k
points for which the smallest enclosing rectangle has minimum perimeter.
The complexity was improved by Datta et. al [36] to Ö {k'2n + nlogii)time and Ö (n) space. This specific problem has applications in cluster¬
ing and pattern recognition. A number of polynomial time algorithms
[4, 35, 36, 45, 47, 48, 70, 117] exists for various choices of /i, like
for instance the radius of the smallest enclosing disk or the area resp.
perimeter of conv(A). The prize-collecting variant of this type of prob¬lem has been recently studied by Gerke and Remy [58]. In this variation,
we assign profits tt : P —> M>o to the points and ask for the most prof¬itable subset X that maximizes ^2pX ^(p) ~ M^O-
2.4.2. Separation and Clustering. A number of problems fall in this
class, such as finding the shortest polygon separating points colored red
and blue, or computing the "simpliest" polytope separating two nested
polytopes. For the former problem we have a PTAS [13], whereas the
best we know for the latter is a Ö (l)-approximation algorithm [23, 97].An important clustering problem we encounter quite frequently is
Problem 2.6 (Maximum Cut). Given P c S%d, compute a maximum
cut in Kp.
The more general problem to compute a maximum cut in a given metric
input graph admits a PTAS due to Fernandez de la Vega and Kenyon
[51]. A PTAS also exists if one wishes to compute a maximum bisection
instead of a cut [50]. Computing a maximum cut in a non-metric graph is
^4P^-complete [102], and 0.87856-approximation algorithm exists [62].Another problem that received much attention is
PROBLEM 2.7 (/v-Median). Given rcfrf and afceN, determine a set
F C 3?d of k points, called medians, such that the sum of min{d(p, /) :
f E F} over all p E P is minimum.
The first PTAS for this problem is due to Arora et al. [14]. More re¬
cently, Har-Peled and Mazumdar [69, 70] introduced a faster PIAS with
2.4. A Tour d'Horizon 17
linear complexity for sublinear k. This algorithm also applies to the dis¬
crete version of the problem, where we require F Ç P. For this variant
there is a PTAS with complexity Ö (n log6 j d n) due to Kolliopoulos and
Rao [83]. The algorithm in [69] still suffers from the curse of dimen¬
sionality Newer approximation schemes due to Kumar et al. [84] and
Chen [27] have complexities polynomial in d but exponential in k. A
related problem is Facility Location. Instead of k, we are given a set
Po of candidate locations for medians and for each f E Fq & cost c(f) for
placing a median at /. We wish to compute a F Ç P0 that minimizes
the objective function of Problem 2.7 plus the total cost of the points in
F. The method introduced in [83] applies to this problem. The graph
problems corresponding to /c-Median and Facility Location admit
constant factor approximations. The most recent results and references
can be found in [16, 25, 76].
A solution to Problem 2.7 is essentially a set of stars with centers in P.
The problem becomes much more difficult if we require that the degree
of each of the stars' centers is bounded by some t (which is part of the
input). This problem is called capacitated k-rnedian and the best we
have is a QPTAS [14]. A further variant of ^-Median is the problem/c-Center where we minimize maxpep min/gj? d(p, /), that is, we mini¬
mize the maximum "radius" of a star in the solution. A 2-approximation
algorithm for this problem exists [64], but it is also known that a 1.82-
approximation to this problem is A/"P-hard [49].
2.4.3. Network Design and Routing Problems. Network design
problems are important and extensively studied geometric optimization
problems. One important network design problem is Steiner's problem.In the introduction we already mentioned that this problem admits a
PTAS [11, 94] but no FPTAS unless V - NV [55]. Unlike the (bi¬partite) matching problem, Steiner's problem is not a combinatorial op¬
timization problem. The combinatorial optimization problem which is
conceived to be most related to Steiner's problem is the Steiner tree
problem, in networks. Here, the input is a weighted graph G = (V, P, to)and a subset K ÇV. We wish to compute a minimum weight connected
subgraph of G spanning K. This problem is „4P^-complete [21] but
admits a (1 + ^^-approximation [113]. We refer to Chapter 4 for a de¬
tailed discussion of the literature on Steiner's problem and its relatives.
A fundamental geometric problem similar to Steiner's problem is
18 Chapter 2. Geometric Optimization Problems
Problem 2.8 (Minimum Spanning Tree). Given P c $d, compute
the shortest connected subgraph Kp.
If P is a set of points in the plane this problem can be solved in time
Ö {n\ogn) time, as the minimum spanning tree is a subgraph of the
Delauny triangulation which can be computed in O (nlogn) time (cf.de Berg et al. [38]). This competes quite well with the current fastest
algorithm for the MST problem in graphs [26, 104].
There arc several generalizations of the MST problem. For instance, the
fc-MST problem is to find a minimum spanning tree that spans at least
k points of the input set. This problem is known to be jVP-hard [52]but admits a PTAS [11, 94]. Also, we have a PTAS for the problemto compute a shortest fc-connected subgraph of KP [32, 33]. A very
challenging variant of the MST problem is
Problem 2.9 (Degree-Restricted Minimum Spanning Tree). Gi¬
ven P C â?d and t > 2, compute the shortest subgraph of Kp with
maximum vertex degree t.
The case t = 2 is equivalent to the traveling salesman problem (Prob¬lem 2.10 below) and thus NV-lmrd in the strong sense. Papadimitriouand Vazirani [101] showed the A/"P-hardness of the case t — 3. The
case t > 5 can be solved in polynomial time [13], whereas the com¬
plexity status of the case d = 4 is still open. The literature describes
several polynomial time approximation algorithm with constant perfor¬
mance ratio (see for instance [24]). More recently, Arora and Chang
[13] introduced a QPTAS for all choices of t. There is not much known
about degree-restricted MSTs in graphs. A series of papers proposes al¬
gorithms optimizing the weight without violating the degree bound too
much, culminating in a result of Goemans [60] : one can find in polyno¬
mial time a tree of maximum degree t + 2 and weight at most that of any
MST with maximum degree t. Let us finally turn to a several problemsthat a related to
Problem 2.10 (Minimum Traveling Salesman). Given P c fMd,
compute the shortest salesman tour in Kp.
This problem and its counterpart in graphs is extensively studied. The
geometric variant was shown to be strongly NV-h&rd by Garey, Graham
and Johnson [54]. This excludes the existence of a FPTAS unless V =
NV. On the positive side, Arora [11] and independently Mitchell [94]introduced such a PTAS for this prestigious problem. The advantage
2.4. A Tour d'Horizon 19
of Arora's PTAS is that it generalized to any fixed dimension. 'The
currently fastest approximation scheme for this problem is the algorithmof Rao and Smith [108] which has time complexity Ö (n log??) in fixed
dimension. The traveling salesman problem in graphs is not even in
AVX, unless V = NV [17]. If the edge weights satisfy the triangle
inequality then the problem admits 3/2-approximation [30], but is still
„4P.^-complete [103].
Several important variants of Minimum Traveling Salesman have
been considered. One example is NEIGHBORHOOD TSP, where we are
given a set of regions Pi,..., Rn in &d and wish to compute the shortest
tour through all P^. This problem in its full generality is known to be
„4P^f-hard [37, 114]. Very recently Mitchell [95] introduced a PTAS
for this problem for the important case that Pi,..., Rn are fat regions
in the plane. Another variant is the so-called orienteering problem. Here
we wish to maximize the number of input points we can visit with a
salesman path of length at most t. There exists a PTAS due to Chen
and Har-Peled [28] for this problem in dimension 2.
An interesting generalization of TSP is a problem called Cooperative
TSP [9]. This problem has several variants that essentially differ in the
amount of cooperation we allow. In the most basic variant, the salesman
has to meet all clients, but the customers are allowed to move towards
the salesperson and we wish to minimized the total distance traveled
by the salesman and the customers. Armon et al. [9] give a PTAS for
this and some other variants but not for all. Indeed, some of them are
more related to Degree-Restricted Minimum Spanning Tree than
to TSP. Note that Cooperative TSP is quite similar to the problemVehicle Routing with Allocation which we study in Chapter 5.
In fact, there we also improve a main result of [9].
2.4.4. Triangulation Problems. This class of problems is very im¬
portant in computational geometry and related areas such as computer
graphics. A triangulation of a set P C &2 of points in the plane is a
subgraph of Kp that divides the interior of the convex hull of P into
triangular regions. Computing triangulations is not too complex and
indeed the so-called Delauny triangulation can be constructed in time
C(nlogn) [38]. In contrast, the problem Minimum Weight Trian¬
gulation, stated in the introduction as Problem 1.2, turned out to be
quite challenging and it is one of the most studied problems in com¬
putational geometry. Mulzer and Rote [99] recently proved that this
20 Chapter 2. Geometric Optimization Problems
problem is A/'P-hard - almost three decades after it appeared in the
list of 12 problems with unknown complexity published by Garey and
Johnson [56] in 1979. The proof of Mulzer and Rote also yields that
no FPTAS exists, unless V = NV. The best polynomial time approx¬
imation algorithm we have so far is an Ö (l)-approximation algorithmdue to Levcopoulos and Krznaric [89]. Chapter 3 of this thesis intro¬
duces a QPTAS for this problem, and also surveys further related work.
Unlike Minimum Weight Triangulation, the following problem is
polynomially tractable.
Problem 2.11 (Minimum Maximum Length Triangulation). Gi¬
ven a set of points P C &2, compute the triangulation of P with mini¬
mum maximum edge length.
Edelsbrunner and Tan [43] showed that this problem can be solved in
quadratic time. This is basically achieved by proving that the so-called
relative neighborhood graph [123] is contained in at least one triangu¬lation of minimum maximum edge length. As the relative neighborhood
graph is known to be spanning and connected, one can complete this
triangulation using dynamic programming. If we want to minimize the
maximum angle instead of the maximum edge length, we still have a
Ö (n2logn) time algorithm due to Edelsbrunner et al. [44].
Problem 2.12 (Minimum Steiner Triangulation). Given a set of
points P C M2, select points S C &2 such that the minimum weight
triangulation on P U S has minimum length.
By allowing Steiner points, the weight of the triangulation can decrease.
In particular, there exist instances for which the weight drops by a
factor of fl(n) [46]. It is not known whether this problem is NV~
complete. Eppstein [46] presented an algorithm for Minimum Steiner
Triangulation which computes a 316-approximation in O (nlogn)time. The solution produced by Eppstein's algorithm has Ö (nlogn)Steiner points, and an intriguing open question of algorithmic signifi¬cance is, how many Steiner points we need in the optimum solution or
in a (1 + ^-approximation.
A pseudo-triangulation is a planar graph on the given point set such that
each face is a pseudo-triangle, that is a planar polygon that has exactlythree convex vertices with internal angle less than n.
Problem 2.13 (Minimum Pseudo Triangulation). Given a set of
points P C &2, compute the shortest pseudo triangulation of P.
2.4. A Tour d'Horizon 21
Like for the preceding problem, the complexity status of Minimum PSEU¬
DO Triangulation is still open. Recently, Gudmundsson and Lev-
copoulos [67] gave a polynomial time 4(1 + 4v/2)-approximation algo¬
rithm. They also proved that the minimum weight pseudo-triangulationof the interior of a simple polygon can be computed in Ö (/t3) time.
Seite Leer /
Blank leaf
CHAPTER 3
Minimum Weight Triangulation
In this chapter, we introduce a quasi-polynomial time approximation
scheme for Minimum Weigh Triangulation. We start by briefly re¬
viewing the problem statement and by fixing some basic notation. Let
P C f^2 denote a set of points in the Euclidean plane with \P\ — n. A
triangulation T of P is a collection of non-intersecting edges or straight-
line segments, dividing the interior of the convex hull of P into triangular
regions. We throughout consider triangulations as planar straight line
graphs. Frequently, we use the notation A(T) to denote the set of trian¬
gles (or triangular regions) induced by a triangulation T. The length of a
triangulation T is defined as the total length of the used straight-line seg¬
ments in the J^-nietric, i.e., the length of T is £(T) = Y2{u v\<eT ^('u' v)-The Minimum Weight Triangulation problem is to find a triangu¬
lation T* of minimum length for P. Note that T* is not necessarily
unique.
The first appearance of the problem dates back to 1970, when it was
considered by Diippe and Gottschalk [42] in the field of cartographies.In 1975, Shamos and Hoey [119] conjectured that the Delaunay trian¬
gulation has also minimum total length. This has been later disproved
by Lloyd [90]. In 1979 Garey and Johnson [56] included the problemin their famous list of 12 problems with unknown complexity. As in
addition, Minimum Weight Triangulation is conceived as one of
the most important problems in computational geometry [96], it has re¬
ceived much attention over the following years. However, its complexitystatus remained open for almost three decades. Very recently, and inde¬
pendent to our work, Mulzer and Rote [99] finally proved that MINIMUM
Weight Triangulation is NV-k&rd.
Polynomial time algorithms have been found for several special cases
such as triangulating the interior of a simple polygon [59, 81]. More
recently, it was shown that a simple polygon containing k inner points
23
24 Chapter 3. Minimum Weight Triangulation
can be triangulated optimally in Ö (6A'nrMog n) [72] or Ö ^n3k\kï) time
[65]. Moreover, one can optimally solve in time Ö (rvik+^) instances,
where the input consists of k nested convex polygons [8].
The algorithm in [59, 81] can be used to complete in polynomial time
a triangulation of minimum weight, once we have a subgraph with a
constant number of components of it. This motivated another line of
research asking for such subgraphs. Promising candidates were mutual
nearest neighbors [129], the /3-skeleton [29, 79], and the LMT-skeleton
[19, 39]. Those subgraphs can be shown to be not connected in gen¬
eral (which matches the A^P-hardness of the problem). However, for
most real-world instances the LMT-skeleton is connected or consists of
only few connected components. Conversely, to exclude edges from the
triangulation one can use the so-called diamond test [34, 40].
With A/"P-hardness at hand, the most interesting open question is about
the approximability of the problem. Previous research showed that nat¬
ural triangulations like the Delauny or the greedy triangulation can be
worse then the optimum by a factor of O(n). The excellent survey of
Bern and Eppstein [20] on hard geometric optimization problems con¬
tains several such examples. In 1987 Plaisted and Hong [105] proposed
an algorithm which produces triangulations within a factor of Ö (log n)of an optimum triangulation. Roughly a decade later Levcopoulos and
Krznaric [87, 89] proved that a suitable variant of the greedy algorithmconstructs triangulations that exceed the weight of an optimum trian¬
gulation by a factor of at most c, where c = Ö (1) is a (rather large)constant. That is, we know that Minimum Weight Triangulation
is in the class AVX. Moreover, if the input points are in convex posi¬
tion a (1 + ^-approximation can be computed in time Ö (nlogn) [88].However, it remained open whether there is a (1 4- ^-approximationalgorithm for general point sets.
The seminal papers of Arora [10] and Mitchell [93] have risen the hope
to find a PTAS or a QPTAS for Minimum Weight Triangulation,
too. Indeed, Arora conjectured several times [11, 12, 13, 14] that his
technique may also apply to the related Minimum Weight Steiner
Triangulation problem (Problem 2.12). For various technical reasons
this problem seemed to be more amenable to Arora's techniques then
Minimum Weight Triangulation. However, no such algorithm has
been found till today. Our contribution is the following theorem.
3.1. Concepts and Algovithmie Strategy __\
Theorem 3.1. Minimum Weicht Triangulation admits a QPTAS.
The algorithm computes for every e > 0 a (1 + e)-approximation in
n°(lüg8'0 time.
The existence of a QPTAS implies that Minimum Wetgiit Triangu¬
lation is not AVX-\mvd, unless NV Ç DTIME^01^")]. This seems
to be widely disbelieved. Therefore, the existence of a QPTAS can be
seen as a strong indication for the existence of a PTAS. On the other
hand, Mulzer and Rote [99] also showed that it is NV-haxd to approx¬
imate Minimum Weight Triangulation within a relative error of
O (1/n2). This excludes the existence of an FPTAS, unless P = NV.
Hence, a PTAS seems to be the best possible result.
3.1. Concepts and Algorithmic Strategy
In this section we give a high-level overview on our general approach and
the necessary concepts and tools. Assume for the moment that we have
chosen an appropriate square Ù0 which contains all points from P. Wc
construct a subdivision of do, by first cutting 0_o vertically, then cutting
the two resulting rectangles horizontally, then cutting each of the four
resulting squares again vertically, and so on until we obtain squares of
side length at most one. This subdivision can be seen as a tree with
rectangles as nodes (from now on we will use the term 'rectangle' to
denote a rectangle or a square). Given a rectangle 9^ encountered in this
subdivision and a triangulation T for the point set P, there is a natural
way to define the restriction of T to ÇK. Namely, this restriction contains
exactly those edges from T for which both of its endpoints are contained
in *K.
From a very high level, the general approach of our algorithm is to com¬
pute a triangulation T by dynamic programming in bottom-up fashion.
We now explain the key ideas behind this dynamic program. However,
what we outline in the sequel is just meant as general overview and not
yet a quasi-polynomial time algorithm. Later, we will explain how we
can make it more efficient.
- First, for all leafs of the subdivision of 0.o we enumerate all restrictions
of triangulations of P to these leafs.
- Then we recursively compute all restrictions of triangulations of a
rectangle 9H by considering all pairs of restrictions to its two children
9V and W and combining them optimally.
26 Chapter 3. Minimum Weight Irifingulntion
The main drawback of this approach is that there are far too many
different restrictions of triangulations of P to a rectangle 91 A first
important observation is that within the above approach we actually do
not really need to store all restrictions. Within this bottom-up approach
all we need to know is how such a restriction looks from "outside", that
is which edges of the restriction can still be connected by straight lines
to points outside of 91 This is what we will call the local hull of a
restriction. A precise definition is deferred to Section 3.2.2. There we
will also show properties of local hulls that will allow us to efficiently
implement the recursion step. More precisely, we will show that given
a rectangle ÏH, its two children 9V and 9V', a local hull H for 9^ and
local hulls hi! and hi!' for 91 and 91' together with triangulations of
the interiors of the hulls hi! and hi", we can check in polynomial time
whether the hulls hi! and H" are 'consistent' with hi and, if so, compute
a triangulation of the interior of hi that is an optimum continuation of
the given triangulations for hi' and hi".
Note that, using these ideas the time complexity of the above approach
is reduced polynomially to (a) the number of different local hulls we
have to consider per rectangle and (6) the computation of triangulations
of the interior of the local hulls of the leafs of the subdivision of Ù0-
Let us first consider issue (6). Computing such triangulations optimally
seems difficult, as it is essentially equivalent to the original problem of
computing an optimum triangulation for P. However, as we will see in
Section 3.3, the sizes of leaf rectangles can be made sufficiently small
so that any triangulation of the interior of a given local hull for a leaf
rectangle will suffice to get a (1 + «^-approximation of the optimum
triangulation for the point set P. It thus remains to consider issue
(a). This is more difficult, as it is easy to construct examples for which
there exist exponentially many different local hulls. Our approach will
therefore be as follows. We define a polynomial time algorithm C(0.o, P)
that, given a square £}D and a point set P of size \P\ — n, constructs
for each rectangle 91 of the subdivision of Q_0 a set R~£(9î) of different
local hulls such that |H£(9l)| = 2polylog(n) for all rectangles 91 Then
the scheme which we outlined above will allow us to compute in time
2Poiyiog(n) a triangulation Tc such that
t(Tc) < (1 + e)- min £{T),
where Tc(Ù0, P) denotes the set of all triangulations T such that for all
rectangles 9î the local hull of the restriction of T to d\ is contained in
3.2. Preliminaries 27
H/; (91). It remains to be shown that we can define a set of polynomially
many different squares Oz such that for at least one £}, we have
min £(T) < (l + e)-£(T*),TeTc(Q%J>)
where Tv denotes an optimum, triangulation for the given point set P.
As (1 + e)2 < 1 + 3e for all 0 < e < 1, this algorithm therefore produces
a (1 + 3e)-approximation to T*.
This strategy is reflected in the organization of this chapter. In Section
3.2 wc explain the subdivision of Ù0 in more detail. Moreover, we study
fundamental properties of triangulations with respect to this subdivision.
Among others we give a precise definition of the local hull. In Section 3.3
we introduce our QPTAS which is based on the concepts of Section 3.2.
The remainder of the chapter contains the analysis of the algorithm. In
Section 3.4 we define the algorithm C that computes the set of local hulls
(Hcffi))<R and show that their maximum cardinality is bounded quasi-
polynormally in n. In Section 3.5 we prove a technical result required
for the analysis. Finally, we explain in Section 3.6 how to construct a
"good" set of squares £Vs.
3.2. Preliminaries
3.2.1. Rectangles and their Generators. In the following we de¬
note by 0o a square that contains all points from a given point set P.
We recursively construct a subdivision of Ù0 that is similar to an ordi¬
nary quad tree as follows. A given rectangle 91 is subdivided into two
children 91 and ÇK" by a separator C through the barycenter of 91 The
separator is vertical if 91 is a square and horizontal otherwise. We stop
the subdivision if 91 is a square of side length at most 1.
Figure 3.1 illustrates the subdivision of a square 0.o- For definiteness
let us note here, that we will later ensure that we only consider such
squares Q0 for which no point from P is contained on the boundary of
any rectangle 9\ occurring in the subdivision of £}0.
A rectangle 9^ is obtained from £}0 by a sequence of separators, say
C0, • •
•, Ch We call / the level of ft, denoted by lev(îH). The set
ip(m) = {c0,...,c,}
is called the generator of 91 A separator C has level I if it subdivides a
rectangle at level / — 1 into two rectangles at level /. By definition Ù0
has level — 1. The side length |9l| of a rectangle (or square) 91 is the
28 Chapter 3. Minimum Weight Triangulation
-Ci
-tH
c.
c2
Figure 3.1. The subdivision of 0O where the bound¬
ing box of P is drawn dashed. The generator of the
rectangle ft is (p(ft) = {C0, CL,C2, Cs}.
maximum length of a side of ft. One easily checks inductively that a
rectangle at level / has side length at most |£30|/2^//2^. Observe that, by
construction, the height of this subdivision is thus t := 2[log2 |£201~|.
3.2.2. Local Hulls. We now study the so-called local hull, one of the
key concepts in this chapter. Local hulls are defined for a rectangle ft
with respect to a triangulation T.
Definition 3.2. Let 91 be a rectangle and let T be some triangulation
of a point set P. The local hull hi(ft, T) of ft with respect to T is defined
as the set of edges in T for which both endpoints are contained in ft and
that satisfy in addition at least one of the following two properties: (i)the edge belongs to the convex hull conv(P) of the given point set, or
(ii) the edge is a side of a triangle in T that has its third vertex outside
of ft.
3.2. Preliminaries 29
In other words the local hull consists of all edges that lay entirely in ft
and that either belong to conv(P) or are sides of triangles that cross the
boundary of ft. An example is given in Figure 3.2. As a local hull is
defined as a set of edges, we can view it as a planar straight-line graph.
The following lemma shows that, viewed as a planar graph, local hulls
are quite simple objects in which all cycles correspond to faces.
Figure 3.2. The local hull consists of the bold drawn edges.
Lemma 3.3. For all triangulations T and rectangles ft, the local hull
hi(ft,T) has the following property. If C is a cycle in H(ft,T), then C
induces a face in ri(ft7T).
Proof. Let C be an arbitrary cycle in H(ft, T). By definition, all points
of C are contained in 91 As 9^ is convex, this implies that the region
enclosed by C is completely contained in 91
Now consider an edge e of the triangulation T that is contained inside
this region. Clearly, this edge does not belong to conv(P). Similarly,the edge e cannot belong to a triangle of T whose third point is outside
of ft. Therefore e £ U{ft, T).
The interior ofhiift, T) is defined as the union of the interior regions of
all cycles contained in H(ft,T) and is denoted by mt(H(ft,T)). Note
that by the previous lemma, two cycles of ri{ft,T) may overlap in a
30 Chapter 3. Minimum Weight Triangulation
point, but not in an edge (as this would result in a cycle that contains
this edge in its inteiior region). Hence we know that H(ft,T) can be
written as the union of simple polygons, such that any two of them
overlap in at most one point. Throughout, area (7-^(91, T)) denotes the
closure of int(H(9*,T)).
Note that arca(ri(ft,T)) contains all triangles of T that are entirely
contained in 91. Moreover, note that the local hull need not be con¬
nected (although it is connected in Fig. 3.2). Observe also that we have
7i(no,T)-conv(P).
3.2.3. Border Triangulations. Within the recursive scheme outlined
in Section 3.1 it is essential to understand how local hulls are related
to the local hulls of their descendants. In this section we develop the
necessary background. So let ÎH be a rectangle that is divided by a
separator C into two rectangles ft' and ft". Furthermore, let T denote
a triangulation for the point set P. We consider three different sets.
Namely, the set of triangles within 9^, that cross the cut, that is,
AB{ft,T) :={AG A(T) : (P(A) C ft) A (P(A) n ft! ^ 0)
A(P(A)n9TV(/))}
and from the triangles in Aß {ft, T) the sides that cross the cut and those
that are contained within one of the smaller rectangles. That is, the set
of triangles Aß (ft, T) defines the following sets of edges.
C{ft,T):= (J {eeE(A):enft'^0Aenft"^(H}AGAB(ÏH,T)
and
B{ft,T):= (J {eeE{A):eCft'VeCft"}.
We call B(ft, T) the border of ft with respect to its separator C and
the triangulation T. Similarly, we call C(ft,T) the cut edges of T in
91 Figure 3.3 illustrates these definitions. The following lemma is an
immediate consequence of the definition of the local hulls and the set of
border edges.
Lemma 3.4. For all rectangles ft = ft' U ft", and triangulations T we
have
H(ft',T) = {eeH(ft,T)uB(ft,T):e_ft'}and similarly for hi(ft", T). D
3.2. Prelin una ries 31
Figure 3.3. The border triangulation at a separator C,that subdivides ft. The triangles belonging to Ab (ft, T)are drawn shaded; the edges in B(ft, T) are drawn with
bold lines, while those in C(ft, T) are drawn with dashed
bold lines.
Lemma 3.5. Let ft = ft' U ft" and T a triangulation of P and let
R\,... , Rk denote the regions given by
(3.1) mt(hi(ft, T)) \ [area (ri(ft', T)) U area (H(ft", T))].
For all i = 1,... ,k it holds that int(Ri) n P = 0 and that R1 is bounded
by a connected subgraph Wi of T.
In order to better understand the meaning of Lemma 3.5 have another
look at Figure 3.3. In this example we lrnve just two regions Pi and
P2, namely the two regions which are shaded in gray. Note that the
interior of both of these two gray regions does not contain any point
from P. Note also that even though the upper of the two regions seems
to contain a region from int(9l') in its interior (i.e., the small white
triangle), this is actually not true, as this triangle is connected by a bold
line, i.e., an edge from B(ft, T), to the boundary of Ri. Lemma 3.5 says
that this is always the case.
Proof of Lemma 3.5. Let H = H(ft,T), hi! = hi(ft!,T) and hi" =
ri(ft",T). Note that area(7i), area(7i/) and area(7Y//) are triangulated
32 Chapter 3. Minimum Weight, Triangulation
in T. By definition area(Ti^) and area(?i//) contain all triangles of T
that lie inside ft' and ft", respectively. Thus, each P, is triangulated
with a set of triangles A, that cross C. That is, R% contains no point
from P. Let
Jr= Y. E^-AeA,
Clearly, there is a subgraph W% of Ji that bounds R{. This subgraph
can be obtained by removing all edges from Ji that cross C and belong
to two triangles in Ai (note that such edges cross P,;). Ü
The importance of Lemma 3.5 stems from the fact that a minimum
weight triangulation of the interior of a simple polygon is known to be
computable in cubic time [59, 81] if it contains no points. The algorithmis a straight-forward dynamic program and it is well-known that it can
also be used to triangulate a face of a PSLG. That is, we have
Lemma 3.6. Let Rt denote a region induced by (3.1) bounded by Wi-
The interior ofWi can be triangulated optimally in time Ö ( \Wi\ )
Coming back to the situation of Lemma 3.5 we thus see that if we denote
by 77,(91) = \ft n P\ the number of points in ft then we can find in time
G(n(ft)3) a minimum triangulation for all regions Pi,..., Rk- This fact
is one of the key features of local hulls that we will use in the next
section.
3.3. The Approximation Scheme
In the previous section we defined the local hull of a rectangle with
respect to a fixed triangulation T. The aim of this section is to show that
vice-versa we are also able to compute an (almost) optimal triangulationbased on the knowledge of all local-hulls. For the remainder of this
section we consider an arbitrary but fixed point set P such that \P\ — n.
We assume that the maximum distance between two points of P is at
least sn for some s G N. That is, wre have
max d(p, q) > s n.
Note that this can always be achieved by scaling the point set appropri¬
ately Later we choose s = Ö (ï/e). Let ù0 denote an arbitrary square
of side length at most 6sn that contains all points of P. For definiteness,
we assume that no point from P is contained on the boundary of any
3.3. The Approximation Scheme 33
rectangle of the subdivision of Ù0 We show in Section 3.6 how to con¬
struct such a Ûo appropriately. Let H[ft] denote the set of all possible
local hulls of 9^1, that is
(3.2) H[ft] = {hi(ft, T) : T is a triangulation of P} .
The idea behind our algorithm is to compute a triangulation T recur¬
sively in a bottom-up fashion. More precisely, we will recursively com¬
pute for each rectatigle ft and each local hull hi G H[!K] a triangulation
of arca(7i) which we store in an array rf[ft,h{\. Our convention is that
these triangulations contain all edges oîhi. Recall that for ft — 0.o there
exists only one local hull, namely hi = conv(P) and T[0o,conv(P)] will
therefore contain a proper triangulation of the whole point set P. It
remains to specify how we compute the triangulations T[ft, hi}. If ft is
a leaf, we triangulate the interior of hi arbitrarily, e.g. using a greedy
algorithm and store the triangulation in T[ft, hi].
Next assume that 9^ is a rectangle that contains a separator C that
divides ft into two rectangles ft' and ft". The idea is to compute T[ft, hi]
by considering all pairs of local hulls (W,hi") in H[9l] x H[9T]. For a
given pair (hi', hi") we first check whether hi' and hi" are consistent with
hi. Firstly, we check whether the edges of (H' U H") \ hi are contained
in area("H). In other words, we require that hi U hi' U hi" looks from
"outside" as hi. Secondly, we require that the regions obtained by (3.1)
satisfy the properties stated in Lemma 3.5.
Finally, we use Lemma 3.6 in order to compute minimum triangulations
for the regions Pi,..., Rk in polynomial time. Combined with the tri¬
angulations from T[ft, hi'} and T[ft,hi"} this yields a triangulation of
the interior of hi. Let T(hi! ,hi") denote this triangulation. From all tri¬
angulations T(hi',hi") such that (hi',hi") G H[9l] x U[ft"}, we choose
one with minimum length and store it in T[ft,hi}. We claim that byconstruction the triangulations stored in T[ft, hi} satisfy the following
property
Lemma 3.7. For all rectangles ft we have
£(T[ft,hi}) < J2 £(e) + 6n(^)'
where n(ft) denotes the number of points of P in ft and T*(hi) denotes
a minimum triangulation for P that contains hi.
Proof. We argue by reverse induction over the level of the rectangle, that
is, we show that the claim holds for any rectangle at level / — 1 under the
31 Chapter 3. Minimum Weight Triangulation
assumption that it holds for all rectangles at level /. Firstly, we show
that the claim holds for all rectangles at level t. Then, ft is a leaf and
the claim follows immediately from the fact that any triangulation of
hi contains at most Zn(ft) edges each of which has length at most, 2,
as a leaf rectangle has side length at most 1. Secondly, if ft has level
I < t, the claim holds by induction for its children 91 and ft". Since
H'0 = H(ft',T*(H)) G H[91] and H'i = H(ft",T*(H)) G U[ft"} the
algorithm also enumerates these hulls for ft' and ft" corresponding to
T*(hi). In addition, the regions Pi's are triangulated optimally and we
minimize over all choices for (hi',hi"). By induction, we thus have
£(T[ft, hi}) < £(T[ft', hi'0}) + £(T[ft", H'i]) + £ £(e)c£C(m,T*(H))
< J2 £(e) + 6n(ft') + 6n(ft"),eeT*(H)nm
which suffices, as we clearly have 6n(91) + 6n(ft") = 6n(ft).
For 91 ~ 0O there exists only one local hull, namely hi = conv(P).That is, we have H[no] = {conv(P)}, and every triangulation of
area(conv(P)) corresponds thus to a triangulation of P. Hence,Lemma 3.7 implies ^(P[no,conv(P)]) < £(T*) + 6n. As we did assume
that there are points in P which have distance at least s n, we know
that £(T*) > s n and we hence have
£(T[Ù0,conv(P)]) < (1 + 6/.s) /(T*).
That is, P[Ho, conv(P)] is a (l + e)-approximation, if we choose s > 6/e.
Of course, the time complexity of this algorithm will in general not be
very good, as firstly we have to compute the sets of local hulls H [ft] (andit is a priori not clear how we can do that efficiently) and secondly the
time complexity of the recursion can only be bounded by a polynomialin max?}} |H[9^]| (which might be exponential in 7?,). The key observation
now is the following. We observe that the only point where we used that
the sets H[9^] were defined as in equation (3.2) was within the proof of
Lemma 3.7. If we allow H[ft] to denote arbitrary sets of local hulls, i.e.
if we replace the "—" sign in equation (3.2) by a "Ç" sign everything
goes through as before, except that we have to replace T*(hi) in the
statement of Lemma 3.7 by T^(h{), where T^(hi) denotes a minimum
triangulation of P such that
i) HÇT£(hi) and,
ii) ht(ft,T£(hi)) e B.[ft] for all rectangles 91
3.3. The Approximation Scheme 35
In other words: A family of local hulls (H[9i])^ induces a set of triangu¬lations such that each element of this set has the property that the local
hull of every rectangle 9^1 is contained in H[9Vj. Then T^(hi) denotes the
best such triangulation containing hi. In particular, 7j|(conv(P)) is an
optimal triangulation for P amongst all triangulations in this set. We
thus obtain the following theorem.
Theorem 3.8. Let P be a point set and 0.0 be given as stated in the
beginning of this section. Assume furthermore thai C is an algorithmthat computes for P and H0 a family of local hulls CHc[ft])m. such that
niax|H£[ÎH]| = /(n)
for some function f(n) > 1. Then one can compute in O (poly (n) f(n)2)time a triangulation T such that
£(T) < (l + 6/S).*(72),
where T£is a minimum triangulation such that hi{ft,T^) G H/;[91] forall ft. D
In essence, this theorem says that it suffices to choose the family
(H£[9l|)fK such that firstly f(n) is quasi-polynomial and secondly T£is nearly optimal. In fact, the existence of such a family is shown in the
remainder of this chapter. In Section 3.4 we will describe how one can
define an appropriate quasi-polynomial time algorithm L for computing
H£[9l]. Moreover, we show that
max|H£[m]|=n0(logön).
Therefore, the running time of our algorithm is quasi-polynomial in n.
In Section 3.6 we explain how to choose 0.o such that
£(Tc) < (l + 0(l/s))-£(T*).
Combining both results and choosing s — Ö (1/ff) we obtain an (1 + e)~
approximation algorithm with time complexity n°v°e n).
Remark 3.9. If one can show that there exists a family (H£.[9Î])jhwith the aforesaid properties such that f(n) — poly(n) and such that
(H/:[9i])fH can be constructed in polynomial time, then Theorem 3.8
implies the existence of a PTAS.
36 Chapter 3. Minimum Weight Triangulation
3.4. Smooth Hulls
In this section we construct the algorithm C and show that C computes
H£[9t] in quasi-polynomial time. This requires some preliminary work.
Our strategy is the following. We consider a fixed triangulation T and
rectangle ft. The idea is to extract several features from T which can
be used to describe the local hull of ft up to some level of detail. Based
on these features we construct the local hulls in H£[9S:]. Therefore the
set of features should be comparably small.
First, we define a small sample of the border triangulation. However,this sample turns out to be dense enough such that we only miss very
small triangles. Indeed, this sample provides portions of the local hull
with the exception of small "gaps". Our next goal is then to derive
several properties of these gaps. We show that it is possible to roughlyreconstruct the local hulls within the gaps based only on a small amount
of additional information. This finally yields a set of local hulls for ft
which we call smooth hulls. We choose H/;[9î] as the set of all such
smooth hulls of 91
Throughput, let s — ö (l/e) as defined in the previous section and let t
denote the depth of the subdivision of a square £J0. We also still assume
that |no| < Qsn and thus t — O (logn).
3.4.1. Characteristic Triangles. Our first step is to define a suitable
small sample of the border triangulation. We consider a rectangle 91 that
is subdivided by C into its children ft and ft'. Note that in comparison to
the previous sections we slightly changed the notation. As we will mostlywork with one of the children, it makes the notation more concise if we
call this rectangle 91 Fix any triangulation T and let hi denote the local
hull of ft with respect to T.
Let m = 2rio^('y*)l. We partition both ft and ft' into at most m2 cells
using a regular grid of granularity |9l|/m. Let AI [91] and Af [91] denote
the set of cells in ft and ft', respectively. Wc assume for the moment
that no point of P falls on a boundary of a cell. This will be ensured
later by the choice of Û0- Throughout cj denotes the side length of cells
at level I. One can easily see that q decreases exponentially with l (cf.Proposition 3.39).
Now, consider a tuple (£, ') with £ G M[ft] and £' G Af [91] and let
T(£, <£') := JA g AB(ft, T) : P(A) n £ ± 0 A P(A) n £' ^ $} -
3.4. Smooth Hulls 37
That is, T(£,£') is the set of triangles in Au(9t,T) that have at least
one vertex in each of (T and '. We walk along the line through C from
left to right if C is horizontal and from top to bottom if C is vertical.
From now on we always assume that a separator is oriented in this way.
By Afjrst((t, ') we denote the first triangle of T((£, £') we transverse on
this walk. Similarly, A}dst(£, <£') denotes the last triangle, we transverse.
This is illustrated in Figure 3.4.
C
-I^^^ Ai
^ / £t ^^/ | \ £
::::!^V A ï
^^r<^^
£3 W:!_______ A4^
i f
Figure 3.4. ft is on the right of C. The first and
last triangles are as follows; Ai = Afirst(£, £[), A2 —
AiaatfeCi) - Afirat(e,e'2), A3 - AiMt(e:,^) -
AfirHt(,C:j) and A4 - Alast(e;,^)
Proceeding similarly for all tuples (<£, '), we obtain a set of triangles
Tehar(C,T) := {Afirat(£, £'), Alasl(<£, C) : £ G Af [£*],£' G Af[9l]}
which we call the characteristic triangles of An(C, T). By the definition
of m we immediately obtain
Lemma 3.10. |Tchar(C,T)| = O(log4n).
Proof. The set 7^har(C, T) contains for each pair of cells at most two tri¬
angles. Since there are m2 cells on each side, we have m4 = 24'^°&(st^ =
Ö (log n) pairs. D
38 Chapter 3. Minimum Weight 'Triangulation
3.4.2. Gaps. Using the same notation as above, we next study funda¬
mental properties of Xviuu. = TC}UU-(C,T). As mentioned above 7^iiai is
in general just some sample of the corresponding border triangulation.
So, we first discuss which portions of the border triangulation are not
contained in Tc\uir.
Let Pcut denote the set of edges that are cut by C and arc sides of
triangles in 7^har or edges of hi. Along C we index the edges in Pcut in
the order in which we transverse them according to the orientation of C
defined above. Let e — Cj and ë ~ ej+i denote two subsequent edgesin Ecui. If both belong to the same triangle in 7^iaI., then the border
triangulation between e and ë is completely described by Tc\mv as it justconsists of this triangle.
Otherwise, the line segment of C bounded by its intersection points with
e and ë is either inside int(T^) or outside. We only miss triangles of the
border triangulation if the line segment is inside of mt(hi). In this case
we say that e and ë defines a gap along C which we denote by V = F(e, ë).The line segment of C which is bounded by e and e is called the window
of Y and denoted by W(T). For example, in Figure 3.4 there is a gap
between the adjacent edges of the triangles A2 and A3.
Between e and ë triangles of Aß (91, T) \ T^har cross the separator C.
Those triangles induce portions <S = S(T,T) and S' — S'(T,T) of
B(ft,T) n ft and B(ft,T) n ft', respectively. Although Tchar providesno edges of S or S', we will derive several properties of both. For the
sake of simplicity we only consider S. Due to symmetry, similar defini¬
tions and statements are straightforward for S'.
Note that there is a region Ri of (3.1) on page 31 such that $ _Wi and
that S is connected. The next lemma states one of the key propertiesof gaps that will subsequently be used to construct the algorithm C
that computes our desired restricted class of local hulls. The lemma
essentially says that while we cannot say anything specific about the
location of gaps (e.g. we cannot guarantee any bound on the number of
points on the missing portions *S and S' nor can we bound their lengths),we nevertheless know that S and Sf are contained within a strip of width
at most 4q (recall that q denotes the side length of a cell £ G M [ft]).
Lemma 3.11. Let V — T(c,ë) denote a gap along C and let S = S(T).Furthermore, let y and y denote the intersection points of C with e and
ë, respectively. There exists a line H with the following properties.
S.d. Smooth Hulls 39
(1) Either H is orthogonal to C and, contains the barycenter of'W(T)or there are 2 points of P such that H contains those points and
crosses W(T).(2) For all u G P(S) U {y,y} we have d(u,H) < 2q.
(3) Let D denote a line, orthogonal to H that contains y or y such
that, if H JLC the halfspace D~ that contains LI Oft' also contains
either y or y (Fig. 3.5). Then d(u, B) < q for all u G P(S) n B~.
In our proofs we extensively use the existence of lines H and B as givenLemma 3.11. Note that ft C B U B+ if H is orthogonal to C and that
W(r) is contained in B~ otherwise.
.H
Figure 3.5. The choice of the line B.
Before we turn to the proof of Lemma 3.11 we give some intuition whysuch a statement could be true. Let F = F(e,ë), y and y be defined
as above and let p G P(S). As e and ë bound a gap at least one edge
eP — {Pip'} of T \ Pent, incident to p crosses yy. Let p G M [ft] and
£p G Af [91] denote the cells containing p and p', respectively. As the
edges of A/ = Afil.st(ö;p, £p) and A; - Alast(£p, £'p) belong to Pcut, the
40 Chapter 3. Minimum Weight Triangulation
fact that T is a gap implies that A^ and A/ have to cut C outside of
W(T). In addition, the existence of ep that cuts W(T) implies that A/has to cut C on one side of W(r), while A/ cuts C on the other side of
W(F). Observe also Af and A/ contain edges that have distance at most
\/2q. If we thus choose H as the extension of ep this assures that every
point of S within the "channel" bounded by Af and A/ has distance at
most v2q to H.
The main difficulty of the proof of Lemma 3.11 consists of extendingthis simple argument to points outside of this channel. Essentially, this
is done by choosing p as some sort of extreme point, which allows us
to then argue that in fact there do not exist any points outside of the
channel besides those in p. First, we need two preliminary observations
which wc now state. A line H is called cell-separating if it contains the
left, right, top or bottom boundary of some cell in At[91]. Recall that
wc assumed that no point of P lies on a cell boundary. Hence, we know
that H Pi P = 0 for all cell-separating lines.
Claim 3.12. For every gap T = P(e,ë) the following is true. Let H
denote a cell-separating line orthogonal to C. Moreover, assume there
exist points u G P(S) andv! G P(S') contained in some triangle Axuu' G
Aß (91, T) such that u and u' lie on the same side of H, say u,u' G H+.
Then W(T)_
H+. In particular, W(T) does not cross H.
Proof. Let <£n G M [ft] and 'u G Af[91] denote the cells containing u
resp. u'. Now consider A/ := Afirst(£u,0 and Az := Aiast(£u,0-On the walk along C we first traverse A/, then e, then ë, and finallyA/. Observe that A/ and A/ both contain an edge connecting a pointin (£u with a point in £u. Hence these two edges lie completely in H+,implying that W(Y) Ç PT+. G
Claim 3.13. For every gap Y — T(e,ë) the following is true. Let H
denote a cell-separating line orthogonal to C. Moreover, let u, v G P(S)denote two points such that u G H+ and v G H~. Then H C\ W(T) — 0,i.e., W(T) does not cross H.
Proof. Since S is connected the existence of the two vertices u and v
on different sides of H implies that there exists an edge {x,y} G S
that crosses H. Let x and Cy denote the cells containing x and y,
respectively. Note that this implies that QLX and ,y lie on different sides
of the line, say x C H+ and <ly C H~. By the definition of S wc
know that there exists a triangle Axyz G Aß(9t, T) crossing W(T) such
3.1. Smooth Hulls 41
that z G 91. Now observe that regardless whether z G H+ or z G H~
we always have a situation to which Claim 3.12 applies. Hence Vl(r)caunot cross H. D
Proof of Lemma 3.11. First wc fix some notation. Without loss of gen¬
erality, we assume that C is horizontal. For all points u G P(S) let <£udenote the cell that contains u. Furthermore, let eu denote an arbitrarybut fixed edge with endpoint u that crosses W(T) and that belongs to a
triangle in Aß (91, T).
Next we choose a specific point p G P(S) such that the cell <£p satisfies
some extremal property. For each cell £u containing at least one pointfrom P(S) consider the line orthogonal to C through the barycenter of
Cu. Choose p such that the crossing point of the aforesaid line with
C has maximum distance to Il(r). That is, p belongs to the right-or left-most cells. If there are several candidates for p, then wc choose
among all candidates the point p that has maximum distance to C.
Without loss of generality, we henceforth assume that Cp is among the
leftmost cells. Let T and V denote the lines through the upper and right
boundary of £p and assume that <£p C V~ n T~. Note that the choice
of p implies that (V~ PI T~) \ £p contains no point of P(S).
Now consider the edge ep. It has an endvertex in some cell Ç! G At [91].Let Ai = Afirst(£p,£p) and A2 = A\&tit((Ep,'p). Let si and s2 denote
sides of Ai and A2 that have one endpoint in <tp and the other in <£'.
We denote by X\ and x2 the endpoints of s\ and s2 in 91 and by y\ and
7/2 the intersection points of s\ and s2 with C.
Let Q denote the quadrilateral spanned by x\, x2, y y and y2 (Figure 3.6).Moreover, let Z denote the line through both x-\ and x2. By convention
let Z+ denote the halfspace that contains s-\ and s2. Note that the line
segment of C bounded by y\ and y2 contains Vl(r) as si and s2 belong-to Peut, cf. the definition on page 38. Hence, (Z+ U Z) \ Q cannot
contain any point u G P(S), as for such a point its edge eu would need
to intersect S]_ or s2, which is not possible. Observe also that for the
same reason all points u G Z~ n P(S) have the property that the edge
eu must cross the line segment x^x2 that connects x\ and x2.
Now we choose the desired line H. If there is a line orthogonal to C which
separates <£p and <t then we choose H as the line through ep. Otherwise,we choose II orthogonal to C such that H contains the barycentcr of
W(T).
42 Chapter 3. Minimum Weight Triangulation
C
Figure 3.6
Observe that in the latter case the choice of p implies that all cells
that contain a point from P(S) lie in the same column as the cell £p.Thus, all points u G P(S) have distance at most q from H. Hence, (1)and (2) hold. In addition (3) trivially holds as B~ D ft is empty In the
remainder of the proof we therefore assume that the first case applies.
As the endpoints of ,si and s2 are contained in the same cells <£p and <t'p,we know that the maximum distance between sy and s2 is at most 2q.
As by definition of H all points in Q lie between si and s2l we triviallyhave that all points u G P(S)OQ satisfy d(u, H) < \/2q < 2c/. Since byconstruction {y,y\ C Q, we also have d(y,H) < 2q and d(y,H) < 2q.
So consider a point u 0 Q. As shown above, we know that u G Z~ and
that eu crosses x\x2. If u G p, then d(u, H) < 2q follows as H contains
a point from tp. If not, then ((V~ 0 T~) \ £p) n P(S) = 0 implies that
either u G Z~ D T+ or u G Z~ C\ V^. We will now show that both cases
do not occur. The first case is not possible as we know that eu must
cross X\X2 and C which would imply that eu has to cross T twice. In the
second case Claim 3.13 implies that W(r) lies completely to the left or
completely to the right of V. If it would lie on the left, then this would
contradict the choice of p as we have points of P(S) in V+ and as V is
The constaiita occurring in Lemma 3.11 are not crucial to our analysis. For this
reason wc prefer "nice" constants.
3.4. Smooth Hulls IS
cell-separating. If it lies on the right, then this implies that eu would
need to cross V twice: once in order to cross x\x2 and a second time in
order to cross V1(F). This yields claims (1) and (2) of Lemma 3.11.
It remains to prove claim (3). Recall that, y is to the left of y. Observe
that the assumption that (£p is among the leftmost cells implies that
y G B.
Let u G P(S) PI B~ be a point that has maximum distance to B (if nosuch point exists, then there is nothing to show). Now we consider three
lines orthogonal to C: the line V that contains the right boundary of
£p, a line Y through y, and a line U through the left boundary of (£u.
Recall that V" denotes the halfspace that contains p and thus also the
point p. With Y+ we denote the half space that contains y, with U+ we
denote the half space that contains u and thus also the cell £u.
Recall that we know that the window W(F) is contained in V+, thus Y
is to the right of V. Recall also that all points from P(S) are contained
in £p U Q. Note that u G B~ implies that u G Y+.
Figure 3.7
44 Chapter 3. Minimum Weight Triangulation
If U is to the left of Y or U = Y then by considering a horizontal line
through u we observe that d(u,B) < d(u,Y) < d(u,U) < ci, so the
claim of the lemma holds. In the remainder of the proof wc therefore
assume that Y is to the left of U. Note that this implies that y G U~
and p G U~, while u G U+. Hence, Claim 3.13 together with the fact
that y G U~ implies that also y G U~. The arrangement of V, Y, U,and W(Y) is thus as shown in Figure 3.7.
As P(S) cQUÎp, <£p C V~ and u G t/"1 C V{', we have u G Q. Observe
that this implies that s2, the right boundary of Q, has to cut C within
U+. Hence, we know that £'p is contained in U+. Observe that this
implies that ep intersects all three lines V, Y and U. Recall that H is
the line through ep. Denote by H+ the half space that contains y.
Now consider the edge eu. As u is in H+ and eu has to cut W(Y) but
not ep we deduce that the other endpoint of eu is contained in H+ HY+.
Next consider the two cells <tu and <£'u containing the endpoints of eu and
the triangle Afirst(<£u, (£^). Note that (£^ C V+, as F is cell-separatingand 'u n y+ 7^ 0. Applying arguments similar to the ones we just used
for eu to the edge s'u of A[\rsi(^tu, <t'u) that connects a point in <tu to a
point in (£'u, we deduce that s'u has to cut C to the right of H D C. On
the other hand s^ fl C has to be to the left of eu D C, as s'u belongs to
Afirst(£w,^). That is, s'u D C is contained in fl(r). As s^ belongs to
Pcut, this contradicts the fact that Y = Y(e, ë) is a gap.
3.4.3. The Skeleton. So far we have studied properties of a gap with
respect to a given triangulation. Within our algorithmic framework we
need to proceed in the opposite way. We construct a local hull for ft
based on the local hull of the parent and a given set of characteristic
triangles along C. Note that the characteristic triangles do not specifythe local hull completely. So we also need a rule how to fill for each gap
the "missing" part, S of the local hull.
Given a gap Y — Y(e,ë), the most straightforward "guess" for S is a
convex polyline. However, this is not sufficient for our purposes. So
we will provide a set of points K, called a skeleton, that has at most
logarithmic size and is dense enough to describe S reasonably precisely.
By Lemma 3.11 we know that there exists a line H such that the pointson S are enclosed within a very narrow strip around H. However, we
have no information about the behavior of S "along" H. Our approach is
to sample K from S along H in steps of roughly size q. This is explainedin detail in Section 3.5. In this section we first collect some properties
3.4. Smooth Hulls 45
that a skeleton should have. Note that our aim is to define a skeleton
with respect to a given gap Y and the point set P f] ft, but not with
respect to a triangulation.
Let T = r(e, e) denote a gap and let x, x, y, and y be defined as above.
Moreover, let H denote an arbitrarily chosen line such that H is either
the line orthogonal to C through the barycentcr of W(Y) or some line
through two points of P that intersects with Vl(r) in exactly one point.We construct the line B as on page 39, that is, B is orthogonal to H and
contains y or y. Furthermore, we assume that the halfspaces B~ and
B+ are oriented as explained on page 39. Throughout this section Bpdenotes the line parallel to B such that p G Bp if p G B+ and Bp = B
otherwise. The halfspace of Bp containing B~ is denoted by B~. A
skeleton is a subset K of P D ft that satisfies certain properties. In fact,wc will usually view K as a disjoint union of three sets
K = {p}üK+öK-,
where p is a sort of extreme point and K+ and K~~ define the two flanks
of the skeleton, cf. Figure 3.8 on page 47. A set K — {p} i±l K+ l±J K" is
called a skeleton, if it satisfies the following four properties:
(PI) If there are points of K in B~ then p G K is the point in B~ which
has maximum distance to B. Otherwise p has minimum distance
to B.
(P2) xE K+, £ GK, P+HK+ =0 and B± n K~ -0.
(P3) |K+nP"| < 1 and |K"nP-| < 1.
(P4) For all p, q G K+ (p, q G K~), p ^ q we have d(Bp, Bq) > q.
The intuition behind those properties is quite simple. (PI) basicallystates that p is the point in K that is "closest" to Il(r), where closeness
is measured with respect to the hyperplane B. Property (P2) says that
the two endpoints of the edges which define the gap Y have to belong to
K+ respectively K~ and that all other points have to be closer to fl(r),where closeness is again measured with respect to P. In the sections to
come the points in B~~ Oft will always play some special role. Property
(P3) simply says that K+ and K~ both contain at most one such special
point. Finally, property (P4) says that the points in K+ and K~ should
be reasonably scattered along H.
Our next step is to define the notion of a feasible skeleton, which has
the property that it uniquely defines as "standardized" hull segment.In order to characterize a feasible skeleton we first define a polyline
46 Chapter 3. Minimum Weight 'Triangulation
($~ _ ^^(p^K) that, connects x with x via the points in K. As we
will define S~ as a union of piecewise convex segments we refer to $~
as a convex continuation (of the points in K). Assume that the pointsin K+ U {p} and K~ U {p\ are ordered by increasing distance to Bx
and Bj;, respectively. Henceforth we write p -» q if p,q G K+ U {p}(p,q E K~ U {p}) are consecutive in this order.
We construct S~ piecewise as follows. For p, q E K+, p^q, consider the
(open) region Dpq that is bounded by e, the line segment pq, Bp and Bq.Wc let
S- \p, q] - P(conv((P n Dpq) U {p, q})) \ {p, q}.
By definition, a convex continuation S~[p, q] is a collection of edges on
the point set P that form a non-intersecting path. From a geometrical
point of view, we can consider <S~ [p, q] also as a convex straight-line
polyline in the plane which separates all points of P that lie in the
region Dpq from e. Observe that we add the two points p and q to the
points in the open region Dpq in order to guarantee that the line segment
pq will be one side of the constructed convex hull. If p, q E K~, then
S~[p,q] is defined similarly; we just replace the edge e by the edge ë in
the above definitions.
In the special case q E B~, we have by construction P(S~[p, q]) flB~ =
{q}. Therefore $~ [p, q] does not contain any points (besides q) within the
strip enclosed by B and the line parallel to B through q. Indeed, such
points will be enclosed in the "topmost" convex continuation $~[q,p]which we construct next. Let q -> p where q G K+ U K~. Assume
that q E K+; the case q G K~ is again symmetric. This time we let
Dqp denote the open region bounded by C, e, qp, Bq, the shortest line
segment connectingp to 11(F) and (if q E B~) by S~[p, q], where p E K+
such that p^q. (Recall that if q G B~ then q ^ Bq. We thus need the
segment S^\p, q] in order to guarantee that Dqp is a finite region.) As
before we let
S-[q,p] = P(conv((P fl Dqp) U {q,p})) \ {q,p}.
The convex continuation S~ is defined as the union of these pieces, that
is
S~= (J S~\p,q].p,qeK-:p->q
This definition is illustrated in Figure 3.8. Intuitively, S~ consists of
convex segments that connect two subsequent points in K such that p
3.4. Smooth Hulls 47
can be seen as the "peak" of <5>~. Let po E K+ and qo G K such that
po-fP and qo^p. Observe that
(3.3) S~ : = S~ [po, q0] - S~ [p0, p] U <S~ [p, go]
is a convex polyline, since p is an extreme point (cf. Proposition 3.20).
y W(Y)
Bx
B
Pp4 — B
P3
P2
BPL
Bx
Figure 3.8. S~ restricted to the portion defined byK+ (solid lines). The polygonal region D(S~) is shaded.
Throughout D(S~) denotes the region bounded by «S~, e, ë and W(Y).For a feasible skeleton we require that this region exists (cf. property (P5)below). Note that we view D(S~) as an open region. In particular it
therefore contains no points from P($~). A skeleton K is said to be
feasible if it satisfies the following four properties:
(P5) $~ is neither self-intersecting nor intersects with e or ë.
(P6) The polygonal region D(S~) does not contain points of P.
(P7) Let p, q G K \ {p} such that p -> q. Let Xq and Yq denote the
lines through q that are parallel to C and orthogonal, respectively.Let X~ denote the halfspace of Xq containing W(Y) and let 7; G
X~ fl P(S~[p, q]) such that d(v,Xq) is maximum. If v ^ {p,q}then d(Bv,Bq) > q (Fig. 3.9). Similarly, if W(Y) 0 Yq - 0 the
following is true. Let Y~ denote the halfspace containing W(Y)and let v G Y~ Pi P(S~[p,q]) such that d(v,Yq) is maximum. If
v g {p, q] then d(Bv,Bq) > q.
48 Chapter 3. Minimum Weight Triangulation
(P8) For all u E P(S~) there is an edge {u,w} connecting u and some
w E W(Y) such that uw C D($~). In specific \u,w} crosses neither
$~ nor e and ë.
Too get some intuition for the last condition observe that whenever we
consider the segment S = S(Y) defined by an underlying triangulation,then every edge of *S is contained in a triangle that crosses W(Y). In
particular, S satisfies property (P8) and we require that <S does so, too.
We close this subsection with the observation that any skeleton contains
at most logarithmically many points.
LEMMA 3.14. For fixed s G N, a skeleton K satisfies |K| = Ö (\ogn).
Proof. The points in K+ have, measured along H, minimum distance
q. Since q = |9t|/m and m — O (logn), K+ contains at most Ö (logn)points. Of course, the same is true for K~. D
y v^(r) y
Q
p
Yq
Figure 3.9. Since v is in X~ and v ^ {p,q}, we have
d(BVlBq) > C[. Yq cuts LF(r), so we have no further
restrictions.
3.4.4. Smooth Hulls and Triangulations. A triangulation T patchesa gap Y smoothly, if and only if there exist hyperplanes H and H' through
3.4. Smooth Hulls 49
W(Y) and feasible skeletons K = K(Y, H) and K' - K'(r, H') such that
S(Y,T) =S~(r,K) and S'(Y,T) = S~(r,K').
Similarly, a local hull of a rectangle ft is called smooth, if all gaps are
patched smoothly and if the hull of its parent 91 is either smooth or
identical to conv(P). Finally, T is said to be smooth with respect to Ù0
if and only if every rectangle has a smooth local hull.
3.4.5. The Algorithm C. Our next goal is to construct a quasi-poly¬
nomial time algorithm C that generates for all ft a set of hulls H/; [ft]such that H/;[9V| contains all smooth hulls of ft.
We initialize H£[£}0] = {conv(P)} and proceed top-down in the sense
of Lemma 3.4. So assume we already have computed H£[9t] and that C
subdivides ft into ft and ft'. We compute H£[9l] as follows.
(1) For each hi E tic[ft] enumerate all crossing-free sets Tc_ar of char¬
acteristic triangles.
(2) For all such choices of hi and Tc\mr, compute all gaps, say Fi,..., Yr.
For each gap T;, choose a line Hi and a feasible skeleton K,;. Enu¬
merate all such choices.
(3) For each such choice [(Pi, Kt ),..., (Hr,Kr)], we compute hi as
follows. Check whether the convex continuations <S~(Ki) are pair-
wise disjoint. If yes, combine them with hi H ft and the sides of
triangles in T^ar that are contained in ft. This yields hi which we
add to H_[ft}.
Note that wc did not show yet that this algorithm produces any output,
as it is not clear whether a feasible skeleton always exist. Indeed, this
will be (implicitly) shown in Section 3.6. Now, wc demonstrate that the
number of local hulls produced by £ is small. The following property of
the algorithm is crucial to our analysis.
LEMMA 3.15. For fixed s G N the number of gaps in step (2) is Ö (log n).
The proof of this lemma is quite elaborate and is therefore deferred to
Section 3.4.6.
Lemma 3.16. H£,[9^] contains all smooth hulls of ft and for fixed s E N;
|H£[£H]| < n°(log8n). Moreover, the family (H._[ft])fR can be computed
in faen°(lüg8").
50 Chapter 3. Minimum Weight Triangulation
L'roof. By construction of the algorithm £, it is immediate that H£[9l]contains all smooth hulls and that the complexity of C is polynomial in
maxjK |H£[9^]|. According to Lemma 3.15 we have at most Ö (log'?ï)gaps along C. For each gap we have to choose an H and a skeleton K.
Note that there are at most Q) +1 choices for II, as H has to contain two
points from the given point set P or H contains the barycenter of W(Y)and is orthogonal to H
.Once the line is fixed we have at most n0(logn>
different feasible skeletons, as every skeleton contains at most Ö (logn)
points, cf. Lemma 3.14. Thus, we have in total n v °8 n) possibilitiesto chose the lines and feasible skeletons in step (2). Let
hi = max |H£[9ll|.£«:lev(îR)=i
As we enumerate in step (1) all hulls in H£[9v] and all choices of char¬
acteristic triangles, we obtain
hi < hi-i • #(choices of characteristic triangles) • n (og nK
By Lemma 3.10 the border triangulation consists of Ö (log n) triangles
for each of which we have Ö (n3) choices. That is, we have
as / < t — Ö (logn). This completes the proof. D
3.4.6. Bounding the Number of Gaps. We now turn to the proof
of Lemma 3.15. Let C subdivide ft into ft and ft'. Let <p(ft) —
{Cq, ... ,Ci = C} and let Q,0 = ft-i, fto,... fti-i = ft denote the ances¬
tors of 91. So, in particular ft has level /. Note that the definition of
the algorithm C implies that ht G H£[9t] is constructed iteratively over
a sequence of hulls
conv(P) = ft_i — Wo —> —* Ux-2 —> Hi-i = H,
where Hi G H£[9\^]. In order to produce hit from hii-i, the algorithm C
chooses a set of characteristic triangles T^, computes the gaps Gi along
Ci and finally chooses for each Y E Gi & line H and a feasible skeleton K
for which it computes the convex continuation tS~(F,K). For the sake
of brevity, we throughout use <S^(r) = 5^(F,K) to denote the convex
continuation the algorithm computes for the gap Y. Wc obtain
i i
(3.4) Hi Ç conv(P) U \J [j E(A) U |J IJ S~^-
3.4. Smooth Hulls 51
Observe that the number of gaps along C is bounded by |T/| and the
number of intersections of H and C, that is,
(3.5) #(gaps along C) < |Tj| + #(intersections of H and C).
As |Tq| — Ö (log4 n) due to Lemma 3.10, it thus suffices to show that
(3.6) #(intersections of H and C) — O (log n) .
Observe that by using (3.4) for Hi-\ = H it suffices to bound the number
of cuts of C with conv(P) (which is at most 2), the number of cuts of
C with edges in triangles from IjTfc (which is at most 2_~^}._{) |1V| <
l-O (log4 n) = Ö (log5 n) due to Lemma 3.10 and I < t = Ö (logn)), and
the number of cuts of C with edges in <S~(r) for F G Ufc=o ^k' Hcnce7it suffices to show that
i-i
(3.7) |{e G (J (J S~(Y) : e n C / 0 and e G 7Î}| = O (log6 n) .
/c=ore<Gfc
For technical reasons which will become clear later it is convenient to
henceforth consider C as an (infinite) line (with halfspaces C+ and C~)instead of a line segment that subdivides ft. In order to show (3.7) we
need the notion of pseudo-convexity of a gap F G Gk (which is defined
with respect to a separator Ck) with respect to the line C. To define it,
consider a gap F G Gk, 0 < k < I, and let x and x denote the endpoints
ofS~(r).
Observation 3.17. The number of intersections ofS~(T) and C is odd
if and only if C separates x and x.
If C separates x and x then we say that Y (or more precisely <S~(r))is pseudo-convex if C cuts *S^(r) exactly once. If x,x lie on the same
side of C and the window fF(r) lies on the other side of C, then F is
pseudo-convex if C cuts e>^(r) exactly twice. Intuitively speaking, a
pseudo-convex S~(Y) behaves with respect to C like a convex segment.
Note, however, that not all gaps that behave this way are called pseudo-
convex, as T will never be pseudo-convex if C intersects with VF(F) or
if x, x and W(V) are all contained in the same halfspace of C. Havingthis definition at hand we see that it suffices to prove the following two
lemmas in order to conclude that (3.7) holds.
52 Chapter 3. Minimum Weight Triangulation
Lemma 3.18. In the notation from above we have
\{e G [J [J S~(r) :enCjL 0}| - O (log3 n) .
P A/, O t pS (i'li.do - (tO'l ! V (i.'J,
Lemma 3.19. In the notation from, above we have
i-i
\{e G (J IJ S~(T) : e H C ^ 0 and eE'H}\=0 (log0 n) .
/c=0 TfcGfcrp.s endo-conweaj
Note that in Lemma 3.18 we dropped the requirement that e G H. This
will ease the proof and will also be useful in the proof of Lemma 3.19
where we use Lemma 3.18.
In the remainder of this section we prove Lemma 3.18 and 3.19. We will
assume throughout without loss of generality that C is horizontal and
that C~ denotes the half space above C. Recall that from a geometrical
point of view, we can consider S~{Y) also as a straight-line polygon in
the plane. This view will come in handy a couple of times on the next
pages. In particular, we use S~(Y) D C to denote the set of intersection
points of C and S~(Y). For two points x,y E S~(Y) (not necessarily
belonging to the underlying point set) we denote by «S^fa;, y] the part of
<S~(r) that connects x and y.
For the proof of Lemma 3.18 it is convenient to start with collecting a
few fundamental observations about gaps. In the following let F G G&,0 < k < I, and let <S"" — S~(Y). Furthermore let x and x denote start
and end point of <S~, let K denote the skeleton of Y and let p denote the
extreme point in K. Recall that the notion p -» q means that p in the
immediate predecessor of q (with respect to the points of K).
Proposition 3.20. Letp,q G K\p such that either p^q or bothp^pand q-+p and assume that W(Y) C C-. Then the following is true:
(1) If C separates p and q then \S~[p,q] n C\ E {0,1}.(2) Ifp,qEC+ then \S~\p,q}nC\ E {0,2}.(3) Ifp,qe C~ then \S~[p,q]nC\ = 0.
Proof. (1) and (2) follow immediately from the convexity of <S~[p, q] and
equation (3.3) on page 47. In other words, S~[p,q] is convex and thus
intersects with C never, once or twice depending on the relative positionof p, q and C. So it remains to show (3). Note that there exist (nonecessarily different) maximal regions Rw, Rp and Rq in D(S~) fl C"~
3.4. Smooth Hulls 53
such that W(Y) Ç c)Rw, P £ c)Rp and q E 3Rp. (P8) requires for
both p and q the existence of a line segment that connects the point to
VF(r) and is contained in D(S~). If Rw i« disjoint to Rp or Rq such
a line segment does not exist, as it would cross C twice. Thus we have
Rp = Rq = Rw- In particular there exists a path in D(S^) f) C~ from p
to q. This path has to cross L fl D(S~) for every line L through the line
segment bounded by the two points in S^[p, q] n C (Fig. 3.10). Assume
that claim (3) docs not hold and thus $~ [p, q] crosses C. Then it is
possible to choose L such that L D D(S~) C C+, every path connecting
p and q transverses C+. Hence, we would have Rp 7^ Rq, contradictingthe observation from above. G
Figure 3.10. Every path connecting p and q in D(Srhas to transverse C+ and thus Rp 7^ Rq.
PROPOSITION 3.21. For every point z E $~[x,x] there exists a line seg¬
ment sz c D(S~) which connects z to some point in the window W(Y).
Proof. For points z E P this immediately follows from property (P8).For points z 0 P this follows by considering (P8) for the two points u
and v from P that immediately proceed resp. follow z on S~. D
PROPOSITION 3.22. // VF(r) n C = 0 and Y is not pseudo-convex then
S~OC 7^ 0 implies that there exists apo G K\{p} such that C separates
po and W(Y) and such that C intersects both of S~[x,po] and <S~[po,£]at least once.
54 Chapter 3. Minimum Weight Triangulation
Proof. Without loss of generality we assume that VF(r) C C~. Startingin x we walk along S^ and denote by a\, a2,... the intersection pointsof S~ with C in the order in which we meet them. Observe that if
x G C~ then S~[a2l ua2l\ Ç C U C+ for all ? > 1, while x E C+
implies that S~[a2l,a2l+i] CCU C+ for all i > 1. We claim that this
observation implies that there exists points n, v G S~ D C such that
$~[u, v] n C — {u, v) and S~[u, v] Ç C U C+. Indeed, this is clearly the
case of if S~ intersects C at least three times as we can cither choose
u — a\ and v = a2 or u = a2 and 7;—
0,3 depending on whether x G C~
or x E C+. If on the other hand <S~ intersects C at most two times then
the assumption that Y is not pseudo-convex implies that <S~ intersects
C exactly twice and that x, x E C~. In this case we can therefore choose
u — ai and v ~ a2.
\ u v /_
V r/ (J
FIGURE 3.11. Sketch to the proof of Proposition 3.22.
IîS~[u,v] contains a point po G K\{p} thenp0 G C+ and the propositionholds by choice of u and v. We now argue that in fact <S~ [77,, 7;] alwayscontains such a point po- Assume not. Let p G K \ {p} such that p is
the last such point preceding u. Similarly, let q G K \ {p} such that
q is the first such point succeeding v, cf. Figure 3.11. Then the non
existence of po implies that P(S~[p,q]) nKÇ {p,q,p}. Note that p->p
and q^p if p G P(S~\p,q\) n K. By (1) and (2) of Proposition 3.20
we thus deduce that S~[p,q] is cut by C at most twice and thus, due to
the existence of u and v, exactly twice. Hence, we know that p,q E C~,which contradicts (3) of Proposition 3.20, which says that in this case
S~ [p, q] and C do not intersect at all. D
Proof of Lemma 3.18. Recall that we assumed that C is horizontal and
that C~ is the halfspace above C. Let
NGfc — {r G Gk : C cuts <S^(r) and Y not pseudo-convex} .
3.4. Smooth Hulls 55
Note that for any Y E NC/,, wc trivially have
|{e G S~(T) : e n C ^ 0}| < 2(|K(r)| - 1),
as for any subsequent p,q E K(r) wc know that S~\j>,q] is convex and
thus \S~[p,q] n C\ < 2. As |K(F)| = O (logn) we thus get
i-\ i-i
\{ee (J |J 5~(r):enC^0}|<C?(logn)-5^|NGfc|.fc=0 recfc ^^0
rnot pseudo-convex
As / < log n it thus suffices to show
|NGfc| = O (logn) for all k G {1,... ,1 - 1}
in order to complete the proof of the lemma. This is what wc will show
now. Fix a,k E {1,... ,1 — 1} arbitrarily. Observe first that NG& contains
at most one Y such that W(Y) n C / 0. (This follows as IF^F) c Cfcand as the W(Y) are pairwise disjoint for different Y in NG&.) That is,
by denoting
ngt; := {r G NGfc : W(Y) Ç C~}
and
NG^ := {r G NGfc : LF(r) Ç C+}
we deduce that |NGfc| < 1 + |NG7"| + |NG^| and by symmetry (notethat we have not yet made any assumptions on the relative positions of
Ck and C) it thus suffices to show that |NG7~| = Ö (logn). In order to
do this we first collect some properties that elements Y G NG^" satisfy.
In the following let Y denote an arbitrary element from NG^. When¬
ever there are no ambiguities, let «S~ — $~(Y) and denote by x and x
the start and endpoint of S~. Furthermore, let H and B denote the
lines associated to Y, let K denote its skeleton and let p denote the
corresponding extreme point in K. By Proposition 3.22 we know that
there exists a point p() G C+ such that C intersects both of S~[x,po]and S~\po,x]. Let z and z denote the corresponding intersection pointswhich are closest to p0. Assume without loss of generality that x and x
were chosen in such a way that z lies to the left of z, cf. Figure 3.12.
We now partition NG^ according to the position of p, namely whether
p lies on S~[x,p0] or on <S~[po, x]. Let
ngt;' := {r g ngt; : f> e s~[x,Po]}
and
nG^:={YENG^:pES~[po,x}}
56 Chapter 3. Minimum Weight Triangidation
and observe that due to symmetry it suffices to show that \HGk \ —
(9 (log?/). In the sequel we therefore assume that Y E NGfc .Observe
that we may assume without loss of generality that po was chosen in
such a way that S~[po,z] contains no other point from K.
We claim that there is a point v E C~~ on <S~ [po, x] such that d(BIH), Bv) >
Ck To see this consider the first point q G K that is reached by travers¬
ing S^[z,x] from z towards x. If g G C~ then property (P4) guaranteesthat we can take v = q. If on the other hand q G C+ then property (P7)implies that $~[q,po] contains the desired point v; this is true as C is
parallel to either Xpo or Ypo.
Let a and b denote the intersection points of C with BPQ and Bv, respec¬
tively. Note that by the choice of v we have d(a,b) > d(BPo,Bv) > Ck-
Note also that v cannot lie in B~~ as otherwise po would also be con¬
tained in 5" implying that Bv — BPo ~ B which contradicts the fact
that d(Bv,Bpo) > Ck- Hence v E B+ and wc therefore know that Bv is
the hyperplanc parallel to B through v. The hyperplane Bpn on the other
hand either contains po or is shifted slightly towards Bv. We continue
by stating three observations.
Firstly, b is to the right of z. Indeed, let q E K such that q^po. Then
v lies on <S~ [p, q], and the convexity «S~ [p, q] of implies that z G B~.
Secondly, z is to the left of a, i.e., z E Pp~ for the following reasons.
By Proposition 3.21 wc know that po can be connected to W(Y) by a
straight-line segment that lies in D — D(S~). Thus, this straight-linesegment crosses zz and contains neither z nor z. If z E P+0 U B this is
no possible as both p0 and W(Y) are contained in B~() U B. If p0 G B+
we could also deduce that a is to the left of z. However, this is not
necessarily true if p0 G P~, as then BPo — B is shifted towards Bv.
Finally, due to Proposition 3.21 we also know that z and z are both con¬
nected by straight-line segments sz and sz to (not necessarily identical)points in W = W(Y) such that sz and sz are completely contained in
D = D{S~). This is also depicted in Figure 3.12.
Now consider another element Y' E NG^ and let S~\ W', B', p0, z',z', etc. denote the corresponding parameters of Y'. As the regions D
and D' = D(S~') are disjoint it follows that the line-segments sz, sz
belonging to F cannot cross any of the line segments s'z, s~ belongingto r'. As all four lines connect points from C to points on Ck and as
sz n Ck, s~z n Cu E W, while s'z n Ck, s'~ n Ck e W' and as W D W' = 0
we deduce that this crossing-freeness implies that the point z, z, z', z' are
3.4. Smooth Hulls 57
ordered in such a way that cither z and z lie both to the left of z' (andhence of z') or both lie to the right of z'. Note that this in turn impliesthat if z, z lie to the left of z', z! then W lies to the left of W' or below
of W depending on whether Ck is horizontal or vertical.
Assume that z, z, z', z' appear in this order on C from left to right. We
claim that this implies that either the right (upper) endpoints of W and
W have distance at least Ck or that z and z' have distance at least Ck-
To see this observe that, by definition, we know that W Ç B~ Ç B~Q.Hence, either W' C\ P+ = 0 or the right (upper) end points of W and
W behave as claimed due to our assumption that d(BP(),Bv) > Ck- So
assume that W n P+ = 0, that is, W' Ç B~. But then z' cannot be
contained in the line segment of C connecting z with b, as otherwise the
line s'z connecting z' with a point in W' would need to intersect S~[z, v](cf. Figure 3.12) which is not possible due to the disjointness of D and
D'. Thus, the distance between z and z' is at least Ck-
Figure 3.12. Sketch to the proof of Lemma 3.18.
Hence, by traversing all gaps in NGr/ from left to right according to the
position of their point z on C, we know that the right (upper) endpointof their corresponding windows move monotonously to the right (if Ck is
58 Chapter 3. Minimum Weight Triangulation
horizontal) or upwards (if Ck is vertical) and that we always have a jumpof at least Ck either between the 2-poinfs or between the right (upper)endpoint of the window. As the windows move along the line segment
OfcH^A; a jump of size Ck can take place at most \CkP\9\k\/ck — O (log??-)times. Similarly, the ,2-points move along the line segment C D 91& and
a jump of size Ck can thus take place at most \C f) 9ik\/c-k = O (log77)times. Hence, we have |NG^T | — Ö (logn), which completes the proof of
the lemma. D
It remains to prove Lemma 3.19.
Proof of Lemma 3.19. The main idea behind this proof is to bound the
number of cuts of C with gaps Y for which S~ (Y) is pseudo-convex in
terms of the number of characteristic triangles plus the number of cuts
of C with gaps Y for which «S~(r) is not pseudo-convex. We show this
by induction. Let
i
Ai:={enC:eE{J (J <S~(r) and e G Hi}k=o reGfc
r pseudo-convex
and
i
Bi := {e H C : e G conv(P) U |J E(Tk) U (J S~{Y)}.k=a re<S/o
r not pseudo-convex
Then |A/_i| is the quantity we need to bound. We will show
\Ai\ < 2(z + l)\Bi\ for all -1 < i < I - 1.
Since / < t = Ö (logn) and |Bj-i| = Ö (log5 n) by Lemma 3.10 and
Lemma 3.18, this thus concludes the proof of Lemma 3.19.
By definition, the sets Ai and B% consist of points on the line C. Note
that all points in Ai lie on H% whereas this is not necessarily the case for
points in Bi. This distinction will be used heavily later on.
Assume that the points in B,t are indexed in the order in which they
appear along C from left to right. Moreover, let L,j,(j) C Ai denote the
set of points in A% that lie on the line segment bjbj+i. We will in fact
prove by induction on i that
\Li(j)\ <2(?; + l) foraUj = l,...,|Bi|-l,
3.4. Smooth Hulls 59
which clearly implies that, \A,\ < 2(i + 1)|PJ. (Note that all points of
Az are contained in some line segment, as by definition Bz contains the
two intersect,ion points of conv(P) with C.)
The case i — —1 is easily seen to be true, as in this case A_-\ = 0. So
assume the claim holds for some i — 1, 0 < i < I — 2. We show that it
then also holds for i.
Consider a point z' E Ai \ Ai-i that lies on the line segment bjbj+\.We will show that we can either find a point from that Ai-i \ At that,
informally speaking, makes room for z' on the line bjbj+\ or z' is one
of at most two points that will be added to this line segment without
compensation.
Let <S~(r) denote the convex continuation to which z' belongs, where
T = r(e, e) is the corresponding gap along CV Let S~ = S~(Y) with
start and endpoint x E e and x E ë. As Y is pseudo-convex we know
that W(F) and at least one of a: and x are separated by C. Furthermore
we know that if x and x are separated by C then S~(Y) is cut only once,
while if x and x lie on the same side of C then <S~(r) is cut exactly twice.
Hence, we may assume without loss of generality that the intersection
point z of e and C exists and that the line segment z'z contains not other
intersection point, of 5~(F) with C. This is illustrated in Figure 3.13.
As by construction both z' and z lie on dD(S~) and, as we just observed,the line segment z'z contains no other point from dD(S~), we know that
in fact z'z c D(S~). Observe also that, by definition of a gap, we have
that
(3.8) D(S~) Ç int(^_i) Ç ... Ç int(ft-i).
Note that this implies that z'z cannot, contain any point from Ai-\\JBi-\
as such a, point would belong to an edge of some Hk, 1 < k < i — 1,
contradicting (3.8). By the definition of a gap we know that the edgee either belongs to H%-\ or to a characteristic triangle from IV Usingequation (3.4) from page 50 we can thus conclude that z belongs to A{-i
or to Bi. Observe also that z lies on an edge e that defines a gap alongC% and thus does not belong to H%. Thus z cannot belong to Ai.
Summarizing these observations, we see that wc can assign to every
point, z' E Ai\A,..]_ a point cp(z') G (^-i \ Ai) U Bt such that the
line segment z'cp(z') contains no other point from ylt.| U P,_i and is
contained in D(S~) for some gap F along G\. As the regions D(-) are
60 Chapter 3. Minimum Weight Triangulation
pairwise disjoint for different, gaps along G\, we deduce that this mapping
(J) is fact injective.
G\
C
Hi
Figure 3.13. We leave area (Hi) if we walk from z' to
the left. The next intersection point z is on e. Note that
the window W(r) is drawn diagonally in order to indi¬
cate that the same argument applies regardless whether
Ci is horizontal or vertical.
Now consider a line segment bjbj+i. We need to show that it contains at
most 2(7 + 1) points from Ai. As Bi_
Pi-i the induction assumption
implies that it contains at most 2?; points from A7;-i- Now consider the
points in z' G Ai \ A;„i on b3bj+\ and their images <f>(z'). Observe that
the fact that <f>(z')z' contains no point from Bz implies that the images
4>(z') are also contained within bjbj+\. Hence, we can have at most two
points that are mapped to points in Bim. one to bj and one to bJ+i. All
other point, from A-L \ A.[_ \ are mapped to pairwise different points from
A;_i \ Ai, which compensate for them. Thus, the number of points on
bjbj+i can increase by at most two. This completes the proof of the
lemma. D
3.5. The Smoothing Lemma
Our QPTAS computes an almost optimal smooth triangulation. In order
to show that this also approximates an optimum triangulation, we will
show in the next section how to change a general triangulation into a
smooth triangulation without much increase in length. In this section we
3.5. 4hc Smoothing Lemma 61
introduce a technical statement needed for this transformation, the so-
called Smoothing Lemma. Consider a separator C and a gap Y — Y(e,ë)on C. Let
W(T,e,ë) = SuS'u{e,ë}.
Wc call W(T,e,ë) the enclosing walk ofY(e,ë) (cf. Figure 3.14).
LEMMA 3.23 (Smoothing Lemma). Let T denote a triangulation and let
C denote a separator at level I subdividing 91 into 9^ and 9V. Further¬
more, let Y(e,ë) be a gap on C. Then there exist feasible skeletons K
and K7 as well as a triangulation T~ such that
(1) The edges in the symmetric difference T~AT are contained in the
interior ofW = W(T, e, ë). In other words, T and T~ are identical
outside W.
(2) T~ patches Y(e, e) smoothly with respect to K and K'.
(3) £(T~) — i(T) < 18c/ • h. where h denotes the number of edges oft
in the interior ofW.
The remainder of this section is devoted to the proof of this statement.
It consists of several parts. First we show how to sample appropriate
skeletons K and K'. We then show how we can iteratively "shortcut" S
and S' such that we finally obtain S ~ S~ÇK) and S' = S~ÇK).
We start by fixing some notation. As usual we use x~
e C\ 91 and
x — ë n 9Î to denote the endpoints of e and ë that, lie in 9\. Similarly, x'
and x' denote the endpoints in 9V. Recall that Lemma 3.11 guarantees
the existence of lines H and H' such that S and S' are enclosed within
a strip of width 4q around H and H', respectively. The lines B and
B' denote appropriate lines orthogonal to H, cf. page 39. Moreover,
Bp denotes the line parallel to B through p if p G B+, and Bp ~ B
otherwise. The halfspace of B,p containing B~ is denoted by B~ (thisis unique as Bp C B+ U B). Throughout d±(u,v) and d\\(u,v) denote
the distance between u and v measured orthogonal to H and parallel,
respectively. We have
d(u, v) < d± (u, v) + d|| (u, v)
by the triangle inequality.
Recall that every edge in S is a side of at, most two triangles of T that
lie within W and that every edge which crosses W(r) belongs to such a
triangle. We thus get a natural walk along the edges of S, if we traverse
the edges of S in the order in which the corresponding triangles are
62 Chapter S. Minimum Weight Triangulation
Figure 3.14. The walk S traverses the edges in the
same order as we traverse the corresponding triangles
along C.
encountered if we walk along W(Y) from e to ë. This is illustrated in
Figure 3.14. Observe, this walk can be written as a set of directed edges
(arcs). Henceforth, we slightly abuse notation by assuming that S is
indeed a set of such arcs.
Note that in general S will be a walk (and not a path). That is, some
points can be visited several times. With <S[a;,p] we always denote the
walk on S from x until the first occurrence of p on S. Similarly, *S[x,p]denotes the walk which we obtain by traversing S in opposite direction,
starting in x, until the first occurrence of p.
Proposition 3.24. Let L denote a line parallel to B such that z := eC\L
exists. Let X ~ S 0 L denote the intersection points of S with L and let
Z[) denote the first intersection of S with L if we traverse S starting in
x. Then the line segment zzo contains no other point from X.
A similar statement holds for z := ë fl L and the last intersection point
of L and S, as everything is symmetric if we walk backwards starting at
x (cf. Fig. 3.14).
Proof. Let eZ{) denote the (first) arc on S that contains zq, and let fZodenote an edge that cuts W(Y) and is a side of the triangle correspondingto eZo. Then e, S[x, zq], fZQ, and W(Y) induce some region D. Note that
fZo can be chosen in such a way that the line segment zzq is contained
3.5. The Smoothing Lemma 63
within D. In Figure 3.15 the region D is drawn shaded. Hence, any
edge that intersects with L between z and zq also lies within D. As we
traverse the edges of S in the order in which the corresponding triangles
intersect W(Y) such an edge must, precede eZQ on S. Then zq would not
be the first intersection of S with L, contradicting the choice of zq. D
Figure 3.15
3.5.1. Sampling the Skeleton. In this section we show how to sample
K and K'. Observe that by symmetry it suffices to show how to construct
K. First we choose p G P($) such that property (PI) is satisfied with
respect to all points in P(S). Next, we sample points po,p\,... ,Pk
on *S[x,p] that will form K+. By symmetry, the points in K~ can be
constructed with the same procedure by applying it to S[x,p] instead of
*S[;c,p]. (Note that the number k of points that, are sampled is not fixed
in advance. In particular, this number can be different for K+ and K~.)
We start with po := x. Assume we have already constructed po,... ,Pi-
If d\\(pi,p) < 4q, we stop with K+ := {po,... ,Pi}. Otherwise we start
on tS[x',p] at the first occurrence of pi and walk towards p. We stop as
soon as we hit a point q such that d\\(pi,q) > 3q and q E B~. This is
illustrated in Figure 3.16.
Note that pi and q uniquely define S~[pi,q]. We now construct two
points vx and vy as indicated in the description of property (P7). That
is, vx is the point v with respect to Xq, while vy denotes the point v with
64 Chapter S. Minimum Weight lïiangukition
\p
Bn.Pi
Figure 3.16
respect to Yq. (We set vx and/or vy equal to Pi if the corresponding point
v does not exist.) Assume without loss of generality that d(BVx,Bq) <
d(BVy, Bq). (If this is not the case, then we interchange the role of vx and
vy in the next arguments.) If d(BVx,Bq) < ci then we replace q by vx.
With respect to (the potentially adapted point) q we then check, wmether
vy is still contained in S\pi, q] and, if so, whether d(BVy, Bq) < ci. If both
is the case we replace q by vy. We let pi+\ denote the point q that arises
at the end.
Lemma 3.25. The skeleton K sampled as described above is feasible and
satisfies in addition the following properties:
(Al) KÇP(S).(A2) Ifp E K+ then P(S[x,p\) \ {p} C P+ and similarly ifp G K" then
P(S[x,p])\{p}cB+.(A3) For all p,q G K+ such that p->q all points in P(S[x,q}) \ {q} are
either contained in P+ or satisfy d(u,Bp) < Aci. For p,q E K~ a
similar statement holds with respect to S[x,q],
Intuitively speaking, (A2) says that p G K+ is the first point in B~ U B
on the walk from x to p. In fact, the sampling rule guarantees that (A2)holds (cf. Fig. 3.16). However, we have to prove that, this property
3.5. The Smoothing Lemma 65
still holds after a potential replacement of q in the second step of the
sampling procedure.
Proof. We first check that K satisfies properties (PI) - (P8). Properties
(PI), (P2), and (P3) are immediately seen to hold by construction.
(P4): In the procedure for sampling the points in K+ we choose q such
that d\\(pi,q) > 3q. We claim that this implies that d(BPi,Bq) > 3q. If
q E B+ this is obvious, as then d(BPi,Bq) = d\\(pi,q). If g G B~, then
d(q, B) < d(p,B) < c\ (cf. Lemma 3.11). On the other hand we know
that ci|| (pi,p) _ 4c/ (as otherwise the algorithm would have stopped after
constructing p^, hence d(BPi, Bq) > d\\(pi,p)—ci > 3c/. In the procedure
we then iteratively adjust q at most twice. As each adjustment reduces
the distance to p by at most q, we deduce that (P4) holds.
(P5): This is immediate by the definition of «S~(K) and the fact that
we sampled K as points on S = S(Y, T).
(P6): This property is almost obvious by construction: clearly, the region
D(S~) contains no point in B~ 0 B^.+1 by definition of <S~[pi,Pi+i]-
However, we still need to show that the line segment on BPi connecting
e with pi contains no other point from P($). This, however, follows
immediately from Proposition 3.24.
(P7): By construction we ensure that, points violating (P7) with respect
to the originally chosen point q are eliminated. It remains to show that
by adapting q to vx and/or vy no new "violators" are generated. This
can be seen as follows. First observe that for any point v G S~[p%, q] the
polyline <S~ [p.;, v] is identical to the path from p% to v on *S~ [p?;, q]. For
two points y, y' wc say that <S^ [y, y'} is x-monotone if the ^-coordinates of
the points are monotone increasing or monotone decreasing. Moreover,
S~[y,y'] is said to be x-unimodular if there exists z G P(S~[y,y'}) such
that both S~[y,z] and S~[z,y'} are rr-monotone. Similarly, we define
7/-monotone and 7/-unimodular. We claim that for any points y,y' the
curve S~ [y, ?/] is both x-unimodular and 7/-unimodular. If we apply this
claim to S~ \pi, q] we deduce that after changing q to vx, say, the "new"
vx will then be identical to q, and similarly for vy. This proves (P7).
So it remains to show that, S~[y, y'] is unimodular. This can be seen
as follows. Let Y and Y' denote the hyperplanes parallel to B through
y and y', respectively. Note that by construction y and y' are the only
intersection points of S~[y,y'] with Y and Y', respectively. Let y =
qi, , qm = y' denote the points on S~[y,y'], indexed in the order in
which they appear on the walk. Let ?7? denote the unit vector directing
66 Chapter S. Minimum Weight rVriangulation
from qti to (fo+i. If wc view v^ = (ri,(fi) in polar coordinates, then the
convexity of S~[y, y'] implies that the ip., are monotone. Furthermore,the fact that S~[y, y'] must not cross Y and Y' implies that \<f]_— <Pm-i\ <
TT. Hence, for any vector u the scalar products (v\, Ü),..., (v77l-i,u)
changes sign at most once. As qi = X^i ^j, this implies the claim, if
we set u = ex respectively Ü = ey, where ex (cy) denotes the unit-vector
in x-direction (^-direction).
It thus remains to show that (Al), (A2) and (A3) hold. As in descriptionof the sampling algorithm let q denote the point sampled in the current
iteration. Firstly, (Al) is obvious, as we only add points on S to K.
Clearly, (A2) holds for q G B+. So assume q E B" and that r G
B~~ precedes q on. S. As r 0 K, we have d\\(pi,r) < 3c/. By Lemma
3.11 cJ||(p,r) < ci and thus d\\(pi,p) < 4ci. This causes the sampling-
procedure to stop with pi and thus q $ K. Contradiction.
Hence, (A2) holds for q so it remains to show that it still holds for vx (orsimilarly vy). Observe that we have vx G B U B+ even if q E B~, since
vx lies on S~[pi,q] and all points of S^[pt,q] besides q lie in P+ — B+
(as (A2) holds for q). So in particular vx E BVx C B+. Assume that
there exists an u E P(S[x, vx]), u ^ vx, such that u is the first point on
S[x, vx] in BVx UB~ .Let, tj0 denote the unique intersection point of BVx
and S[x, u]. By choice of vx and the convexity of S~ \p%, q] no intersection
point of S with BVx is between e f) BVu. and vx. This is in particular the
case for ?z0- As vx is also visited by <S it contradicts Proposition 3.24 that
uq is the first intersection of *S and BVx and thus (A2) holds. Finally,
(A3) is immediate as every u E P(S) violating (A3) would be contained
in K by construction of the sampling procedure. D
3.5.2. Smoothable Detours. Let K and K7 denote the feasible skele¬
tons sampled by the algorithm given above. Furthermore, let X denote
the set of edges of the triangulation that cross C within the enclosingwalk W(T, e, ë) of Y, that is,
(3.9) X = (E(T) \ {e, ë}) n (P(S) x P(S')).
Note that X includes neither e nor ë. For the sake of exposition, we
consider only S in the sequel. Throughout it, can be easily checked that
similar definitions and statements can be easily derived for S'. Observe
that, every arc of *S is contained in exactly one of the following subwalks.
S. The subwalk of 5 from the first occurrence of p G K+ and the
last one of q G K~, where p~>p and q^p.
3.5. The Smoothing Lemma 67
<S[p,q]. Defined for p,q E K+, p^-q as the subwalk of 5 from the
first occurrence of p to the first occurrence of q. For p, q G K by
considering S in reverse direction.
In other words, we decompose S into S and a family of sets S[p, q].Wc shall see later that, (A2) and Proposition 3.24 imply that, S\jj,q] —
S~[pi<l] If S\PiQ\ 1S convex- rbhe idea behind our proof is to "shortcut"
S[p, q] iteratively such that we obtain S~[p, q] at the end of the process.
Similarly, we proceed for S which we aim to transform into S^. This
motivates the following definition.
Let a, b and c denote three subsequent points on S, i.e., {(a, b), (b, c)} Ç
S. Recall that we assume that, S is directed, so (a, b) and (b, c) denote
arcs rather than edges. We say that (a, b, c) is a detour, if there is at
least one edge in X incident to b that intersects with the line segment
ac that connects a and c. Let X& Ç 1 denote the set of all edges in X
that are incident to b and cross ac.
We call (a, b, c) simple if |X{>| — 1. Moreover, (a, b, c) is called smoothable
if either {(a, b), (b, c)} C S or {(a, b), (b, c)} C S[p, q] for an appropriate
choice of p and q.
Our next goal is to define a measure that allows us to define an order of
preference on smoothable detours. We do this by defining a function cp
that measures the distance of a point x from B. More precisely, for
u G P(S) we let (p(u) — d(u, B) if u G B+ and ip(u) = 0 otherwise.
Analogously, we define ip with respect to B' for all u G P(S').
Lemma 3.26. For all {u,v} G X we have d(u,v) > (p(u) + ip(v).
Proof. The line segment 7^7; can be decomposed in uz and zv, where
z = uvHC. So it remains to show that d(u, z) > <p(u) and d(z, v) > <p(v).This is obvious if u G B~, since then <p(u) = 0. Otherwise B separates
u from W(Y) and thus from z. So the distance between u and B is at
most, the length of uz. For vz we can argue analogously. D
Lemma 3.27. For allu,v G P(S), we have d±(u,v) < 4ci andd^(u,v) <
\<p(u) ~ip(v)\ +c4.
Proof. The bound on d±(u,v) is a straightforward corollary of Lemma
3.11. So it, remains to estimate d\\(u,v). If both points are in B+ then
d\\(u,v) — \(p(u) — <p(v)\. If in contrast both points are in B~ then
d\\(u,v) < ci due to Lemma 3.11. Otherwise we assume w.l.o.g. that
v E B~ and u E B '. Clearly d\\ (u, v) is given by (p(u) plus the the
68 Chapter 3. Minimum Weight Triangulation
distance of v to B. The latter is by Lemma 3.1 1 at, most, cj. Since in
addition <p(v) = 0, the bound holds.
Proposition 3.28. For every detour (a,b,e)7 ip(b) > mm{ip(a),p(c^)}.
Proof. Assume that ip(b) < mm {p>(a), ip(c)} and thus a, c E B^~. Hence,
Bb separates both a and c from W(Y). This implies that no edge in X
incident, to b crosses ac as otherwise it would cross Bb twice. Contradic¬
tion.
A detour (a, b, c) is said to be ip-convex if tp(b) > max {p>(a), <p(c)}.
Proposition 3.29. A ip-convex detour (a,b,c) is smoothable.
Proof. If a detour (a, b, c) is not smoothable, then b G K+ U K~ and
(a, b) E S[p, b], where p->6 but either
(b,c) E S[b, q], where b^q ^ p, or
- (b,c) ESiib^p.
By (A2) a G B^ and p>(a) > (p(b) contradicting our assumption that
(a,b,c) is not, (^-convex. D
LEMMA 3.30. There exists no smoothable detour if and only if S =
S~(K).
Proof. If there exists a smoothable detour (a, b, c) then either S or some
S[p, q] is not convex. This contradicts the (piecewise) convexity of the
S~(K) and thus S ^ <S~(K). On the other hand, if S / <S~(K) we
claim that either S or some <S[p,g] is not convex. Thus, we have a
detour (a,b,c) which lies entirely on S or some S[p,q]. By definition
(a,b,c) is smoothable.
In order to prove this claim, assume for the sake of contradiction that all
S[p, q] and S are convex. Firstly, consider some S[p, q]. Ifp, q E B+ U B
then (A2) and Proposition 3.24 assure that S[p, q] intersects with Bp and
Bq only in the points p and q, respectively. It thus matches the definition
of «S~[p, q] and we have S[p, q] = S~[p, q\. If g G B~ and thus p G B+
(or vice-versa) then q is by (A2) the first (and only) point on S[p, q] in
B~ and therefore S[p, q] — <S~[p, q]. Thus we have that S[p, q] — S~\p, q]for all S\p,q].
Finally, we consider S. Let p G K+ and q E K~ such that p^p and q^p.
By (A2), we have that, P(S[x,p]) \ {p} C P+ and P(S[x, q]) \ {q} C B+.
Thus Proposition 3.24 assures that *S ~ <S~. D
3.5. The Smoothing Lemma 69
3.5.3. The Smoothing Action. A srnoolhrng action is a single step of
the process that transforms S into S~. We choose a smoothable detour
(o, b, c) on S oi S' according to the following ordei of preference.
(1) detours that are simple and c/>convex
(2) </?-convcx detouis
(3) remaining detours
This order will be crucial in the analysis. We hencefoith assume that
{(a, 6), (b,c)} Ç S; the case {(a, b), (b, c)} Ç S' is symmetric. Once the
detour is chosen, we locally modify T such that wc obtain a tiiangulation
T< with
S< = (Su{(a,c)})\{(a,b),(b,c)}.
This is achieved as follows. Let a',c' E P(S') such that Aa6a> and Ahv
are the triangles corresponding to (a,b) and (b,c). That is, the edges
{a, a'} and {c, c'} so to say enclose AV Note that a' — c' in case the
detour is simple. Let Wabc denote the walk that encloses all triangles in
T that are traversed along C between /\aba' ar*d Acbc', including both.
In Figure 3.17 this walk Wabc is indicated by a bold polygon. All the
modifications take place within the area enclosed by Wabc
C
(b)
FIGURE 3.17. If (a, b, c) is not simple, wc identify Wabc
(bold) and modify the triangulation in its interior.
If (a,b,c) is simple we add the edge {a, c} and lemove the unique edgeof Xb- This yields a feasible tiiangulation.
Otherwise, we triangulate the interior of Wabc with a triangulation that,
contains {a,c}. This is achieved as follows. Clearly, S'abc — S' n Wabc is
a subwalk of S'. Obseive furthermore that S']b( visits each of its points
70 Chapter S. Minimum Weight Triangulation
exactly once, since every point is connected to b. Thns the subwalk
S'abc[u\,u'2] from u[ to u'2 is well-defined.
We choose a point v' among all points having minimum value of tp(-).If this minimum is 0 then we choose v' such that the distance to C is
minimum. Wc triangulate the interior Wabc according to the following
two rules.
(1) The triangulation contains the triangles Aabc and Aavtc.
(2) All triangles but Aabc cross C.
This is illustrated in Figure 3.17 b). One easily checks that this trian¬
gulation is unique.
CLAIM 3.31. The triangulation described above exists.
Proof. We have to assure that each point on S'abc[v', a'] can be connected
to a and each on S'abc[v',c'] to c without generating any intersections.
Due to symmetry it is sufficient to show the latter. In the sequel, the fol¬
lowing two points on S'abc[v', c'] are of interest (cf. Figure 3.18). Firstly,
v" is the first point, on S'ahc[v',c'] in B'+. Note that v" does not, exist if
P($'abc[v',c']) C B' U B'~ and that, v" = v' if ip(v') > 0. Secondly, let
c" be the last point on S'abc[v',c'] in P". As for v" it is possible that
c" — c' (if (p(c') = 0) or that c" does not exist (if ip(v') > 0).
\B'
--"' c
Figure 3.18
3.5. The Smoothing Lemma, 71
As (a,b,c) is not simple, the order of preference implies that <S'abc[v', c']must not contain a simple and </>convex detour, as according to Lemma
3.29 every ip-convex detour is smoothable and would thus have been cho¬
sen before considering the detour (a, b, c). Indeed, all detours <S'abc[v', c']are simple, so they must not be (^-convex. We observe that
(i) S'ahc[v', c'] and B intersect, at most once, namely on the edge {c", v"}.
(ii) <p(w') increases monotonously along <S'abc[v",c'].
Along S'abc[v', c"] the (p(-) values are 0. So every detour on S'abc[v', c"] is
smoothable. As otherwise such a detour exists, we have that
(iii) d(C, w') increases monotonously along S'abc[v', c"].
Consider a w' G S'abc[v', c']. We need to show that we can connect
w' to c without crossing S'abc. As {b,w'} E T wc know that w' G
S'abc[v', c'] can be certainly connected to c, if the triangle Abw'c contains
no point of S'abc[a!,c'] other then w'. First, we consider the points on
S'abc[a',w']. Observe that the line extending bw' separates $'abc[a',w']from S'abc[w',c'], as {b,x'} E T for all x' G $'obr. Thus this line also
separates all points on S'abc[a',w'] except for w' from the triangle AbW'C.
For the points on S'abc [w', c'] we argue as follows.
Case A. w' E <Sabc[v', c"]. By (iii) all points on S'abc[w', c"] have distance
at, least d(w',C) to C. On the other hand all points in Abw>c \ {w'}have distance less than d(w',C) to C. Thus no point of S'abc[w',c"]other than w' lies in Abw'C. For the points on S'abc[v",c'] we argue as
follows. Note that this case only applies if c' G B'+. As {c,c'} G T, cc'
crosses W(Y). Since W(Y) C B' U B'~ wc have c G B'~. In particular
Ahw'c \ W} C B'~. From (i) we deduce P(S'abc[v",c']) C B'+ and
therefore no point of S'ahc[v", c'] can lie in Abw>c-
Case B. w' E S'abc[v", c']. Wc can deduce similarly as above that, no
point of S'[iu', c'] is contained in Abw>c, since Abw'c \ {w'} C B'w,, while
(ii) implies that P(S'abc[w', c']) c B' U £'+,. D
By construction of the smoothing action and Claim 3.31 we obtain
Lemma 3.32. A smoothing action returns a triangulation T< suc/i that
|<S< + (S^| = \S + S'\ ~ 1. Moreover, the triangulations T and T< differ
only within Wnbc- O
72 Chapter S. Minimum Weight Tiiangulation
Lemma 3.33. A smoothing action maintains properties (Al) - (A3).
Proof. The only difference between S and «S< are the three edges (a, b),
(b,c), and (a,c). From this the validity of (A2) and (A3) follow im¬
mediately It thus suffices to show (Al). As by construction either
{(a,6),(6,c)} Ç S or {(a, b), (b,e)} Ç S[p,q] for p, q E K'' U K" and
p^-q, it follows immediately that (Al) holds for all points in K "'" U K~.
It thus remains to show that p belongs to P(tS<).
Note that according to the definition of a smoothable detour this is not
obvious, as the case b — p is formally allowed. First consider the case
p G B+. Then every edge in Xp lies in BT and, by choice of p, can thus
not cut any line segment connecting two points in P(S). That is b — p
is not possible in this case. So assume that p G B~ and let T denote
the line through p parallel to P. Observe that T has to cut one of the
edges e = {x,x'} and e = {x,x7}, as otherwise either x or x would be
a point, in P(S) that is further away from B, contradicting the choice
of p. Assume w.l.o.g. that T cuts ë and let T+ denote the halfspace
containing x. Observe that by the definition of p we know that the
region RT- bounded by T, W(Y) and ë contains no point from P(S).Since all internal angles of a triangle are strictly less then 180°, we know
that p has to be connected in P< to some point v G T" (indeed this is
true for every triangulation). As RT- contains no point, we know that
the edge connecting p to v has to cross C, implying that p G P(S<), as
desired.
We now bound the increase of length due to a sequence of smoothing
actions. In the sequel it is convenient to describe the smoothing action
and the relation between T and T< using the following model.
- Ifp' G P(S'abc[a',v']) then {b,a'} is replaced by {a, c} and {b,c'}is redirected to {c, v'}. Otherwise, {b,c'} is replaced by {a,c} and
{b, a'} is redirected to {c, v'}.- All other edges {b,w'} G X are redirected to {a,w'} if
w'EP(S'abc[v',a'})
and to {c, w'} otherwise.
Let X< be defined analogously to (3.9) with respect, to T<. Furthermore,
let 7 : A< —» X denote the injective function such that {u,u'} is the
redirected edge of ~y({u, u'}). Note that 7"1 is defined for all edges in X
except for {6,0'} (resp. {b, c'}) which is replaced by {a,c\ E' X<.
3.5. The Smoothing Lemma 73
Lemma 3.34. A smoothing action assures that
E w^ E ^) + 9q.
ceT.,\X< etT\7(X.J
Proof. Due to symmetry, we only consider the case p' E P(S'abr[a',v']).As T< \XK and T\7(X<) differ only in the two edges {a, c} and {b, a'},it is sufficient to show that d(a,c) — d(b,a') < 9c/. By the triangle
inequality, Lemma 3.26 and Lemma 3.27 wc obtain
d(a, c) — d(b, a') < d\\ (a, c) + d± (a, c) — d(b, a')
< \(p(a) - ip(c)\ - p>(b) + 5q.
If (a,b,c) is (/^-convex then \p>(a) — (p(c)\ — (p(b) < max{(p(a),(p(c)} —
cp(b) < 0 and the claim holds. So assume that (a, b, c) is not, </?-convex.
By order of preference this implies that S contains no (/^-convex detour.
Observe that this implies that </?(•) is monotone decreasing along the
subwalk from x (rcsp. x) to the last visit of p. Choose p G K \ {p} such
that p is the last point from K that precedes (a, b) (a — p is possible)on <S[x,p]. The monotonicity of <p(-) along S implies that
(p(p) > max {(p(a), ip(c)} > (p(b) > min {(p(a), tp(c)} .
By (A3) we have d(b, Bp) < 4ci and thus max {p>(a), <p(c)} < tp(b) + 4q,which proves the claim. D
In essence, the previous lemma bounds the cost of replacements. Next,we study the effect of redirections. What we show is, informally speaking,that the redirection of an edge pushes its endpoints towards p. More
specific, if the endpoint of an edge lies on S[po,qo] it either remains on
S[pQ,qo] or is moved to some S[pi,qi] that, lies on <S between <S[po,go]and p.
To formalize this statement, we first need to specify what the "endpoint"of an edge is. Indeed, we could visit a point u G P(<S) more than once
along the walk. Note that, each such visit is uniquely determined by two
arcs (v,u),(u,w) G S that correspond to triangles A(vn) and A(UjW)-Vice-versa, A(VIi) and A(UjW) and all triangles we transverse between
them along W(Y) determine a unique visit of u (cf. Figure 3.14). In
particular, every edge {u, u'} E X corresponds to a unique visit of u.
Assume henceforth that the points in K+ are indexed by increasingdistance to p, i.e., K+ = {po,Pi,... ,x} such that po -^p and p%f i ->p,
for i > 0. Note that we have ip(pi) < (p(pi+i) for all p%,pl+\ G Kf. The
points in K~ are indexed similarly. For an edge {u, u'} E X let i({'u, u'})
74 Chapter 3. Minimum Weight rLriangulation
denote the index of a point p, E K U K+ such that
S\Pi({u,u'})'Pi({u,v'})-l]
contains the visit of u on S corresponding to {u,u'}. If no such index
exists then S contains this visit, and we set i({u,u'}) — 0. Note that
i({u,u'}) is unique. Wc define i'({u,u'}) similarly with respect to the
corresponding visit of u'.
Lemma 3.35. The following is true for every smoothing action. For all
{uq,u'q} G X and {ui,u\} G X< such that {iii,^} = 7_1({7io,7i0}), we
have i({uL,u[}) < i({u0,u'Q}) and i'({ui,u[}) < i'({u0, u'0}).
Proof. Assume that p7 G P(<S'abc[a',v']); the case p' G S'abc[c',v'] is sym¬
metric. We argue for all redirections of our smoothing action sepa¬
rately. If {w',b} is redirected to {w',c} (or {77/, o}) we trivially have
i'({w', c}) < i'({w', b}) as the corresponding visit, of w' remains the same.
Moreover, by definition of smoothable we have i({w',c}) < i({w',b})(resp. i({w',a}) < i({w',b})), as all of a, b and c are on the same
S[pi,pi+i] (resp. S). Note that by definition of i({u,u'}) this holds even
if c = pi.
So it remains to argue for {b,c'} which is redirected to {c,v'}. For the
same reasons as above we have i({c, v'}) < i({b, c'}). Let p = Pi'({b,c'})-As p' G S'abc[a',v'], we have v' G P(S'abc[c',p']). As by definition c' E
P(S'\p,p']), we obtain v' E P(S'[p,p']). Hence, i'({c,v'}) < i'({b,c'}).D
Proof of Lemma 3.23. Starting with T wc obtain T~ by iteratively ap¬
plying smoothing actions. That is, we have a sequence of triangulationsT = %),T\,... ,Tr = T~ such that i) Tr+\ is obtained by applying a
smooting action to <Sr or S'r and ii) Sr and S'R contain no smoothable
detour. By Lemma 3.30 and Lemma 3.33, Tr patches Y smoothly and
thus claim (2) holds. Furthermore, by Lemma 3.32 all changes are re¬
stricted to W which proves claim (1). It thus remains to show the bound
of claim (3). This is achieved as follows.
Let Xr be defined analogously to (3.9) with respect to %. Let a : Xr —>
Xq such that,
a({u, u'}) - 7l (72 (• • • (jr({u, u'}) )),
3.5. The Smoothing Lemma 75
where jr : Xr —> X, _i is defined such that, 7r({7i,7i/}) is the redirected
edge of \u,u'} in the rth smoothing action. By Lemma 3.34 we obtain
E £^~ E ?(e) + R-9ch
eeTn\Xn &er()\a(XR)
It remains to bound J2eX ^(e)- Let {wfii '41 ^ Xr and {uo,u'0} —
a({iiR,u'R}). We claim that, d(u,R,u'R) < d(uo,u'0) -\- I8ci. In order to
see this let zq denote the intersection point, of W(Y) with {uq,u'q}. Bythe triangle inequality, we have
d(uR, u'R) < d(uR, z0) + d(zo, u'r).
It thus suffices to bound d(uR,zo) — d(uo,zo) and d(u'R,zo) — d(u'0,zo)by 9c/ each. Due to symmetry it is sufficient to bound the former.
Case A. (p(vr) < <p(uq). Then w = Tio^o fl BUR exists and we have
d(uR, z0) < d± (uR, w) + d|| (uR, w) + d(w, z())
< d±(uR,w) + d\\(uR,w) + d(u0,z0).
Note that d\\(uR, w) = 0 if ur E B+. Otherwise, we have c/y (ur, w) < c\
by Lemma 3.11. It remains to bound d±(iiR,w). As usual, y = e n C
and y — ë fl C denote the points bounding 1/F(r). By Lemma 3.11 we
deduce that Ur, uq, y and y are contained within a strip of width 4q
around H. This strip contains also the triangle AUoyy and thus w. That
is, we have dx(uR,w) < Aci and thus d(uR, z0) < <i(7io, ^o) + 5q.
Case B. (p(ur) > (p(uo). By Lemma 3.35 we have
*(Kr,?4}) <i({u0,u'()})and in particular uR E P~, where p = pl({UQ,u'ü})- As (p(uR) > <p(u0),we also have 77o B~. By (A3) we thus have d(uo,Bp) < Aci and thus
<p(p) < (p(ua) +4c/. Hence, (p(ur) < <p(p) < <p(uq) + 4q. By the triangle
inequality and Lemma 3.27 we thus obtain
d(uR,z0) < d\\(uR,u0) + d_(uR,uo) +d(u0,z0)
< \ip(ua) ~ ¥>(«o)| + 5ci + d(u0,z{))
< d(u0,z0) + 9c/.
This completes the proof of the claim that d(u,R, u'R) < d(uo, u'0) + 18qfor all edges {ur,u'R} in Xr and {7i0,7i0} = a({uR,u'R}). We thus get
^(r-)</(T) + P.9C/ + |XjR|-18c/.
76 Chapter 3. Minimum Weight Triangulation
Together with the observation that /? — |A"o| — P + \Xr\ this completesthe proof of the lemma. D
3.6. On the Choice of QQ
At the end of Section 3.4 we described the algorithm C that works on
a given square Ù0- We then showed that max^ |H£[9v]| —n°\l°ë n).
Recall that T£ was defined in Section 3.3 to be the minimum weight,
triangulation such that H(9i, T£) E H£[£H] for all 9\. It, remains to
be shown that T£ is a good approximation to T*, that is, 1{T_) <
(1 4- e)£(T*). This is in general not the case for arbitrary fixed 0.0-
However, we show in this section that there exists
Q = {ÙuÙ2,-..,Ùk}
such that 72 < (l + e)£{T*) for at least one Ùi E Q, where k = poly(n).In order to comply with the assumptions of the previous sections wc
require that every Ql E Q satisfies the following properties.
- PCO,
maxp,qep d(p, q) > s n.
- |jQx| = 2a, for some a G N s.t. 2a G [Ssn, Qsn].- For all rectangles ÎH in the subdivision, neither the boundary of !*K
nor the boundary of any cell £ G yVf [ÏK] contains a point from P.
Indeed the properties listed here are somewhat stronger than actually
required. In the sequel we show how we can satisfy these requirements
by choosing Q appropriately. First we scale the point set such that
the smallest square containing all points, the so-called bounding box,has side length sn. Then clearly maxP;f/(=p d(p, q) > sn. We assume
without loss of generality that the lower-left, and upper-right corner of
the bounding box have coordinates (0,0) and (sn,sn) respectively. We
grow the bounding box by 1 such that now the upper-right corner has
coordinates (sn + l,sn + 1). Thus the enlarged box has side lengthL = sn + 1.
For a, b E {0,1, 2, •
, L}, let Ù0(a, b) denote the square of side length2a G [3sn, 6sn] and barycenter (a,b) (cf. Figure 3.19). Wc choose
Q = {Q0(a,b) :a,bE {0,1,2,- ,L}}.
For £30(a,6) we construct a subdivision as described in Section 3.2.1.
This subdivision has depth t — let. Regardless of the choice of a and 6,
3.6. On the Choice of Q 77
all boundaries of rectangles and cells are contained in the grid lines of a
grid through the origin of granularityno
Now we assure that neither the boundary of any rectangle ty\ in the
subdivision nor the boundary of any cell (£ G M [ÏH] contains a point in
P. This is achieved by slightly shifting the point set.Let
i gand *v =
3 -9
2ny
2ra'
where g is as defined in (3.10), while 1 < i,j < 277 will be specifiedlater. We shift the point set P by 5X and Sy. That is, a point in P with
coordinates (x,y) is shifted to (x + 8X, y + 5y). Note that the shifted
point set P is still contained in the enlarged box of side length P.
Ftgure 3.19. The bounding box (solid), the enlarged
bounding box (dashed) and Q0((i,b) (bold).
Lemma 3.36. There is a choice for 6X and 5y such that the following is
true for all a and b. For all rectangles 9^ in the subdivision of Q0(a,b),no point p G P is contained in the boundary of y\ or in the boundary ofa cell<lEM[W].
Proof. It, suffices to show that there is a choice for Sx and 5y such that
no point in P is contained in one of the aforesaid grid lines. For a fixed
p £ P there is only one among 277 choices of Sx such that p is contained
78 Chapter S. Minimum Weight Triangulation
in a vertical grid line. Thus the points in P exclude at most n choices
for 5X. As there are 277 such choices, there exists a öx with the required
properties. We argue similarly for 5y. D
Let T*b denote the optimal smooth triangulation with respect to Q0(a, b)for some a,b E {0,1, 2, • •
, P}. The proof of the following key lemma
implies that such a T*b always exists.
Lemma 3.37. Let T* denote a minimum, weight triangulation to P.
There exists a,b E {0,1,..., L} such that £(T*b) < (1 + e)£(T*) forsom,e s — Ö (1/e).
The proof of Lemma 3.37 partially relies on the probabilistic method
and thus the following lemma turns out to be helpful.
Lemma 3.38. If a and b are chosen uniformly at random in {0,1,... ,L}then the subdivision of Q,0(a,b) has the property that
2[l/2\Pr{e G T* is cut by a separator at level 1} < —-—(i(c) + 1).
Li
Proof. Recall that vertical separator have even levels whereas horizontal
ones have odd levels. For the moment we assume that / = 1 mod 2, that,
is, we have an horizontal separator. Let, e — {u, v} G T* be fixed and
let £y(e) — 7/(77) — y(v). Observe that two horizontal separators have the
same level if they ha,ve the same 7/-coordinate. Let, Po,..., Pl denote
horizontal lines such that y (Hi) ~ i. That is, we subdivide the enlarged
bounding box of P into horizontal strips of width 1. Observe that hor¬
izontal separators of the subdivision of Q0(a,b) are either completelyoutside of the bounding box or lie on some Hi. We say that Hi has level
I if there are separators that have level / and 7/-coordinate y(Ht).
The number of Hi having level I is at most 2^-1/2^. As a is uniformlychosen at random from {0,..., L} every Hi has level 0 with probability
1/P. Since the levels of the Hi only depend on a, every Hi is equally
likely to have level /. So the probability that Ht has level / is at most
2^/2J/P. Since e crosses at most |"A/(e)] < £y(e)-\-1 of the Hi, and since
iy(e) < £(e), the probability that e is cut by a horizontal separator of
level I is by Boole's inequality at most
2LJ/2J o^/2J
If I is even then the separator in question is vertical. Due to symmetrywe can argue similarly. D
3.6. On the Choice of O. 79
Recall that, by construction, we have t = 2|~log2 |jQ0(a,, b)\~\ = Ö (log 77).
Proposition 3.39. If9\ has level I then a cell <£ G M[9K] has side lengthat most
<3P
Q"
2M/2js/;-
Proof. On page 28, we observed that the side length of a rectangle at,
level / is at most |9H| = |Q0(a,&)|/2L/,2-l < 3P/2^/2J. The cell size is as
claimed, since our grid has granularity |£H|/m, where 777, = 2\]°sst\ > st.
a
Proof of Lemma 3.37. Assume for the moment that a and b are fixed.
Proceeding in top-down fashion through the subdivision of Q_0(a,b) wc
transform T* into some (potentially suboptimal) smooth triangulation
Ta,b- Let T ~T*. At level /, we modify T such that it patches all gaps
occurring at level / smoothly. If we are done, we consider level I + 1.
Assume we are currently at level /. If T patches all gaps occurring at
level I smoothly, there is nothing left to do at level I and we move to level
I + 1. Otherwise, there is a gap Y(e, e) occurring along a separator C at,
level / which is not patched smoothly by T. We use the same notation
as in Section 3.4, that is, we assume that C subdivides 91 into 9\ and
9V. As defined at the beginning of Section 3.5, let W(T, e,ë) denote
enclosing walk of T(e,e). By definition, the interior of the enclosingwalk contains all triangles of Tq(C, T) that occur between e and e. The
Smoothing Lemma (Lemma 3.23) says that we can find a triangulationT~ such that T~ and T differ only within W(T, e, ë) and T~ patches
T(e, ë) smoothly. Moreover, the third statement of the lemma says that
we have a cost of at most 18q for each chord to W we have in T.
By Lemma 3.23 T~ and T differ only in the interior of the enclosingwalk of F(e, ë). Therefore, this modification takes place within the local
hull of the parent and thus T~ still patches all gaps occurring at levels
0,...,/ — 1 smoothly. Moreover, the enclosing walks occurring at, level /
have pairwise disjoint interior and we can consider all gaps occurring at
level / independently We then proceed with T^, that is we let T — T~.
By the disjointness observed above, it is guaranteed that now T patchesall gaps occurring at levels 0,..., / smoothly Hence, we obtain a smooth
triangulation Ta^ if we are done with level t.
It remains to bound the cost of the modifications. For e E T* let lev(e)denote the minimum level of a separator that cuts e. In the transfor¬
mation process given above, e can induce an increase of length of 18q
80 Chapter 3. Minimum Weight Triangulation
on each level / > lev(e). We now show that for a, b chosen uniformly at
random, the expectation oï f(Tab) —/(T*) is in the order of f(T*)/s. By
linearity of expectation and Proposition 3.39 we obtain
i t
w(Ta,b) -t(T*)] < e EPr{lev(e) = />E18c*eeT* 1^0 k=l
t oo _
j
eÇ'T* 1=0 k=l
per* i=o
for an appropriate constant, c. Clearly, Pr{lev(c) = /} is at most the
probability that e G T* is cut by a separator at level /. Hence,
Pr{lev(e) - 1} < 2l>2(((e) + 1)/L
by Lemma 3.38. That is, wc have
12Z/2 r T
E[*(ra,b) - i(T-)] < £ E—m + l)'¥ßTteeT* 1=0
= - {£{T*) + \T*\) = O (-} i(T*),
where the last equality follows from the well-known fact that |T*| <
3n — 6 and the observation that n < £(T*)/s. So there is a choice of a
and b for which
e(Ta,b)-e(T*) = o(e(T*)/s).
Choosing ,s — Ö (1/e) completes the proof. LI
Finally, we are in position to prove Theorem 3.1. It, suffices to combine
the results stated in this and the previous sections along the strategy,
we already sketched in Section 3.3.
Proof of Theorem 3.1. For fixed £30 wc introduced in Section 3.4 an al¬
gorithm C that computes in time n \ og n> for each rectangle £H in
the subdivision of £}0 a family (H/:[*H])<k of smooth hulls such that
IH/:^]] — 77 v uë n). By Theorem 3.8, it is possible to compute a (1+e)-
approximation to the best smooth tiiangulation T£ in time 77 \og n) for
an appropriate choice of s — O (1/e). Lemma 3.37 states that there ex¬
ists a
Ùo(a, 6) G Q = {Ùo(a, b) : a, b G {0, 1, 2, • • •
, L}}
3.6. On the Choice of Q0 81
such that l(T*b) < (1 + e)£(T*). So, we have some Q0 E Q such that
^C^c) ^ (f + s)^(T*). For each O0 G Q, wc compute the correspond¬
ing (H/:[9H])^ and run the algorithm of Theorem 3.8. Wc return the
best triangulation. As |Q| = poly(77), the overall complexity remains
n°Kn).'
a
Seite Leer /
Blank leaf
CHAPTER 4
Node-Weighted Steiner Trees
In this chapter we return to Steiner's problem and study a generalization,called Node-Weighted Steiner Tree. This problem was alreadyintroduced in Chapter 1 as Problem 1.3. Recall that an instance consists
of a set of points P in Rd, a function it : P —> Q+ and a es G Q+.Using a slightly different notation as in Chapter 1, a solution is a subset
V(ST) Ç P and a Steiner tree ST connecting the points in V(ST).Furthermore, let S(ST) denote the Steiner points used by ST. We
minimize
(4.1) val(ST)= J2 dq(u,v)+ E tt(u) + \S(ST)\cs.{u,v}E(ST) ueP-V(ST)
The objective function can be intuitively understood as follows. We
pay for the total length of the tree plus a penalty of c$ units for every
Steiner point we use. Furthermore, we are charged 7v(u) units for every
point u E P which is not included in the tree. Such a model has several
applications. In network design, for instance, additional switches could
reduce the cable length of a computer network but they are expensiveto install.
Let 7v(ST) and cg(<ST) denote the total amount of penalties we pay for
unconnected points and the use of Steiner points, respectively. That is,
(4.1) rewrites to
val(ST) = £q(ST) + 7r(ST) + cs(ST).
Furthermore, ST* denotes throughout this chapter the optimal solution
for the input set P. As it is easy to compute a spanning tree of mini¬
mum length, the main difficulty of Node-Weighted Steiner Tree is
actually to identify the sets V(ST*) and S (ST*).
The problem Node-Weighted Steiner Tree covers several well-
known problems as special cases. If wc choose cs = 0 and 7t(u) = oo
for all u E P then we obtain Steiner's problem. Moreover, by choosing
83
84 Chapter 4. Node-Weighted Steiner Ti'cos
just eg = 0, our model yields the prize-collecting variant of the Steiner's
problem. If both eg = oo and tt(u) = oo for all u E P then Node-
Weighted Stetner Tree is equivalent to Minimum Spanning Tree.
In this chapter we will prove
Theorem 4.1. For fixed e > 0, there is a polynomial time algorithmwhich computes a (1 + e)-approximation to Node-Weighted Steiner
Tree in the plane.
Furthermore, we discuss variations of the problem and also explain how
our algorithm extends to arbitrary fixed dimension. It, turns out that
then Node-Weighted Steiner Tree still admits a quasi-polynomialtime approximation scheme (QPTAS) in arbitrary fixed dimensions.
Theorem 4.2. For fixed s > 0 and fixed d > 3, there is a quasi-
polynomial time algorithm, which computes a (1 -\- e)-approximation to
Node-Weighted Steiner Tree in arbitrary fixed dimension.
There is a considerable amount of related work. As already mentioned
the geometric Steiner tree problem admits a PTAS [11, 94] and is
strongly A/"P-hard [55]. Thus, from a complexity theoretic point of
view, Theorem 4.1 does not let much room for improvements. Arora
claimed in [12] that there is a QPTAS for the prize collecting variant.
Talwar [121] shows that Arora's method extends to metrics that satisfycertain properties but the complexity of his approximation scheme is
quasi-polynomial.
In Chapter 2 we introduced the Steiner tree problem in networks, and
we mentioned that this problem is known to be ^.PAf-complete [21].Therefore, it does not admit a PTAS unless V — HV. However, there
are many constant-factor approximation algorithms for this problem.The currently best algorithm is by Robins and Zelikovsky [113] and
yields a (1 + -^^approximation. If the input graph is planar then the
Steiner tree problem in networks admits a PTAS [22].
There is also a node-weighted version of the Steiner tree problem in
networks [73, 118], where including a vertex v G' K in the tree induces
a cost of cs(v) E R>o- This is setup quite similar to Node-Weighted
Steiner Tree. It was shown by Klein and Ravi [80] that there is an
approximation algorithm with performance ratio 21n|P| for the node-
weighted version of the Steiner tree problem in networks. In addition,
they proved that this is best possible up to a constant, factor, unless
NV C DTIME[77po'ylüs(")]. A similar setup was considered by Moss
4. /.. Outline of the Algorithm 85
and Rabani [98] who in essence combined the unweighted Steiner tree
problem with packing problems. A 2-approxirnation algorithm for the
prize-collecting variant of the Steiner tree problem in networks is due to
Goemans and Williamson [61].
For an extensive discussion of Steiner's problem and the Steiner tree
problem in networks, the reader is refered to the textbooks of Hwang,Richards and Winter [73] and Prömel and Steger [107].
The remainder of this chapter is organized as follows. We start with the
case d = 2, and outline in Section 4.1 basic principles of our algorithmic
strategy. Section 4.2 and Section 4.3 provide fundamental definitions and
properties of (restriced) optimal solutions of Node-WEIGHTED Steiner
Tree. In Section 4.4 we then present and analyse the polynomial time
approximation scheme. Finally, in Section 4.5 we extend the algorithmto higher dimensions and present further generalizations.
4.1. Outline of the Algorithm
In this section we outline our algorithmic strategy for Node-Wetghted
Steiner Tree in the plane. Wc start by briefly reviewing the main ideas
of Arora's approximation scheme for the geometric Steiner tree problem.Arora subdivides the smallest rectangle enclosing all points recursively
by using a quadtree such that the rectangles of the leaves of the quadtreecontain at most one point. The structure of a Steiner tree ST inside a
rectangle of this quadtree can be described by specifying i) the locations
where edges of ST cross the boundary of the rectangle and ii) how these
locations are connected inside the rectangle. Both parameters define the
configuration of this rectangle.
Given a rectangle and a configuration, Arora's algorithm optimizes lo¬
cally as follows. It computes the best solution for this configuration by
enumerating all configurations of the children of the rectangle and com¬
bining their optimum solutions. As the optimum solutions for rectangles
containing at most one point are easy to compute, the optimum solutions
of all rectangles can be computed bottom-up by dynamic programming.In other words, a look-up table is maintained which contains for each
configuration-rectangle pair the corresponding optimum. The complex¬
ity of this dynamic program depends on the size of this table, i.e., the
size of the quadtree and the number of different configurations per rec¬
tangle. We shall see later that the quadtree has logarithmic height and
contains therefore polynomially many rectangles. In order to reduce the
86 Chapter 4. Node-Weighted Steiner lYees
number of configurations per rectangle, one has to do some rounding.This is achieved as follows.
Firstly, edges arc only allowed to cross the boundary of a rectangle at one
out of C? (log 77) prespecified locations, the so-called portals. Intuitively,those portals can be seen as auxiliary Steiner points over which we detour
the edges. Secondly, the tree may cross the boundary of a rectangle at
most a constant number of times. In this way one can show that there
exist only polynomially many different, configurations for each rectangleand the dynamic program therefore terminates in polynomial time. On
the other hand, by reducing the number of configurations, the dynamic
program optimizes only over a subclass of all trees. One therefore also
has to show that this subclass contains a tree such that its length differs
only slightly from that of an optimum tree. By using Arora's PatchingLemma and by introducing randomness into the quadtree one can show
that this is indeed the case.
The Patching Lemma states that whenever a Steiner tree ST crosses a
line segment L of length x at least twice we can find a Steiner tree ST'
crossing L only once, such that £q(ST') — £q(ST) < 2x. The proof in
[11] of the Patching Lemma basically uses the construction depicted in
Figure 4.1. Note that this construction adds new Steiner points to the
tree.
*—
—0 o—__
L L
Figure 4.1. Construction proving the PatchingLemma of [11]. The original tree on the left crosses L
several times whereas the new tree on the right crosses L
only once. Note that we have several additional Steiner
points (drawn as rings) in the new tree.
4.2. Preliminaries 87
Unfortunately, our problem Node-Weighted Steiner Tree seems
not to fit in Arora's framework, as the fact that each additional Steiner
increases the cost of the tree by eg units makes it hard to imagine that a
solution can always be modified in the style of the Patching Lemma. We
therefore use a completely different, approach to define configurations.
Instead of specifying the locations where the tree edges cross the bound¬
ary of a rectangle, we aim at specifying the structure of the tree within a
rectangle and at specifying at which locations it should be connected to
points outside of the rectangle. Basically, this is achieved by subdividing
the rectangle into Ö (log 77) many cells. A configuration specifies which
cells contain an endpoint of an edge crossing the boundary and specifiesto which component, inside of the rectangle those points belong. In this
way we restrict the number of different locations of end points of edges
crossing the boundary of a rectangle, but not the number of such edges.
4.2. Preliminaries
In the sequel we mainly consider an integral variant, of Node-Weighted
Steiner Tree in the plane. This integral variant is called NWLST (for
node-weighted lattice steiner tree). The difference to Node-Weighted
Steiner Tree is that we require that all input points have odd integral
coordinates and that the side length of the bounding box is L = Ö (n2).That is, we have Pc{l,3,5,...,P— 1} . Similarly, the Steiner points
contained in the solution must also have odd integral coordinates. This
is similar to the notion of well-rounded instances in [11].
Lemma 4.3. If there is a PTAS for NWLST then there is also a PTAS
for Node-Weighted Steiner Tree in the plane.
For the proof of Lemma 4.3 we need an approximation algorithm for
Node-Weighted Steiner Tree in the plane with constant perfor¬
mance ratio. This motivates the following statement.
Lemma 4.4. There is an algorithm which computes in polynomial time
a 3-approximation to ST*.
Proof. By using the algorithm of Goemans and Williamson [61], we
compute a 2-approximation to the optimal prize-collecting spanning tree
on P. Let, A denote the total cost, i.e., length plus penalties, of this
approximation. We claim that,
A_3-Yâl(ST*).
88 Chapter 4. Node-Weighted Steiner Trees
Let ST' denote the minimum spanning tree on V(ST*) and note that
cs(ST ) = 0. It, was shown by Du and Hwang [41] that for every set of
points P the length of the MST is at most 3/2 the length of the optimal
Steiner tree. Thus, ST' satisfies
val(ST') = £q(ST') + tt(ST') < 1 £q(ST*) + tt(5T*) + cs(ST*)
<^.val(<ST*),since V(ST') = V(ST*) and thus tt(ST') = tt(ST*). Clearly, the
cost of the optimal prize-collecting spanning tree VCT* on P is at
most val (ST'). Since the algorithm described above computes a 2-
approximation to the optimum prize-collecting MST, we obtain
A < 2 val(PCT*) < 2 • val(<ST') < 3 • val(<ST*).
This completes the proof. D
Proof of Lemma 4-3. Note that we can improve every solution to Node-
Weighted Steiner Tree by deleting Steiner points that are either
leaves or have just two neighbors in the tree. Hence, every Steiner tree
which is optimal in this sense contains at most n Steiner points and thus
at most, 2n points. Let A denote the value of the solution obtained by
the approximation algorithm of Lemma 4.4. Furthermore, let M denote
the side length of the bounding box of P. We scale eg, the penalties and
all coordinates by
247i
P=7Ä
and move every point (including the Steiner points) to the nearest, points
with odd integral coordinates. This means that all points lay on a grid
of granularity 2 which we call the 2-grid. We denote this rounded point
set by P'. If more points are moved to a grid point then we treat them
as single point. The penalty associated with this point is the sum of
the penalties of the points moved to this coordinate. The side length
of the bounding box is now L = Mp. By moving the points we may
have increased the length of the optimum solution. However, we move
at most 277 points by at most 4 units. Since we have at most 277 — 1
edges, we obtain
val(ST*') < p val(<ST*) + 877,
4.2. Prolin i inaries89
where ST* is the optimal Steiner tree on P'. Assume for the moment,
we have a solution ST for P' such that
(4.2) val (ST') < (1 + e)val(ST*') < (1 + s)(p val(ST*) + 877).
Transforming ST' into a solution ST for P can be achieved by moving
the points back to their original position and by scaling by 1/p. If P'
contains n' points, the length of each of at most 277' — 1 edges in ST'
increases by at most 4 units. Moreover, if points q\,... ,qi- E P were
treated as a single point, we keep q^ in the tree and connect each of
Ç2, • • ,qk to q-\ by an edge of length at, most 4. Thus we have
val(ST) < - (val(ST') + 8(n' - 1) + 4(n - ri)) < - (val(ST') + Sn) .
That is, wc have
val(ST) < - (val(ST') + 8n) < - ((1 + e) (p • val(ST*) + Sn) + 8n)[j p
= (1 + e) val(ST*) + -8n(2 + e)P
= (l + e).val(ST*) + ieA(2 + e)
< (l + 3e + £2)-val(ST*).
If we want a (1 + e') approximation for P, we have to choose e appro¬
priately.
It remains to be shown that we can find a solution ST' satisfying (4.2).
If A > M/n then L < 24n2/s and we are done. Since L = O (n2) for
fixed e, we can simply use the PTAS for NWLST.
Thus assume that A < M/n. Consider a grid of granularity g— 2An2fe
such that the grid lines have even integral coordinates. We call this
grid the (/-grid. Clearly, there are at most, p2/4 — Ö (n4) such grids. We
claim that there exists at least one g-grid such that the (scaled) optimum
solution is completely contained within a box of this grid. Thus, we can
enumerate all g-grids, treat every box in such a (/-grid as a separate
instance, apply the PTAS for NWLST to it, and finally return the best
solution obtained during this process.
It remains to show that such a grid exists. To see this, we choose the
grid uniformly at random. Every edge e of the scaled optimum solution
crosses lines of the 2-grid. One can easily check that the number of lines
crossed is a lower bound for the weight of the scaled optimum (note
that the lines have even coordinates and that £q(e) > f^(e) > £i(e)/2).
90 Chapter 4. Node-Weighted Steiner Trees
Thus, the optimum solution, scaled by p, intersects at most pA lines of
the 2-grid. On the other hand, the probability that a fixed line of the
2-grid is also used in the (/-grid is at most 2/y. Thus, the probability
that the optimal Steiner tree crosses a line of (/-grid is at most
pA- = -.
9 n
Therefore, there is at least one (/-grid such that the optimum solution is
completely contained within a box of this grid. D
Next, we adapt the concept of shifted quadtrees or shifted dissections
[11, 12] to our purposes. We require that P is a power of 2. If this
is not the case, we simply enlarge the bounding box appropriately. We
choose two integers a and b with a, b E (0,2,..., L — 2}. The vertical line
with ^-coordinate a and the horizontal line with Ty-coordinate b split the
bounding box into four smaller rectangles. We enlarge those rectangles
such that their side length is P. By Ùo we denote the area covered by
the four enlarged rectangles. Note that Q.q is a square of side length
L() = 2L. Wc now subdivide Ùo using an ordinary quad tree until we
obtain squares of size 2x2. We denote the quadtree generated in this
fashion by QTa^ to emphasize that its structure depends on the choice
of a and b.
Throughout we denote vertical dissection lines with even ^-coordinates
by V and horizontal ones with even y-coordinates by H. A vertical line
V with ir-coordinate x has level I with respect to a if there is an odd
(potentially negative) integer i, such that x — a + i • ^. Throughout,
lev(V, a) = I denotes the smallest I for which such an i exists. Similarly,
we define the level of horizontal lines and lev(P, b). The level of a square
Û in the quadtree QTab is defined as follows: The squares in the very
first subdivision have level 0 and a square 0 at level I is subdivided by a
horizontal line H and a vertical line V with lev(P, b) = lev(V, a) = / + 1
into four squares at level / + 1. The level of a square Q is denoted by
lev(n). Let us shortly summarize salient properties of shifted quadtrees.
Observation 4.5. For a shifted quadtree QTaj} the following is true:
(1) The subdivision uses only horizontal and vertical lines that have
even coordinates.
(2) The depth of QTajb is logP =: t.
(3) The side length of a square Û at level I is \0.\ = L/21.
(4) The number of vertical (horizontal) lines in QTa^ at level I is at
most 2l.
4.3. (s,t)-Maps and Standardized Solutions 91
Coordinates
2
4
b=6
10
\2[
14
-4 -2 0 a=2 4 8 10
-
-
1
1
• •
T r.- -
f
1
/
*
!
•
j *
4--j-
-|
1 1 1
r-
" -i ?
- Levelj
Figure 4.2. The shifted quadtree. The dashed lines
indicate the enlarged rectangles at level 0 and the dis¬
section lines within.
Note that t is integral by choice of L. This property will turn out to
be useful in Section 4.3.1. Figure 4.2 illustrates the definitions we made
above as well as Observation 4.5.
4.3. (s,t)-Maps and Standardized Solutions
4.3.1. (6',t)-Maps. From now on, we only consider the problem NW¬
LST. As already mentioned, wc need some subdivision of a square Ù E
QTa,fe into cells. A natural idea would be to use a regular (m x m)-grid.
Indeed, such grids already appear in quasi-polynomial approximation
schemes of [14, 121]. Unfortunately, it will later turn out that we would
have to choose
m— fl(st) — O(log 77)
to obtain a (1 + l/s)-approximation, where s = 0(1/e). Therefore,
this grid has f2(log n) many cells. This is too much, since we later store
92 Chapter 4. Node-Weighted Steiner Trees
some bits per square and since we require that we have polynomial many
states per square.
This problem is solved by using so-called (s, £)-maps which have only
ö(logn) cells. The intuition behind (s,£)-maps is very simple. In the
PTAS, special care has to be taken for edges that cross boundaries of
squares. Due to complexity, we do not explicitly specify the endpoints
of such edges. Instead, we will argue that it suffices to describe them as
'edges' between cells. This has the effect that our PTAS can only recon¬
struct that the endpoints are somewhere within the cells. However, the
length of the edge varies by at most twice the side length (J^-metric) of
the cells. The definition of (s, t)-maps comes directly from the following
simple observation. We can estimate the endpoints of long edges more
roughly than those of short edges, since we have only to assure that the
absolute error is at most 1/s of the edge's optimal length. Edges that
reach deep into 0 are long and thus we can make the cells inside 0
larger than those which are close to the boundary. The definition of an
(s,t)-map follows exactly this idea. We will ensure that the side length
of a cell £ is at most
f 1 1ï
max < — Ol, -(distance between £ and boundary of 0) >
[st s J
and that the map has O (s2t) cells. In essence, an (s,£)-map can be
regarded as a (st x st)-grid with cell sizes growing to the interior.
Now we define (s,t)-maps more formally. For arbitrary s E N, we define
a function ß : N0 —> N0 as
[LiJ ^'<8*
ß(j) = i2,8s < j < 9s - 1
.
Let m = m(s) = Ss2T. Here r is the smallest integer such that 2r > t,
where t is the depth of the shifted quadtree. Note that, this implies
r < 1 + logt. Therefore, we have Sst < rn < 16st.
We subdivide O in rings, as illustrated in Figure 4.3 for s — l.The jth
ring has width 2/3(^ |0|/m and consists of congruent axis parallel squares
of the same size. We call this subdivision the (s, t)-map and write Af [0].
We have groups of 4s rings of same size. The only exception is the
third group which contains 5s rings. Since we later require that the cells
partition the square, wc assume that the upper and left boundary always
belong to the corresponding neighboring cell if there is any.
4.3. (s,t)-Maps and Standardized Solutions 93
Ring No
fft - -t 0 3
.
-4 7
-
-
8
:: 9
-
--
10
--
11
12
13
;-
14
--
15
-
16
.._
- 17
18
Figure 4.3. The upper-left part of an (,s,t)-map with
s = 1. The cell size doubles for each group of rings.
Each group has 4s = 4 rings except the 3rd group which
has 5s — 5 rings.
Let 7 count the number of groups. Since the width of a ring in the
ith group is 2'~"1|0|/m, 7 must satisfy
(5«-4,)2*M+4.f;2i",|ûl777 772 2
'
and thus
7 = log(m/8s) = r < 1 + logt
Note that 7 is integral by definition of r. In the remainder of this section
we state some properties of (s,r.)-maps. In some sense, (s,t)-maps and
grids share salient, properties. However, the number of cells in a m x m
grid is m2 = ö(s2i2) while an (s,t)-map has much fewer cells.
Lemma 4.6. M[Q] contains Ö (s2t) cells.
Proof. In each of the 4s outermost rings, we have less than 4m cells per
ring. Since the size of the cells doubles from group to group, we have at,
94 Chapter 4. Node-Weighted Steiner Trees
most
_—r< 3G7/-7S = 0 (s2t)
7-1
cells in At[0], where the first term counts the number of the s many
additional rings in the third group.D
Lemma 4.7. Let £ G M[0] have side length C > 2|0|/m and let p E P
be a point which is contained in £. Then the distance ofp to the boundary
of 0 in any J£q-metric is at least 2sC.
Proof. Assume that C — 2/c-i|0|/m for k > 2, i.e. <£ is in the kth group.
Then the minimum distance of p to the boundary of 0 is simply the
orthogonal distance to the nearest, boundary line of 0. This is true for
any Jzfq-metric. In order to obtain a lower bound to this distance, it,
suffices to add up the widths of the rings between £ and its nearest
boundary of 0. This sum is at least
g4s^l = ^3-4.151 > 2*3 = 2*7^—'
m m m m
for ail k > 2. G
Let, 0 be a square at level / and let A4[0] be an (s,£)-map on 0. Fur¬
thermore, let, 0' be a child of 0 in QTajb and let .' be a cell of M[Ù'}.A cell C in M[0] is a parent of <£' if £' n £ / 0, i.e. if the cells overlap.
We write child [(£] for the set of children of <£. The next, lemma states
that the parent-child relation is unambiguous and that all the children
of a cell are contained in the same rectangle of QTa^.
Lemma 4.8. Every cell has a unique pa/rent. Moreover, for each cell
CE M[Q], we have child [C] Ç M[Ù'} for some child 0' of Ù.
Proof. We first show that every cell has a unique parent. Without, loss
of generality, we assume that, 0' is the top left, child of 0. We partition
0' into two regions A and B where the latter is the lower right quarter
of 0''. Region B only contains the 4s innermost rings of Af [0], since
the rings of the 7th group have side length 27_1|0|/m = |0|/16s and
thus 4s rings have width |0|/4. This is also illustrated in Figure 4.4 for
s = 1. Thus, every £ G M [0] is either completely contained in A or in
B. The same is, by definition true for all £ E M[0;]. Note that this
already implies the moreover-part of the lemma.
4.3. (s, t)-Maps and Standardized Solutions 95
1,
0'|
0i
II
|Û'|_
2
|Û|4
A i >JZ >
"
---
loi
Figure 4.4. The partition of 0; into regions A and B.
Let p(i) denote the distance of the 7th group from the boundary of 0.
By construction of the (s,t)-map, we have
i-l
and therefore we obtain
,fc-i|Û| .10 i<3
rn 4slui
i > 3
p(i)^(y-1-!)^ 7<3
4s2li|û| i > 3
Note that p(i) does not depend on ,s, as m— 8s2r. Moreover, let 6(i,j)
denote the distance of the jth ring in the 7th group from the boundary
of 0. We have
-i|Û|6(i,j) = p(i) + (j-l)¥
777
Similarly, we define p'(i) and 5'(i, j) for 0'. Note that, the side length of
0' is |0'| = |0|/2.
We first show that every cell of M [0;] in region A has an unique parent
in Af [0]. That is, we need to show that, there exists (i',j') for all (i,j)
such that 5'(i',j') = ö(i,j). If i > 3 then p'(i + 1) = p(i) and thus
S(i,j) = P(i) + (J - 1)2-^ = P(i - 1) + (j - 1)2*^1 = S'(i + 1J).777 2777,
96 Chapter 4. Node-Wciglitcd Steiner Trees
The case i < 3 can be easily seen from Figure 4.5 which illustrates the
distances to the boundary of 0 of the rings in the first, three groups
of A4 [0] (top) and those of the rings in the first four groups of M [0']
(below) for the case s — 1. Note that choosing s > 1 increases the
granularity, but, the situation remains the same.
M[Q] C
\
M[Ù'\
"CLL
X
*$&
,^
<$
Ji$
<§
Figure 4.5. The rings in the outermost groups of
M[0] (top) and M[Q.'] (below) for the case s = 1. The
additional ring in third groups drawn shaded.
Now we consider region B. We have to show that there exists for all
1 < j < 4s a (i',f) such that
WJ')16s
J-
For fixed 1 < j < 4s choose k E Z such that 4s < j2k < 8s. Note that
k > 1 and k < log(8s) <C r. Let i' = r — k + 1 and observe that due to
r = 0(log log 77,) we may assume without loss of generality that // > 4.
Furthermore, let j' = l + 2T~''+lj—As. Note that the choice of i' implies
that 1 < j < 4s. Now we easily check that
S'ii'J) 4s2z1 P + (/
-
1)T-1M=
(4s + j'-
1)2^XM2m
u ;2m
v J J2m
= (4s + j' -1)¥101
16S21(4. + j'-l)2''—iM = glJ-
16s 16s
as desired. D
4.3.2. Standardized Solutions. In this section, we will consider trees
that enjoy certain structural properties. Roughly speaking, our PTAS
optimizes over all such trees. The main result, of this section is Theorem
4.3. (s,t)-Maps and Standardized Solutions 97
4.10 which states that there exists an almost optimal tree having this
structure. Let a and 6 be fixed and let QTa^ denote the corresponding
shifted quadtree with(s, t)-maps on all its squares. Furthermore, let ST
be an arbitrary Steiner tree. An internal component of ST with respect,
to 0 G QTŒib is a connected component in the induced Steiner forest
ST[V(ST)nO]. Let k(0.,ST) count, the number of internal components
of 0. An edge {u,v} G ST is an external edge of 0, if exactly one
endpoint of {77,7;} is contained in 0. Let, S(0.,ST) denote the set of
endpoints (within 0) of external edges. An edge {u, v} G ST has level I
or appears at level I, if I is the least level, where {u,v} is external. The
level of {u,v} is denoted by lev({77,7;}).
Definition 4.9. Let r G N, r > 2. A Steiner tree ST is (r, s)-standardized
with respect to a and b if every square 0 G QTa,b is (r, s)-standardized,
i.e., 0 satisfies
(SI): k(Ù,ST) <r.
(S2): For all £ G M[Q], all points in £(Ü,ST) n £ belong to the
same internal component of 0.
Henceforth we need the following technical concepts. Let S* denote
the set of all Steiner trees which have the same point set as ST*, i.e.,
ST E S* if and only if V(ST) = V(ST*) and S(ST) - S(ST*). For
fixed a and b, we define a transitive relation <] on S* as follows. For
ST, ST' E S* we have ST <\ ST' if and only if there exists a bijection
7 : E(ST) - E(ST') such that lev(e) < lev(7(e)) for all e G E(ST).
We remind the reader that the dissection lines subdividing 0o have level
0, and thus a small lev(e) means that e is cut near to the root.
Theorem 4.10. For all a, b E {0, 2,4,..., L - 2} there exists an (r, s)-
standardized Steiner tree «ST*6 G S* with ST* < ST*a b
such that if a
and b are chosen uniformly at random then
E[val(5T;j6) - val(5T*)] < O (-+ -^ val(5T*).
We need several preliminary lemmas for the proof of Theorem 4.10. We
start with the following simple statement which also appears implicitly
in [11] and [14].
Lemma 4.11. Let a and b be chosen uniformly at random from {0,2,...,
L — 2} and let ST be some fixed Steiner tree. Furthermore, let£C;i denote
98 Chapter 4. Node-Weighted Steiner Trees
the event that e G ST is an external edge at level I. Then
Pr{^}<—£(?(e).
Proof. Let £' ,denote the event that e crosses a horizontal or vertical
line which has level / in QTa,6- Clearly, we have
Pr{£«,,}=Pr)Û^-UèPrWj}-[j=0 J j=0
If the edge e has length ^(e), it crosses at most, £q(e)/2 horizontal dis¬
section lines and iq(e)/2 vertical ones. Recall, that dissection lines have
even integral coordinates. Therefore, we have P/2 horizontal (vertical)
dissection lines. Since there are 2-7 dissection lines at level j, the proba¬
bility that a fixed dissection line has level j is at most 2J+1 /L. Note that
this only an upper bound, as for instance dissections lines outside the
(scaled) bounding box can never have level 0. Since e crosses at most
£q(e) dissection lines, we obtain
12J 2'+2
3=0
This completes the proof. D
Lemma 4.12. Let a,b G {0, 2,4,..., L - 2} and let ST', ST be Steiner
trees such that ST' <\ ST. Furthermore let xi(ST') and xi(ST) count
the number of edges in ST' and ST, respectively thai are external at
level I. Then
xj,(ST') > Xl(ST)
for allO <l <t.
Proof. Note that every edge which is external at level / is also external
at all levels below /, i.e., at all levels /' with I' > I. Since ST' <\ST, there
is a bijection 7 from E(ST') to E(ST) such that lcv(e') < lev(7(e/)) for
all e! E E(ST'). If 7(e') is external at level /, then e' is also external
at level I. Thus, if 7(e/) contributes to X[(ST) then e' contributes to
xi(ST'). D
Lemma 4.13. For all a, b E {0, 2,4,. ..,L - 2} there exists a Steiner tree
STa^b E S* satisfying (SI) such that ST* <STrhb. Moreover, if a and
b are chosen uniformly at random we have
E{eq(STa,b)-eq(ST*)] < ^=£q(ST*).
4.3. (s,t)-Maps and Standardized Solutions 99
Proof. Assume for the moment that a and b are fixed. In the sequel,
we will construct a sequence of Steiner trees STt,STt-i,... ,5T0 such
that STt = ST* and such that STa,b '— STq has the desired properties.
As in Section 4.2, let, H and V denote horizontal and vertical dissection
lines of the shifted ciuadtree. By definition, the dissection lines have
even coordinates. Furthermore, let x(H) and x(V) count how often <ST*
crosses the dissection lines H and V, respectively. One easily checks that
(4-3) £x(#) + £xM<^(ST*),H V
where the sums are taken over all horizontal (vertical) dissection lines of
the shifted quadtree.
We proceed in bottom-up fashion, i.e., we start with STt = ST* and
transform STi into STi-i. In the leaves of QTa,b there is nothing to
do, since every leaf contains at most one point or Steiner point. At level
/ we check for every square whether it satisfies (SI). If this is not the
case, we perform some corrections to the tree. Thereafter every square
at level I will satisfy (SI) and we move to level / — 1.
Whenever we find a square 0 at, the current level, say I, which con¬
tains more than r internal components, we modify its interior as follows.
Let /Ci, ••,/C/c(û,5T)=fc denote the internal components of 0. For every
such component, we choose a representative point ui G K%. We connect
u\,.. .
, Uk by a Hamiltonian path and remove fc — 1 external edges. We
call this modification a reduction operation (Figure 4.6). It is well-known
[78, 120] that the shortest salesman tour through k points in a square of
side length S has length at most S\/k. Thus we can find a Hamiltonian
path which has length at most SVk, where S — L/21 is the side length
of 0. At level I, wc can thus charge to every external edge which we
delete a cost, of
1 Ly/k 2L 2P
Si := — < — <-p-=,
k-1 2l -2lVk,~2lVï
since k > r > 2. Now, (SI) is satisfied in 0 and we proceed similarly for
the remaining squares at level I.
Since the procedure above does not affect the point set of the tree, we
have STa,b S*. Note, that the edges wc add have always greater level
than those we delete. We obtain the bijection 7 : E(ST*) —> E(ST(l)h)
by defining an arbitrary bijection between the deleted external edges and
those added within the square. Thus ST* < STa^.
I
100 Chapter 4. Node-Weighted Steiner Trees
Figure 4.6. A reduction operation on 0 for r < 3.
Adding a Hamiltonian path (right) of length k allows us
to remove k — 1 external edges and reduces the number
of internal components to 1.
Next, let us bound the expected increase of length due to all reduc¬
tion operations. Let c(H, a, b, I) count how many edges crossing H are
charged and deleted due to a reduction operation at level /. Clearly, we
have c(B,a,b,l) = 0 if Z < lev(H,b). Otherwise, if I > lev(H,b) then
c(H, a, b, I) is independent of b. This can be easily checked as follows.
Recall, that if lev(P, 6) < I then H is present at levels / through t. For
fixed a and b, let S1bdenote the set of squares on level /. Note, that
the boundaries of the squares in Sla bare horizontal and vertical dissec¬
tion lines that have level I or less. Let H denote a horizontal line with
lcv(P,6) = /. Changing b to b' such that lev(P,6') < lev(H,b) does
not affect the dissection at levels I through t, since Slab, = Sla b. Hence,
c(H,a,b',l) = c(H,a,b,l) for all / > lev(H,b). Thus, there exist values
c(H,a, I), such that
c(H, a, b, I) =c(H,a,l) ,1 >lev(H,b)
0 otherwise.
With respect to the random choice of a and b let the random variable
A# = Yli C(H, a, b, I) count the increase of length along a horizontal line
4.3. (s,t)-Maps and Standardized Solutions 101
H. The expectation of Ah can be bounded by
a b l=\cv(H,b)V
A-
_JL 9/"
a Z=0
<16
V,, ; —n
P.,.
a /=()
where the last inequality follows from Observation 4.5. Since every edge
is only charged once, we have
t
J2~c(H,a,l)<x(H).1=0
and thus
Proceeding similarly for the vertical lines and by using (4.3) we bound
the total expected increase in length which is at most
*w * ^ (£*(*)+ £xwo
\fr
This completes the proof. G
Proof of Theorem, 4-10. We first show for fixed a and b how to obtain a
tree for which (SI) and (S2) holds. By Lemma 4.13 we obtain a Steiner
tree STa,b which satisfies (SI). Furthermore, we know that STa b G S*
and ST* '«<STû)b.
All we have to do, is to make sure that (S2) holds. Proceeding bottom-
up, we transform STa^b into a standardized tree ST*a b.As in the proof
of Lemma 4.13, let STt denote the tree obtained after processing level
/, that is we start with STt = STa,b and end with ST0 = ST*ab. Let 0
be a square at level /. Consider a cell C G M[0] with side length C. We
have to make sure, that all points in S(H,ST}) n £ belong to the same
internal component of 0. This is achieved as follows.
102 Chapter 4. Node-Weighted Steiner Trees
Let a, v E <% be two points which are contained in and belong to
different internal components. Furthermore, let, eu and ev be external
edges with endpoints u and v, respectively If adding {77,7;} closes a
cycle which contains eu or eVl we keep {u,v} and remove either eu or ev
whichever lies on the cycle. We call this operation, which is illustrated
in Figure 4.7 a), a replacement of ev. Note, that, lcv({77,t>}) > lev^).
Otherwise, we redirect ev from v to u as illustrated in Figure 4.7 b).
This operation is called redirection of ev. Note, that a redirection does
not change the level of an edge. Proceeding iteratively for all cells and
squares at level /, we obtain STi.
We have to check that replacements and redirections do neither violate
(S2) on levels below / nor (SI) on any level. First, we show that (SI)
is safe. This is quite obvious for the levels below I, since we reduce
the number of internal components in the squares at level /. Consider
a replacement which takes place in a square 0 and let 0' denote any
square containing 0. The current tree induces a forest T' within 0'.
By inserting an edge {u, v} we either close a cycle in T' or connect two
of its components. In the first case the number of components does not
change, since we only remove this cycle by deleting eu or ev, respectively.
In the second case, the edge we delete might be completely contained
in 0' and we obtain a new component. In any case, the number of
components within 0' does not increase.
If we have a redirection in 0 the situation is as follows. By construction,
ev is redirected. Let v' denote the external endpoint of ev. If v' is
not contained in 0' then the number of components within 0' does not
change. Otherwise, ev is contained in 0'. In this case redirecting ev does
not change the number of components within 0', regardless whether u
and 7; are connected within 0' or not. Hence, neither replacements nor
redirections violate (SI) in any square of QTa,b-
Recall, that an edge which is external at, level / is also external at, levels
/ + 1 through t. The replacement operation thus connects two endpoints
of external edges. Since we proceed bottom-up, the cells on lower levels
containing those endpoints are clean in a sense that they already fulfill
(S2). Thus adding this edge will not violate (S2) on any level V > I. In
case of redirections we can argue similarly.
Both replacements and redirections delete one edge, say e, from the
tree and add another edge e'. We call e' the successor of e. For every
4.3. (s,t)-Maps and Standardized Solutions 103
e E STU)b we obtain a sequence
(4.4) STa,b 3 e —^ e! —> e" —> -> e0 e ST*ab
of successors. Every arrow stands for a single replacement, or a single
redirection. Observe, that the edge level is monotonically nondecrcas-
ing in this sequence. We denote the bijection which maps e to Cq by
7. Clearly, lev(7(e)) > lev(e) and thus STab <l ST* b.Since <] is tran¬
sitive and ST* < STab, we have «ST* < STab. Clearly, ST*ab E S*,
since we neither added Steiner points nor lost connectedness during the
transformation process.
0/
,t
/
^ i\ )
s
\
V_ J\
\
\
\
0
£
/-" .J
V.
J
J
^U \ev
,»
\ j
(a)
""
(b)
Ftgure 4.7. Sketch for the proof of Theorem 4.10. If
{77,7;} closes a cycle which contains eu or ev, then we
can add {7/, 7;} to the tree an delete eu or ev instead (a).
Otherwise, 77, and 7; are not connected over eu and ev.
In this case we redirect ev to u (b).
Finally, we bound the expected increase of length due to this transfor¬
mation process if a and b are chosen at random. Recall, that for every
edge e G STa^b there is an edge sequence as given in (4.4). This sequence
can be rewritten as a sequence a(e) = (<ti, ..., <7fc) of redirections and re¬
placements. One can easily check that a% is a redirection if % < k. In
particular, a(e) contains at most one replacement which is then 07-. If
104 Chapter 4. Node-Weighted Steiner Trees
o~k is a replacement, then the total cost of o(e) is bounded by the length
of the edge we insert. This length is at most the length of the diagonal
of the cell in which the new edge was placed.
Otherwise, if o^. is a redirection, an upper bound can be obtained as
follows. For every endpoint, of e = {u,v}, we obtain a sequence of
redirections a(u) — (oj,..., <rj|! ) and a(v) — (a",..., cr£ ), respectively.
Recall, that by Lemma 4.8 every cell £ at level I has a unique parent (£'
at level l-l. Thus, £0 <£' / 0 implies £ Ç £'. If e = {u, v] is redirected
in £ to {u',v} and again in (£' to {u",i;} then £' contains both u and
u", since u' G £ n <£'. Thus every cell where a redirection of e occurs
contains the corresponding original endpoint, i.e., u and v, respectively.
Thus, the total cost of cr(77,) can be bounded by the diagonal length of
the cell where crj£ takes place, since this cell also includes the original
endpoint u. The increase of length due to a(e) can now be bounded as
follows. Let <rj£u and a], occur in cells £u and v, respectively.
Assume without loss of generality, that <£u has greater side length. Then
clearly, the cost of a(e) is bounded by twice the diagonal length of u.
We partition E(STa^b) into Pont and Pin. A cell which belongs to the
first 4s rings of M[Q] is called an outer cell. All other cells arc inner
cells. If <7fc is a replacement, then e G Eout if and only if the new edge is
contained in an outer cell. Otherwise, if &k is a redirection then e G EOVLi
if and only if Cu (and thus also £v) is an outer cell. Note, that E-m and
Pout are random variables as they are defined with respect, to ST0)b,
which depends on the choice of a and b. The random variables Aout and
Ain count the increase of length due to Pout and Pjn, respectively.
First, we consider Eout. In this case it is convenient to estimate the
error just roughly. As the side length of a square at level / is L/21 (cf.
Observation 4.5), we deduce that the length of the diagonal of an outer
cell in every J^-metric is at level / at most
(4.5) 5t = -2l~l.rn
We charge at level / a cost of at most Si to e G Eout if we apply a
replacement to e. Otherwise, if we apply a redirection we have a cost, of
at most Ôi per endpoint. Hence, we may assume that we charge at most
20} to e. That is we obtain the following rough upper bound:
t
(4-6) Aout<J2^i-x,(STa,b),
4.3. (s,t)-Maps and Standardized Solutions___
J05
where the random variable xi(STa^) counts the number edges in STnj?that, are external at level I. Together with ST* < STa,b, Lemma 4.12
yields xi(STa_b) < xj(ST*). Thus we obtain
(4.7) E[x,,(STa,b)} < E[.t/(«ST*)] = ]T Pr{£e,j}.e.eE(ST*)
Thus by using Lemma 4.11 and m = m(s) > Sst, combining (4.6) and
(4.7) yields
t
E[Aout]<£ Y, Pr{^,i}2«5z1=0 eeR(ST"<)
eeE(ST*) 1=0
eeE(ST*) 1=0
For e G Pin the situation is as follows. Observe, that by Lemma 4.7
the diagonal of an inner cell is less than its distance from the boundary
of the enclosing square. Thus the length of the tree decreases if the
last operation in a(e) is a replacement. Otherwise, let £u denote the
largest cell in which a redirection takes place. By the considerations we
made above, the total increase of length due to a(e) is at most twice the
diagonal length of £u. By Lemma 4.7 we know that this diagonal length
is at most £q(e)/s. That is, we have
Ah,<j2^M< E *M<leq{STaJ)).s s s
Finally, we bound the total expected increase of length, i.e.,
E[£q(ST) - £q(ST*)}.
First, we estimate the expectation of A := ^(<ST*jb) — £q(STa^)- By
linearity of expectation and Lemma 4.13, we have
E[A]=E[Aout]+E[Ain]
<-£q(ST*) + -E[£q(STa,b)}
4 /2 16 \<-iq(ST*)+(- + -^=) £q(ST*),
s V s s \ r )
106 Chapter 4. Node-Weighted Steiner Trees
and hence again using Lemma 4.13.
E[£q(ST*aib) -fq(ST*)] <E[A]+ntq(STa,b)-£q(ST*)}
(S 16 8 A n ,^*N
\ s s \Jr yjr J
Observe that <ST*b= «ST0 spans the same points and Steiner points as
*ST*. Hence, we can bound val(<ST* b) as claimed.
4.4. The Approximation Scheme
Although (r, s)-standardized trees have nice properties, we do not sec an
approach to compute an optimal one in polynomial time. Instead, our
PTAS computes an almost optimal (r, s)-standardized tree. For fixed
a and b, consider the optimal standardized Steiner tree ST*ab and two
squares 0U and 01; at level /. Assume that the two squares have a
common parent 0. Let e = {u, v} be an edge that is contained within 0
but has one endpoint in Ùu and the other in Ùv, i.e, e appears at level
/. There are cells £u and v containing the endpoints of e in Qu and
Qv, respectively. The tree <ST*bhas the following structural property.
All edges which appear at level / and have an endpoint in <LU connect
to the same internal component of Ow. The points in Cu which belong
to this component are from a structural point of view equivalent, since
instead of connecting v to u we can connect v to any other of those points
without adding a cycle or losing connectivity. Although the length of
such an edge may be greater than £q(e), the absolute error is at most
twice the side length of u. Of course, the same is true for <£v. Therefore,
the distance between the centers of <£u and <£„ is a good estimation to
the length of e.
Under the assumption that this estimation suffices, it is quite obvious
that the following information is sufficient to describe a standardized
Steiner tree within 0. Firstly, we specify in which cells we have endpoints
of external edges. Intuitively speaking, such cells, later called portals,
represent the component to which all external edges should be connected.
Secondly, we encode which cells represent the same internal component
of 0. This motivates the following strategy for our PTAS. In a first phase
we compute the "optimal" structure of our solution. This structure is
described by edges between centers of cells and wc minimize the total
4.4. The Approximation Scheme 107
length of the ccll-to-cell edges wc use. In a second phase, those cell-to-ccll
edges are replaced by "real" edges.
4.4.1. Square Configuration. We describe the encoding in more de¬
tail. Let 0 be a square in QT„> The configuration C(0) of Q is with
respect to the irregular map M [O] and is given by the following param¬
eters.
(1) For every cell £ we store a bit p(£) which indicates whether £ is a
portal cell.
(2) For every cell £ we store a bit a(<£) which indicates whether <£ is
an anchor cell. We require, that every anchor cell is also a portal
cell, i.e., a(£) ^> p(£).(3) A partition Z of the portal cells of 0 into at most r sets.
The anchor bit is not required to encode the interior of a square but nec¬
essary to guarantee that our PTAS returns a connected tree. Intuitively
speaking, p(<£) indicates an obligation to connect, to £ on some larger
square. In this context the anchor bit, indicates that this obligation is
handed over to the next larger square.
Lemma 4.14. The number of configurations for 0 is at most 2 \s l °s 7>.
Proof. By Lemma 4.6, Af [0] contains at most Ö (s2t) cells. We store
two bits per cell, /?(<£) and a(£). Furthermore, the partition of the portal
cells into at most r components can be encoded as a r-coloring of the
cells. Altogether, we have
/"2o(s20^2 . 2°(s2tlogr) = O (2°(s2tlo&r)]
configurations per rectangle.
The configuration, where no bit, is set is called the empty configuration.
We write C(Ù) = Q. The configuration of QTa,b, denoted by C(QTa,b)is a set which contains tuples (0,C(0)) representing the configurations
of all the squares in QTa,b including Oo-
4.4.2. The Algorithm: First Phase. For every square 0 and every
configuration C(0), we compute a value T[0, C(0)] which can be seen as
an almost tight, upper bound to the cost of the optimal subtree within 0
which has the structural properties specified by C(0). Hence, P[0o,O]is an upper bound to val («ST* b). Since val(«ST*)b) is a good upper
108 Chapter 1. Node-Weighted Steiner Trees
bound to val(<ST*), it suffices to quantify the gap between vi\\(ST*lb)and T[Qo,0]- This will be done in Section 4,4.4.
If 0 is a leaf of QTa,b then we have exactly one cell Co which contains a
point with odd integral coordinates. This point need not be contained in
P. First we check whether p(£) = 0 for all £ G Af [0]-{£o}- If this is not,
the case, we store T[0, C(0)] — oo. Otherwise, we determine the penalty
we pay in 0. We have three cases. If p(<£o) = 1 and P n Co = 0 then
we place a Steiner point, into Co and set, P[0,C(0)] — cs. If p(£o) — 0
and P n Co = {u} then we store T[0,C(0)] — ir(u). In all other cases,
T[0,C(0)] = O.
If 0 is an internal node of QTa,b we proceed as follows. Assume that
0 has level I and let 0i, ...,04 denote its children. We enumerate all
combinations of configurations for 0i,...,04- Let C(0i), ...,C(04) be
such a choice of configurations. For every square 0^, C(0Z) defines a
partition Z(Ùi) of the portal cells in Qt into at most r classes. We now
construct a (not necessarily unique) forest Z(Ql) with the portal cells of
Qi as vertices such that Z(Ùi) has the property that two portal cells Ci
and £2 belong to the same connected component of Z{Ù.i) if and only if
they are in the same partition of Z(ti,i).
For the sake of brevity, we use Z' = [J^ Z(Ùi). Let C be a portal
cell and let C G child [<£]. If a(<£') = 1 then we say that ' is an hook
cell of C. Recall, that Z' is a graph on the portal cells of the children
of 0. A choice of configurations C(0i),... ,C(04) is admissible for a
configuration C(0) if each of the following conditions holds.
(CI): Every portal cell in 0 has at least one hook cell.
(C2): The parent in 0 of every anchor cell in some 0^ is a portal
cell, unless 0 = 0o-
(C3): All hook cells of a portal cell in 0 belong to the same connected
component of Z'.
Furthermore, there exists a graph V on the portal cells of [Ji 0i which
has the following properties.
(C4): T> uses only edges which cross the dissection lines that divide
0 into its children.
(C5): Every connected component of V U Z' contains at least one
anchor cell, unless 0 = 0o-
4.4. The Approximation Scheme 109
(C6): Two portal cells Ci and £2 of 0 belong to the same partition
class of Z(Q) if and only if their hook cells belong to the same
connected component of V U Z'.
Remark 4.15. The relaxations of (C2) and (C5) are necessary to com¬
pute P[Oo,0]- ^s the configuration O cl°es n°t contain any portal
cell at all, there would otherwise be no admissible configuration of the
children.
The length of an edge in V is the distance of the centers of the por¬
tal cells which it connects in the ^-metric. Let tq(V) denote the to¬
tal length of P. If there is no combination which is admissible, we
store oo in P[0,C(0)]. Otherwise, we choose admissible configurations
C(0i),..., C(04) and a graph V such that
4
(4.8) J>[0z,C(0,)] + ^(P) + Y, [C(£i) + C(£2)}
is minimal, where C(Cj ) and C(£2) denote the side length of the portal
cells Ci and £2, respectively. In essence, the third part (the sum over
all edges in V) of the formula above is necessary to bound the deviation
in length from the optimal standardized solution. This will later be
explained in more detail.
Given C(0i), • • ,C(04), we can use the following simple algorithm to
compute the graph V for which
4,(2>)+ E [C(Ci) + C(£2)]{Ci,£2)6-0
is minimal. Let JC\,... ,Kk denote components of the Z'. Let, B denote
a complete weighted graph on KL\,... ,Kk- If hZh and Kj belong to the
same square, then u;(/Cz,/C7) = 00 due to (C4). Otherwise,
(4.9) u^JCj)^ min {dq (Cl,c2) + C(c,) + C(c2)} ,
ci<EV(Ki),c2£V{)Cj)
where dq (ci,c2) denotes the distance between the centers of c{ and c2.
To compute V, it suffices to compute minimum spanning forest on B
subject to (C5) and (C6). Due to (SI) we have at most r internal
components in each 0^ and thus k < 4r, i.e., the graph B has Ar vertices.
As there are less than (4r)4r spanning forests on B (cf. [6]), we can find
V by enumeration in time Ö ((4r)4r).It is quite obvious that we can find the configurations C*(0i ),... ,C*(Ù4)that minimize (4.8) by exhaustive search. Let Pq denote the optimal
110 Chapter 4. Node-Weighted Steiner rLrees
graph V corresponding to *(). We compute P[0o,O] hy using a dy¬
namic programming approach. If we proceed bottom-up, it suffices to
read the P[0,,C(0,)] from the lookup table. We obtain P[0O, O] which
corresponds to some configuration C(QT(hb) that we have computed im¬
plicitly. One can easily check, that the running time of this dynamic
program is
f2o(bHiugr)\5 . 0 ((4r)4r) . poly(n) = 2°(bHx^r) O ((4r)4r) • poly(ra)
= o((4r)4rn°(',2lo8r)).
4.4.3. The Algorithm: Second Phase. Note that the first phase
of our algorithm can be easily modified such that it not only returns
T[0o,O] but also a configuration for QTa^ corresponding to P[0O,O]as well as a collection of graphs
D(P) := {V*0 : O G QTaib} •
Intuitively speaking, this collection specifies which of the components
are connected in which square. Even more, the edges to be used are
roughly described by edges between centers of cells. During the second
phase of our approximation scheme, wc construct a Steiner tree ST from
D(P). This time, we proceed in top-down fashion. Let ST — 0. For
some square 0 at level I, wc consider the graph T>^. Let c be some edge
in Vq which connects (the centers) of two cells Ci and C2. By recursively
following the hook cells of both Ci and C2 we determine points u-\ and u2
which serve as endpoints. In other words, starting at portal cell Ci we
choose one of its hook cells, then we choose an hook cell of this anchor
cell, and so on. Thus, we go to lower and lower levels in QTa^ until wc
reach a leaf. In a leaf, we find by construction a point in P or Steiner
point which we choose as u\. We proceed similarly for C2, add the edge
{ui, u2} to <ST and mark c as done. As u\ and 772 arc within £i and C2,
(4.8) implies
Lemma 4.16. £q(ST) < P[0o,O]- D
In addition, we have to prove that <ST is a Steiner tree on V(ST) U
S(ST), that, is, <ST is cycle free and connected and spans all points in
V(ST)GS(ST).
Lemma 4.17. ST is a Steiner tree on V(ST) U S(ST).
4.4. The Approximation Scheme 111
Proof. From conditions (CI) and (C3) we obtain the following simpleobservation. Assume we follow recursively all the hook cells of some
portal cell C in a square 0 - not, just, one path as in the second phase of
PTAS. Then the points we reach belong to the same internal component
of 0. We say that the portal cell C represents those points. Thus, in
the second phase of our PTAS, we may choose any of the points that
are represented by C. Now, one can easily check that ST is cycle free.
It remains to show, that «ST is connected.
By (C3), (C5) and (C6) it is clear, that for every square 0 the points
represented by two portal cells C and C in 0 belong to the same internal
component of 0 if C and £' belong to the same connected component
of Z(Q). We say that C and £' represent this component. Finally, the
conditions (C2), (C5) and (C6) make sure that «ST is connected. Assume
ST is just a Steiner forest and let /C be a connected component in ST.
Let / be the highest level where K was represented by some portal cell
C. If a(C) = 1 then by (C2) its parent is portal cell. Otherwise, by
(C5) we would have connected K to some other component of «ST which
is by condition (C5) represented by some anchor cell. Thus, K is also
represented at level / — 1 which is a contradiction. D
Note, that, ST may in general be self-intersecting. It is well-known, that
the length of a Steiner tree which intersects can be improved by replacing
crossing edges. We can thus improve our solution in a last step.
4.4.4. Analysis. From Theorem 4.10, we obtain the following state¬
ment which yields together with Lemma 4.16 the approximation ratio of
our algorithm.
Theorem 4.18. There are a,b G {0, 2,4 ...,P - 2} such that
T[Qo, O] < <9 (l + i+ 4=) val(<$T*).
Proof For a random choice of a and 6, Theorem 4.10 guarantees that,
there is a standardized Steiner tree STa bsuch that
(4.10) E[val(ST*ab) - val(«ST*)] = O ( - + ) val(«ST*),
V(ST*ab) = V(ST*), S(ST*]b) = S(ST*) and «ST* « ST*hb. Wc later
construct a configuration of QTa^ from «ST*hwhich proves that
(4.11) E[P[0O,O] " val(«ST;,)] < ^val(«ST*) + ^ E[val(«ST;,
112 Chapter 4. Node-Weighted Steiner Trees
Thus, we deduce from (4.10) that
E[P[0o,O]-val(5T; A] < -val(«ST*) + -ö (l + - + ^-\ val («ST* )1 '
s s \ s s/r J
= og + -J=)val(«ST*).Therefore both E[T[0U7 0]-val(«ST^6)] and E [val(ST*a 5) -val(5T*)]are at most Ö (1/s + 1/y/r) val(«ST*), and we finally have
E[T[0o, O] " val(«ST*)] = O Q + -L) val(«ST*).
Hence, there are a, 6 G {0, 2,4,..., L — 2} such that
T[0o, 0}<ofl + -s+^=) val(«ST*).
It remains to construct a configuration of QTa,b from «ST*bwhich proves
(4.11). Again, we proceed in bottom-up fashion. In the leaves of QTQjbwe set the portal-bits of those cells which contain a point of y («ST* b) U
S(STa b). Then we move to level t — 1. Let 0 be a square at level I.
Assume there is a cell C G A4 [0] which contains a set <#(C) of endpointsof external edges. Since edges which are external at level I are also
external at levels I + 1 through t, all children of C which contain points
of S are already portal cells. We set the anchor-bit of all those portal
cells and set p(<L) = 1. Then clearly, both (Cl) and (C2) hold. Note
that we can derive the partition Z from the internal components of 0.
As STa bis standardized, we deduce that (C3) holds.
Let P(0) denote the edges which appear at level / + 1 and have both
endpoints in 0. All those edges cross at, least one of the dissection lines
which subdivide 0 into its children. We construct T> from P(0). Let
{u\,U'z] G E(0) and let Ci and C2 denote the cells in the children of 0
which contain u\ and u2, respectively We add the edge connecting £i
and C2 to V.
Recall that the length of edges in T> is defined to be the distance between
the cells' centers. This distance may be longer than {7ii,772}, but the
absolute difference is at most C\ + C2, where Ci and C2 denote the side
length of Ci and C2, respectively. In addition, we have to pay G\-\-C2 for
the third part of the sum in (4.8). Thus, this edge contributes at most
dq (u{,u2) + 2Ci + 2(?2 to P[0, 0]. Proceeding similarly for all edges in
P(0), we obtain V which clearly satisfies (C4) through (C6).
4.5. Related Problems 113
Let A = |P[0,O] - ^(«ST* 6)| denote the total cost of this procedure.
As in the proof of'theorem 4.10, we will split A into Ain and Aout such
that A — Ain + Aout. In order to bound AOU|, we use «ST* <d ST*b to
charge the increase of length to edges of the optimum. Let 6i be defined
as in (4.5). Thus we have to charge a cost of at most 2<5/ per endpoint.
The remainder of this proof mimics that, of Theorem 4.10. Finally, we
have
t
E[Aollt]<£ ]T Pr{£e,j}4c5jZ=0 e£E(ST*)
* E ECw|^-<e&E(ST*) 1=0
* E i1iw = U,{ST').eE(ST*) 1=0
For all other edges, we simply have
eeE_'
eSTlib
by Lemma 4.7, and thus also
E[Ain]<-E[^(«ST;,)].
We obtain (4.11) due to A = A;n + Aout. This completes the proof. D
Finally, using Theorem 4.10 and Lemma 4.16 one immediately obtains
the following statement.
Corollary 4.19. £q(ST) < O (l + £ + ^) val(«ST*).
Proof of Theorem J{.1. Recall, that the first phase of our PTAS has com¬
plexity n vs ogrJ whereas the running time of the second phase is
clearly polynomial. Now, choosing s — ö(l/e) and r = Ö (l/e2) com¬
pletes the proof. D
4.5. Related Problems
A natural question is, whether there is also an approximation scheme
in higher fixed dimension. Indeed, a (s, t)-map generalizes to dimension
d_
3 but, the number of cells is f2(td_1). However, we can still construct
114 Chapter 4. Node-Weighted Steiner Trees
a quasi-polynomial time approximation scheme. Instead of using (s, /;)-
maps it is more convenient to place a (i-dimensional grid of granularity
Ö (e\Q\/t) on each cube 0 in the tree. The remaining parts of our proofs
have straight-forward equivalents, so we obtain a QPTAS for NODE-
Weighted Steiner Tree in arbitrary fixed dimension. Indeed, the
whole analysis simplifies a lot if we use regular grids.
Our approach also extends to other tree problems. For example, assume
that the input contains an additional point, set .% restricting locations
for Steiner points, i.e., every solution should satisfy S(ST) Ç ,9%. Even
if we assign (potential different) costs to the locations in y\y, the prob¬
lem still admits a PTAS which can be obtained by slightly modifying
our algorithm. This is insofar surprising, as the corresponding network
problem is not likely to be in JKPX [80].
CHAPTER 5
Vehicle Routing with Allocation
This chapter is devoted to Vehicle Routing with Allocation (VR¬
AP). We briefly review the problem statement from Chapter 1. Let
P C 3$d denote a set of points, and let penalty functions a : P —> [0, oo)and ß : P —> [l,oo) be given. A solution to VRAP is a subset of
tour points TCP and a tour ir through T. Each allocation point
p E A :— P\T is allocated to the nearest tour point q G T at a cost of
cv(p) + ß(p) d(p, q). We wish to minimize the length of the tour plus the
total allocation cost, i.e., we minimize
(5.1) val(P, tt) = Y. d& «) + S ("W + £W£d^ qn
Throughout, let T* Ç P and 7r* denote an optimal choice for T and tt,
i.e., val(T*,7T*) is minimum.
VRAP is motivated by vehicle routing. For instance, each point rep¬
resents a bank and we wish to transport cash to the banks using an
armored vehicle. The vehicle can visit each bank (which would be a
shortest salesman tour), but it might be cheaper to visit only some of
the banks while the staff of the other banks have to pick up the cash
at the visited banks. Although the total distance is smaller, this way of
cash transportation is more risky and needs additional insurance (whichcan be modeled using the functions a and ß).
Observe that VRAP becomes the well-known Euclidean traveling sales¬
man problem (TSP) if we have ß(p) > 2 for all p E P, as by the triangle
inequality it is then always cheaper to include a given point on the tour
than to allocate it. So, our problem includes TSP as a special case and
we thus know that VRAP is A/'P-hard, even in the strong sense (see
[54]). Therefore approximation algorithms are of interest. In this chap¬
ter we focus on finding a randomized PTAS that is an algorithm with
115
116 Chapter 5. Vehicle Routing with Allocation
expected performance ratio (1 + e), or cquivalently returns with prob¬
ability at least 1/2 a (1 + 2e) approximation. Our first main result,
is a randomized nearly-linear time approximation scheme for VRAP in
dimension 2.
THEOREM 5.1. For d — 2, there is a randomized PTAS for VRAP with
time complexity O (n log° n).
Moreover, we study the problem Steiner VRAP where we are allowed
to include additional points on the tour and allocate to reduce the cost.
A solution (T, S, tt) to Steiner VRAP consists of point sets TCP and
S C &d along with a salesman tour tt through T l±l £. With A := P\Tas before, wc wish to find T*, S* and tt* minimizing
(5.2) val* (T, S,tt)= J] d(p, q) + J] (a(p) + ß(p) min, d(p, q)\ .
In this chapter, we also provide a randomized nearly-linear time approx¬
imation scheme for Steiner VRAP in dimension 2.
Theorem 5.2. For d — 2, there is a randomized PTAS for Steiner
VRAP with time complexity Ö (nlog ^l'£>n
Theorem 5.2 dramatically improves a recent result of Armon et al [9]
stating the existant of (randomized) PTAS with complexity Ö (n^1^)for a problem called Purchase Cooperative TSP. This problem is
indeed a special case of Steiner VRAP with a(p) = 0 and ß(p) = 1
for all points p G P. However, the algorithm in [9] seems to extend to
Steiner VRAP as long as ß(p) = ß(q) for all p,q E P. Furthermore,
we show that our algorithms extend to any fixed dimension d > 3.
Theorem 5.3. In any fixed dimension d, there is a randomized PTAS
for VRAP with time complexity Ö ( n log n
Theorem 5.4. In any fixed dimension d, there is a randomized PTAS for
Steiner VRAP with time complexity Ö f nlog^d'e) n), where Ç(d,e) =
0(V~d/e] d-i
We shall also see, that both algorithms can be easily derandomized, in
creasing their complexity to Ö ( nd+l log+3 n) and Ö (nd+1 log
respectively
(<*,*)„
5.1. Concepts and Outline 117
There is some literature related to VRAP and Steiner VRAP. First
of all recall that Euclidean TSP admits a PTAS [11, 94], even one with
complexity Ö (nlogn) [108]. The problem VRAP itself was introduced
in 1996 by Beasley and Nascimento [18] as a network problem, i.e.,
instead of points in the plane we have a weighted graph as input,. In
more recent literature, the network version of the problem is often called
Median Cycle or Ring Star (cf. [85] [86]. More references can be
found in [128]. Applications of VRAP in bookmobile routing [53] or
grass-mower scheduling [122] have been reported.
As mentioned above, a related problem called Purchase Cooperative
TSP was recently studied by Armon et al [9] in both the network and
geometric setup. Using methods of Arora [11], they proposed a PTAS
with complexity Ö (n°^/^) for this problem. In addition, they studied
several variants of the problem. As those variants are unrelated to VRAP
and Steiner VRAP, we refer to [9] for details.
5.1. Concepts and Outline
In this chapter we use several methods from the literature. To prove
Theorem 5.1 we combine the adaptive dissection technique due to Kol-
liopoulos and Rao [82] with dynamic programming on r-vapid graphs by
Rao and Smith [108]. Like in the previous chapters wc still proceed by
dynamic programming. The main idea is to let our algorithm estimate
the tour costs and allocation costs in two different ways. Firstly, we use
the adaptive dissection technique to estimate allocation costs. To do
so, we replace the quadtree by what we call a zoom tree. This dissec¬
tion tree adapts to a given solution by zooming directly in the region
where the tour points are, potentially skipping many levels in between.
Our dynamic program identifies the tour points basically by guessing the
corresponding zoom tree.
Secondly, to estimate the tour length, we transfer ideas presented in [108]for Euclidean TSP from the quadtree setting to the zoom tree setting.
The advantage over the quadtree based method of the previous chapters
is that, we consider only constantly many configurations per rectangle.
In order to prove Theorem 5.2, we make use of a relatively simple geo¬
metric observation and employ standard quadtree techniques developed
in [11] and [14].
This chapter is organized as follows. In Section 5.2 we show that it is
sufficient to consider instances with input points that lie on a
118 Chapter 5. Vehicle Routing with Allocation
Ö (n/e) x Ö (n/e) integer grid. In Section 5.3 we introduce the concepts
of zoom trees and portal-respecting distances, following Kolliopoulos and
R.ao [82]. In Section 5.4, we adapt the notion of r-vapid graphs due to
Rao and Smith [108] to our purposes. In Section 5.5 we describe and an¬
alyze our PTAS for VRAP, and in Section 5.6 we outline how to improve
the PTAS for Steiner VRAP proposed by Armon et a/. [9]. Finally,
Section 5.7 discusses the generalization to higher dimensions and explain
how our algorithms can be derandomized.
5.2. Perturbation
In this section we argue that we may restrict our attention to instances in
which the input points have odd integral coordinates and the sidelength
of the bounding box is a power of 2 and order of n/e. We start with a
simple but (throughout this chapter) important observation: every input
point p with ß(p) > 2 is in every optimal solution a tour point, due to the
triangle inequality. With this fact at hand, we can prove the following
statement.
Lemma 5.5. To prove Theorem 5.1 it suffices to consider only instances
with PC {1,3,5, ...,P-1}2; where L = 2T for the smallest r such that
2T > AOn/e.
Proof. First, observe that we may assume w.l.o.g. that P Ç [0, C]2 for an
appropriate C, and that there exist points (Q,yi) G P and (C,y2) E P.
Moreover, rescaling the coordinates by any factor does not change the
structure of an optimal solution to P. Hence, for any P > 0 we may
assume that PC [0, P]2, and that any solution for P has cost at least L.
Now fix P as in the lemma, and construct a point set P' from P by
moving every point in P to the closest point with odd integer coordinates.
Let (P*,7T*) denote an optimal solution for P and (T,tt) an optimal
solution for the modified point set P'. As the distance between a point
in P and its copy in P' is at most 2, all distances increase at most by
4. Moreover, since in the optimal solution only points p with ß(p) < 2
are allocated, the cost increases by at most 4 per tour edge and 8 per
allocation edge. In total, val(P*,7r*) increases at most by Sn since the
number of edges in (T*,tt*) is at most n. Thus, we have
val(T,7r) <val(P*,7r*) + 8n.
5.3. Zoom Trees and Portal-Respecting Allocations 119
Similarly, we can easily transform an optimal solution (7", tt') for P' into
a solution (I\tt) for P such that
val(T,7f) <val(r',7r')-r8rc.
Applying a PTAS with e' — e/2 to the shifted instance P', we obtain a
solution (T',tt') satisfying
val(T', tt') < (1 + e/2) val(P, tt) .
Assuming that e < 1, it, follows for the corresponding solution (T,tt) of
the original problem P that
val(f, 5f) < (1 + e/2) (val(T*, tt*) + 8n) + 8n
< (l + £/2)val(P*,7r*) + 20n
< (l + e)val(P*,7r*),
where the last inequality holds due to val(P*,7r*) > L > AOn/e. As the
perturbation described above can be accomplished in linear time, the
existence of a randomized Ö (n log5 n) time PTAS for shifted instances
implies Theorem 5.1. O
We henceforth assume that P Ç {1, 3,..., L - l}2, where T = O (n/e)is a power of two. Those assumptions will be crucial to the proofs.
5.3. Zoom Trees and Portal-Respecting Allocations
In this section we mainly simplify concepts appearing in [82], defining a
certain distance measure between an allocated point p and the set of tour
points P. This distance measure is defined with respect to a dissection
tree, called a zoom tree, which adapts to a given solution to VRAP. The
main result of this section is that in expectation, this distance measure
approximates the real allocation costs quite closely.
5.3.1. Concepts and Results. For fixed a, b E {0, 2,..., L - 2}, let
Ga,b(i) denote a grid of granularity 2l with origin (a,b), i.e., the ver¬
tical and horizontal grid lines have coordinates {a + j2l : j G Z} and
{bJrj2i : j E Z}, respectively. Let i0 denote the smallest integer such
that L = 2*° > AQn/e, and let Ù0 := (a, b) + [-L, L]2 denote the square
of sidelength 2P with center (a,b). Note that P C Û0- As usual, let |ÏK|denote the sidelength of a rectangle 91 C M2.
120 Chapter 5. Vehicle Routing with Allocation
For 1 < 7 < io, a rectangle 91 is said to be i-allowable if and only if if
satisfies the following properties.
- 91 lies in Ho and is bounded by lines of Ga,b(l)-- If i > 2 then 7 • 2i < |91| < 7 2l+v.
If i = 1 then |91| < 7 • 27+1 = 28.
We say that i is the level of 91. Note that, |91| = 0(2'). 91 is said to be
allowable if there exists an i, 1 < i < io, such that 91 is 7-allowable.
Observation 5.6. The aspect ratio of an allowable rectangle is bounded
by 14, and the (non-empty) intersection of two allowable rectangles is an
allowable rectangle.
Moreover, we have the following Lemma, which will be useful when ar¬
guing about running times.
Lemma 5.7. The following holds.
(i) There are O (n log n) allowable rectangles that contain at least one
point of P.
(ii) There are Ö (nlog2 n) pairs of allowable rectangles (91', 91) such
that 91' contains at least one point of P and 91' C 91.
Proof. For a fixed i, any point of the n input points is contained in a con¬
stant number of i-allowable rectangles, as such rectangles are bounded
by lines of Ga,b(i) and have bounded aspect, ratio. Thus (i) follows from
the fact that i < logP — O (logn). By the same argument, if 91' contains
at least one point there are Ö (log n) allowable rectangles 91 containing
91'. As there are Ö (nlogn) choices for 91', (ii) follows. D
Next, we introduce a dissection tree that adapts to a given solution to
VRAP. The idea is to subdivide Ù0 recursively by alternately splitting
the current rectangle and zooming into the "area of interest". We call
such a subdivision a zoom tree. In principle, a zoom tree ZTa^ is defined
with respect to a, b and any fixed subset TCP. However, in this section,
as well as in the other analytical parts of this chapter, we only consider
the zoom tree corresponding to the set 71* Ç P of tour points in the
optimal solution (of course, the actual algorithm does not know this set
in advance and will have to guess T*, and therefore also the structure
of the zoom tree considered here). The root of ZTa,b is £50, and the
nodes of ZTa,b are the allowable rectangles recursively obtained from
the following parent-child relations (see Fig. 5.1 for an illustration).
5.3. Zoom Trees and Portal-Respecting Allocations 121
For every rectangle in ZTU..._we either say that it is split or that, it
is zoomed, depending on how it is obtained from its parent. In other
words, we split zoomed rectangles and zoom into split ones, as splittingand zooming occurs alternately in ZTa^. This will now be explained in
detail.
cP
_____
». yk
W\
7
91'
c
°N91"
Y Y""^_---"~' 1 ~~~~—o
° \
FIGURE 5.1. If the rectangle 91 is zoomed, we subdivide
it into two children 91' and 91" (left). Otherwise, if 91
is split, its child 91' is a small allowable rectangle that
contains all points on the salesman tour (right).
If an z-allowable rectangle 91 G ZTajb is zoomed, we obtain its two chil¬
dren 91' and 91" by cutting 91 parallel to its shorter side along the line of
GŒ;b(i) that minimizes |arca(91') — area (91") | (that is, we aim to nearlybisect 91). If this cut is not unique we prefer the leftmost (bottommost)one. We call the line C along which we split 91 the cutting line. It is
easily seen that the two rectangles we obtain are j-allowable for some
j G {i — 2, i — 1, i}. 91' and 91" are split rectangles (as they are obtained
by splitting 91).
A split rectangle 91 has only one child 91', which is constructed as follows:
consider the minimal rectangle B containing all points in 91 fl T*. (Wewill see that a split rectangle always contains a tour point, cf. Lemma
5.15.) Choose 91 as the allowable rectangle with smallest circumference
such that d(<991, dB) > |P|/4. If this does not uniquely define 9% choose
the left- and bottommost candidate. Let 91' := 91D91. As the intersection
of two allowable rectangles, the resulting rectangle 91' is allowable. 91'
is a zoomed rectangle.
We stop the subdivision process at 91 if either 91 is 1-allowable or if 91
contains at most one point of P. Such rectangles become leaves of ZT(hb.
122 Chapter 5. Vehicle R.outing with Allocation
Wc define 0O to be split, such that the first dissection step is a zoom
step. For an allocation point p G P\T* and a tourpoint q G P*, we say
that the rectangle 91 G ZTU)b separates p and q if and only if it is the
rectangle in ZTa^ closest, to the root such that
- either 91 is split and p G 91 and q 0 91,
or 91 is zoomed and p 0 91 and q E 91 (sic!).
One easily checks that this uniquely defines 91.
In the sequel, we will introduce the concept of portal-respecting alloca¬
tions. For a given (allowable) rectangle 91, wc place a point on each
corner and rn — 1 equidistant points subdividing each side. We call these
points portals and denote by Gaiioc = Gaiioc(91) the set, of portals on
991. The portal-respecting distance d$\(p, q) between p G 91 and q ^ 91 is
defined as
dm(p,q):= min d(p, g) + d(g,q).geGaUm («)
In other words, we detour the line segment pq over the nearest portalon Ö91. The next lemma gives an easy bound on the difference between
the Euclidean distance and the portal-respecting distance with respect
to some rectangle 91.
LEMMA 5.8. For any rectangle 91 and points p G 91 and q ^ 91, we have
I91Idx(p,q) -d(p,q) <
.
m
Proof. Let x E 991 denote the point where the straight line from p to q
crosses the border of 91, and let g E Gaiioc(91) denote the portal which is
closest to x. As the portals are equidistant, wc have d(x,g) < |91|/(2m).By the triangle inequality, we can bound the portal-respecting distance
by
d(p, g) + d(g, q) + 2d(x, g) < d(p, q) + \M\/m.
This completes the proof. D
The portal-respecting distance dzTa b(p, q) between p E P\T* and q E T*
is the portal-respecting distance w.r.t. the rectangle 91 G ZTa,b that sep¬
arates p and q. The main result of this section is the next lemma, which
appears in similar form already in [82]. It, asserts that a constant num¬
ber m of portals per rectangle suffices to guarantee that in expectation,the portal-respecting distances are good estimates for the real distances.
Here we denote by dzra b(p/T*) the infimum over all portal respecting
distances dZTa,b(p,Q), (/ G T*.
5.3. Zoom Trees and Portal-Respecting Allocations 123
Lemma 5.9. For given e > 0, there exists m — 777(e) such that for every
allocation point p G P \T* and for a and b uniformly at random from
{0,2,... ,L — 2}, we have
E[dzTa,b(p,T*)] <(l + e)d(P}T*).
In fact, our proof yields the following more general statement, which may
seem strange at the moment but will be needed in Section 5.5. Essen¬
tially it states that Lemma 5.9 still holds if an arbitrary constant factor
is inserted in Lemma 5.8. We will need this because our algorithm intro¬
duces several other errors of order Ö (|91|/m) when estimating allocation
costs.
Lemma 5.10. Let d.Jf(p,q) be any distance measure which overestimates
the Euclidean distance from a given allocation point p to a given tour
point q by an absolute error of order Ö (|91|/rn) for the rectangle 91 sep¬
arating p and q. Then for given e > 0, there exists m = m(e) such
that for every allocation point p G P \ P* and for a and b uniformly at
random from {0, 2,..., L — 2], we have
E[d*(p,T*)}<(l+e)d(p,T*).
The remainder of this section is devoted to the proof of Lemma 5.9.
5.3.2. Proof of Lemma 5.9. It suffices to prove that for a fixed allo¬
cation point p, the random variable
Ap:^dZTa,b(p,T*)-d(p,T*)
satisfies
(5.3) E[AP] = 0(logm/m)d(p,T*).
Lemma 5.9 then follows by choosing 777 appropriately.
For ease of readability, the proof is divided into three parts. We start by
collecting a couple of simple but useful geometrical facts about dissection
trees and portal-respecting allocations. We proceed by defining events
used in a, rather lengthy case distinction, and proving some technical
statements about the probabilities involved. Finally, we put everything
together in the main part of the proof, the actual case distinction.
5.3.2.1. Geometrical Facts. As outlined above, we proceed with some
geometric observations. Wc start with a very simple fact, about, how
good the dissection along z-allowablc lines in split steps approximates an
exact bisection.
124 Chapter 5. Vehicle Routing with Allocation
Lemma 5.11. Let 91 denote a zoomed rectangle of level i > 2, and assume
that 91 is split along the line C into its two children. The distance between
C and any shorter side o/91 is at least (3/7)|91|.
Proof. The line C cutting 91 exactly in half has distance |91|/2 from any
shortest side of 91 but does not belong to Ga,b(i) in general. However,
there is always a line C on Ga^(i) within distance 2l/2 of C. Thus, C
is at least at distance
2 2~
2 14 71 '
from any shorter side of 91.
From Lemma 5.11, we immediately obtain the next technical observa¬
tion.
Lemma 5.12. Let 91i and 9I2 be two zoomed rectangles such that 9I2 is
a descendant o/91i. Let C\ || C2 denote the cutting lines splitting 91i
and ^2, respectively. Then we have |9l2|_
(7/3)d(C\, C2).
Proof. Clearly, C\ is as least as far from C2 as any shorter side of 912 is.
Hence, by Lemma 5.11 we have
d(Ci,c2)>5|jn2|,
which implies the claim. D
The next two statements are concerned with the geometric properties of
zoom steps.
Lemma 5.13. Let 91 denote a zoomed rectangle of level i > 2. Then each
side o/91 has a tour point within distance at most (11/28) |91|.
Proof. Let 91o denote the parent of 91. Recall the construction of 91: we
consider the minimal rectangle B that contains 91o H P* and choose 91
as the smallest allowable rectangle containing B such that, d(dd\,dB) >
\B\/A. Then 91 = 91o D 91. By construction, every side of B contains at
least one tour point. If 91 is i-allowable we thus have a tour point within
distance at most |P|/4 + 2* < |91|/4 + |91|/7 - (11/28)|91| of each side
of 91. D
Lemma 5.14. Let p be an allocation point and q a tour point, and assume
that 91 G ZT*b
is a zoomed rectangle of level i > 2 separating p and q.
Then we have |91| < lAd(p,q).
5.3. Zoom Trees and Portal-Respecting Allocations 125
Proof. We use the same notation as in the proof of Lemma 5.13. Let
j > i > 2 denote the level of 91. As we assumed that 91 is the (first,!)
rectangle separating p and q, the point q is in 91(j \91 and thus not in 91.
As on the other hand q G P, we have d(p,q) > |P|/4. By construction,
the corresponding sides of 91 and B are within distance at most |P|/4+2J.Hence, we obtain
|£K| < (6/4)|P| + 2 • 2J < 6d(p, q) + (2/7)|<K|,
and thus |91| < |^| < 7/5 • 6d(p, q) < lAd(p, q). D
In combination, Lemma 5.11 and Lemma 5.13 yield the following obser¬
vation about the structure of ZTaib-
Lemma 5.15. Every rectangle of ZTa^ contains at least one point ofT*.In particular, the zoom step is well-defined.
Proof. Since we stop the subdivision at 1-allowable rectangles, the parent
91o of any split rectangle has at least level 2. By Lemma 5.13, there is a
tour point within distance (ll/28)|91o| of all sides of 9V Since by Lemma
5.11 the line C cutting 910 has distance at least (3/7)|910| > (11/28)|910|from the shorter sides of 91o, it follows that every split rectangle contains
a tour point. Therefore, the zoom step is well-defined, and it, follows that
also every zoomed rectangle contains at least one tour point.
5.3.2.2. Events and Probabilities. Let q ET* denote the tour point clos¬
est to p, i.e., p is allocated to q in the optimal solution. In the sequel, we
use the notation x := d(p,q) and let the random variable I denote the
level of the rectangle 91 separating p and q. Thus we have |91| = 0(2J).As the structure of the zoom tree ZTa^ changes with the choice of a and
b, we have to distinguish several cases. Clearly, as long as I < logir + c
for some constant c, Lemma 5.8 immediately guarantees that
1911Ap < d^(p, q) - d{p, q) < ^ = O (x/m) .
This already settles the case for the event
£o :={/<logx + 2}.
Formally, we have
(5.4) E[ Ap | £Q] Pr{£0} = O (x/m).
For the rest of this proof, we focus on the event £q. Note that we have
/ > logo: + 2 > 2 in this case, and thus the geometrical lemmas of
126 Chapter 5. Vehicle Routing with Allocation
the previous section arc applicable to 91 and its ancestors. The next,
statement is crucial to our analysis and is illustrated in Figure 5.2.
Lemma 5.16. If £o occurs then 91 is split and the following is true. Let C
denote the cutting line separating p from q, let S denote the line through
p parallel to C, and lei S~ denote the halfspace not containing q and
C. Then S~ contains at least one tour point and we have I > log y — 57where y :— d(p,r) denotes the distance to the closest such tour point r.
Proof. If 91 is zoomed, we have by Lemma 5.14 that 7 • 21 < |91| < lAx,
i.e., / < logx + 1, contradicting the assumption that So occurred. Hence
91 is split. Without loss of generality, we assume that C is vertical, and
that (/ is to the right of p. We argue by contradiction. If the point r exists
but i" < log y — 5, we have that |91| < 7y 2~4 < y/2, which implies that
there is no tour point inside 91 and to the left of p. If r does not exist,
this is clear anyway. Either way, we arrive at the following contradiction.
By Lemma 5.13, p is within distance (11/28) |91| of the left border of 91.
Since the cutting line C has distance at least (3/7)|91| from the left border
by Lemma 5.11, we obtain that x > (3/7 - 11/28)|SH|_= |91|/28 > 27/4,i.e., I < log.-r + 2, contradicting the assumption that £q occurred. D
C
91
pX
q
s
Figure 5.2. Sketch to Lemma 5.16.
In the remainder of this proof, we stick to the notations r for the closest
tour point to p on the "other side" than q, and y — d(p, r) lor its distance
from p. Recall that 91 and / denote the rectangle separating p and
q and its level, respectively. Analogously, let 91' denote the rectangle
5.3. Zoom Trees and Portal-Respecting Allocations 127
separating p and r, and J its level. By C we denote the cutting line
separating p and q (which coincides with one of the sides of 91), and byG" analogously the cutting line separating p and r (if 91' is split).
Note that in this setup, both p and q (and thus x) are fixed, but r (andthus y) as well as 91 and 91' (and thus / and J) are indeed random vari-
ables with respect, to the random choice of (a, b) E {0, 2,... ,L — 2] .
Observe that r is fixed once we have the orientation of C. Indeed, let
Sv Q So denote the event that C is vertical, and let rv denote the corre¬
sponding value of the point r. Analogously, let Sh_
£o denote the event
that C is horizontal, and let r^ denote the corresponding value of r. In
the sequel, we assume that £v occurs and assume in addition that q is
to the right and r = rv to the left of p. The other cases are symmetric.Note that y = d(p,rv) =: yv is fixed on Sv. More specific, we consider
the two main events
Sa '— Sv n {The zoom tree ZTa,b separates first, p and rv, then p and q},
£b := Sv fl {The zoom tree ZTa^b separates first p and q, then p and rv}
and also the events
Si '.= Sv n {91' is zoomed}
52 '— £v H {91' is split, C and C' are parallel}
53 :— Sv fl {91' is split, C and C' are orthogonal}.
Note that ZTa^b cannot, separate p from both q and r simultaneously,as q is separated from p by a vertical cutting line to the right of p, and
r is to the left of p. Wc throughout use the notations Sai '— Sa H S\,
Pr_4i {...} = Pr{... | SA1\, EA1 [...]= E[.. . | SA1), and so on.
For any two points pi,p2 G P and 1 < i < io, let V(pip2, i) and hi(p\P2, i)denote the events that the line segment pip2 is cut by a vertical, respec¬
tively horizontal, ?-allowable line.
To calculate Px{V(pq, i)}, we observe that the line segment pq is cut
by at most x/2 + 1 vertical lines of the grid Go,o(l)- For each of these
lines, the probability that it is in Ga,b(i) is 2~^"ih As p and q have odd
integer coordinates, we have x > 2 and thus
Pr{V(pq,i)} < (x/2 + 1) • 2~^~^ - Ö (x/2l) .
It follows that
Pr{/ = i}< Pr{V(pq,i)UH(pq,i)} - O (x/21)
128 Chapter 5. Vehicle Routing with Allocation
and by summing up also
(5.5) Pr{I > 7} = Ö (x/21) .
Wc will mostly use these bounds in the form
(5.6) Pr{/ = 11 £}Pi{S} = Pi{{! = i}n£} = 0 (x/21) ,
and
(5.7) Pr{ / > i | S] Pr{S] = O (x/2i) ,
for some event S. By analogous arguments one obtains for any S_
Sv
that,
Pr{J = j\S}Pr{S} = 0(yv/2i).
The events {/ = i\ and {J = j} arc not independent. However, condi¬
tioning on S's, i.e., C and C being orthogonal, they can be shown to
behave as if they were independent: we can bound them by V(pq, i)and hi(prv,j), respectively, which arc independent in the unconditioned
probability space. Formally, we have for any event S Ç S3 that
Pi{I = i,J = j\ £}Px{£) _Pv{V(pq,i)r\ht(prv,j)\ £}Pr{S}
<Vr{V(pq,i)C\H(prv,j)}
= Pr{V(pq,i)}Pr{H(prv, j)} ,
and thus we obtain
(5.8) Pr{I = i,J=j\ £}Pr{£} - Ö (xyv/2l+J) .
5.3.2.3. Case Distinction. We now consider the subcases of the case that
So occurs one by one. Recall that by Lemma 5.16, we have I > logy — 5
in all these cases. By (5.5), this implies in particular that
(5.9) Pr{Sv} = 0(x/yv).
Case A. ZT(ljb separates first p and rv, then p and q. This is the
easier case, as we can always let p be allocated to q and work with the
bound
(5.10) Ap < dm(p,q)-d(p,q) < \m\/m
guaranteed by Lemma 5.8. We have to consider several subcases which
are illustrated in Figure 5.3.
Case Al. 91' is zoomed. This case cannot occur, as 91' then contains byconstruction both rv and q, and thus also separates p from q. However,
5.3. Zoom Trees and Portal-Respecting Allocations 129
we assumed that So occurred, which by Lemma 5.16 in particular implies
that, p and q are separated by a split, rectangle.
Case A2. 91' is split, C and C are parallel. As the two cutting lines
are parallel and within distance at most x + yv < 2yv, wc obtain by
Lemma 5.12 that |91| - C(yv). Therefore, by (5.10), Ap is at most
ö(yv/m), and we have with (5.9) that,
(5.11) EA2 [Ap] Pr{£_42} = O (yv/rn) O (x/yv) = Ö (x/m).
91'
91 Q
V
(a) (b)
Figure 5.3. Sketches of the situation we have in case
A2 (a) and case A3 (b). Note that p, q and rv are fixed,
but 91 and 91' depend on the choice of a and b.
Case A3. 91' is split, C and C are orthogonal. Here we have no guar¬
antee that |91| = 0(yv). Due to 91' D 91 and Lemma 5.16, we have
J > I > logyv — 5. Hence, we obtain with (5.8) that E_43 [Ap] Pr{SAz}equals
j
J2 J2 Ea* [ap iI =*>J = fl Pta* u = *>J=ftmw3>logyv-5 i=\logyv-5]
= _Z E 0(V/m)-0(xyy[¥+i)j>logyv-5 i^\\ogyv-5]
= O (x/m) ]T (?' - logyv + 6) • O (yv/V) ,
j>logyv-5
'
P
91
130 Chapter 5. Vehicle Routing with Allocation
and hence we have
(5.12) EA-J[Ap]Pi{eA3} = ö(x/m]
Case B. ZTa^ separates first p and q, then p and rv. Our strategyis to let p be allocated to rv instead of q if the portal-respecting distance
to q becomes too large. By Lemma 5.8, we have
(5.13)Ap < min {dft(p,q) -d(p,q),dw(p,rv)}
< min{|91|/m, yv + |91'|/m} .
Recall that |91| = 6(2;) and |91'| - 6(2J). Again we have three sub¬
cases.
91
p
91'
rv,'''
(a)
91
Q91'
(b)
Figure 5.4. Sketches of the situation we have in case
BI (a) and case B2 (b). Case B3 is similar to B2; onlythe orientation of the line separating p and rv is hori¬
zontal.
Case BI. 91' is zoomed. By Lemma 5.14 we have that |91'| — ü(yv),as 91' is zoomed and separates p and rv (if 91' has level 1, this is clear
anyway). We deduce from (5.13) that,
Ap<xxim{0(2I/m),0(yv)}
5.3. Zoom Trees and Portal-Respecting Allocations 131
and with (5.6) and (5.7) we thus obtain that, E^i [A]Pr{£yi} equals
[log (m yv) J
J2 EW1 [A | / = i] PiBi {I - i}Pi{Sm}
+ Em [A | I>]og(myv)]PTB1{I>\og(myv)}Pi{Sm}
[log(7ny.„)J
= ^2 O (2*/m) O (x/T) + O (yv) O (x/(myv))i—\logyv-5]
= O (logm) O (x/m) + O (x/m),
and thus wc obtain
(5.14) Em [A] Pr{£B1} - O (x log m/m).
Case B2. 91' is split, C and C are parallel. Similarly to Case A2, we
obtain from Lemma 5.12 that |91'| = Ö (yv), and it follows with the same
calculation as in Case BI that
(5.15) EB2 [Ap]Pr{£B2} = O (x log m/m).
Case B3. 91' is split, C and C are orthogonal. In this case, wc have no
guarantee that |9V| = 0(yv). To the contrary: as the line prv is inside
the parent 910 of 91', we have that yv < 2|910| < 6|91'| < 6 • 13 • 2J (cf.Lemma 5.11) and, therefore, J > logyv — 7.
Thus, we have I > J > logyv — 7 and obtain from (5.13) that
Ap <min{0(21/7n),0(2J)}.
132 Chapter 5. Vehicle Routing with Allocation
Wc obtain with (5.6) and (5.8), that Ebs [Ap] Pt{Sb3} equals
Llog(7ny.L,)J
Y, EB3 [Ap\ I=l] PiB3 {/ - i] Pr{SD3}
i=\logyv-7]
i
+ _Z Y, ^B3l^p\I = hJ = j]-PTB3{I = i,J=j}
i>\og(myv) j= [log yv -7]
Pr{5n3}i
= O (x log m/m) + J] J] O (2j) Ö (xyv/2l+j)i>lug(myv) j=[lugyv—7~\
= ö(x log m/m) + ö(x) ^ (i - log yv + 8) • Ö (yv/2l)i>log(myv)
= Ö (x log m/m) + C? (.t) • Ö (log m/m),
where the first, sum is computed exactly as in the previous cases, using
only the bound Ap = Ö (27/m). Hence, we finally obtain
(5.16) Eß3 [Ap]Prb5B3} = O (a; log m/m).
With the law of total probability we obtain from (5.4), (5.11), (5.12),(5.14), (5.15), and (5.16) that
E[AP] = O (x log m/m),
and Lemma 5.9 follows choosing m appropriately.
5.4. Euclidean Spanners and VRAP
The results in this section extend work by Rao and Smith [108] to our
zoom tree setting. Basically, we show that, we can quickly compute a
straight-line graph (SLG) S' on a superset of P which has few "rele¬
vant" crossings with each of the allowable rectangles introduced in the
previous section, and such that there exists an expected nearly-optimaltour through S'. This will allow us to quickly find such a tour by dy¬namic programming.
5.4.1. Concepts and Results. In the sequel it, is of advantage to look
at a solution (T, tt) from a slightly different viewpoint. Recall that
Ùo has sidelength 2P — Ö (n) and its center at (a,b), where a,b E
{0, 2,... ,L — 2} uniformly at random. For any connected straight-line
5.4. Euclidean Spanners and VRAP 133
graph (SLG) Q on a vertex set P' D P, we denote the induced shortest
path metric by dg (,). For a given solution (P, tt), let
(5.17) valg (P, tt) = Y, ds(P> Ç) + _Z ("M + /%) mm(i(p, (/) J .
Note that only the length of the tour is measured in the shortest path
metric. Every solution to VRAP gives rise to a closed walk W — )A^(T, tt)formed by the shortest paths between subsequent tour points. In princi¬
ple this walk may include non-tourpoints, but in order to minimize (5.17)it is always better to 'pick up' such points and include them in P. Thus
a solution minimizing (5.17) can be described as a walk W through Q,where by definition the tourpoints are exactly the points T\y := T fl W
on the walk, and the remaining points Ayy := P \ P>v are allocated.
Denoting the entire length of the walk W by £(W) we can rewrite (5.17)as
(5.18) vale (W) = £(W) + V ( a(p) + ß(p) min d(p, q)) .
peAwv /
Note that an edge contributes ,s times to £(W) if we traverse it s times
on the walk. In the sequel, we denote the optimization problem (5.18)
by VRAP (ç;).
We say that a crossing of an edge e of a SLG G and a rectangle 91 is
relevant if e intersects 591 and exactly one endpoint of e is within 91.
The graph Q is said to be r-sparse if any allowable rectangle 91 has at
most r relevant crossings with edges of Q. Note that it, depends on the
choice of a and b whether a fixed SLG G is r-sparse or not. The main
result of this section is the next lemma.
Lemma 5.17. LetT* denote the set of tour points of the optimal solution
to VRAP. For given e > 0, there exists r = r(e) such that for all choices
of a,b E {0, 2,..., L — 2}, one can compute in Ö (nlog2 n) time a point
set S and an r-sparse SLG <S' on the point set P' = P W S satisfying the
following: If a and b are chosen uniformly at random, the shortest walk
W* on S' visiting all points of T* has expected length
E[£(W*)}< J2 d(p,q) + eval{T*,Tr*).{p,q}evr*
Moreover, W* uses no edge of S' more than twice.
134 Chapter 5. Vehicle R.outiug with Allocation
Since T\y*_
T'f', the allocation costs in vais' (VV ) do not exceed those
in val(7,!|!,7T*), and thus Lemma 5.17 immediately implies that
E[val6v (W*)] <(l + e) val(P*, tt*) .
Together with vel(T*,ir*) < val5/ (W), it follows that W* induces an
expected nearly-optimal solution to VRAP. The rest of this section is
devoted to the proof of Lemma 5.17.
5.4.2. Proof of Lemma 5.17. In order to prove this statement, we
need to review two important concepts. Firstly, a SLG S on P is a
(1 + e)-spanner if for all p,q E P we have ds(p,q) < (1 + e) • d(p,q).Gudmundsson et al. [68] proved that for every point set P there exists
a (1 + e)-spanner S with ?(S) < C(e) ((MST), where MST denotes
the minimum spanning tree on P. They also show that such a spanner
has Ö (n) edges and can be constructed in Ö (n log n) time,where the
O-notation is hiding constants depending on e.
Secondly, consider the quadtree QTa^b obtained by dividing Oo into four
equal-sized squares and recursively repeating this division process until
the squares have sidelength 2 (and therefore contain at most input point).It is easy to see that this tree has 0(n2) squares. Wc call QTa^ a shifted
quadtree or a shifted, dissection, as Oo depends on (a, b) and is thus shifted
relatively to the point set, P. An alert reader might have noticed that
we already encountered shifted quadtrees in Section 4.2 of Chapter 4.
Observe that we have the following relation between the grid Ga$(i) of
Section 5.3.1 and QTay. if the levels of QTa,b are numbered bottom-upsuch that level 1 contains the leaves of QTŒjb-, the grid Gaj,(i) dissects
Oo into sciuares of level i.
Usually, one stops the division process at squares which contain at most
one point, of P. For our purposes however, we truncate the quadtree
slightly differently: consider the Ö (nlogn) allowable rectangles con¬
taining at least one point from P, and divide each 7-allowable rectangleinto at most 132 = 169 squares of level i. Now consider the truncated
quadtree QT° b consisting of these Ö (n log n) squares and all their an¬
cestors. As each square has Ö (logn) ancestors, QT°b has Ö (nlog n)squares. A SLG Q is said to be r-vapid with respect to the (truncated)quadtree QT° b
if every square O in QT° bhas at most r relevant cross¬
ings with Ç.
A paper of Arya et al. [15] claiming this result prior to [68] is incorrect.
5.1. Euclidean Spanners and VRAP 135
Lemma 5.18. For all choices of a,b E {0, 2,..., L — 2}, any Ç that is
r-vapid w.r.t. QT°b is 169r-sparse.
Proof. Assume that 91 is i-allowable. 91 is the union of at most 132 = 169
level i squares of QT°b, and any relevant crossing of G with 91 is also
relevant with respect to one of these squares. Thus Q is 169r-sparse if it,
is r-vapid w.r.t. QT°b.
The concept of shifted dissections and that of r-vapidness were intro¬
duced in [11] and [108], respectively.
Proof of Lemma 5.17. First, we compute in Ö (nlogn) time a (1 4- e)-
spanncr on P of total length
(5.19) ^(<S) <C(e)-£(MST),
using the algorithm of Gudmundsson et al. [68].
Let >Vi = YV(T*,tt*) denote the walk on S induced by the optimalsolution (P*,7T*). Since S is a (1 + e)-spanner, we have
(5.20) *(Wi)<(l + e)- J_] *<?)< J2 d(p,q) + e-val(T*,7T*).{p,q}e-7T {p,q}£-K
Let, r := c-C(e)/e, for the constant C(e) from (5.19) and a suitably largeconstant c > 0. We transform S into a graph <S' which is r0-vapid w.r.t.
QT°b for ro := r/169. Lemma 5.18 then states that S' is r-sparse. To
obtain S' we proceed along the lines of Rao and Smith [108], addingartificial points S to S such that the resulting spanner S' is indeed a
SLG on a point set P' - P t+J S_
P.
We proceed bottom-up through QT°b and transform S into S' by a
secjuence of local modifications. Let O denote a square in QT° bwhere
we encounter more then ro relevant crossings. Then at, least one side
of O has more then t*o/4 — 1 relevant crossings. At each such side we
modify the SLG according to Figure 5.5 (sec [108] for details). At the
same time, we detour the walk Wi over the single new edge that crosses
the side of O. The artificial points we add are within small constant
distance of <90, such that the edges we "patch in" at different levels
overlap. Thus, at most one new crossing per side of an already patched
square is created by patching operations at higher levels of QT°b .In
[108] it was shown that
(5.21) E[e(S')-£(S)} = 0(l/r)£(S),
136 Chapter 5. Vehicle Routing with Allocation
where the expectation is with respect to the random choice of a and
b. Note that, an edge c of S has only relevant crossings with at most
Ö (log77) squares of QT°b. Since S contains Ö (n) edges, the total time
we need for the modifications according to Figure 5.5 is Ö (nlogn). As
we have to consider all the Ö (77 log2 n) squares in QT°b, the total time
required by the bottom-up procedure described above is Ö (n log n).
FIGURE 5.5. Illustration to the proof of Lemma 5.17.
We obtain a graph S' which is ro-vapid and thus r-sparse, as well as a
walk W2 on S'. Observe that ^(VV^) — ^(Wi) is bounded by the sum
of the detours which is exactly the length of the new edges weightedwith their multiplicity in W2. In order to bound these multiplicities, we
further modify W2 as follows. Consider the rnultigraph #2 on vertex set
T\±iS whose edge set is given by the edges of W2 with their corresponding
multiplicity. Since W2 is a closed walk, #2 is Eulerian. We replace all
edges of odd multiplicity by a single edge, and all edges of even non-zero
multiplicity by two edges. It is easy to see that the rnultigraph W3_
W2
we obtain is still Eulerian, and that any Eulerian tour through F3 is a
closed walk W3 in S'. This argument shows that any shortest salesman
tour in any graph uses no edge more than twice.
As W3 traverses every edge at, most twice, wc have
£(W3)~i(m)<2-(£(S')-l(S)),
and consequently
5.5. An Ö (/T. log'' n)-time Approximation Scheme^
137
E[t(m) - e(Wi)\ < 2 E[£(S') - P(S)}
{r=l) 0(l/r)£(S)
i5<} 0(l/r)-C(e)-£(MST)
<eval(P*,7r*),
where the last inequality follows from r = c C(e)/s with c chosen large
enough and the fact that £(MST) is a lower bound for val(P*,7r*).Hence, it follows from (5.20) that
W(m)] <^(>Vi)+£-val(P*,7r*) < Y_ d(p,q) + 2£-val(T*,7r*),
{p.q}<En
and adapting e appropriately completes the proof. D
5.5. An Ö (n log5 n)-time Approximation Scheme
We now introduce a PTAS for VRAP. Lemma 5.17 plays a crucial role
in our approach. In principle, our PTAS chooses a and 6 at random,
computes S' and then tries to find an optimal solution Wo to VRAP(<S')by dynamic programming, guessing T — P(Wq), and the corresponding
zoom tree ZTa^ in the process. By Lemma 5.17 we know that this
approach should yield an expected nearly-optimal solution to the original
problem VRAP. (Note that Wq does not necessarily equal W*, as in
Lemma 5.17 we only minimized the tour length and ignored allocation
costs.)
This approach needs several extra twists to achieve the desired runningtime. Most notably, we estimate the allocation costs by the portal-
respecting distances. This means that we will not necessarily find Wq,but an optimal solution to a slightly modified problem. However, since
by Lemma 5.9 the portal-respecting distances are good estimates for
the real distances in expectation, we can keep the expected total error
caused by this small. Moreover, it would be too time-consuming to
allocate all points individually, as the same point is considered in many
different steps of the dynamic program. We overcome this difficulty by
partitioning the points that need to be allocated in some step into a small
number of classes and assigning all points of a class to the same tour
point. The errors introduced by this are in the same order of magnitudeas the errors inherent, to the idea, of portal-respecting allocations. Lastly,
138 Chapter 5. Vehicle Routing with Allocation
to avoid costly shortest path computations we shortcut between vertices
of S' whenever this does not spoil the sparseness properties of S'. One
can think of these shortcuts as additional edges that are added to S'. In
fact, this causes no problems, as it only decreases the length of the tour
the algorithm will output, and docs not change the allocation costs.
5.5.1. Dynamic Programming. Throughout this section, consider
m = 777,(e) fixed according to Lemma 5.10 (for an as yet, unspecifieddistance measure d* that will emerge in the course of this section) and
Lemma 5.17. For any allowable rectangle 91 containing at, least, one point
from P, let Gaiioc — <2alloc (91) denote the set of the 4m portals on <991
as in Section 5.3, and let Ecrosfi denote the set of edges (line segments)of S' crossing the boundary of 91 such that one endpoint, is contained in
91. As S' is r-sparse, we have |PCross| < f~ r(e). A configuration C for
91 is given by
(1) a collection 5con of pairs from ECTUSS, where each element appears
at most twice,
(2) functions C_n : G_ioc -> {1,..., 2m, oo} and (out : Ganoc ~* {1,...,
7777, co}, and
(3) a bit a G {split, zoomed}.
Since m and r are constant, the total number of configurations for 91
is bounded by a constant, depending only on the desired approximation
ratio e.
A configuration C describes a subproblem, i.e., a local problem for 91
which is interpreted as follows. Firstly, the pairs in ,Scon determine which
of the edges in Ecross must be connected by walks inside 91. As the walk
W* might visit edges of the spanner twice (cf. Lemma 5.17), we allow
5con to contain duplicates. Secondly, the functions (_ and Cout describe
the distance from a given portal to the next point on the tour inside
resp. outside of 91. More precisely, for every g E Ganoc, the distance
from g to the next point on the salesman tour inside 91 is within dis¬
tance (\^i\/m)Ç[-n(g). Analogously, the distance to the next point on the
salesman tour outside of 91 is encoded by £Out(o0- We shall see below
that it is sufficient to encode the distances up to 7|91| only.
We ask for a best possible local solution for a given configuration C.
More precisely, we try to minimize the length of all tour edges that lie
completely inside 91 plus the allocation costs for all non-tour points in 91
(regardless of whether they are allocated to a tour point inside or outside
5.5. An O (71 log0 n)-time Approximation Scheme 139
91), subject to the constraints and guarantees given by C. As we do not
know the zoom tree corresponding to the optimal solution in advance,
we cannot proceed by a top-down divide and conquer approach along the
zoom tree. Instead, we proceed bottom-up by dynamic programming,
in a much larger structure which can be seen as the union of the zoom
trees for all possible choices of T Ç P. By dynamic programming, we
calculate close upper bounds P[91,C] for the optimal solutions to these
local optimization problems. The bit a indicates whether we look at 91
as a split, or as a zoomed rectangle in a zoom tree, and thus how our
dynamic program calculates P[91, C] from the values previously found for
smaller rectangles.
It is crucial that we consider only the Ö (n log n) allowable rectangles 91
containing at least one point of P. We topologically sort those rectangles
w.r.t. the partial order given by normal set inclusion, and process them in
this order, going through all possible configurations for each rectangle.Let 91 and C denote the rectangle and the configuration we currentlyconsider. Wc now distinguish two cases: if 91 is 1-allowable or \P D 911 =
1 (case A), we find T[91, C] by exhaustive search. Otherwise, we calculate
P[91, C] by dynamic programming from previously found values in one
of two possible ways (case B), as specified by a.
Case A. 91 is 1-allowable or \P n 91| — 1. Note that this means that 91 is
a leaf in any zoom tree it, is contained in. Also note that an 1-allowable
rectangle contains at most 132 — 169 input points from P. This allows
us to proceed in brute force fashion.
Let 91 and C be given. First we choose from P D 91 the points that lie
on the salesman paths inside 91. Let To Ç P n 91 denote this point set.
Since we know that points p with ß(p) > 2 are visited by the optimalsolution P* (and therefore also by the walk W* from Lemma 5.17), we
always include such points in P0. Also, by definition of the zoom step
it is clear that To should not be empty if a = zoomed. The points in
Aq :— (P n 91) \ To need to be allocated to some tour point either inside
or outside of 91. We have 0(1) choices of Tq. For every such choice, we
check whether it, satisfies the restrictions given by Ç-m, i.e., whether the
distance from every portal g 6 (?aiioc to To is bounded by (|91|/m)Cin(p)-If this is not the case, we reject this choice of Po- If ah possible choices
of Pq are rejected, we reject C and set P[91, C] — 00.
Next, we compute optimal walks visiting exactly the points in Po subjectto the constraints given by 5con. We do not require these walks to use
140 Chapter 5. Vehicle Routing with Allocation
edges öl S', but calculate them on the complete graph induced by the (atmost 169) points in 7b and the (at most r) endpoints of the edges from
Scou (if these points are not adjacent in S', we add the needed edges to
S' as shortcuts). This can be done in constant time.
Moreover, we estimate for each p E A0 its allocation cost. It is trivial to
compute the distances to points in To- On the other side, C guarantees
that the nearest tour point outside 91 has portal respecting distance at
most
(5.22) min \d(p,g) + ^(ont(g) \
by definition of CoutQ?)- So we decide for every point p E Ao whether it
is cheaper to allocate it to a point inside or a point outside 91 (indeeda portal). As we have Am portals and at most 169 points, this can be
done in time 0(1).
The total cost, for this choice of Po is the total length of all edges on the
salesman paths that are entirely in 91, plus the total allocation cost for all
points in Ao calculated as explained above. Note that this overestimates
the allocation cost for points which are allocated to tour points outside
91. We identify the choice of Po minimizing this cost and store the
corresponding value in P[91, C]. Thus we can compute P[91,C] in Ö (1)time.
Case B. Otherwise. In this case wc in particular have no upper bound
on the number of input points inside 91. Thus it is not longer possible to
compute 7,[91,C] using brute force search. As we process the rectanglesin ascending order, wc may assume that we already have the values
T[9\',C] for all allowable rectangles 91' C 91 and for all configurationsC to 91'.
Case BI. a — zoomed. We split 91 into two allowable rectangles 91'
and 91" according to the properties of zoom trees (cf. Section 5.3).By Lemma 5.15, we know that both rectangles should contain at least
one point of P. If this is not the case, wc set P[91, C] = oo for all
configurations for 91 with a ~ zoomed.
Enumerate all choices (C ,C") of pairs of configurations for 91' and 91"
with a' — u" — split. For each choice, check whether it is consistent in
itself and compatible with C, i.e., whether a set of salesman paths sat¬
isfying 5COI1 can be obtained by joining salesman paths satisfying S'(:ou
5.5. An O (nlog' n)-time Approximation Scheme 141
and S"un, and whether the functions Cm) Cm'Cout guarantee that the re¬
quirements on the position of the tour points given by the functions
Cm, Conti Cout aro satisfied. That is, we have to check the equations
(5.23) ^Cmto) > min j^min {%,(/) + ^CmQ/)} ,
min \d{g19,,) + —CiM,)\)
for the port,als g G Cra]ioc on ^91, and
(5.24) J—kout(p') > min i min i d(g',g) + LÄcout(g) I,
for the portals g' E G^lloc on -^' an<^ analogously for g" E G"lloc on
For all pairs of configurations which remain, compute P[91', C']+T[91", Cand add the total length of the edges in S'con f) S'c'on, which arc exactlythe tour edges with one endpoint in 91' and the other in 91". A given
edge may be counted twice in this calculation which is in line with our
definition of Scon. Choose the pair (C,C") which minimizes this sum,
and write its value to P[91, C]. Note that all computations can be ac¬
complished in 0(1) time.
Case B2. a = split. We enumerate all allowable rectangles 91' C 91
containing at least one point from P and all points p E P 0 91 with
ß(p) > 2. For any such rectangle 91', we consider all configurations C
with a' — zoomed that are compatible with C in the same sense as in
case BI. For the allocations, wc have to check whether the equations
(5.25) leinte) > g/mjn L(g,g') + ^CmQ/)} , V(? G GaIloc
and
I91'l f 1911 15-26) ^CoutM> min \d(g',g) + ^Coutfo) ,
V.r/ G_locill fffctT „.n,» (^ 777 J
142 Chapter 5. Vehicle Routing with Allocation
are satisfied. For a given choice of 91' and C, the total cost, for 91 is
7'[91'.C/] plus the additional tour costs plus the additional allocation
cost. Recall that by definition of the zoom step, there are no four points
in 1R \ 91'.
To compute the additional tour cost, we enumerate all possible ways
to connect the edges in Scon U S'con such that one obtains exactly the
salesman paths required by »S'con. Note that a salesman path through 91
may enter and leave 91' several times. We add the total length of the
edges in S'con \ 5t.on (as before twice if necessary), plus the Euclidean
distances between corresponding end points of edge pairs in Scon U S'con
(as before, this corresponds to introducing shortcut edges into S'). As
there are Ö (r) edges in Scoxl and S[.an, we can find the "connection
pattern" which minimizes this cost, in constant time.
Computing the additional allocation cost is somewhat tricky. We need
to allocate all input points in 91 \ 91'. As we do not have a bound on
the number of such points, doing this for each point separately, i.e.,
calculating
(5.27)
Ef( I91|
(a(p) + ß(p)-mini min {d(p,g) + —Cout(p)},v l qgG-aiioc rn
PePn(9V\9V)
91'Imin {d(p,g')+l—^CnÂ9,)}\
ytu nlit s
alloc
exactly, would be prohibitively expensive. However, as we shall show in a
moment, we can quickly approximate these allocation costs close enoughfor our purposes. This is basically achieved by subdividing 91 \ 91' into
cells and assigning all points in a cell to the same portal.
LEMMA 5.19. 077e can preprocess P in Ö {nlogn) time such that one can
calculate in Ö (log1 n) time for any pair of allowable rectangles 91' C 91
an upper bound Cauoc on Ca_/oc which is tight up to a relative error of
C(l/m) and an absolute error of Ö (fc(|91|/m) + k'(\9\'\ /m,)), where k
and k' denote the number of points for which the minimum in (5.27) is
attained by a portal o/Gaiioo respectively G"a]luc.
We choose the configuration C' which minimizes the accumulated cost
and store the total cost in P[91,C].
5.5. An ö (nlog'J n)-timc Approximation Scheme 143
Proof of Lemma 5.19. We subdivide 91\9V into rectangular rings Ai,. .
.,
At- The outer boundary of ring A% is at distance
<i, = |91'|(l + l/m)':
from 91', whereas the inner boundary is at distance d.b-i (or 0 if i = 1),i.e., the inner boundary of A. is indeed the outer boundary of A____. This
is illustrated in Figure 5.6. The cells are constructed by subdividing each
ring Ai into Ö(7772) equally-sized cells. Note that the sidelength \<£\ of a
cell (£ in ring Ai is Ö (di/rn).
—
- -
--—
"" "
... .._- ""
- - - it II1.. -
jAsrnrn.
- -
-
•' mi
-
-"
—
- --
--
FIGURE 5.6. Subdivision of 91 \ 91' into cells. First we
subdivide 91 \ 91' into rings of geometrically increasingradius. Then, we subdivide each ring into 0(m2) cells.
We have t — Ö (log(|91|/|91'|)) — Ö (logn) many rings, and therefore
also Ö (logn) many cells. By orthogonal semigroup range searching (see[1, 3] for references), we compute for each cell <t the values
«(£):= y, QW and ^£):= E wpePn pePn
This can be accomplished in Ö (log n) time per cell and requires pre¬
processing the points in Ö (n log n) time before the start of the dynamic
program.
144 Chapter 5. Vehicle Routing with Allocation
Recall that the idea is to assign all input points within a cell to the same
portal. With the values rv(£) and /?((£) at hand, we can calculate
C_\0, :=V (a(<r)+/3(C)-min{ min {d(c(q,g) + \£\ + ^(out(g)}.— V I 9Crrtnt)f. 777,
min {d(c((T);(/') + |e:| + ^Ciu(^)}iJ alloc
in time proportional to the number of cells, i.e., ö(logn). Here c(C)denotes the center of <£.
It remains to show that this is a good upper bound on Cauoc. Clearly, we
have d(c, g) — |<£| < d(p, g) < d(c, g)+\£\ for a cell with center c, p E
and any portal g. It follows that Ca__oc < Cai]oc, and that for every point
p E £flP we overestimate its allocation cost by at most 2ß(p)\<£\ < 4|<£|
(recall that points with ß(p) > 2 are in 91' and therefore not considered
here.)
The largest cells in our subdivision have sidelength |(£| = Ö(|91|/m).Therefore, the absolute error per point is bounded by O (|91|/m), which
already suffices for points that are allocated to portals of Gaiioc- For
points which are allocated to portals of G;iûloc, we distinguish two cases.
If £ belongs to ring A__, we have |<£| — 0(|91'|/m). Otherwise, we obtain
with d(p,g) > d7„i that \C\ = Ö (di-i/m) — Ö (d(p,g)/m). Summing-
up these pointwisc error guarantees yields that Canoc indeed approxi¬
mates Caiioc as claimed. D
At the end of the dynamic program, we obtain a value PfOo^O] f°r
do — (a, b) + [—L, L}2 and the configuration O wrth S'con — 0, Cin(p) =
Cout(p) = oo for all portals g E GranÜC(Oo), and a = split.
5.5.2. Analysis. We prove time complexity and correctness separately,
starting with the former.
Proof of Theorem 5.1 (Complexity). Preprocessing the points as required
by Lemma 5.19 and computing the r-sparse SLG S' guaranteed byLemma 5.17 takes time Ö (nlog2 n). In the dynamic program, by
Lemma 5.7(i), cases A and BI apply Ö (nlogn) times and can be com¬
puted in time O (1). By Lemma 5.7(h), case B2 applies to O (nlog2 n)pairs of rectangles, and can be computed in time Ö (log n) due to
Lemma 5.19. This yields an overall complexity of Ö (nlog0 n).
5.5. An ö (n log5 77) -time Approximation Scheine 145
It, remains to argue why our algorithm produces a nearly-optimal solu¬
tion. In order to check this we need the following statement.
Lemma 5.20. The value T[Uo,0] calculated by the dynamic program
satisfies
E[r[Ûu}01]<(l+e)val(r*,7r*)-
Proof of Lemma 5.20. Let Z'Ta^ denote the zoom tree to P* as in Sec¬
tion 5.3, and let W* denote the shortest walk on S' visiting all points
of T* as in Lemma 5.17. Recall that ZTa,b stops the subdivision at, a
rectangle 91' if either 91' is 1-allowable or contains at most one point of
P, and that every rectangle ZTa,b contains a point from P* by Lemma
5.15. For all rectangles of ZTa^i we now specify configurations C* that
are compatible with each other (and therefore considered by the dynamic
program), and result in the claimed bound for E[P[Uu,0]]-
Firstly, set for all rectangles a* appropriately, i.e., a* — zoomed if 91 is
zoomed in ZTa^ and a* = split, otherwise. Furthermore, choose S*on
according to W*.
Secondly, specify the functions Qn as follows. For leaves 91' of ZTa^ set
them as small as possible such that still d(T* r\9\',g) < (\d\'\/m)Çul(g),and propagate these restrictions up the zoom tree such that (5.23) and
(5.25) hold. Due to the integrality of C*n, this introduces absolute errors
of order Ö (2l/m) for rectangles at, level i. These errors sum up as a
geometric series along the zoom tree, resulting in a total absolute error
of Ö (|91|/m) for the portals on 991.
Finally, set Cout to °° on portals of Ùq, and use (5.24) and (5.26) to
calculate Cout f°r a^ rectangles top-down along the zoom tree. Note
that finite values are introduced due to (5.24) by the values C^ wc just
calculated. As these errors are propagated down the zoom tree, the total
absolute error for portals on a rectangle 91 is not necessarily Ö (|91|/m).However, observe that for every portal g 6 c7aiioc on 9^R and every tour
point q G 71* we have
(5-28) —Cut(g) < d(g, q) + 0 (\m\/m),
777 v /
where 91 is the rectangle separating the points in 91 from q (providedthe right hand side is at most 7|91|).
As the Cout"functions only encode distances up to 7|91|, some of these
might be set to 00 even if there are tour points outside of 91. However,
our PTAS does not require that we encode longer distances. This is
146 Chapter 5. Vehicle Routing with Allocation
easily checked as follows. Whenever we allocate a point p E P D 91 we
arc either in case A or in case B2 of the dynamic program. If 91 is split,
its sibling contains at least, one tour point, say q (cf. Lemma 5.15). Let
910 denote the parent, of 91, and note that d(g,q) < 2|91n| < 6|91| for
every portal g E G_ioc on 991 (cf. Lemma 5.11). As g is in the sibling
of 91, we know that 91 separates q from the points in 91. Thus, the right
hand side of (5.28) and consequently also the left hand side of (5.28)is at most, 7|91|. Therefore, our encoding suffices in this case. If 91 is
zoomed, we are in case A and can allocate any point p E 91 (exactly!)to a tourpoint inside 91, which has distance at, most 2|91| from p. This
shows that it suffices to encode Cout only up to 7m.
The inaccuracy in the encoding of distances is one of three sources of
error in the calculation of allocation costs. The second one is the error
inherent to the concept of portal-respecting allocations (cf. Lemma 5.8),and the third one is introduced by Lemma 5.19. In the calculation of the
distance of a given point ptoa (nearby) tourpoint q E T*,these errors
sum to an absolute error of Ö (|91|/m) for the rectangle ÏH separating
p and q, and a relative error of Ö (1/rn) which is easily bounded by e
choosing m large enough. By Lemma 5.10, it follows that the absolute
errors result in an expected relative error of e. In total, the expected
allocation cost our algorithm calculates is at most (1 + e)2 times the
allocation cost in (77*,7r*).
Moreover, the tour's length (implicitly) calculated in P[:Qo,0] is deter-
ministically bounded by £(W*), which in expectation overestimates the
tour cost of the optimum by at most e • val(P*, ir*) due to Lemma 5.17.
Adapting e, the claim follows by linearity of expectation. D
Proof of Theorem 5.1 (Correctness). Let <S*_
S' denote the graph ob¬
tained by inserting the "shortcut edges" the dynamic program used in
cases A and B2 into S'. Our PTAS outputs a walk W on S* and a
number P[0O?O]- Since we overestimated the allocation costs in the
dynamic program, P[Oo, O] is an upper bound on vais* (W). Moreover,
the solution (T, ir) to VRAP induced by W has the same allocation costs
as W but possibly shorter tour length, since it, is not restricted to S*.
Therefore, we have
val(P,7r) < vais- (W) < P[Oo,0],
and the claim follows from Lemma 5.20. D
5.6. Steiner VRAP 147
5.6. Steiner VRAP
In this section wc show Theorem 5.2, introducing a PTAS with nearly-
linear time complexity for SteinER VRAP.
Recall that a solution (T,S,tt) to Steiner VRAP is determined by
point sets TCP and S C R2, and a salesman tour tt through T\üS. Wc
wish to find a solution (P*, S*, tt") such that val* (P*, ,9*, 7r*) is minimum
(see also (5.2) on page 116).
In the sequel, it is crucial that wc may restrict to instances in which
the input points have odd integral coordinates and the sidelength of
the bounding box is O (n/e) and a power of 2. This is easily checked
using the arguments given in Section 5.2 for VRAP. Indeed, wc have
at most 77 Steiner points in the optimal solution, so we have to perturb
the endpoints of at most 2n — 1 edges. Thus, the only difference to
Lemma 5.5 is that we have P = 2T for the smallest L > 80n/e. Note
that in contrast to Lemma 4.3 of Chapter 4, we here only shift the input
points not the Steiner points.
5.6.1. A Patching Lemma for Steiner VRAP. The PTAS for Pur¬
chase Cooperative TSP proposed in [9] proceeds by dynamic pro¬
gramming in a shifted quadtree QTa,b, quite similar to Arora's PTAS
for TSP [11] which we sketched in Section 4.1 of Chapter 4. As the
authors of [9] do not give an equivalent, to the Patching Lemma [11],their algorithm has complexity Ö (n0^1/^). The key observation that
allows us to improve on this is the following:
Lemma 5.21. Let (T, S, ir) denote a solution to Steiner VRAP crossing
a fixed line segment L of length x five or more times. Then there exists
a solution (T,S',tv') with S Ç S' crossing L not m,ore than four times
satisfying val* (P, S', tt') < val* (T, S, tt) + c • x for some constant c.
Proof. If two or more allocation edges cross L such that they allocate a
point to the left to a tour point to the right, we proceed as depicted in
Figure 5.7. Observe that the value of the new solution exceeds that of
the old one by at most 2x, as we add tour segments of total length at
most 2x along P and replace the allocation segments to the right of L
by two tour segments which have the length of the shortest allocation
segment being replaced. The second operation only decreases the cost
due to ß(p) > 1 for all p E P.
148 Chapter 5. Vehicle Routing with Allocation
--
^
-——
Figure 5.7. Illustration to the proof of Lemma 5.21.
Analogously, we proceed if two or more allocation edges cross L from
right to left. After these operations, there remains at most one allocation
edge per direction, and the value of the modified solution is increased by
at most Ax. Note that the modified salesman tour tt visits a point set
P l+J S' which consists of all points of the original tour tt plus some newly
added Steiner points.
Now, we apply Lemma 3 of [11] to the salesman tour tt. This lemma
claims that if a salesman tour tt crosses L three times or more, there
exists a salesman tour tt' visiting the same points as tt but crossing P at
most, twice, satisfying £(tt') — £(tt) < g x for some constant g.
Thus, replacing tt by a new tour tt' through Pl±l5", we obtain a modified
solution (T, S',tt') such that the total number of crossings is at most
four and
val* (P, S', tt') < val* (T, S, tt) + g x + 4 x.
This completes the proof.
Below we describe a dynamic program working on a quadtree. This
algorithm considers only solutions that cross each square's boundary
only r ~ Ö (l/e) times. With Lemma 5.21 at, hand we can show that we
indeed expect to obtain a (1 + ^-approximation.
5.6.2. The Approximation Scheme. We now describe our
0(nlog0(1/e)n)-timc randomized PTAS for Steiner VRAP. Wc bor¬
row techniques appearing in [11] and [14]. As all input points have odd
5.6. Steiner VRAP 149
integral coordinates and the sidelength of the bounding box is a power of
two of order n/e, the concept of shifted quadtrees presented Section 4.2
is amendable to Steiner VRAP. Note that Observation 4.5 still holds,
although wc have L = Ö (^n2/e) in Section 4.2. In particular the depth of
shifted quadtree QL\hh is t = logP = O (logn) for constant, e. (which we
henceforth assume). For our analysis, the reader also needs to recall the
definitions \ev(V,a) and lev(P, b) for vertical and horizontal dissection
lines H and V, respectively.
We proceed by dynamic programming in such a shifted quadtree QPa,6-
However, we here need to truncate QTihb at squares that contain only
one input point. It is well-known [38] that, such a truncated quadtree has
size O (nlogn), as we have n points with spread Ö (n). For convenience,
we also include all siblings of these squares, such that every non-leaf of
QTaib has exactly four children. Note that this does not increase the
complexity of QTa,b significantly
Our PTAS computes a solution that crosses the boundary of each square
of QTa:b at most r = Ö (1/e) times. Moreover, we place m = Ö (log n/e)
equally spaced portals around every square 0 G QTa,b and require sim¬
ilarly to [11] that the tour crosses 6-0 only at portals. Therefore the
portals play the role of 'auxiliary' Steiner points, and removing them in
the end clearly improves the found solution. Furthermore, we estimate
the distance to the nearest point (or Steiner point) on the tour similarly
as in Section 5.5 for the PTAS for VRAP. The main differences are that
we encode information only at the r "interesting" portals, and that we
do not work on a zoom tree but (similar to [14]) on a truncated quadtree.
A configuration C for a square 0 E QTa,b is given by
(1) up to r portals where the tour crosses the boundary of 0, and
information how those portals are connected within 0,
(2) up to r portals that are used for allocations, and for each of these
portals a value Cin G {1, ...,2m,oo} or Cout G {1, ...,5m,oo}, and
(3) a bit a E {allocate, recurse}.
As in Section 5.5, the values Cin and Cout specify the distances to the
next tour or Steiner point inside resp. outside 0 with a precision of
|0|/m. However, we here encode distances only at the at most r portals
that we need. There are m2r many ways to specify the 2r portals we
use. Moreover, there Ö (rn)r ways to choose the r values Cin and Cout,
and Ö (rr) ways to specify how the portals are connected within 0 by
150 Chapter 5. Vehicle Routing with Allocation
the salesman paths. Since m = ö(logn,/e) and r — 0(1/e), the total
number of configurations for a given square 0 G QTa,b is C(log ^)-
The dynamic program works similar to those proposed in Section 5.5
and in the previous chapters. We try to find good solutions to the local
optimization problems posed by the configurations C for the squares
0 G QTa,b, calculating values P[0,C] which are close approximations of
the sum of the total length of all tour segments inside 0 and the fullallocation costs of all allocation points in 0. The bit a indicates how
these values are calculated. The interpretation of a ~ allocate is that
0 contains no tour segment. In particular, the tour does not cross the
boundary of 0, and all input points in 0 are allocation points. In that
case we calculate P[0,C] directly, using the portal-respecting distances
as estimates for the real distances as before. If a — rccurse, we calculate
P[0,C] recursively, using the values found for its four children (unless 0is a leaf of QTrti*>). In total, we distinguish three cases, depending on a
and the number of points 0 contains.
Case Al. a — allocate. As in Section 5.5, wc estimate the allocation
cost for each point using the function Cout- (Recall that a = allocate
means that, 0 contains no tour segment, so we can only allocate to the
outside of 0.) Since we only recurse as long as there are tour segments
in the square at, hand, wc know that one of the siblings of 0 contains a
tour segment, which is at distance at most 4|0| from any portal on 0.
Therefore, our encoding of the distances suffices. As we only consider
solutions that cross each square at, most r times, we know that 0 contains
at most r points. Hence, one application of case Al requires constant
time.
Case A2. o — recurse and |P n 0| < 1. This means that 0 is a leaf of
QT(l;b. If 0 contains a point p G P, we guess whether it is a tour point
or not. Also, we guess the coordinates of the Steiner points on a m x m
grid subdividing 0. As we minimize the length of the salesman path,it makes no sense at, all to introduce more than one Steiner point per
allocation. Therefore, it suffices to guess the locations of at most r + 1
Steiner points, at most r for the Cin's and possibly one for p. For each
such choice, we check whether the restrictions given by the functions Cinare satisfied, and calculate optimal salesman paths on the tour portals,Steiner points, and possibly p (if we guessed it to be a tour point). If
5.6. Steiner VRAP 151
we guessed p to be an allocation point, we allocate it, as usual either to
a Steiner point inside 0 or to an allocation portal on 0.
We keep the choice of Steiner points minimizing the total cost and write
its value to P[0,C]. There are at most m2(r+1^ choices for the location
of the Steiner points, and for every such choice, all calculations can be
done in constant, time. Therefore, case A2 takes time ö(log * '£' n) to
compute whenever it occurs.
Case B. a — recurse and |Pn0| > 2. This is a divide-and-conquer step
quite similar to case BI in Section 5.5.1. Wc split the square into its four
children, go through all quadruples of configurations which comply with
each other and C, and minimize the sum of the four values T[Qi,Ci],For C fixed, there are (0(log ^' £> n))4 choices for the configurationsof its children, and for every such choice all calculations can be done
in constant time. Hence case BI takes time Oilog' '£> n) to compute
whenever it occurs.
5.6.3. Analysis. We immediately see that the complexity of our dy¬
namic program is (9(nlog ^'£' n). On the other hand, the approxima¬tion ratio can be bounded by constructing a configuration C* like in
Section 5.5. We start with an optimal solution (P*,5*,tt*) to Steiner
VRAP, pass through the tree, and set for all squares a* appropriately.Then we proceed in bottom-up fashion through QTa,b- On each level we
go through all squares. Let 0 denote the square we currently consider.
Whenever case A2 would apply to 0, we shift the Steiner points to the
next coordinate of the m x m grid subdividing 0. This increases the
cost, of the solution by at most |0|/m per Steiner point. In either case,
if a side of 0 is crossed more than r/4 times by the current solution we
apply Lemma 5.21 reducing the number of crossings to 4 by increasingthe cost of the solution by at most 2|0|. Moreover, we make sure that
the salesman tour crosses the boundary of 0 only at portals. This is
achieved by detouring the salesman tour over the portals in (90. Note
that this increases the tour's length by at most |0|/(2m) per crossing.
Similarly, we proceed for the allocation edges. This however is only done
for the sake of analysis, namely to easily identify the portals at which
we have to encode information. Indeed, we call the portals used by (de-toured) allocation edges active and set the values C*n for all active portals
just as in Section 5.5. However, the minimum in (5.23) is taken over all
active portals on the three (instead of just one) siblings of 0. Finally, we
152 Chapter 5. Vehicle Routing with Allocation
proceed top-down through QTajb and set, the Cout f°r a^ active portals
similarly as in Section 5.5. Here, the minimum in (5.24) is taken over all
active portals on the three siblings of 0. It is easily checked that (5.28)on page 145 still holds.
Our PTAS identifies the squares' configurations constructed above or
better ones. Hence, we can bound the approximation ratio of our algo¬
rithm by bounding the errors induced in the construction given above.
The idea behind our analysis is to charge these errors to the crossings of
the optimum (T*,S*,tt*) with the dissection lines of QTa:b- We basically
have four types of errors.
Firstly, we increase the length of the solution by 2|0| by applying
Lemma 5.21. On the other hand, we destroy each time at least r cross¬
ings of the solution with a certain dissection line of QTa^b.
Secondly, detouring the salesman path to the next portal on <90 in¬
creases its length by at most |0|/(2m). This error is charged to the
corresponding crossing.
Thirdly, we shift the Steiner points to the next coordinate of 777 x m grid
subdividing 0 which induces an error of |0|/m per point. Recall that
we only shift Steiner points if we have at most one input point p in the
0. As we started with an optimal solution, the following is true. Each
Steiner points is incident to at least on allocation edge, and at most one
Steiner point is used to allocate a point with 0, namely p. If a Steiner
point is incident to an allocation edge e crossing <90, we charge the
aforesaid error to e. Otherwise, we charge this error to a crossing of the
salesman tour with 90. Note that, such a crossing exists (as otherwise
0 will not contain Steiner points), and that, such an error is charged at
most once (as 0 contains no input point but p).
Finally, the error due to the estimation using Cout f°r an allocation edge e
in the optimum solution is O (P/2/o), where Iq is the minimum level of a
dissection line in QTa^ that intersects with e. This error can be bounded
from above by charging an error of Ö (L/21) for every dissection line V
or H with / = lev(V, a) or I = lev(H, b) that is crossed by e.
With those observations at hand we can bound the approximation ratio
as follows. First, note that (4.3) on page 99 also holds for Steiner
VRAP, as ß(p) > 1 for all p E P. Hence, we have
(5.29) _Zx(H) + Y_X(V) < val* (P*,S*,tt*) ,
H V
5.6. Steiner VRAP 153
where x(P/) and x(V) count how often the optimum crosses the dissec¬
tion lines H and V, respectively. Let c(H,a,b,l) count how often we
applied Lemma 5.21 at level / along H. Like in the proof of Lemma 4.13
we can check that there exist values c(H,a,l), such that,
fc(H,a,l) ,l>lev(H,b)c(H,a,b,l) = <
.
I 0,otherwise.
Similarly, we define values c(V, b, I) for vertical dissection lines. More¬
over, observe that an application of Lemma 5.21 along a horizontal (ver¬
tical) line H (V) reduces the number of crossings by at least r/4 — 4,
that is, we have
(5.30) J2~c{H,a,l) < ^- and £g(V;6,J) < jS-1^0
'1=0
'
Let P, S, tt denote the solution found by our PTAS and let
A := val* (T, S, tt) - val* (T*, S*,tt*).
The PTAS finds configurations for the squares that are at least as good as
the C*s, and thus A is at most the total error induced by the construction
of the C*s given above. Observe that we can group the four types of errors
we discussed above as follows.
For each application of Lemma 5.21 to a square at, level I we have
a cost OÎ2L/21.- For a suitable constant g, we charge an error of at most gL/(m2l)
to every crossing of the optimum with a horizontal or vertical dis¬
section line H resp. V such that / > lev(P, b) resp. / > lev(P, b).
Therefore the error can be bounded separately for each dissection line.
However, it is convenient in the sequel to consider horizontal and vertical
dissection lines separately. That is, we bound A}loriz and Avort such that
A < Ahoriz + Avcrt
154 Chapter 5. Vehicle Routing with Allocation
We start with Ahor_z. With the observation from above at, hand, it is
easy to see that,
E[Allorij < ^EEE t (f^.o + éW)a b H /=lcv(H,6)
V J
a H 1=0
• (^.«.o+â***')As \{b : lev(PT,b) < l}\ < 2l due to Observation 4.5, we obtain
E[Ahoriz] < ^EÇè(2M(H>°>') + ^(ff))< ^EE(^)+^^xW)
where the next to last inequality follows from (5.30). Similarly we bound
E[Avert]. Finally, using (5.29) we deduce that
E[A] < Ahoriz + Avcrt
<- t^**32) (?*->&<*>)- (l+e)-val#(r*,5*,7r*),
for r = Ö (l/e) and m — O (t/e) = Ö (logn). This completes the proofof Theorem 5.2.
5.7. Higher Dimensions and Derandomization
It is easily checked that our PTAS for VRAP extends to higher dimen¬
sions with small modifications. The running time increases to
ö(n logd+3 n), as the range searching in Lemma 5.19 takes time 0(log n)
per cell in dimension d [3]. One can also extend our PTAS for Steiner
VRAP to higher dimensions. The cirtical part ist Lemma 5.21 which
extends similarly as Lemma 3 in [11] to any dimension d. This gives
a PTAS with complexity of ö(nlog^'e) n) with £(d,e) = ö(Vd/e)d~l.
5.7. Higher Dimensions and Dcrandomization 155
Lastly, our algorithms can be trivially dcrandomized by enumerating all
Ö (nd) choices for the initial random shift of the zoom, respectively quadtree.
Seite Leer /
Blank leaf
CHAPTER 6
Conclusions
In this thesis we introduced a QPTAS for Minimum Weight Triangu¬
lation, a PTAS for Node-Weighted Steiner Tree and a random¬
ized PTAS with nearly linear time complexity for Vehicle Routing
with Allocation. Our algorithms overcome limitations of previous
techniques, as we do not require a statement similar to the PatchingLemma [11] for our problems. Indeed, it is unclear whether such a state¬
ment is even true for any of the three problems. As we did not propose
some sort of unified approach and as our methods differ from problemto problem, we close this work by discussing the broader applicability of
our algorithms as well as their limitations.
The most natural aim of future research on Minimum Weight Trian¬
gulation is to prove the existence of a PTAS. This would be even the
best possible result, as the recent hardness result of Mulzer and Rote
[99] excludes a FPTAS unless P = J\fV. Extending our techniques to
Minimum Steiner Triangulation seems to be promising but unfor¬
tunately there might be relevant local hulls that include Steiner points.To overcome this problem one might want to show that it is sufficient
to consider local hulls containing only few Steiner points at prescribedlocations. A similar question asking for an upper bound to the number
of Steiner points in a (1 + ^-approximation is discussed in [12].
Our PTAS for Node-Weighted Steiner Tree contributes new tech¬
niques that, as we think, can also be applied to other geometric problemsthat involve trees or tree-like structures. As the concept of (s,£)-mapsdoes not extend to higher fixed dimensions, future research should not
only aim to improve the complexity of the PTAS in the plane but, also
consider NODE-WEIGHTED STEINER TREE (or a similar problem) in
dimension 3 or higher.
For Vehicle Routing with Allocation wc were able to show not
only the existence of a PTAS but also that, a (1 + ^-approximation can
157
158 Chapter 6. Conclusions
be obtained in nearly-linear time using randomization. Thus there is not
too much room for improvements. A future research challenge, however,
would be to prove a similar result for the prize-collecting variant to
which our methods do not extend. A related and more fundamental
open question is whether the prize-collecting variant of geometric TSP
admits a PTAS with complexity Ö [ n log - 'n ).
Notation
N, No natural numbers, natural numbers with 0
Qi Q>0 rational numbers, non-negative rational numbers
R, M>o real numbers, non-negative real numbers
Z, Z>o integers, non-negative integers
logn, Inn logarithms of n to base 2 and e, respectively
p(A) power set of set A
Pr{£} probabilty of event £
Pr{£ | £'} probabilty of event £ conditioned on £'
E[X] expectation of the random variable X
E[X | £] expectation of the random variable X conditioned on £
OR. boundary of the region Ft 10
R closure of the region R 10
conv(A") convex hull of point set X 10
d(p, q) Euclidean distance of the points p and q 9
dq (p, q) .5fq-distancc of the points p and q 9
Md (i-dimensional Euclidean space 9
A(T) set of triangles induced by the triangulation T 23
H+, H~ open halfspaces of a hyperplane H 10
Kp induced graph of the point set P 12
Kp^Q induced bipartite graph of the point sets P and Q 13
£q(e) ^-length of the line segment e 9
£(e) Euclidean length of the line segment e 9
iq(Q) ^-length of the SLG 0 10
159
160 Notation
£(Ç) Kuclidean length of the SLG Ç 10
Sâq .^-metric, i.e., (J2'Li ^)l/q 9
P{G) points of P that are incident to at least one edge in the SLG G 10
lüR] side length of a rectangle (or square) ÜK 28
uv straight-line segment bounded by the points u and v 10
^xyz triangle with vertices x, y, and z 10
Bibliography
[l] P. K. Agarwal. Range searching. In J. E. Goodman and J. O'Rourke, editors,
Ha,ndbook of Discrete a,nd, Computational Geometry. CRC Press, Boca Raton,
FL, 2nd edition, 2004.
[2] P. K. Agarwal, A. Efrat, and M. Sharir. Vertical decomposition of shallow
levels in 3-dimensional arrangements and its applications. SIAM Journal on
Computing, 28(3):912-953, 1999.
[3] P. K. Agarwal and J. Erickson. Geometric range searching and its relatives. In
B. Chazelle, J. E. Goodman, and R. Pollack, editors, Ad,va,nces in Discrete and
Computational Geometry, volume 223 of Contemporary Mathematics, pages
1—56. American Mathematical Socienty, Providence, Rl, 1999.
[4] A. Aggarwal, H. Imai, N. Katoh, and S. Suri. Finding k points with minimum
diameter and related problems. Journal of Algorithms, 12(1):38—56, 1991.
[5] A. V. Aho, J. E. Hopcroft, and J. D. oilman. The Design and Analysis of
Computer Algorithms. Addison-Wesley, Reading, MA, 1974.
[6] M. Aigner and G. M. Ziegler. Proofs from the book. Springer, 3rd edition, 2004.
[7] N. Ailon and B. Chazelle. Approximate nearest neighbors and the fast johnson-lindenstrauss transform. In Proceedings of the 38ih Annual ACM Symposium
on Theory of Computing, pages 557—563, 2006.
[8] E. Anagnostou and D. G. Corneil. Polynomial-time instances of the minimum
weight triangulation problem. Computational Geometry: Theory and Applica¬
tions, 3:247-259, 1993.
[9] A. Armon, A. Avidor, and O. Schwartz. Cooperative TSP. In Proceedings ofthe 14th Annual Fjuropean Symposium on Algorithms, pages 40-51, 2006.
[10] S. Arora. Polynomial time approximation schemes for Euclidean TSP and other
geometric problems. In Proceedings of the 37th Annual Symposium, on Foun¬
dations of Computer Science, pages 2-11, 1996.
[11] S. Arora. Polynomial time approximation schemes for Euclidean traveling sales¬
man and other geometric problems. Journal of the ACM, 45(5):753-782, 1998.
[12] S. Arora. Approximation schemes for NP-hard geometric optimization prob¬lems: A survey. Mathematical Programming, Series B, 97:43-69, 2003.
[13] S. Arora and K. Chang. Approximation schemes for degree-restricted MST and
red-blue separation problems. Algorithmica, 40(3): 189-210, 2004.
[14] S. Arora, P. Raghavan, and S. Rao. Approximation schemes for Euclidean k-
medians and related problems. In Proceedings of the 30th Annual ACM Sym¬
posium on Theory of Computing, pages 1.06-113, 1998.
161
162 Bibliography
[15] S. Arya, G. Das, D. M. Mount, J. S. Salowe, and M. Sinid. Euclidean spanners.
Short, thin, and lanky. In Proceedings of the 27th annual ACM Symposium on
Theory of Computing, pages 489—498, 1995.
[16] V. Arya, N. Garg, R. Khandekar, A. Meyerson, K. Munagala, and V. Pan¬
dit. Local search heuristics for fc-mcdian and facility location problems. SIAM
Journal on Computing, 33(3):544-562, 2004.
[17] G. Ausiello, P. Crescenzi, G. Gambosi, V. Kann, A. Marchetti-Spaccamcla,
and M. Protasi. Complexity and, Approximation: Combinatorial Optimization
Problems and Their Approximability Properties. Springer, 1999.
[18] J. E. Beasley and E. Nascimento. The vehicle routing allocation problem: a
unifying framework. TOP, 4:65-86, 1996.
[19] P. Belleville, J. M. Keil, M. McAllister, and J. Snoeyink. On computing edgesthat are in all minimum-weight triangulations. In Proceedings of the 12th An¬
nual Symposium on Computational Geometry, pages V7-V8, 1996.
[20] M. Bern and D. Eppstcin. Approximation algorithms for geometric problems. In
D. Hochbaum, editor, Approximation Algorithms for NP-ha,rd Problems. PWS
Publishing, Boston, MA, 1997.
[21] M. Bern and P. Plassmann. The Steiner tree problem with edge length 1 and
2. Information Processing Letters, 32:171-176, 1989.
[22] G. Borradaile, C. Kenyon-Mathieu, and P. N. Klein. A polynomial-time approx¬
imation scheme for steiner tree in planar graphs. In Proceedings of the 18th An¬
nual ACM-SIAM Symposium on Discrete Algorithms, pages 1285-1294, 2007.
[23] H. Bronnimann and M. T. Goodrich. Almost optimal set covers in finite VG-
dimension. Discrete & Computational Geometry, 14(4):463-479, 1995.
[24] T. M. Chan. Euclidean bounded-degree spanning tree ratios. In Proceedings of
the 19th ACM Symposium on Computational Geometry, pages 11-19, 2003.
[25] M. Charikar and S. Guha. Improved combinatorial algorithms for the facility
location and fc-median problems. In Proceedings of the 40th Annual Symposium
on Foundations of Computer Science, pages 378—388, 1999.
[26] B. Chazelle. A minimum spanning tree algorithm with inverse-ackermann type
complexity. Journal of the ACM, 47(6): 1028-1047, 2000.
[27] K. Chen. On fc-median clustering in high dimensions. In Proceedings of the
17Ih Annual ACM-SIAM Symposium on Discrete Algorithms, pages 1177-
1185, 2006.
[28] K. Chen and S. Har-Peled. The orienteering problem in the plane revisited. In
Proceedings of the 22nd A CM Symposium on Computational Geometry, pages
247-254, 2006.
[29] S.-W. Cheng and Y.-F. Xu. Approaching the largest beta-skeleton within a
minimum weight triangulation. In Proceedings of the 12th Annual Symposium,
071 Computational Geometry, pages 196-203, 1996.
[30] N. Christofides. Worst-case analysis of a new heuristic for the traveling salesman
problem. Technical report, Grad School of Industrial Administration, OMU,
1976.
[31] R. Courant and H. Robbins. What is Mathematics? Oxford University Press,
1941.
Bibliography 163
[32
[33;
[34:
[as:
[36
[37
[38
[39
[40
[41
[42
[43:
[44:
[45
[46
[47
[48
[49
A. Czumaj and A. Lingas. A polynomial time approximation scheme for eu-
clidean minimum cost A:-connectivity. In Proceedings of the 25th Annual Inter¬
national Colloquium on Automata, Languages and Progra.mm.ing, pages 682-
694, 1998.
A. Czumaj and A. Lingas. Fast approximation schemes for euclidean multi-
connectivity problems. In Proceedings of the 27th Annual International Collo¬
quium on Automata, Languages and Programming, pages 856—868, 2000.
G. Das and D. Joseph. Which triangulations approximate the complete graph?,in Optimal Algorithms, International Symposium, Varna, Bulgaria, pages 168-
192, 1989.
S. Das, P. P. Goswami, and S. C. Nandy. Smallest k point enclosing rectangleof arbitrary orientation. In Proceedings of the 16th Canadian Conference on
Computa,tional Geometry, pages 116- 119, 2004.
A. Datta, H.-P. Lenhof, G. Schwarz, and M. H. M. Smid. Static and dynamic
algorithms for fc-point clustering problems. Journal of Algorithms, 19(3):474—
503, 1995.
M. de Berg, J. Gudmundsson, M. J. Katz, C. Levcopoulos, M. H. Overmars,
and A. F. van der Stappen. TSP with neighborhoods of varying size. Journal
of Algorithms, 57(l):22-36, 2005.
M. dc Berg, M. van Krevald, M. Overmars, and O. Schwarzkopf. Computational
Geometry - Algorithms and Applications. Springer, 2nd edition, 2000.
M. Dickerson, J. M. Keil, and M. H. Montague. A large subgraph of the min¬
imum weight triangulation. Discrete & Computational Geometry, 18(3):289—
304, 1997.
R. L. Drysdale, S. A. McElfresh, and J. Snoeyink. On exclusion regions for
optimal triangulations. Discrete Applied Mathematics, 109(1-2):49 65, 2001.
D. Z. Du and F. K. Hwang. A proof of Gilbert-Pollack's conjecture on the
Steiner ratio. Algorithmica, 7:121-135, 1992.
R. D. Düppe and H. J. Gottschalk. Automatische Interpolation von Isolinien bei
willkürlichen Stützpunken. Allgemeine Vermessungs-Nachrichten, 77:423 -426,1970.
H. Edelsbrunner and T. S. Tan. A quadratic time algorithm for the minmax
length triangulation. SIAM Journal on Computing, 22(3):527-551, 1993.
H. Edelsbrunner, T. S. Tan, and R. Waupotitsch. An 0(n2 log 7?,) time algorithmfor the minmax angle tiiangulation. SIAM Journal on Scientific Computing,
13(4):994-1008, 1992.
A. Efrat, M. Sharir, and A. Ziv. Computing the smallest k-enclosing circle and
related problems. Computational Geometry: Theory and Applications, 4:119—
1136, 1994.
D. Eppstein. Approximating the minimum weight Steiner triangulation. Dis¬
crete & Computational Geometry, 11:163 191, 1994.
D. Eppstein and J. Erikson. Iterated nearest neighbors and finding minimal
polytopes. Discrete & Computational Geometry, 11:321 350, 1994.
D. Eppstein, M. Overmars, G. Rote, and G. Woeginger. Finding minimum area
k-gons. Discrete & Computational Geometry, 7(l):45-58, 1992.
T. Feder and D. Greene. Optimal algorithms for approximate clustering. In
Proceedings of the 10th Annual ACM Symposium on Theory of Computing,
pages 434-444, 1988.
164 Bibliography
W. Fernandez de la Vega,, M. Karpinski, and C. Kenyon. A polynomial time
approximation scheme for metric MIN-BISECTION. In Electronic Colloquiumon Computational Complexity, 2002.
W. Fernandez de la Vega, and C. Kenyon. A randomized approximation scheme
for metric MAX-CUT. Journal of Computer and System Sciences, 63:531-541,2001.
M. Fischetti, H. Harnacher, K. Joernstcn, and F. Maffioli. k -cardinality trees:
Complexity and polyhedral structure. Networks, 24:11-21, 1994.
L. R. Foulds, S. W. Wallace, J. Wilson, and L. Sagvolden. Bookmobile routingand scheduling in Buskerud County, Norway. In Proceeding of the 36th Annual
Conference of the Operational Research Society of New Zealand, pages 67-77,2001.
M. Garey, R. Graham, and D. Johnson. Some NP-complete geometric problems.In Proceedings of the 8th Annual ACM Symposium on Theory of Computing,
pages 10-22, 1976.
M. Garey, R. Graham, and D. Johnson. The complexity of computing Steiner
minimal trees. SIAM Journal on Applied Mathematics, 32:835-859, 1977.
M. R. Garey and D. S. Johnson. Computers and Intractability - A Guide to
the Theory of NP-Completness. Freeman and Company, New York, NY, 1979.
C. F. Gauss and H. C. Schumacher. Briefwechsel, volume 2. Edited by C. A.
F. Peters, Altona, 1860 - 1865. Reprinted by Olms, Hildesheim, 1975.
S. Gerke and J. Remy. Prize-collecting point sets, submitted, 2007.
P. Gilbert. New results on planar triangulations. Master's thesis, University of
Illinois, 1979.
M. X. Goemans. Minimum bounded degree spanning trees. In Proceedings ofthe 47th Annual IEEE Symposium on Foundations of Computer Science, pages
273-282, 2006.
M. X. Goemans and D. P. Williamson. A general approximation techniquefor constrained forest problems. SIAM Journal on Computing, 24(2):296-317,1995.
M. X. Goemans and D. P. Williamson. Improved approximation algorithmsfor maximum cut and satisfiability problems using semidefinite programming.Journal of the ACM, 42(6):1115-1145, 1995.
M. J. Golin, R. Raman, C. Schwarz, and M. H. M. Smid. Simple randomized
algorithms for closest pair problems. Nordic Journal of Computing, 2(l):3-27,1995.
T. F. Gonzalez. Clustering to minimize the maximum intercluster distance.
Theoretical Computer Science, 38:293-306, 1985.
M. Grantson, C. Borgelt, and C. Levcopoulos. Minimum weight triangulation
by cutting out triangles. In Proceeding of the 16th Annual International Sym¬posium on Algorithms and Computation, pages 984-994, 2005.
M. Grötschel, L. Lovâsz, and A. Schrijver. Geometric Algorithms and Combi¬
natorial Optimization. Springer, New York, NY, 2nd edition, 1993.
J. Gudmundsson and C. Levcopoulos. Minimum weight pseudo-triangulations.In Proceedings of the 20th European Workshop on Computational Geometry,2004.
Bibliography 165
[68
[69
[70
[71
[72
[73
[74
[75
[76
[77
[78
[79:
[80
[81
[82
[83:
[84
[85
[86
J. Gudmundsson, C. Levcopoulos, and G. Narasimhau. Improved greedy algo¬
rithms for constructing sparse geometric spanners. In Proceedings of the 7th
Scandinavian Workshop on Algorithm Theory, pages 163-174, 2000.
S. Har-Peled and S. Mazumdar. On coresets for k-mcans and k-median cluster¬
ing. In Proceedings of the 36th Annual ACM Symposium on Theory of Com¬
puting, pages 291 300, 2004.
S. Har-Peled and S. Mazumdar. Fast algorithms for computing the smallest
k-enclosing circle. Algorithmic^,, 41(3):147- 157, 2005.
D. S. Hochbaum and W. Maass. Approximation schemes for covering and pack¬
ing problems in image processing and VLSI. Journal of the ACM, 32(1): 130-
136, 1985.
M. Hoffmann and Y. Okamoto. The minimum weight triangulation problemwith few inner points. In Proceedings of the 1st Internation Workshop on Pa¬
rameterized and Exact Computation, pages 200-212, 2004.
F. K. Hwang, D. Richards, and P. Winter. The Steiner rIYee Problem, volume 53
of Annals of Discrete Mathematics. North-Holland, 1995.
P. Indyk. Nearest neighbors in high-dimensional spaces. In J. E. Goodman and
J. O'Rourke, editors, Handbook of Discrete and Computational Geometry. CRC
Press, Boca Raton, FL, 2nd edition, 2004.
P. Indyk and R. Motwani. Approximate nearest neighbors: Towards removingthe curse of dimensionality. In Proceedings of the 30th Annual ACM Symposium
on Theory of Computing, pages 604-613, 1998.
K. Jain and V. V. Vazirani. Approximation algorithms for metric facility lo¬
cation and A;-median problems using the primal-dual schema and Lagrangianrelaxation. Journal of the ACM, 48(2):274-296, 2001.
D. S. Johnson. The NP-completeness column: An ongoing guide. Journal of
Algorithms, 3(2): 182-195, 1982.
II. Karloff. How long can a Euclidean Traveling Salesman Tour be? SIAM
Journal on Discrete Mathematics, 2(l):91-99, 1989.
J. M. Keil. Computing a subgraph of the minimum weight triangulation. Com¬
putational Geometry: Theory and Applications, 4:18—26, 1994.
P. Klein and R. Ravi. A nearly best-possible approximation algorithm for node-
weighted Steiner trees. Journal of Algorithms, 19:104-115, 1995.
G. Klincsek. Minimal triangulations of polygonal domains. Annals of Discrete
Mathemathics, 9:121-123, 1980.
S. Kolliopoulos and S. Rao. A nearly linear-time approximation scheme for
the cuclidean fc-mcdian problem. In Proceedings of the 7th Annual European
Symposium on Algorithms, pages 378—389, 1999.
S. Kolliopoulos and S. Rao. A nearly-linear time approximation scheme for the
Euclidean /c-median problem. SIAM Journal on Computing, to appear.
A. Kumar, Y. Sabharwal, and S. Sen. Linear time algorithms for clustering
problems in any dimensions. In Proceedings of the 32nd International Collo¬
quium on Automata, Languages and Programming, 2005.
M. Labbé, G. Laporte, I. R. Martin, and J. J. S. Gonzalez. The ring star
problem: Polyhedral analysis and exact algorithm. Networks, 43(3): 177-189,2004.
M. Labbé, G. Laporte, I. R. Martin, and J. J. S. Gonzalez. Local median cyclesin networks. European Journal of Operations Research, 160(2):457-470, 2005.
166 Bibliography
C. Levcopoulos and D. Krznaric. Quasi-greedy triangulations approximating
the minimum weight triangulation. In Proceedings of the 7th Annual ACM-
SIAM Symposium, on Discrete Algorithms, pages 392—401, 1996.
C. Levcopoulos and D. Krznaric. A near-optimal heuristic for minimum weight
triangulation of convex polytops. In Proceedings of the 8th Annual ACM-SIAM
Symposium on Discrete Algorithms, pages 519-527, 1997.
C. Levcopoulos and D. Krznaric. Quasi-greedy triangulations approximating
the minimum weight triangulation. Journal of Algorithms, 27:303-338, 1998.
E. Lloyd. On triangulations of a set of points in the plane. In Proceedings of
the 18th Annual IEEE Symposium on Foundations of Computer Science, pages
228-240, 1977.
K. Mehlhorn, R. Osbild, and M. Sagraloff. Reliable and efficient computational
geometry via controlled perturbation. In Proceedings of the 33nd International
Colloquium, on Automata, Languages and Programming, pages 299—310, 2006.
Z. Melzak. On the problem of Steiner. Canadian Mathematical Bulletin, 4:143-
148, 1961.
J. S. B. Mitchell. Guillotine subdivisions approximate polygonal subdivisions:
A simple new method for the geometric k-MST problem. In Proceedings of the
7th Annual ACM-SIAM Symposium on Discrete Algorithms, pages 402 408,1996.
J. S. B. Mitchell. Guillotine subdivisions approximate polygonal subdivisions:
A simple polynomial-time approximation scheme for geometric TSP, fc-MST
and related problems. SIAM Journal on Computing, 28(4): 1298-1309, 1999.
J. S. B. Mitchell. A PTAS for TSP with neighborhoods among fat regions in the
plane. In Proceedings of the 18th Annual ACM-SIAM Symposium on Discrete
Algorithms, pages 11 18, 2007.
J. S. B. Mitchell and J. O'Rourke. Computational geometry column 42.
SIGACT News, 32(3):63-72, 2001.
J. S. B. Mitchell and S. Suri. Separation and approximation of polyhedral ob¬
jects. In Proceedings of the third Annual ACM-SIAM Symposium on Discrete
algorithms, pages 296-306, 1992.
A. Moss and Y. Rabani. Approximation algorithms for constrained node
weighted Steiner tree problems. In Proceedings of the 33rd Annual ACM Sym¬
posium, on Theory of Computing, pages 373-382, 2001.
W. Mulzer and G. Rote. Minimum weight triangulation is NP-hard. In Pro¬
ceedings of the 22nd Annual ACM Symposium on Computational Geometry,
pages 1-10, 2006.
C. Papadimitriou and K. Stciglitz. Combinatorial Optimization. Prentice-Hall,
Englewood Cliffs, NJ, 1982.
C. H. Papadimitriou and U. V. Vazirani. On two geometric problems related
to the traveling salesman problem. Journal of Algorithms, 5:231-246, 1984.
C. H. Papadimitriou and M. Yannakakis. Optimization, approximation, and
complexity classes. Journal of Computer and System Sciences, 43(3):425—440,1991.
C. H. Papadimitriou and M. Yannakakis. The traveling salesman problem with
distances one and two. Mathematics of Operations Research, 18:1-11, 1993.
S. Pettie and V. Ramachandran. An optimal minimum spanning tree algorithm.Journal of the ACM, 49(l):16-34, 2002.
Bibliography 167
[105] D. A. Plaisted and J. Hong. A heuristic triangulation algorithm. Journal of
Algorithms, 8:465 437, 1987.
[106] F. P. Preparata and M. I. Shamos. Computational Geometry: An introduction.
Springer, New York, NY, 1985.
[107] H. J. Prömcl and A. Steger. The Steiner Tree Problem — A Tour through
Graphs, Algorithms, and Complexity. Advanced Lectures in Mathematics.
Vieweg Verlag, 2002.
[108] S. B. Rao and W. D. Smith. Approximating geometrical graphs via 'spanners'and 'banyans'. In Proceedings of the 30th Annual ACM Symposium on Theory
of Computing, pages 106-113, 1998.
[109] J. Remy, R. Spöhel, and A. Weißt On Euclidean vehicle routing with allocation.
In Proceedings of the 10th Workshop on Algorithms and Data Structures, 2007.
[110] J. Remy and A. Steger. Approximation schemes for node-weighted geometric
Steiner tree problems. In Proceedings of the 8th Workshop on Approximation
Algorithms for Combinatorial Optimization Problems, pages 221-232, 2005.
[Ill] J. Remy and A. Steger. A quasi-polynomial time approximation scheme for
minimum weight triangulation. In Proceedings of the 38lh Annual ACM Sym¬
posium on Theory of Computing, pages 316-325, 2006.
[112] J. Remy and A. Steger. Approximation schemes for node-weighted geometricSteiner tree problems. Algorithmica, to appear.
[113] G. Robins and A. Zelikovsky. Improved Steiner tree approximation in graphs. In
Proceedings of the 11th annual ACM-SIAM symposium on Discrete algorithms,
pages 770-779, 2000.
[114] S. Safra and O. Schwartz. On the complexity of approximating TSP with neigh¬borhoods and related problems. In Proceedings of the 11th Annual European
Symposium on Algorithms, pages 446-458, 2003.
[115] P. Schreiber. Zur Geschichte des sog. Steiner-Weber-Problems. In Wis¬
senschaftliche Zeitschrift der Ernst-Moritz-Arndt-Universität Greifswald,Mathematisch-naturwissenschaftliche Reihe (35), pages 53-58, 1986.
[116] A. Schrijver. Combinatorial Optimization. Springer, New York, 2003.
[117] M. Segal and K. Kedem. Enclosing k points in the smallest axis parallel rec¬
tangle. Information Processing Letters, 65(2):95 99, 1998.
[118] A. Segev. The node-weighted Steiner tree problem. Networks, 17(1):1-17, 1987.
[119] M. I. Shamos and D. J. Hoey. Closest-point problems. In Proceedings of the
16th Annual, IEEE Symposium on Foundations of Computer Science, pages
151-162, 1975.
[120] J. Supowit, D. A. Plaisted, and E. M. Reingold. The traveling salesman prob¬lem and minimum matching in the unit square. SIAM Journal on Computing,
I2(I):144-156, 1983.
[121] K. Talwar. Bypassing the embedding: algorithms for low dimensional metrics.
In Proceedings of the 36th A nnual ACM Symposium on Theory of Computing,
pages 281 290, 2004.
[122] J. Tipping. Scheduling and routing grass mowers around Christchurch. In Pro¬
ceeding of the 37th Annual Conference of the Operational Research Society ofNew Zealand, 2002.
[123] G. T. Toussaint. The relative neighbourhood graph of a finite planar set. Pat¬
tern Recognition, 12:261--368, 1980.
IÖS Bibliography
[124] P. M. Vaidya. Approximate minimum weight matching on points in k-
dimcnsional space. Algorithmica, 4:569-583, 1989.
[125] P. M. Vaidya. Geometry helps in matching. SIAM Journal on Computing,
18(6):1201-1225, 1989.
[126] K. R. Varadarajan. A devide-and-conqucr algorithm for min-cost perfect match¬
ing in the plane. In Proceedings of the 39th Annual Symposium on Foundations
of Computer Science, pages 320 331, 1998.
[127] K. R. Varadarajan and P. K. Agarwal. Approximation algorithms for bipartiteand non-bipartite matching in the plane. In Proceedings of the 10th Annual
ACM Symposium on Discrete Algorithms, pages 805 -814, 1999.
[128] L. Vogt, G. A. Poojari, and J. E. Beasley. A tabu search algorithm for the
single vehicle routing allocation problem. Journal of the Operational Research
Society, to appear.
[129] B. T. Yang, Y. F. Xu, and Z. Y. You. A chain decomposition algorithm for the
proof of a property on minimum weight triangulations. In Proceedings of the
5th International Symposium on Algorithms and Computation, pages 423-427,
1994.
Curriculum Vitae
Jan Remyborn on December 1, 1977 in Rosenheim, Germany
1988 - 1997 Gymnasium in Wasserburg a. Inn, Germany
Degree: Abitur
1997 - 1998 Civilian Service at BKH Gabersee, Germany
1998 - 2003 Studies of Computer Science at TU München, Germany
Degree: Diplom-Informatiker
2003 Ph.D. student at TU München, Germany
since Nov. 2003 Ph.D. student at ETH Zurich, Switzerland