We show that a minor variant of the continuous Fr\'echet distance between polygonal curves can be computed using essentially the same algorithm used to solve the discrete version, thus dramatically simplifying the algorithm for computing it. The new variant is not necessarily monotone, but this shortcoming can be easily handled via refinement. Combined with a Dijkstra/Prim type algorithm, this leads to a realization of the Fr\'echet distance (i.e., a morphing) that is locally optimal (aka locally correct), that is both easy to compute, and in practice, takes near linear time on many inputs. The new morphing has the property that the leash is always as short-as-possible. We implemented the new algorithm, and developed various strategies to get a fast execution in practice. Among our new contributions is a new simplification strategy that is distance-sensitive, and enables us to compute the exact continuous Fr\'echet distance in near linear time in practice. We preformed extensive experiments on our new algorithm, and released Julia and Python packages with these new implementations.
翻译:我们证明,通过使用与解决离散版本基本相同的算法,可以计算多边形曲线之间连续弗雷歇距离的一个微小变体,从而显著简化其计算算法。该新变体不一定具有单调性,但这一缺陷可通过细化轻松处理。结合Dijkstra/Prim类型算法,这实现了弗雷歇距离的具现化(即形态变换),该变换具有局部最优性(亦称局部正确性),不仅易于计算,而且在实践中对多数输入耗时接近线性。新形态变换具有牵引绳始终尽可能短的特性。我们实现了新算法,并开发了多种策略以实现快速实际执行。我们的新贡献包括一种距离敏感的简化策略,使我们能够在实践中以接近线性的时间计算精确的连续弗雷歇距离。我们对新算法进行了大量实验,并发布了包含这些新实现的Julia和Python软件包。