You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
In this implementation a CDCL based SAT solver is prepared. On the first look DPLL based SAT solver looks promising as it mostly does intutive part like purification and unit propgation, it works good for random test cases, but for industrial purposes CDCL is used mainly due to these three reasons.
The variable is chosen randomly
Chronologically all branches are checked out
No learning from the current partial assignment, throws it all away.
CDCL takes care of these three things, but for variable selection we use the below heuristics:
Random: The way it is already done.
Ordered: The first variable that is unassigned in the order 1,2,3... is chosen.
Dynamic Largest Individual Sum (DLIS): The literal that occurs more frequently. By doing this we will be able to resolve maximum number of clauses at once.
Largest Variable Sum (LVS): The variable that occurs more frequently is chosen. The count is computed once in the beginning and it is static, unlike DLIS does it everytime.
Jeroslow–Wang (JW): Similar to DLIS but more weight is given to a literal in shorter clause compared to a longer clause weight is given by 2^-length.