Watched Literals and Restarts in MiniSAT

Slides:



Advertisements
Similar presentations
Non-Binary Constraint Satisfaction Toby Walsh Cork Constraint Computation Center.
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:
1 Local Restarts in SAT Solvers Vadim Ryvchin and Ofer Strichman Technion, Haifa, Israel.
Introduction to MiniSat v1.14 Presented by Yunho Kim Provable Software Lab, KAIST.
Methods of Proof Chapter 7, second half.. Proof methods Proof methods divide into (roughly) two kinds: Application of inference rules: Legitimate (sound)
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.
Abstract Answer Set Solver. Todolist Print the rules of Fig 1.
ECE 647 TERM PROJECT MiniSAT parallelization Shahadat Hossain Saud Wasly.
Hrinking hrinking A signment tack tack. Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions.
Boolean Satisfiability Solvers Wonhong Nam
1 Boolean Satisfiability in Electronic Design Automation (EDA ) By Kunal P. Ganeshpure.
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
Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Presenting:
Constraint Satisfaction Problems
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.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
GRASP: A Search Algorithm for Propositional Satisfiability EE878C Homework #2 2002/11/1 KAIST, EECS ICS Lab Lee, Dongsoo.
The Design and Analysis of Algorithms
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.
Foundations of Constraint Processing, Fall 2004 November 18, 2004More on BT search1 Foundations of Constraint Processing CSCE421/821, Fall 2004:
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 21, 2008 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
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.
Parallelizing MiniSat I-Ting Angelina Lee Justin Zhang May 05, Final Project Presentation.
Constraint Satisfaction CPSC 386 Artificial Intelligence Ellen Walker Hiram College.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Chapter 5 Constraint Satisfaction Problems
Nikolaj Bjørner Microsoft Research DTU Winter course January 2 nd 2012 Organized by Flemming Nielson & Hanne Riis Nielson.
SAT Solver Heuristics. SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) –Able to solve variable problems Satz (Chu Min.
Satisfiability and SAT Solvers CS 270 Math Foundations of CS Jeremy Johnson.
Shortcomings of Traditional Backtrack Search on Large, Tight CSPs: A Real-world Example Venkata Praveen Guddeti and Berthe Y. Choueiry The combination.
REU 2007-ParSat: A Parallel SAT Solver Christopher Earl, Mentor: Dr. Hao Zheng Department of Computer Science & Engineering Introduction Results and Conclusions.
Automatic Test Generation
CS137: Electronic Design Automation
CSC Modeling with FD Constraints
The Design and Analysis of Algorithms
Inference and search for the propositional satisfiability problem
Computability and Complexity
2 Understanding Variables and Solving Equations.
Clause Learning and Intelligent Backtracking in MiniSAT
Complexity 6-1 The Class P Complexity Andrei Bulatov.
Extensions to BT Search Foundations of Constraint Processing
Extensions to BT Search Foundations of Constraint Processing
Modeling Sudoku as a CNF Formula
Introduction to the Boolean Satisfiability Problem
Constraint Programming and Backtracking Search Algorithms
Unit Propagation and Variable Ordering in MiniSAT
Depth-First Searches Introduction to AI.
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
Extensions to BT Search Foundations of Constraint Processing
Introduction to the Boolean Satisfiability Problem
Extensions to BT Search Foundations of Constraint Processing
Chapter 5: General search strategies: Look-ahead
Clause Learning and Intelligent Backtracking in MiniSAT
Watched Literals and Restarts in MiniSAT
Modeling Sudoku as a CNF Formula
Stronger learning and higher backjumping
Extensions to BT Search Foundations of Constraint Processing
GRASP-an efficient SAT solver
Constraint satisfaction problems
Rationale & Strategies Foundations of Constraint Processing
Presentation transcript:

Watched Literals and Restarts in MiniSAT Daniel Geschwender CSCE 235H Introduction to Discrete Structures (Honors) Spring 2017 URL: cse.unl.edu/~cse235h All questions: Piazza

Reminder: Unit Propagation 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

When Does Unit Propagation Fire Up? Consider the clause If no variable is assigned, no unit propagation occurs If all but two variables are assigned, unit propagation becomes possible Watched-literal mechanism Watches 2 unassigned literals in every clause in ‘preparation’ of unit propagation

Watched Literals Technique for efficiently implementing unit propagation Only two literals per clause must be watched to determine when a clause becomes unit Each literal keeps a watcher list containing the clauses it is currently watched by.

Initializing Watched Literals (1) For every clause, select two literals to be watched.

Initializing Watched Literals (2) Every time a literal becomes watched, add the watching clause to the literal’s watcher list

Watched Literal Assignment (1) Check watcher list of newly false literal

Watched Literal Assignment (2) If clause has become unit, propagate If not, select a new literal to watch

Danger of Search (1) If search space is very, very large We could be searching and backtracking in one corner and ignoring more promising part of the tree 1 day 1 hour 1 min.

Danger of Search (2) Solution Occasionally, drop the search Restart from somewhere else Restart works well in practice

Restarts After searching for a specified amount of time (usually given by # conflicts) restart the search Undo all assignments Preserve: learned clauses variable activity values After performing a restart, the time until the next restart may change

Restart Sequences Geometric [Walsh ‘99] 1, 2, 4, 8, 16, 32, 64, 128, … Each successive search is given more time than the previous Luby universal strategy [Luby+, ‘93] 1, 1, 2, 1, 1, 2, 4, 1, 1, 2, 1, 1, 2, 4, 8, ... Optimal restart sequence if runtime distribution is unknown