CoPAn - Exploring recurring patterns in conflict analysis of CDCL - - PowerPoint PPT Presentation

copan exploring recurring patterns in conflict analysis
SMART_READER_LITE
LIVE PREVIEW

CoPAn - Exploring recurring patterns in conflict analysis of CDCL - - PowerPoint PPT Presentation

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 Tbingen


slide-1
SLIDE 1

CoPAn - Exploring recurring patterns in conflict analysis

  • f 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

slide-2
SLIDE 2

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

slide-3
SLIDE 3

Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11

slide-4
SLIDE 4

Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11

slide-5
SLIDE 5

Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11

slide-6
SLIDE 6

Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11

slide-7
SLIDE 7

Main view of CoPAn Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 3 / 11

slide-8
SLIDE 8

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 (Conflict Pattern Analyser) 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

slide-9
SLIDE 9

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-10
SLIDE 10

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2 (x4 x6) (x3 x4) (x2 x3 x6) (x2 x3 x5) 4 3 2

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-11
SLIDE 11

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2 (x4 x6) (x3 x4) (x2 x3 x6) (x2 x3 x5) 4 3 2

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-12
SLIDE 12

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2 (x4 x6) (x3 x4) (x3 x5 x6) 4 3

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-13
SLIDE 13

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2 (x4 x6) (x3 x4) (x3 x5 x6) 4 3

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-14
SLIDE 14

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2 (x4 x6) (x4 x5 x6) 4

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-15
SLIDE 15

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2 (x4 x6) (x4 x5 x6) 4

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-16
SLIDE 16

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2 (x5 x6)

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-17
SLIDE 17

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree

C3 C1 C4 C2 4 3 2

Definition Two conflicts c1,c2 exhibit the same resolution pattern iff their unlabeled resolution graphs g1,g2 are isomorphic.

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 5 / 11

slide-18
SLIDE 18

Conflict Patterns

main feature: compare conflicts based on their pattern representation of conflicts

C1 = (x3 x4) C2 = (x2 x3 x5) C3 = (x4 x6) C4 = (x2 x3 x6)

resolution tree advantages:

C3 C1 C4 C2 4 3 2

+ 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

slide-19
SLIDE 19

clashing graph frame Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11

slide-20
SLIDE 20

clashing graph frame Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11

slide-21
SLIDE 21

clashing graph frame

based on the resolution tree

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 6 / 11

slide-22
SLIDE 22

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

slide-23
SLIDE 23

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

slide-24
SLIDE 24

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

slide-25
SLIDE 25

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

slide-26
SLIDE 26

Conflict Filters Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 7 / 11

slide-27
SLIDE 27

Conflict Filters Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 7 / 11

slide-28
SLIDE 28

Conflict Filters

possible conflict filters:

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11

slide-29
SLIDE 29

Conflict Filters

possible conflict filters:

1

general structural information, as:

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

slide-30
SLIDE 30

Conflict Filters

possible conflict filters:

1

general structural information, as:

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

slide-31
SLIDE 31

Conflict Filters

possible conflict filters:

1

general structural information, as:

index of conflict size of conflict size of learnt clause conflict pattern

2

information about effect on rest of formula, as:

# subsumptions of learnt clause # self-subsumptions of learnt clause

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11

slide-32
SLIDE 32

Conflict Filters

possible conflict filters:

1

general structural information, as:

index of conflict size of conflict size of learnt clause conflict pattern

2

information about effect on rest of formula, as:

# subsumptions of learnt clause # self-subsumptions of learnt clause

3

information corresponding to clause data base reductions:

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

slide-33
SLIDE 33

Conflict Filters

possible conflict filters:

1

general structural information, as:

index of conflict size of conflict size of learnt clause conflict pattern

2

information about effect on rest of formula, as:

# subsumptions of learnt clause # self-subsumptions of learnt clause

3

information corresponding to clause data base reductions:

lifetime of the learnt clause # subsumptions after deletion of the learnt clause # self-subsumptions after deletion of the learnt clause

4

additional user-defined properties for clauses, as:

LBD backjump distance

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 8 / 11

slide-34
SLIDE 34

Preprocessing the data

Input of CoPAn: all (original and learned) clauses all conflicts

⇒ even for short solver runs Hundreds of MB of data

the required first step of every investigation: preprocessing Why? process the large data in advance; not on every inspection of a run create indices for efficient lookup costs allow smooth behavior within the GUI tool fast execution of queries decided to use B+trees instead of database systems

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 9 / 11

slide-35
SLIDE 35

Automatically analyse the data

What is batch tool good for? GUI tool: familiarize with conflict filters and properties of single solver runs batch tool: analyse and process a set of runs to compare

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 10 / 11

slide-36
SLIDE 36

Automatically analyse the data

What is batch tool good for? GUI tool: familiarize with conflict filters and properties of single solver runs batch tool: analyse and process a set of runs to compare

solver runs on different instances

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 10 / 11

slide-37
SLIDE 37

Automatically analyse the data

What is batch tool good for? GUI tool: familiarize with conflict filters and properties of single solver runs batch tool: analyse and process a set of runs to compare

solver runs on different instances different parameter settings for solver runs on one instance

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 10 / 11

slide-38
SLIDE 38

Automatically analyse the data

What is batch tool good for? GUI tool: familiarize with conflict filters and properties of single solver runs batch tool: analyse and process a set of runs to compare

solver runs on different instances different parameter settings for solver runs on one instance different solvers runs on a particular instance (set)

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 10 / 11

slide-39
SLIDE 39

Automatically analyse the data

What is batch tool good for? GUI tool: familiarize with conflict filters and properties of single solver runs batch tool: analyse and process a set of runs to compare

solver runs on different instances different parameter settings for solver runs on one instance different solvers runs on a particular instance (set)

example: comparison of MiniSat2.2.0 against SApperloT on hardware model checking instances by Matti Järvisalo (see satcompetition 2011)

SApperloT significantly slower ⇔ deletion of important clauses

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 10 / 11

slide-40
SLIDE 40

Summary

Summary

CoPAn offers possibility to analyse learning of modern CDCL SAT solvers based

  • n conflict patterns of a complete solver run

because of user-defined properties of clauses CoPAn is suited for every proof logging solver Outlook

pattern analysis for whole clashing graph, not only tree structure analyse clashing graph of whole instance providing the sources for the preprocessor and the batch tool improving the tool based on your feedback! We ’re looking forward to your input. . .

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 11 / 11

slide-41
SLIDE 41

Summary

Summary

CoPAn offers possibility to analyse learning of modern CDCL SAT solvers based

  • n conflict patterns of a complete solver run

because of user-defined properties of clauses CoPAn is suited for every proof logging solver Outlook

pattern analysis for whole clashing graph, not only tree structure analyse clashing graph of whole instance providing the sources for the preprocessor and the batch tool improving the tool based on your feedback! We ’re looking forward to your input. . .

Thank you for listening!

Christian Zielke (University Tübingen) CoPAn Tool Presentation June 17, 2012 - Trento, Italy 11 / 11