Skip to main content
QUICK REVIEW

[Paper Review] Implicant based parallel all solution solver for Boolean satisfiability

Virendra Sule|arXiv (Cornell University)|Nov 29, 2016
Formal Methods in Verification8 references3 citations
TL;DR

This paper presents a parallel, implicant-based algorithm for computing all satisfying assignments of Boolean formulas in algebraic normal form (ANF), leveraging a recursive decomposition of sparse Boolean functions into implicants. By representing solutions compactly via orthogonal implicants and distributing computation across independent threads, the solver achieves O(n) time complexity with sufficient parallel processors, enabling scalable solution enumeration for large, sparse systems.

ABSTRACT

This paper develops a parallel computational solver for computing all satifying assignments of a Boolean system of equations defined by Boolean functions of several variables. While there are we known solvers for satisfiability of Boolean formulas in CNF form, these are designed primarily for deciding satisfiability of the formula and do not address the problem of finding all satisfying solutions. Moreover development of parallel solvers for satisfiability problems is still an unfinished problem of Computer Science. The solver proposed in this paper is aimed at representing all solutions of Boolean formulas even without the CNF form with a parallel algorithm. Algorithm proposed is applied to Boolean functions in algebraic normal form (ANF). The algorithm is based on the idea to represent the satisfying assignments in terms of a complete set of implicants of the Boolean functions appearing as factors of a Boolean formula. The algorithm is effective mainly in the case when the factors of the formula are sparse (i.e. have a small fraction of the total number of variables). This allows small computation of a complete set of implicants of individual factors one at a time and reduce the formula at each step. An algorithm is also proposed for finding a complete set of orthogonal implicants of functions in ANF. An advantages of this algorithm is that all solutions can be represented compactly in terms of implicants. Finally due to small and distributed computation at every step as well as computation in terms of independent threads, the solver proposed in this paper is expected to be useful for developing heuristics for a well scalable parallel solver for large size problems of Boolean satisfiability over large number of processors.

Motivation & Objective

  • To develop a scalable parallel solver for computing all satisfying assignments of Boolean systems, especially those in ANF form.
  • To address the gap in existing SAT solvers that focus on decision problems rather than full solution enumeration.
  • To enable compact representation of exponentially large solution sets using implicants and orthogonal implicants.
  • To design a parallel algorithm that naturally supports load balancing and reuse of processors through independent thread generation.
  • To improve scalability for large-scale problems in cryptanalysis, biological networks, and logic optimization by exploiting sparsity in Boolean functions.

Proposed method

  • The algorithm computes a complete set of implicants for each factor in the Boolean formula F = ∏fi, where fi are sparse Boolean functions in ANF.
  • It uses a pivot factor to generate initial implicants, then recursively reduces the formula by substituting each implicant into remaining factors.
  • For each implicant, the algorithm computes the quotient of remaining functions, discarding those that evaluate to 0 (contradiction) or yielding a partial solution.
  • The method employs orthogonal implicants to ensure non-reduundant, compact representation of all solutions as unions of partial assignments.
  • Computation is structured into independent threads per implicant, enabling parallel execution with dynamic processor reuse.
  • The algorithm is recursive and inherently parallel, with complexity bounded by O(n) when sufficient processors are available and functions are sparse.

Experimental results

Research questions

  • RQ1Can a parallel solver for all solutions of Boolean formulas in ANF form be designed with compact solution representation?
  • RQ2How can implicants be used to decompose and distribute computation across independent threads for scalable solution enumeration?
  • RQ3What is the theoretical time complexity of such a solver under ideal parallel execution conditions?
  • RQ4How does sparsity in Boolean functions affect the scalability and performance of the solver?
  • RQ5Can the use of orthogonal implicants lead to a more compact and efficient representation of all satisfying assignments?

Key findings

  • The proposed solver achieves O(n) time complexity with sufficient parallel processors, where n is the number of variables, under the assumption that Boolean functions are sparse and have a bounded number of variables.
  • The number of thread segments grows initially exponentially but is pruned rapidly as contradictions or partial solutions are detected, reducing overall computational load.
  • The algorithm ensures a compact representation of all solutions through orthogonal implicants, avoiding exponential blowup in solution enumeration.
  • Speedup scales with the number of independent threads, with maximum theoretical speedup S = N / N_seq, where N is total thread segments and N_seq is the longest sequential thread.
  • Amdahl’s law analysis shows that critical speedup S_crit = P² / (P² - (P-1)²) is achievable when P = N / N_seq, indicating strong scalability under ideal conditions.
  • The method is particularly effective for problems involving sparse Boolean functions, such as in cryptanalysis and genetic regulatory networks, where individual function complexity is bounded.

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.