CoPAn - Exploring recurring patterns in conflict analysis of CDCL SAT-Solvers (Tool Presentation) Stephan Kottler, Christian Zielke, Paul Seitz and Michael Kaufmann Algorithmics Group, Department of Computer Science, University of Tübingen June 17, 2012 The International Conference on Theory and Applications of Satisfiability Testing Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 1 / 11
Main view of CoPAn Copan - old Mayan town source: http://berufsakademie001.blogspot.com/2008/03/i-am-talking-about-honduras.html , http://upload.wikimedia.orgwikipediacommons55fCop%C3%A1nMap.jpg Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 2 / 11
Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11
Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11
Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11
Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11
Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11
Motivation CDCL algorithm success well documented but: slight parameter modifications may cause vastly different behavior fast runs often related to learning ’good’ clauses ⇒ our tool CoPAn ( Co nflict P attern An alyser) aims at: perspective for investigation of full solver run better understanding of learning process development of new learning schemes cope with large amount of data ( ! ) ⇒ using conflict pattern comparison to analyse complete solver run associate user-defined properties of clauses Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 4 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 4 C 1 C 4 3 2 C 2 Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 ( x 4 x 6 ) 4 4 ( x 3 x 4 ) ( x 2 x 3 x 6 ) C 1 C 4 3 2 3 2 C 2 ( x 2 x 3 x 5 ) Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 ( x 4 x 6 ) 4 4 ( x 3 x 4 ) ( x 2 x 3 x 6 ) C 1 C 4 3 2 3 2 C 2 ( x 2 x 3 x 5 ) Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 ( x 4 x 6 ) 4 4 ( x 3 x 4 ) C 1 C 4 3 2 3 C 2 ( x 3 x 5 x 6 ) Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 ( x 4 x 6 ) 4 4 ( x 3 x 4 ) C 1 C 4 3 2 3 C 2 ( x 3 x 5 x 6 ) Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 ( x 4 x 6 ) 4 C 1 C 4 4 3 2 C 2 ( x 4 x 5 x 6 ) Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 ( x 4 x 6 ) 4 C 1 C 4 4 3 2 C 2 ( x 4 x 5 x 6 ) Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 4 C 1 C 4 3 2 C 2 ( x 5 x 6 ) Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 4 C 1 C 4 3 2 C 2 Definition Two conflicts c 1 , c 2 exhibit the same resolution pattern iff their unlabeled resolution graphs g 1 , g 2 are isomorphic. Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
Conflict Patterns main feature: compare conflicts based on their pattern representation of conflicts C 1 = ( x 3 x 4 ) C 2 = ( x 2 x 3 x 5 ) C 3 = ( x 4 x 6 ) C 4 = ( x 2 x 3 x 6 ) resolution tree C 3 4 C 1 C 4 3 2 C 2 advantages: + similar patterns ? ⇒ similar resolution chains + isomorphism test for trees in P , for DAGs complexity not known Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11
clashing graph frame Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11
clashing graph frame Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11
clashing graph frame based on the resolution tree Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11
clashing graph frame based on the resolution tree identic literals Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11
clashing graph frame based on the resolution tree identic literals alternative resolutions Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11
clashing graph frame based on the resolution tree identic literals alternative resolutions learned clauses denoted as circles traversing via learned clauses Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11
clashing graph frame based on the resolution tree identic literals alternative resolutions learned clauses denoted as circles traversing via learned clauses Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11
Conflict Filters Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 7 / 11
Conflict Filters Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 7 / 11
Conflict Filters possible conflict filters: Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11
Conflict Filters possible conflict filters: general structural information, as: 1 index of conflict size of conflict size of learnt clause conflict pattern Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11
Conflict Filters possible conflict filters: general structural information, as: 1 index of conflict size of conflict size of learnt clause conflict pattern Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11
Conflict Filters possible conflict filters: general structural information, as: 1 index of conflict size of conflict size of learnt clause conflict pattern information about effect on rest of formula, as: 2 # subsumptions of learnt clause # self-subsumptions of learnt clause Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11
Conflict Filters possible conflict filters: general structural information, as: 1 index of conflict size of conflict size of learnt clause conflict pattern information about effect on rest of formula, as: 2 # subsumptions of learnt clause # self-subsumptions of learnt clause information corresponding to clause data base reductions: 3 lifetime of the learnt clause # subsumptions after deletion of the learnt clause # self-subsumptions after deletion of the learnt clause Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11
Recommend
More recommend