89、SAT算法组合:分层硬度模型与SATzilla-07的性能提升

SAT算法组合:分层硬度模型与SATzilla-07的性能提升

1. SAT问题与算法选择困境

命题可满足性问题(SAT)是计算机科学中最基础的问题之一。它自身具有研究价值,还能用于解决其他NP完全问题,如规划、调度、图着色以及软硬件验证等。目前已有许多高性能的SAT求解器,但没有一个能在所有SAT实例上占据绝对优势。不同的求解器在不同的实例上表现最佳,这使得求解困难SAT问题的从业者面临算法选择的难题:为了实现预期运行时间等性能目标,应该选择运行哪个或哪些算法呢?

传统的算法选择方法是“赢家通吃”,即测量每个候选求解器在一组代表性问题实例上的运行时间,然后只使用表现最佳(如平均或中位数性能)的算法。然而,这种方法忽略了许多在特定实例上表现出色但平均性能不佳的算法。理想的解决方案是咨询一个能告知每个算法解决给定问题实例所需时间的神谕,然后选择性能最佳的算法。但对于SAT或其他NP完全问题,计算成本低廉的完美神谕并不存在,我们无法在不实际运行算法的情况下精确确定其在任意实例上的运行时间。

2. 基于经验硬度模型的算法选择

为了解决算法选择问题,我们采用了构建近似运行时间预测器的方法,即使用机器学习技术构建经验硬度模型。这种模型可以根据实例的特征和算法的过去性能,以较低的计算成本预测算法在给定问题实例上的运行时间。此前,这种方法已在组合拍卖的胜者确定问题(WDP)中产生了有效的算法组合,但WDP的最先进求解器相对较少。

为了证明基于经验硬度模型的算法组合也能有效结合更多高度优化的算法,我们将重点放在SAT问题上。这里介绍的SATzilla是一个基于组合的SAT求解器,它利用经验硬度模型进行逐实例的算法选择。SATzilla最早于2003年提

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值