1 / 29

A theory-based decision heuristic for DPLL(T)

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.

kevork
Download Presentation

A theory-based decision heuristic for DPLL(T)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A theory-based decision heuristic for DPLL(T) Dan Goldwasser Ofer Strichman Shai Fine Haifa university Technion IBM-HRL

  2. DPLL full assignment Decide SAT partial assignment Backtrack BCP Analyze conflict conflict UNSAT

  3. DPLL(T) full assignment Decide SAT partial assignment Backtrack BCP Analyze conflict conflict UNSAT Deduction Add Clauses T-propagation / T-conflict

  4. 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.

  5. 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 ?

  6. 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)

  7. 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

  8. 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.

  9. Assigned vs. implied in practice • Two benchmarks. • Measured averages at T-consistent points

  10. 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

  11. 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.

  12. 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

  13. 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.

  14. 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

  15. 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

  16. 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

  17. 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

  18. Problem 2: conjecturing T-implications • We examined two methods: • One approximated point Here we always conjecture a T-implication. l4

  19. Problem 2: conjecturing T-implications • We examined two methods: • One approximated point Here we always conjecture a T-implication. l4

  20. Problem 2: conjecturing T-implications • We examined two methods: • One approximated point Here we always conjecture a T-implication. l4

  21. 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

  22. 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”).

  23. Problem 2: conjecturing T-implications • Several possibilities: 22%  is T-consistent  satisfies it  is T-consistent  doesn’t satisfy it  is T-inconsistent

  24. 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.

  25. 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.

  26. 0-pivot vs. Minisat MiniSat

  27. 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.

  28. 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

  29. 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 ?

More Related