可计算性:具有有限子句数的 SAT 公式

Posted

技术标签:

【中文标题】可计算性:具有有限子句数的 SAT 公式【英文标题】:Computability: SAT Formula with Bounded Number of Clauses 【发布时间】:2016-10-04 12:50:40 【问题描述】:

定义 SAT2016 = \phi | \phi 是一个 CNF 公式,最多有 2016 个子句。 假设 P \neq NP,SAT2016 NP-complete 吗?

由于每个子句中的文字数量没有限制,因此尚不清楚是否存在用于检查具有恒定子句数量限制的公式的可满足性的多项式时间算法。

欢迎您的想法。

【问题讨论】:

【参考方案1】:

SAT2016 在 P.

请注意,为了满足公式,您必须将 1 分配给每个子句的至少一个文字。每个子句最多包含 2n 文字。因此,从每个子句中选择单个文字的方法数量最多为(2n)^2016。为了确定公式是否可满足,您应该(最多)迭代(2n)^2016 可能性(从每个子句中选择一个文字)并检查每种可能性是否合法。也就是说,对于 2016 年文字的每个选择(每个子句中的一个),您应该检查 2016 年文字中的两个是否恰好是某个变量及其否定。如果是这种情况,您将继续选择 2016 年文字的下一个选择。如果您检查了所有(2n)^2016 的可能性并发现它们都包含冲突,那么您会得出结论,该公式是不可满足的。

由于最多有(2n)^2016 的可能性,并且检查给定的可能性需要恒定的时间(因为您只需要遍历一组 2016 年文字中的所有可能对),因此算法的运行时间在 @ 中是多项式的987654326@.

【讨论】:

以上是关于可计算性:具有有限子句数的 SAT 公式的主要内容,如果未能解决你的问题,请参考以下文章

CakePHP 2.2.4 无法使用 HAVING 子句和计算字段对结果进行分页 - Haversine 公式

基姆拉尔森公式--计算日期周几

基于SAT的数独游戏求解程序,求C语言代码

PID增量形公式

标准差(standard error)计算公式是啥?

2021年同等学力申硕计算机综合试题解析--数学基础