• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学 ›› 2026, Vol. 48 ›› Issue (5): 793-802.doi: 10.3969/j.issn.1007-130X.2026.05.004

• 高性能计算 • 上一篇    下一篇

可满足性问题并行求解优化

李骥,周磊,龚春叶,马迪,沈玉林,张翔   

  1. (1.长沙理工大学物理与电子科学学院,湖南 长沙 410114;2.长沙理工大学计算机与通信工程学院,湖南 长沙 410114;
    3.国防科技大学计算机学院,湖南 长沙 410073;4.国家超级计算天津中心,天津 300457;
    5.甘肃省计算中心,甘肃 兰州 730030) 

  • 收稿日期:2024-11-04 修回日期:2025-03-07 出版日期:2026-05-25 发布日期:2026-05-21
  • 基金资助:
    国家自然科学基金(62032023,42104078,61902411)

Parallel optimization for satisfiability problem solving

LI Ji,ZHOU Lei,GONG Chunye,MA Di,SHEN Yulin,ZHANG Xiang   

  1. (1.School of Physics & Electronic Science,Changsha University of Science & Technology,Changsha 410114;
    2.School of Computer & Communication Engineering,Changsha University of Science & Technology,Changsha 410114;
    3.College of computer Science and Technology,National University of Defense Technology,Changsha 410073;
    4.National Supercomputer Center in Tianjin,Tianjin 300457;
    5.Gansu  Computing Center,Lanzhou 730030,China)
  • Received:2024-11-04 Revised:2025-03-07 Online:2026-05-25 Published:2026-05-21

摘要: 可满足性问题SAT求解器广泛应用于硬件与软件验证、信息安全和计算生物学等领域。当前SAT求解器优化主要通过缩小公式的求解空间和化简整个求解公式。缩小求解空间存在空间缩小速度慢和并行粒度不充分的问题;化简公式在求解小规模问题时结合已有并行策略的表现较差。基于当前最快串行SAT求解器kissat研发了kissat++,具体为提出了基于观察列表动态分块技术实现单元传播过程的细粒度并行算法,引入引导路径完成搜索空间划分过程的粗粒度并行优化。为进一步提升空间划分效率,在构建引导路径时考虑决策层等因素尽早选出关键变量,缩小每个进程上的搜索空间。天河超算上的实验结果表明,相比原始kissat,kissat++获得了2倍以上的加速,同时在SAT基准集上的限定时间内多求出49个实例,能在2023年竞赛并行赛道提交的16个求解器中排名第9。

关键词: 可满足性问题, 天河超算, 单元传播, 搜索空间划分, VSIDS, kissat求解器

Abstract: The satisfiability problem (SAT) solver is widely applied in fields such as hardware and software verification, information security, and computational biology. Current optimizations of SAT solvers primarily focus on reducing the solution space of formulas and simplifying the entire solving formula. However, reducing the solution space faces challenges such as slow space reduction and insufficient parallel granularity, while formula simplification exhibits poor performance when combined with existing parallel strategies for solving small-scale problems. This paper introduces kissat++, developed based on kissat, the fastest serial SAT solver to date. Specifically, we propose a fine-grained parallel algorithm for unit propagation using observation list-based dynamic blocking techniques and introduce guided paths to achieve coarse-grained parallel optimization during the search space partitioning process. To further enhance space partitioning efficiency, factors such as decision levels are considered when constructing guided paths to select key variables early, thereby reducing the search space on each process. Experimental results on the Tianhe supercomputer demonstrate that kissat++ achieves more than a 2× speedup compared to the original kissat. Additionally, it solves 49 more instances within the time limit on the SAT benchmark set and ranks ninth among the 16 solvers submitted to the parallel track of the 2023 competition.

Key words: SAT, Tianhe supercomputer, unit propagation, search space partitioning, variable state independent decaying sum(VSIDS), kissat solver