18
Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Embed Size (px)

Citation preview

Page 1: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Hybrid SAT Solving using Reference Points

Stephan KottlerUniversität Tübingen

Page 2: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 2

Motivation

o DPLL / CDCLo Learning, backjumping and lazy data-

structures huge instances tractableo Early decisions are crucialo Many restarts to escape from bad parts in

the search tree

o When restartingo Keep learnt clauses, activities, phase savingo How close is partial assign. to a model? (sat)o Analysis of partial assignment (sat/unsat)

Page 3: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 3

Modificationloop{ if ( all vars assigned ) return SAT choose free var and decide polarity bcp while ( conflict ) {

if ( level = 0 ) return UNSATanalyse conflict, backjump and learn lemmabcp

} if ( reached restart limit )

restart}

Hold onTake closer look at partial assign.

Page 4: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 4

Continue on partial assignments

o Extend to full assignmento Random values to free varso Consider subset of clauses for bcp

oExtend to fulfill all binary clauses

o Modify full assignmento Use local search (incomplete)o More reasoning: DMRP

Page 5: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 5

Decision Making with Reference Point (DMRP)

clauses

(¬a v ¬b) ∧(¬a v ¬c) ∧(¬b v ¬c) ∧(a v ¬b v d) ∧(a v b v c v ¬d)

∧ …1110

reference point

0110

0111

dcba

Page 6: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 6

Solving with reference points

Maintain assignment A to all variableso some clauses U are not satisfied by Ao try to modify A to satisfy more (all)

clausesomodification of A must keep previously

satisfied clauses (S) satisfied !!!okeep track of clauses of S that are temporarily unsatisfied

Page 7: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 7

Modification of reference point

clauses

(¬a v ¬b) ∧(¬a v ¬c) ∧(¬b v ¬c) ∧(a v ¬b v d) ∧(a v b v c v ¬d) ∧(b v e) ∧(¬e v a) ∧ …

edcba

reference point

00111

00110

00100

10100

10101

01110

Page 8: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 8

Profound decisions need more information

o Keep track of o reference point / unsatisfied clauseso temporarily modified ref. pointo temporarily unsatisfied clauses

o Functionalityo backtracking on reference pointso compute clauses that get unsat by

ref. p.o still handle learning from conflicts

Page 9: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 9

clauses

(¬a v ¬b) ∧(¬a v ¬c) ∧(¬b v ¬c) ∧(a v ¬b v d) ∧(a v b v c v ¬d) ∧(b v e) ∧(¬e v a) ∧ …

Trying to modify the ref. point

occurrence

lists

a b cedref point watchers

edcbareference point

00111

00110

Page 10: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 10

Temporarily unsat clauses

Lev 0 C01 C02 C03 C04

L12Lev 1 C11 C12 C13

Lev 2 C21 C22 C23 C24

Lev 3 C31 C32

L02L01 L04L03

L11 L13

L22L21 L24L23

L32L31

o Backtracking very fasto One Operation per level o No maintenance for ref. point watchers!

o Find temporarily unsat clauseso No occurrence list of literals!

Page 11: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 11

Making decisionsChoose a temporarily unsat clauseChoose Literal witho least BreakCount

o least sat clauses become unsat

o highest activity valueo highest MakeCount

o most unsat clauses are fulfilled

Further adaptions of data-structure

Page 12: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 12

Design of data structures

o Lazy data structures o little effort to maintain datao ref. point watchers (watched lits)o computation of MakeCount

o Consequenceso frequently called functions still cheap

(propagation)o less frequent calls require more computationo garbage collection

Page 13: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 13

Setup with Luby restartso Idea: Grant different restart strategies

equal computation time1 1 2 1 1 2 4 1 1 2 1 1 2 4 8 1 ... * fact

o Shortest runs use DMRPo Extend partial assig. by performing bcp on

binary clauseso Increase conflict limit if DMRP is successful o Different strategies to choose next unsat

clause and next temporarily unsat clause

Page 14: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 14

Results

o Tests on 576 instances of last four sat competitions / races

o Timeout 1200 sec.

217,85 sec204,41 sec161,98 secavg time

325396386all

193221210unsat

132175176sat

Hybrid comp 09

Hybrid part. assign

CDCL (Luby)

Page 15: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 15

Hardware Verification

Page 16: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 16

Past

o Submitted 2 solver versions to sat-competition 2009o (CDCL, hybrid with reference points)

o Differences to former hybrid version:o DMRP initialised with partial assignmentso DMRP used for (many) short runs. Previous

version run DMRP with very high conflict limits

o Less memory consumption

Page 17: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 17

Present and Future

o Use DMRP in combination with CDCL in multi-threaded solver

o Better heuristic to determine conflict limit for DMRP runs

o More criteria to analyse partial assignments (sat instances)

Page 18: Hybrid SAT Solving using Reference Points Stephan Kottler Universität Tübingen

Dagstuhl 2009 Hybrid SAT Solving using Reference Points 18

Thank you for your attention