300 likes | 443 Views
A theory-based decision heuristic for DPLL(T). Dan Goldwasser Ofer Strichman Shai Fine Haifa university Technion IBM-HRL. DPLL. full assignment. Decide. SAT. partial assignment. Backtrack. BCP. Analyze conflict. conflict. UNSAT. DPLL( T ). full assignment. Decide. SAT.
E N D
A theory-based decision heuristic for DPLL(T) Dan Goldwasser Ofer Strichman Shai Fine Haifa university Technion IBM-HRL
DPLL full assignment Decide SAT partial assignment Backtrack BCP Analyze conflict conflict UNSAT
DPLL(T) full assignment Decide SAT partial assignment Backtrack BCP Analyze conflict conflict UNSAT Deduction Add Clauses T-propagation / T-conflict
Theory propagation • Matters for efficiency, not correctness. • Depending on the theory, the best strategy can be: • No T-implications • One T-implication at a time • All possible T-implications (“exhaustive theory-propagation”). • Cheap-to-compute T-implications • … • In the case of Linear Real Arithmetic (LRA) … None.
Outline • We will see: • The potential of theory propagation • Why doesn’t it work today • How can it be approximated efficiently • Speculations: can the theory lead the way ?
A geometric interpretation • Let H be a finite set of hyperplanes in d dimensions. Let n = |H| • An arrangement of H, denoted A(H), is a partition of Rd. An arrangement ind=2: # cells · O(nd)
l4 l5 A geometric interpretation • Consider a consistent partial assignment of size r. • e.g. assignment to (l1,l2,l3), hence r =3. • How many such T-implications are there ? r = 3 l1 (1,0,0) current partial assignment T-Implied
A geometric interpretation • Consider a consistent partial assignment of size r . • Theorem 1: O((n ¢ log r) /r) of the remaining constraints intersect the cell [HW87] with high probability (1 - 1/rc). • Some example numbers: • r = 3, ~47% of the remaining constraints are implied. • r = 12, ~70% of the remaining constraints are implied. • r = 60, ~90% of the remaining constraints are implied. [HW87] D. Haussler and E. Welzl. Epsilon-nets and simplex range queries. Comput. Geom., 2:127- 151, 1987.
Assigned vs. implied in practice • Two benchmarks. • Measured averages at T-consistent points
Theory propagation for LRA • Let l1, l2, l3 be asserted. Is l4 (or :l4) T-implied ? • Two techniques for finding T-implications. • “Plunging”: check satisfiability of (l1Æl2Æl3Æl4) and of (l1Æl2Æl3Æ:l4) Requires solving a linear system. Too expensive in practice (see e.g. [DdM06]). [DdM06] Integrating simplex with DPLL(T), Dutertre and De Moura, SRI-CSL-06-01
Theory propagation for LRA • Let l1, l2, l3 be asserted. Is l4 (or :l4) T-implied ? • Two techniques for finding T-implications. • Check if all vertices on the same side of l4 There is an exponential number of vertices. Too expensive in practice.
Approximating theory propagation • Problem 1: How can we use conjectured information without losing soundness ? • Problem 2: how can we find (cheaply) good conjectures • i.e., conjectured T-implications
Problem 1: how to use conjectures ? • We use conjectured implications just to bias decisions. • SAT chooses a variable to decide, we conjecture its value. • SAT’s heuristics are T-ignorant.
Problem 2: conjecturing T-implications • We examined two methods: • k - vertices • Find k-vertices. • If they are all on the same side of l4 – conjecture that l4 is implied. In this case we conjecture :l4 l4
Problem 2: conjecturing T-implications • We examined two methods: • k - vertices • Find k-vertices. • If they are all on the same side of l4 – conjecture that l4 is implied. In this case we conjecture nothing l4
Problem 2: conjecturing T-implications • We examined two methods: • k - vertices • Find k-vertices. • If they are all on the same side ofl4 – conjecture that l4 is implied. In this case we (falsely) conjecture l4 l4
Problem 2: conjecturing T-implications • We examined two methods: • k - vertices • Find k-vertices. • If they are all on the same side ofl4 – conjecture that l4 is implied. • Too expensive in practice
Problem 2: conjecturing T-implications • We examined two methods: • One approximated point Here we always conjecture a T-implication. l4
Problem 2: conjecturing T-implications • We examined two methods: • One approximated point Here we always conjecture a T-implication. l4
Problem 2: conjecturing T-implications • We examined two methods: • One approximated point Here we always conjecture a T-implication. l4
Problem 2: conjecturing T-implications • We examined two methods: • One approximated point The idea: use the assignment maintained by Simplex. It’s for free. l4
Problem 2: conjecturing T-implications • We examined two methods: • One approximated point The idea: use the assignment maintained by Simplex. It’s for free. • Competitive SMT solvers • Do not activate (general) Simplex after each assignment • They only update the assignment according to the ‘simple’ constraints (e.g. “x < c”).
Problem 2: conjecturing T-implications • Several possibilities: 22% is T-consistent satisfies it is T-consistent doesn’t satisfy it is T-inconsistent
l4 Problem 2: conjecturing T-implications • Our hope: is ‘close’ to the polygon. • Therefore it can be successful in guessing implications. • Even if l4 is not T-implied,can guide the search.
Results • Some results for the 200 benchmarks from SMT-COMP’07 • Implementation on top of ArgoLib • Each column refers to a different strategy of choosing the value.
0-pivot vs. Minisat MiniSat
The bigger picture • # of cells is exponential in d rather than exponential in n • nd rather than 2n • In the SMT-LIB benchmark set, on averagen = 10 d.
A reversed lazy approach ? • Current SAT-based ‘lazy’ approaches • Search the Boolean domain check assignment in the theory domain • A ‘reversed lazy approach’: • Search the theory domain check assignment in the Boolean domain SAT T-solver
Summary • We studied LRA from the perspective of computational geometry. • We showed efficient (approximated) theory propagation. • We showed how approximated information can be used safely. • Future research: • How can we let the theory lead the search ?