Skip to main content
QUICK REVIEW

[论文解读] Arjun: An Efficient Independent Support Computation Technique and its Applications to Counting and Sampling

Mate Soos, Kuldeep S. Meel|arXiv (Cornell University)|Oct 18, 2021
Bayesian Modeling and Causal Inference被引用 4
一句话总结

本文提出 Arjun,一种高效计算布尔公式中独立支撑集的算法,通过门识别与基于假设的 SAT 求解,结合隐式与显式可定义性技术。Arjun 显著提升了基于哈希的模型计数器与采样器的性能,使 ApproxMC4 在 5000 秒超时内多计数 387 个基准,UniGen3 多采样 319 个基准。

ABSTRACT

Given a Boolean formula $\\varphi$ over the set of variables $X$ and a projection set $\\mathcal{P} \\subseteq X$, a subset of variables $\\mathcal{I}$ is independent support of $\\mathcal{P}$ if two solutions agree on $\\mathcal{I}$, then they also agree on $\\mathcal{P}$. The notion of independent support is related to the classical notion of definability dating back to 1901, and have been studied over the decades. Recently, the computational problem of determining independent support for a given formula has attained importance owing to the crucial importance of independent support for hashing-based counting and sampling techniques. In this paper, we design an efficient and scalable independent support computation technique that can handle formulas arising from real-world benchmarks. Our algorithmic framework, called Arjun, employs implicit and explicit definability notions, and is based on a tight integration of gate-identification techniques and assumption-based framework. We demonstrate that augmenting the state of the art model counter ApproxMC4 and sampler UniGen3 with Arjun leads to significant performance improvements. In particular, ApproxMC4 augmented with Arjun counts 387 more benchmarks out of 1896 while UniGen3 augmented with Arjun samples 319 more benchmarks within the same time limit.

研究动机与目标

  • 解决基于哈希的模型计数与采样中对可扩展独立支撑集计算的迫切需求。
  • 克服先前工具如 MIS 在真实世界基准上可扩展性差的局限。
  • 设计一个高效识别小型独立支撑集的框架,以减少计数与采样流水线中 SAT 求解器的开销。
  • 整合隐式与显式可定义性技术,以提升可扩展性并优化解空间剪枝。
  • 证明独立支撑集计算是当前最先进的近似计数与采样工具中的关键性能瓶颈。

提出的方法

  • 采用基于假设的 SAT 求解框架,高效测试可定义性并识别独立支撑集。
  • 集成门识别技术,检测在功能上依赖于其他变量的变量,实现早期剪枝。
  • 通过基于归结的推理实现隐式可定义性检查,识别其值由其他变量决定的变量。
  • 使用 SAT 查询执行显式可定义性检查,验证某变量的值是否由一组变量唯一确定。
  • 将隐式与显式可定义性两阶段整合为两阶段算法,以最大化剪枝效果并最小化支撑集大小。
  • 与 SAT 求解器紧密集成,使 Arjun 能够扩展至大型真实世界基准,而先前工具在此类场景下会失效。

实验结果

研究问题

  • RQ1能否为真实世界的布尔公式设计一种可扩展且高效的独立支撑集计算技术?
  • RQ2结合隐式与显式可定义性如何提升所计算独立支撑集的质量与大小?
  • RQ3将 Arjun 集成到 ApproxMC4 和 UniGen3 等现有工具中,能在标准基准上多大程度上提升其性能?
  • RQ4Arjun 计算出的独立支撑集是否比先前工具(如 MIS)更小且更高效?
  • RQ5在 Arjun 的性能中,隐式可定义性阶段与显式搜索阶段的相对贡献如何?

主要发现

  • Arjun 在性能上超越了先前最先进的工具 MIS,使 ApproxMC4 在 5000 秒超时内多计数 387 个基准(共 1896 个)。
  • Arjun 与 UniGen3 集成后,相比 MIS + UniGen3,在相同时间限制下多采样 319 个基准。
  • Arjun + ApproxMC4 解决了 1596 个基准,而 ApproxMC4 单独解决 1209 个,MIS + ApproxMC4 解决 1262 个,显示出 334 个实例的改进。
  • 在单个实例层面,Arjun + ApproxMC4 持续快于 MIS + ApproxMC4,34 秒超时即可达到 ApproxMC4 在 5000 秒内的计数结果。
  • 集成的隐式可定义性阶段对性能的贡献大于显式搜索阶段,凸显其在剪枝中的关键作用。
  • Arjun 的更小独立支撑集导致更短的 XOR 约束大小与更短的冲突子句,从而实现更快的 SAT 求解。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。