In this paper we study the problem of computing the geodesic center of a simple polygon when the available workspace is limited. For an $n$-vertex simple polygon, we give a time-space trade-off algorithm that finds the geodesic center in $O(T(n, s) \log^2 n+ \frac{n^2}{s} \log n)$ expected time and uses $O(s)$ additional words of space where $s\in Ω(\log n) \cap O(n)$, and $T(n, s)$ is the time needed for constructing the shortest path tree of a given point inside a simple polygon, in depth-first order, with $O(s)$ extra space. Applying the best current known time-space trade-off of Oh and Ahn (Algorithmica 2019) for shortest path tree, our algorithm runs in $O(\frac{n^2}{s} \log^3 n)$ expected time.
The geodesic edge center of a polygon is a point c inside the polygon that minimizes the maximum geodesic distance from c to any edge of the polygon, where geodesic distance is the shortest path distance inside the polygon. We give a linear-time algorithm to find a geodesic edge center of a simple polygon. This improves on the previous O(n log n) time algorithm by Lubiw and Naredla [European Symposium on Algorithms, 2021]. The algorithm builds on an algorithm to find the geodesic vertex center of a simple polygon due to Pollack, Sharir, and Rote [Discrete & Computational Geometry, 1989] and an…
The geodesic $k$-center problem in a simple polygon with $n$ vertices consists in the following. Find a set $S$ of $k$ points in the polygon that minimizes the maximum geodesic distance from any point of the polygon to its closest point in $S$. In this paper, we focus on the case where $k=2$ and present an exact algorithm that returns a geodesic $2$-center in $O(n^2\log^2 n)$ time.
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 known 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 the si…
We present an algorithm that computes the geodesic center of a given polygonal domain. The running time of our algorithm is $O(n^{12+ε})$ for any $ε>0$, where $n$ is the number of corners of the input polygonal domain. Prior to our work, only the very special case where a simple polygon is given as input has been intensively studied in the 1980s, and an $O(n \log n)$-time algorithm is known by Pollack et al. Our algorithm is the first one that can handle general polygonal domains having one or more polygonal holes.
We consider the problem of covering the boundary of a simple polygon on n vertices using the minimum number of geodesic unit disks. We present an O(n \log^2 n+k) time 2-approximation algorithm for finding the centers of the disks, with k denoting the number centers found by the algorithm.
Given a polygon $P$, for two points $s$ and $t$ contained in the polygon, their \emph{geodesic distance} is the length of the shortest $st$-path within $P$. A \emph{geodesic disk} of radius $r$ centered at a point $v \in P$ is the set of points in $P$ whose geodesic distance to $v$ is at most $r$. We present a polynomial time $2$-approximation algorithm for finding a densest geodesic unit disk packing in $P$. Allowing arbitrary radii but constraining the number of disks to be $k$, we present a $4$-approximation algorithm for finding a packing in $P$ with $k$ geodesic disks whose minimum radius…
Given a set of point sites in a simple polygon, the geodesic farthest-point Voronoi diagram partitions the polygon into cells, at most one cell per site, such that every point in a cell has the same farthest site with respect to the geodesic metric. We present an $O(n\log\log n+m\log m)$- time algorithm to compute the geodesic farthest-point Voronoi diagram of $m$ point sites in a simple $n$-gon. This improves the previously best known algorithm by Aronov et al. [Discrete Comput. Geom. 9(3):217-255, 1993]. In the case that all point sites are on the boundary of the simple polygon, we can compu…
Given a simple polygon $P$ and a set $Q$ of points contained in $P$, we consider the geodesic $k$-center problem where we want to find $k$ points, called \emph{centers}, in $P$ to minimize the maximum geodesic distance of any point of $Q$ to its closest center. In this paper, we focus on the case for $k=2$ and present the first exact algorithm that efficiently computes an optimal $2$-center of $Q$ with respect to the geodesic distance in $P$.
In this paper, we show that the $L_1$ geodesic diameter and center of a simple polygon can be computed in linear time. For the purpose, we focus on revealing basic geometric properties of the $L_1$ geodesic balls, that is, the metric balls with respect to the $L_1$ geodesic distance. More specifically, in this paper we show that any family of $L_1$ geodesic balls in any simple polygon has Helly number two, and the $L_1$ geodesic center consists of midpoints of shortest paths between diametral pairs. These properties are crucial for our linear-time algorithms, and do not hold for the Euclidean …
Polygons are a paramount data structure in computational geometry. While the complexity of many algorithms on simple polygons or polygons with holes depends on the size of the input polygon, the intrinsic complexity of the problems these algorithms solve is often related to the reflex vertices of the polygon. In this paper, we give an easy-to-describe linear-time method to replace an input polygon $\mathcal{P}$ by a polygon $\mathcal{P}'$ such that (1) $\mathcal{P}'$ contains $\mathcal{P}$, (2) $\mathcal{P}'$ has its reflex vertices at the same positions as $\mathcal{P}$, and (3) the number of…
Given two points in a simple polygon $P$ of $n$ vertices, its geodesic distance is the length of the shortest path that connects them among all paths that stay within $P$. The geodesic center of $P$ is the unique point in $P$ that minimizes the largest geodesic distance to all other points of $P$. In 1989, Pollack, Sharir and Rote [Disc. \& Comput. Geom. 89] showed an $O(n\log n)$-time algorithm that computes the geodesic center of $P$. Since then, a longstanding question has been whether this running time can be improved (explicitly posed by Mitchell [Handbook of Computational Geometry, 2000]…
Given a set of sites in a simple polygon, a geodesic Voronoi diagram of the sites partitions the polygon into regions based on distances to sites under the geodesic metric. We present algorithms for computing the geodesic nearest-point, higher-order and farthest-point Voronoi diagrams of m point sites in a simple n-gon, which improve the best known ones for m <= n/ polylog n. Moreover, the algorithms for the geodesic nearest-point and farthest-point Voronoi diagrams are optimal for m <= n/ polylog n. This partially answers a question posed by Mitchell in the Handbook of Computational Geometry.
We present an efficient dynamic data structure that supports geodesic nearest neighbor queries for a set $S$ of point sites in a static simple polygon $P$. Our data structure allows us to insert a new site in $S$, delete a site from $S$, and ask for the site in $S$ closest to an arbitrary query point $q \in P$. All distances are measured using the geodesic distance, that is, the length of the shortest path that is completely contained in $P$. Our data structure achieves polylogarithmic update and query times, and uses $O(n\log^3n\log m + m)$ space, where $n$ is the number of sites in $S$ and $…
The geodesic Voronoi diagram of m point sites inside a simple polygon of n vertices is a subdivision of the polygon into m cells, one to each site, such that all points in a cell share the same nearest site under the geodesic distance. The best known lower bound for the construction time is Omega( n + m log m ), and a matching upper bound is a long-standing open question. The state-of-the-art construction algorithms achieve O( (n+m) log (n+m) ) and O( n+m log m log^2 n ) time, which are optimal for m=Omega(n) and m=O( n / log^3 n ), respectively. In this paper, we give a construction algorithm…
The geodesic between two points $a$ and $b$ in the interior of a simple polygon~$P$ is the shortest polygonal path inside $P$ that connects $a$ to $b$. It is thus the natural generalization of straight line segments on unconstrained point sets to polygonal environments. In this paper we use this extension to generalize the concept of the order type of a set of points in the Euclidean plane to geodesic order types. In particular, we show that, for any set $S$ of points and an ordered subset $\mathcal{B} \subseteq S$ of at least four points, one can always construct a polygon $P$ such that the p…
We present an efficient dynamic data structure that supports geodesic nearest neighbor queries for a set of point sites $S$ in a static simple polygon $P$. Our data structure allows us to insert a new site in $S$, delete a site from $S$, and ask for the site in $S$ closest to an arbitrary query point $q \in P$. All distances are measured using the geodesic distance, that is, the length of the shortest path that is completely contained in $P$. Our data structure supports queries in $O(\sqrt{n}\log n\log^2 m)$ time, where $n$ is the number of sites currently in $S$, and $m$ is the number of vert…
We show that the geodesic diameter of a polygonal domain with n vertices can be computed in O(n^4 log n) time by considering O(n^3) candidate diameter endpoints; the endpoints are a subset of vertices of the overlay of shortest path maps from vertices of the domain.
We unveil an alluring alternative to parametric search that applies to both the non-geodesic and geodesic Fréchet optimization problems. This randomized approach is based on a variant of red-blue intersections and is appealing due to its elegance and practical efficiency when compared to parametric search. We present the first algorithm for the geodesic Fréchet distance between two polygonal curves $A$ and $B$ inside a simple bounding polygon $P$. The geodesic Fréchet decision problem is solved almost as fast as its non-geodesic sibling and requires $O(N^{2\log k)$ time and $O(k+N)$ space afte…
For a polygonal domain with $h$ holes and a total of $n$ vertices, we present algorithms that compute the $L_1$ geodesic diameter in $O(n^2+h^4)$ time and the $L_1$ geodesic center in $O((n^4+n^2 h^4)α(n))$ time, respectively, where $α(\cdot)$ denotes the inverse Ackermann function. No algorithms were known for these problems before. For the Euclidean counterpart, the best algorithms compute the geodesic diameter in $O(n^{7.73})$ or $O(n^7(h+\log n))$ time, and compute the geodesic center in $O(n^{11}\log n)$ time. Therefore, our algorithms are significantly faster than the algorithms for the …
We introduce the \emph{visibility center} of a set of points inside a polygon -- a point $c_V$ such that the maximum geodesic distance from $c_V$ to see any point in the set is minimized. For a simple polygon of $n$ vertices and a set of $m$ points inside it, we give an $O((n+m) \log {(n+m)})$ time algorithm to find the visibility center. We find the visibility center of \emph{all} points in a simple polygon in $O(n \log n)$ time. Our algorithm reduces the visibility center problem to the problem of finding the geodesic center of a set of half-polygons inside a polygon, which is of independent…
In this paper, we study the problem of computing Euclidean geodesic centers of a polygonal domain $\mathcal{P}$ with a total of $n$ vertices. We discover many interesting observations. We give a necessary condition for a point being a geodesic center. We show that there is at most one geodesic center among all points of $\mathcal{P}$ that have topologically-equivalent shortest path maps. This implies that the total number of geodesic centers is bounded by the combinatorial size of the shortest path map equivalence decomposition of $\mathcal{P}$, which is known to be $O(n^{10})$. One key observ…
Motivated by the $k$-center problem in location analysis, we consider the \emph{polygon burning} (PB) problem: Given a polygonal domain $P$ with $h$ holes and $n$ vertices, find a set $S$ of $k$ vertices of $P$ that minimizes the maximum geodesic distance from any point in $P$ to its nearest vertex in $S$. Alternatively, viewing each vertex in $S$ as a site to start a fire, the goal is to select $S$ such that fires burning simultaneously and uniformly from $S$, restricted to $P$, consume $P$ entirely as quickly as possible. We prove that PB is NP-hard when $k$ is arbitrary. We show that the di…
An $s$-workspace algorithm is an algorithm that has read-only access to the values of the input, write-only access to the output, and only uses $O(s)$ additional words of space. We present a randomized $s$-workspace algorithm for triangulating a simple polygon $P$ of $n$ vertices that runs in $O(n^2/s+n \log n \log^{5} (n/s))$ expected time using $O(s)$ variables, for any $s \leq n$. In particular, when $s \leq \frac{n}{\log n\log^{5}\log n}$ the algorithm runs in $O(n^2/s)$ expected time.
Maximal Distortion of Geodesic Diameters in Polygonal Domains
Algoresearch L.L.C.(Algoreresearch有限责任公司);Research Institute of the University of Bucharest(布加勒斯特大学研究所);Alfréd Rényi Institute of Mathematics(阿尔弗雷德·雷尼数学研究所);California State University Northridge(北岭加州州立大学);Tufts University(塔夫茨大学)
Given a set $S$ of $m$ point sites in a simple polygon $P$ of $n$ vertices, we consider the problem of computing the geodesic farthest-point Voronoi diagram for $S$ in $P$. It is known that the problem has an $Ω(n+m\log m)$ time lower bound. Previously, a randomized algorithm was proposed [Barba, SoCG 2019] that can solve the problem in $O(n+m\log m)$ expected time. The previous best deterministic algorithms solve the problem in $O(n\log \log n+ m\log m)$ time [Oh, Barba, and Ahn, SoCG 2016] or in $O(n+m\log m+m\log^2 n)$ time [Oh and Ahn, SoCG 2017]. In this paper, we present a deterministic …
We are given a read-only memory for input and a write-only stream for output. For a positive integer parameter s, an s-workspace algorithm is an algorithm using only $O(s)$ words of workspace in addition to the memory for input. In this paper, we present an $O(n^2/s)$-time $s$-workspace algorithm for subdividing a simple polygon into $O(\min\{n/s,s\})$ subpolygons of complexity $O(\max\{n/s,s\})$. As applications of the subdivision, the previously best known time-space trade-offs for the following three geometric problems are improved immediately: (1) computing the shortest path between two po…
Given a simple polygon $P$ on $n$ vertices, and a set $D$ of $m$ pairwise intersecting geodesic disks in $P$, we show that five points in $P$ are always sufficient to pierce all the disks in $D$. This improves the previous bound of 14, obtained by Bose, Carmi, and Shermer.
Let $P$ be a simple polygon with $n$ vertices, and let $q \in P$ be a point in $P$. Let $k \in \{0, \dots, n - 1\}$. A point $p \in P$ is $k$-visible from $q$ if and only if the line segment $pq$ crosses the boundary of $P$ at most $k$ times. The $k$-visibility region of $q$ in $P$ is the set of all points that are $k$-visible from $q$. We study the problem of computing the $k$-visibility region in the limited workspace model, where the input resides in a random-access read-only memory of $O(n)$ words, each with $Ω(\log{n})$ bits. The algorithm can read and write $O(s)$ additional words of wor…
We devise the following dynamic algorithms for both maintaining as well as querying for the visibility and weak visibility polygons amid vertex insertions and/or deletions to the simple polygon. * A fully-dynamic algorithm for maintaining the visibility polygon of a fixed point located interior to the simple polygon amid vertex insertions and deletions to the simple polygon. The time complexity to update the visibility polygon of a point $q$ due to the insertion (resp. deletion) of vertex $v$ to (resp. from) the current simple polygon is expressed in terms of the number of combinatorial change…
Let $P$ be a simple polygon with $n$ vertices. For any two points in $P$, the geodesic distance between them is the length of the shortest path that connects them among all paths contained in $P$. Given a set $S$ of $m$ sites being a subset of the vertices of $P$, we present a randomized algorithm to compute the geodesic farthest-point Voronoi diagram of $S$ in $P$ running in expected $O(n + m)$ time. That is, a partition of $P$ into cells, at most one cell per site, such that every point in a cell has the same farthest site with respect to the geodesic distance. In particular, this algorithm …
We consider a variant of two-point Euclidean shortest path query problem: given a polygonal domain, build a data structure for two-point shortest path query, provided that query points always lie on the boundary of the domain. As a main result, we show that a logarithmic-time query for shortest paths between boundary points can be performed using O~ (n^5) preprocessing time and O(n^5) space where n is the number of corners of the polygonal domain and the O~ notation suppresses the polylogarithmic factor. This is realized by observing a connection between Davenport-Schinzel sequences and our pr…
In memory-constrained algorithms we have read-only access to the input, and the number of additional variables is limited. In this paper we introduce the compressed stack technique, a method that allows to transform algorithms whose space bottleneck is a stack into memory-constrained algorithms. Given an algorithm \alg\ that runs in O(n) time using $Θ(n)$ variables, we can modify it so that it runs in $O(n^2/s)$ time using a workspace of O(s) variables (for any $s\in o(\log n)$) or $O(n\log n/\log p)$ time using $O(p\log n/\log p)$ variables (for any $2\leq p\leq n$). We also show how the tech…
We present an algorithm for computing the so-called Beer-index of a polygon $P$ in $O(n^2)$ time, where $n$ is the number of corners. The polygon $P$ may have holes. The Beer-index is the probability that two points chosen independently and uniformly at random in $P$ can see each other. Given a finite set $M$ of $m$ points in a simple polygon $P$, we also show how the number of pairs in $M$ that see each other can be computed in $O(n\log n+m^{4/3}\log^αm\log n)$ time, where $α<1.78$ is a constant. We likewise study the problem of computing the expected geodesic distance between two points chos…
In this note, we propose a straightforward method to produce an straight-line embedding of a planar graph where one face of a graph is fixed in the plane as a star-shaped polygon. It is based on minimizing discrete Dirichlet energies, following the idea of Tutte's embedding theorem. We will call it a geodesic triangulation of the star-shaped polygon. Moreover, we study the homotopy property of spaces of all straight-line embeddings. We give a simple argument to show that this space is contractible if the boundary is a non-convex quadrilateral. We conjecture that the same statement holds for ge…
Given a point $s$ and a set of $h$ pairwise disjoint polygonal obstacles of totally $n$ vertices in the plane, we present a new algorithm for building an $L_1$ shortest path map of size O(n) in $O(T)$ time and O(n) space such that for any query point $t$, the length of the $L_1$ shortest obstacle-avoiding path from $s$ to $t$ can be reported in $O(\log n)$ time and the actual shortest path can be found in additional time proportional to the number of edges of the path, where $T$ is the time for triangulating the free space. It is currently known that $T=O(n+h\log^{1+ε}h)$ for an arbitrarily sm…