# Solving MaxSAT with Matrix Multiplication

arXiv: https://arxiv.org/abs/2311.02101 · HTML: https://mlsanity.com/paper/2311.02101/

## Key facts

- Cited by 1 papers in the map (data through 14 Oct 2026).
- Builds on 7 of its 49 references that are in the map.
- First posted on arXiv 1 Nov 2023.

## Builds on (most cited first, 7 of 7)

- [Ising formulations of many NP problems](https://mlsanity.com/paper/1302.5843/) (2013)
- [Guiding High-Performance SAT Solvers with Unsat-Core Predictions](https://mlsanity.com/paper/1903.04671/) (2019)
- [High Performance Monte Carlo Simulation of Ising Model on TPU Clusters](https://mlsanity.com/paper/1903.11714/) (2019)
- [A Time Leap Challenge for SAT Solving](https://mlsanity.com/paper/2008.02215/) (2020)
- [Factoring semi-primes with (quantum) SAT-solvers](https://mlsanity.com/paper/1902.01448/) (2019)
- [Combining Learned Representations for Combinatorial Optimization](https://mlsanity.com/paper/1909.03978/) (2019)
- [Prioritized Unit Propagation with Periodic Resetting is (Almost) All You Need for Random SAT Solving](https://mlsanity.com/paper/1912.05906/) (2019)

## Built on by (most cited first, 1 of 1)

- [Neural Approaches to SAT Solving: Design Choices and Interpretability](https://mlsanity.com/paper/2504.01173/) (2025)

## Abstract (arXiv)

We propose an incomplete algorithm for Maximum Satisfiability (MaxSAT) specifically designed to run on neural network accelerators such as GPUs and TPUs. Given a MaxSAT problem instance in conjunctive normal form, our procedure constructs a Restricted Boltzmann Machine (RBM) with an equilibrium distribution wherein the probability of a Boolean assignment is exponential in the number of clauses it satisfies. Block Gibbs sampling is used to stochastically search the space of assignments with parallel Markov chains. Since matrix multiplication is the main computational primitive for block Gibbs sampling in an RBM, our approach leads to an elegantly simple algorithm (40 lines of JAX) well-suited for neural network accelerators. Theoretical results about RBMs guarantee that the required number of visible and hidden units of the RBM scale only linearly with the number of variables and constant-sized clauses in the MaxSAT instance, ensuring that the computational cost of a Gibbs step scales reasonably with the instance size. Search throughput can be increased by batching parallel chains within a single accelerator as well as by distributing them across multiple accelerators. As a further enhancement, a heuristic based on unit propagation running on CPU is periodically applied to the sampled assignments. Our approach, which we term RbmSAT, is a new design point in the algorithm-hardware co-design space for MaxSAT. We present timed results on a subset of problem instances from the annual MaxSAT Evaluation's Incomplete Unweighted Track for the years 2018 to 2021. When allotted the same running time and CPU compute budget (but no TPUs), RbmSAT outperforms other participating solvers on problems drawn from three out of the four years' competitions. Given the same running time on a TPU cluster for which RbmSAT is uniquely designed, it outperforms all solvers on problems drawn from all four years.
