Watching Clauses in Quantified Boolean Formulae

Size: px
Start display at page:

Download "Watching Clauses in Quantified Boolean Formulae"

Transcription

1 Watching Clauses in Quantified Boolean Formulae Andrew G D Rowley University of St. Andrews, Fife, Scotland agdr@dcs.st-and.ac.uk Abstract. I present a way to speed up the detection of pure literals and deleted variables in Quantified Boolean Formulae (QBFs) using a method similar to watching literals in SAT. Pure literal detection and variable deletion is crucial in QBF search, unlike SAT search where only satisfiability is to be determined. I find that the watched clause method improves the efficiency of my implementation backjumping by up to 8825 times and rarely performs worse, despite an increase in the worst case complexity of the algorithm. Introduction The introduction of watched literals [], a lazy data structure for satisfiability (SAT) search algorithms, has resulted in great improvements in the run-time of SAT solvers. Watched literals keeps track of two literals remaining in a clause so as to detect when a clause becomes unit or empty. Watched literals is non-trivial to implement in QBF search. Quantified Boolean Formulae (QBFs) are SAT formulae with some variables universally quantified. This changes the semantics of unit and false clauses. The issue of watching literals in QBF is addressed in [2]. In this paper, I show that the use of lazy data structures need not be restricted to literals in clauses. In SAT, the detection of pure literals and deleted variables appears to be unimportant [3], and so watched literals has so far been the only implemented lazy data structure. In search for QBF satisfiability, this is not the case; the detection of universal pure literals and deleted variables in particular is critical [4]. This is due to the fact that finding a solution to the CNF formula part of a QBF does not necessarily mean that search is finished. Without pure literal and deleted variable detection, unnecessary variable backtracks can be made. One important fact that helps to make watched literals efficient is that no work is required to be done when unassigning a variable. This allows the computer s cache memory to be used more efficiently []. This was an additional goal when designing the data structure described here. 2 Background A Quantified Boolean Formula is of the form QB where Q is a sequence of quantifiers Q v...q nv n, where each Q i quantifies ( or ) a variable v i and each variable occurs exactly once in the sequence Q. B is a Boolean formula in conjunctive normal form (CNF), a conjunction of clauses where each clause is a disjunction of literals. Each literal is a variable and a sign. The literal is said to be negative if negated and positive otherwise. Universals and existentials are those variables quantified by a universal or existential quantifier respectively. A QBF of the form v Q 2v 2...Q nv nb is true if either Q 2v 2...Q nv nb[v :=

2 T] or Q 2v 2...Q nv nb[v := F] is true, where T represents true and F represents false. Similarly, a QBF of the form v Q 2v 2...Q nv nb is true if both Q 2v 2...Q nv nb[v := T] and Q 2v 2...Q nv nb[v := F] are true. The assignment of a value to a variable is equivalent to assigning a positive value to either the positive or negative literal of the variable. When a literal has been assigned true, clauses containing positive occurrences of the literal can be removed from B, and negative occurrences of the literal can be removed from the clauses of B. A QBF is vacuously true when B is satisfied by the current assignment to the variables i.e. B is the empty set of clauses. A QBF is vacuously false when B contains an empty clause. A pure literal is a literal such that every occurrence of its variable within the formula B has the same sign. These are handled differently, depending on the quantification of the variable. If the variable is universal, the literal can be assigned the value F. We do not need to assign the literal T since we can guarantee that the variable was not used to satisfy the formula i.e. we can do no worse than assigning the variable F. Similarly, an existential pure literal can be assigned T, since we can do no better than this. When a variable no longer occurs in any clause, the variable is said to be deleted. This most obviously occurs when the variable is assigned, but can also happen due to other variable assignments causing clauses to be removed. The detection of these events is important to avoid assigning deleted variables and unnecessary backtracks. Backtracking search for QBF [4] proceeds using the recursive definition of the truth of a QBF given above. Since each variable can only be assigned one value at any one time, if the QBF is of the form v Q 2v 2...Q nv nb, and Q 2v 2...Q nv nb[v := T] is false, then v is instead assigned F. Similarly, if the QBF is of the form v Q 2v 2...Q nv nb, and Q 2v 2...Q nv nb[v := T] is true, then v is instead assigned F. Backjumping for QBF [5] attempts to determine the variables responsible for the vacuously false or vacuously true QBF. Once this set is determined, only variables in the set are backtracked on. The solution set, found when the vacuously true QBF is found, is not unique for a given set of assignments. It is important to find a small solution set; the less variables assigned when determining the solution set, the more likely it is to be possible to find a small solution set. Watched literals [] for SAT efficiently detect unit and false clauses. Two literals are chosen in each clause. When either of these literals are removed, the clause is searched for another literal that can be watched i.e. one that has not been assigned. If no such literal can be found, the clause must be unit or false. The idea is that since two literals are watched, the clause cannot become unit or empty without removing one of the watched literals i.e. the data structure is detecting the key events of the clause. 3 Unwatched Data Structure To detect pure literals, one must know how many literals of each sign of a variable occur in the formula. A simple way of doing this is to keep track of which literal is in which clause for each variable. This may or may not be how this is done in other QBF solvers; this has so far gone undocumented and source code is as yet unavailable. This tracking of literals is done using a data type called the c- literal (short for Clause Literal). Each c-literal holds a clause and a sign. The sign

