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

Size: px
Start display at page:

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

Transcription

1 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 Saïs 1 1 CRIL, Univ. Artois - CNRS rue Jean Souvraz SP-18 F Lens Cedex France 2 Département Informatique - Univ. Yaoundé1 B.P. 812 Yaoundé, Cameroun {jabbour, lonlac, sais}@cril.fr Abstract In this paper, a new approach for clauses learning is proposed. By traversing the implication graph separately from x and x, we derive a new class of biasserting clauses that can lead to a more compact implication graph. These new kinds of bi-asserting clauses are much shorter and tend to induce more implications than the classical bi-asserting clauses. Experimental results show that exploiting this new class of bi-asserting clauses improves the performance of state-of-the-art SAT solvers particularly on crafted instances. Introduction The SAT problem, i.e., the problem of checking whether a Boolean formula in conjunctive normal form (CNF) is satisfiable or not, is central to many domains in computer science and artificial intelligence including constraint satisfaction problems (CSP), automated planning, non-monotonic reasoning, VLSI correctness checking, etc. Today, SAT has gained a considerable audience with the advent of a new generation of solvers able to solve large instances encoding real-world problems, and the demonstration that these solvers represent important low-level building blocks for many important fields, e.g., SAT modulo theory, Theorem proving, Model checking, Quantified boolean formulas, Maximum Satisfiability, Pseudo boolean, etc. These solvers, often called modern SAT solvers (Moskewicz et al. 2001; Eën and Sörensson 2002), are based on classical unit propagation (Davis, Logemann, and Loveland 1962) efficiently combined through incremental data structures with: (i) restart policies (Gomes, Selman, and Kautz 1998; Kautz et al. 2002), (ii) activity-based variable selection heuristics (VSIDS-like) (Moskewicz et al. 2001), and (iii) clause learning (Marques-Silva and Sakallah 1996; Bayardo, Jr. and Schrag 1997; Moskewicz et al. 2001). Clause learning is now recognized as one of the most important component of Modern SAT solvers. These Modern SAT solvers can be seen as an extended version of the well known DPLL-like procedure (Davis, Logemann, and Loveland 1962) obtained thanks to these different enhancements. The algorithm for deriving clauses from conflicts in these Copyright c 2013, Association for the Advancement of Artificial Intelligence ( All rights reserved. SAT solvers is based on using an important data structure, called implication graph (Marques-Silva and Sakallah 1996; Moskewicz et al. 2001). It is important to note that the well known resolution rule still plays a strong role in the efficiency of modern SAT solvers. Theoretically, by integrating clause learning to DPLL-like procedures (Davis, Logemann, and Loveland 1962), the obtained SAT solver formulated as a proof system is shown to be as powerful as general resolution (Pipatsrisawat and Darwiche 2009; 2010). A new class of asserting clauses called bi-asserting clauses which is a relaxation of asserting clauses was proposed in (Pipatsrisawat and Darwiche 2008). These biasserting clauses allow to discover implications missed by classical asserting clauses. It is defined in a similar way as an asserting clause. An asserting clause contains exactly one literal from the conflict level while a bi-asserting clause contains exactly two literals from the conflict level. For more details about classical bi-asserting clauses, we refer the reader to (Pipatsrisawat and Darwiche 2008). The approach proposed in this paper, is based on separated conflict analysis. Indeed, by traversing the implication graph separately from x and x, we derive a new class of biasserting clauses. These clauses differ from those proposed by Pipatsrisawat and Darwiche (Pipatsrisawat and Darwiche 2008) as they are not conflict clauses i.e. satisfied by the current partial interpretation. These clauses can not be derived by traditional traversal of the implication graph. Moreover, our bi-asserting clauses can be used to compact the implication graph. These new bi-asserting clauses are much shorter and tend to induce more implications than the classical biasserting clauses. The paper is organized as follows. After some preliminary definitions and notations, and some technical background about SAT solvers, we present our approach. Finally, before the conclusion, experimental results demonstrating the feasibility of our approach are presented. Technical background Preliminary definitions and notations A CNF formula F is a conjunction of clauses, where a clause is a disjunction of literals. A literal is a positive (x) or negated ( x) propositional variable. The two literals x 66

2 and x are called complementary. We note by l the complementary literal of l. For a set of literals L, L is defined as { l l L}. Aunit clause is a clause containing only one literal (called unit literal), while a binary clause contains exactly two literals. An empty clause, noted, is interpreted as false (unsatisfiable), whereas an empty CNF formula, noted, is interpreted as true (satisfiable). The set of variables occurring in F is noted V F. A set of literals is complete if it contains one literal for each variable in V F, and fundamental if it does not contain complementary literals. An assignment ρ of a Boolean formula F is function which associates a value ρ(x) {false,true} to some of the variables x V F. ρ is complete if it assigns a value to every x V F, and partial otherwise. An assignment is alternatively represented by a fundamental set of literals, in the obvious way. A model of a formula F is an assignment ρ that makes the formula true; noted ρ = Σ.ASAT problem consists in deciding if a given CNF formula F admits a model or not. We denote by η[x, c i,c j ] the resolvent between a clause c i containing the literal x and c j a clause containing the opposite literal x. In other words η[x, c i,c j ]=c i c j \{x, x}. We denote by F x the formula obtained from F by assigning x the truth-value true. Formally F x = {c c F, {x, x} c = } {c\{ x} c F, x c} (that is: the clauses containing x are therefore satisfied and removed; and those containing x are simplified). We define F as the formula F closed under unit propagation, defined recursively as follows: (1) F = F if F does not contain any unit clause, (2) F = if F contains two unit-clauses {x} and { x}, (3) otherwise, F =(F x ) where x is the literal appearing in a unit clause of F. A clause c is deduced by unit propagation from F, noted F c,if(f c ) =. DPLL search DPLL (Davis, Logemann, and Loveland 1962) is a treebased backtrack search procedure; at each node of the search tree, the assigned literals (decision literal and the propagated ones) are labeled with the same decision level starting from 1 and increased at each decision (or branching). After backtracking, some variables are unassigned, and the current decision level is decreased accordingly. At level i, the current partial assignment ρ can be represented as a sequence of decision-propagation of the form (x i k ),xi k 1,x i k 2,...,x i k nk where the first literal x i k in parenthesis corresponds to the decision literal x k assigned at level i and each x i k j for 1 j n k represents unit propagated literals at level i. Let x ρ, we note l(x) the assignment level of x. For a clause α, l(α) is defined as the maximum level of its assigned literals. Conflict analysis using implication graphs Implication graphs is a standard representation conveniently used to analyze conflicts in modern SAT solvers. Whenever a literal y is propagated, we keep a reference to the clause which triggers the propagation of y, which we note imp(y). The clause imp(y), called implication of y, is in this case of the form (x 1 x n y) where every literal x i is false under the current partial assignment (ρ(x i )=false, i 1..n), while ρ(y) =true. When a literal y is not obtained by propagation but comes from a decision, imp(y) is undefined, which we note for convenience imp(y) =. When imp(y), we denote by exp(y) the set {x x imp(y) \{y}}, called set of explanations of y. When imp(y) is undefined we define exp(y) as the empty set. In the sequel, we recall the formal definitions of an implication graph, classical asserting clauses and how they are derived (Audemard et al. 2008). Definition 1 (Implication Graph) Let F be a CNF formula, ρ a partial assignment, and let exp denotes the set of explanations for the deduced (unit propagated) literals in ρ. The implication graph associated to F, ρ and exp is =(N, E) where: G ρ,exp F N= ρ, i.e., there is exactly one node for every literal, decided or implied; E= {(x, y) x ρ, y ρ, x exp(y)} In the rest of this paper, for simplicity reason, an implication graph is simply noted as G ρ F. We also note m as the conflict level. Example 1 G ρ F, shown in Figure 1 is an implication graph for the formula F and the partial assignment ρ given below : F {c 1,...,c 12 } (c 1 ) x 1 x 11 x 2 (c 2 ) x 1 x 3 (c 3 ) x 2 x 12 x 4 (c 4 ) x 1 x 3 x 5 (c 5 ) x 4 x 5 x 6 x 7 (c 6 ) x 5 x 6 x 8 (c 7 ) x 7 x 9 (c 8 ) x 5 x 8 x 9 (c 9 ) x 10 x 17 x 1 (c 10 ) x 13 x 14 x 10 (c 11 ) x 13 x 17 (c 12 ) x 15 x 16 x 13 Figure 1: Implication Graph G ρ F =(N, E) ρ = {...x (x 2 11)... (x 3 12)...x (x 4 14),... (x 5 16),x 5 13,x 5 10,x 5 17,x }. As a conflict is encountered on x 9 and x 9, ρ(f) = false. The conflict level is 5 67

3 Definition 2 (Asserting clause) A clause c of the form (α x) is called an asserting clause iff ρ(c) =false, l(x) =m and y α, l(y) <l(x). x is called asserting literal, while assertinglevel(c) =max{l( y) y α} is the asserting level of x. Conflict analysis is the result of the application of resolution starting from the conflict clause using different implications implicitly encoded in the implication graph. We call this process an asserting clause derivation (in short ACD). Definition 3 (Asserting clause derivation) An asserting clause derivation π is a sequence of clauses σ 1,σ 2,...σ k satisfying the following conditions : 1. σ 1 = η[x, imp(x),imp( x)], where {x, x} is the conflict. 2. σ i, for i 2..k, is built by selecting a literal y σ i 1 for which imp(y) is defined. We then have y σ i 1 and y imp(y): the two clauses resolve. The clause σ i is defined as η[y, σ i 1,imp(y)]; 3. σ k is, moreover an asserting clause. Let us consider again the example 1. The traversal of the graph G ρ F (see Fig. 1) leads to the following asserting clause derivation: σ 1,...,σ 7 where : σ 1 = η[x 9,c 7,c 8 ]=( x 5 5 x 5 7 x 5 8 ) σ 2 = η[x 8,σ 1,c 6 ]=( x 3 6 x 5 5 x 5 7 ) σ 3 = η[x 7,σ 2,c 5 ]=( x 3 6 x 5 5 x 4 5 ) σ 4 = η[x 4,σ 3,c 3 ]=( x 3 12 x 3 6 x 5 5 x 2 5 ) σ 5 = η[x 5,σ 4,c 4 ]=( x 3 12 x 3 6 x 2 5 x 3 5 x 5 1) σ 6 = η[x 2,σ 5,c 1 ]=( x 2 11 x 3 12 x 3 6 x 3 5 x 5 1) σ 7 = η[x 3,σ 6,c 2 ]=( x 11 2 x 12 3 x 6 3 x 1 5 ) The clause σ 7 is the first encountered resolvent that contains only one literal x 1 from the current conflict level 5. Let us note that this resolvent is false under the interpretation ρ. Consequently, the literal x 1 is implied at level 3 which corresponds to the maximum level of the remaining literals ( x 11 2, x 12 3 and x 6 3 )ofσ 7. SAT solvers add such a clause (σ 7 ) to the learnt clauses database, back-jump to level 3 and assign the asserting literal x 1 to true by unit propagation. The node x 1 corresponding to the asserting literal x 1 is called the first Unique Implication Point (First UIP). Let us introduce an important property, called 1 empowerment, that characterize the classical asserting clauses (Pipatsrisawat and Darwiche 2008). Definition 4 (1 Empowerment) Let (α l) be a clause where l is a literal and α is a disjunction of literals (sub-clause). The clause is 1 Empowerment with respect to CNF F via l iff 1. F =(α l) : the clause is implied by F 2. F α l : the literal l cannot be derived from F α using unit propagation. Any asserting clause c = (α l) satisfy the 1 Empowerment property. Indeed, as c is derived from the formula F by resolution, then c is a logical consequence of F (condition 1 of the definition 4). The second condition of the definition 4 is also satisfied as the literal l is not derived at the asserting level where the sub-clause α is falsfied (condition 2 of the definition 4). This property expresses that a literal l can not be deduced by unit propagation from F without adding the clause c to F. However, if we add the the asserting clause to the learnt clauses database, we deduce by unit propagation that at the asserting level, the literal l must be assigned to true. For more details about CDCL based learning schemes, we refer the reader to (Marques-Silva and Sakallah 1996; Moskewicz et al. 2001; Audemard et al. 2008). Another kind of asserting clauses, called bi-asserting clauses is introduced in (Pipatsrisawat and Darwiche 2008). Definition 5 (Bi-Asserting Clause) A clause c =(α x y) is called a Bi-Asserting clause if ρ(c) =false, l(α) <m and l(y) =l(x) =m. It is important to note that a classical bi-asserting clause is false under the current assignment ρ. To derive such bi-asserting clauses from the conflict, we follow exactly the same resolution derivation. The only difference is that the process terminates when the current resolvent is a biasserting clause. As not every bi-asserting clause contributes to unit propagation, in (Pipatsrisawat and Darwiche 2008), the authors propose to learn the first bi-asserting clause that ensures the 1 empowerment property with respect to the clauses used for its derivation. A New Class of Bi-Asserting clauses In this section, we first show how to derive the new biasserting clauses. Secondly, we demonstrate that their use can lead to more implications than with classical bi-asserting clauses. Let us, illustrate our proposed approach using a simple example. Motivating example Let F be a CNF formula, ρ a partial assignment. Assume that we have an implication graph G ρ F associated to F and ρ. For simplicity reason, Figure 2 depicts the implication graph restricted to the sub-graph induced by the nodes between the conflict and the first UIP. Assume that the conflict level is 5. By traversing the implication graph separately from x 14 and x 14 until the first UIP x 1, we derive the new biasserting clauses δ 1, δ 2, δ 3 and δ 4 as follows : σ 1 = η[x 10,c 13,c 9 ]= x 15 x 11 x 8 x 14 δ 1 = η[x 11,σ 1,c 10 ]= x 15 x 8 x 14 σ 2 = η[x 4,c 7,c 3 ]= x 17 x 5 x 2 x 8 δ 2 = η[x 5,σ 2,c 4 ]= x 17 x 2 x 8 σ 3 = η[x 12,c 14,c 11 ]= x 13 x 9 x 14 δ 3 = η[x 13,σ 3,c 12 ]= x 15 x 9 x 14 σ 4 = η[x 6,c 8,c 5 ]= x 3 x 7 x 9 68

4 Figure 2: Sub Implication Graph G ρ F =(N, E) Figure 3: New and compact implication graph obtained from G ρ F =(N, E) using the new bi-asserting clauses δ 4 = η[x 7,σ 4,c 6 ]= x 16 x 3 x 9 The new bi-asserting clauses δ 1, δ 2, δ 3, δ 4 form a set of related clauses. More precisely, the clause δ 2 is related to δ 1 by the variable x 8, δ 1 is related to δ 3 by the variable x 14 and δ 3 is related to δ 4 by the variable x 9. As we can observe the set of bi-asserting clauses forms a chain of connected clauses. It is important to note that the classical bi-asserting clauses that can be obtained from the implication graph of figure 2 are : δ 1 = x 15 x 8 x 9, δ 2 = x 15 x 17 x 2 x 9, δ 3 = x 15 x 16 x 8 x 3, δ 4 = x 15 x 17 x 16 x 2 x 3. Let us note that by classical clause learning (First UIP scheme), one can derive the asserting clause ( x 15 x 17 x 16 x 1 ). The back-jumping level is 3. In figure 3, we show that the original implication graph (Figure 2) can be rewritten more compactly. Let us now consider that the new bi-asserting clauses δ 1, δ 2, δ 3 and δ 4 are added to the learnt clauses database and assume that at level 3 the literal x 2 is assigned to true. Itis easy to see that all the literals x 8, x 14, x 9, x 3 and x 1 (see Figure 3) together with the literals x 4, x 5, x 10, x 11 are implied by unit propagation. These last unit propagated literals are implied thanks to the original clauses of the formula c 3, c 4, c 9 and c 10. However, if we consider the original implication graph (Figure 2), we derive by unit propagation the same set of literals except x 9, x 3 and x 1. Suppose now that all the classical bi-asserting clauses δ 1, δ 2, δ 3 and δ 4 are added to the learnt clauses database, assigning x 2 to true at level 3 leads to the same set of implications by unit propagation. However, if we decide to assign x 14 to true at level 3, using the new bi-asserting clauses we derive x 9, x 3 and x 1 while with the classical bi-asserting clauses no literal is implied by unit propagation. Another important difference that can be made is that the derivation of all possible classical bi-asserting clauses is quadratic in the worst case, while the new bi-asserting clauses can be derived in linear time (see the Figure 3). Consequently, searching for all classical bi-asserting clauses takes more time than for our new proposed bi-asserting clauses. Moreover, our bi-asserting clauses are much shorter than classical ones. From this illustrative example, we see that adding the new bi-asserting clauses to the clauses database allows to derive more implications than with classical bi-asserting clauses. We can observe that our proposed bi-asserting clauses establish a link between the asserting literal and the conflicting literals x 14 and x 14. Separate conflict analysis: a general formulation Let us now give a formal presentation of our new biasserting clauses derivation. In all the following definitions, we consider m as the current conflict level. In our approach, from a single conflict, we derive multiple new bi-asserting clauses by traversing the implication graph separately from x and x until the first UIP. These clauses are then added to the learnt clauses database to enhance unit propagation. It should be noted that we only need a single traversal of the implication graph to derive both the classical asserting clause and the set of bi-asserting clauses. Indeed, the classical asserting clause can be progressively generated from the new bi-asserting clauses. In this way, we have no additional search overhead for the generation of these new bi-asserting clauses. 69

5 Definition 6 (Bi-Asserting clause derivation) Let x be a conflict literal, we define the Bi-Asserting clause derivation from x as the sequence of clauses C x = σ1 x,σ2 x,...,σk x satisfying the following conditions : 1. σ1 x, is derived by resolution on z from imp(x) and imp(z) where z imp(x); 2. σi x, for i 2..k, is built by resolution from a literal z σi 1 x s.t. l(z) =m and for which imp(z) is defined. The clause σi x is defined as η[z,σx i 1,imp(z)]; 3. σk x is a Bi-Asserting clause. Definition 7 (Bi-Asserting literal) Let x be a conflict literal, let C x = σ1 x,σ2 x,...,σk x be a Bi-Asserting clause derivation, we define a Bi-Asserting literal as the literal b σk x such that b x and l(b) =m. If we reconsider again the implication graph of Figure 2, the set of different Bi-Asserting literals is {x 8, x 9, x 2, x 3, x 1 }. Property 1 Let G be an implication graph, x the conflict literal of G. Let B x and B x be the two sets of Bi-Asserting clauses generated from the conflict literals x and x respectively. At the backtracking level, if a Bi-Asserting literal y from B x (respectively B x ) is assigned to true, then all literals z such that z is a Bi-Asserting literal of B x (respectively B x ) will be implied. Proof : The proof is trivial. An illustration of the proof is given in the previous motivating example. It is easy to see that the number of new Bi-Asserting clauses that can be generated from any implication graph is at least 2. Let G be an implication graph with x a conflict literal, and y the asserting literal (First UIP scheme). It is easy to see that one can derive at least two bi-asserting clauses b 1 =(α y x) and b 2 =(β y x). In this case the asserting clauses is a =(α β y). Property 2 Let G be an implication graph, x the conflict literal of G, N x and N x the sets of clauses encoded in G between the first UIP and the conflict literals x and x respectively. The time complexity needed for generating all the our new bi-asserting clauses is in O( N x + N x ) in the worst case. Proof : As our bi-asserting clauses are generated by a parallel traversal of G from x and x, each clause from N x and N x is involved in one resolution step, the time complexity needed for deriving all the new Bi-Asserting clauses is in O( N x + N x ). If we consider the classical bi-asserting clauses (Pipatsrisawat and Darwiche 2008), and we want to generate all of them, the worst case complexity is quadratic. Property 3 Let G be an implication graph, x the conflict literal of G, N x and N x the sets of clauses encoded in G between the first UIP and the conflict literals x and x respectively. The time complexity needed for generating all the classical bi-asserting clauses is in O( N x N x ) in the worst case. Proof : The worst case is encountered for an implication graph G with N x and N x bi-asserting literals. The form of such a graph is depicted in the figure 3. This corresponds to the graph where all the nodes are bi-asserting literals. As in classical bi-asserting clauses the generation process start by applying a first resolution step on the two clauses involving the literals x and x, to generate all the classical biasserting clauses, we alternatively keep the bi-asserting literal from the part of the graph linked to x (respectively x), and we traverse all the other part of the implication graph linked to x (respectively to x). Consequently, the time complexity needed for deriving all the classical bi-asserting clauses is in O( N x N x ). It is important to note that the classical bi-asserting clauses and the new bi-asserting clauses proposed in this paper differs in several aspects. First, the new (respectively classical) bi-asserting clause is satisfied (respectively falsified) under the current interpretation. Secondly, they are generated using different traversal of the implication graph. Consequently, the set of bi-asserting clauses generated by both approaches are different (see the motivating example given at the beginning of this section). Exploitation of the new bi-asserting clauses During the search, when a conflict arises on a literal x, we analyze it by traversing the implication graph separately from x and x. All the bi-asserting clauses derived during this analysis are stored in a new learnt bi-asserting clauses database. These new clauses are managed in the same way as the classical learnt clauses database. We exploit the same learnt database reduction strategy as in Minisat 2.2 (Eën and Sörensson 2002). The classical asserting clause is also added to the classical learnt clauses database. Experiments The experiments were done on a large panel of crafted and industrial problems coming from the last competitions. All the instances were simplified by the SatElite preprocessor (Eën and Biere 2005). We implemented our approach in Minisat 2.2 (Eën and Sörensson 2002) and made a comparison between the original solver and the one enhanced with the new bi-asserting clauses learning called Minisat+NB. All the tests were made on a Xeon 3.2GHz (2 GB RAM) cluster. Results are reported in seconds. During these experiments, the CPU time limit was fixed to 4 hours. Crafted problems We used the whole set of crafteds instances taken from the 2011 SAT competitions. The log-scaled scatter plot given in the top part of Figure 4 details the results for Minisat and Minisat+NB on each crafted instance. The x-axis (resp. y- axis) corresponds to the CPU time tx (resp, ty) obtained by 70

6 Minisat (resp. Minisat+NB). Each dot with (tx, ty) coordinates, corresponds to a SAT instance. Dots below (resp. above) the diagonal indicate instances where our approach is more efficient i.e ty < tx (resp. ty > tx). The majority of the dots in the figure are below the diagonal i.e., Minisat+NB is better. This clearly shows the computational gain obtained thanks to our approach. On crafted instances our approach achieve interesting improvements. The bottom part of figure 4 shows the same results with a different representation which gives for each technique the number of solved instances (# instances) in less than t seconds. This Figure confirms the efficiency of our learning approach on these problems. From this figure, we can observe that Minisat+NB is generally faster and solves 15 more instances than Minisat. The fine analysis of the top part of figure 4 showed that Minisat+NB solves 81 instances more efficiently than Minisat, which solves 51 problems more efficiently than its opponent a similar behavior. This confirm that when the implication graph do not contains intermediate bi-asserting literals on both sides of the conflict literals, our approach does not cause additional overcost. Indeed, the implication graph is traversed only once. Overall we can see that the addition of our learning process to Minisat improves the performance on some families of instances. Table 1 focuses on some industrial families. In these families, the speed-ups are relatively important. For instance, if we consider the vmpc family, we can see that our approach allows several orders of magnitude improvement with Minisat+NB (instances 31, and 33). On the same family, Minisat+NB solve one more instance than Minisat. On the manol family, we can also see that Minisat+NB solves 6 more instances than Minisat. On the velev family, Minisat+NB is better on the 4 solved instances by both Minisat+NB and Minisat. Minisat+NB solves 3 more instances than Minisat. In summary, we can see that on some families, Minisat+NB is faster and solves more problems than Minisat time(seconds) time(seconds) #instances Figure 4: Crafted problems: Minisat vs Minisat+ Industrial problems We used the whole set of industrial instances taken from the 2012 SAT Challenge. The log-scaled scatter plot (in log scale) given by the Figure 5 details the results for Minisat and Minisat+NB. The results on industrial instances show #instances Figure 5: Industrial problems: Minisat vs Minisat+ Acknowledgments This work has been supported by the French ANR agency under the project Project TUPLES - ANR Programme Blanc 71

7 families Minisat Minisat+ vmpc vmpc vmpc vmpc vmpc vmpc vmpc vmpc vmpc manol-pipe-f7idw manol-f9b manol-f9bidw manol-f9nidw manol-f8nidw manol-f8idw manol-f8bidw manol-fn manol-f10ni manol-f10bi manol-f10n manol-f10nidw manol-f10i manol-f10bid manol-f10id manol-f10bidw velev-7pipe q0 k velev-11pipe q0 k - - velev-14pipe q0 k - - velev-13pipe q0 k - - velev-10pipe q0 k velev-9pipe q0 k velev-15pipe q0 k - - velev-8pipe q0 k velev-12pipe k - - velev-8pipe k - - velev-6pipe k velev-10pipe k - - velev-7pipe k velev-9pipe k velev-13pipe k - - Table 1: Zoom on some industrial families 10-BLAN-0210 Tractability for Understanding and Pushing forward the Limits of Efficient Solvers. Conclusion This paper presents a new approach for clauses learning. More precisely, at each conflict, we traverse the implication graph separately from x and x (x the conflict literal) until the First UIP. We derive a new class of bi-asserting clauses that can lead to a more compact implication graph. Interestingly, these new bi-asserting clauses tend to be much shorter and induce more implications than the classical bi-asserting clauses. Experimental results show that exploiting this new class of bi-asserting clauses improves the performance of SAT solvers. Our approach is particularly suitable for crafted instances and on some industrial families. As a future work, we plan to investigate how to exploit the extended implication graph proposed in (Audemard et al. 2008) to obtain new asserting clauses. Indeed the additional arcs (called inverse arcs) together with our bi-asserting clauses might lead to better asserting clauses in terms of back-jumping level and size. References Audemard, G.; Bordeaux, L.; Hamadi, Y.; Jabbour, S.; and Sais, L Generalized framework for conflict analysis. In Proceedings of the eleventh International Conference on Theory and Applications of Satisfiability Testing (SAT 08), Bayardo, Jr., R. J., and Schrag, R. C Using CSP look-back techniques to solve real-world SAT instances. In Proceedings of the Fourteenth National Conference on Artificial Intelligence (AAAI 97), Davis, M.; Logemann, G.; and Loveland, D. W A machine program for theorem-proving. Communications of the ACM 5(7): Eën, N., and Biere, A Effective preprocessing in SAT through variable and clause elimination. In Proceedings of the Eighth International Conference on Theory and Applications of Satisfiability Testing (SAT 05), Eën, N., and Sörensson, N An extensible sat-solver. In Proceedings of the Sixth International Conference on Theory and Applications of Satisfiability Testing (SAT 03), Gomes, C. P.; Selman, B.; and Kautz, H Boosting combinatorial search through randomization. In Proceedings of the Fifteenth National Conference on Artificial Intelligence (AAAI 97), Kautz, H.; Horvitz, E.; Ruan, Y.; Gomes, C.; and Selman, B Dynamic restart policies. In Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI 02), Marques-Silva, J. P., and Sakallah, K. A GRASP - A New Search Algorithm for Satisfiability. In Proceedings of IEEE/ACM International Conference on Computer-Aided Design, Moskewicz, M. W.; Madigan, C. F.; Zhao, Y.; Zhang, L.; and Malik, S Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference (DAC 01), Pipatsrisawat, K., and Darwiche, A A new clause learning scheme for efficient unsatisfiability proofs. In Proceedings of the 22th National Conference on Artificial Intelligence (AAAI 08), Pipatsrisawat, K., and Darwiche, A On the power of clause-learning sat solvers with restarts. In CP, Pipatsrisawat, K., and Darwiche, A On modern clause-learning satisfiability solvers. Journal of Automated Reasoning 44(3):

Problem-Sensitive Restart Heuristics for the DPLL Procedure

Problem-Sensitive Restart Heuristics for the DPLL Procedure Problem-Sensitive Restart Heuristics for the DPLL Procedure Carsten Sinz and Markus Iser Research Group Verification meets Algorithm Engineering Institute for Theoretical Computer Science University of

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

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

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

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

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

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

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

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

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

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

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}@csuclaedu Computer Science Department University of California, Los Angeles Abstract

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

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

