【发布时间】:2014-10-07 05:33:18
【问题描述】:
我在计算机科学论坛上询问这个问题是否是 NP 完全问题,但询问编程启发式似乎更适合这个网站。就这样吧。
给定一个由单位正方形组成的 NxN 网格和 2N 个长度为 N 的二进制字符串。目标是用 0 和 1 填充网格,以便每个字符串在网格中出现一次且仅出现一次,无论是水平方向(从左到右) ) 或垂直(自上而下)。或者确定不存在这样的解决方案。如果 N 不固定,我怀疑这是一个 NP 完全问题。但是,是否有任何启发式方法可以有望将搜索速度加快到比蛮力尝试所有方法来用 N 个垂直字符串填充网格的速度?
【问题讨论】:
-
@user2040251 N 可以是任何东西,但为了使问题至少有趣,让我们假设 N=30 开始。
-
我会尝试一个约束程序求解器(例如,z3)。
标签: algorithm heuristics