cs.AIFeb 19, 2026
SaveEfficient Parallel Algorithm for Decomposing Hard CircuitSAT Instances
Organizations: ISDCT SB RAS, Irkutsk, Russia
Abstract
We propose a novel parallel algorithm for decomposing hard CircuitSAT instances. The technique employs specialized constraints to partition an original SAT instance into a family of weakened formulas. Our approach is implemented as a parameterized parallel algorithm, where adjusting the parameters allows efficient identification of high-quality decompositions, guided by hardness estimations computed in parallel. We demonstrate the algorithm's practical efficacy on challenging CircuitSAT instances, including those encoding Logical Equivalence Checking of Boolean circuits and preimage attacks on cryptographic hash functions.
Figures & tables
| Instance | q | d | t | Number of INDETs | Max. reached level | CPU time (s) | Wall-clock time (s) | CPU/wall ratio |
|---|---|---|---|---|---|---|---|---|
| 1000 | 3 | 500 | 25 | 2 | 332 392 | 9698 | 34.2 | |
| 1000 | 3 | 500 | 922 | 3 | 1 333 851 | 38 523 | 34.6 | |
| 1000 | 3 | 500 | 1548 | 3 | 2 000 801 | 57 649 | 34.7 | |
| 1000 | 3 | 500 | 0 | 1 | 73 971 | 2170 | 34.0 | |
| 1000 | 3 | 500 | 1251 | 3 | 1 723 511 | 49 553 | 34.7 |
Table 1: Results of applying Algorithm 3 to LEC instances for sorting algorithms (36-core wall-clock time)
| Instance | q | d | t | Number of INDETs | Max. reached level | CPU time (s) | Wall-clock time (s) | CPU/wall ratio |
|---|---|---|---|---|---|---|---|---|
| 1000 | 3 | 500 | 2858 | 4 | 4 862 491 | 27 771 | 175.0 | |
| 1000 | 3 | 500 | 2106 | 5 | 8 478 171 | 48 015 | 176.5 |
Table 2: Results of applying Algorithm 3 to hard LEC instances (180-core wall-clock time)
| Instance | q | d | t | Number of INDETs | Max. reached level | CPU time (s) | Wall-clock time (s) | CnC wall-clock time (s) |
|---|---|---|---|---|---|---|---|---|
| 60 000 | 2 | 220 | 3089 | 4 | 6 763 298 | 43 054 | — | |
| 60 000 | 2 | 220 | 7455 | 4 | 9 128 960 | 57 660 | 300 000 | |
| 60 000 | 2 | 220 | 1904 | 4 | 5 858 125 | 37 498 | 300 000 | |
| 60 000 | 2 | 220 | 4020 | 3 | 7 027 119 | 43 288 | 264 039 |
Table 3: Results of applying Algorithm 3 to MD4 hash function inversion problems (180-core wall-clock time)