Handbook of Satisfiability (2nd ed.), Chapter 6
不完备算法:不能保证程序会结束或结束时输出正确的结果
结果:可满足的赋值或失败
随机本地搜索(SLS):调整变量赋值,使得满足的子句最多
本地搜索算法的评估方法:
引入拉格朗日乘数:
鞍点:
结论:如果存在鞍点,那么是局部最小解。
差分梯度:,且最多一个非零元素
迭代算法:其中
后续问题:对于一些问题(奇偶校验、汉诺塔),该方法会掉入陷阱(trap)
解决方法:将最近访问过的点作为惩罚项加入拉格朗日函数
每个子句:随机从n个变量中选择k个,正负概率0.5
衡量指标:密度(字句数量/变量数量)
问题难度:简单-困难-简单
近线性时间内成功求解一百万变量的随机3-SAT问题
可参考第22章详细介绍