“零一”拼图是否完整?


18

我感兴趣的平铺的轻微变型中,“线锯”之谜:一个(正方形)瓦片的每个边缘被标记与来自符号,以及两个瓷砖可以被放置成邻近彼此当且仅当在一个瓦片的衬缘的符号是ķ并且在另一瓦片的衬缘的符号是ˉ ķ,对于一些ķ { 1 ... ñ }。然后,给定一组m 2的瓷砖,可以将它们放置在m × m{1n,1¯n¯}kk¯k{1n}m2m×m正方形(旋转但不翻转瓷砖)且所有边缘正确匹配?(在此问题上还有一个变体,其中提供了四个 “框架”边缘,并且这些块必须正确地放入该框架中)。1×m

我知道对于足够大的,这个问题是NP完全的,但是我在n上看到的界限似乎很大。我对n的较小值特别是n = 1的问题感兴趣,尤其是在n 1的情况下(“零一”情况)(其中每个边都标记为01且边为0的边必须与边为1的边匹配)nnnn=10101)。在这里(具有旋转对称性)只有六种图块类型(全零图块,全一图块,具有三个零和一个零的图块,具有三个一和零的图块以及具有两个零的两个不同的图块)和两个“ 0011”和“ 0101”),因此问题实例只是一个的规范以及一组五个数字T 0000T 0001T 0011T 0101T 0111T 1111(代表计数)每种类型的瓦),用Ť 0000 + Ť 0001 + Ť 0011 + ŤmT0000T0001T0011T0101T0111T1111。问题很明显是在NP中(其中m以一元给出),因为可以简单地展示一个解决方案,然后以多项式(以m)为单位进行检查,但是已知它是NP完全的,或者有某种动态编程算法可以在这里申请?如果问题说明中还包括要匹配的正方形的四个边,那么在“框架”情况下该怎么办?(很明显,如果未定格的案例是NP完全的,那么定格的案例几乎也可以确定)T0000+T0001+T0011+T0101+T0111+T1111=m2mm


2
它不可能是NP完全的,因为只有可能的输入,根据马哈尼定理,要使问题成为NP完全,您还需要更多(除非P = NP)。但是,如果使用框架,则该障碍物将消失。因此可能带有框架是NP完整的。θ(m10)
彼得·索尔

1
中间步骤将是证明确定部分填充的6层拼图玩具(即某些碎片已经在木板上并且无法移动)是否可以正确完成的问题是NP-complete。
2013年

Answers:


3

既然您提到您有兴趣解决小值问题,我建议您尝试以SAT求解器或整数线性程序(ILP)的形式实现。任一者都可以对约束进行编码,但方式略有不同:n

  • 对于SAT,有一个非常干净的编码可以选择进入每个方格的图块,而对于每个图块的数量的约束(使用位算术)的编码则不太干净。

  • 对于ILP,关于可用的每种类型的图块的数量的约束的编码非常简洁,而对于彼此相邻的图块的约束的编码则不太清晰(但是仍然可以表示,因为您可以在ILP中表达任意布尔公式)。

我希望对于中小型,此方法可能有效。n


我同意这似乎是解决问题的一种合理方法,但是我对具体解决问题的兴趣不如了解其复杂性。(例如,如果它在P中,那么几乎可以肯定有某种动态编程方法可以轻松
胜过

@StevenStadnicki,好的,很公平。但是,我正在努力调和〜“我有兴趣了解它的(渐近)复杂度(例如,它是否是NP完全的)”〜〜“我对小值感兴趣的问题”〜 。n
DW

抱歉,问题说明可能有些混乱;我使用来(基本上)表示边缘形状的数量,并且我对只有一个边缘形状要匹配的情况特别感兴趣(想想“ innie”或“ outie”);我想知道有关的复杂性问题的函数来,网格尺寸。nm
史蒂文·斯塔德尼基

@StevenStadnicki,啊,我的错!抱歉,我没有仔细阅读。这很有意义-谢谢。
DW

不用担心-我应该事先考虑它;当我回到家时,我将尝试编辑问题以使用更“传统”的参数化。
史蒂文·斯塔德尼基
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.