Unit Propagation and Variable Ordering in MiniSAT

Slides:



Advertisements
Similar presentations
The Project Problem formulation (one page) Literature review –“Related work" section of final paper, –Go to writing center, –Present paper(s) to class.
Advertisements

Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Modified.
Presented by Monissa Mohan 1.  A highly optimized BCP algorithm  Two watched literals  Fast Backtracking  Efficient Decision Heuristic  Focused on.
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.
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
“Using Weighted MAX-SAT Engines to Solve MPE” -- by James D. Park Shuo (Olivia) Yang.
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.
Properties of SLUR Formulae Ondřej Čepek, Petr Kučera, Václav Vlček Charles University in Prague SOFSEM 2012 January 23, 2012.
SAT and Model Checking. Bounded Model Checking (BMC) A.I. Planning problems: can we reach a desired state in k steps? Verification of safety properties:
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM (HRL)
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
Presented by Ed Clarke Slides borrowed from P. Chauhan and C. Bartzis
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
Algorithms in Exponential Time. Outline Backtracking Local Search Randomization: Reducing to a Polynomial-Time Case Randomization: Permuting the Evaluation.
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
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.
Search in the semantic domain. Some definitions atomic formula: smallest formula possible (no sub- formulas) literal: atomic formula or negation of an.
SAT Algorithms in EDA Applications Mukul R. Prasad Dept. of Electrical Engineering & Computer Sciences University of California-Berkeley EE219B Seminar.
Weizmann Institute Tuning SAT-checkers for Bounded Model-Checking A bounded guided tour Ofer Shtrichman Weizmann Institute & IBM-HRL.
Randomzied Unique k-SAT R. Paturi, P. Pudlak, M.E. Saks and F. Zane An Improved Exponential-time Algorithm for k-SAT Journal of the ACM, Vol 52, No. 3,
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
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.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 21, 2008 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
Daniel Kroening and Ofer Strichman 1 Decision Procedures in First Order Logic Decision Procedures for Equality Logic.
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Boolean Satisfiability and SAT Solvers
Solvers for the Problem of Boolean Satisfiability (SAT) Will Klieber Aug 31, 2011 TexPoint fonts used in EMF. Read the TexPoint manual before you.
Motivation & Goal SAT and Constraint Processing (CP) are fundamental areas of Computer Science that address the same computational questions. Compare SAT.
Introduction to Satisfiability Modulo Theories
Parallelizing MiniSat I-Ting Angelina Lee Justin Zhang May 05, Final Project Presentation.
CS Introduction to AI Tutorial 8 Resolution Tutorial 8 Resolution.
Solving Non-linear Arithmetic Dejan Jovanovic and Leonadro de Moura Presented by Boris Trayvas.
Maximum Density Still Life Symmetries and Lazy Clause Generation Geoffrey Chu, Maria Garcia de la Banda, Chris Mears, Peter J. Stuckey.
SAT Solving As implemented in - DPLL solvers: GRASP, Chaff and
REU 2007-ParSat: A Parallel SAT Solver Christopher Earl, Mentor: Dr. Hao Zheng Department of Computer Science & Engineering Introduction Results and Conclusions.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
CS137: Electronic Design Automation
Hybrid BDD and All-SAT Method for Model Checking
Inference and search for the propositional satisfiability problem
Logical Inference 1 introduction
Recursive stack-based version of Back-chaining using Propositional Logic
Knowledge-Based Systems Chapter 17.
Introduction to Software Verification
Logic Synthesis CNF Satisfiability.
Clause Learning and Intelligent Backtracking in MiniSAT
Watched Literals and Restarts in MiniSAT
Heuristics for Efficient SAT Solving
Modeling Sudoku as a CNF Formula
Introduction to the Boolean Satisfiability Problem
ECE 667 Synthesis and Verification of Digital Circuits
Decision Procedures An Algorithmic Point of View
Clause Learning and Intelligent Backtracking in MiniSAT
Modeling Sudoku as a CNF Formula
Unit Propagation and Variable Ordering in MiniSAT
Introduction to the Boolean Satisfiability Problem
Warm Up Solve. 1. 2x + 9x – 3x + 8 = –4 = 6x + 22 – 4x 3. + = 5
Artificial Intelligence
Clause Learning and Intelligent Backtracking in MiniSAT
Watched Literals and Restarts in MiniSAT
Modeling Sudoku as a CNF Formula
Stronger learning and higher backjumping
Solving Non-clausal Formulas with DPLL search
GRASP-an efficient SAT solver
Faster Extraction of High-Level Minimal Unsatisfiable Cores
Presentation transcript:

Unit Propagation and Variable Ordering in MiniSAT Daniel Geschwender CSCE 235H Introduction to Discrete Structures Spring 2017 URL: cse.unl.edu/~cse235h All questions: Piazza

Unit Propagation (1): In a clause If a literal is true, the clause is true and can be removed If , remove all clauses where it is positive If , remove all clauses where it is negative If a literal is false, it can be removed from the clause If , remove it from all clauses where it is positive

Unit Propagation (2) When a literal in a clause is true, the entire clause is true and can be removed After assignment:

Unit Propagation (3) When a literal in a clause is false, the literal may be removed from the clause After assignment:

Unit Propagation (4) Assignments may result in unit clauses Unit clauses immediately force an assignment This can lead to a chain reaction as new assignments ‘propagate’ throughout the clauses

Unit Propagation: Example SAT formula with 1,000 variables Cycle of implications A single assignment results in unit propagation to solve the entire problem

Unit Resolution Unit resolution or disjunctive syllogism Unit propagation has similarities to unit resolution Assignments add unit clauses to the formula When a new unit clause is added, it can be resolved with other clauses in the formula and the result added to the formula

Thrashing in Search Repeatedly hitting conflict within a subtree of the search tree Thrashing is costly

Fail-First Principle (FFP) It is better to fail early than to waste time exploring a subtree with no solutions Want to handle potential conflicts earlier

Variable Ordering Heuristics The order in which variables are assigned Heuristic: good performance in general, not guaranteed to be optimal Static versus dynamic Static: Assignment order is decided before search and maintained fixedthroughout search Dynamic: Variable ordering is adjusted during the course of the search

Activity-Based Heuristics Variables are assigned an ‘activity’ value Variables involved in a conflict have their activities increased Activities exponentially decay Select most ‘active’ variable

Activity-Based Heuristics Example UNSAT formula with 1000 variables Conflict occurs between v999 and v1000 Lexicographic ordering Activity-based ordering