Generalizations of Watched Literals for Backtracking Search

Size: px
Start display at page:

Download "Generalizations of Watched Literals for Backtracking Search"

Transcription

1 Generalizations of Watched Literals for Backtracking Search Allen Van Gelder 237 B.E., University of California, Santa Cruz, CA December 1, 2001 Abstract The technique of watching two literals per clause to determine when a clause becomes a unit clause was introduced recently in the Chaff satisfiability program. That program does not perform either equivalent-literal detection or binary-clause detection. We describe a generalization of the technique that handles the tracking necessary to support equivalent-literal detection and binary-clause detection. Both generalizations are designed to preserve the important property of the original method that unbinding a variable is very efficient. We decribe a data-structure technique called lazy deletion that permits several operations to be performed in amortized constant time, where the more straightforward implementation might require linear time per operation. The overall efficiency of generalized technique is analyzed. Preliminary implementation results are reported. 1 Introduction A new technique for boolean constraint propagation was reported recently, as part of the satisfiability solver named Chaff2 [MMZ 01]. The previously favored technique was published by Dalal and Etherington [DE92], and involved maintaining an exact count of how many literals in each clause were not currently contradicted. The new technique, which may be called watching two literals, only keeps track of whether at least two literals in the clause are not currently contradicted. In the Chaff2 environment, this is enough information because it only processes unit clauses. This note investigates how to generalize the idea (efficiently) to environments where (a) binary clauses need to be detected, and/or (b) equivalent-literal identification is being carried out. The main problem is that in the Chaff2 environment (essentially a DPLL environment [DLL62]) a variable Ú has three possible states: free, true, or false, whereas in the presence of equivalent-literal identification there are ¾ Ò ½µ additional states: equivalent-to Ù, where Ù is any other variable in the formula, and the formula contains Ò variables in all. A major point made by the authors of Chaff2 is that the bookkeeping techniques can make an order-of-magnitude difference in the program s speed. In particular, they point out that watching two literals requires no work when a literal binding is retracted during backtracking. Another point they make is that the cache ( cache always refers to the computer s hardware cache) is used very efficiently, compared to earlier techniques. The generalizations we propose try to preserve these properties. For that reason, we would like to avoid straightforward methods such as replacing equivalent literals throughout the formula, or setting all literals in an equivalence class to true when one of them is set to true. First we review the basic method (filling in some details omitted from the Chaff2 paper), then we describe the generalizations to accommodate equivalent-literal identification. We note that equivalent-literal identification has been found to be effective in earlier studies [Pre95, VGT96, Li00]. In this note we do not study how to detect equivalent literals, but only how to utilize the information, once they are detected. 1

2 Nearly all complete satisfiability solvers are in the DPLL family (for Davis, Putnam, Loveland, and Logemann [DLL62]). They search for a satisfying assignment by fixing variables one by one and backtracking when an assignment forces the formula to be false. The procedure is not very effective in its original form, but it has been enhanced with various techniques to reduce the search space. Techniques to choose the branch variable are a separate topic, not treated here. Reasoning techniques can be broadly classified as preorder and postorder. Preorder techniques are applied as the search goes forward, and include unit-clause propagation (also called boolean constraint propagation), binary-clause reasoning, equivalent-literal identification, and others [BS92, Pre95, VGT96, Li00]. Postorder techniques are applied when the search is about to backtrack, because a conflict has been discovered [SS96, Zha97, BS97, MMZ 01]. Postorder techniques are variously called non-chronological backtracking, conflictdirected back-jumping, and learning. The learning label is based on the fact that new clauses can be added to the formula; we call these clauses postorder lemmas. A postorder lemma consists of the negations of the literals that make up a conflict set. L. Zhang et al. study various strategies for constructing conflict sets [ZMMM01]. In none of these works have preorder and postorder techniques been combined (except for unit-clause propagation). A companion paper [VG02] addresses this issue. For this note we do not study how to derive postorder lemmas, but we assume they will be derived and might have hundreds or thousands of literals in one clause. It is in such long clauses that watching only two literals pays major dividends. 2 Notation and Basic Data Structures In CNF, the formula is a conjunction of clauses and each clause is a disjunction of literals; each literal is a propositional variable Ü or its negation Ü. We denote a clause as Õ ½ Õ ¾ Õ and a formula as ½ ¾ Ñ. An empty formula is true and, the empty clause, is false. The formula has Ò variables, Ñ clauses, and Ä (occurrences of) literals; Ñ and Ä can vary if clauses are added and deleted. We use Ä for the length of the formula. The variables of the formula are represented by positive integers, ½ Ò; negative literals are negative integers. To facilitate equivalent-literal identification, true is represented by Ò ½µ and false by Ò ½µ. Two arrays of integers record the clauses in the formula, as suggested in Figure 1. The Ð Ù Ç Ø array permits any clause to be located in constant time, given its clause number, which never changes. The clause contents are stored in Ð Ù Ä Ø ; if this array is compacted after some clauses are deleted, Ð Ù Ç Ø is updated simultaneously. Note that the clause information in Ð Ù Ä Ø is a sequence of integers interpreted as follows: ÒÏ Ø, ÐÄ Ò Ø, Ð Ø ½,, Ð Ø ÐÄ Ò Ø. The number of watched literals is ÒÏ Ø. We assume ÐÄ Ò Ø ½. Ð Ù Ç Ø ¼ ½ ¼¼¼ ¼ ½ ¾ ½¼¼½ Ð Ù Ä Ø Figure 1: Basic clause arrays for a formula of length 3000 (i.e., 3000 literal occurrences) and clauses numbered Clause 1 contains three literals (25, 14, 33) and one watched literal (25). Clause 2 contains two literals (25, 33) and two watched literals. Clause 3 has been deleted. Clause 4 contains four literals ( 25, 19, 15, 16) and two watched literals ( 25, 19). 2