3 is the sign of the corresponding literal in the clause. Two sets of c-literals are kept for each variable, one for each sign. When the clause containing the literal is removed, the corresponding c-literal is removed from the variable. Since the positive and negative occurrences of the c-literals of a variable are kept distinct, it becomes trivial to detect pure literals and deleted variables. Upon backtracking the c-literal removed from a set must be restored. Each c-literal removal can be done in constant time, provided a doubly linked list data structure is used to store the c-literals. To remove all c-literals of a single sign from the variable therefore has complexity O(n) where n is the number of c-literals of a single sign of a variable. Of course, this may never occur since only some c-literals may be removed, and so this is a worst case. 4 Watched Data Structure We can apply the same methods to watch c-literals in sets as are used to watch literals in clauses. In detecting pure literals or deleted variables, the key events are the c-literal set of one of the signs of the variable becoming empty for a pure literal and both signs of c-literal set becoming empty for a deleted variable. In watching literals in SAT, we keep two watched literal pointers in every clause. Similarly in QBF, we keep two watched c-literal pointers in every pair of sets. The meaning of these pointers is that one of the following holds:. There is one watched unremoved c-literal for each sign of the variable. 2. The variable has a pure literal. 3. The variable is deleted. If the clause is removed, the watched c-literals of the literals in the clause are enumerated. No c-literal is actually ever removed from the sets, but instead the watched c-literal pointers are updated as per the above invariants. A c-literal is labelled removed if the clause representing the c-literal has been removed. It is otherwise labelled unremoved. The main aim of this updating is that no work should be required upon backtracking. When a watched c-literal c old is examined, the rules are as follows:. Search for an unremoved c-literal of the same sign as c old, c new. (a) If c new exists, watch it. (b) If c new does not exist, search for an unremoved c-literal of the opposite sign to c old, c o. i. If c o exists, the variable is pure in the sign of c o. ii. If c o does not exist, the variable is removed. At first sight, watching clauses appears to look bad. To detect a pure literal, we must scan the entire set of c-literals. However, since this is a lazy data structure, we are only doing this work when necessary. In the best case for removing all c- literals, this scan is only performed once when the last clause removed for a literal corresponds to the watched c-literal in a set, giving best case complexity O(n) where n is the number of c-literals of a single sign in the variable. The worst case is when the c-literal examined is always the watched c-literal in a variable, and we always scan over previously removed c-literals. In this case the number of n examinations is i = O(n 2 ). Even in the worst case, we are still doing all the i= work during variable assignment and no work during backtracking, improving the use of the computer cache. Additionally, the best case complexity is when the watched c-literal is never removed, and so the variable never becomes pure or deleted. In this case, watched clauses does no work.

