Skip to main content
QUICK REVIEW

[Paper 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 Inference4 citations
TL;DR

This paper introduces Arjun, an efficient algorithm for computing independent support in Boolean formulas, leveraging implicit and explicit definability with gate identification and assumption-based SAT solving. Arjun significantly enhances hashing-based model counters and samplers, enabling ApproxMC4 to count 387 more benchmarks and UniGen3 to sample 319 more within a 5000s timeout.

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.

Motivation & Objective

  • Address the critical need for scalable independent support computation in hashing-based model counting and sampling.
  • Overcome limitations of prior tools like MIS, which scale poorly on real-world benchmarks.
  • Design a framework that efficiently identifies small independent supports to reduce SAT solver overhead in counting and sampling pipelines.
  • Integrate implicit and explicit definability techniques to improve scalability and solution space pruning.
  • Demonstrate that independent support computation is a key performance bottleneck in state-of-the-art approximate counting and sampling tools.

Proposed method

  • Employ an assumption-based SAT solving framework to efficiently test definability and identify independent support sets.
  • Integrate gate identification techniques to detect variables that are functionally dependent on others, enabling early pruning.
  • Use implicit definability checks via resolution-based reasoning to identify variables whose values are determined by others.
  • Apply explicit definability checks using SAT queries to verify whether a variable's value is uniquely determined by a subset of variables.
  • Combine both phases—implicit and explicit definability—into a two-stage algorithm to maximize pruning and minimize support size.
  • Tight integration with SAT solvers allows Arjun to scale to large, real-world benchmarks where prior tools fail.

Experimental results

Research questions

  • RQ1Can a scalable and efficient independent support computation technique be designed for real-world Boolean formulas?
  • RQ2How does combining implicit and explicit definability improve the quality and size of the computed independent support?
  • RQ3To what extent does integrating Arjun into existing tools like ApproxMC4 and UniGen3 improve their performance on standard benchmarks?
  • RQ4Is the independent support computed by Arjun smaller and more effective than that of prior tools like MIS?
  • RQ5What is the relative contribution of implicit versus explicit definability phases in Arjun’s performance?

Key findings

  • Arjun outperforms the prior state-of-the-art tool MIS, enabling ApproxMC4 to count 387 more benchmarks out of 1896 within a 5000s timeout.
  • Arjun augmented with UniGen3 enables sampling of 319 more benchmarks than MIS + UniGen3 under the same time limit.
  • Arjun + ApproxMC4 solved 1596 benchmarks, compared to 1209 for ApproxMC4 alone and 1262 for MIS + ApproxMC4, demonstrating a 334-instance improvement.
  • On a per-instance basis, Arjun + ApproxMC4 is consistently faster than MIS + ApproxMC4, with a 34-second timeout achieving the same count as ApproxMC4 under 5000 seconds.
  • The integrated implicit definability phase contributes more to performance than the explicit search phase, highlighting its importance in pruning.
  • Arjun’s smaller independent supports lead to faster SAT solving due to reduced XOR constraint sizes and shorter conflict clauses.

Better researchstarts right now

From reading papers to final review, dramatically reduce your research time.

No credit card · Free plan available

This review was created by AI and reviewed by human editors.