Discrete Comput Geom (2013) 50:306–329
DOI 10.1007/s00454-013-9527-8
The Geodesic Diameter of Polygonal Domains
Sang Won Bae · Matias Korman · Yoshio Okamoto
Received: 10 July 2011 / Revised: 5 November 2012 / Accepted: 24 June 2013 /
Published online: 26 July 2013
© Springer Science+Business Media New York 2013
Abstract This paper studies the geodesic diameter of polygonal domains having h
holes and n corners. For simple polygons (i.e., h = 0), the geodesic diameter is
determined by a pair of corners of a given polygon and can be computed in linear
time, as shown by Hershberger and Suri. For general polygonal domains with h ≥ 1,
however, no algorithm for computing the geodesic diameter was known prior to this
paper. In this paper, we present the first algorithms that compute the geodesic diameter
of a given polygonal domain in worst-case time O(n
7.73
) or O(n
7
(log n + h)).The
main difficulty unlike t he simple polygon case relies on the following observation
revealed in this paper: two interior points can determine the geodesic diameter and in
that case there exist at least five distinct shortest paths between the two.
Keywords Polygonal domain ·Shortest path ·Geodesic diameter ·Exact algorithm ·
Convex function · Lower envelope
A preliminary version of this paper was presented at the 18th Annual European Symposium on
Algorithms (ESA 2010).
S. W. Bae (
B
)
Department of Computer Science, Kyonggi University, Suwon, Korea
e-mail: swbae@kgu.ac.kr
M. Korman
Department of Matemàtica Aplicada II, Universitat Politècnica de Catalunya, Barcelona, Spain
e-mail: matias.korman@upc.edu
Y. O k am o to
Department of Communication Engineering and Informatics, University of Electro-Communications,
Chofu, Tokyo, Japan
e-mail: okamotoy@uec.ac.jp
123
Discrete Comput Geom (2013) 50:306–329 307
1 Introduction
A polygonal domain P with h holes and n corners is a connected and closed subset of
R
2
having h holes whose boundary consists of h + 1 simple closed polygonal chains
of n total line segments. Given a polygonal domain P, the geodesic distance d( p, q)
between two points p and q of P is defined as the length of a shortest path that connects
p and q and stays within P.
This paper addresses the geodesic diameter problem in polygonal domains having
one or more holes. The geodesic diameter diam(P) of domain P is defined as the
largest possible geodesic distance between any two points of P,thatis,diam(P) =
max
s,t∈P
d(s, t).
For simple polygons (i.e., domains with no hole), the geodesic diameter has been
extensively studied. Chazelle [7] provided the first O(n
2
)-time algorithm comput-
ing the geodesic diameter of a simple polygon. Afterwards, Suri [20] presented an
O(n log n)-time algorithm that solves the all-geodesic-farthest neighbors problem,
computing the farthest neighbor of every corner and thus finding the geodesic diam-
eter. At last, Hershberger and Suri [12] showed that the diameter can be computed in
linear time using fast matrix search techniques.
On the other hand, the geodesic diameter of a domain having one or more holes
is less understood. Mitchell [16] has posed an open problem asking an algorithm
for computing the geodesic diameter of a polygonal domain. However, even for the
corner-to-corner diameter max
u,v∈V
d(u,v), where V denotes the set of corners of
P, we know nothing better than a brute-force algorithm that takes O(n
2
log n) time,
checking all the geodesic distances between every pair of corners.
1
Prior to our results,
there was no known algorithm for computing the geodesic diameter in domains with
holes. We should also mention that Koivisto and Polishchuk [14] had claimed an
improved algorithm after a preliminary report of our work [6], but it was shown to be
a failed trial through conversations with the authors.
2
This fairly wide gap between simple polygons and polygonal domains with holes
is seemingly due to the uniqueness of the shortest path between any two points. When
a domain P has no hole, it is well known that there is a unique shortest path between
any two points [10]. Using this uniqueness, one can show that the diameter diam(P)
is realized by a pair of corners [12,20]. For general polygonal domains, however,
this is not the case. In this paper, we exhibit several examples where the diameters
are realized by non-corner points on ∂P or even by interior points of P (see Fig. 1).
Such examples were constructed based on the multiplicity of shortest paths and, to
our best knowledge, never known prior t o this work. This observation also shows an
immediate difficulty in devising any exhaustive algorithm since one sees no intuitive
discretization of the search space.
The status of the geodesic center problem is also similar. A point in P is defined as
a geodesic center if it minimizes the maximum geodesic distance from it to any other
point of P. Asano and Toussaint [3] introduced the first O(n
4
log n)-time algorithm
1
Personal communication with Joseph S. B. Mitchell.
2
Personal communication with Valentin Polishchuk.
123
308 Discrete Comput Geom (2013) 50:306–329
(a) (b) (c)
Fig. 1 Three polygonal domains where the geodesic diameter is determined by a pair (s
∗
, t
∗
) of non-corner
points; gray-shaded regions depict the interior of the holes and dark gray segments depict the boundary
∂P. Recall that P, as a set, contains its boundary ∂P . a Both s
∗
and t
∗
lie on ∂P. There are three shortest
paths between s
∗
and t
∗
. In this domain, there are two (symmetric) diametral pairs (only one is depicted for
clarity). b s
∗
∈ ∂P and t
∗
∈ int P . Three triangular holes are placed in a symmetric way, obtaining four
shortest paths between s
∗
and t
∗
. c Both s
∗
and t
∗
lie in the interior int P . Here, the five holes are packed
like jigsaw puzzle pieces, forming narrow corridors (dark gray paths) and two empty, regular triangles.
Observethatd(u
1
,v
1
) = d(u
1
,v
2
) = d(u
2
,v
2
) = d(u
2
,v
3
) = d(u
3
,v
3
) = d(u
3
,v
1
). The points s
∗
and
t
∗
lie at the centers of the triangles formed by the u
i
and the v
i
, respectively. There are six shortest paths
between s
∗
and t
∗
.
for computing the geodesic center of a simple polygon (i.e., when h = 0), and Pollack
et al. [19] improved it to O(n log n) time. As with the diameter problem, there is no
known algorithm for domains with holes. See O’Rourke and Suri [18] and Mitchell [16]
for more references on the geodesic diameter/center problem.
Since the geodesic diameter/center of a simple polygon is determined by its corners,
one can exploit the geodesic farthest-site Voronoi diagram of the set V of corners to
compute the diameter/center, which can be built in O(n log n) time [2]. Recently,
Bae and Chwa [4] presented an O(nk log
3
(n +k))-time algorithm for computing the
geodesic farthest-site Voronoi diagram of k sites in polygonal domains with holes.
This result can be used to compute the geodesic diameter max
p,q∈S
d( p, q) of a finite
set S of points in P . However, this approach cannot be directly used for computing
diam(P) without any characterization of the diameter. Moreover, when S = V ,this
approach is no better than the brute-force O(n
2
log n)-time algorithm for computing
the corner-to-corner diameter max
u,v∈V
d(u,v).
In this paper, we present the first algorithms that compute the geodesic diameter
of a given polygonal domain in O(n
7.73
) or O(n
7
(log n + h)) time in the worst case.
Our new geometric results underlying the algorithms show that the existence of any
diametral pair consisting of non-corner points implies multiple shortest paths between
the pair; among other results, we show that if (s, t) is a diametral pair and both s and
t lie in the interior of P, then there are at least five shortest paths between s and t.
Some analogies between polygonal domains and convex polytopes in R
3
can be
seen. O’Rourke and Schevon [17] proved that if the geodesic diameter on a con-
vex 3-polytope is realized by two non-corner points, then at least five shortest paths
exist between the two; see also Zalgaller [21] for simpler arguments. Based on this
observation, they presented an O(n
14
log n)-time algorithm for computing the geo-
desic diameter on a convex 3-polytope. Afterwards, the time bound was improved
to O(n
8
log n) by Agarwal et al. [1] and recently to O(n
7
log n) by Cook IV and
Wenk [9].
123
Discrete Comput Geom (2013) 50:306–329 309
The rest of the paper is organized as follows: after introducing preliminary defin-
itions and concepts in Sect. 2, we investigate local maxima of the lower envelope of
convex functions in Sect. 3, resulting in Theorem 1. Section 4 extensively exploits the
intermediate result to show lower bounds on the number of shortest paths between a
diametral pair for every possible case, and then Sect. 5 describes our algorithms for
the geodesic diameter. We finally conclude the paper with a summary, some remarks,
and open issues in Sect. 6. Also, we exhibit several examples that cover all possible
combinatorial cases in Appendix 1.
2 Preliminaries
Throughout the paper, we frequently use s everal topological concepts such as open
and closed subsets, neighborhoods, and the boundary ∂ A and the interior int A of a
set A; unless stated otherwise, all of them are supposed to be derived with respect to
the standard topology on R
d
with the Euclidean norm ·for fixed d ≥ 1. We also
denote the straight line segment joining two points a, b by
ab.
A polygonal domain P with h holes and n corners
3
is a connected and closed subset
of R
2
with h holes whose boundary ∂P consists of h + 1 simple closed polygonal
chains of n total line segments. The boundary ∂P of a polygonal domain P is regarded
as a series of obstacles so that any feasible path in P is not allowed to cross ∂P .The
geodesic distance d( p, q) between any two points p, q in a polygonal domain P is
defined as the length of a shortest feasible path between p and q, where the length
of a path is the sum of the Euclidean lengths of its segments. It is well known from
earlier work [15] t hat there always exists a shortest feasible path between any two
points p, q ∈ P , and thus the geodesic distance function d(·, ·) is well defined. The
geodesic diameter diam(P) of a polygonal domain P is defined as the largest geodesic
distance between any two points of P , that is,
diam(P) = max
s,t∈P
d(s, t).
A pair (s, t) of points in P that realizes the geodesic diameter diam(P) is called a
diametral pair.
Shortest Path Map. Let V be the set of all corners of P and π(s, t) be a shortest
path between s ∈ P and t ∈ P . Such a path π(s, t) is represented as a sequence
π(s, t) = (s,v
1
,...,v
k
, t) for some v
1
,...,v
k
∈ V ; that is, a polygonal chain through
a sequence of corners [15]. Note that we can have k = 0 when d(s, t) =s − t.
If two paths (with possibly different endpoints) have the same sequence of corners
(v
1
,...,v
k
), then they are said to have the same combinatorial structure.
The shortest path map
SPM(s) for a fixed s ∈ P is a decomposition of P into cells
such that every point in a common cell can be reached from s by shortest paths of the
same combinatorial structure. Each cell σ
s
(v) of SPM(s) is associated with a corner
v ∈ V which is the last corner of π(s, t) for any t in the cell σ
s
(v). We also define the
cell σ
s
(s) as the set of points t ∈ P such that π(s, t) passes through no corner of P ,so
3
We reserve the term “vertex” for 0-dimensional faces of subdivisions of a certain space.
123
310 Discrete Comput Geom (2013) 50:306–329
π(s, t) = st. Each edge of SPM(s) either belongs to ∂P or is an arc on the boundary
of two incident cells σ
s
(v
1
) and σ
s
(v
2
) determined by two corners v
1
,v
2
∈ V ∪{s}.
Similarly, each vertex of
SPM(s) is a vertex of P or is determined by at least three
distinct corners v
1
,v
2
,v
3
∈ V ∪{s}.
Note that, for fixed s ∈ P, a point farthest from s lies at either (1) a vertex of
SPM(s), (2) an intersection between the boundary ∂P and an edge of SPM(s),or(3)a
corner in V . The shortest path map
SPM(s) has O(n) total number of cells, edges, and
vertices and can be computed in O(n log n) time using O(n log n) working space [13].
For more details on shortest path maps, see [13,15,16].
Path-Length Function. If π(s, t) =
st, then there are two corners u,v ∈ V such that
u and v are the first and last corners along π(s, t) from s to t, respectively. Here, the
path π(s, t) is formed as the union of
su, vt and a shortest path π(u,v)from u to v.
Note that u and v are not necessarily distinct. In order to realize such a path, we assert
that s is visible from u and t is visible from v. That is, s ∈
VR(u) and t ∈ VR(v),
where
VR( p) for any p ∈ P is defined to be the set of all points q ∈ P such that
pq ⊂ P, also called the visibility region of p ∈ P.
We now define the path-length function len
u,v
: VR(u) ×VR(v) → R for any fixed
pair of corners u,v ∈ V to be
len
u,v
(s, t) := s − u+d(u,v)+v − t.
That is, len
u,v
(s, t) represents the length of paths from s to t that have a common
combinatorial structure; going straight from s to u, following a shortest path from u
to v, and going straight to t. Also, unless d(s, t) =s −t (equivalently, s ∈
VR(t)),
the geodesic distance d(s, t) can be expressed as the pointwise minimum of some
path-length functions:
d(s, t) = min
u∈VR(s), v∈VR(t)
len
u,v
(s, t).
Consequently, we have two possibilities for a diametral pair (s
∗
, t
∗
); either we have
d(s
∗
, t
∗
) =s
∗
− t
∗
or the pair (s
∗
, t
∗
) is a local maximum of the lower envelope
of several path-length functions. In the following, we will mainly study the latter case,
since the former can be easily handled.
3 Local Maxima of the Lower Envelope of Convex Functions
In this section, we give a property of the lower envelope of a family of convex functions
which will afterwards be used in our geodesic diameter environment. We start with
a basic observation on the intersection of hemispheres on a unit hypersphere in the
d-dimensional space R
d
. For any fixed positive integer d,letS
d−1
:= {x ∈ R
d
|
x=1} be the unit hypersphere in R
d
centered at the origin. A closed (or open)
hemisphere on S
d−1
is defined to be the intersection of S
d−1
and a closed (open,
respectively) half-space of R
d
bounded by a hyperplane that contains the origin.
123