Autoresearch for SAT Solvers (github.com)

by chaisan 32 comments 167 points
Read article View on HN

32 comments

[−] stefanpie 58d ago
Prof. Cunxi Yu and his students at UMD is working on this exact topic and published a paper on agents for improving SAT solvers [1].

I believe they are extending this idea to EDA / chip design tools and algorithms which are also computationally challenging to solve. They have an accepted paper on this for logic synthesis which will come out soon.

[1] "Autonomous Code Evolution Meets NP-Completeness", https://arxiv.org/abs/2509.07367

[−] chaisan 58d ago
nice. EDA indeed one of the top applications of SAT
[−] ericpauley 58d ago
It should be noted that MaxSAT 2024 did not include z3, as with many competitions. It’s possible (I’d argue likely) that the agent picked up on techniques from Z3 or some other non-competing solver, rather than actually discovering some novel approach.
[−] throw-qqqqq 58d ago
Z3 is capable (it’s an SMT solver, not just SAT), but it’s not very fast at boolean satifiability and not at all competitive with modern SOTA SAT solvers. Try comparing it to Chaff or Glucose e.g.
[−] jmalicki 58d ago
Or for that matter even from later versions of the same solvers that were in its training data!
[−] dooglius 58d ago
Is z3 competitive in SAT competitions? My impression was that it is popular due to the theories, the python API, and the level of support from MSR.
[−] CJefferson 58d ago
One problem here is it's very easy to overtune to a past problem set -- even accidentally. You can often significantly improve performance just by changing your random number generator seed until you happen to pick the right assignment for the first few variables of some of the harder problems.

It would be interesting to take the resulting solver and apply it to an unknown data set.

[−] jacklondon 58d ago
Very interesting. For me the key question is whether this kind of agent can generalize to real SAT application domains, not only benchmark instances. In problems like timetabling, encoding choices, auxiliary variables, and branching strategy can matter a lot. If it can help there too, this is a very meaningful direction.
[−] MrToadMan 58d ago
Not as many changes to the files under library as I expected to see. Most changes seemed to be under a single ‘add stuff’ commit. If some of the solvers are randomised, then repeatedly running and recording best solution found will continually improve over time and give the illusion of the agent making algorithmic advancements, won’t it?
[−] whatever1 58d ago
I don't understand why autoresearch is presented as a new thing.

It is parameter tuning. We have been doing it for centuries.

[−] ktimespi 58d ago
sounds like AlphaDev [1] might be a better approach for a problem like this.

[1] https://github.com/google-deepmind/alphadev

[−] gsnedders 58d ago
What counts as “our cost”? How long it takes to find the MaxSAT?