N Queens问题是否难解决?


11

N皇后问题是这样的:

输入:N

输出:在NXN棋盘上放置N个“皇后”,使得在同一行,列或对角线上没有两个皇后。

在谷歌上搜索时,我发现许多教授的许多幻灯片都声称这是一个NP-Hard问题。(例如,web.mst.edu /〜ercal / 387 / slides / NP-Hard.ppt)

但是我还不能找到证明(或推导一个)。我问这个问题的原因是因为我认为我有一种算法可以解决问题的某些情况,即N不是2或3的倍数(N是皇后数)。相关问题-我们可以认为输入大小为N(其中N是皇后数)?还是我们将输入大小设为log(N),因为数字“ N”可以用log(N)位表示?


6
(1)为什么同时使用N和n?它们是相同的变量还是不同的变量?(2)对于除2和3之外的每个整数n,都有一种方法可以将n个皇后放在满足n皇后条件的n×n板上(请参阅Wikipedia),所以我不知道您在谈论什么问题你说“这是一个NP难题”。
伊藤刚(Tsuyoshi Ito)

3
我记得板子不一定是正方形时会产生硬度结果:即,板子形状是输入的一部分。
Sasho Nikolov 2012年

27
n×nn

2
也许对解决方案进行计数是一个更有趣的问题(在“关于完整映射的计数问题的难度”中证明的#P类之外)。
Marzio De Biasi 2012年

Answers:


8

如前所述,这个问题的答案是否定的。

参考:多项式时间算法http://dl.acm.org/citation.cfm?id=101343 [courtesy:vzn]

另一种更简单的技术:http ://dl.acm.org/citation.cfm?id=122322 [courtesy:Jeffe]


您可能会考虑接受此答案,因此它不会一直显示为未回答。
Suresh Venkat 2012年

11
不保证第一个参考文献中的多项式时间算法会产生解。该算法是否成功取决于初始配置,该配置是随机选择的,并且作者仅提供经验证据,表明它似乎需要多项式试验才能成功。
伊藤刚(Tsuyoshi Ito)2012年

4
第二参考文献也不是证明。仅仅因为一个可行的解决方案,以N皇后其中n = 50万被发现,并不意味着它是P.(这只是使得它更容易)
杰弗里·迪斯

1

5
N

1
@ClementC。实际上,由于最初的问题不够精确,所以我认为卡斯珀(Kasper)提出了一点,即使他的表述方式可能不完整。给定n,确定是否存在放置在P中,因为问题总是有n> 3的解。因此,n皇后完成问题(决定一个人是否可以扩展给定的局部解决方案)似乎是一个自然的决策问题,需要了解它的复杂性。
Holf

3
@holf这确实是提出的一个正确的观点,但是这个答案甚至都没有提到(读者绝对不会通过阅读它得到这一点)。对一个模棱两可的问题有一个误导性的答案并不是最佳选择。
Clement C.
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.