on conflicts and strategies in qbf
play

on conflicts and strategies in qbf Nikolaj Bjrner 1 Mikol Janota 2 - PowerPoint PPT Presentation

on conflicts and strategies in qbf Nikolaj Bjrner 1 Mikol Janota 2 William Klieber 3 LPAR-20 2015, Suva, Fiji 1 Microsoft Research, Redmond, USA 2 Microsoft Research, Cambridge, UK 3 CERT/SEI, Carnegie Mellon University Bjrner, Janota,


  1. on conflicts and strategies in qbf Nikolaj Bjørner 1 Mikoláš Janota 2 William Klieber 3 LPAR-20 2015, Suva, Fiji 1 Microsoft Research, Redmond, USA 2 Microsoft Research, Cambridge, UK 3 CERT/SEI, Carnegie Mellon University Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 1 / 12

  2. Example y 1 y 2 x 1 x 2 y 1 x 1 y 2 x 2 • we consider prenex form with maximal blocks of variables 1 2 2 N 1 2 N quantified boolean formula (qbf) • an extension of SAT with quantifiers Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 2 / 12

  3. • we consider prenex form with maximal blocks of variables 1 2 2 N 1 2 N quantified boolean formula (qbf) • an extension of SAT with quantifiers Example ∀ y 1 y 2 ∃ x 1 x 2 . ( ¬ y 1 ∨ x 1 ) ∧ ( y 2 ∨ ¬ x 2 ) Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 2 / 12

  4. quantified boolean formula (qbf) • an extension of SAT with quantifiers Example ∀ y 1 y 2 ∃ x 1 x 2 . ( ¬ y 1 ∨ x 1 ) ∧ ( y 2 ∨ ¬ x 2 ) • we consider prenex form with maximal blocks of variables ∀U 1 ∃E 2 . . . ∀U 2 N − 1 ∃E 2 N . ϕ Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 2 / 12

  5. • wins a game if the matrix becomes true. • wins a game if the matrix becomes false. • A QBF is true iff there exists a winning strategy for . • A QBF is false iff there exists a winning strategy for . Example u e u e u e wins by playing e u . relation to two-player games • A QBF represents a two-player games between ∃ and ∀ . Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 3 / 12

  6. • wins a game if the matrix becomes false. • A QBF is true iff there exists a winning strategy for . • A QBF is false iff there exists a winning strategy for . Example u e u e u e wins by playing e u . relation to two-player games • A QBF represents a two-player games between ∃ and ∀ . • ∃ wins a game if the matrix becomes true. Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 3 / 12

  7. • A QBF is true iff there exists a winning strategy for . • A QBF is false iff there exists a winning strategy for . Example u e u e u e wins by playing e u . relation to two-player games • A QBF represents a two-player games between ∃ and ∀ . • ∃ wins a game if the matrix becomes true. • ∀ wins a game if the matrix becomes false. Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 3 / 12

  8. • A QBF is false iff there exists a winning strategy for . Example u e u e u e wins by playing e u . relation to two-player games • A QBF represents a two-player games between ∃ and ∀ . • ∃ wins a game if the matrix becomes true. • ∀ wins a game if the matrix becomes false. • A QBF is true iff there exists a winning strategy for ∃ . Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 3 / 12

  9. Example u e u e u e wins by playing e u . relation to two-player games • A QBF represents a two-player games between ∃ and ∀ . • ∃ wins a game if the matrix becomes true. • ∀ wins a game if the matrix becomes false. • A QBF is true iff there exists a winning strategy for ∃ . • A QBF is false iff there exists a winning strategy for ∀ . Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 3 / 12

  10. wins by playing e u . relation to two-player games • A QBF represents a two-player games between ∃ and ∀ . • ∃ wins a game if the matrix becomes true. • ∀ wins a game if the matrix becomes false. • A QBF is true iff there exists a winning strategy for ∃ . • A QBF is false iff there exists a winning strategy for ∀ . Example ∀ u ∃ e . ( u ∨ e ) ∧ ( ¬ u ∨ ¬ e ) Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 3 / 12

  11. relation to two-player games • A QBF represents a two-player games between ∃ and ∀ . • ∃ wins a game if the matrix becomes true. • ∀ wins a game if the matrix becomes false. • A QBF is true iff there exists a winning strategy for ∃ . • A QBF is false iff there exists a winning strategy for ∀ . Example ∀ u ∃ e . ( u ∨ e ) ∧ ( ¬ u ∨ ¬ e ) ∃ wins by playing e ← ¬ u . Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 3 / 12

  12. setup • Two types of solving: expansion [Janota et al., 2012] and conflict-driven (DPLL) [Zhang and Malik, 2002]. • Both approaches have their weaknesses [Beyersdorff et al., 2015]. • What is a good way of combining them? Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 4 / 12

  13. expansion by strategies Consider ∀ x . ϕ • traditional expansion [Janota et al., 2012] abstract as: ∧ c ∈ ω ϕ | x = c where ω ⊆ { 0 , 1 } • strategy expansion abstract as: ∧ f ∈ ω ϕ | x = f where ω ⊆ dom ( X ) → B E.g. ∃ e ∀ u . ( u ⇔ e ) , expand with u � ¬ e . Simplifies to false. Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 5 / 12

  14. where to get strategies? give decisions Propagation Abstraction refine if conflict cont. if ok Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 6 / 12

  15. how to get strategies from conflicts? (In Q-Resolution) C ∨ u ∈ ϕ C ∨ u : ( u ← 0 ) C ∨ ¯ u ∈ ϕ C ∨ ¯ u : ( u ← 1 ) C ∈ ϕ u , ¯ u ̸∈ C C : ( u ← ⋆ ) C 1 ∨ x : ( u ← f 1 ) C 2 ∨ ¯ x : ( u ← f 2 ) C 1 ∨ C 2 : ( u ← x ? f 2 : f 1 ) Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 7 / 12

  16. combined qbf solving // initialization of decisions 1 δ ← ∅ 2 α ← [ α 1 = true , . . . , α n = true ] // initialization 3 while true do ( τ, loser ) ← Propagate ( δ, Φ) // propagation 4 if τ = ⊥ then // conflict resolution 5 ( k , α, Φ) ← LearnAndRefine ( δ, Φ , α, loser ) 6 if k = ⊥ then return ( loser = ∀ ) ? true : false 7 δ ← { l ∈ δ | qlevel ( l ) < k } // backtrack decisions 8 else // decision-making 9 k ← minimal quantification level not fully assigned in τ 10 τ k ← { ℓ ∈ τ | qlevel ( ℓ ) ≤ k } // filtering 11 ( µ, τ ′ ) ← SAT ( α k ∧ τ k ) // consult α k 12 if µ = ⊥ then // abstraction unsatisfiable 13 Φ ← ResolveUnsat ( τ ′ , Q k , Φ) // update Φ 14 if Φ = ⊥ then return ( Q k = ∀ ) ? true : false 15 else 16 v ← a variable unassigned by τ at quantification level k 17 δ ← δ ∪ { µ ( v ) ? v : ¬ v } // make a decision on v 18 Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 8 / 12

  17. experiments eval 2012 rareqs qosta qosta-noref depqbf ghostq 800 600 CPU Time (s) 400 200 0 0 50 100 150 number of solved instances Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 9 / 12

  18. experiments 2qbf areqs qosta qosta-noref depqbf ghostq 800 600 CPU Time (s) 400 200 0 0 20 40 number of solved instances Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 10 / 12

  19. • construction of strategies from DPLL conflicts • enables combining DPLL and expansion • different applications of strategies? (prediction of the opponent) • better ways how to come up with strategies? • combining strategies? conclusions and future work • key ingredient: in solving explicit strategies in solving Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

  20. • enables combining DPLL and expansion • different applications of strategies? (prediction of the opponent) • better ways how to come up with strategies? • combining strategies? conclusions and future work • key ingredient: in solving explicit strategies in solving • construction of strategies from DPLL conflicts Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

  21. • different applications of strategies? (prediction of the opponent) • better ways how to come up with strategies? • combining strategies? conclusions and future work • key ingredient: in solving explicit strategies in solving • construction of strategies from DPLL conflicts • enables combining DPLL and expansion Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

  22. • better ways how to come up with strategies? • combining strategies? conclusions and future work • key ingredient: in solving explicit strategies in solving • construction of strategies from DPLL conflicts • enables combining DPLL and expansion • different applications of strategies? (prediction of the opponent) Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

  23. • combining strategies? conclusions and future work • key ingredient: in solving explicit strategies in solving • construction of strategies from DPLL conflicts • enables combining DPLL and expansion • different applications of strategies? (prediction of the opponent) • better ways how to come up with strategies? Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

  24. conclusions and future work • key ingredient: in solving explicit strategies in solving • construction of strategies from DPLL conflicts • enables combining DPLL and expansion • different applications of strategies? (prediction of the opponent) • better ways how to come up with strategies? • combining strategies? Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

  25. Thank You for Your Attention! Questions? Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 12 / 12

Recommend


More recommend