arminbiere / cadical

CaDiCaL SAT Solver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Non-recursive LRAT chain generation in minimize, vivify

domschrei opened this issue · comments

Hi! First of all, many thanks to @florianpollitt @m-fleury @arminbiere for your great work on LRAT-producing CaDiCaL. I'm currently using it in Mallob for multiple purposes and preparing a paper on it.

In experiments at scale, a few instances from SAT Comp 2023 caused a stack overflow. This concerns the recursive methods Internal::minimize_literal in minimize.cpp and Internal::vivify_build_lrat in vivify.cpp. Examples are grs-32-256.cnf for the SO in minimize and shift1add.28943.cnf for the SO in vivify. It's a possibility that these errors don't occur normally but are indirect consequences of my changes to CaDiCaL or due to restrictions on the used cluster.

In any way, I mitigated this by translating the methods into iterative procedures with an explicit stack (see commits vivify, minimize).

Would you be interested in integrating this in some way?

It is not released yet, but we met the same problem 30c6580

EDIT: only for minimize, not for vivify

This should be addressed on the development branch and soon be part of our next release.

Fixed in the latest 2.0.0 release.