290 likes | 442 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: • One T-implication at a time • All possible T-implications (“exhaustive theory-propagation”). • Cheap-to-compute T-implications
Theory propagation for LA • In this work we are interested in Linear Arithmetic (LA) • We will see: • The potential of theory propagation • Why doesn’t it work today • How can it be approximated efficiently
# cells ·nd 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:
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 ? n = 6 r = 3 l4 l1 (1,0,0) current partial assignment l5 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 LA • 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 LA • 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. • Might be better than the alternative: 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. • Competitive SMT solvers • Use general Simplex [DdM06], not classical Simplex • Do not activate Simplex after each assignment • They only update the assignment according to the ‘simple’ constraints (e.g. “x < c”).
Problem 2: conjecturing T-implications • The assignment maintained by general Simplex is updated after each partial (Boolean) assignment • Based on simple constraints only. • Several possibilities: 22% is T-consistent satisfies it is T-consistent doesn’t satisfy it is T-inconsistent
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,it can guide the search. l4
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
Back to the future • # of cells is exponential in d rather than exponential in n • nd rather than 2n • for n sufficiently larger than d, better worst-case complexity • SMT-LIB + SRI’s GDP benchmarks • Examples: n : d • QF_RDL_SCHEDULING 10.9 : 1 • QF_RDL_SAL 6.7 : 1 • QF_LRA_SC 3.9 : 1 • QF_LRA_START_UP 6.9 : 1 • QF_LRA_UART 6.1 : 1 • QF_LRA_CLOCK_SYNCH 3.3 : 1 • QF_LRA_SPIDER_BENCHMARKS 3.2 : 1 • QF_LRA_SAL 6.1 : 1 • MathSAT benchmarks (difference logic) 44.5 : 1 • SEP benchmarks (difference logic) 17 : 1
P#2: 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
How can we enumerate the cells ? • There exists a data structure (“incidence graph”) that represents the linear arrangement • Too large in practice… • Corresponds to an explicit representation of the search space. • Constructing a symbolic representation seems as hard as building the arrangement. • For two years we worked on a random, incremental algorithm, each time adding a constraint and consulting SAT. • The short summary: we were unable to beat Yices…
Summary • We showed how to use ‘free’ information computed by general simplex in order to improve SAT’s decision. • Somewhat compensates on the fact that there is no theory propagation. • Future research: • How can we let the theory lead efficiently ?