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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend