问题
我正在研究 SAT 优化问题的一个特殊子集。对于那些不熟悉 SAT 和相关主题的人,这里是相关的 Wikipedia 文章。
TRUE=(a OR b OR c OR d) AND (a OR f) AND ...
没有非,它是合取范式。这很容易解决。但是,我试图最小化真实分配的数量,以使整个陈述成为真实。我找不到解决这个问题的方法。
可能的解决方案
我想出了以下方法来解决它:
- 转换为有向图并搜索最小生成树,仅跨越顶点的子集。有 Edmond 的算法,但它给出了完整图的 MST,而不是顶点的子集。
- 也许有一个版本的 Edmond 算法可以解决顶点子集的问题?
- 也许有一种方法可以从可以用其他算法解决的原始问题构建图形?
- 使用 SAT 求解器、LIP 求解器或穷举搜索。我对这些解决方案不感兴趣,因为我正试图将这个问题用作讲座材料。
问题
你有什么想法/意见吗?你能想出其他可行的方法吗?