Resolution and Clause Learning for Multi-Valued CNF

Resolution and Clause Learning for Multi-Valued CNF Resolution and Clause Learning for Multi-Valued CNF David Mitchell mitchell@cs.sfu.ca Simon Fraser University Abstract. Conflict-directed clause learning (CDCL) is the basis of SAT solvers with impressive

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

Preprocessing in Pseudo-Boolean Optimization: An Experimental Evaluation

Preprocessing in Pseudo-Boolean Optimization: An Experimental Evaluation Preprocessing in Pseudo-Boolean Optimization: An Experimental Evaluation Ruben Martins, Inês Lynce, and Vasco Manquinho IST/INESC-ID, Technical University of Lisbon, Portugal {ruben,ines,vmm}@sat.inesc-id.pt

More information

Efficient Circuit to CNF Conversion

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

More information

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

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

Using Community Structure to Detect Relevant Learnt Clauses

Using Community Structure to Detect Relevant Learnt Clauses Using Community Structure to Detect Relevant Learnt Clauses Carlos Ansótegui 1, Jesús Giráldez-Cru 2, Jordi Levy 2, and Laurent Simon 3 1 DIEI, Universitat de Lleida carlos@diei.udl.cat 2 Artificial Intelligence

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

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

Learning Techniques for Pseudo-Boolean Solving

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

