回溯搜索通用重启策略及SAT分层硬度模型研究
回溯搜索相关实验
在回溯算法的研究中,为了实现算法的随机化,动态变量排序启发式方法会从排名前5的变量(若剩余变量不足5个,则取剩余的所有变量)中随机选取一个变量。该回溯算法具备三个级别的约束传播能力:
- 级别0:边界一致性
- 级别1:单例边界一致性
- 级别2:深度为2的单例边界一致性
为了评估不同约束传播级别下的算法性能,研究人员使用了SPEC 2000和MediaBench基准套件中的调度实例进行实验。这些基准套件包含了多种编程语言和应用类型的软件包源代码,研究人员共获取了来自28个不同软件包的6377个困难调度实例。其中,训练集选用了galgel、gap、mpeg和jpeg软件包中的927个困难调度实例,原因在于这些实例约占总调度实例的15%,且涵盖了整数和浮点指令,以及多种编程语言和应用类型,能很好地代表整体数据。测试集则使用了剩余的5450个困难调度实例。
对于训练集和测试集中的每个实例,研究人员通过运行随机化回溯算法1000次,记录每次运行所需的时间(精确到0.01秒),以此收集其实时分布样本。为了避免算法运行时间过长,采用了超时机制,若实例在10分钟内未得到解决,则终止算法并记录最大时间为10分钟。这些经验性的运行时间分布随后被用于学习和测试各种重启策略。
所有的运行时间实验均在一个由768台运行Linux系统的机器组成的集群上进行,每台机器配备4GB内存和四个2.2 GHz处理器。
实验1:限时求解问题数量优化
在第一个实验中,研究人员为每个实例设置了10分钟的时间限制,旨在探究从训练集中学习到的良好参数设置是否能减少测试
超级会员免费看
订阅专栏 解锁全文

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



