Hidoku NP是否完整?


15

Hidoku是一个网格,其中包含一些从1到预填充整数。目的是在网格中找到连续整数(从1到)的路径。更具体地讲,网格的每个像元必须包含从1到的不同整数,并且值每个像元必须具有值(也可以是对角线)的相邻像元。n 2 n 2 n 2 z n 2 z + 1n×nn2n2n2zn2z+1

NP是否难以确定给定的Hidoku是否可解决?可以使用什么减少量?

编辑:根据评论,我给出一点澄清。给定一个单元格网格,其中一些单元格已经包含值(整数从1到n²)。我们必须使用从1到整数填充所有剩余的像元,以使没有两个像元具有相同的值,并且每个值都具有一个值z +1的邻居。也就是说,在填充单元格之后,我们必须找到路径1,2,3,\ cdots,n ^ 2。在网格中,逻辑上访问每个单元。n2zn²z+11,2,3,,n2

Hidoku的例子是http://www.janko.at/Raetsel/Hidoku/018.c.gif。一个已经解决的Hidoku是http://diepresse.com/images/uploads/3/f/7/586743/spectrumsommerraetsel_7august_hidoku_schwer_loesung20100810172340.gif,您可以在其中看到我所指的路径。


1
直觉上,无需花太多时间,乍一看听起来可解决多项时间问题。在允许的值(1,,n2)和顶点(v1,vn)上进行动态编程之类的操作。在时间O(n ^ 3)中可解决O(n3)
帕尔GD

可以等效地将其建模为图形,如果节点是\ mathbb {N}中的后继节点,则将节点与边连接起来N。然后,您正在寻找汉密尔顿路径。根据Itai等人在网格图中汉密尔顿路径。(1982)这个问题在网格图中是NP完全的。由于您允许对角连接,所以这不能立即解决您的问题,但预示着严重的后果。
拉斐尔

@Raphael构造的图不是DAG吗?
帕尔GD

我看不到这是DAG。据我了解,输入是一个(无向的)网格图(也包含对角线边),目标是找到哈密顿路径,并给出路径上某些节点的位置。
乔治,

@George Okey,我将问题解释为找到网格中增加值的最大路径!
帕尔GD

Answers:


7

我认为它是 -complete:正如Raphael所注意到的那样,带孔问题的网格图上的汉密尔顿周期是NP-完全的(Alon Itai,Christos H. Papadimitriou,Jayme Luiz Szwarcfiter:网格图中的汉密尔顿路径。计算11(4):676-686(1982))。NP

因此,给定带有孔的网格图,您可以轻松构建等效的Hidoku游戏,其中初始固定像元填充所有偶数对角线;空的奇数对角线形成一个无向图,它等效于原始网格图并且当且仅当原始网格图具有哈密顿路径时,Hidoku才具有解。GG

在此处输入图片说明

图1:带有孔和等效的 Hidoku拼图的网格图(蓝色单元格代表初始固定编号的单元格(是第一个,最后单元格),白色单元格是玩家必须填充的单元格,紫色线表示初始固定编号单元格的顺序)。12×121144

辅助(填充)线可以添加到底部或右侧,以使其成为正方形。

从网格图还原为Hidoku难题的另一个示例:6x4网格图嵌入在较大的13x13网格中;偶数对角线填充有固定数字,剩余的自由单元格等效于原始网格图。

在此处输入图片说明

完整的图片可以在这里下载

一些补充说明,以完成答案:

  • 这个问题也被称为Hidato ; 电路板可以具有任意形状(但作为正方形情况的概括,它仍然是NP硬的);

  • 正如史蒂文·斯塔德尼基(Steven Stadnicki)在其回答中正确证明的那样,如果最初的部分填充的网格不是以 ×的整数数组给出,而是以某种简洁的表示形式给出,那么问题就不在于NP 。但是,在NP中很明显,如果使用合理的整数表示列表来给出初始板,则为NP ;n×n

  • 我认为游戏的原始规则说解决方案应该是独特的 ; 因此问题出在美国(对美国不利),而不太可能出现在NP中。

总之,如果我们放弃唯一的解决方案约束,并使用整数列表指定初始棋盘,则游戏为完成。n2NP


这不是DAG吗?我是否完全误解了这个问题?
帕尔GD

@PålGD:不,我不认为这是DAG,它是具有对角线边缘的无向网格图。比赛以部分填充板开始,玩家必须从小区1开始,到达最后一个做垂直或对角线步(但或许我不rememeber规则非常好...现在我检查)

1
但是它说“找到连续整数的路径”。
帕尔GD

也许只是意味着它不能两次访问同一单元,而必须访问所有单元
Vor

1n2

2

n×nΩ(n)nlgn(xi,yi,wi):xi,yin,win2(xi,yi)wilgn+lgn+lgn2=4lgnO(lgn)Ω(n)o(n)

Ω(n)

(有关类似问题的讨论,请在cstheory.SE网站上回顾我关于简洁Nurikabe的复杂性的问题。)


1
不以一元制指定董事会规模对我来说是不合理的解释。
David Eisenstat 2013年

@DavidEisenstat不一定是自然的解释,但对我来说似乎是完全有效的解释。
Steven Stadnicki

@StevenStadnicki:我同意你的看法,我在cstheory.stackexchange.com上发布的Binary Puzzle NP完全性证明中也做了类似的说明。尽管非一元表示确实不是那么合理:-)。我将在答案中添加注释。我也应该解决解决方案唯一性的问题。因为我认为原始规则说解决方案应该是唯一的。
2013年
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.