A Decision-Making Procedure for Resolution-Based SAT-solvers Eugene Goldberg Cadence Research Labs (USA) SAT-2008, Guangzhou, P.R. China.

Slides:



Advertisements
Similar presentations
Automated abstraction refinement II Heuristic aspects Ken McMillan Cadence Berkeley Labs.
Advertisements

The behavior of SAT solvers in model checking applications K. L. McMillan Cadence Berkeley Labs.
Exploiting SAT solvers in unbounded model checking
Exploiting SAT solvers in unbounded model checking K. L. McMillan Cadence Berkeley Labs.
Automated Theorem Proving
Propositional Satisfiability (SAT) Toby Walsh Cork Constraint Computation Centre University College Cork Ireland 4c.ucc.ie/~tw/sat/
The Project Problem formulation (one page) Literature review –“Related work" section of final paper, –Go to writing center, –Present paper(s) to class.
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Propositional and First Order Reasoning. Terminology Propositional variable: boolean variable (p) Literal: propositional variable or its negation p 
Proofs from SAT Solvers Yeting Ge ACSys NYU Nov
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
Effective Propositional Reasoning CSE 473 – Autumn 2003.
Methods of Proof Chapter 7, Part II. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound) generation.
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
1/30 SAT Solver Changki PSWLAB SAT Solver Daniel Kroening, Ofer Strichman.
IBM Labs in Haifa © 2005 IBM Corporation Adaptive Application of SAT Solving Techniques Ohad Shacham and Karen Yorav Presented by Sharon Barner.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
Methods for SAT- a Survey Robert Glaubius CSCE 976 May 6, 2002.
Boolean Satisfiability Solvers Wonhong Nam
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
08/1 Foundations of AI 8. Satisfiability and Model Construction Davis-Putnam, Phase Transitions, GSAT Wolfram Burgard and Bernhard Nebel.
Ryan Kinworthy 2/26/20031 Chapter 7- Local Search part 1 Ryan Kinworthy CSCE Advanced Constraint Processing.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
1 Satisfiability Checking of Non-clausal Formulas using General Matings Himanshu Jain Constantinos Bartzis Edmund Clarke Carnegie Mellon University.
Methods of Proof Chapter 7, second half.
State-of-the-art in SAT solvers
GRASP SAT solver Presented by Constantinos Bartzis Slides borrowed from Pankaj Chauhan J. Marques-Silva and K. Sakallah.
Efficient Reachability Checking using Sequential SAT G. Parthasarathy, M. K. Iyer, K.-T.Cheng, Li. C. Wang Department of ECE University of California –
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
Last time Proof-system search ( ` ) Interpretation search ( ² ) Quantifiers Equality Decision procedures Induction Cross-cutting aspectsMain search strategy.
1 Understanding the Power of Clause Learning Ashish Sabharwal, Paul Beame, Henry Kautz University of Washington, Seattle IJCAI ConferenceAug 14, 2003.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
1 CS 4700: Foundations of Artificial Intelligence Carla P. Gomes Module: Satisfiability (Reading R&N: Chapter 7)
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
Knowledge Representation II (Inference in Propositional Logic) CSE 473.
Knowledge Representation II (Inference in Propositional Logic) CSE 473 Continued…
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
SAT Solving Presented by Avi Yadgar. The SAT Problem Given a Boolean formula, look for assignment A for such that.  A is a solution for. A partial assignment.
Logic - Part 2 CSE 573. © Daniel S. Weld 2 Reading Already assigned R&N ch 5, 7, 8, 11 thru 11.2 For next time R&N 9.1, 9.2, 11.4 [optional 11.5]
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Logics for Data and Knowledge Representation Propositional Logic: Reasoning Originally by Alessandro Agostini and Fausto Giunchiglia Modified by Fausto.
On Bridging Simulation and Formal Verification Eugene Goldberg Cadence Research Labs (USA) VMCAI-2008, San Francisco, USA.
Boolean Satisfiability and SAT Solvers
CMU, Oct 4 DPLL-based Checkers for Satisfiability Modulo Theories Cesare Tinelli Department of Computer Science The University of Iowa Joint work with.
SAT and SMT solvers Ayrat Khalimov (based on Georg Hofferek‘s slides) AKDV 2014.
CHAPTERS 7, 8 Oliver Schulte Logical Inference: Through Proof to Truth.
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
1 Agenda Modeling problems in Propositional Logic SAT basics Decision heuristics Non-chronological Backtracking Learning with Conflict Clauses SAT and.
LDK R Logics for Data and Knowledge Representation Propositional Logic: Reasoning First version by Alessandro Agostini and Fausto Giunchiglia Second version.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
SAT 2009 Ashish Sabharwal Backdoors in the Context of Learning (short paper) Bistra Dilkina, Carla P. Gomes, Ashish Sabharwal Cornell University SAT-09.
SAT Solver Heuristics. SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) –Able to solve variable problems Satz (Chu Min.
Accelerating Random Walks Wei Wei and Bart Selman.
Generating High-Quality Tests for Boolean Circuits by Treating Tests as Proof Encoding Eugene Goldberg, Pete Manolios Northeastern University, USA TAP-2010,
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
Local Search Methods for SAT Geoffrey Levine March 11, 2004.
Inference in Propositional Logic (and Intro to SAT) CSE 473.
Dana Nau: Lecture slides for Automated Planning Licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License:
Inference in Propositional Logic (and Intro to SAT)
EA C461 – Artificial Intelligence Logical Agent
ECE 667 Synthesis and Verification of Digital Circuits
Decision Procedures An Algorithmic Point of View
Methods of Proof Chapter 7, second half.
Presentation transcript:

A Decision-Making Procedure for Resolution-Based SAT-solvers Eugene Goldberg Cadence Research Labs (USA) SAT-2008, Guangzhou, P.R. China

Summary Problem formulation and some background Decision making with a reference point (DMRP) Description of DMRP-SAT DMRP and autarkies Experimental results Directions for future research and conclusions

Local Search Algorithms Advantages: They know which clauses are currently falsified They look for a satisfying assignment incrementally (in terms of falsified clauses) GSAT (1992), WalkSat (1994),…. Flaws: Lack of Boolean Constraint Propagation (BCP) No clause learning. Work only for satisfiable formulas

DPLL-like procedures SAT-algorithms based on the DPLL procedure (1962): Rel-SAT, Grasp, SATO, Chaff, BerkMin, Siege, Minisat,…. Advantages: Use BCP Use clause learning Applicable to both satisfiable and unsatisfiable formulas Flaws: Do not see all clauses that are falsified Try to satisfy all clauses at once

Can one combine the two approaches? Ten challenges in propositional logic (Selman, Kautz, McAllester, 1997). Challenge 7: (1-2 years). Demonstrate the successful combination of stochastic search and systematic search techniques, by the creation of a new algorithm that outperforms the best previous examples of both approaches. Previous work: Mazur et al. 1998, Prestwich 2001, Habet at al 2002, Fang et al 2004, Hirsh et al. 2005, Goldberg 2006.

Clause Satisfied Recursively F - CNF formula, p - complete assignment (reference point) M(p) - the set of clauses of F that are falsified by p C - a clause of M(p) Point p recursively satisfies a clause C falsified by reference point p if p satisfies C M(p )  M(p). This definition allows to extend the notion of the greedy heuristic of local search to the case when points p and p can be arbitrarily far away from each other.

Main idea of decision-making with a reference point (DMRP) and DMRP-SAT generate an initial reference point p 1 build a sequence of points p 1,…,p k such that M(p 1 )  M(p 2 ) …  M(p k ) where M(p k )= . Given p i, to find next reference point p i+1 we pick a clause C of M(p i ) and try find a complete assignment recursively satisfying C. When looking for a new reference point we use a DPLL- like procedure with conflict clause learning. Once a new reference point is found, DMRP-SAT restarts. DMRP-SAT is a regular DPLL-like SAT-solver with clause learning whose decision making is aimed at recursively satisfying a clause (generalized greedy heuristic of local search).

DMRP in More Detail p – current reference point C – clause falsified by p picked to be satisfied recursively. y - current partial assignment DMRP-SAT updates D(C,p,y) every time an assignment is added to y (removed from y when backtracking). D(C,p,y) is equal to {C} if y is empty. Otherwise a clause C* of F is in D(C,p,y) if a)a variable of C* is assigned differently in y and p b)C* is not satisfied by y If D(C,p,y)= , then clause C is recursively satisfied by the following complete assignment p (new reference point): p (x i ) = p(x i ), if x i is not assigned in y p (x i ) = y(x i ), otherwise

An Example F = C 1 ..  C 5 where C 1 = x 1  x 2  x 3, C 2 =~x 1  x 2  x 4, C 3 =~x 1  ~x 3, C 4 =~x 1  x 4, C 5 = ~x 3  ~x 4  ~x 5. p= (x 1 =0,x 2 =0,x 3 =0,x 4 =0,x 5 =0) is a reference point M(p) = {C 1 }, The process of satisfying C 1 recursively is shown below. y = , D(C 1,p,y) = {C 1 } Decision assignment: y = ({x 1 =1}), D(C 1,p,y) = {C 2,C 3,C 4 }, BCP: y = (x 1 =1,{x 3 =0}), D(C 1,p,y) = {C 2,C 4 }, y = (x 1 =1,x 3 =0,{x 4 =1}), D(C 1,p,y) = {C 2 }. Decision assignment: y = (x 1 =1,x 3 =0,x 4 =1,{x 2 =1}), D(C 1,p,y)=  Point p = (x 1 =1,x 2 =1,x 3 =0,x 4 =1,x 5 =0) is a new reference point (in this particular case, p is a satisfying assignment as well)

Decision Making Heuristics of DMRP-SAT We use a combination of two heuristics: 1) Try to satisfy the clauses of D(C,p,y) as fast as possible. 2) Give preference to most recently derived conflict clauses. When picking a clause C (where C(p) = 0) to be recursively satisfied we choose a conflict clause derived most recently (if any). When making a decision assignment, we pick a conflict clause C* of D(C,p,y) derived most recently (if any) and make an assignment to a varaible of C* satisfying the largest number of clauses of D(C,p,y). If D(C,p,y) does not contain conflict clauses we make a decision assignment to a variable of a clause of D(C,p,y) that satisfies the largest number of clauses of D(C,p,y).

DMRP and Autarkies There is a strong similarity between the notion of an autarky and that of a recursively satisfied clause. To find an autarky for a CNF formula F, one has to satisfy each clause of F that is touched by a previous assignment is not satisfied yet The difference is as follows. When looking for an autarky, an unsatisfied clause C* is considered as touched if a literal of C* is set to 0. When satisfying a clause recursively, an unsatisfied clause C* is consi- dered as touched only if a literal of C* is set to 0 by an assignment in y and this assignment is different in y and the reference point p.

Example F = F(G)  F(N* )  z After making assignments z=1,x 1 =1,h=1 the unit clause z is satisfied recursively (assignment h=1 is the same as in reference point p, so clauses of F(N*) are not touched. G z=1, p(z)=0 x 1 =1, p(x 1 )=0 h=1, p(h)=1 N* x2x2 xnxn p(x 2 )=…, p(x n )=…, z = 1  (x 1 =1, h=1) F (z=1,x 1 =1,h=1) is not an autarky (clauses of F(N*) are touched by h=1.) Suppose p is a reference point (z=0,x 1 =0, h=1,..,) that falsifies only unit clause z. Point p can be obtained by making assignments to input variables of x 1,..,x n and then computing the rest of the values by BCP.

Experimental Results (1) sat/unsat (#form.) BerkMin (a version that is not publicly avail.) Minisat (v1.13)DMRP-SAT #cnfl.  10 3 total time (sec.) #cnfl.  10 3 total time (sec.) #cnfl.  10 3 total time (sec.) sat (28) 2,54644,8143,45758, ,569 unsat(51) 2,15628,5941,35514, ,160 total(79) 4,70273,4084,81272,8261,12424,725 BMC formulas

Experimental Results (2) Name#vars  10 6 #clauses  10 6 MinisatDMRP-SAT #cnfl.  10 3 total time (sec.) #cnfl.  10 3 total time (sec.) sched* ipt* , sdl* ,659 always page cmcnt A sample of BMC formulas (satisfiable* and unsatisfiable )

Experimental Results (3) Name#conflictssize of initial M(p) #cases of rec. sat. clauses #longest chain |y|  |Vars(F)| when M(p)=0 % sched* byteen*8, data*15,5211, prop3*77, SUN-443* 2,0103,9992, Statistics on recursively satisfied clauses (DMRP-SAT)

Conclusions We describe a DPLL-like procedure whose decision making is based on a generali- zation of the greedy heuristic of local search Experiments show that this decision making procedure is viable and merits further research.

Directions for Future Research Best way to choose next clause to be recursively satisfied Developing a version of DMRP-SAT where a set of clauses (rather than one clause) is recursively satisfied Best way to generate a reference point (in case DMRP- SAT fails to satisfy a chosen clause within a threshold) Approximate computation of the set D(C,p,y) (currently DMRP is more expensive than conflict- driven decision making of Chaff)