We show that, for planar point sets, the number of non-crossing Hamiltonian paths is polynomially bounded in the number of non-crossing paths, and the number of non-crossing Hamiltonian cycles (polygonalizations) is polynomially bounded in the number of surrounding cycles. As a consequence, we can list the non-crossing Hamiltonian paths or the polygonalizations, in time polynomial in the output size, by filtering the output of simple backtracking algorithms for non-crossing paths or surrounding cycles respectively. To prove these results we relate the numbers of non-crossing structures to two easily-computed parameters of the point set: the minimum number of points whose removal results in a collinear set, and the number of points interior to the convex hull. These relations also lead to polynomial-time approximation algorithms for the numbers of structures of all four types, accurate to within a constant factor of the logarithm of these numbers.
翻译:我们证明,对于平面点集,非交叉哈密顿路径的数量关于非交叉路径的数量呈多项式有界,而非交叉哈密顿回路(多边形化)的数量关于环绕圈的数量亦呈多项式有界。由此,通过分别过滤非交叉路径或环绕圈的简单回溯算法输出,我们便能在与输出规模成多项式时间内枚举非交叉哈密顿路径或多边形化。为证明这些结论,我们将非交叉结构的数量关联到两个易于计算的点集参数:使点集共线所需移除的最小点数,以及凸包内部的点数。这些关联还为所有四种结构的数量提供了多项式时间近似算法,其精度可达这些数量对数值的常数因子范围内。