SATzilla-07:SAT算法组合的设计与分析
在解决布尔可满足性问题(SAT)时,不同的算法在不同的实例上表现差异很大。SATzilla-07 是一种算法组合策略,旨在根据实例的特征选择最合适的求解器,从而提高整体的求解效率。本文将详细介绍 SATzilla-07 的设计、实现以及在 QCP 数据集上的评估。
算法选择策略
在面对一个 SAT 实例时,SATzilla-07 遵循以下通用策略:
1. 预测运行时间 :使用经验硬度模型预测每个算法在该实例上的运行时间。
2. 选择最快算法 :运行预测最快的算法。如果一个求解器未能完成运行(例如崩溃),则运行预测次快的算法。
SATzilla-07 考虑了两种不同的应用场景:
- 场景一 :针对基于 SAT 编码的拟群完成实例(QCP)的相对均匀分布,目标是最小化平均运行时间。
- 场景二 :研究由 SAT 竞赛中不同类别实例定义的多个高度异质分布,目标是最大化 SAT 竞赛的评分函数。
构建经验硬度模型
经验硬度模型的成功构建依赖于我们能否利用高效可计算的特征准确预测求解器在给定实例上的运行时间。在实验中,采用了岭回归方法(基于一组二次基函数的线性回归),该方法在均匀随机 k - SAT 和组合拍卖获胜者确定问题中已被证明非常有效。
特征选择和岭回归
为了预测算法 A 在实例分布 D 上的运行时间,具体步骤如下:
1. 从 D 中抽取 n 个
超级会员免费看
订阅专栏 解锁全文
24

被折叠的 条评论
为什么被折叠?



