The Geodesic Fréchet Distance Between Two Curves Bounding a Simple Polygon
Thijs van der Horst, Marc van Kreveld, Tim Ophelders, Bettina Speckmann
TL;DR
The paper tackles the geodesic Fréchet distance between two polygonal curves that bound a simple polygon P, with distances measured via geodesics inside P. It introduces a near-linear-time $(1+\varepsilon)$-approximation algorithm (and linear-time exactness for convex polygons), by decomposing the problem into near and far slabs using nearest-neighbor fans and transforming far-point decisions into a collection of separated one-dimensional problems. The core technical advances are a decision framework with a partition of the parameter space, a reduction to one-dimensional problems via short separators and anchors, and a propagated reachability analysis built on prefix-minima matchings and greedy paths in a free-space forest, yielding a running time of $O\left(\frac{1}{\varepsilon} (n+m \log n) \log nm \log \frac{1}{\varepsilon}\right)$ for the main result. When P is convex, the authors give a linear-time exact algorithm based on a maximally-parallel Fréchet matching structure derived from rotating calipers. Overall, the work significantly improves prior $2$-approximation and subquadratic results by achieving near-linear-time $(1+\varepsilon)$-approximation and clarifying the geometric structure underlying geodesic Fréchet distance within a simple polygon.
Abstract
The Fréchet distance is a popular similarity measure that is well-understood for polygonal curves in $\mathbb{R}^d$: near-quadratic time algorithms exist, and conditional lower bounds suggest that these results cannot be improved significantly, even in one dimension and when approximating with a factor less than three. We consider the special case where the curves bound a simple polygon and distances are measured via geodesics inside this simple polygon. Here the conditional lower bounds do not apply; Efrat $et$ $al.$ (2002) were able to give a near-linear time $2$-approximation algorithm. In this paper, we significantly improve upon their result: we present a $(1+\varepsilon)$-approximation algorithm, for any $\varepsilon > 0$, that runs in $\mathcal{O}(\frac{1}{\varepsilon} (n+m \log n) \log nm \log \frac{1}{\varepsilon})$ time for a simple polygon bounded by two curves with $n$ and $m$ vertices, respectively. To do so, we show how to compute the reachability of specific groups of points in the free space at once, by interpreting the free space as one between separated one-dimensional curves. We solve this one-dimensional problem in near-linear time, generalizing a result by Bringmann and Künnemann (2015). Finally, we give a linear time exact algorithm if the two curves bound a convex polygon.