3 3 The Two-Watched-Literal strategy The basic idea of the watched-literal strategy is that a watched literal is either free or bound to true. When a watched literal becomes bound to false, it ceases to be watched. For the two-watched-literal strategy, an array of lists, called, is maintained; it is indexed by literals from Ò to Ò. The list of integers Õ (usually) specifies the numbers of the clauses in which literal Õ is a watched literal. This is true as long as Õ has not been bound to false. For a normal clause, the first two literals are its watched literals, and ÒÏ Ø = 2. As variables are bound during the search, this property is maintained, if possible. Using Figure 1 as an example, suppose variable 25 is being bound to true. The list ¹¾ will contain 4, as well as other clauses where 25 is watched. Clauses in this list need to be updated, as 25 ceases to be a watched literal. We search to the right for a literal that is not false. We first find 19, so we swap 25 with 19. But this just puts 25 in the second position, where it still should be watched, so we search to right again for a literal that is not false. Suppose 15 is false, but 16 is either free or true. We swap 25 with 16, restoring the watched-literal property for the the first two literals of the rearranged clause. To complete the bookkeeping, we delete clause 4 from the list for literal 25, and insert clause 4 in the list for 16. (Note that the deletion can be accomplished in constant time because the list traversal is at the node for clause 4.) The new configuration (including ÒÏ Ø and ÐÄ Ò Ø ) is (2, 4, 19, 16, 15, 25). Now we turn to the exception. Again suppose variable 25 is being bound to true. This time, assume that 15 and 16 are both false. We still swap 25 with 19. But the second search fails. To record this, we reduce ÒÏ Ø to 1. This denotes that clause 4 is effectively a unit clause, and it implies the binding 19 = true. The configuration is: (1, 4, 19, 25, 16, 15). It might seem logical now to delete clause 4 from the list for 25, because it is no longer watched, but here is the trick: By leaving this clause in the list, when we are finished updating clauses, the list ¹¾ will contain precisely those clauses that became unit clauses as a result of binding 25 to true. In all such clauses 25 appears as the second literal. Therefore, if 25 is unbound by backtracking, the list ¹¾ contains exactly those clauses that are no longer effectively unit clauses, and 25 is instantly their second watched literal. Possibly, this is the basis for the claim by the Chaff2 authors that variable unbinding can be done in constant time. However, as we have presented the procedure, when a variable binding (say 25 = true) is retracted, to preserve the semantics of the data structure, it is necessary to visit all the clauses in ¹¾ and add 1 to ÒÏ Ø. The Chaff2 authors do not explain how they change the status of all these clauses (from unit clauses to non-unit clauses) in constant time. Also, depending on the implementation, ÒÏ Ø might be reduced to 0 when a contradiction is discovered, before conflict processing begins. Continuing with the previous example, the binding 25 = true made clause 4 into the (effectively) unit clause [ 19]. It might also produce a unit clause [19] elsewhere, and the processing of the binding 19 = true might subtract 1 again from ÒÏ Ø in clause 4. Keeping clause 4 on the list ¹½ avoids having to rebuild the list when the binding of 19 is retracted. 4 Three Watched Literals The generalization to three watched literals is straightforward. The value of ÒÏ Ø ranges from 0 to 3 instead of 0 to 2. Now, when a binding, say Õ true, causes a failing search for a replacement literal in a clause where Õ is watched and ÒÏ Ø = 3, the clause remains on the list ¹Õ and 1 is subtracted from ÒÏ Ø. This clause would be put on a list of effectively binary clauses. Similarly, if ÒÏ Ø, we know a replacement cannot 3

4 Figure 2: An in-tree without path compression to record equivalence classes. 3 is the leader of 2; 10 is the leader of 4, 8, and 9; 1, 5, 6, and 7 are their own leaders. be found, so we subtract 1 from ÒÏ Ø, leave the clause on the Õ list, and queue the clause for special processing according to its effective length. The complications arise when equivalent-literal identification is introduced. 5 Equivalent Literals and Watched Literals Equivalent-literal identification is a procedure that identifies a set of literals that must have the same truth value or else a conflict (empty clause) results. Let s assume the result is a set statements of the form Õ :=, where Õ and are literals; called the leader of the set. Of course, there is also a set containing Õ. We are not concerned with the details of this procedure. At any point in the computation, the literals of the formula are partitioned into equivalence classes, such as. Some equivalence classes contain a single literal. As the search goes forward, if the equation Ô Õ is discovered (presumably from analysis of the effectively binary clauses, but how does not matter), then the equivalence classes of Ô and Õ are merged. Upon backtracking, it becomes necessary to unequate Ô and Õ. That is, the present equivalence class containing them both has to be dissolved into the two former equivalence classes. Although very efficient data structures for going forward are known (under the names union-find, dynamic equivalence relations, path compression), we are not aware of corresponding results for backing up. An apparently satisfactory method is to simply record the previous state in the union-find data structure (essentially an in-tree embedded in an array; see Figure 2) every time a change to that structure is made going forward. If previous states are recorded in a LIFO stack, and equations are unbound in LIFO order, then backing out the changes should not cost more than installing them. One possible way to incorporate the knowledge that Õ, where is the leader of Õ s equivalence class is to replace all occurrences of Õ by (and Õ by ) throughout the formula. This is not in keeping with the spirit of the watched-literal strategy, and is likely to be expensive, so we propose a different approach. Throughout this discussion we assume that we are normally watching Ï literals, where Ï ¾. 5.1 Invariants The invariants to be maintained for each clause are the following: 1. The range for ÒÏ Ø is 0 through Ï. 2. If ÒÏ Ø =, then literals 1 through of the clause have pairwise distinct leaders and none of those leaders is bound to false. 3. If ÒÏ Ø Ï, then literals ½µ through the end of the clause either are bound to false or have the same leader as one of the literals 1 through. These invariants need to be preserved through the following kinds of operations: 1. Literal Õ, currently a leader, is bound to some other leader,. 2. Literal Õ, currently a leader, is bound to true or false. 4

