广物 是一个受欢迎的拼图。我对相关难题的计算复杂性感兴趣。
问题是:
输入:在 x 正方形网格上给定一组点,整数
问题:是否存在直线多边形(其边平行于x轴或轴),使得多边形角上的点数至少为?
多边形的每个角都必须在输入点之一处(因此只能在输入点处弯曲)。
这个问题的复杂性是什么?如果解决方案仅限于凸直线多边形,那么复杂度是多少?
编辑4月13日:替代公式:查找在给定点上具有最大拐角的直线多边形。
广物 是一个受欢迎的拼图。我对相关难题的计算复杂性感兴趣。
问题是:
输入:在 x 正方形网格上给定一组点,整数
问题:是否存在直线多边形(其边平行于x轴或轴),使得多边形角上的点数至少为?
多边形的每个角都必须在输入点之一处(因此只能在输入点处弯曲)。
这个问题的复杂性是什么?如果解决方案仅限于凸直线多边形,那么复杂度是多少?
编辑4月13日:替代公式:查找在给定点上具有最大拐角的直线多边形。
Answers:
我想到了这种怪异的减少(错误的可能性很高:-)。想法:从度数为网格图上的哈密顿路径减少;平面图的每个节点都可以这样移动:每个“行”(值)和每个“列”(值)最多包含一个节点。该图可以缩放,并且每个节点都可以由具有许多点的方形小工具替换。小工具之间的水平链接(原始图形的边缘)使用不同行上的成对点进行,垂直链接使用不同列上的成对点进行。使用方形小工具的“许多点”强制进行节点遍历。
下图表示节点小工具:
它具有3个“界面点”(在不同的列/行上),并且内部边界为点。从一个界面点到另一个界面点遍历小工具的折线可以具有多个与成比例的角(图中显示了小工具的三个遍历),尤其是角点的数量在和(小工具的总点数为)。可以旋转小工具以获取其他界面点组合(,,)。
现在,我们可以按以下方式移动平面网格图:对于每对节点,和。参见下图,简单的网格。接下来,我们可以缩放图形并将每个节点替换为上面的小工具。在此阶段,每个小工具都是“隔离的”:折线不能从一个小工具转到另一个小工具。x 1 ≠ x 2 y 1 ≠ y 2 4 × 3
现在,我们可以使用底部或右侧的成对点来模拟原始图形的边缘,每对成对出现在单独的行或单独的列上;对于水平链接的两个相邻节点,请参见下图(在新的底部行中,两个点分别在第一个小工具的界面点的同一列上添加,另一个在第二个小工具的界面点的同一列上添加)。w ^
在每个小工具上,最多可以有角点(1个是由输入接口点生成的,1个是由出口接口点生成的,2个是由额外的直行遍历生成的,而内部之字形则为2C),这些点用于边缘的最大生成角点。2 e
假设原始图具有节点和边,如果我们选择,并且作为必须使用的角点数,则我们强制将难题的“隐藏”多边形设置为遍历每个小工具;但是每个小工具只能通过一对界面单元一次输入/退出一次;因此,当且仅当原始网格图具有哈密顿路径时,问题才得以解决。e C > (4 n + 2 e )k = 2 C n
没有答案,只是一些参考。首先,我写了一篇论文(很久以前!),其中给定集合中的每个点都必须是多边形角。在这种情况下,(最多)一个多边形就不足为奇了,而且很容易找到:《计算形态学》(ED)的“正交点的唯一性” 。GT Toussaint,Elsevier,北荷兰,1988,97-104。
其次,MaartenLöffler和Elena Mumford在《计算点集上的连接直线图》一文中对此工作进行了漂亮的更新,《计算几何学》 ,2011年2月1日,1-15。摘自他们的摘要:
我们研究的问题是是否存在这样的方向,即是该方向上连接的直线图的顶点集。...我们证明,最多只能有一种这样的定向,围绕某个轴最多可以旋转90度。