Table of Contents
Fetching ...

Shortest Paths in Geodesic Unit-Disk Graphs

Bruce W. Brewer, Haitao Wang

Abstract

Let $S$ be a set of $n$ points in a polygon $P$ with $m$ vertices. The geodesic unit-disk graph $G(S)$ induced by $S$ has vertex set $S$ and contains an edge between two vertices whenever their geodesic distance in $P$ is at most one. In the weighted version, each edge is assigned weight equal to the geodesic distance between its endpoints; in the unweighted version, every edge has weight $1$. Given a source point $s \in S$, we study the problem of computing shortest paths from $s$ to all vertices of $G(S)$. To the best of our knowledge, this problem has not been investigated previously. A naive approach constructs $G(S)$ explicitly and then applies a standard shortest path algorithm for general graphs, but this requires quadratic time in the worst case, since $G(S)$ may contain $Ω(n^2)$ edges. In this paper, we give the first subquadratic-time algorithms for this problem. For the weighted case, when $P$ is a simple polygon, we obtain an $O(m + n \log^{2} n \log^{2} m)$-time algorithm. For the unweighted case, we provide an $O(m + n \log n \log^{2} m)$-time algorithm for simple polygons, and an $O(\sqrt{n} (n+m)\log(n+m))$-time algorithm for polygons with holes. To achieve these results, we develop a data structure for deletion-only geodesic unit-disk range emptiness queries, as well as a data structure for constructing implicit additively weighted geodesic Voronoi diagrams in simple polygons. In addition, we propose a dynamic data structure that extends Bentley's logarithmic method from insertions to priority-queue updates, namely insertion and delete-min operations. These results may be of independent interest.

Shortest Paths in Geodesic Unit-Disk Graphs

Abstract

Let be a set of points in a polygon with vertices. The geodesic unit-disk graph induced by has vertex set and contains an edge between two vertices whenever their geodesic distance in is at most one. In the weighted version, each edge is assigned weight equal to the geodesic distance between its endpoints; in the unweighted version, every edge has weight . Given a source point , we study the problem of computing shortest paths from to all vertices of . To the best of our knowledge, this problem has not been investigated previously. A naive approach constructs explicitly and then applies a standard shortest path algorithm for general graphs, but this requires quadratic time in the worst case, since may contain edges. In this paper, we give the first subquadratic-time algorithms for this problem. For the weighted case, when is a simple polygon, we obtain an -time algorithm. For the unweighted case, we provide an -time algorithm for simple polygons, and an -time algorithm for polygons with holes. To achieve these results, we develop a data structure for deletion-only geodesic unit-disk range emptiness queries, as well as a data structure for constructing implicit additively weighted geodesic Voronoi diagrams in simple polygons. In addition, we propose a dynamic data structure that extends Bentley's logarithmic method from insertions to priority-queue updates, namely insertion and delete-min operations. These results may be of independent interest.

Paper Structure

This paper contains 101 sections, 45 theorems, 20 equations, 26 figures, 11 algorithms.

Key Result

Lemma 1

For every site $b \in B_a$, we have $d_G(b) \;=\; \mathrm{dist}[\sigma_b] + d(\sigma_b, b)$.

Figures (26)

  • Figure 1: Example of a geodesic unit disk centered at $s$ (the black solid curve is the boundary of the disk). A unit-length $s$-$t$ path (the dashed path) is also shown.
  • Figure 2: Illustrating a the funnel $F_s(\overline{tr})$ (the light blue region).
  • Figure 3: The three solid segments represent edges in $G(S)$. The two dotted curves represent two subpaths of $\pi(s,b)$.
  • Figure 4: Illustrations of $\Xi(S)$. The region bounded by $\Xi(S)$ and $d$ is $\mathcal{D}_R(S)$.
  • Figure 5: Illustrations of $p \prec_R p$.
  • ...and 21 more figures

Theorems & Definitions (88)

  • Lemma 1
  • proof
  • Theorem 1
  • Theorem 2
  • Theorem 3
  • Theorem 4
  • proof
  • Lemma 2
  • proof
  • proof
  • ...and 78 more