Upload
justin-harmon
View
220
Download
0
Embed Size (px)
Citation preview
Hybrid SAT Solving using Reference Points
Stephan KottlerUniversitä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)
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.
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
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
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
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
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
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
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!
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
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
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
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)
Dagstuhl 2009 Hybrid SAT Solving using Reference Points 15
Hardware Verification
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
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)
Dagstuhl 2009 Hybrid SAT Solving using Reference Points 18
Thank you for your attention