a modular approach to maxsat modulo theories
play

A Modular Approach to MaxSAT Modulo Theories Alessandro Cimatti 1 , - PowerPoint PPT Presentation

A Modular Approach to MaxSAT Modulo Theories Alessandro Cimatti 1 , Alberto Griggio 1 , Bastiaan Joost Schaafsma 1 , 2 , Roberto Sebastiani 2 1 FBK-Irst, Trento, Italy; 2 DISI, University of Trento, Italy SAT 2013, Helsinki, Finland, July 8-12,


  1. A Modular Approach to MaxSAT Modulo Theories Alessandro Cimatti 1 , Alberto Griggio 1 , Bastiaan Joost Schaafsma 1 , 2 , Roberto Sebastiani 2 1 FBK-Irst, Trento, Italy; 2 DISI, University of Trento, Italy — SAT 2013, Helsinki, Finland, July 8-12, 2013 — Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 1 / 24

  2. Context Outline Context 1 A Modular Approach to MaxSMT 2 Experimental Evaluation 3 Conclusions & Future Work 4 Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 2 / 24

  3. Context Context: Optimization Modulo Theories (OMT) Need for Satisfiability Modulo Theories (SMT) SMT solvers widely used as backend engines in formal verification, and many other applications Need for Optimization Modulo Theories (OMT) Many SMT-encodable problems require optimal solutions wrt. some cost function: optimization of physical layout of circuit designs formal verification of parametric systems scheduling and temporal reasoning displacement of tools synthesis of Bayesian networks radio link frequency assignment ... Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 3 / 24

  4. Context Context: Optimization Modulo Theories (OMT) Need for Satisfiability Modulo Theories (SMT) SMT solvers widely used as backend engines in formal verification, and many other applications Need for Optimization Modulo Theories (OMT) Many SMT-encodable problems require optimal solutions wrt. some cost function: optimization of physical layout of circuit designs formal verification of parametric systems scheduling and temporal reasoning displacement of tools synthesis of Bayesian networks radio link frequency assignment ... Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 3 / 24

  5. Context Optimization Modulo Theories (OMT): Previous Work A general framework [7] OMT with cost functions in the Boolean domain SMT + Pseudo-Boolean cost functions [7, 3] MaxSMT [7] N.B.: can be encoded into each other. OMT with cost functions in the theory domain OMT with linear real costs [8] N.B.: Can encode OMT with Boolean costs, not vice versa [7]: [Nieuwenhuis & Oliveras; SAT-06] [3]: [Cimatti et al. ; TACAS-10] [8]: [Sebastiani & Tomasi; IJCAR-12] Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 4 / 24

  6. Context Optimization Modulo Theories (OMT): Previous Work A general framework [7] OMT with cost functions in the Boolean domain SMT + Pseudo-Boolean cost functions [7, 3] MaxSMT [7] N.B.: can be encoded into each other. OMT with cost functions in the theory domain OMT with linear real costs [8] N.B.: Can encode OMT with Boolean costs, not vice versa [7]: [Nieuwenhuis & Oliveras; SAT-06] [3]: [Cimatti et al. ; TACAS-10] [8]: [Sebastiani & Tomasi; IJCAR-12] Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 4 / 24

  7. Context MaxSAT & MaxSMT: The Problems notation � ... � B : objects in the Boolean space � ... � T : objects in the Theory space = T 2 B ( � ... � T ) , � ... � B def def � ... � T = B 2 T ( � ... � B ) T 2 B , B 2 T : Boolean abstraction & Theory refinement [Partial Weighted] MaxSMT Input: ϕ T h , ϕ T s : sets of hard and (weighted) soft clauses; weight w i > 0 of soft clause C i : penalty if unsatisfied Output: a maximum-weight set alert ψ T s of soft clauses s.t. ψ T s ⊆ ϕ T s and ϕ T h ∪ ψ T s is satisfiable Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 5 / 24

  8. Context MaxSAT & MaxSMT: The Problems notation � ... � B : objects in the Boolean space � ... � T : objects in the Theory space = T 2 B ( � ... � T ) , � ... � B def def � ... � T = B 2 T ( � ... � B ) T 2 B , B 2 T : Boolean abstraction & Theory refinement [Partial Weighted] MaxSAT Input: ϕ B h , ϕ B s : sets of hard and (weighted) soft clauses; weight w i > 0 of soft clause C i : penalty if unsatisfied Output: a maximum-weight set ψ B s of soft clauses s.t. ψ B s ⊆ ϕ B s and ϕ B h ∪ ψ B s is satisfiable Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 5 / 24

  9. Context MaxSAT & MaxSMT: The Problems notation � ... � B : objects in the Boolean space � ... � T : objects in the Theory space = T 2 B ( � ... � T ) , � ... � B def def � ... � T = B 2 T ( � ... � B ) T 2 B , B 2 T : Boolean abstraction & Theory refinement [Partial Weighted] MaxSMT Input: ϕ T h , ϕ T s : sets of hard and (weighted) soft T -clauses; weight w i > 0 of soft clause C i : penalty if unsatisfied Output: a maximum-weight set alert ψ T s of soft T -clauses s.t. ψ T s ⊆ ϕ T s and ϕ T h ∪ ψ T s is T -satisfiable Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 5 / 24

  10. Context MaxSMT: State of the Art Vaste bibliography on MaxSAT, plenty of tools available Very few work on MaxSMT: a few related [7, 1, 3, 8] papers few specific (Yices, Z3) or related [3, 8] implementations available Note: involves both MaxSAT and SMT solving techniques: need expertise on both MaxSAT and SMT solving need access to both MaxSAT and SMT solvers’ code = ⇒ sometimes hard to get (e.g., for MaxSAT experts/developers) [7]: [Nieuwenhuis & Oliveras; SAT-2006] [1]: [Ansotegui et al.; SARA-11] [3]: [Cimatti et al. ; TACAS-10] [8]: [Sebastiani & Tomasi; IJCAR-12] Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 6 / 24

  11. Context MaxSMT: State of the Art Vaste bibliography on MaxSAT, plenty of tools available Very few work on MaxSMT: a few related [7, 1, 3, 8] papers few specific (Yices, Z3) or related [3, 8] implementations available Note: involves both MaxSAT and SMT solving techniques: need expertise on both MaxSAT and SMT solving need access to both MaxSAT and SMT solvers’ code = ⇒ sometimes hard to get (e.g., for MaxSAT experts/developers) [7]: [Nieuwenhuis & Oliveras; SAT-2006] [1]: [Ansotegui et al.; SARA-11] [3]: [Cimatti et al. ; TACAS-10] [8]: [Sebastiani & Tomasi; IJCAR-12] Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 6 / 24

  12. A Modular Approach to MaxSMT Outline Context 1 A Modular Approach to MaxSMT 2 Experimental Evaluation 3 Conclusions & Future Work 4 Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 7 / 24

  13. A Modular Approach to MaxSMT Lemma-Lifting (LL): a Novel Approach to MaxSMT Based on a cyclic interaction of a lazy SMT and a MaxSAT solver: SMT produces and feeds to MaxSAT a chain of T -lemma sets Θ T 0 , Θ T 1 , Θ T 2 , ..., Θ T N MaxSAT produces and feeds to SMT a chain of soft-clause subsets ψ B s , 0 , ψ B s , 1 , ..., ψ B s , N Theory Space T B Boolean Space T 2 B ϕ B h , ϕ B ϕ T h , ϕ T s s Θ T Θ B i i SMT MaxSAT ψ T ψ B ψ T s , i s , i sat/unsat s B 2 T . . . Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 8 / 24

  14. A Modular Approach to MaxSMT Lemma-Lifting Approach: MaxSMT ( ϕ T h , ϕ T s ) Input: ϕ T h , ϕ T // sets of hard and (weighted) soft T -clauses s � ϕ B h , ϕ B s � ← T 2 B ( � ϕ T h , ϕ T s � ); // their Boolean abstraction Θ T ← ∅ ; // current set of T -lemmas ψ T s ← ϕ T s ; // current approximation of the result s ∪ Θ T ) = UNSAT ) do while ( SMT . Solve ( ϕ T h ∪ ψ T Θ T ← Θ T ∪ SMT . GetTLemmas(); Θ B ← T 2 B ( Θ T ); ψ B s ← MaxSAT ( ϕ B h ∪ Θ B , ϕ B s ); ψ T s ← B 2 T ( ψ B s ); return ψ T s ; Cyclic interaction of an SMT and a MaxSAT solver: SMT used as generator of T -lemma sets Θ T 0 ⊆ Θ T 1 ⊂ Θ T 2 ⊂ ... = ⇒ provides the information to rule-out T -inconsistent solutions MaxSAT used to extract maximum-weight clause sets ψ B s , 0 , ψ B s , 1 , ... ψ B s , i current approximation of the solution, w ( ψ B s , i + 1 ) ≤ w ( ψ B s , i ) Repeated until ϕ T h ∪ ψ T s is found T -satisfiable. Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 9 / 24

  15. A Modular Approach to MaxSMT Lemma-Lifting Approach: MaxSMT ( ϕ T h , ϕ T s ) Input: ϕ T h , ϕ T s � ϕ B h , ϕ B s � ← T 2 B ( � ϕ T h , ϕ T s � ); Θ T ← ∅ ; ψ T s ← ϕ T s ; s ∪ Θ T ) = UNSAT ) do while ( SMT . Solve ( ϕ T h ∪ ψ T Θ T ← Θ T ∪ SMT . GetTLemmas(); Θ B ← T 2 B ( Θ T ); ψ B s ← MaxSAT ( ϕ B h ∪ Θ B , ϕ B s ); ψ T s ← B 2 T ( ψ B s ); return ψ T s ; Cyclic interaction of an SMT and a MaxSAT solver: SMT used as generator of T -lemma sets Θ T 0 ⊆ Θ T 1 ⊂ Θ T 2 ⊂ ... = ⇒ provides the information to rule-out T -inconsistent solutions MaxSAT used to extract maximum-weight clause sets ψ B s , 0 , ψ B s , 1 , ... ψ B s , i current approximation of the solution, w ( ψ B s , i + 1 ) ≤ w ( ψ B s , i ) Repeated until ϕ T h ∪ ψ T s is found T -satisfiable. Roberto Sebastiani () A Modular Approach to MaxSMT July 8-12, 2013 9 / 24

Recommend


More recommend