How modern SAT solvers work, heuristics and other tricks

How modern SAT solvers work, heuristics and other tricks

Modern SAT solvers fall into one of two groups: local search based solvers and

Conflict Driven Clause Learning (CDCL) based solvers. Some of the data structures are generic, and well-known outside solvers, such as custom memory managers that batch allocations and keep data laid out in a cache-friendly manner, other are pretty much specific to CDCL SAT solvers, such as the (2) watched literals scheme. The naive implementation is simple, you can create a mapping between a variable and each clause that contains its literal when you are loading the problem, and then just iterate through all clauses relevant to a variable, either marking them as solved or shortening them.

Source: codingnest.com