Enumerating All Boolean Matches
1
What is Boolean Matching?
2
What is Boolean Matching?
3
1
0
What is Boolean Matching?
4
What is Boolean Matching?
5
Our Motivation
6
Our Context
7
Previous Work - BooM
8
[Lai, Jiang, Wang, ICCAD’10], [Lai, Jiang, Wang, DAC’10]
BooMS in High Level
9
All Mappings
(Mismatches and matches)
Mismatches Bucket
SAT instance
SAT instance
mismatches |
|
|
|
mappings |
|
|
|
|
|
BooMS in High Level
10
All Mappings
(Mismatches and matches)
Mismatches Bucket
SAT instance
SAT instance
mismatches |
|
|
|
mappings |
|
|
|
|
|
mismatch
BooMS in High Level
11
All Mappings
(Mismatches and matches)
Mismatches Bucket
SAT instance
SAT instance
mismatches |
|
|
|
Generalization
mappings |
|
|
|
|
|
multiple mismatches
mismatch
BooMS in High Level
12
All Mappings
(Mismatches and matches)
Mismatches Bucket
SAT instance
SAT instance
mismatches |
|
|
|
Generalization
Block Mismatches
mappings |
|
|
|
|
|
mismatch
multiple mismatches
BooMS in High Level
13
Mismatches Bucket
SAT instance
SAT instance
mismatches |
|
|
|
mappings |
|
|
|
|
|
All Matches!
No more mismatches!
BooMS in High Level
14
Mismatches Bucket
SAT instance
SAT instance
mismatches |
|
|
|
mappings |
|
|
|
|
|
All Matches!
Enumerate all matches
BooMS Limitations
The strength on BooMS lays in blocking multiple mismatches together
However:
15
Our Contributions
16
Reusing BooM’s SAT Encoding
17
| | | |
| | | |
| | | |
| | | |
EBatP (Picker)
18
All Mappings
(Mismatches and matches)
| | | |
| | | |
| | | |
| | | |
Miter
(SAT instance)
EBatP (Picker)
19
All Mappings
(Mismatches and matches)
| | | |
| | | |
| | | |
| | | |
UnSAT(match)
SAT (mismatch)
Next map
Miter
(SAT instance)
EBatP (Picker)
20
All Mappings
(Mismatches and matches)
UnSAT(match)
SAT (mismatch)
New generalization
(P/NP-Equivalence)
New mismatch blocking
(P-Equivalence)
Next map
Miter
(SAT instance)
| | | |
| | | |
| | | |
| | | |
Performance breakthrough for P-Equivalence!
EBatP (Picker)
21
All Mappings
(Mismatches and matches)
UnSAT(match)
SAT (mismatch)
Strengthening(Core)
Block Match
Report
Next map
Miter
(SAT instance)
Performance breakthrough
for P/NP-Equivalence!
| | | |
| | | |
| | | |
| | | |
EBatP (Picker)
22
All Mappings
(Mismatches and matches)
| | | |
| | | |
| | | |
| | | |
No more mappings!
EBatC in High-Level
23
EBatP
All Mappings
(Mismatches and matches)
| | | |
| | | |
| | | |
| | | |
All Matches!
| | | |
| | | |
| | | |
| | | |
BooMS
EBatC vs EBatP
24
8/12/2025
Generalization in Boolean Matching
25
8/12/2025
[Fried, Nadel, Sebastiani, Shalmon, SAT’24]
Generalization under NP-Equivalence
26
8/12/2025
1
0
Generalization under NP-Equivalence
27
8/12/2025
Generalization
1
0
Generalization under P-Equivalence
28
8/12/2025
Experimental Results
29
Results
30
Algorithm | Witness-Extension | Strength(core) | Solved | PAR-2 |
NP-Equivalence | ||||
EBatC | BTS & MUC (new) | | 327 | 686 |
EBatC | BTS (baseline) | | 308 | 2932 |
EBatC | BTS & MUC (new) | | 99 | 27826 |
BooMS | BTS (baseline) | | 86 | 29466 |
New
P-Equivalence | ||||
EBatC | Alternation (new) | | 329 | 871 |
EBatC | Alternation (new) | | 115 | 26232 |
EBatC | None (baseline) | | 106 | 27460 |
BooMS | None (baseline) | | 90 | 29348 |
New
Results
31
Algorithm | Witness-Extension | Strength(core) | Solved | PAR-2 |
NP-Equivalence | ||||
EBatC | BTS & MUC (new) | | 327 | 686 |
EBatC | BTS (baseline) | | 308 | 2932 |
EBatC | BTS & MUC (new) | | 99 | 27826 |
BooMS | BTS (baseline) | | 86 | 29466 |
P-Equivalence | ||||
EBatC | Alternation (new) | | 329 | 871 |
EBatC | Alternation (new) | | 115 | 26232 |
EBatC | None (baseline) | | 106 | 27460 |
BooMS | None (baseline) | | 90 | 29348 |
|
|
|
|
Results
32
Algorithm | Witness-Extension | Strength(core) | Solved | PAR-2 |
NP-Equivalence | ||||
EBatC | BTS & MUC (new) | | 327 | 686 |
EBatC | BTS (baseline) | | 308 | 2932 |
EBatC | BTS & MUC (new) | | 99 | 27826 |
BooMS | BTS (baseline) | | 86 | 29466 |
P-Equivalence | ||||
EBatC | Alternation (new) | | 329 | 871 |
EBatC | Alternation (new) | | 115 | 26232 |
EBatC | None (baseline) | | 106 | 27460 |
BooMS | None (baseline) | | 90 | 29348 |
|
|
|
Conclusion & Future Work
Future work:
33
Thank you for listening
Questions?
Results
35
EBatC in High Level
36
All Mappings
(Mismatches and matches)
Mismatch Bucket
Miter
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
Generalization
Block Mis
EBatP
BoomS High-Level Flow
How BooMS works:
37
All Mappings
(Mismatches and matches)
Mismatches Bucket
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
Miter
How BooMS works:
38
All Mappings
(Mismatches and matches)
Mismatches Bucket
| | | |
| | | |
| | | |
| | | |
Miter
Next mismatch
| | | |
| | | |
| | | |
| | | |
How BooMS works:
39
All Mappings
(Mismatches and matches)
Mismatches Bucket
| | | |
| | | |
| | | |
| | | |
Miter
Generalization
Next mismatch
| | | |
| | | |
| | | |
| | | |
How BooMS works:
40
All Mappings
(Mismatches and matches)
Mismatches Bucket
| | | |
| | | |
| | | |
| | | |
Miter
Generalization
Block Mismatches
Next mismatch
| | | |
| | | |
| | | |
| | | |
How BooMS works:
41
All Matches!
Mismatches Bucket
Miter
No more mismatches!
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
How BooMS works:
42
Mismatches Bucket
Miter
Next ; Report
Block Match
All Matches!
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |