On computing the (exact) Fréchet distance with a frog
Jacobus Conradi, Ivor van der Hoog, Eva Rotenberg
TL;DR
This work reexamines the frog-based framework for computing the continuous Fréchet distance, addressing exactness, convergence, and lossless simplification. It develops an exact on-demand refinement method with exact arithmetic, provides an open-source implementation, and conducts extensive empirical analysis showing that, although frog-based methods have strong theoretical appeal, a highly optimized non-frog approach (BKN) often dominates in practice. The study highlights data-dependent performance and introduces tighter bounds and a more efficient lossless simplification to improve the theoretical robustness of the frog-based technique. Together, these results offer a nuanced view of the frog-based method’s role in exact Fréchet distance computation, emphasizing theoretical guarantees alongside practical limitations.
Abstract
The continuous Frechet distance between two polygonal curves is classically computed by exploring their free space diagram. Recently, Har-Peled, Raichel, and Robson [SoCG'25] proposed a radically different approach: instead of directly traversing the continuous free space, they approximate the distance by computing paths in a discrete graph derived from the discrete free space, recursively bisecting edges until the discrete distance converges to the continuous Frechet distance. They implement this so-called frog-based technique and report substantial practical speedups over the state of the art. We revisit the frog-based approach and address three of its limitations. First, the method does not compute the Frechet distance exactly. Second, the recursive bisection procedure only introduces the monotonicity events required to realise the Frechet distance asymptotically, that is, only in the limit. Third, the applied simplification technique is heuristic. Motivated by theoretical considerations, we develop new techniques that guarantee exactness, polynomial-time convergence, and near-optimal lossless simplifications. We provide an open-source C++ implementation of our variant. Our primary contribution is an extensive empirical evaluation. As expected, exact computation introduces overhead and increases the median running time. Yet, our method is often faster in the worst case, the slowest ten percent of instances, or even on average due to its convergence guarantees. More surprisingly, in our experiments, the implementation of Bringmann, Kuennemann, and Nusser [SoCG'19] consistently outperforms all frog-based approaches in practice. This appears to contrast published claims of the efficiency of the frog-based techniques. These results thereby provide nuanced perspective on frogs: highlighting both the theoretical appeal, but also the practical limitations.
