【发布时间】:2012-01-17 14:08:02
【问题描述】:
问题
我正在研究 SAT 优化问题的一个特殊子集。对于那些不熟悉 SAT 和相关主题的人,这里是related Wikipedia article。
TRUE=(a OR b OR c OR d) AND (a OR f) AND ...
没有非,它是合取范式。这很容易解决。不过,我正在尝试尽量减少真正分配的数量,以使整个陈述成立。我找不到解决这个问题的方法。
可能的解决方案
我想出了以下方法来解决它:
- 转换为有向图并搜索最小生成树,仅跨越顶点的子集。有 Edmond 的算法,但它给出了完整图的 MST,而不是顶点的子集。
- 也许 Edmond 算法的某个版本可以解决顶点子集的问题?
- 也许有一种方法可以从可以用其他算法解决的原始问题构建图形?
- 使用 SAT 求解器、LIP 求解器或穷举搜索。我对这些解决方案不感兴趣,因为我正在尝试将此问题用作讲座材料。
问题
你有什么想法/cmets?你能想出其他可行的方法吗?
【问题讨论】:
-
由于最小化约束,我们可以很容易地证明这个问题也是 NP-Hard 问题。你对这样的证明感兴趣吗?
标签: algorithm optimization linear-programming satisfiability