-
Hello! As far as I understand, during the process of
Now, if after the solver terminates we add new clauses and run .solve() again, in my understanding:
Now, in order to check the value of different aspects of incrementality, we want to be able to clear only the heuristic values, or only the conflict clauses before we call Now, from looking at the cadical.hpp, I have come to the following ideas: Upd:
Once I add a new clause (with new or old literals), the variable assignment is destroyed? Thank you very much in advance. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 2 replies
-
It is more complicated that that. Let's look at this
Please call 3, learned clauses, not conflict clauses. You are missing the inprocessing part where the clauses are changed (think of the clause
The learner is only a tracer: CaDiCaL will tell you what it learned. The learner offers not interaction.
Observed variable is only related to the IPASIR-UP (see https://drops.dagstuhl.de/storage/00lipics/lipics-vol271-sat2023/LIPIcs.SAT.2023.8/LIPIcs.SAT.2023.8.pdf). Altogether, I am no sure what you are trying to do in light of inprocessing. Or do you plan to deactivate that? |
Beta Was this translation helpful? Give feedback.
It is more complicated that that.
Let's look at this
Please call 3, learned clauses, not conflict clauses.
You are missing the inprocessing part where the clauses are changed (think of the clause
AvBvC
andAv-C
becoming the clausesAvB
andAv-C
but variable elimination is much more important). The impact of this is studied in https://abs.informatik.uni-freiburg.de/papers/2019/FBS_2019.pdf.