这是问题所在:
在某些单元格中,我们有一个正方形,上面有一些来自1..N的数字。需要确定它是否可以完成到魔方。
例子:
2 _ 6 2 7 6
_ 5 1 >>> 9 5 1
4 3 _ 4 3 8
7 _ _
9 _ _ >>> NO SOLUTION
8 _ _
这个问题NP是否完整?如果可以,我如何证明?
这是问题所在:
在某些单元格中,我们有一个正方形,上面有一些来自1..N的数字。需要确定它是否可以完成到魔方。
例子:
2 _ 6 2 7 6
_ 5 1 >>> 9 5 1
4 3 _ 4 3 8
7 _ _
9 _ _ >>> NO SOLUTION
8 _ _
这个问题NP是否完整?如果可以,我如何证明?
Answers:
NP-Complete填充部分填充的拉丁方。“完成部分拉丁方的复杂性” Charles J. Colbourn。离散应用数学,1984年4月,第1卷,第8卷,第25-30页http://dx.doi.org/10.1016/0166-218X(84)90075-1
通过模块算术,拉丁方问题可以变成魔术方问题吗?我的直觉说是,但我的其余大脑说“回到评分!”
这个问题包括两个部分:第一,NP中的问题,第二,NP难吗?
对于第一部分,我给出了肯定的答案,但没有明显的证据。(感谢Suresh指出了先前的错误。)
考虑以下方式将问题形式化为决策问题:
不受约束的魔方补全
输入:以一进制给定的正整数,在乘网格中的位置的整数列表问题:在网格中的其余位置是否存在整数,以便该排列形成一个魔方?
如果加上限制,即整数必须在幻方中恰好出现一次,那么由此产生的MAGIC SQUARE COMPLETION决策问题显然在NP中。紧随欧拉之后的1911年《大英百科全书》中关于魔方的定义有此限制;相反,Wikipedia文章当前使用术语“正常魔术方格”,并为非限制版本保留“魔术方格”。
用乘
这也以定理4.7出现在:
这将产生以下结果:
使用Papadimitriou对INTEGER LINEAR PROGRAMMING实例的解的约束,还可以表明数字必须全部为负数的版本也位于NP中。