4 Median Run Time for 00 Runs (s) CSBJ CSBJWC Percentage Satisfiable Fraction Satisfiable Number of Clauses per Problem Fig.. Phase transition for CSBJ and CSBJWC on random problems from Model A (n=20 per quantifier,h=5,outermost quantifier universal,4 quantifier alternations,l= in steps of Experimental Evaluation To judge the efficiency of the watched clause implementation, I compared it to my own implementation of a backjumping algorithm, called CSBJ. The implementation of watched clauses is based on my implementation, and is known as CSBJWC; the only difference is in how the implementation handles pure literals and deleted variables. Run time comparisons are then valid since run time differences can only be due to this change. To verify this, I checked the number of existential and universal backtracks performed by each implementation. The backtracks for CSBJ and CSBJWC were identical on all runs. All experiments were performed on a cluster of PIII Ghz machines with 52MB RAM. For structured instances, I used all benchmark instances available from QBFLib ( except the robot problems. Random instances were generated using Gent and Walsh s Model A [6]. The parameters used were 20 variables per quantifier, 4 quantifier alternations with the universal outermost, 5 variables per clause and a number of clauses from 25 to 450 in steps of 25. A time out of 3600 seconds was used on all instances. Figure shows the standard phase transition for CSBJ and CSBJWC. We see here that CSBJWC outperforms CSBJ on all but a few data sets. At the peak, CSBJWC beats CSBJ by 23%. This shows that the performance of watched clauses on random problems is mostly better than that without watched clauses, although not by a lot. Figure 2 compares the run times of CSBJ and CSBJWC on structured instances. Where a point occurs below the diagonal, CSBJWC outperforms CSBJ. The further the point is below the line, the better for watching clauses. Here we see that all the points are either below or on the diagonal line. Many points lie very far below the line, suggesting that watching clauses greatly increases the efficiency on many problems, in the best cases up to 8825 times. These results suggest that the increase in worst case time complexity in removing a c-literal from a variable is significantly less important than the gains involved in implementing the lazy data structure.

5 000 CSBJWC Run Time (s) CSBJ Run Time (s) Fig. 2. Performance of CSBJ and CSBJWC on structured problems. The diagonal line represents the point where CSBJ and CSBJWC have the same run time on a problem. Points above this line are where CSBJ beats CSBJWC and points below the line are where CSBJWC beats CSBJ. Even when there are no pure literals to detect, watched clauses may not perform optimally due to the worst case complexity. Where run times of CSBJ and CSBJWC are observed to be similar, it is likely that the watched c-literal is being removed more often than those instances in which CSBJWC performs well, where it could be that the watched c-literal is never be removed from some sets. 6 Conclusions In this paper I have presented a new method based on lazy data structures for implementing pure literal detection and variable deletion detection in QBF search. I have shown how this method is similar to watched literals in SAT search. The experimental evaluation shows how this method provides significant improvements in run-time over previous methods, with watched clauses providing run time improvements of up to 8825 times, despite an increase in worst case complexity when removing a c-literal from a variable. References. Moskewicz, M., Madigan, C., Zhao, Y., Zhang, L., Malik, S.: Chaff: Engineering an Efficient SAT Solver. In: DAC. (200) 2. Gent, I., Giunchiglia, E., Narizzano, M., Rowley, A., Tacchella, A.: Efficient data structures for QBF solvers. In: SAT. (2003) To appear 3. Zhang, L., Malik, S.: The quest for efficient Boolean satisfiability solvers. In: CADE. (2002) Cadoli, M., Schaerf, M., Giovanardi, A., Giovanardi, M.: An algorithm to evaluate quantified boolean formulae and its experimental evaluation. Journal of Automated Reasoning 28 (2002) Giunchiglia, E., Narizzano, M., Tacchella, A.: Backjumping for quantified boolean logic satisfiability. In: IJCAI. (200) Gent, I., Walsh, T.: Beyond NP: the QSAT phase transition. In: AAAI. (999)

Towards a Symmetric Treatment of Satisfaction and Conflicts in Quantified Boolean Formula Evaluation

Towards a Symmetric Treatment of Satisfaction and Conflicts in Quantified Boolean Formula Evaluation Towards a Symmetric Treatment of Satisfaction and Conflicts in Quantified Boolean Formula Evaluation Lintao Zhang, Sharad Malik Department of Electrical Engineering, Princeton University, Princeton, NJ

More information

Using SAT in QBF. Horst Samulowitz and Fahiem Bacchus. Department of Computer Science, University of Toronto, Canada. [horst

Using SAT in QBF. Horst Samulowitz and Fahiem Bacchus. Department of Computer Science, University of Toronto, Canada. [horst Using SAT in QBF Horst Samulowitz and Fahiem Bacchus Department of Computer Science, University of Toronto, Canada. [horst fbacchus]@cs.toronto.edu Abstract. QBF is the problem of deciding the satisfiability

More information

Blocked Literals are Universal

Blocked Literals are Universal Blocked Literals are Universal Marijn J.H. Heule 1, Martina Seidl 2, and Armin Biere 2 1 Department of Computer Science, The University of Texas at Austin, USA marijn@cs.utexas.edu 2 Institute for Formal

More information

Using SAT in QBF. Horst Samulowitz and Fahiem Bacchus. Department of Computer Science, University of Toronto, Canada. [horst

Using SAT in QBF. Horst Samulowitz and Fahiem Bacchus. Department of Computer Science, University of Toronto, Canada. [horst Using SAT in QBF Horst Samulowitz and Fahiem Bacchus Department of Computer Science, University of Toronto, Canada. [horst fbacchus]@cs.toronto.edu Abstract. QBF is the problem of deciding the satisfiability

More information

Satisfiability Solvers

Satisfiability Solvers Satisfiability Solvers Part 1: Systematic Solvers 600.325/425 Declarative Methods - J. Eisner 1 Vars SAT solving has made some progress 100000 10000 1000 100 10 1 1960 1970 1980 1990 2000 2010 Year slide

More information

A Pearl on SAT Solving in Prolog (extended abstract)

A Pearl on SAT Solving in Prolog (extended abstract) A Pearl on SAT Solving in Prolog (extended abstract) Jacob M. Howe and Andy King 1 Introduction The Boolean satisfiability problem, SAT, is of continuing interest because a variety of problems are naturally

More information

DepQBF: A Dependency-Aware QBF Solver (System Description)

DepQBF: A Dependency-Aware QBF Solver (System Description) DepQBF: A Dependency-Aware QBF Solver (System Description) Institute for Formal Models and Verification (FMV) Johannes Kepler University, Linz, Austria http://fmv.jku.at Pragmatics of SAT (POS) Workshop

More information

Parallelizing SAT Solver With specific application on solving Sudoku Puzzles

Parallelizing SAT Solver With specific application on solving Sudoku Puzzles 6.338 Applied Parallel Computing Final Report Parallelizing SAT Solver With specific application on solving Sudoku Puzzles Hank Huang May 13, 2009 This project was focused on parallelizing a SAT solver

More information

Symbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt.

Symbolic Methods. The finite-state case. Martin Fränzle. Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Symbolic Methods The finite-state case Part I Martin Fränzle Carl von Ossietzky Universität FK II, Dpt. Informatik Abt. Hybride Systeme 02917: Symbolic Methods p.1/34 What you ll learn How to use and manipulate

More information

4.1 Review - the DPLL procedure

4.1 Review - the DPLL procedure Applied Logic Lecture 4: Efficient SAT solving CS 4860 Spring 2009 Thursday, January 29, 2009 The main purpose of these notes is to help me organize the material that I used to teach today s lecture. They

More information

Efficiently Representing Existential Dependency Sets for Expansion-based QBF Solvers

Efficiently Representing Existential Dependency Sets for Expansion-based QBF Solvers MEMICS 2008 Efficiently Representing Existential Dependency Sets for Expansion-based QBF Solvers Florian Lonsing and Armin Biere 1 Institute for Formal Models and Verification Johannes Kepler University

More information

Learning Techniques for Pseudo-Boolean Solving and Optimization

Learning Techniques for Pseudo-Boolean Solving and Optimization Learning Techniques for Pseudo-Boolean Solving and Optimization José Faustino Fragoso Fremenin dos Santos September 29, 2008 Abstract The extension of conflict-based learning from Propositional Satisfiability

More information

A SAT-based Decision Procedure for the Boolean Combination of Difference Constraints

A SAT-based Decision Procedure for the Boolean Combination of Difference Constraints A SAT-based Decision Procedure for the Boolean Combination of Difference Constraints Alessandro Armando, Claudio Castellini, Enrico Giunchiglia, and Marco Maratea MRG-DIST, University of Genova viale Francesco

More information

Preprocessing Techniques for QBFs

Preprocessing Techniques for QBFs Preprocessing Techniques for QBFs Enrico Giunchiglia 1, Paolo Marin 1, and Massimo Narizzano 1 DIST - Università di Genova Viale Causa 13, 16145 Genova, Italy name.lastname@unige.it Abstract In this paper

More information

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley Project Proposals Due Friday, February 13 on bcourses Will discuss project topics on Monday Instructions

More information

Resolve and Expand. Armin Biere. Computer Systems Institute ETH Zürich, Switzerland

Resolve and Expand. Armin Biere. Computer Systems Institute ETH Zürich, Switzerland Resolve and Expand Armin Biere Computer Systems Institute ETH Zürich, Switzerland Abstract. We present a novel expansion based decision procedure for quantified boolean formulas (QBF) in conjunctive normal

More information

Resolve and Expand. Armin Biere

Resolve and Expand. Armin Biere Resolve and Expand Armin Biere Johannes Kepler University Institute for Formal Models and Verification Altenbergerstrasse 69, A-4040 Linz, Austria biere@jku.at Abstract. We present a novel expansion based

More information

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013

SAT Solvers. Ranjit Jhala, UC San Diego. April 9, 2013 SAT Solvers Ranjit Jhala, UC San Diego April 9, 2013 Decision Procedures We will look very closely at the following 1. Propositional Logic 2. Theory of Equality 3. Theory of Uninterpreted Functions 4.

More information

Binary Clause Reasoning in QBF

Binary Clause Reasoning in QBF Binary Clause Reasoning in QBF Horst Samulowitz 1 and Fahiem Bacchus 1 Department of Computer Science, University Of Toronto, Toronto, Ontario, Canada [horst fbacchus]@cs.toronto.edu Abstract. Binary clause

More information

Strengthening Semantic-tree Method in evaluating QBFs

Strengthening Semantic-tree Method in evaluating QBFs Published in: Proceeding of 6th International Workshop on Boolean Problems (IWSBP), Freiberg, Germany, Sept. 2004, pp. 257-264 Strengthening Semantic-tree Method in evaluating QBFs Mohammad GhasemZadeh,

More information

Full CNF Encoding: The Counting Constraints Case

Full CNF Encoding: The Counting Constraints Case Full CNF Encoding: The Counting Constraints Case Olivier Bailleux 1 and Yacine Boufkhad 2 1 LERSIA, Université de Bourgogne Avenue Alain Savary, BP 47870 21078 Dijon Cedex olivier.bailleux@u-bourgogne.fr

More information

Enhanced Integration of QBF Solving Techniques

Enhanced Integration of QBF Solving Techniques Enhanced Integration of QBF Solving Techniques Sven Reimer Albert-Ludwigs-Universität Freiburg reimer@informatik.uni-freiburg.de Florian Pigorsch Albert-Ludwigs-Universität Freiburg pigorsch@informatik.uni-freiburg.de

More information

Chaff: Engineering an Efficient SAT Solver

Chaff: Engineering an Efficient SAT Solver Chaff: Engineering an Efficient SAT Solver Matthew W.Moskewicz, Concor F. Madigan, Ying Zhao, Lintao Zhang, Sharad Malik Princeton University Slides: Tamir Heyman Some are from Malik s presentation Last

More information

QingTing: A Fast SAT Solver Using Local Search and E cient Unit Propagation

QingTing: A Fast SAT Solver Using Local Search and E cient Unit Propagation QingTing: A Fast SAT Solver Using Local Search and E cient Unit Propagation Xiao Yu Li, Matthias F. Stallmann, and Franc Brglez Dept. of Computer Science, NC State Univ., Raleigh, NC 27695, USA {xyli,mfms,brglez}@unity.ncsu.edu

More information

Heuristic Backtracking Algorithms for SAT

Heuristic Backtracking Algorithms for SAT Heuristic Backtracking Algorithms for SAT A. Bhalla, I. Lynce, J.T. de Sousa and J. Marques-Silva IST/INESC-ID, Technical University of Lisbon, Portugal fateet,ines,jts,jpmsg@sat.inesc.pt Abstract In recent

More information

CS227: Assignment 1 Report

CS227: Assignment 1 Report 1 CS227: Assignment 1 Report Lei Huang and Lawson Wong April 20, 2008 1 Introduction Propositional satisfiability (SAT) problems have been of great historical and practical significance in AI. Despite

More information

NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances

NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances NiVER: Non Increasing Variable Elimination Resolution for Preprocessing SAT instances Sathiamoorthy Subbarayan 1 and Dhiraj K Pradhan 2 1 Department of Innovation, IT-University of Copenhagen, Copenhagen,

More information

Unrestricted Nogood Recording in CSP search

Unrestricted Nogood Recording in CSP search Unrestricted Nogood Recording in CSP search George Katsirelos and Fahiem Bacchus Department of Computer Science, University Of Toronto, Toronto, Ontario, Canada [gkatsi,fbacchus]@cs.toronto.edu Abstract.

More information

A Distributed Algorithm to Evaluate Quantified Boolean Formulae

A Distributed Algorithm to Evaluate Quantified Boolean Formulae From: AAAI-00 Proceedings. Copyright 2000, AAAI (www.aaai.org). All rights reserved. A Distributed Algorithm to Evaluate Quantified Boolean Formulae Rainer Feldmann, Burkhard Monien, Stefan Schamberger

More information

Solution Directed Backjumping for QCSP

Solution Directed Backjumping for QCSP Solution Directed Backjumping for QCSP Fahiem Bacchus 1 and Kostas Stergiou 2 1 Department of Computer Science, University of Toronto, Canada. fbacchus@cs.toronto.edu 2 Department of Information and Communication

More information

A First Step Towards a Unified Proof Checker for QBF

A First Step Towards a Unified Proof Checker for QBF A First Step Towards a Unified Proof Checker for QBF Toni Jussila 1, Armin Biere 1, Carsten Sinz 2, Daniel Kröning 3, and Christoph M. Wintersteiger 3 1 Formal Models and Verification, Johannes Kepler

More information

Better test results for the graph coloring and the Pigeonhole Problems using DPLL with k-literal representation

Better test results for the graph coloring and the Pigeonhole Problems using DPLL with k-literal representation Proceedings of the 7 th International Conference on Applied Informatics Eger, Hungary, January 28 31, 2007. Vol. 2. pp. 127 135. Better test results for the graph coloring and the Pigeonhole Problems using

More information

Circuit versus CNF Reasoning for Equivalence Checking

Circuit versus CNF Reasoning for Equivalence Checking Circuit versus CNF Reasoning for Equivalence Checking Armin Biere Institute for Formal Models and Verification Johannes Kepler University Linz, Austria Equivalence Checking Workshop 25 Madonna di Campiglio,

More information

Boolean Functions (Formulas) and Propositional Logic

Boolean Functions (Formulas) and Propositional Logic EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part I: Basics Sanjit A. Seshia EECS, UC Berkeley Boolean Functions (Formulas) and Propositional Logic Variables: x 1, x 2, x 3,, x

More information

Bounded Universal Expansion for Preprocessing QBF

Bounded Universal Expansion for Preprocessing QBF Bounded Universal Expansion for Preprocessing QBF Uwe Bubeck 1 and Hans Kleine Büning 2 1 International Graduate School Dynamic Intelligent Systems, Universität Paderborn, 33098 Paderborn (Germany) bubeck@upb.de

More information

Example of a Demonstration that a Problem is NP-Complete by reduction from CNF-SAT

Example of a Demonstration that a Problem is NP-Complete by reduction from CNF-SAT 20170926 CNF-SAT: CNF-SAT is a problem in NP, defined as follows: Let E be a Boolean expression with m clauses and n literals (literals = variables, possibly negated), in which - each clause contains only

More information

The log-support encoding of CSP into SAT

The log-support encoding of CSP into SAT The log-support encoding of CSP into SAT Marco Gavanelli 1 Dept. of Engineering, Ferrara University, WWW home page: http://www.ing.unife.it/docenti/marcogavanelli/ Abstract. Various encodings have been

More information

Unrestricted Backtracking Algorithms for Satisfiability

Unrestricted Backtracking Algorithms for Satisfiability From: AAAI Technical Report FS-01-04. Compilation copyright 2001, AAAI (www.aaai.org). All rights reserved. Unrestricted Backtracking Algorithms for Satisfiability I. Lynce, L. Baptista and J. Marques-Silva

More information

Lemma and Model Caching in Decision Procedures for Quantified Boolean Formulas

Lemma and Model Caching in Decision Procedures for Quantified Boolean Formulas Lemma and Model Caching in Decision Procedures for Quantified Boolean Formulas Reinhold Letz Institut für Informatik Technische Universität München D-80290 Munich, Germany letz@in.tum.de Abstract. The

More information

A Lightweight Component Caching Scheme for Satisfiability Solvers

A Lightweight Component Caching Scheme for Satisfiability Solvers A Lightweight Component Caching Scheme for Satisfiability Solvers Knot Pipatsrisawat and Adnan Darwiche {thammakn,darwiche}@cs.ucla.edu Computer Science Department University of California, Los Angeles

More information

Using Autarky to Evaluate Quantified Boolean Formulae

Using Autarky to Evaluate Quantified Boolean Formulae Using Autarky to Evaluate Quantified Boolean Formulae Jens Rühmkorf Simulation and Software Technology German Aerospace Center (DR) inder Höhe, D-547 Köln, Germany E-mail: Jens.Ruehmkorf@dlr.de Abstract

More information

Boolean Representations and Combinatorial Equivalence

Boolean Representations and Combinatorial Equivalence Chapter 2 Boolean Representations and Combinatorial Equivalence This chapter introduces different representations of Boolean functions. It then discusses the applications of these representations for proving

More information

An Introduction to SAT Solvers

An Introduction to SAT Solvers An Introduction to SAT Solvers Knowles Atchison, Jr. Fall 2012 Johns Hopkins University Computational Complexity Research Paper December 11, 2012 Abstract As the first known example of an NP Complete problem,

More information

Validating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications

Validating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications Validating SAT Solvers Using an Independent Resolution-Based Checker: Practical Implementations and Other Applications Lintao Zhang Department of Electrical Engineering Princeton University lintaoz@ee.princeton.edu

More information

Solving QBF with SMV. Abstract. 1 Introduction

Solving QBF with SMV. Abstract. 1 Introduction Solving QBF with SMV Francesco M. Donini Dipartimento di Elettrotecnica ed Elettronica Politecnico di Bari Via Re David 200 Bari, Italia Fabio Massacci Dipartimento di Ingegneria Civile e Ambientale Università

More information

Improved Exact Solver for the Weighted Max-SAT Problem

Improved Exact Solver for the Weighted Max-SAT Problem Adrian Faculty of Engineering and Computer Sciences Ulm University Adrian.Kuegel@uni-ulm.de Abstract Many exact Max-SAT solvers use a branch and bound algorithm, where the lower bound is calculated with

More information

Preprocessing QBF. Horst Samulowitz, Jessica Davies, and Fahiem Bacchus

Preprocessing QBF. Horst Samulowitz, Jessica Davies, and Fahiem Bacchus Preprocessing QBF Horst Samulowitz, Jessica Davies, and Fahiem Bacchus Department of Computer Science, University of Toronto, Canada. [horst jdavies fbacchus]@cs.toronto.edu Abstract. In this paper we

More information

An Analysis and Comparison of Satisfiability Solving Techniques

An Analysis and Comparison of Satisfiability Solving Techniques An Analysis and Comparison of Satisfiability Solving Techniques Ankur Jain, Harsha V. Madhyastha, Craig M. Prince Department of Computer Science and Engineering University of Washington Seattle, WA 98195

More information

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley

EECS 219C: Formal Methods Boolean Satisfiability Solving. Sanjit A. Seshia EECS, UC Berkeley EECS 219C: Formal Methods Boolean Satisfiability Solving Sanjit A. Seshia EECS, UC Berkeley The Boolean Satisfiability Problem (SAT) Given: A Boolean formula F(x 1, x 2, x 3,, x n ) Can F evaluate to 1

More information

Efficient Circuit to CNF Conversion

Efficient Circuit to CNF Conversion Efficient Circuit to CNF Conversion Panagiotis Manolios and Daron Vroon College of Computing, Georgia Institute of Technology, Atlanta, GA, 30332, USA http://www.cc.gatech.edu/home/{manolios,vroon} Abstract.

More information

Adding a New Conflict Based Branching Heuristic in two Evolved DPLL SAT Solvers

Adding a New Conflict Based Branching Heuristic in two Evolved DPLL SAT Solvers Adding a New Conflict Based Branching Heuristic in two Evolved DPLL SAT Solvers Renato Bruni, Andrea Santori Università di Roma La Sapienza, Dip. di Informatica e Sistemistica, Via Michelangelo Buonarroti

More information

Implementation of a Sudoku Solver Using Reduction to SAT

Implementation of a Sudoku Solver Using Reduction to SAT Implementation of a Sudoku Solver Using Reduction to SAT For this project you will develop a Sudoku solver that receives an input puzzle and computes a solution, if one exists. Your solver will: read an

More information

A Stochastic Non-CNF SAT Solver

A Stochastic Non-CNF SAT Solver A Stochastic Non-CNF SAT Solver Rafiq Muhammad and Peter J. Stuckey NICTA Victoria Laboratory, Department of Computer Science and Software Engineering, The University of Melbourne, Victoria 3010, Australia

More information

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY

Satisfiability. Michail G. Lagoudakis. Department of Computer Science Duke University Durham, NC SATISFIABILITY Satisfiability Michail G. Lagoudakis Department of Computer Science Duke University Durham, NC 27708 COMPSCI 271 - Spring 2001 DUKE UNIVERSITY Page 1 Why SAT? Historical Reasons The first NP-COMPLETE problem

More information

Checking Satisfiability of a Conjunction of BDDs

Checking Satisfiability of a Conjunction of BDDs 48. Checking Satisfiability of a Conjunction of BDDs Robert Damiano Advanced Technology Group Synopsys, Inc. Hillsboro, OR robertd@synopsys.com James Kukula Advanced Technology Group Synopsys, Inc. Hillsboro,

More information

Searching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers

Searching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers Searching for Monochromatic-Square-Free Ramsey Grid Colorings via SAT Solvers Paul Walton Computer Science and Computer Engineering University of Arkansas Fayetteville, AR 72701, USA pwalton@uark.edu Wing

More information

Memory-Efficient Inference in Relational Domains

Memory-Efficient Inference in Relational Domains Memory-Efficient Inference in Relational Domains Parag Singla Pedro Domingos Department of Computer Science and Engineering University of Washington Seattle, WA 98195-2350, U.S.A. {parag, pedrod}@cs.washington.edu

More information

Linear Time Unit Propagation, Horn-SAT and 2-SAT

Linear Time Unit Propagation, Horn-SAT and 2-SAT Notes on Satisfiability-Based Problem Solving Linear Time Unit Propagation, Horn-SAT and 2-SAT David Mitchell mitchell@cs.sfu.ca September 25, 2013 This is a preliminary draft of these notes. Please do

More information

Clone: Solving Weighted Max-SAT in a Reduced Search Space

Clone: Solving Weighted Max-SAT in a Reduced Search Space Clone: Solving Weighted Max-SAT in a Reduced Search Space Knot Pipatsrisawat and Adnan Darwiche {thammakn,darwiche}@cs.ucla.edu Computer Science Department University of California, Los Angeles Abstract.

More information

Massively Parallel Seesaw Search for MAX-SAT

Massively Parallel Seesaw Search for MAX-SAT Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The

More information

8.1 Polynomial-Time Reductions

8.1 Polynomial-Time Reductions 8.1 Polynomial-Time Reductions Classify Problems According to Computational Requirements Q. Which problems will we be able to solve in practice? A working definition. Those with polynomial-time algorithms.

More information

1 Definition of Reduction

1 Definition of Reduction 1 Definition of Reduction Problem A is reducible, or more technically Turing reducible, to problem B, denoted A B if there a main program M to solve problem A that lacks only a procedure to solve problem

More information

Rust and C++ performance on the Algorithmic Lovasz Local Lemma

Rust and C++ performance on the Algorithmic Lovasz Local Lemma Rust and C++ performance on the Algorithmic Lovasz Local Lemma ANTHONY PEREZ, Stanford University, USA Additional Key Words and Phrases: Programming Languages ACM Reference Format: Anthony Perez. 2017.

More information

Multi Domain Logic and its Applications to SAT

Multi Domain Logic and its Applications to SAT Multi Domain Logic and its Applications to SAT Tudor Jebelean RISC Linz, Austria Tudor.Jebelean@risc.uni-linz.ac.at Gábor Kusper Eszterházy Károly College gkusper@aries.ektf.hu Abstract We describe a new

More information

Conflict Driven Learning and Non-chronological Backtracking

Conflict Driven Learning and Non-chronological Backtracking x1 + x4 Conflict Driven Learning and Conflict Driven Learning and x1 + x4 x1 x1=0 x1=0 Conflict Driven Learning and x1 + x4 x1 x1=0 x1=0 Conflict Driven Learning and x1 + x4 x1 x1=0, x4=1 x1=0 x4=1 Conflict

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Tuomas Sandholm Carnegie Mellon University Computer Science Department [Read Chapter 6 of Russell & Norvig] Constraint satisfaction problems (CSPs) Standard search problem:

More information

Exploiting Structure in an AIG Based QBF Solver

Exploiting Structure in an AIG Based QBF Solver Exploiting Structure in an AIG Based QBF Solver Florian Pigorsch and Christoph Scholl Albert-Ludwigs-Universität Freiburg, Institut für Informatik, D-79110 Freiburg im Breisgau, Germany {pigorsch, scholl}@informatik.uni-freiburg.de

More information

Space-Efficient Bounded Model Checking

Space-Efficient Bounded Model Checking Space-Efficient Bounded Model Checking Author names Abstract Current algorithms for bounded model checking use SAT methods for checking satisfiability of Boolean formulae. Methods based on the validity

More information

An Algorithm to Evaluate Quantified Boolean Formulae * Marco Cadoli, Andrea Giovanardi, Marco Schaerf

An Algorithm to Evaluate Quantified Boolean Formulae * Marco Cadoli, Andrea Giovanardi, Marco Schaerf From: AAAI-98 Proceedings. Copyright 1998, AAAI (www.aaai.org). All rights reserved. An Algorithm to Evaluate Quantified Boolean Formulae * Marco Cadoli, Andrea Giovanardi, Marco Schaerf Dipartimento di

More information

FZQSAT: A QSAT Solver for QBFs in Prenex NNF (A Useful Tool for Circuit Verification)

FZQSAT: A QSAT Solver for QBFs in Prenex NNF (A Useful Tool for Circuit Verification) FZQSAT: A QSAT Solver for QBFs in Prenex NNF (A Useful Tool for Circuit Verification) Mohammad GhasemZadeh, Volker Klotz and Christoph Meinel FB-IV Informatik, University of Trier, Germany {GhasemZadeh,

More information

Notes on CSP. Will Guaraldi, et al. version /13/2006

Notes on CSP. Will Guaraldi, et al. version /13/2006 Notes on CSP Will Guaraldi, et al version 1.5 10/13/2006 Abstract This document is a survey of the fundamentals of what we ve covered in the course up to this point. The information in this document was

More information

Example: Map coloring

Example: Map coloring Today s s lecture Local Search Lecture 7: Search - 6 Heuristic Repair CSP and 3-SAT Solving CSPs using Systematic Search. Victor Lesser CMPSCI 683 Fall 2004 The relationship between problem structure and

More information

Bounded Model Checking with Parametric Data Structures

Bounded Model Checking with Parametric Data Structures Bounded Model Checking with Marc Herbstritt (joint work with Erika Ábrahám, Bernd Becker, Martin Steffen) www.avacs.org August 15 2006 4th International Workshop on Bounded Model Checking Context Automated

More information

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance.

! Greed. O(n log n) interval scheduling. ! Divide-and-conquer. O(n log n) FFT. ! Dynamic programming. O(n 2 ) edit distance. Algorithm Design Patterns and Anti-Patterns 8. NP and Computational Intractability Algorithm design patterns. Ex.! Greed. O(n log n) interval scheduling.! Divide-and-conquer. O(n log n) FFT.! Dynamic programming.

More information

Learning Techniques for Pseudo-Boolean Solving

Learning Techniques for Pseudo-Boolean Solving José Santos IST/UTL, INESC-ID Lisbon, Portugal jffs@sat.inesc-id.pt Vasco Manquinho IST/UTL, INESC-ID Lisbon, Portugal vmm@sat.inesc-id.pt Abstract The extension of conflict-based learning from Propositional

More information

Efficient SAT-based Boolean Matching for FPGA Technology Mapping

Efficient SAT-based Boolean Matching for FPGA Technology Mapping Efficient SAT-based Boolean Matching for FPGA Technology Mapping Sean Safarpour, Andreas Veneris Department of Electrical and Computer Engineering University of Toronto Toronto, ON, Canada {sean, veneris}@eecg.toronto.edu

More information

The Resolution Algorithm

The Resolution Algorithm The Resolution Algorithm Introduction In this lecture we introduce the Resolution algorithm for solving instances of the NP-complete CNF- SAT decision problem. Although the algorithm does not run in polynomial

More information

NP and computational intractability. Kleinberg and Tardos, chapter 8

NP and computational intractability. Kleinberg and Tardos, chapter 8 NP and computational intractability Kleinberg and Tardos, chapter 8 1 Major Transition So far we have studied certain algorithmic patterns Greedy, Divide and conquer, Dynamic programming to develop efficient

More information

8 NP-complete problem Hard problems: demo

8 NP-complete problem Hard problems: demo Ch8 NPC Millennium Prize Problems http://en.wikipedia.org/wiki/millennium_prize_problems 8 NP-complete problem Hard problems: demo NP-hard (Non-deterministic Polynomial-time hard), in computational complexity

More information

Exact Max-SAT solvers for over-constrained problems

Exact Max-SAT solvers for over-constrained problems J Heuristics (2006) 12: 375 392 DOI 10.1007/s10732-006-7234-9 Exact Max-SAT solvers for over-constrained problems Josep Argelich Felip Manyà C Science + Business Media, LLC 2006 Abstract We present a new

More information

CS-E3220 Declarative Programming

CS-E3220 Declarative Programming CS-E3220 Declarative Programming Lecture 5: Premises for Modern SAT Solving Aalto University School of Science Department of Computer Science Spring 2018 Motivation The Davis-Putnam-Logemann-Loveland (DPLL)

More information

Improving First-order Model Searching by Propositional Reasoning and Lemma Learning

Improving First-order Model Searching by Propositional Reasoning and Lemma Learning Improving First-order Model Searching by Propositional Reasoning and Lemma Learning Zhuo Huang 1, Hantao Zhang 2, and Jian Zhang 1 1 Laboratory of Computer Science Institute of Software, Chinese Academy

More information

Nenofar: A Negation Normal Form SMT Solver

Nenofar: A Negation Normal Form SMT Solver Nenofar: A Negation Normal Form SMT Solver Combining Non-Clausal SAT Approaches with Theories Philippe Suter 1, Vijay Ganesh 2, Viktor Kuncak 1 1 EPFL, Switzerland 2 MIT, USA Abstract. We describe an implementation

More information

Notes on CSP. Will Guaraldi, et al. version 1.7 4/18/2007

Notes on CSP. Will Guaraldi, et al. version 1.7 4/18/2007 Notes on CSP Will Guaraldi, et al version 1.7 4/18/2007 Abstract Original abstract This document is a survey of the fundamentals of what we ve covered in the course up to this point. The information in

More information

A Satisfiability Procedure for Quantified Boolean Formulae

A Satisfiability Procedure for Quantified Boolean Formulae A Satisfiability Procedure for Quantified Boolean Formulae David A. Plaisted Computer Science Department, University of North Carolina Chapel Hill, NC 27599-3175, USA Armin Biere ETH Zürich, Computer Systems

More information

2SAT Andreas Klappenecker

2SAT Andreas Klappenecker 2SAT Andreas Klappenecker The Problem Can we make the following boolean formula true? ( x y) ( y z) (z y)! Terminology A boolean variable is a variable that can be assigned the values true (T) or false

More information

Bounded Model Checking with QBF

Bounded Model Checking with QBF Bounded Model Checking with QBF N. Dershowitz, Z. Hanna and J. Katz Abstract. Current algorithms for bounded model checking (BMC) use SAT methods for checking satisfiability of Boolean formulas. These

More information

PROPOSITIONAL LOGIC (2)

PROPOSITIONAL LOGIC (2) PROPOSITIONAL LOGIC (2) based on Huth & Ruan Logic in Computer Science: Modelling and Reasoning about Systems Cambridge University Press, 2004 Russell & Norvig Artificial Intelligence: A Modern Approach

More information

Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination

Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination Deciding Separation Logic Formulae by SAT and Incremental Negative Cycle Elimination Chao Wang, Franjo Ivančić, Malay Ganai, and Aarti Gupta NEC Laboratories America 4 Independence Way, Princeton, NJ 08540,

More information

Tighter Integration of BDDs and SMT for Predicate Abstraction

Tighter Integration of BDDs and SMT for Predicate Abstraction Tighter Integration of BDDs and SMT for Predicate Abstraction A. Cimatti, A. Franzen, A. Griggio, K. Kalyanasundaram, M. Roveri FBK-irst, Trento, Italy {cimatti,franzen,krishnamani,roveri}@fbk.eu University

More information

Solving Non-clausal Formulas with DPLL search

Solving Non-clausal Formulas with DPLL search Solving Non-clausal Formulas with DPLL search Christian Thiffault 1, Fahiem Bacchus 1, and Toby Walsh 2 1 Department of Computer Science, University of Toronto, Toronto, Ontario, Canada [cat fbacchus]@cs.toronto.edu

More information

Boolean Satisfiability: From Theoretical Hardness to Practical Success. Sharad Malik Princeton University

Boolean Satisfiability: From Theoretical Hardness to Practical Success. Sharad Malik Princeton University Boolean Satisfiability: From Theoretical Hardness to Practical Success Sharad Malik Princeton University SAT in a Nutshell Given a Boolean formula, find a variable assignment such that the formula evaluates

More information

Fault Tolerance Analysis of Distributed Reconfigurable Systems Using SAT-Based Techniques

Fault Tolerance Analysis of Distributed Reconfigurable Systems Using SAT-Based Techniques In Field-Programmable Logic and Applications by Peter Y. K. Cheung, George A. Constantinides, and Jose T. de Sousa (Eds.). In Lecture Notes in Computer Science (LNCS), Volume 2778, c Springer, Berlin,

More information

SAT/SMT Solvers and Applications

SAT/SMT Solvers and Applications SAT/SMT Solvers and Applications University of Waterloo Winter 2013 Today s Lecture Lessons learnt so far Implementation-related attacks (control-hazard, malware,...) Program analysis techniques can detect

More information

Solving quantified constraint satisfaction problems

Solving quantified constraint satisfaction problems Artificial Intelligence 172 (2008) 738 771 www.elsevier.com/locate/artint Solving quantified constraint satisfaction problems Ian P. Gent a, Peter Nightingale a, Andrew Rowley a, Kostas Stergiou b, a School

More information

Solving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s

Solving 3-SAT. Radboud University Nijmegen. Bachelor Thesis. Supervisors: Henk Barendregt Alexandra Silva. Author: Peter Maandag s Solving 3-SAT Radboud University Nijmegen Bachelor Thesis Author: Peter Maandag s3047121 Supervisors: Henk Barendregt Alexandra Silva July 2, 2012 Contents 1 Introduction 2 1.1 Problem context............................

More information

Generalizations of Watched Literals for Backtracking Search

Generalizations of Watched Literals for Backtracking Search Generalizations of Watched Literals for Backtracking Search Allen Van Gelder 237 B.E., University of California, Santa Cruz, CA 95064 E-mail avg@cs.ucsc.edu. December 1, 2001 Abstract The technique of

More information

ESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E)

ESE535: Electronic Design Automation CNF. Today CNF. 3-SAT Universal. Problem (A+B+/C)*(/B+D)*(C+/A+/E) ESE535: Electronic Design Automation CNF Day 21: April 21, 2008 Modern SAT Solvers ({z}chaff, GRASP,miniSAT) Conjunctive Normal Form Logical AND of a set of clauses Product of sums Clauses: logical OR

More information

Memory Efficient All-Solutions SAT Solver and its Application for Reachability Analysis

Memory Efficient All-Solutions SAT Solver and its Application for Reachability Analysis Memory Efficient All-Solutions SAT Solver and its Application for Reachability Analysis Orna Grumberg, Assaf Schuster, and Avi Yadgar Computer Science Department, Technion, Haifa, Israel. Abstract. This

More information

Practical SAT Solving

Practical SAT Solving Practical SAT Solving Lecture 5 Carsten Sinz, Tomáš Balyo May 23, 2016 INSTITUTE FOR THEORETICAL COMPUTER SCIENCE KIT University of the State of Baden-Wuerttemberg and National Laboratory of the Helmholtz

More information