计算机工程与科学 ›› 2026, Vol. 48 ›› Issue (4): 718-730.
何飞,王晓峰,唐傲,彭庆媛,华盈盈,王军霞
摘要: 工业SAT实例存在社区结构,而VSIDS和LRB未能有效利用这种结构。针对该问题,提出一种基于社区奖励的Cr分支优化算法。Cr算法的核心原理是增加相同社区变量的活性分数,以集中搜索局部解空间来降低重启和回溯成本,从而提高求解效率。首先依据社区中变量连接方式,将变量区分为桥变量和内变量,再根据社区中的变量将社区划分为3种类型。接着围绕变量和社区类型,尝试不同方法增加相同社区变量的活性分数。相同社区的判断依据当前社区的设置,而当前社区由活性最高的变量决定。变量类型和当前社区是Cr算法的2个关键因素,在Minisat、Maplesat和Glucose求解器的初步实验中,通过全局学习率GLR、提出的Incr序列和奖励因子α,分析了这3个因素对求解效率的影响。进一步地,依据分析结果在先进SAT求解器lstech_maple中应用Cr算法,实验表明利用社区结构可以有效提高先进SAT求解器的效率。为解释社区在冲突驱动子句学习CDCL搜索中可能起到的作用,提出社区连续指数CCI,并结合LBD解释社区的作用。