Skip to main content
Log in

A Semi-Tensor Product Based All Solutions Boolean Satisfiability Solver

  • Regular Paper
  • Published:
Journal of Computer Science and Technology Aims and scope Submit manuscript

Abstract

Boolean satisfiability (SAT) is widely used as a solver engine in electronic design automation (EDA). Typically, SAT is used to determine whether one or more groups of variables can be combined to form a true formula. All solutions SAT (AllSAT) is a variant of the SAT problem. In the fields of formal verification and pattern generation, AllSAT is particularly useful because it efficiently enumerates all possible solutions. In this paper, a semi-tensor product (STP) based AllSAT solver is proposed. The solver can solve instances described in both the conjunctive normal form (CNF) and circuit form. The implementation of our method differs from incremental enumeration because we do not add blocking conditions for existing solutions, but rather compute the matrices to obtain all the solutions in one pass. Additionally, the logical matrices support a variety of logic operations. Results from experiments with MCNC benchmarks using CNF-based and circuit-based forms show that our method can accelerate CPU time by 8.1x (238x maximum) and 19.9x (72x maximum), respectively.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

References

  1. Cook S A. The complexity of theorem-proving procedures. In Proc. the 3rd Annual ACM Symposium on Theory of Computing, May 1971, pp.151–158. https://doi.org/10.1145/800157.805047.

  2. Eén N, Sörensson N. An extensible SAT-solver. In Proc. the 6th International Conference on Theory and Applications of Satisfiability Testing, May 2004, pp.502–518. https://doi.org/10.1007/978-3-540-24605-3_37.

  3. Moskewicz M W, Madigan C F, Zhao Y, Zhang L T, Malik S. Chaff: Engineering an efficient SAT solver. In Proc. the 38th Annual Design Automation Conference, Jun. 2001, pp.530–535. https://doi.org/10.1145/378239.379017.

  4. Mishchenko A, Chatterjee S, Brayton R, Een N. Improvements to combinational equivalence checking. In Proc. the 2006 IEEE/ACM International Conference on Computer Aided Design, Nov. 2006, pp.836–843. https://doi.org/10.1109/ICCAD.2006.320087.

  5. Froleyks N, Heule M, Iser M, Järvisalo M, Suda M. SAT competition 2020. Artificial Intelligence, 2021, 301: 103572.

  6. Davis M, Logemann G, Loveland D. A machine program for theorem-proving. Communications of the ACM, 1962, 5(7): 394–397. https://doi.org/10.1145/368273.368557.

    Article  MathSciNet  MATH  Google Scholar 

  7. Legg A, Narodytska N, Ryzhyk L. A SAT-based counterexample guided method for unbounded synthesis. In Proc. the 28th International Conference on Computer Aided Verification, Jul. 2016, pp.364–382. https://doi.org/10.1007/978-3-319-41540-6_20.

  8. Lowry M, Loh T H. Quantifying bicycle network connectivity. Preventive Medicine, 2017, 95 Supp.: S134–S140. https://doi.org/10.1016/j.ypmed.2016.12.007.

  9. Han J W, Cheng H, Xin D, Yan X F. Frequent pattern mining: Current status and future directions. Data Mining and Knowledge Discovery, 2007, 15(1): 55–86. https://doi.org/10.1007/s10618-006-0059-1.

    Article  MathSciNet  Google Scholar 

  10. Toda T, Soh T. Implementing efficient all solutions SAT solvers. ACM Journal of Experimental Algorithmics, 2016, 21: Article No. 1.12. https://doi.org/10.1145/2975585.

  11. Ren X Q, Guo W X, Mo Z Q, Tian W H. A divide and conquer approach to all solutions satisfiability problem. In Proc. the 4th IEEE International Conference on Computer and Communications (ICCC), Dec. 2018, pp.2590–2595. https://doi.org/10.1109/CompComm.2018.8780746.

  12. Zhang Y L, Pu G G, Sun J. Accelerating all-SAT computation with short blocking clauses. In Proc. the 35th IEEE/ACM International Conference on Automated Software Engineering, Feb. 2020, pp.6–17. https://doi.org/10.1145/3324884.3416569.

  13. Thiffault C, Bacchus F, Walsh T. Solving non-clausal formulas with DPLL search. In Proc. the 10th International Conference on Principles and Practice of Constraint Programming, Oct. 2004, pp.663–678. https://doi.org/10.1007/978-3-540-30201-8_48.

  14. Marques-Silva J, Lynce I, Malik S. Conflict-driven clause learning SAT solvers. In Handbook of Satisfiability, Biere A, Heule M, van Maaren H, Walsh T (eds.), IOS Press, 2009, pp.133–182. https://doi.org/10.3233/978-1-58603-929-5-131.

  15. Ganai M K, Ashar P, Gupta A, Zhang L T, Malik S. Combining strengths of circuit-based and CNF-based algorithms for a high-performance SAT solver. In Proc. the 39th Annual Design Automation Conference, Jun. 2002, pp.747–750. https://doi.org/10.1145/513918.514105.

  16. Cheng D Z, Qi H S, Xue A C. A survey on semi-tensor product of matrices. Journal of Systems Science and Complexity, 2007, 20(2): 304–322. https://doi.org/10.1007/s11424-007-9027-0.

    Article  MathSciNet  MATH  Google Scholar 

  17. Bai Z W, Li Y, Zhou M L, Li D, Wang D, Połap D, Woźniak M. Bilinear semi-tensor product attention (BST-PA) model for visual question answering. In Proc. the 2020 International Joint Conference on Neural Networks (IJCNN), Jul. 2020. https://doi.org/10.1109/IJCNN48605.2020.9206964.

  18. Fu W, Li S T. Semi-tensor compressed sensing for hyperspectral image. In Proc. the 2018 IEEE International Geoscience and Remote Sensing Symposium, Jul. 2018, pp.2737–2740. https://doi.org/10.1109/IGARSS.2018.8519360.

  19. Han X G, Chen Z Q, Liu Z X, Zhang Q. Calculating basis siphons of Petri nets based on semi-tensor product of matrices. In Proc. the 35th Chinese Control Conference, Jul. 2016, pp.2331–2336. https://doi.org/10.1109/ChiCC.2016.7553712.

  20. Cheng D Z, Qi H S, Zhao Y. An Introduction to Semi-Tensor Product of Matrices and Its Applications. World Scientific, 2012. https://doi.org/10.1142/8323.

  21. Van Loan C F. The ubiquitous Kronecker product. Journal of Computational and Applied Mathematics, 2000, 123(1/2): 85–100. https://doi.org/10.1016/S0377-0427(00)00393-9.

    Article  MathSciNet  MATH  Google Scholar 

  22. Cheng D Z. On logic-based intelligent systems. In Proc. the 2005 International Conference on Control and Automation, Jun. 2005, pp.71–76. https://doi.org/10.1109/ICCA.2005.1528094.

  23. Siddiqi S. An extensible circuit-based SAT solver. Journal of Experimental & Theoretical Artificial Intelligence, 2020, 32(5): 751–768. https://doi.org/10.1080/0952813X.2019.1672798.

    Article  Google Scholar 

  24. Yang S. Logic Synthesis and Optimization Benchmarks User Guide: Version 3.0. Research Triangle Park, NC, USA: Microelectronics Center of North Carolina (MCNC), 1991.

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Zhu-Fei Chu.

Supplementary Information

ESM 1

(PDF 478 kb)

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Pan, HY., Chu, ZF. A Semi-Tensor Product Based All Solutions Boolean Satisfiability Solver. J. Comput. Sci. Technol. 38, 702–713 (2023). https://doi.org/10.1007/s11390-022-1981-4

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11390-022-1981-4

Keywords

Navigation