Recovering and Exploiting Structural Knowledge from CNF Formulas

  • Slides: 19
Download presentation
Recovering and Exploiting Structural Knowledge from CNF Formulas Richard Ostrowski, Eric Gregoire, Bertrand Mazure,

Recovering and Exploiting Structural Knowledge from CNF Formulas Richard Ostrowski, Eric Gregoire, Bertrand Mazure, and Lakhdar Sais Presenter: Ashique

What the paper talks about o o o The motivation behind the research on

What the paper talks about o o o 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 o o An equation or gate is of the form y

Couple of definitions o o An equation or gate is of the form y = f( x 1 , x 2 , x 3 …… , 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

Graph of clauses

Partial graph of clauses

Partial graph of clauses

Extraction of Æ and Ç gates

Extraction of Æ and Ç gates

Computational complexity o Building a graph is quadratic in the size of the set

Computational complexity o Building a graph is quadratic in the size of the set of the clauses Representation of the graph is space consuming o A dynamic approach without representing the graph explicitly is taken o

Exploiting structure knowledge o o Once the gates are extracted various properties are used

Exploiting structure knowledge o o 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 o o o o , is commutative and associative (a

Properties of , gates o o o o , is commutative and associative (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 , A 1), (l , A 2), …… (l , Am) is SAT iff (A 1 , A 2) …… (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 o o o a = f(b, c, b) with

Properties Æ and Ç gates o o o 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 o o Blocked clause : A clause c of

Simplication of remaining clause sets o o 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 o o o A clause c belonging to a CNF formula Σ

nf-blocked clause o o o 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 o Blocked clauses and clauses containing a pure literal are nf-blocked

nf-blocked example continued o Blocked clauses and clauses containing a pure literal are nf-blocked

Variable elimination using nf-blocked clause o o Any clause c from a CNF formula

Variable elimination using nf-blocked clause o o 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 o o o A clause c belonging to a CNF

Some more reduction techniques o o o 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?

How costly is it?

Performance vis-à-vis other algorithms

Performance vis-à-vis other algorithms

The reason behind such performance

The reason behind such performance

Future directions o o o Branching heuristics that also take all the equations into

Future directions o o o Branching heuristics that also take all the equations into account Exploiting the intrinsic property of each type of equation Simplification of Boolean formulas