隐藏在方格上的多边形拼图的复杂性?


10

广物 是一个受欢迎的NP拼图。我对相关难题的计算复杂性感兴趣。

问题是:

输入:在n x n正方形网格上给定一组点,整数k

问题:是否存在直线多边形(其边平行于xxy轴),使得多边形角上的点数至少为k

多边形的每个角都必须在输入点之一处(因此只能在输入点处弯曲)。

这个问题的复杂性是什么?如果解决方案仅限于凸直线多边形,那么复杂度是多少?

编辑4月13日:替代公式:查找在给定点上具有最大拐角的直线多边形。


4
凸直线形多边形是否可以通过动态编程在多项式时间内求解?
彼得·索尔

4
是的,应该。
Jeffε

@JeffE,一般的非凸情况如何?你的倾向是什么?
Mohammad Al-Turkistany

2
对于许多此类问题,最好的选择是从平面3SAT甚至平面NAE-SAT开始。这将是非常丑陋的,但是平面度为您提供了可能需要的结构。
Suresh Venkat 2010年

5
@Suresh只是一个注释:在Google上搜索时发现,NAE3SAT的平面版本位于P(portal.acm.org/…)中。
Marzio De Biasi

Answers:


6

我想到了这种怪异的减少(错误的可能性很高:-)。想法:从度数为网格图上的哈密顿路径减少;平面图的每个节点都可以这样移动:每个“行”(值)和每个“列”(值)最多包含一个节点。该图可以缩放,并且每个节点都可以由具有许多点的方形小工具替换。小工具之间的水平链接(原始图形的边缘)使用不同行上的成对点进行,垂直链接使用不同列上的成对点进行。使用方形小工具的“许多点”强制进行节点遍历。3yx

下图表示节点小工具:

在此处输入图片说明

它具有3个“界面点”(在不同的列/行上),并且内部边界为点。从一个界面点到另一个界面点遍历小工具的折线可以具有多个与成比例的角(图中显示了小工具的三个遍历),尤其是角点的数量在和(小工具的总点数为)。可以旋转小工具以获取其他界面点组合(,,)。[W,N,E]C×CC2C2C+2C×C4+6[N,E,S][E,S,W][S,W,N]

现在,我们可以按以下方式移动平面网格图:对于每对节点,和。参见下图,简单的网格。接下来,我们可以缩放图形并将每个节点替换为上面的小工具。在此阶段,每个小工具都是“隔离的”:折线不能从一个小工具转到另一个小工具。x 1x 2 y 1 y 2 4 × 3(x1,y1),(x2,y2)x1x2y1y24×3

在此处输入图片说明

现在,我们可以使用底部或右侧的成对点来模拟原始图形的边缘,每对成对出现在单独的行或单独的列上;对于水平链接的两个相邻节点,请参见下图(在新的底部行中,两个点分别在第一个小工具的界面点的同一列上添加,另一个在第二个小工具的界面点的同一列上添加)。w ^EW

在此处输入图片说明

在每个小工具上,最多可以有角点(1个是由输入接口点生成的,1个是由出口接口点生成的,2个是由额外的直行遍历生成的,而内部之字形则为2C),这些点用于边缘的最大生成角点。2 e4+2C2e

假设原始图具有节点和边,如果我们选择,并且作为必须使用的角点数,则我们强制将难题的“隐藏”多边形设置为遍历每个小工具;但是每个小工具只能通过一对界面单元一次输入/退出一次;因此,当且仅当原始网格图具有哈密顿路径时,问题才得以解决。e C > 4 n + 2 e k = 2 C nneC>(4n+2e)k=2Cn


5

没有答案,只是一些参考。首先,我写了一篇论文(很久以前!),其中给定集合中的每个点都必须是多边形角。在这种情况下,(最多)一个多边形就不足为奇了,而且很容易找到:《计算形态学》(ED)的“正交点的唯一性” 。GT Toussaint,Elsevier,北荷兰,1988,97-104。V

其次,MaartenLöffler和Elena Mumford在《计算点集上的连接直线图》一文中对此工作进行了漂亮的更新,《计算几何学》 ,2011年2月1日,1-15。摘自他们的摘要:

我们研究的问题是是否存在这样的方向,即是该方向上连接的直线图的顶点集。...我们证明,最多只能有一种这样的定向,围绕某个轴最多可以旋转90度。V

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.