首页 > 其他分享 >Exponential Recency Weighted Average Branching Heuristic for SAT SolversExponential Recency Weighted

Exponential Recency Weighted Average Branching Heuristic for SAT SolversExponential Recency Weighted

时间:2024-12-04 22:32:58浏览次数:4  
标签:Branching CHB Weighted 变量 Heuristic 得分 冲突 multiplier 策略

1. CHB(conflict history-based branching heuristic)分支策略

1.1 奖励函数

  • \(numConflicts\) 从搜索开始发生冲突的总次数
  • \(lastConflict[v]\) 文字\(v\)在冲突分析出现,则\(lastConflict[v] = numConflicts\)
  • \(multiplier\) 取值为1.0或0.9。\(multiplier=1.0\) 当分支、传播或断言的变量在传播后立即导致冲突时,将multiplier设置为1.0。这意味着变量对识别冲突有直接和显著的影响,因此应该给予更高的奖励,以增加将来选择该变量进行分支的可能性。 \(multiplier = 0.9\) 如果分支、传播或断言的变量在传播后没有立即导致冲突,则将multiplier设置为0.9。这表明变量对识别冲突的影响较小,因此应该给予较低的奖励。

\[r_v = \frac {multiplier}{numConflicts - lastConflict[v] + 1} \]

1.2 文字得分

  • \(Q[v]\)是一个浮点数
  • 每个文字的\(Q[v]\)值进行搜索之前初始化为0
  • \(\alpha\)初始值为0.4,后续每次冲突减少\(10^{-6}\),直到减为0.06,后续保持不变。

\[Q[v] = (1 - \alpha)*Q[v] + \alpha*r_v \]

1.3 CHB策略步骤

  1. 初始化
    • 对于每个布尔变量,初始化一个浮点数Q分数(Q score)为0。
    • 设置步长(step-size)α的初始值为0.4,并在每次冲突后减少\(10^{-6}\),直到达到最小值0.06。
  2. 分支过程
    • 在每次分支时,选择未分配的变量v,其Q分数最高,作为分支变量。
    • 分配一个真值(true或false)给选定的变量,通常基于极性启发式,例如阶段保存(phase saving)。
  3. 传播和冲突处理
    • 进行布尔约束传播。
    • 如果传播导致冲突,确定multiplier的值:
      • 如果变量在传播后立即导致冲突,则multiplier设置为1.0。
      • 如果变量在传播后没有立即导致冲突,则multiplier设置为0.9。
    • 对于参与传播的每个变量,更新其Q分数,使用[[#1.2 文字得分]]中提到的公式,其中\(r_v\)使用[[#1.1 奖励函数]]中提到的公式。

1.4 伪码

image

1.5 CHB策略与VSIDS策略的区别

  • VSIDS策略只会在冲突分析中更新变元的得分,而CHB策略会在一个文字被赋值时(即该文字做为分支变元被赋值、单子句传播被赋值等)更新其得分。
  • VSIDS策略会周期性的对所有文字的得分乘以衰减因子,但是CHB策略只会在一个文字被赋值时衰减该文字的得分。
  • VSIDS策略对文字的得分进行bump是固定的,而CHB策略不是固定的,bump给文字的值是奖励函数计算出的得分。并且CHB策略bump的值(reward value)是基于历史冲突的,而VSIDS策略bump的值只基于当前冲突,原始VSIDS策略该bump值为常量1。

2. 其他

  • 论文中有提到单位时间内产生学习子句率高的分支策略要比低的好。

标签:Branching,CHB,Weighted,变量,Heuristic,得分,冲突,multiplier,策略
From: https://www.cnblogs.com/daweiguo/p/18587366

相关文章

  • LLMs Learn Task Heuristics from Demonstrations: A Heuristic-Driven Prompting St
    1.概述关于基于COT的Prompt构造有很多的研究,例如:CoT(Weietal.,2022),Automate-CoT(Shumetal.,2023),Auto-CoT(Zhangetal.,2023),Iter-CoT(Sunetal.,2023),Active-CoT(Diaoetal.,2023)。本篇文章尝试给出了一种解释:LLM基于有监督的ICL(in-contextlearni......
  • 什么是启发式过滤(Heuristic Filtering)?
    定义启发式过滤是一种技术方法,利用解决问题的技术和算法来识别数据中的模式、趋势或特征。这种方法通常涉及使用预测分析和近似方法,以便快速做出决策或对信息进行分类。启发式过滤通常应用于反垃圾邮件软件、防病毒程序和人工智能等领域,以有效检测垃圾邮件、恶意软件或......
  • CF1621G Weighted Increasing Subsequences 题解
    题目链接点击打开链接题目解法这种题就感觉每一步都不难想,但串在一起就不会显然考虑位置\(x\)作为\(lis\)的一部分,合法的\(lis\)的个数合法的约束是:令\(lis\)的最后一个位置为\(last\),满足\(\max\{a_{last+1},...,a_n\}>a_x\)不难发现,合法的\(last\)是一段区间......
  • Graph Edge Partitioning via Neighborhood Heuristic
    目录概符号说明VertexvsEdgepartitioningNE(NeighborExpansion)代码ZhangC.,WeiF.,LiuQ.,TangZ.G.andLiZ.Graphedgepartitioningvianeighborhoodheuristic.KDD,2017.概本文提出了一种图分割方法(edgepartitioning),保证只有少量的重复结点.符号......
  • OpenCV(cv::addWeighted()、cv::threshold())
    目录1.cv::addWeighted()函数定义:参数详解:公式:例子:2.cv::threshold()函数定义:参数详解:返回值:例子:3.总结:1.cv::addWeighted()cv::addWeighted()是OpenCV中用于将两幅图像按指定的权重进行加权求和的函数。主要用途包括图像融合、过渡效果生成等。函数定义:voidcv::add......
  • 启发式算法(Heuristic Algorithm)
    启发式算法(HeuristicAlgorithm)是一类用于解决复杂问题的算法,通过利用问题的某些特征和经验规则,在可接受的时间范围内找到较好的近似解。启发式算法不保证找到最优解,但通常可以在合理的计算时间内获得可行且质量较高的解。启发式算法的思想启发式算法的核心思想是通过利用......
  • 十一、【机器学习】【监督学习】- 局部加权线性回归 (Locally Weighted Linear Regres
     系列文章目录第一章【机器学习】初识机器学习第二章【机器学习】【监督学习】-逻辑回归算法(LogisticRegression)第三章【机器学习】【监督学习】-支持向量机(SVM)第四章【机器学习】【监督学习】-K-近邻算法(K-NN)第五章【机器学习】【监督学习】-决策树(D......
  • A successful Git branching model
    AsuccessfulGitbranchingmodelhttps://nvie.com/posts/a-successful-git-branching-model/   Themainbranches  SupportingbranchesFeaturebranches ReleasebranchesHotfixbranches  ......
  • 启发式评估(Heuristic Evaluation)--转载 [2011.12.13 sina blog]
    启发式评估(HeuristicEvaluation) -[一架好书--读书学习的收获]2008年08月07日分类: 一架好书--读书学习的收获  版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://buyantang.blogbus.com/logs/27286224.htmlUsabilityInspectionMethods,Edit......
  • 启发式评估(heuristic evaluation)方法介绍--转[2011.12.23 sina blog]
    启发式评估(heuristicevaluation)方法介绍(2008-09-0911:56:52)转载▼标签:it分类: 2互联网产品设计什么是启发式评估?启发式评估法就是使用一套简单、通用、有启发性的可用性原则来进行的可用性评估。即几个评审人员根据一些通用的可用性原则和自己的经验来发现......