Walking Your Frog Fast in 4 LoC
Nis Meinert
TL;DR
The paper tackles the computational challenge of the discrete Fréchet distance between polygonal curves, which traditionally requires a recurrence with $O(PQ)$ memory. It introduces a recursion-free, iterative algorithm (the Fast Fréchet Distance) that computes the distance with linear memory $O(Q)$ and a concise, vectorizable implementation. The core contribution is Alg. fast, built with fold/reduce and scan/accumulate operations, and its capacity to run efficiently on SIMD and GPGPU architectures; the authors provide empirical benchmarks showing substantial CPU speedups ($\sim$19–$22\times$) and competitive GPU performance. The work enables scalable, exact distance computations for large trajectory datasets and batch processing, with open-source reproduce-and-extend potential for applications in clustering, movement analytics, and uncertain-curve reasoning.
Abstract
Given two polygonal curves, there are many ways to define a notion of similarity between them. One popular measure is the Fréchet distance which has many desirable properties but is notoriously expensive to calculate, especially for non-trivial metrics. In 1994, Eiter and Mannila introduced the discrete Fréchet distance which is much easier to implement and approximates the continuous Fréchet distance with a quadratic runtime overhead. However, this algorithm relies on recursions and is not well suited for modern hardware. To that end, we introduce the Fast Fréchet Distance algorithm, a recursion-free algorithm that calculates the discrete Fréchet distance with a linear memory overhead and that can utilize modern hardware more effectively. We showcase an implementation with only four lines of code and present benchmarks of our algorithm running fast on modern CPUs and GPGPUs.