5 3. Literal Õ, currently a leader, is unbound from true or false, becoming free. 4. Literal Õ, currently not a leader, is unbound from being equivalent to some other leader,, and becomes a leader. The other leader,, must be free before the unbinding. Consequently, Õ will be free after the unbinding. The procedures to preserve the invariants through these operations are described next. 5.2 Binding Operations To process the equivalence binding, Õ :=, we examine each clause in the list Õ. Let be one such clause. 1. If none of the first Ï literals of is equivalent to Õ, this is a stale entry in Õ s list and should be deleted; this is part of the lazy deletion technique discussed in Section If exactly one of of the first Ï literals of is equivalent to Õ, we simply add to (leaving on the list for Õ also). 3. If more than one of of the first Ï literals of is equivalent to Õ, we try to replace Õ with a different watched literal. First Õ is swapped to position ÒÏ Ø in the clause, the rightmost position for a watched literal. Then, we try to find a literal Ô in clause such that the leader of Ô is free or is bound to true; also the leader of Ô must be different from the leader of any currently watched literal in. (a) If this succeeds, we swap Õ and Ô; we are done with for now and delete it from Õ s list, while inserting it into the lists for Ô and the leader of Ô, if Ô is not a leader. (b) If no such replacement literal can be found, we subtract 1 from ÒÏ Ø and leave on the list for Õ. In addition is inserted in a list of short clauses. We assume that clauses of lengths less than Ï receive special processing, otherwise there is no reason to watch Ï literals. The details of how short clauses are managed depends on the algorithm; we only require that the clauses that shrank in their number of watched literals as a result of this equivalence binding can be identified efficiently when the binding is retracted. However, if ÒÏ Ø Ï at the beginning of the operation, the search for a replacement must fail and can be skipped; item (3b) can be executed immediately. Finally, since Õ is not a leader, it is not considered for future branching. Only variables that are leaders are eligible to be bound to true or false. Say Õ is being bound to false, either because it was derived as a unit clause or it is being branched upon. Let us consider the updating procedure for the watched literals. Each clause in Õ is visited. First, if none of the first Ï literals is equivalent to Õ, is a stale entry in Õ s list and should be deleted; this is part of the lazy deletion technique discussed in Section 5.3. Now suppose that one or more of the first Ï literals is equivalent to Õ. As described above under equivalence binding, if ÒÏ Ø = Ï, we try to find a new literal Ô to watch; if we succeed we can delete from Õ s list and insert on the list for Ô and on the list for the leader of Ô, if Ô is not a leader. Suppose this effort fails, or ÒÏ Ø Ï so we know it must fail. Then we subtract 1 from ÒÏ Ø and leave in Õ s list. One of the themes of the literal-watching strategy is that the expensive operations are efficient in their cache usage [MMZ 01]. Our proposal tries to continue with this theme. Notice that a potentially expensive part of the update operations just described consists of searching through the clause literals for replacements, when the clause is very long, as is typical for postorder lemmas. However, because this searching uses contiguous memory, a high cache hit rate may be expected. Simultaneously, the search needs to check entries in the equivalence data structure, which is something like Figure 2. Here the cache usage is probably less favorable, but the entire structure is Ò integers, a fair portion of which might live in the cache. We do not presently have tools to measure cache usage. 5

6 5.3 Unbinding and Lazy Deletion We now turn to the requirements for retracting a binding. Say the binding Õ false is being retracted. We know that all clauses on the list Õ have ÒÏ Ø Ï. For simplicity and safety we visit each and add 1 to ÒÏ Ø. The list resumes its usual function of identifying those clauses in which Õ, or something equivalent to Õ, is being watched. Say the equivalence binding Õ := is being retracted. Possibly the clauses in Õ should no longer be in. However, can contain many clauses other than those that were added when the equivalence binding Õ := was processed going forward. It would be quite inefficient to search for those that need to be deleted. Instead we adopt a lazy deletion technique. We leave the incorrect clauses in for the time being, and we wait until the next time we traverse the list to find them and delete them. Such incorrect entries in the list are called stale. Since must be free and a leader at the time Õ := was bound going forward, the same is true at the time it is being retracted. Thus the next time the list is traversed, it will be for some kind of binding to going forward (either false or := some other leader). During this traversal, stale list entries can be detected and deleted. For all clauses whose value of ÒÏ Ø decreased due to the binding Õ :=, as described in Section 5.2, item (3b), their ÒÏ Ø is now increased by 1 to cancel the decrease. We assume some kind of short clause lists identify these clauses. 5.4 A Partial Example We begin the example with a configuration slightly different from Figure 1. Recall that the clause format is ÒÏ Ø, ÐÄ Ò Ø, Ð Ø ½,. Only a few clauses are shown and only the relevant list entries are shown. clause information leader Assume the equivalence binding 25 := 15 occurs. This causes ½ and ¹½ to receive the clauses in which 25 or 25 was being watched. clause information leader Now assume these equivalence bindings occur: 19 := 10; 16 := 10; 15 := 10. The first binding causes clause 4 to be inserted in the list for 10 because clause 4 is on the list for 19 and 10 is not equivalent to 25 at this point. The second binding does not change this part of the data structure. The third binding affects clause 4 even though 15 is not watched because an earlier equivalence put clause 4 on the list for 15. But now all the literals in clause 4 have leader 10, so they are all equivalent. Consequently, ÒÏ Ø is decreased by 1 and clause 4 is inserted in the short clause list for the binding 15 := 10. In addition, clauses 1 and 2 are inserted in the list for 10. 6

7 clause information leader Next, literal 10 is bound to true because clause 4 is effectively a unit clause. But clauses 1 and 2 are on the list for 10 so clause 2 becomes a unit clause for 33 and in clause 1 the literal 25 replaced by 33 as a watched literal. Notice that clause 1 is removed from the list for 10, because that list is being traversed, but it remains in the lists for 15 and 25. Also notice that clause 1 is not removed from the list for 10, because it contains fewer than Ï watched literals. clause information leader By further unit propagation of 33, clause 1 becomes a unit clause for 14. Now let us trace what happens as the above bindings are retracted. Unbinding 14 and 33 reverts to the above diagram. As 10 is unbound the clauses in the list for 10 have their values of ÒÏ Ø increased by 1. Then 15 is unbound from its equivalence to 10. This means that clause 4 becomes a stale entry in the list for 10. We are not confident that all stale entries will be at the beginning of the list for 10, and we do not want to search for them, so they are allowed to remain. The short clause list for the binding being retracted tells us that clause 4 needs to have ÒÏ Ø increased by 1. The bindings 16 := 10 and 19 := 10 are retracted next. Now the state is: clause information leader Notice that retracting 15 := 10 caused the leader of 25 to revert to 15. If path compression is used for equivalences, then a journal/rollback strategy [VGT96] is needed to allow path decompression, so earlier leaders can be recovered. Also notice the stale entries in the lists for 10 and 10. If the binding 25 := 15 is retracted, there will be three more stale entries in the lists for 15 and 15. These stale entries will be lazily deleted the next time each list is traversed as part of a new binding operation. 5.5 Cost of Operations To summarize, the watched-literal strategy in the presence of literal equivalences requires finding the leader of a literal (the find operation) in many situations. Roughly speaking, the costs of operations are multiplied by the cost of finding leaders, compared to an environment without literal equivalences. This cost can be held to a near-constant per find by using the path compression strategy and in-trees, but the constant factor is substantial, possibly 5 to 50. For this to pay off, literal equivalences have to bring about large reductions in the search space. There is some evidence for this [VGT96, Li00], but it has to be re-evaluated in the context of postorder lemmas. 7

8 We also observe that several operations involving a watched literal require checking each of the other watched literals in the clause. This cost is proportional to Ï ½. In practice Ï is either 2 or 3, so this part of the cost is about double for three watched literals, compared to two. 6 Conclusion The procedures described have been implemented using a two-literal watching policy and equivalent literal processing. However, the clauses supervised under this policy are only those derived as postorder lemmas (i.e., as the result of conflicts). The original formula is handled by older methods. The implementation is grafted onto an existing program, ¾ÐÎ Ê which is described in greater detail in a companion paper [VG02]. The situation in which watching only two literals pays greatest dividends is when very long clauses are present. Postorder lemmas tend to be long clauses. The most important statement we can make at this time is that the method works correctly in hundreds of tests. The performance is satisfactory in terms of time, but there is nothing with which to make a direct comparison. The bottlenecks for the ¾ÐÎ Ê program are elsewhere: the memory use is too high due to keeping too many postorder lemmas, and the time is too great due to inefficiencies in binary clause processing. One of the purposes of preparing this report is to assist other researchers to incorporate the literal-watching strategy in environments that perform equivalent-literal processing (e.g., [Li00]), hopefully starting from a better base than we did. Acknowledgments This work was supported in part by NSF grants CCR and CCR References [BS92] [BS97] [DE92] [DLL62] A. Billionnet and A. Sutter. An efficient algorithm for the 3-satisfiability problem. Operations Research Letters, 12:29 36, July R. J. Bayardo, Jr. and R. C. Schrag. Using CSP look-back techniques to solve real-world SAT instances. In Proceedings Fourteenth National Conference on Artificial Intelligence (AAAI-97), pages , M. Dalal and D. Etherington. A hierarchy of tractable satisfiability problems. Information Processing Letters, 44: , December M. Davis, G. Logemann, and D. Loveland. A machine program for theorem-proving. Communications of the ACM, 5: , [Li00] C. M. Li. Integrating equivalency reasoning into davis-putnam procedure. In AAAI, [MMZ 01] M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In 39th Design Automation Conference, June [Pre95] D. Pretolani. Efficiency and stability of hypergraph SAT algorithms. In D. S. Johnson and M. Trick, editors, Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge., DIMACS Series in Discrete Mathematics and Theoretical Computer Science. American Mathematical Society,

