Recovering and Exploiting Structural Knowledge from CNF Formulas Richard Ostrowski, Eric Gregoire, Bertrand Mazure, and Lakhdar Sais Presenter: Ashique
What the paper talks about The motivation behind the research on efficient SAT solvers Useful structural knowledge can be lost due to CNF representation Extracting gates out of the CNF formula is a step to recover that underlying structure Graphical representation of clauses facilitates such extraction Other techniques that minimizes the number of Gates Techniques that eliminate clauses and variables
Couple of definitions An equation or gate is of the form y = f( x1 ,x2 ,x3 …… ,xn) where f is a standard connective among {∨, ∧, ⇔} and where y and xi are propositional variables. y is called the output variable (definable) and xi s are called input variables. A propositional variable z is an output variable for a set of gates iff z is an output variable of at least one gate in the set. An input variable for a set of gates is an input variable of a gate which is not an output variable of the set of gates.
Graph of clauses
Partial graph of clauses
Extraction of Æ and Ç gates
Computational complexity Building a graph is quadratic in the size of the set of the clauses Representation of the graph is space consuming A dynamic approach without representing the graph explicitly is taken
Exploiting structure knowledge Once the gates are extracted various properties are used to minimize the number of gates, simplify them and reduce the number of clauses and variables All these reductions prune the search space
Properties of , gates , is commutative and associative (a , a , B) is equivalent to B : (a , b , c) is equivalent to (: a , b , c) (: a , : b , : c) is equivalent to (: a , b , c) (l , A1), (l , A2), …… (l , Am) is SAT iff (A1 , A2) …… (Am-1 , Am) is SAT Let be a set of gates, B ½ a set of equivalence gates, b 2 B such that its output variable y occurs only in B and ‘ the set of gates obtained by the substitution of y with its definition and removing b from , then is satisfiable is ‘ is satisfiable Let Σ be a set of gates, any equivalence gate of Σ containing a literal which does not occur elsewhere in Σ, can be removed from Σ without loss of satisfiability.
Properties Æ and Ç gates a = f(b, c, b) with f ∈ {∨, ∧} is equivalent to a = f(b, c) a = ∨(b, c, ¬b) (resp. a = ∧(b, c, ¬b)) is equivalent to a (resp. ¬a) ¬a = ∨(b, c, d) (resp. ¬a = ∧(b, c, d)) is equivalent to a = ∧(¬b, ¬c, ¬d)
Simplication of remaining clause sets Blocked clause : A clause c of a CNF formula Σ is blocked iff there is a literal l ∈ c such that for all c' ∈ Σ with ¬l ∈ c' the resolvent of c and c' is tautological. Let c be a clause belonging to a CNF formula Σ such that c is blocked. Σ is satisfiable iff Σ\{c} is satisfiable.
nf-blocked clause A clause c belonging to a CNF formula Σ is non-fundamental iff c is either tautological or is subsumed by another clause from Σ. A clause c belonging to a CNF formula Σ is nf-blocked iff there exists a literal l from c such that. there does not exist any resolvent in l, or such that all resolvents are not fundamental. Let c be a clause belonging to a CNF formula Σ s.t. c is nf-blocked. Σ is satifiable iff Σ\{c} is satisfiable.
nf-blocked example continued Blocked clauses and clauses containing a pure literal are nf-blocked
Variable elimination using nf-blocked clause Any clause c from a CNF formula Σ can be nf-blocked, introducing additional clauses in Σ. Transitive closure of two-literal clauses In order to eliminate a variable, we just need to nf-block all clauses where it occurs
Some more reduction techniques A clause c belonging to a CNF formula is redundant iff \{c} ² c. A clause c from a CNF formula Σ is u-redundant iff the unsatisfiability of Σ ∧ ¬c can be obtained using unit propagation. Let be a CNF formula, a subsuming resolvent is a resolvent from two clauses from that subsumes at least one clause of .
How costly is it?
Performance vis-à-vis other algorithms
The reason behind such performance
Future directions Branching heuristics that also take all the equations into account Exploiting the intrinsic property of each type of equation Simplification of Boolean formulas