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

on conflicts and strategies in qbf
SMART_READER_LITE
LIVE PREVIEW

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,


slide-1
SLIDE 1
  • n conflicts and strategies in qbf

Nikolaj Bjørner1 Mikoláš Janota2 William Klieber3 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

slide-2
SLIDE 2

quantified boolean formula (qbf)

  • an extension of SAT with quantifiers

Example y1y2 x1x2 y1 x1 y2 x2

  • we consider prenex form with maximal blocks of variables

1 2 2N 1 2N

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 2 / 12

slide-3
SLIDE 3

quantified boolean formula (qbf)

  • an extension of SAT with quantifiers

Example ∀y1y2∃x1x2. (¬y1 ∨ x1) ∧ (y2 ∨ ¬x2)

  • we consider prenex form with maximal blocks of variables

1 2 2N 1 2N

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 2 / 12

slide-4
SLIDE 4

quantified boolean formula (qbf)

  • an extension of SAT with quantifiers

Example ∀y1y2∃x1x2. (¬y1 ∨ x1) ∧ (y2 ∨ ¬x2)

  • we consider prenex form with maximal blocks of variables

∀U1∃E2 . . . ∀U2N−1∃E2N. ϕ

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 2 / 12

slide-5
SLIDE 5

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

slide-6
SLIDE 6

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

slide-7
SLIDE 7

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

slide-8
SLIDE 8

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

slide-9
SLIDE 9

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

slide-10
SLIDE 10

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

slide-11
SLIDE 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

slide-12
SLIDE 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

slide-13
SLIDE 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

slide-14
SLIDE 14

where to get strategies?

Abstraction Propagation give decisions refine if conflict

  • cont. if ok

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 6 / 12

slide-15
SLIDE 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 ← ⋆) C1 ∨ x : (u ← f1) C2 ∨ ¯ x : (u ← f2) C1 ∨ C2 : (u ← x ? f2 : f1)

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 7 / 12

slide-16
SLIDE 16

combined qbf solving

1 δ ← ∅

// initialization of decisions

2 α ← [α1 = true, . . . , αn = true]

// initialization

3 while true do 4

(τ, loser) ← Propagate(δ, Φ) // propagation

5

if τ = ⊥ then // conflict resolution

6

(k, α, Φ) ← LearnAndRefine(δ, Φ, α, loser)

7

if k = ⊥ then return (loser = ∀) ? true : false

8

δ ← {l ∈ δ | qlevel(l) < k} // backtrack decisions

9

else // decision-making

10

k ← minimal quantification level not fully assigned in τ

11

τk ← {ℓ ∈ τ | qlevel(ℓ) ≤ k} // filtering

12

(µ, τ ′) ← SAT(αk ∧ τk) // consult αk

13

if µ = ⊥ then // abstraction unsatisfiable

14

Φ ← ResolveUnsat(τ ′, Qk, Φ) // update Φ

15

if Φ = ⊥ then return (Qk = ∀) ? true : false

16

else

17

v ← a variable unassigned by τ at quantification level k

18

δ ← δ ∪ {µ(v) ? v : ¬v} // make a decision on v

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 8 / 12

slide-17
SLIDE 17

experiments eval 2012

50 100 150 200 400 600 800 number of solved instances CPU Time (s) qosta qosta-noref rareqs depqbf ghostq

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 9 / 12

slide-18
SLIDE 18

experiments 2qbf

20 40 200 400 600 800 number of solved instances CPU Time (s) qosta qosta-noref areqs depqbf ghostq

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 10 / 12

slide-19
SLIDE 19

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
  • pponent)
  • better ways how to come up with strategies?
  • combining strategies?

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

slide-20
SLIDE 20

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
  • pponent)
  • better ways how to come up with strategies?
  • combining strategies?

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

slide-21
SLIDE 21

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
  • pponent)
  • better ways how to come up with strategies?
  • combining strategies?

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

slide-22
SLIDE 22

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
  • pponent)
  • better ways how to come up with strategies?
  • combining strategies?

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

slide-23
SLIDE 23

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
  • pponent)
  • better ways how to come up with strategies?
  • combining strategies?

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

slide-24
SLIDE 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
  • pponent)
  • better ways how to come up with strategies?
  • combining strategies?

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 11 / 12

slide-25
SLIDE 25

Thank You for Your Attention! Questions?

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 12 / 12

slide-26
SLIDE 26

Beyersdorff, O., Chew, L., and Janota, M. (2015). Proof complexity of resolution-based QBF calculi. In Mayr, E. W. and Ollinger, N., editors, 32nd International Symposium on Theoretical Aspects of Computer Science, STACS, volume 30 of LIPIcs, pages 76–89. Schloss Dagstuhl - Leibniz-Zentrum fuer Informatik. Janota, M., Klieber, W., Marques-Silva, J., and Clarke, E. M. (2012). Solving QBF with counterexample guided refinement. In Cimatti, A. and Sebastiani, R., editors, SAT, volume 7317 of Lecture Notes in Computer Science, pages 114–128. Springer. Zhang, L. and Malik, S. (2002). Conflict driven learning in a quantified Boolean satisfiability solver. In ICCAD.

Bjørner, Janota, Klieber On Conflicts and Strategies in QBF 12 / 12