9 [SS96] [VG02] J. P. Silva and K. A. Sakallah. GRASP a new search algorithm for satisfiability. In Proc. IEEE/ACM Int l Conf. on Computer-Aided Design, pages IEEE Comput. Soc. Press, Allen Van Gelder. Extracting (easily) checkable proofs from a satisfiability solver that employs both preorder and postorder resolution. In Seventh Int l Symposium on AI and Mathematics, Ft. Lauderdale, FL, (Also available at ØÔ»» ØÔº ºÙ º Ù»ÔÙ» Ú» » عÔÖ ¹ÔÓ ØºÔ º Þ.). [VGT96] A. Van Gelder and Y. K. Tsuji. Satisfiability testing with more reasoning and less guessing. In D. S. Johnson and M. Trick, editors, Cliques, Coloring, and Satisfiability: Second DIMACS Implementation Challenge., DIMACS Series in Discrete Mathematics and Theoretical Computer Science. American Mathematical Society, (also at ØÔ»» ØÔº ºÙ º Ù»ÔÙ» Ú» ÐÓ ¹ØÖºÔ º ). [Zha97] H. Zhang. SATO: An efficient propositional prover. In 14th International Conference on Automated Deduction, pages , [ZMMM01] L. Zhang, C. Madigan, M. Moskewicz, and S. Malik. Efficient conflict driven learning in a boolean satisfiability solver. In ICCAD, Nov

Extracting (Easily) Checkable Proofs from a Satisfiability Solver that Employs both Preorder and Postorder Resolution

Extracting (Easily) Checkable Proofs from a Satisfiability Solver that Employs both Preorder and Postorder Resolution Extracting (Easily) Checkable Proofs from a Satisfiability Solver that Employs both Preorder and Postorder Resolution Allen Van Gelder 237 B.E., University of California, Santa Cruz, CA 95064 E-mail avg@cs.ucsc.edu.

More information

Normal Forms for Boolean Expressions

Normal Forms for Boolean Expressions Normal Forms for Boolean Expressions A NORMAL FORM defines a class expressions s.t. a. Satisfy certain structural properties b. Are usually universal: able to express every boolean function 1. Disjunctive

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

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

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

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

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

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

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

On Computing Minimum Size Prime Implicants

On Computing Minimum Size Prime Implicants On Computing Minimum Size Prime Implicants João P. Marques Silva Cadence European Laboratories / IST-INESC Lisbon, Portugal jpms@inesc.pt Abstract In this paper we describe a new model and algorithm for

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

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

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

Boolean Satisfiability Solving Part II: DLL-based Solvers. Announcements

Boolean Satisfiability Solving Part II: DLL-based Solvers. Announcements EECS 219C: Computer-Aided Verification Boolean Satisfiability Solving Part II: DLL-based Solvers Sanjit A. Seshia EECS, UC Berkeley With thanks to Lintao Zhang (MSR) Announcements Paper readings will be

More information

On Resolution Proofs for Combinational Equivalence Checking

On Resolution Proofs for Combinational Equivalence Checking On Resolution Proofs for Combinational Equivalence Checking Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

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

of m clauses, each containing the disjunction of boolean variables from a nite set V = fv 1 ; : : : ; vng of size n [8]. Each variable occurrence with

of m clauses, each containing the disjunction of boolean variables from a nite set V = fv 1 ; : : : ; vng of size n [8]. Each variable occurrence with A Hybridised 3-SAT Algorithm Andrew Slater Automated Reasoning Project, Computer Sciences Laboratory, RSISE, Australian National University, 0200, Canberra Andrew.Slater@anu.edu.au April 9, 1999 1 Introduction

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

Conditions for Non-Chronological Backtracking in Boolean Optimization

Conditions for Non-Chronological Backtracking in Boolean Optimization Conditions for Non-Chronological Backtracking in Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical

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

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

Search Pruning Conditions for Boolean Optimization

Search Pruning Conditions for Boolean Optimization Search Pruning Conditions for Boolean Optimization Vasco M. Manquinho vmm@algos.inesc.pt Polytechnical Institute of Portalegre Portalegre, Portugal João Marques-Silva jpms@inesc.pt Technical University

More information

On the Relation between SAT and BDDs for Equivalence Checking

On the Relation between SAT and BDDs for Equivalence Checking On the Relation between SAT and BDDs for Equivalence Checking Sherief Reda 1 Rolf Drechsler 2 Alex Orailoglu 1 1 Computer Science & Engineering Department University of California, San Diego La Jolla,

More information

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability

An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability An Experimental Evaluation of Conflict Diagnosis and Recursive Learning in Boolean Satisfiability Fadi A. Aloul and Karem A. Sakallah Department of Electrical Engineering and Computer Science University

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

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

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

Verification of Proofs of Unsatisfiability for CNF Formulas

Verification of Proofs of Unsatisfiability for CNF Formulas Verification of Proofs of Unsatisfiability for CNF Formulas Evgueni Goldberg Cadence Berkeley Labs (USA), Email: egold@cadence.com Yakov Novikov The United Institute of Informatics Problems, National Academy

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

Chapter 2 PRELIMINARIES

Chapter 2 PRELIMINARIES 8 Chapter 2 PRELIMINARIES Throughout this thesis, we work with propositional or Boolean variables, that is, variables that take value in the set {true, false}. A propositional formula F representing a

More information

3 No-Wait Job Shops with Variable Processing Times

3 No-Wait Job Shops with Variable Processing Times 3 No-Wait Job Shops with Variable Processing Times In this chapter we assume that, on top of the classical no-wait job shop setting, we are given a set of processing times for each operation. We may select

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

