the sat solver framework priss
play

THE SAT SOLVER FRAMEWORK PRISS Norbert Manthey and Robert Stelzman - PowerPoint PPT Presentation

THE SAT SOLVER FRAMEWORK PRISS Norbert Manthey and Robert Stelzman Trento, 16.06.2012 We do have powerful SAT solvers Modern SAT solvers Solve SAT efficiently Can be wrapped for other tasks Provide some API to the outside Are


  1. THE SAT SOLVER FRAMEWORK PRISS Norbert Manthey and Robert Stelzman Trento, 16.06.2012

  2. We do have powerful SAT solvers Modern SAT solvers • Solve SAT efficiently • Can be wrapped for other tasks • Provide some API to the outside • Are special purpose (they solve a CNF formula) • . . . TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 2 of 20

  3. We do have powerful SAT solvers Modern SAT solvers • Solve SAT efficiently • Can be wrapped for other tasks • Provide some API to the outside • Are special purpose (they solve a CNF formula) • . . . However, for research we need more. TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 2 of 20

  4. Statements that have been made There has been work on splitting, e.g. • If we split on backdoor variables first, the solver runs faster TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 3 of 20

  5. Statements that have been made There has been work on splitting, e.g. • If we split on backdoor variables first, the solver runs faster • Branching on auxiliary variables slows the solver down TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 3 of 20

  6. Statements that have been made There has been work on splitting, e.g. • If we split on backdoor variables first, the solver runs faster • Branching on auxiliary variables slows the solver down • Can we prove this easily with existing tools? TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 3 of 20

  7. Statements that have been made There has been work on splitting, e.g. • If we split on backdoor variables first, the solver runs faster • Branching on auxiliary variables slows the solver down • Can we prove this easily with existing tools? • Can we extend the results to parallel solvers? • We try to provide a modular solver that provides a starting point. TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 3 of 20

  8. Outline Motivation The parallel framework The SLS solver ssa The CDCL solver riss 2.0 A special configuration Demo Conclusion TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 4 of 20

  9. The solver (p)riss F ′ , L 1 , J 1 Solver 1 CP2 1 J ′ F ′ L 1 , E 1 1 F ′ F CP2 Master J J ′ J ′ F ′ L 2 , E 2 2 F ′ , L 2 , J 2 Solver 2 CP2 2 TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 5 of 20

  10. The solver (p)riss The framework currently implements two solvers that can be run in parallel • The CDCL solver riss 2.0 • The SLS solve ssa Clauses can be shared (and filtered) based on their • Size, e.g. less than the average since the last restart • LBD value • PSM value Furthermore, • priss 2.0 shares equivalent literals • ssa sends pure literals • Sending and receiving can be disabled • Messages from specific senders can be refused TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 6 of 20

  11. Outline Motivation The parallel framework The SLS solver ssa The CDCL solver riss 2.0 A special configuration Demo Conclusion TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 7 of 20

  12. The SLS solver ssa ssa is a re-implementation of sparrow 2011 with some modifications • Broken clauses are weighted • Variables have scores • If we cannot do greedy steps, we do walksat TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 8 of 20

  13. The SLS solver ssa ssa is a re-implementation of sparrow 2011 with some modifications • Broken clauses are weighted • Variables have scores • If we cannot do greedy steps, we do walksat • We store promising variables in a heap • We update variables in this heap incrementally TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 8 of 20

  14. The SLS solver ssa ssa is a re-implementation of sparrow 2011 with some modifications • Broken clauses are weighted • Variables have scores • If we cannot do greedy steps, we do walksat • We store promising variables in a heap • We update variables in this heap incrementally • We profiled the order of if-conditionds • The solver is not tuned for a specific instance set TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 8 of 20

  15. Outline Motivation The parallel framework The SLS solver ssa The CDCL solver riss 2.0 A special configuration Demo Conclusion TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 9 of 20

  16. The CDCL solver riss 2.0 Initially, we wanted to implement MiniSAT in a modular way • Each major component of the CDCL procedure can be replaced easily • We want to exchange components easily TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 10 of 20

  17. The CDCL solver riss 2.0 Initially, we wanted to implement MiniSAT in a modular way • Each major component of the CDCL procedure can be replaced easily • We want to exchange components easily • We want to adapt the solver fast to research needs, e.g. student experiments • We want to reproduce results from other publications TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 10 of 20

  18. The CDCL solver riss 2.0 Initially, we wanted to implement MiniSAT in a modular way • Each major component of the CDCL procedure can be replaced easily • We want to exchange components easily • We want to adapt the solver fast to research needs, e.g. student experiments • We want to reproduce results from other publications Some features that have been requested: • Branch on a set of variables first • Branch on a given polarity first • Dump and load learned clauses • Enumerate multiple models TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 10 of 20

  19. Features that are provided In riss 2.0, we provide: • A C++ implementation with templates and library loaders • All the above requested features • A modular preprocessor (presentation on Sunday) • Simplification during search (all techniques handle learned clauses) • Several restart schemes (geometric, inner-outer, luby, dynamic) • Removal heuristics (activity, LBD, PSM) and schedules • Decision heuristics (VSIDS, VMTF), pick dominator • Restricted extended resolution during learning • Assignment shrinking • Reused-Trail restart simulation • . . . • Some analysis tools TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 11 of 20

  20. Combining CDCL and SLS for parallel search Based on ppfolio, and since we have a CDCL and an SLS solver • Build a hybrid solver • As in portfolio solvers, we want to share data TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 12 of 20

  21. Combining CDCL and SLS for parallel search Based on ppfolio, and since we have a CDCL and an SLS solver • Build a hybrid solver • As in portfolio solvers, we want to share data What can we share? • Learned clauses from CDCL to SLS • Currently, pure literals from SLS to CDCL • There is more to come . . . TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 12 of 20

  22. Outline Motivation The parallel framework The SLS solver ssa The CDCL solver riss 2.0 A special configuration Demo Conclusion TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 13 of 20

  23. Demonstrating the SLS solver ssa can solve random SLS instances in Dimacs format • After a preprocessor has been run • Run alone • . . . TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 14 of 20

  24. Demonstrating the CDCL solver riss 2.0 can • Display its help (huge) TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 15 of 20

  25. Demonstrating the CDCL solver riss 2.0 can • Display its help (huge) • Solve CNF and output statistics • Can share information with filters • Be verbose • Load components from libraries • . . . and more Note: the solver is not tuned on instance sets TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 15 of 20

  26. Outline Motivation The parallel framework The SLS solver ssa The CDCL solver riss 2.0 A special configuration Demo Conclusion TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 16 of 20

  27. Future Work What we need to do next: • Improving the SLS solver • Incorporate new techniques and more features into CDCL • Tune the systems – for competition instances – for special applications – as parallel portfolio solver (diverse configurations) TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 17 of 20

  28. Conclusion priss 2.0 provides • a modular, easy to extend CDCL solver • a comparable SLS solver • many features • many parameters • the ability to execute solvers in parallel with sharing information TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 18 of 20

  29. Where can you find the tool? http://tools.computational-logic.org We provide • Statically linked binaries • The source code of the current version (under GPL 2) • We will put updates and fixes online TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 19 of 20

  30. Thanks for your attention The solver is available at http://tools.computational-logic.org TU Dresden, 16.06.2012 The SAT Solver Framework priss slide 20 of 20

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