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

advertisement
Proceedings of the Tenth Symposium on Abstraction, Reformulation, and Approximation
Adding New Bi-Asserting Clauses for
Faster Search in Modern SAT Solvers
Saı̈d Jabbour1 and Jerry Lonlac1,2 and Lakhdar Saı̈s1
1
CRIL, Univ. Artois - CNRS
rue Jean Souvraz SP-18
F-62307 Lens Cedex France
2
Département Informatique - Univ. Yaoundé 1
B.P. 812 Yaoundé, Cameroun
{jabbour, lonlac, sais}@cril.fr
Abstract
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.
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
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
c 2013, Association for the Advancement of Artificial
Copyright Intelligence (www.aaai.org). All rights reserved.
66
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}. A unit 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 VF . A set of
literals is complete if it contains one literal for each variable
in VF , and fundamental if it does not contain complementary
literals. An assignment ρ of a Boolean formula F is function
which associates a value ρ(x) ∈ {f alse, true} to some of
the variables x ∈ VF . ρ is complete if it assigns a value to
every x ∈ VF , 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 ρ |= Σ. A SAT problem consists in deciding if a given CNF formula F admits a
model or not.
We denote by η[x, ci , cj ] the resolvent between a clause ci
containing the literal x and cj a clause containing the opposite literal ¬x. In other words η[x, ci , cj ] = ci ∪ cj \{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̄ )∗ =⊥.
in this case of the form (x1 ∨ · · · ∨ xn ∨ y) where every literal xi is false under the current partial assignment
(ρ(xi ) = 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
ρ,exp
GF
= (N , E) where:
• 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 impliρ
cation graph is simply noted as GF
. We also note m as the
conflict level.
ρ
, shown in Figure 1 is an implication graph
Example 1 GF
for the formula F and the partial assignment ρ given below
: F ⊇ {c1 , . . . , c12 }
(c1 )¬x1 ∨ ¬x11 ∨ x2
(c3 )¬x2 ∨ ¬x12 ∨ x4
(c5 )¬x4 ∨ ¬x5 ∨ ¬x6 ∨ x7
(c7 )¬x7 ∨ x9
(c9 )¬x10 ∨ ¬x17 ∨ x1
(c11 )¬x13 ∨ x17
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 (xik ), xik1 , xik2 , . . . , xikn k
where the first literal xik in parenthesis corresponds to the
decision literal xk assigned at level i and each xikj for
1 ≤ j ≤ nk 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.
(c2 )¬x1 ∨ x3
(c4 )¬x1 ∨ ∨¬x3 ∨ x5
(c6 )¬x5 ∨ ¬x6 ∨ x8
(c8 )¬x5 ∨ ¬x8 ∨ ¬x9
(c10 )¬x13 ∨ ¬x14 ∨ x10
(c12 )¬x15 ∨ ¬x16 ∨ x13
ρ
Figure 1: Implication Graph GF
= (N , E)
Conflict analysis using implication graphs
ρ = {. . . x115 . . .
(x211 ) . . . . . . (x312 ) . . . x36 . . . (x414 ), . . . (x516 ), x513 , x510 , x517 , x51 . . . }. As a conflict is
encountered on x9 and ¬x9 , ρ(F) = f alse. The conflict
level is 5
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
67
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.
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).
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.
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.
Let us consider again the example 1. The traversal of the
ρ
(see Fig. 1) leads to the following asserting clause
graph GF
derivation: σ1 , . . . , σ7 where :
• σ1 = η[x9 , c7 , c8 ] = (¬x5 5 ∨ ¬x7 5 ∨ ¬x8 5 )
• σ2 = η[x8 , σ1 , c6 ] = (¬x36 ∨ ¬x5 5 ∨ ¬x7 5 )
• σ3 = η[x7 , σ2 , c5 ] = (¬x36 ∨ ¬x5 5 ∨ ¬x4 5 )
• σ4 = η[x4 , σ3 , c3 ] = (¬x312 ∨ ¬x36 ∨ ¬x5 5 ∨ ¬x2 5 )
• σ5 = η[x5 , σ4 , c4 ] = (¬x312 ∨ ¬x36 ∨ ¬x2 5 ∨ ¬x3 5 ∨ ¬x51 )
A New Class of Bi-Asserting clauses
• σ6 = η[x2 , σ5 , c1 ] = (¬x211 ∨ ¬x312 ∨ ¬x36 ∨ ¬x3 5 ∨ ¬x51 )
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.
• σ7 = η[x3 , σ6 , c2 ] = (¬x11 2 ∨ ¬x12 3 ∨ ¬x6 3 ∨ ¬x1 5 )
The clause σ7 is the first encountered resolvent that contains
only one literal ¬x1 from the current conflict level 5. Let
us note that this resolvent is f alse under the interpretation
ρ. Consequently, the literal ¬x1 is implied at level 3 which
corresponds to the maximum level of the remaining literals (¬x11 2 , ¬x12 3 and ¬x6 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 ¬x1 to true by unit propagation. The node x1 corresponding to the asserting literal
¬x1 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).
Motivating example
Let F be a CNF formula, ρ a partial assignment. Assume
ρ
associated to F and ρ.
that we have an implication graph GF
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 x14
and ¬x14 until the first UIP x1 , we derive the new biasserting clauses δ1 , δ2 , δ3 and δ4 as follows :
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 = η[x10 , c13 , c9 ] = ¬x15 ∨ ¬x11 ∨ ¬x8 ∨ x14
• δ1 = η[x11 , σ1 , c10 ] = ¬x15 ∨ ¬x8 ∨ x14
• σ2 = η[x4 , c7 , c3 ] = ¬x17 ∨ ¬x5 ∨ ¬x2 ∨ x8
• δ2 = η[x5 , σ2 , c4 ] = ¬x17 ∨ ¬x2 ∨ x8
1. F |= (α ∨ l) : the clause is implied by F
• σ3 = η[x12 , c14 , c11 ] = ¬x13 ∨ ¬x9 ∨ ¬x14
• δ3 = η[x13 , σ3 , c12 ] = ¬x15 ∨ ¬x9 ∨ ¬x14
2. F ∧ ¬α l : the literal l cannot be derived from F ∧ ¬α
using unit propagation.
• σ4 = η[x6 , c8 , c5 ] = ¬x3 ∨ ¬x7 ∨ x9
68
ρ
Figure 2: Sub Implication Graph GF
= (N , E)
Figure 3: New and compact implication graph obtained from
ρ
= (N , E) using the new bi-asserting clauses
GF
• δ4 = η[x7 , σ4 , c6 ] = ¬x16 ∨ ¬x3 ∨ x9
true at level 3, using the new bi-asserting clauses we derive ¬x9 , ¬x3 and ¬x1 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 x14 and ¬x14 .
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 x8 , δ1 is related to δ3 by the variable x14
and δ3 is related to δ4 by the variable x9 . 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 = ¬x15 ∨ ¬x8 ∨ ¬x9 ,
• δ2 = ¬x15 ∨ ¬x17 ∨ ¬x2 ∨ ¬x9 ,
• δ3 = ¬x15 ∨ ¬x16 ∨ ¬x8 ∨ ¬x3 ,
• δ4 = ¬x15 ∨ ¬x17 ∨ ¬x16 ∨ ¬x2 ∨ ¬x3 .
Let us note that by classical clause learning (First UIP
scheme), one can derive the asserting clause (¬x15 ∨ ¬x17 ∨
¬x16 ∨ ¬x1 ). 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 x2 is assigned to true. It is
easy to see that all the literals x8 , x14 , ¬x9 , ¬x3 and ¬x1
(see Figure 3) together with the literals x4 , x5 , x10 , x11 are
implied by unit propagation. These last unit propagated literals are implied thanks to the original clauses of the formula
c3 , c4 , c9 and c10 . However, if we consider the original implication graph (Figure 2), we derive by unit propagation the
same set of literals except ¬x9 , ¬x3 and ¬x1 .
Suppose now that all the classical bi-asserting clauses δ1 ,
δ2 , δ3 and δ4 are added to the learnt clauses database, assigning x2 to true at level 3 leads to the same set of implications
by unit propagation. However, if we decide to assign x14 to
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
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 Cx = σ1x , σ2x , . . . , σkx satisfying the following conditions :
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.
1. σ1x , is derived by resolution on z from imp(x) and
imp(z) where ¬z ∈ imp(x);
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).
2. σix , for i ∈ 2..k, is built by resolution from a literal
x
s.t. l(z) = m and for which imp(z) is defined.
z ∈ σi−1
x
, imp(z)];
The clause σix is defined as η[z, σi−1
3. σkx is a Bi-Asserting clause.
Definition 7 (Bi-Asserting literal) Let x be a conflict
literal, let Cx = σ1x , σ2x , . . . , σkx be a Bi-Asserting clause
derivation, we define a Bi-Asserting literal as the literal
b ∈ σkx 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 {x8 , x9 , x2 , x3 ,
x1 }.
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.
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.
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
b1 = (α ∨ y ∨ x) and b2 = (β ∨ y ∨ ¬x). In this case the
asserting clauses is a = (α ∨ β ∨ y).
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.
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.
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. yaxis) corresponds to the CPU time tx (resp, ty) obtained by
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
70
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.
100000
10000
10000
1000
1000
10
100
minisat+NB
minisat+NB
100
1
0.1
0.01
10
1
0.001
0.0001
0.0001 0.001
12000
0.1
0.01
0.1
1
10
minisat
100
1000 10000 100000
0.01
0.01
12000
10000
1
10
minisat
100
1000
10000
200
300
#instances
400
500
600
minisat
minisat+NB
10000
8000
8000
6000
time(seconds)
time(seconds)
0.1
minisat
minisat+NB
4000
6000
4000
2000
2000
0
0
20
40
60
80
#instances
100
120
140
0
0
Figure 4: Crafted problems: Minisat vs Minisat+
100
Figure 5: Industrial 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
Acknowledgments
This work has been supported by the French ANR agency
under the project Project TUPLES - ANR Programme Blanc
71
families
vmpc 26
vmpc 27
vmpc 28
vmpc 29
vmpc 30
vmpc 31
vmpc 32
vmpc 33
vmpc 34
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
Minisat
14.14
42.62
98.99
73.41
467.25
7707.81
1822.31
6617.32
4442.4
125.13
3105.14
36.11
392.21
491.96
291.57
376.61
1381.6
1279.94
4747.46
545.58
46.57
874.26
-
Minisat+
21.06
11.31
23.45
465.88
535.62
415.29
2742.98
174.37
120.65
378.08
139.83
670.52
680.25
335.41
1606.05
181.76
44.09
492.48
490.90
296.35
2104.96
305.58
1066.62
1402.43
1742.06
1796.33
5342.33
129.849
5316.14
19.46
2721.39
232.91
-
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. 2008. Generalized framework for conflict analysis.
In Proceedings of the eleventh International Conference on
Theory and Applications of Satisfiability Testing (SAT’08),
21–27.
Bayardo, Jr., R. J., and Schrag, R. C. 1997. Using CSP
look-back techniques to solve real-world SAT instances. In
Proceedings of the Fourteenth National Conference on Artificial Intelligence (AAAI’97), 203–208.
Davis, M.; Logemann, G.; and Loveland, D. W. 1962. A
machine program for theorem-proving. Communications of
the ACM 5(7):394–397.
Eën, N., and Biere, A. 2005. 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), 61–75.
Eën, N., and Sörensson, N. 2002. An extensible sat-solver.
In Proceedings of the Sixth International Conference on
Theory and Applications of Satisfiability Testing (SAT’03),
502–518.
Gomes, C. P.; Selman, B.; and Kautz, H. 1998. Boosting
combinatorial search through randomization. In Proceedings of the Fifteenth National Conference on Artificial Intelligence (AAAI’97), 431–437.
Kautz, H.; Horvitz, E.; Ruan, Y.; Gomes, C.; and Selman,
B. 2002. Dynamic restart policies. In Proceedings of the
Eighteenth National Conference on Artificial Intelligence
(AAAI’02), 674–682.
Marques-Silva, J. P., and Sakallah, K. A. 1996. GRASP A New Search Algorithm for Satisfiability. In Proceedings
of IEEE/ACM International Conference on Computer-Aided
Design, 220–227.
Moskewicz, M. W.; Madigan, C. F.; Zhao, Y.; Zhang, L.; and
Malik, S. 2001. Chaff: Engineering an efficient SAT solver.
In Proceedings of the 38th Design Automation Conference
(DAC’01), 530–535.
Pipatsrisawat, K., and Darwiche, A. 2008. A new clause
learning scheme for efficient unsatisfiability proofs. In Proceedings of the 22th National Conference on Artificial Intelligence (AAAI’08), 1481–1484.
Pipatsrisawat, K., and Darwiche, A. 2009. On the power of
clause-learning sat solvers with restarts. In CP, 654–668.
Pipatsrisawat, K., and Darwiche, A. 2010. On modern
clause-learning satisfiability solvers. Journal of Automated
Reasoning 44(3):277–301.
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
72
Download