Generalizations of Watched Literals for Backtracking Search
|
|
- August Parrish
- 6 years ago
- Views:
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 Allen Van Gelder 237 B.E., University of California, Santa Cruz, CA 95064 E-mail avg@cs.ucsc.edu.
More informationNormal 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 informationUnrestricted 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 informationSAT 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 informationBetter 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 information4.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 informationAn 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 informationA 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 informationSatisfiability 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 informationOn 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 informationConstraint 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 informationEECS 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 informationEECS 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 informationBoolean 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 informationOn 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 informationUnrestricted 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 informationof 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 informationFull 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 informationConditions 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 informationLearning 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 informationSAT/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 informationSearch 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 informationOn 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 informationAn 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 informationBoolean 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 informationPROPOSITIONAL 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 informationImproving 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 informationVerification 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 informationValidating 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 informationChapter 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 information3 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 informationA 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 informationWatching 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 informationExact 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 informationNP-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 informationMulti 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 informationON 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 informationEfficiency 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 information1.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 informationThe 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 informationAdding 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 informationScan 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 informationOn 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 informationSymbolic 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 informationUnit 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 informationHeuristic 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 informationEnhancing 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 informationA 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 informationLecture 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 informationLecture 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 informationHandout 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 informationLinear 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 informationSeminar 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 informationSolving 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 informationSearch 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 information1 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 informationSolving 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 informationCS-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 informationA 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 informationComputer-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 informationFinding 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 informationStructure 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 informationImproved 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 informationCS-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 informationImplementation 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 informationNew 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 informationSFU 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 informationP 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 informationFinite 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 informationSatisfiability-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 informationBinary 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 informationMassively 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 informationClone: 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 informationA 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 informationSAT 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 informationDisjoint, 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 informationBoolean 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 informationA 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 informationRandom 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 informationChaff: 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 informationPlanning 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 informationCSc 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 informationSAT-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 informationAdding 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 informationCompetitive 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 informationDeductive 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 informationUsing 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 informationTowards 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 informationExample 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 informationAnswer 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 informationResearch 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 informationLecture 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 informationMathematical 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 informationPCP 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 informationAlphanumeric 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
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 informationPractical 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 informationCafeSat: 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 informationLecture 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 informationPolynomial 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