© 2002 Fadi A. Aloul, University of Michigan PBS: A Pseudo-Boolean Solver and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Markov, Karem A. Sakallah.

Slides:



Advertisements
Similar presentations
Hybrid BDD and All-SAT Method for Model Checking Orna Grumberg Joint work with Assaf Schuster and Avi Yadgar Technion – Israel Institute of Technology.
Advertisements

Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
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.
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)
Daniel Kroening and Ofer Strichman 1 Decision Procedures An Algorithmic Point of View SAT.
Heuristics for Efficient SAT Solving As implemented in GRASP, Chaff and GSAT.
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.
ECE 667 Synthesis & Verification - SAT 1 ECE 667 ECE 667 Synthesis and Verification of Digital Systems Boolean SAT CNF Representation Slides adopted (with.
SAT-based Bounded Model Checking
Hrinking hrinking A signment tack tack. Agenda Introduction Algorithm Description Heuristics Experimental Results Conclusions.
Solving Difficult SAT Instances In The Presence of Symmetry Fadi A. Aloul, Arathi Ramani Igor L. Markov and Karem A. Sakallah University of Michigan.
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.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 6: February 4, 2009 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
Faster SAT and Smaller BDDs via Common Function Structure Fadi A. Aloul, Igor L. Markov, Karem A. Sakallah University of Michigan.
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:
GRASP-an efficient SAT solver Pankaj Chauhan. 6/19/ : GRASP and Chaff2 What is SAT? Given a propositional formula in CNF, find an assignment.
The Theory of NP-Completeness
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 –
A Compressed Breadth-First Search for Satisfiability DoRon B. Motter and Igor L. Markov University of Michigan, Ann Arbor.
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.
Shatter: Efficient Symmetry- Breaking for Boolean Satisfiability Fadi A. Aloul Igor L. Markov, Karem A. Sakallah The University of Michigan.
1 Abstraction Refinement for Bounded Model Checking Anubhav Gupta, CMU Ofer Strichman, Technion Highly Jet Lagged.
ENGG3190 Logic Synthesis “Boolean Satisfiability” Winter 2014 S. Areibi School of Engineering University of Guelph.
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.
Penn ESE 535 Spring DeHon 1 ESE535: Electronic Design Automation Day 21: April 21, 2008 Modern SAT Solvers ({z}Chaff, GRASP,miniSAT)
SAT Solver Math Foundations of Computer Science. 2 Boolean Expressions  A Boolean expression is a Boolean function  Any Boolean function can be written.
Optimization and Relaxation in SAT Search Sharad Malik Princeton University Symposium on Satisfiability Solvers and Program Verification (SSPV) Seattle.
Boolean Satisfiability and SAT Solvers
MBSat Satisfiability Program and Heuristics Brief Overview VLSI Testing B Marc Boulé April 2001 McGill University Electrical and Computer Engineering.
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.
NP-Complete Problems. Running Time v.s. Input Size Concern with problems whose complexity may be described by exponential functions. Tractable problems.
On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda Rolf Drechsler Alex Orailoglu Computer Science & Engineering Dept. University.
Boolean Satisfiability Present and Future
Quality of LP-based Approximations for Highly Combinatorial Problems Lucian Leahu and Carla Gomes Computer Science Department Cornell 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.
Saleem Sabbagh & Najeeb Darawshy Supervisors: Mony Orbach, Technion & Ilia Averbouch, IBM Started at: Spring 2012 Duration: Semester.
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
Tommy Messelis * Stefaan Haspeslagh Burak Bilgin Patrick De Causmaecker Greet Vanden Berghe *
SAT tutorial1 Boolean Satisfiability in Electronic Design Automation Karem A. Sakallah EECS Department University of Michigan João Marques Silva Informatics.
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
Parallelism in SAT Solvers
Logic Synthesis CNF Satisfiability.
ESE535: Electronic Design Automation
Heuristics for Efficient SAT Solving
SAT-Based Area Recovery in Technology Mapping
ECE 667 Synthesis and Verification of Digital Circuits
Decision Procedures An Algorithmic Point of View
A Progressive Approach for Satisfiability Modulo Theories
NP-Complete Problems.
GRASP-an efficient SAT solver
Presentation transcript:

© 2002 Fadi A. Aloul, University of Michigan PBS: A Pseudo-Boolean Solver and Optimizer Fadi A. Aloul, Arathi Ramani, Igor L. Markov, Karem A. Sakallah University of Michigan

© 2002 Fadi A. Aloul, University of Michigan Motivation … SAT Solvers Apps: Verification, Routing, ATPG, Timing Analysis Problem Type: CSP Problem Format: CNF Example: Chaff, GRASP, SATO Generic ILP Solvers Apps: Routing, Planning, Scheduling Problem Type: CSP/Optimization Problem Format: ILP Example: CPLEX, LP_Solve Specialized 0/1 ILP Solvers Apps: Verification, Routing, Binate Covering Problem Type: CSP/Optimization Problem Format: CNF/PB (0/1 ILP) Example: Satire, BSOLO, OPBDP, WSAT

© 2002 Fadi A. Aloul, University of Michigan 012 Channel i Motivation … SAT Solvers Generic ILP Solvers Specialized 0-1 ILP Solvers Introduce a new specialized 0-1 ILP SAT solver Describe Pseudo-Boolean (PB) search algorithms Adapt SAT applications expressed in pure CNF to CNF/PB format Empirically demonstrate effectiveness in EDA applications Many applications require “Counting Constraints” that impose upper/lower bounds on number of objects

© 2002 Fadi A. Aloul, University of Michigan Outline Boolean Satisfiability advances Processing Pseudo-Boolean constraints Applications CSP Optimization Experimental evaluation Conclusions

© 2002 Fadi A. Aloul, University of Michigan Backtrack Search (DPLL) Decision Engine Init Deduction Engine Succeed Conflict Exist Diagnosis Engine SAT UNS No Fail Succeed Yes

© 2002 Fadi A. Aloul, University of Michigan Decision Strategy Significantly improves the search performance Classified as: Static Dynamic Chaff introduced dynamic VSIDS: Shown to be effective on most benchmarks Selects most common literal and emphasizes variables in recent conflicts Decision Engine UNS Init Deduction Engine Succeed Conflict Exist Diagnosis Engine SAT No Fail Succeed Yes

© 2002 Fadi A. Aloul, University of Michigan Improved BCP Keeps track of any two unresolved literals in each clause instead of keeping track of all literals Leads to significant improvements over conventional BCP [Moskewicz et al., Zhang et al.] Deduction Engine Decision Engine Init Succeed Conflict Exist Diagnosis Engine SAT UNS No Fail Succeed Yes

© 2002 Fadi A. Aloul, University of Michigan Conflict Diagnosis and Clause Deletion Diagnosis Engine SAT Decision Engine Init Deduction Engine Succeed Conflict Exist UNS No Fail Succeed Yes Add conflict-induced clauses to avoid regenerating similar conflicts in future parts of the search process Very effective in expediting the search process Allows non-chronological backtracking 1UIP learning scheme shown to perform best among other learning schemes [Zhang et al.]

© 2002 Fadi A. Aloul, University of Michigan Random Restarts and Backtracking Decision Engine Diagnosis Engine Init Deduction Engine Succeed Conflict Exist SAT UNS No Fail Succeed Yes Solver often gets stuck in local non-useful search space Random restarts periodically unassigns all decisions and randomly selects a new decision sequence Restarts ensures that different sub-trees are searched at every restart Randomization can be combined with backtracking

© 2002 Fadi A. Aloul, University of Michigan Outline Boolean Satisfiability advances Processing Pseudo-Boolean constraints Applications CSP Optimization Experimental evaluation Conclusions

© 2002 Fadi A. Aloul, University of Michigan Pseudo-Boolean Constraints Clauses can be generalized as a PB constraint: (x + y)  (x + y  1) None of the presented algorithms rely on the integrality of c i and can be implemented for floating-point c i

© 2002 Fadi A. Aloul, University of Michigan Motivating Example Objective: limit the true assignments to k vars out of the n vars Solution:  CNF: clauses Each of size  PB: single PB constraint “at most 2 out of v 1, v 2, v 3, v 4, v 5, can be true” Pure CNF: PB form:

© 2002 Fadi A. Aloul, University of Michigan PB Constraint Data Structure Struct PBConstraint { Goal n; constraint type ~; list of c i and x i ’s; initLHS; // sum of all c i ’s LHS; // value of LHS based on current variable assignment maxLHS; // maximal possible value of LHS given the current variable assignment } For efficiency: Sort the list of c i x i in order of increasing c i Convert all negative c i to positive: i.e.

© 2002 Fadi A. Aloul, University of Michigan Algorithms for PB Search Assigning v i to 1: For each literal x i of v i If positive x i, LHS += c i If negative x i, maxLHS -= c i Unassigning v i from 1: For each literal x i of v i If positive x i, LHS -= c i If negative x i, maxLHS += c i PB constraint state:  type SAT: LHS  goal UNS : maxLHS < goal  type SAT: maxLHS  goal UNS : LHS > goal 5x 1 +6x 2 +3x 3  12 LHS = 0 maxLHS = 14 LHS = 5 maxLHS = 14 5x 1 +6x 2 +3x 3  12 LHS = 5 maxLHS = 8 SATISFIABLE 5x 1 +6x 2 +3x 3  12

© 2002 Fadi A. Aloul, University of Michigan Algorithms for PB Search Identifying implications  type if c i > goal – LHS, x i = 0 Implied by literals in PB assigned to 1 5x 1 +6x 2 +3x 3  12 LHS = 0 maxLHS = 14 goal - LHS = 12 5x 1 +6x 2 +3x 3  12 LHS = 8 maxLHS = 14 goal - LHS = 4 Imply x 2 =0  type if c i > maxLHS – goal, x i =1 Implied by literals in PB assigned to 0

© 2002 Fadi A. Aloul, University of Michigan Algorithms for PB Search Identifying implications  type if c i > goal – LHS, x i = 0 Implied by literals in PB assigned to 1 5x 1 +6x 2 +3x 3  10 LHS = 0 maxLHS = 14 maxLHS - goal = 4 Imply x 1 = x 2 =1  type if c i > maxLHS – goal, x i =1 Implied by literals in PB assigned to 0

© 2002 Fadi A. Aloul, University of Michigan Outline Boolean Satisfiability advances Processing Pseudo-Boolean constraints Applications CSP Optimization Experimental evaluation Conclusions

© 2002 Fadi A. Aloul, University of Michigan Applications - CSP Global Routing 2-D grid of cells arranged in rows/columns Cell boundaries are edges Capacity C is associated with each edge (no more than C routes can pass) Goal: route number of 2-pin connections in the grid with edge capacities Generate satisfiable instances using randomized flooding S EE E S SS E

© 2002 Fadi A. Aloul, University of Michigan Global Routing Formulation Connectivity constraints (for each net) Exactly one edge selected at start/end point If cell is a mid-point, either two or no edges are selected Capacity constraints A net can use a single track across an edge No two nets can use the same track across an edge S E S E vN vEvW Create a variable for each edge/net 2 x 12 = 24 variables

© 2002 Fadi A. Aloul, University of Michigan Global Routing Formulation Connectivity constraints (for each net) Exactly one edge selected at start/end point If cell is a mid-point, either two or no edges are selected Capacity constraints A net can use a single track across an edge No two nets can use the same track across an edge S E S E vN vEvW Create a variable for each edge/net 2 x 12 = 24 variables

© 2002 Fadi A. Aloul, University of Michigan Global Routing Formulation Connectivity constraints (for each net) Exactly one edge selected at start/end point If cell is a mid-point, either two or no edges are selected Capacity constraints A net can use a single track across an edge No two nets can use the same track across an edge S E S E vN vEvW Create a variable for each edge/net 2 x 12 = 24 variables pureCNF CNF/PB 30 Nets 10 Cap #Cl = 55M vs. 1 PB

© 2002 Fadi A. Aloul, University of Michigan Global Routing Formulation Connectivity constraints (for each net) Exactly one edge selected at start/end point If cell is a mid-point, either two or no edges are selected Capacity constraints A net can use a single track across an edge No two nets can use the same track across an edge S E S E vN1 vN1 vN2 vN2 vE1vE2 vW1 vW1 vW2 vW2 Create Cap variables per edge/net 2 x 2 x 12 = 48 variables pureCNF Additional Variables & Clauses

© 2002 Fadi A. Aloul, University of Michigan Applications - optimization Max-ONEs Seeks an assignment that Satisfies all constraints Maximizes the number of variables assigned to true Useful to represent “Max-Clique” problems “Vertex Cover” can be reduced to Min-ONEs Use a single PB constraint of type “  ” that includes each variable with coefficient “1” Iteratively increase the lower bound until the problem becomes unsatisfiable Extendable to “Weighted Max-ONEs”

© 2002 Fadi A. Aloul, University of Michigan Applications - optimization Max-SAT Finds an assignment that Satisfies maximum possible number of clauses Generalization of SAT Provides more info for unsatisfiable instances Used to represent “Max-CUT” problems Expressed using a single PB constraint Solved using PBS Addressed indirectly using WalkSAT

© 2002 Fadi A. Aloul, University of Michigan Outline Boolean Satisfiability advances Processing Pseudo-Boolean constraints Applications CSP Optimization Experimental evaluation Conclusions

© 2002 Fadi A. Aloul, University of Michigan Experimental Setup Platform: Pentium-II 300 MHz with 512MB RAM running Linux Runtime limit: 5000 sec PBS Implemented in C++ PBS settings: VSIDS decision heuristic Optimized BCP Random Restarts 1 st UIP conflict analysis learning scheme Clause deletion/random backtracking disabled

© 2002 Fadi A. Aloul, University of Michigan Global Routing Experiment

© 2002 Fadi A. Aloul, University of Michigan MaxONE Experiment

© 2002 Fadi A. Aloul, University of Michigan Conclusions Adapting SAT apps to use CNF/PB constraints leads to memory savings and runtime reductions Proposed new specialized 0-1 ILP solver, PBS Confirmed effectiveness on real world examples: Global routing consistency instances Max-ONEs optimization problems (extendable to Max-SAT, Min-ONEs)

© 2002 Fadi A. Aloul, University of Michigan Future Works Compare state-of-the-art Generic ILP solvers, such as CPLEX, to specialized 0-1 ILP solvers Apply PBS to Max-SAT and Min-ONEs problems Study applications to Max-Clique, Max Independent Set, and Min Vertex Cover