parallel qbf solving state of the art techniques and
play

Parallel QBF Solving: State of the Art Techniques and Future - PowerPoint PPT Presentation

Parallel QBF Solving: State of the Art Techniques and Future Perspectives Florian Lonsing Knowledge-Based Systems Group, Vienna University of Technology, Austria http://www.kr.tuwien.ac.at/staff/lonsing/ First Workshop on Parallel Constraint


  1. Parallel QBF Solving: State of the Art Techniques and Future Perspectives Florian Lonsing Knowledge-Based Systems Group, Vienna University of Technology, Austria http://www.kr.tuwien.ac.at/staff/lonsing/ First Workshop on Parallel Constraint Reasoning (PCR’17) August 6, 2017, Gothenburg, Sweden Collocated with CADE-26 This work is supported by the Austrian Science Fund (FWF) under grant S11409-N23. Florian Lonsing (TU Wien) Parallel QBF Solving 1 / 15

  2. Introduction Quantified Boolean Formulas (QBF): Existential ( ∃ ) / universal ( ∀ ) quantification of propositional variables. Checking QBF satisfiability: PSPACE-complete. Potentially more succinct encodings than propositional logic. Example QBF ψ := ˆ Q .φ in prenex conjunctive normal form (PCNF) . ψ = ∀ u ∃ x . (¯ u ∨ x ) ∧ ( u ∨ ¯ x ) . � �� � � �� � quantifier prefix propositional CNF Recursive semantics: Assign variables in prefix ordering, recurse on simplified formula ψ [ A ] under assignment A . Base cases: ⊥ is unsatisfiable, ⊤ is satisfiable. ∀ u .ψ is satisfiable iff ψ [ u / ⊥ ] and ψ [ u / ⊤ ] are satisfiable. ∃ x .ψ is satisfiable iff ψ [ x / ⊥ ] or ψ [ x / ⊤ ] is satisfiable. Florian Lonsing (TU Wien) Parallel QBF Solving 1 / 15

  3. Introduction: Sequential QBF Solving QCDCL: [GNT06, Let02, ZM02] Extension of conflict-driven clause learning (CDCL) for SAT solving. Derivation of new learned clauses and cubes (conjunctions of literals). Underlying proof system: Q-resolution calculus [KBKF95]. Expansion: [AB02, Bie04, JKMSC16, JM15b, RT15] Successively eliminate variables from a QBF. Shannon expansion [Sha49]: ∃ x .φ ( x , . . . ) ≡ φ ( ⊥ , . . . ) ∨ φ ( ⊤ , . . . ) Counter example guided abstraction refinement (CEGAR). QBF Proof Complexity: Recent results: orthogonality of proof systems [BCJ15, JM15a]. Expansion vs. Q-resolution: exponential separation wrt. proof sizes. Florian Lonsing (TU Wien) Parallel QBF Solving 2 / 15

  4. Outline State of the Art Techniques: Two main parallel approaches, inspired by parallel SAT solving. Examples of solvers illustrating the main approaches. Challenges: Limitations of parallel solving due to prefix ordering. Proof generation. Future Perspectives: Proof complexity (orthogonality) as a motivation to parallelize. Experiments to highlight performance diversity of sequential solvers. Florian Lonsing (TU Wien) Parallel QBF Solving 3 / 15

  5. Main Parallel QBF Solving Approaches Search Space Handling: Given a QBF with n variables, 2 n possible assignments. Additionally, prefix ordering and quantifier types must be considered (cf. semantics). Approaches differ in how search space is explored. Generalizations of approaches to parallel SAT solving. Example ψ = ∀ u ∃ x . (¯ u ∨ x ) ∧ ( u ∨ ¯ x ) . Out of the 2 2 possible assignments, { u , x } and {¬ u , ¬ x } are sufficient to show the satisfiability of ψ . Florian Lonsing (TU Wien) Parallel QBF Solving 4 / 15

  6. Main Parallel QBF Solving Approaches Portfolio Approach: Run several instances of the same solver (or different ones) on the original formula. Problem: instances potentially explore same parts of the search space. Diversify solver instances by parameter settings. With(out) sharing of learned clauses and cubes. Florian Lonsing (TU Wien) Parallel QBF Solving 4 / 15

  7. Main Parallel QBF Solving Approaches Splitting Approach: Instances by construction explore different parts of the search space. Parts are described by assignments that follow the prefix ordering. Instance gets original formula ψ and assignment A , and solves ψ [ A ] . Similar to guiding path method in parallel SAT solving. Example ψ = ∀ u ∃ x . (¯ u ∨ x ) ∧ ( u ∨ ¯ x ) . Possible splittings, starting from left end of prefix: A = { u } , solver instance works on ψ [ A ] = ∃ x . ( x ) . A = {¬ u } , solver instance works on ψ [ A ] = ∃ x . ( ¬ x ) . Unsound splittings: A = { x } , solver instance works on ψ [ A ] = ∀ u . ( u ) . A = {¬ x } , solver instance works on ψ [ A ] = ∀ u . ( ¬ u ) . Florian Lonsing (TU Wien) Parallel QBF Solving 4 / 15

  8. Portfolio Approach Example: HordeQBF MASTER 1 MASTER 2 MPI learned learned constraint constraint pool pool SM SM SM SM T 1 , 1 T 1 , 2 T 2 , 1 T 2 , 2 SM SM Massively parallel portfolio to run on distributed architectures [BL16]. First published parallel portfolio (cf. sequential ones [PT09, SM07]). Extension of HordeSat [BSS15], supports any QCDCL solver. Hierarchical parallelism: shared memory and message passing. Master executes identical but diversified QCDCL solvers (threads). Master processes: exchange of learned constraints via MPI. Florian Lonsing (TU Wien) Parallel QBF Solving 5 / 15

  9. Splitting Approach Example: MPIDepQBF M A n A n − 1 A i A 2 A 1 W 1 W 2 W n − 1 W n . . . Master M : Splits search space by assignments A i , calling workers W i . Combines results obtained by workers, further splitting. Manages exchange of learned constraints (not part of MPIDepQBF). Solvers differ in splitting strategy, exchange of learned constraints, shared memory vs. message passing [FMS00, LSB09, LSB + 11]. Florian Lonsing (TU Wien) Parallel QBF Solving 6 / 15

  10. Splitting Approach Example: MPIDepQBF M r n r n − 1 r i r 2 r 1 W 1 W 2 W n − 1 W n . . . Workers: Operate on original formula ψ , receive assignments A i and timeout. Treat A i as assumptions in QCDCL to solve ψ [ A i ] . Solving ψ under assumptions A i : re-use of learned constraints within each W i in next run of QCDCL under different A ′ i . Send result r i back to master or request increased timeout. Exchange of learned constraints either via master or among workers. Florian Lonsing (TU Wien) Parallel QBF Solving 6 / 15

  11. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 ∃ x 2 ∃ x 2 ( o , t 1 ) ( o , t 2 ) ( o , t 3 ) ( o , t 4 ) Initially 4 idle workers, 4 open leaves (subcases) with individual timeouts t i . Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  12. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 ∃ x 2 ∃ x 2 ( o , t 1 ) ( o , t 2 ) ( o , t 3 ) ( o , t 4 ) W 1 W 2 W 3 W 4 Assign open subcases to idle workers W i by sending assumptions: W 1 works on ψ [ ¬ x 1 , ¬ x 2 ] . W 2 works on ψ [ ¬ x 1 , x 2 ] . W 3 works on ψ [ x 1 , ¬ x 2 ] . W 4 works on ψ [ x 1 , x 2 ] . Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  13. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 ∃ x 2 ∃ x 2 u ( o , t 2 ) ( o , t 3 ) ( o , t 4 ) W 2 W 3 W 4 W 1 returns “unsat” for subcase ψ [ ¬ x 1 , ¬ x 2 ] and becomes idle. Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  14. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 ∃ x 2 ∃ x 2 u u ( o , t 3 ) ( o , t 4 ) W 3 W 4 W 2 returns “unsat” for subcase ψ [ ¬ x 1 , x 2 ] and becomes idle. Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  15. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u ∃ x 2 u u ( o , t 3 ) ( o , t 4 ) W 3 W 4 Since ψ [ ¬ x 1 , ¬ x 2 ] and ψ [ ¬ x 1 , x 2 ] unsatisfiable, also ψ [ ¬ x 1 ] unsatisfiable. Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  16. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u ∃ x 2 u u ( o , t 3 ) ( o , t 4 ) W 4 W 3 times out, W 1 , W 2 are idle, only 2 open leaves: generate new subcases. Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  17. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u ∃ x 2 u u ∀ y 3 ( o , t 4 ) W 4 ∃ x 4 ∃ x 4 ( o , t 5 ) ( o , t 6 ) ( o , t 7 ) ( o , t 8 ) Replace open leaf ( o , t 3 ) by binary tree based on ∀ y 3 and ∃ x 4 . Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  18. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u ∃ x 2 ( o , t 4 ) u u ∀ y 3 W 4 ∃ x 4 ∃ x 4 ( o , t 5 ) ( o , t 6 ) ( o , t 7 ) ( o , t 8 ) W 1 W 2 W 3 Assign open subcases to idle workers W 1 , W 2 , and W 3 by assumptions: W 1 works on ψ [ x 1 , ¬ x 2 , ¬ y 3 , ¬ x 4 ] . W 2 works on ψ [ x 1 , ¬ x 2 , ¬ y 3 , x 4 ] . W 3 works on ψ [ x 1 , ¬ x 2 , y 3 , ¬ x 4 ] . Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  19. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u ∃ x 2 ( o , t 4 ) u u ∀ y 3 W 4 ∃ x 4 ∃ x 4 ( o , t 6 ) ( o , t 8 ) s s W 2 W 1 and W 3 return “sat” for ψ [ x 1 , ¬ x 2 , ¬ y 3 , ¬ x 4 ] and ψ [ x 1 , ¬ x 2 , y 3 , ¬ x 4 ] . Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  20. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u ∃ x 2 ( o , t 4 ) u u ∀ y 3 W 4 s s ( o , t 6 ) ( o , t 8 ) s s W 2 Subcases ψ [ x 1 , ¬ x 2 , ¬ y 3 ] and ψ [ x 1 , ¬ x 2 , y 3 ] are satisfiable. Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  21. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u ∃ x 2 ( o , t 4 ) u u s W 4 s s ( o , t 6 ) ( o , t 8 ) s s W 2 Subcase ψ [ x 1 , ¬ x 2 ] is satisfiable. Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

  22. Splitting Approach Example PCNF ψ := ∃ x 1 , x 2 ∀ y 3 ∃ x 4 . . . φ . ∃ x 1 u s ( o , t 4 ) u u s W 4 s s ( o , t 6 ) ( o , t 8 ) s s W 2 Subcase ψ [ x 1 ] is satisfiable. Florian Lonsing (TU Wien) Parallel QBF Solving 7 / 15

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