Watching Clauses in Quantified Boolean Formulae

Watching Clauses in Quantified Boolean Formulae 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

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT

NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT NP-Completeness of 3SAT, 1-IN-3SAT and MAX 2SAT 3SAT The 3SAT problem is the following. INSTANCE : Given a boolean expression E in conjunctive normal form (CNF) that is the conjunction of clauses, each

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

ON SOLVING OPTIMIZATION PROBLEMS USING BOOLEAN SATISFIABILITY

ON SOLVING OPTIMIZATION PROBLEMS USING BOOLEAN SATISFIABILITY ON SOLVING OPTIMIZATION PROBLEMS USING BOOLEAN SATISFIABILITY Fadi A. Aloul American University of Sharjah Department of Computer Engineering P.O. Box 26666, Sharjah, UAE faloul@ausharjah.edu ABSTRACT

More information

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms

Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Efficiency versus Convergence of Boolean Kernels for On-Line Learning Algorithms Roni Khardon Tufts University Medford, MA 02155 roni@eecs.tufts.edu Dan Roth University of Illinois Urbana, IL 61801 danr@cs.uiuc.edu

More information

1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses

1.4 Normal Forms. We define conjunctions of formulas as follows: and analogously disjunctions: Literals and Clauses 1.4 Normal Forms We define conjunctions of formulas as follows: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n i=1 F i F n+1. and analogously disjunctions: 0 i=1 F i =. 1 i=1 F i = F 1. n+1 i=1 F i = n

More information

The Impact of Branching Heuristics in Propositional Satisfiability Algorithms

The Impact of Branching Heuristics in Propositional Satisfiability Algorithms The Impact of Branching Heuristics in Propositional Satisfiability Algorithms João Marques-Silva Technical University of Lisbon, IST/INESC, Lisbon, Portugal jpms@inesc.pt URL: http://algos.inesc.pt/~jpms

More information

Adding New Bi-Asserting Clauses for Faster Search in Modern SAT Solvers

Adding New Bi-Asserting Clauses for Faster Search in Modern SAT Solvers Proceedings of the Tenth Symposium on Abstraction, Reformulation, and Approximation Adding New Bi-Asserting Clauses for Faster Search in Modern SAT Solvers Saïd Jabbour 1 and Jerry Lonlac 1,2 and Lakhdar

More information

Scan Scheduling Specification and Analysis

Scan Scheduling Specification and Analysis Scan Scheduling Specification and Analysis Bruno Dutertre System Design Laboratory SRI International Menlo Park, CA 94025 May 24, 2000 This work was partially funded by DARPA/AFRL under BAE System subcontract

More information

On Resolution Proofs for Combinational Equivalence

On Resolution Proofs for Combinational Equivalence 33.4 On Resolution Proofs for Combinational Equivalence Satrajit Chatterjee Alan Mishchenko Robert Brayton Department of EECS U. C. Berkeley {satrajit, alanmi, brayton}@eecs.berkeley.edu Andreas Kuehlmann

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

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

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

Enhancing Davis Putnam with Extended Binary Clause Reasoning

Enhancing Davis Putnam with Extended Binary Clause Reasoning From: AAAI-02 Proceedings. Copyright 2002, AAAI (www.aaai.org). All rights reserved. Enhancing Davis Putnam with Extended Binary Clause Reasoning Fahiem Bacchus Dept. Of Computer Science University Of

More information

A Novel SAT All-Solutions Solver for Efficient Preimage Computation

A Novel SAT All-Solutions Solver for Efficient Preimage Computation A Novel SAT All-Solutions Solver for Efficient Preimage Computation Bin Li Department of ECE Virginia Tech. Blacksburg, VA, 24061 Michael S. Hsiao Department of ECE Virginia Tech. Blacksburg, VA, 24061

More information

Lecture 4 Searching Arrays

Lecture 4 Searching Arrays Lecture 4 Searching Arrays 15-122: Principles of Imperative Computation (Spring 2018) Frank Pfenning One of the fundamental and recurring problems in computer science is to find elements in collections,

More information

Lecture Notes on Linear Search

Lecture Notes on Linear Search Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 28, 2014 1 Introduction One of the fundamental and recurring problems in computer science is

More information

Handout 9: Imperative Programs and State

Handout 9: Imperative Programs and State 06-02552 Princ. of Progr. Languages (and Extended ) The University of Birmingham Spring Semester 2016-17 School of Computer Science c Uday Reddy2016-17 Handout 9: Imperative Programs and State Imperative

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

Seminar decision procedures: Certification of SAT and unsat proofs

Seminar decision procedures: Certification of SAT and unsat proofs Seminar decision procedures: Certification of SAT and unsat proofs Wolfgang Nicka Technische Universität München June 14, 2016 Boolean satisfiability problem Term The boolean satisfiability problem (SAT)

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

Search techniques for SAT-based Boolean optimization

Search techniques for SAT-based Boolean optimization Journal of the Franklin Institute ] (]]]]) ]]] ]]] www.elsevier.com/locate/jfranklin Search techniques for SAT-based Boolean optimization Fadi A. Aloul Department of Computer Engineering, American University

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

Solving Satisfiability with a Novel CPU/GPU Hybrid Solution

