We present a $O(n^{\frac{3}{2}})$-time algorithm for the \emph{shortest (diagonal) flip path problem} for \emph{lattice} triangulations with $n$ points, improving over previous $O(n^2)$-time algorithms. For a large, natural class of inputs, our bound is tight in the sense that our algorithm runs in time linear in the number of flips in the output flip path. Our results rely on an independently interesting structural elucidation of shortest flip paths as the linear orderings of a unique partially ordered set, called a \emph{minimum flip plan}, constructed by a novel use of Farey sequences from elementary number theory. Flip paths between general (not necessarily lattice) triangulations have been studied in the combinatorial setting for nearly a century. In the Euclidean geometric setting, finding a shortest flip path between two triangulations is NP-complete. However, for lattice triangulations, which are studied as spin systems, there are known $O\left(n^2\right)$-time algorithms to find shortest flip paths. These algorithms, as well as ours, apply to \emph{constrained} flip paths that ensure a set of \emph{constraint} edges are present in every triangulation along the path. Implications for determining simultaneously flippable edges, i.e. finding optimal simultaneous flip paths between lattice triangulations, and for counting lattice triangulations are discussed.
翻译:我们提出了一种针对 $n$ 个点的格点三角化的最短(对角线)翻转路径问题的 $O(n^{\frac{3}{2}})$ 时间算法,改进了此前 $O(n^2)$ 时间算法。对于一大类自然输入,我们的界是紧的,即算法运行时间与输出翻转路径中的翻转次数呈线性关系。我们的结果依赖于一个独立有趣的发现:最短翻转路径可唯一表示为偏序集(称为最小翻转计划)的线性排序,该偏序集通过初等数论中Farey序列的新颖应用构造而成。一般(非格点)三角化之间的翻转路径已在组合学背景下研究了近一个世纪。在欧几里得几何背景下,寻找两个三角化之间的最短翻转路径是NP完全的。然而,对于作为自旋系统研究的格点三角化,已有已知的 $O(n^2)$ 时间算法来寻找最短翻转路径。这些算法以及我们的算法,都适用于约束翻转路径,确保路径中的每个三角化都包含一组约束边。文中还讨论了其对于确定可同时翻转的边(即寻找格点三角化之间的最优同时翻转路径)以及计数格点三角化的意义。