在另一篇文章中,乔·菲茨西蒙斯(Joe Fitzsimons)问到“ 3SAT的当前最佳下限”。
我想走另一条路:3SAT 当前最好的上限是多少?换句话说,最有效的SAT求解器的时间复杂度是多少?
尤其是,可以找到针对SAT的次指数(但超多项式)算法吗?
在另一篇文章中,乔·菲茨西蒙斯(Joe Fitzsimons)问到“ 3SAT的当前最佳下限”。
我想走另一条路:3SAT 当前最好的上限是多少?换句话说,最有效的SAT求解器的时间复杂度是多少?
尤其是,可以找到针对SAT的次指数(但超多项式)算法吗?
Answers:
有两种“最佳” SAT求解器,一种用于理论,一种用于实践。
3SAT的随机。
3SAT的随机。
3SAT的确定性。
检查SAT会议以获取每年的比赛结果。
我不知道有什么
SAT的零错误随机算法(或coNE / Eadvice算法
)比已知的确定性算法具有更好的范围,
无论是否承诺最多有一个令人满意的分配。
“问题3-SAT在时间上是确定性可解 ”。
“对于变量的唯一可满足的3-CNF(分别为4-CNF),令人满意的分配 可以在确定的运行时间中找到,最多为O。
(分别为 O)“。
- “存在一种针对
单向误差的3-SAT的随机算法, 其运行时间为。”- “存在一种针对
单向误差在时间O内运行的4-SAT随机算法 。”
“对于唯一的3-SAT,有一种随机算法, 和
实数,让开往3-SAT之前的纸的运行时表示 为
, 当前论文的算法及时运行 “。
如前所述,如果您对理论运行时间保证感兴趣,那么这个问题是重复的。
但是我想指出的是,如果您真的想解决一个具体的问题(例如您提到的着色问题),那么我认为研究理论上的上限绝对没有任何意义。
即使您想避免“工程”方面,我还是建议您带一些受欢迎的SAT解算器,然后尝试一下,然后看看会发生什么情况(大多数都可以读取相同的DIMACS文件格式,因此尝试起来很容易不同的求解器)。您可能同时具有正面和负面的惊喜。最近我有一个SAT实例家族。事实证明,一堆具有数万个变量和超过一百万个子句的实例很容易解决,而看起来简单得多的只有数百个变量和数千个子句的实例对于我尝试过的任何求解器来说都太困难了。
除非指数时间假设为假,否则3SAT不可能具有次指数算法。
针对3-SAT的最佳确定性算法现在具有上限1.32793 ^ n,请参见Sixue Liu的https://arxiv.org/abs/1804.07901。基本上,所有k-SAT的上限都得到了改善。