Solving Satisfiability with a Novel CPU/GPU Hybrid Solution Solving Satisfiability with a Novel CPU/GPU Hybrid Solution Cas Craven, Bhargavi Narayanasetty, Dan Zhang Department of Electrical & Computer Engineering University of Texas, Austin, TX 78705 {dcraven,

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

A proof-producing CSP solver: A proof supplement

A proof-producing CSP solver: A proof supplement A proof-producing CSP solver: A proof supplement Report IE/IS-2010-02 Michael Veksler Ofer Strichman mveksler@tx.technion.ac.il ofers@ie.technion.ac.il Technion Institute of Technology April 12, 2010 Abstract

More information

Computer-Aided Program Design

Computer-Aided Program Design Computer-Aided Program Design Spring 2015, Rice University Unit 1 Swarat Chaudhuri January 22, 2015 Reasoning about programs A program is a mathematical object with rigorous meaning. It should be possible

More information

Finding Rough Set Reducts with SAT

Finding Rough Set Reducts with SAT Finding Rough Set Reducts with SAT Richard Jensen 1, Qiang Shen 1 and Andrew Tuson 2 {rkj,qqs}@aber.ac.uk 1 Department of Computer Science, The University of Wales, Aberystwyth 2 Department of Computing,

More information

Structure and Complexity in Planning with Unary Operators

Structure and Complexity in Planning with Unary Operators Structure and Complexity in Planning with Unary Operators Carmel Domshlak and Ronen I Brafman ½ Abstract In this paper we study the complexity of STRIPS planning when operators have a single effect In

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

CS-E3200 Discrete Models and Search

CS-E3200 Discrete Models and Search Shahab Tasharrofi Department of Information and Computer Science, Aalto University Lecture 7: Complete and local search methods for SAT Outline Algorithms for solving Boolean satisfiability problems Complete

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

New Worst-Case Upper Bound for #2-SAT and #3-SAT with the Number of Clauses as the Parameter

New Worst-Case Upper Bound for #2-SAT and #3-SAT with the Number of Clauses as the Parameter Proceedings of the Twenty-Fourth AAAI Conference on Artificial Intelligence (AAAI-10) New Worst-Case Upper Bound for #2-SAT and #3-SAT with the Number of Clauses as the Parameter Junping Zhou 1,2, Minghao

More information

SFU CMPT Lecture: Week 8

SFU CMPT Lecture: Week 8 SFU CMPT-307 2008-2 1 Lecture: Week 8 SFU CMPT-307 2008-2 Lecture: Week 8 Ján Maňuch E-mail: jmanuch@sfu.ca Lecture on June 24, 2008, 5.30pm-8.20pm SFU CMPT-307 2008-2 2 Lecture: Week 8 Universal hashing

More information

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989

P Is Not Equal to NP. ScholarlyCommons. University of Pennsylvania. Jon Freeman University of Pennsylvania. October 1989 University of Pennsylvania ScholarlyCommons Technical Reports (CIS) Department of Computer & Information Science October 1989 P Is Not Equal to NP Jon Freeman University of Pennsylvania Follow this and

More information

Finite Model Generation for Isabelle/HOL Using a SAT Solver

Finite Model Generation for Isabelle/HOL Using a SAT Solver Finite Model Generation for / Using a SAT Solver Tjark Weber webertj@in.tum.de Technische Universität München Winterhütte, März 2004 Finite Model Generation for / p.1/21 is a generic proof assistant: Highly

More information

Satisfiability-Based Algorithms for 0-1 Integer Programming

Satisfiability-Based Algorithms for 0-1 Integer Programming Satisfiability-Based Algorithms for 0-1 Integer Programming Vasco M. Manquinho, João P. Marques Silva, Arlindo L. Oliveira and Karem A. Sakallah Cadence European Laboratories / INESC Instituto Superior

More information

Binary Decision Diagrams

Binary Decision Diagrams Logic and roof Hilary 2016 James Worrell Binary Decision Diagrams A propositional formula is determined up to logical equivalence by its truth table. If the formula has n variables then its truth table

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

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

A Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable

A Simplied NP-complete MAXSAT Problem. Abstract. It is shown that the MAX2SAT problem is NP-complete even if every variable A Simplied NP-complete MAXSAT Problem Venkatesh Raman 1, B. Ravikumar 2 and S. Srinivasa Rao 1 1 The Institute of Mathematical Sciences, C. I. T. Campus, Chennai 600 113. India 2 Department of Computer

More information

SAT Solvers: A Condensed History. Sharad Malik Princeton University COS 598d 3/1/2010

SAT Solvers: A Condensed History. Sharad Malik Princeton University COS 598d 3/1/2010 SAT Solvers: A Condensed History Sharad Malik Princeton University COS 598d 3/1/2010 Where are we today? Intractability of the problem no longer daunting Can regularly handle practical instances with millions

More information

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables

Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Disjoint, Partition and Intersection Constraints for Set and Multiset Variables Christian Bessiere ½, Emmanuel Hebrard ¾, Brahim Hnich ¾, and Toby Walsh ¾ ¾ ½ LIRMM, Montpelier, France. Ö Ð ÖÑÑ Ö Cork

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

A Model-Theoretic Counterpart of Loop Formulas

A Model-Theoretic Counterpart of Loop Formulas A Model-Theoretic Counterpart of Loop Formulas Joohyung Lee Department of Computer Sciences The University of Texas at Austin Austin, TX 78712, USA appsmurf@cs.utexas.edu Abstract In an important recent

More information

Random backtracking in backtrack search algorithms for satisfiability

Random backtracking in backtrack search algorithms for satisfiability Discrete Applied Mathematics 155 (2007) 1604 1612 www.elsevier.com/locate/dam Random backtracking in backtrack search algorithms for satisfiability I. Lynce, J. Marques-Silva Technical University of Lisbon,

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

Planning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action.

Planning as Search. Progression. Partial-Order causal link: UCPOP. Node. World State. Partial Plans World States. Regress Action. Planning as Search State Space Plan Space Algorihtm Progression Regression Partial-Order causal link: UCPOP Node World State Set of Partial Plans World States Edge Apply Action If prec satisfied, Add adds,

More information

CSc Parallel Scientific Computing, 2017

CSc Parallel Scientific Computing, 2017 CSc 76010 Parallel Scientific Computing, 2017 What is? Given: a set X of n variables, (i.e. X = {x 1, x 2,, x n } and each x i {0, 1}). a set of m clauses in Conjunctive Normal Form (CNF) (i.e. C = {c

More information

SAT-CNF Is N P-complete

SAT-CNF Is N P-complete SAT-CNF Is N P-complete Rod Howell Kansas State University November 9, 2000 The purpose of this paper is to give a detailed presentation of an N P- completeness proof using the definition of N P given

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

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling

Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Competitive Analysis of On-line Algorithms for On-demand Data Broadcast Scheduling Weizhen Mao Department of Computer Science The College of William and Mary Williamsburg, VA 23187-8795 USA wm@cs.wm.edu

More information

Deductive Methods, Bounded Model Checking

Deductive Methods, Bounded Model Checking Deductive Methods, Bounded Model Checking http://d3s.mff.cuni.cz Pavel Parízek CHARLES UNIVERSITY IN PRAGUE faculty of mathematics and physics Deductive methods Pavel Parízek Deductive Methods, Bounded

More information

Using Problem Symmetry in Search Based Satisfiability Algorithms. Mukul R. Prasad Fujitsu Labs. of America Sunnyvale, CA

Using Problem Symmetry in Search Based Satisfiability Algorithms. Mukul R. Prasad Fujitsu Labs. of America Sunnyvale, CA Using Problem Symmetry in Search Based Satisfiability Algorithms Evgueni I. Goldberg Cadence Berkeley Laboratories Berkeley, CA egold@cadence.com Mukul R. Prasad Fujitsu Labs. of America Sunnyvale, CA

More information

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

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

Answer Set Programming with Clause Learning

Answer Set Programming with Clause Learning Answer Set Programming with Clause Learning Jeffrey Ward 1 and John S. Schlipf 2 1 The Ohio State University jward@ececs.uc.edu 2 University of Cincinnati, USA john.schlipf@uc.edu Abstract. A conflict

More information

Research on Modeling Method for Constraint Inference

Research on Modeling Method for Constraint Inference A publication of CHEMICAL ENGINEERING TRANSACTIONS VOL. 33, 2013 Guest Editors: Enrico Zio, Piero Baraldi Copyright 2013, AIDIC Servizi S.r.l., ISBN 978-88-95608-24-2; ISSN 1974-9791 The Italian Association

More information

Lecture 1 Contracts : Principles of Imperative Computation (Fall 2018) Frank Pfenning

Lecture 1 Contracts : Principles of Imperative Computation (Fall 2018) Frank Pfenning Lecture 1 Contracts 15-122: Principles of Imperative Computation (Fall 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,

More information

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 9 Normal Forms

Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras. Lecture - 9 Normal Forms Mathematical Logic Prof. Arindama Singh Department of Mathematics Indian Institute of Technology, Madras Lecture - 9 Normal Forms In the last class we have seen some consequences and some equivalences,

More information

PCP and Hardness of Approximation

PCP and Hardness of Approximation PCP and Hardness of Approximation January 30, 2009 Our goal herein is to define and prove basic concepts regarding hardness of approximation. We will state but obviously not prove a PCP theorem as a starting

More information

Alphanumeric Divisibility

Alphanumeric Divisibility Alphanumeric Divisibility Robert Israel, University of British Columbia, israel@math.ubc.ca Stan Wagon, Macalester College, wagon@macalester.edu [Corresponding author] Take a word using at most 10 letters,

More information

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1

(a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are rational they can be written as the ratio of integers a 1 CS 70 Discrete Mathematics for CS Fall 2000 Wagner MT1 Sol Solutions to Midterm 1 1. (16 pts.) Theorems and proofs (a) (4 pts) Prove that if a and b are rational, then ab is rational. Since a and b are

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

CafeSat: A Modern SAT Solver for Scala

CafeSat: A Modern SAT Solver for Scala CafeSat: A Modern SAT Solver for Scala Régis Blanc École Polytechnique Fédérale de Lausanne (EPFL), Switzerland regis.blanc@epfl.ch July 30, 2013 Abstract We present CafeSat, a SAT solver written in the

More information

Lecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning

Lecture 1 Contracts. 1 A Mysterious Program : Principles of Imperative Computation (Spring 2018) Frank Pfenning Lecture 1 Contracts 15-122: Principles of Imperative Computation (Spring 2018) Frank Pfenning In these notes we review contracts, which we use to collectively denote function contracts, loop invariants,

More information

Polynomial SAT-Solver Algorithm Explanation

Polynomial SAT-Solver Algorithm Explanation 1 Polynomial SAT-Solver Algorithm Explanation by Matthias Mueller (a.k.a. Louis Coder) louis@louis-coder.com Explanation Version 1.0 - December 1, 2013 Abstract This document describes an algorithm that

More information