More information

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

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

Boosting local search thanks to CDCL

Boosting local search thanks to CDCL Boosting local search thanks to CDCL Gilles Audemard, Jean-Marie Lagniez, Bertrand Mazure, Lakhdar Saïs To cite this version: Gilles Audemard, Jean-Marie Lagniez, Bertrand Mazure, Lakhdar Saïs. Boosting

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

Heuristic-Based Backtracking for Propositional Satisfiability

Heuristic-Based Backtracking for Propositional Satisfiability Heuristic-Based Backtracking for Propositional Satisfiability A. Bhalla, I. Lynce, J.T. de Sousa, and J. Marques-Silva Technical University of Lisbon, IST/INESC-ID, Lisbon, Portugal {ateet,ines,jts,jpms}@sat.inesc.pt

More information

Solving Constraint Satisfaction Problems by a SAT Solver

Solving Constraint Satisfaction Problems by a SAT Solver SAT Encodings Sugar Examples Demo Summary Solving Constraint Satisfaction Problems by a SAT Solver Kobe University, JAPAN CICLOPS-WLPE-2010 SAT Encodings Sugar Examples Demo Summary Contents 3 A SAT-based

More information

A Scalable Algorithm for Minimal Unsatisfiable Core Extraction

A Scalable Algorithm for Minimal Unsatisfiable Core Extraction A Scalable Algorithm for Minimal Unsatisfiable Core Extraction Nachum Dershowitz 1, Ziyad Hanna 2, and Alexander Nadel 1,2 1 School of Computer Science, Tel Aviv University, Ramat Aviv, Israel {nachumd,

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

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

Improving Unsatisfiability-based Algorithms for Boolean Optimization

Improving Unsatisfiability-based Algorithms for Boolean Optimization Improving Unsatisfiability-based Algorithms for Boolean Optimization Vasco Manquinho, Ruben Martins, and Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal {vmm,ruben,ines}@sat.inesc-id.pt

More information

The log-support encoding of CSP into SAT

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

More information

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

ABT with Clause Learning for Distributed SAT

ABT with Clause Learning for Distributed SAT ABT with Clause Learning for Distributed SAT Jesús Giráldez-Cru, Pedro Meseguer IIIA - CSIC, Universitat Autònoma de Barcelona, 08193 Bellaterra, Spain {jgiraldez,pedro}@iiia.csic.es Abstract. Transforming

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

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

Master s Project Proposal: Enhancements of SAT-Solvers for Some Combinatorial NAE-SAT Problems

Master s Project Proposal: Enhancements of SAT-Solvers for Some Combinatorial NAE-SAT Problems Master s Project Proposal: Enhancements of SAT-Solvers for Some Combinatorial NAE-SAT Problems Nicolette Nicolosi Department of Computer Science Rochester Institute of Technology Rochester, NY 14623 nan2563@cs.rit.edu

More information

Circuit versus CNF Reasoning for Equivalence Checking

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

More information

SAT Solver and its Application to Combinatorial Problems

SAT Solver and its Application to Combinatorial Problems SAT Solver and its Application to Combinatorial Problems Naoyuki Tamura Kobe University 2014 December 14th, 2014 1 / 46 Contents 1 SAT Problems and SAT Solvers SAT Problems SAT Solvers Don Knuth s TAOCP

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

SAT Solver Heuristics

SAT Solver Heuristics SAT Solver Heuristics SAT-solver History Started with David-Putnam-Logemann-Loveland (DPLL) (1962) Able to solve 10-15 variable problems Satz (Chu Min Li, 1995) Able to solve some 1000 variable problems

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

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 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

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 roblem Symmetry in Search Based Satisfiability Algorithms Evgueni I. Goldberg Cadence Berkeley Laboratories Berkeley, CA egold@cadence.com Mukul R. rasad Fujitsu Labs. of America Sunnyvale, CA mukul@fla.fujitsu.com

More information

SAT Solver. CS 680 Formal Methods Jeremy Johnson

SAT Solver. CS 680 Formal Methods Jeremy Johnson SAT Solver CS 680 Formal Methods Jeremy Johnson Disjunctive Normal Form A Boolean expression is a Boolean function Any Boolean function can be written as a Boolean expression s x 0 x 1 f Disjunctive normal

More information

CDCL SAT Solvers. Joao Marques-Silva. Theory and Practice of SAT Solving Dagstuhl Workshop. April INESC-ID, IST, ULisbon, Portugal

CDCL SAT Solvers. Joao Marques-Silva. Theory and Practice of SAT Solving Dagstuhl Workshop. April INESC-ID, IST, ULisbon, Portugal CDCL SAT Solvers Joao Marques-Silva INESC-ID, IST, ULisbon, Portugal Theory and Practice of SAT Solving Dagstuhl Workshop April 2015 The Success of SAT Well-known NP-complete decision problem [C71] The

More information

DM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini

DM841 DISCRETE OPTIMIZATION. Part 2 Heuristics. Satisfiability. Marco Chiarandini DM841 DISCRETE OPTIMIZATION Part 2 Heuristics Satisfiability Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. Mathematical Programming Constraint

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

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

Parallel Search for Boolean Optimization

Parallel Search for Boolean Optimization Parallel Search for Boolean Optimization Ruben Martins, Vasco Manquinho, and Inês Lynce IST/INESC-ID, Technical University of Lisbon, Portugal {ruben,vmm,ines}@sat.inesc-id.pt Abstract. The predominance

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

Boolean Functions (Formulas) and Propositional Logic

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

More information

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

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

arxiv: v1 [cs.lo] 17 Oct 2013

arxiv: v1 [cs.lo] 17 Oct 2013 Effectiveness of pre- and inprocessing for CDCL-based SAT solving Andreas Wotzlaw, Alexander van der Grinten, and Ewald Speckenmeyer Institut für Informatik, Universität zu Köln, Pohligstr. 1, D-50969

More information

Evaluation of SAT like Proof Techniques for Formal Verification of Word Level Circuits

Evaluation of SAT like Proof Techniques for Formal Verification of Word Level Circuits Evaluation of SAT like Proof Techniques for Formal Verification of Word Level Circuits André Sülflow Ulrich Kühne Robert Wille Daniel Große Rolf Drechsler Institute of Computer Science University of Bremen

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

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

Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms

Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Towards More Effective Unsatisfiability-Based Maximum Satisfiability Algorithms Joao Marques-Silva and Vasco Manquinho School of Electronics and Computer Science, University of Southampton, UK IST/INESC-ID,

More information

Integration of Supercubing and Learning in a SAT Solver

Integration of Supercubing and Learning in a SAT Solver Integration of Supercubing and Learning in a SAT Solver Domagoj Babić and Alan J. Hu Department of Computer Science University of British Columbia {babic,ajh}@cs.ubc.ca Abstract Learning is an essential

More information

Solving Constraint Satisfaction Problems with SAT Technology

Solving Constraint Satisfaction Problems with SAT Technology SAT Encodings Sugar Nonogram OSS Summary Solving Constraint Satisfaction Problems with SAT Technology Kobe University, JAPAN SAT Encodings Sugar Nonogram OSS Summary Contents A SAT-based CSP Solver 1 SAT

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

An Analysis and Comparison of Satisfiability Solving Techniques

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

More information

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

BDD-Guided Clause Generation

BDD-Guided Clause Generation BDD-Guided Clause Generation Brian Kell 1, Ashish Sabharwal 2, and Willem-Jan van Hoeve 3 1 Dept. of Mathematical Sciences, Carnegie Mellon University, Pittsburgh, PA 15213 bkell@cmu.edu 2 Allen Institute

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

Bounded Model Checking with QBF

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

More information

Efficient satisfiability solver

Efficient satisfiability solver Graduate Theses and Dissertations Iowa State University Capstones, Theses and Dissertations 2014 Efficient satisfiability solver Chuan Jiang Iowa State University Follow this and additional works at: https://lib.dr.iastate.edu/etd

More information

Solving Constraint Satisfaction Problems by a SAT Solver

Solving Constraint Satisfaction Problems by a SAT Solver SAT Encodings Systems Summary Solving Constraint Satisfaction Problems by a SAT Solver Kobe University, JAPAN Osaka Workshop for Verification and Validation Feb 28, 2011 at AIST Amagasaki SAT Encodings

More information

Solving Optimization Problems with DLL

Solving Optimization Problems with DLL Solving Optimization Problems with DLL Enrico Giunchiglia 1 and Marco Maratea 1, 2 Abstract. Propositional satisfiability (SAT) is a success story in Computer Science and Artificial Intelligence: SAT solvers

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

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

BDD Construction for All Solutions SAT and Efficient Caching Mechanism

BDD Construction for All Solutions SAT and Efficient Caching Mechanism BDD Construction for All Solutions SAT and Efficient Caching Mechanism Takahisa Toda Graduate School of Information Systems, the University of Electro-Communications 1-5-1 Chofugaoka, Chofu, Tokyo Japan

More information

Tractable Cover Compilations*

Tractable Cover Compilations* I Tractable Cover Compilations* Yacine Boufkhad 1, Eric Gregoire 2, Pierre Marquis 2, 1 LIP6 Bertrand Mazure 2, Lakhdar Sais 2,3 CRIL 3 IUT de Lens University Paris 6 University d'artois 4, place Jussieu

More information

Parallelization of SAT Algorithms on GPUs

Parallelization of SAT Algorithms on GPUs Parallelization of SAT Algorithms on GPUs Carlos Costa carlos.silva.costa@ist.utl.pt Instituto Superior Técnico Abstract. The Boolean Satisfability Problem is one of the most important problems in computer

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

On CafeSat: A Modern SAT Solver for Scala

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

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

Efficient Symbolic Multi Objective Design Space Exploration

Efficient Symbolic Multi Objective Design Space Exploration This is the author s version of the work. The definitive work was published in Proceedings of the 3th Asia and South Pacific Design Automation Conference (ASP-DAC 2008), pp. 69-696, 2008. The work is supported

More information

Inference methods for a pseudo-boolean satisfiability solver

Inference methods for a pseudo-boolean satisfiability solver Inference methods for a pseudo-boolean satisfiability solver Heidi E. Dixon and Matthew L. Ginsberg CIRL 1269 University of Oregon Eugene, OR 97403-1269 {dixon, ginsberg}@cirl.uoregon.edu Abstract We describe

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

Variable Ordering for Efficient SAT Search by Analyzing Constraint-Variable Dependencies

Variable Ordering for Efficient SAT Search by Analyzing Constraint-Variable Dependencies Variable Ordering for Efficient SAT Search by Analyzing Constraint-Variable Dependencies Vijay Durairaj and Priyank Kalla Department of Electrical and Computer Engineering University of Utah, Salt Lake

More information

DPLL(T ):Fast Decision Procedures

DPLL(T ):Fast Decision Procedures DPLL(T ):Fast Decision Procedures Harald Ganzinger George Hagen Robert Nieuwenhuis Cesare Tinelli Albert Oliveras MPI, Saarburcken The University of Iowa UPC, Barcelona Computer Aided-Verification (CAV)

More information

Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability

Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability Using Higher Levels of Abstraction for Solving Optimization Problems by Boolean Satisfiability Robert Wille Daniel Große Mathias Soeken Rolf Drechsler Institute of Computer Science University of Bremen,

More information

An Alldifferent Constraint Solver in SMT

An Alldifferent Constraint Solver in SMT An Alldifferent Constraint Solver in SMT Milan Banković and Filip Marić Faculty of Mathematics, University of Belgrade (milan filip)@matf.bg.ac.rs May 16, 2010 Abstract The finite domain alldifferent constraint,

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

Existential Closures for Knowledge Compilation

Existential Closures for Knowledge Compilation Proceedings of the Twenty-Second International Joint Conference on Artificial Intelligence Existential Closures for Knowledge Compilation Pierre Marquis CRIL-CNRS, Université d Artois, Lens, France marquis@cril.univ-artois.fr

More information

Space-Efficient Bounded Model Checking

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

More information

An 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

Checking Satisfiability of a Conjunction of BDDs

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

More information

Combinational Equivalence Checking Using Satisfiability and Recursive Learning

Combinational Equivalence Checking Using Satisfiability and Recursive Learning Combinational Equivalence Checking Using Satisfiability and Recursive Learning João Marques-Silva Thomas Glass Instituto Superior Técnico Siemens AG Cadence European Labs/INESC Corporate Technology 1000

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

Generalizations of Watched Literals for Backtracking Search

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

More information

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

EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS

EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS TKK Reports in Information and Computer Science Espoo 2010 TKK-ICS-R32 EXTENDING SAT SOLVER WITH PARITY CONSTRAINTS Tero Laitinen TKK Reports in Information and Computer Science Espoo 2010 TKK-ICS-R32

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