Заголовок
Источник: http://picxxx.info
Ссылка на PDF: http://picxxx.info/pml.php?action=GETCONTENT&md5=32e6acd2eecf95468b840431c2ca0b73
Конец заголовка
DIMACS Series in Discrete Mathematics
and Theoretical Computer Science
Volume 00, 19xx
Algorithms for the Satis ability (SAT) Problem: A Survey
Jun Gu, Paul W. Purdom, John Franco, and Benjamin W. Wah
Abstract. The satis ability (SAT) problem is a core problem in mathemat
ical logic and computing theory. In practice, SAT is fundamental in solving
many problems in automated reasoning, computeraided design, computeraided manufacturing, machine vision, database, robotics, integrated circuit
design, computer architecture design, and computer network design. Traditional methods treat SAT as a discrete, constrained decision problem. In
recent years, many optimization methods, parallel algorithms, and practical
techniques have been developed for solving SAT. In this survey, we present
a general framework (an algorithm space) that integrates existing SAT algorithms into a uni ed perspective. We describe sequential and parallel SAT
algorithms including variable splitting, resolution, local search, global optimization, mathematical programming, and practical SAT algorithms. We give
performance evaluation of some existing SAT algorithms. Finally, we provide
a set of practical applications of the satis ability problems.
1. Introduction
An instance of the satis ability (SAT) problem is a Boolean formula that has
three components 101, 188]:
A set of n variables: x1, x2 , ..., xn.
A set of literals. A literal is a variable (Q = x) or a negation of a variable
(Q = x).
A set of m distinct clauses: C1, C2, ..., Cm . Each clause consists of only
literals combined by just logical or (_) connectives.
The goal of the satis ability problem is to determine whether there exists an
assignment of truth values to variables that makes the following Conjunctive Normal
1991 Mathematics Subject Classi cation. Primary 03B05, 03F20, 90A05, 68Q25, 68T15,
68Q42, 90C27, 90B40, 68T01, 68Q15; Secondary 68Q22, 68P10.
Key words and phrases. Combinatorial optimization, conjunctive normal form, constraint
satisfaction problem, decision theory, logic inference, nonlinear programming, parallel and distributed processing, propositional logic, satis ability problem, search, theorem proving.
This research was supported in part by 19871988 and 19881989 ACM/IEEE Academic
Scholarship Awards, and is presently supported in part by NSERC Research Grant OGP0046423,
NSERC Strategic Grants MEF0045793 and STR0167029, NSF Grant CCR9203941, ONR Grant
N000149410382, NSF Grants MIP 9218715 and MIP 9632316, 1996 DIMACS Workshop on
the satis ability (SAT) problems, and DIMACS visitor program.
0
c 0000 American Mathematical Society
10521798/00 $1.00 + $.25 per page
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
1
Form (CNF) formula satis able:
(1.1)
C1 ^ C2 ^ ^ Cm ;
where ^ is a logical and connective.
The SAT problem is a core of a large family of computationally intractable NPcomplete problems 101, 188]. Such NPcomplete problems have been identi ed
as central to a number of areas in computing theory and engineering. Since SAT
is NPcomplete, it is unlikely that any SAT algorithm has a fast worstcase time
behavior. However, clever algorithms can rapidly solve many SAT formulas of
practical interest. There has been great interest in designing e cient algorithms to
solve most SAT formulas.
In practice, SAT is fundamental in solving many problems in automated reasoning, computeraided design, computeraided manufacturing, machine vision, database, robotics, integrated circuit design automation, computer architecture design,
and computer network design (see Section 14). Therefore, methods to solve SAT
formulas play an important role in the development of e cient computing systems.
Traditional methods treat a SAT formula as a discrete, constrained decision
problem. In recent years, many optimization methods, parallel algorithms, and
practical techniques have been developed. In this survey, we present a general
framework (an algorithm space) that integrates existing SAT algorithms into a unied perspective. We describe sequential and parallel SAT algorithms and compare
the performance of major SAT algorithms including variable setting, resolution,
local search, global optimization, mathematical programming, and practical SAT
algorithms. At the end of this survey, we give a collection of practical applications
of the satis ability problem.
This paper is organized as follows.
1. Introduction
2. Constraint Satisfaction Problems
3. Preliminaries
4. An AlgorithmSpace Perspective of SAT Algorithms
5. SAT Input Models
6. Splitting and Resolution
7. Local Search
8. Global Optimization
9. Integer Programming Method
10. Special Subclasses of SAT
11. Advanced Techniques
12. Probabilistic and AverageCase Analysis
13. Performance and Experiments
14. Applications
15. Future Work
16. Conclusions
In the next section, we describe the constraint satisfaction problem (CSP) and its
close relationship to the SAT problem. Section 3 gives preliminaries for the paper.
In Section 4, we give a general framework (an algorithm space) that puts existing
SAT algorithms into a uni ed perspective. This is followed by a brief overview of
the basic SAT algorithm classes and a discussion of the general performance evaluation approaches for SAT algorithms. In Section 5, some SAT probleminstance
models are given. Section 6 describes the variable setting and resolution procedures
2
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
for solving SAT formulas. Local search algorithms, global optimization techniques
and integer programming approaches for solving SAT formulas are discussed, respectively, in Sections 7, 8, and 9. Section 10 discusses special subclasses of the
SAT problem. Some advanced techniques for solving SAT formulas are described
in Section 11. Section 12 gives probabilistic and averagecase analysis of the SAT
problem.
Experimental results and performance comparisons of several major SAT algorithms are given in Section 13. Presently for hard random 3SAT problem instances, a complete SAT algorithm could solve a SAT problem with a few hundred
variables. An incomplete SAT algorithm such as WSAT can solve SAT problem
instances with 2,000 variables on an SGI Challenge with a 70 MHz MIPS R4400
processor 475, 474]. The randomized local search algorithm, e.g., SAT1.5, can
solve various SAT problem instances with over 10,000 variables on a SUN SPARC
20 workstation comfortably 209, 212, 219]. Most practical SAT solvers used in
industrial applications are problem speci c. We collected some real experimental
results in Section 13. Section 14 summarizes some applications of the SAT problem. Future work for SAT research is discussed in Section 15. Finally, Section 16
concludes the paper.
2. Constraint Satisfaction Problems
A constraint satisfaction problem (CSP) is to determine whether a set of constraints over discrete variables can be satis ed. Each constraint must have a form
that is easy to evaluate, so any di culty in solving such a problem comes from
the interaction between the constraints and the need to nd a setting for the variables that simultaneously satis es all the constraints 433]. In a SAT formula, each
constraint is expressed as a clause, making SAT a special case of the constraint satisfaction problem (see Figure 1). Due to this close relationship, any CSP algorithm
can be transformed into a SAT algorithm, and this can usually be done in a way
that maintains the e ciency of the algorithm.
A discrete CSP model consists of the following three components 206, 228]:
n variables: fx1, x2, : : :, xng. An assignment is a tuple of n values assigned
to the n variables.
n domains: fD1 , D2 , : : :, Dn g. Domain Di contains d possible values (also
called labels) that xi may be instantiated, i.e., Di = fli;1 , li;2 , : : :, li;d g.
A subset of D1 D2 : : : Dn is a set of constraints. A set of orderl
constraints (l n) imposed on a subset of variables fxi1 ; xi2 ; : : : ; xil g
fx1; x2; : : : ; xng is denoted as
Ci1;i2 ;::: ;il Di1 Di2 : : : Dil :
An orderl constraint indicates the compatibility (i.e., consistency/inconsistency
or con icting measure) among l variables for a given variable assignment. The
variables con ict if their values do not satisfy the constraint. In practice, two
frequently used constraints are unary constraints imposed on a single variable (Ci
Di ) and binary constraints imposed on a pair of variables (Ci;j Di Dj ).
Solving a CSP entails minimizing local inconsistency and nding a consistent
value assignment (i.e., a consistent labeling) to the variables subject to the given
constraints.
Constraint satisfaction problems are extremely common. Most NPcomplete
problems are initially stated as constraint satisfaction problems. Indeed, the proof
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
8 Nqueen problem
8
>
Discrete < Graph coloring problem
>
>
CSP < CSP : Scheduling problem
>
>
SAT problem
>
: Binary
CSP
MaxSAT problem
3
Some examples of the constraint satisfaction problem
(CSP). SAT problem a special case of CSP, i.e., a CSP with binary
values.
Figure 1.
that a problem is NPcomplete implies an e cient way to transform the problem
into a constraint satisfaction problem. For a few special forms of the constraint
satisfaction problem there exist algorithms that solve such formulas in polynomial
worstcase time. When no polynomialtime algorithm is known for a particular form
of constraint satisfaction problem, it is common practice to solve such formulas with
a search algorithm.
Problems that are commonly formulated as constraint satisfaction or satis ability problems for the purposes of benchmarking include graph coloring and the
nqueens problems. In the case of the nqueens problem, although analytical solutions for this problem exist 2, 10, 30], they provide a restricted subset of solutions.
In practical applications, one must use a search algorithm to nd a general solution
to the CSP or SAT problems.
3. Preliminaries
To simplify our discussion, throughout this paper, let:
F be a CNF Boolean formula,
m be the number of clauses in F ,
n be the number of variables in F ,
Ci be the ith clause,
jCij be the number of literals in clause Ci,
Qi;j be the jth literal in the ith clause,
Pmi=1and
l be the average number of literals: m jCi j ;
where i = 1; :::; m and j = 1; :::; n.
On Boolean space f0; 1gn, let:
F(x) be a function from f0; 1gn to integer N,
xj be the jth variable,
x be a vector of n variables,
Ci(x) be the ith clause function, and
Qi;j (x) be the jth literal function of the ith clause function,
where i = 1; :::; m and j = 1; :::; n.
On real space E n , let:
N(x) be a real function from f0; 1gn to E,
f(y) be a real function from E n to E,
yj be the jth variable,
y be a vector of n variables,
4
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
ci (y) be the ith clause function, and
qi;j (y) be the jth literal function of the ith clause function,
where i = 1; :::; m and j = 1; :::; n.
On real space E n , also let:
wj be the jth integer variable, and
w be a vector of n integer variables,
where i = 1; :::; m and j = 1; :::; n.
Following 359], a realvalued function f de ned on a subset of E n is said to
be continuous at y if f(yk ) ! f(y). A set of realvalued functions f1 , f2 , ..., fm
on E n form a vector function f = (f1 ; f2; :::; fm) whose ith component is fi . It is
continuous if each of its component functions is continuous.
If f has second partial derivatives which are continuous on this set, we de ne
the Hessian of f at y to be the n n matrix denoted by
2
(3.1)
H(y) = r2f(y) = @@yf(@yy) :
i j
n
We call y 2 E with f(y) = 0 a solution of f, denoted as y .
Two aspects of iterative optimization algorithms are their global convergence
and local convergence rates 359]. Global convergence concerns, starting from an
initial point, whether the sequence of points will converge to the nal solution
point. Local convergence rate is the rate at which the generated sequence of points
converge to the solution.
4. An AlgorithmSpace Perspective of SAT Algorithms
In this section, we rst describe various formulations of SAT, then give an
algorithmspace perspective that provides some insights into developing e cient
algorithms for solving SAT. Following this, we give a brief overview of the basic
sequential and parallel SAT algorithms, and discuss various categories of algorithms
and performance evaluation methods.
4.1. Formulations of SAT. SAT problem can be expressed by Conjunctive
Normal Form (CNF) formulas (e.g., (x1 _x2)^(x1 _x2)) or Disjunctive Normal Form
(DNF) formulas (e.g., (x1 ^ x2) _ (x1 ^ x2)). Instances of SAT can be formulated
based on discrete or continuous variables 538, 540].
Discrete Formulations. These can be classi ed as unconstrained versus constrained.
(a) Discrete Constrained Feasibility Formulations. The goal is to satisfy all
constraints. One possible formulation is the CNF formulas given by (1.1). A second
formulation is the DNF formulas 207] discussed in Section 7.10.
(b) Discrete Unconstrained Formulations. A common formulation for CNF
formulas exists 209, 212, 472]. The goal is to minimize N(x), the number of
unsatis ed clauses, under the interpretation that numeric variable xi = 1 (xi = 0)
if Boolean variable xi = true (xi = false), respectively. That is,
(4.1)
min N(x) =
x2f0;1gn
m
X
i=1
Ci(x)
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
where
(4.2)
(4.3)
Ci (x) =
n
Y
j =1
5
Qi;j (xj )
8 1 x if x in C
<
j
j
i
Qi;j (xj ) = : xj
if xj in Ci
1
otherwise
In this case, N(x) = 0 when all the clauses are satis ed.
A similar formulation for DNF formulas exists (See Section 7.10, 235], 207], 213]).
Under the interpretation that numeric variable xi = 1 (xi = 0) if Boolean variable
xi = true (xi = false), respectively, the goal is to solve
(4.4)
min F(x) =
x2f0;1gn
where
(4.5)
(4.6)
Ci (x) = 1
n
Y
j =1
xj
m
X
i=1
Ci(x);
Qi;j (xj )
8
if xj in Ci
<
Qi;j (xj ) = : 1 xj if xj in Ci
1
otherwise
All the clauses are satis ed when F(x) = 0.
Alternatively, DNF formulas can be solved as follows:
(4.7)
max F(x) =
x2f0;1gn
where
(4.8)
Ci(x) =
Yn
j =1
m
X
i=1
Ci(x);
Qi;j (xj );
and Qi;j (xj ) is given by (4.6).
Usually, the question of falsi ability for a DNF formula is more interesting than
the question of satis ability. This can be solved as follows:
(4.9)
min F(x) =
x2f0;1gn
m
X
i=1
Ci(x);
where Ci(x) is given by (4.8). A formula is falsi able if F(x) = 0 for some x.
(c) Discrete Constrained Formulations. There are various forms of this formulation. One approach is to formulate SAT formulas as instances of the 01 integer
linear programming (ILP) problem.
Another approach is to minimize the objective function N(x), the number of
unsatis able clauses, subject to a set of constraints, as follows 538, 540]:
(4.10)
minx2f0;1gn N(x) =
m
X
i=1
Ci (x)
subject to Ci(x) = 0 8i 2 f1; 2; : : :; mg:
A formulation based on DNF can be de ned similarly.
6
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
This formulation uses additional constraints to guide the search. The violated
constraints provide another mechanism to bring the search out of a local minimum.
This formulation is used in a Lagrange multiplierbased method to solve the SAT
problem (see Section 8.7 and 538, 540]).
Continuous Formulations. In formulating a discrete instance of SAT in
continuous space, we transform discrete variables in the original formula into continuous variables in such a way that solutions to the continuous problem are binary
solutions to the original formula. Such a transformation is potentially bene cial
because an objective in continuous space may \smooth out" some infeasible solutions, leading to a smaller number of local minima explored. In the following, we
show two such formulations.
(a) Continuous Unconstrained Formulations. There are many possible formulations in this category. A simple formulation, UniSAT (Universal SAT Problem
Models) 207, 209, 211, 210], suggests:
(4.11)
min f(y) =
y 2E n
where
(4.12)
(4.13)
ci (y) =
n
Y
j =1
m
X
i=1
ci (y);
qi;j (yj )
8 jy T j if x in C
< j
j
i
qi;j (yj ) = : jyj + F j if xj in Ci
1
otherwise
where T and F are positive constants.
Two special formulations to (4.13) exist. In the UniSAT5 model 211, 213]
8 jy 1j if x is in C
< j
j
i
(4.14)
qi;j (yj ) = : jyj + 1j if xj is in Ci
1
otherwise
and in the UniSAT7 model 211, 213]:
8 (y 1)2 if x is in C
< j
j
i
qi;j (yj ) = : (yj + 1)2 if xj is in Ci
(4.15)
1
otherwise
Values of y that make f(y) = 0 are solutions to the original formula in (1.1).
UniSAT5 can be solved with e cient, discrete, greedy local search algorithms (Section 8 and 213]). UniSAT7 requires computationally expensive continuous optimization algorithms, rendering them applicable to only small formulas (Section 8
and 213, 218]).
(b) Continuous Constrained Formulations. This generally involves a heuristic
objective function that measures the quality of the solution obtained (such as the
number of clauses satis ed). One formulation similar to (4.11) is as follows.
(4.16)
miny2E n
f(y) =
m
X
i=1
ci (y)
subject to ci (y) = 0 8i 2 f1; 2; : : :; mg
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
7
Unconstrained
Parallel
Discrete
Continuous
Sequential
Constrained
The algorithm space is a uni ed framework for discrete
search algorithms and continuous optimization algorithms. The
octants represent eight basic classes of algorithms.
Figure 2.
where ci (y) is de ned in (4.12).
The key in this approach lies in the transformation. When it does not smooth
out local minima in the discrete space or when solution density is low, continuous
methods are much more computationally expensive to apply than discrete methods.
Since (4.16) is a continuous constrained optimization problem with a nonlinear objective function and nonlinear constraints, we can apply existing Lagrangemultiplier methods to solve it. Our experience is that a Lagrangian transformation
does not reduce the number of local minima, and continuous Lagrangian methods
are at least an orderofmagnitude more expensive to apply than the corresponding
discrete algorithms 80].
4.2. The Algorithm Space. Discrete search algorithms relate to continuous
optimization methods in operations research. Many discrete search problems can
be solved with numerical algorithms in the real space. A uni ed framework for
search and optimization would shed light on developing e cient algorithms for a
search problem. Figure 2 shows a typical algorithm space that uni es a variety of
search and optimization algorithms in terms of variable domain, constraint used,
and parallelism in the algorithms 213].
Satis ability is expressed with discrete variables, but some algorithms do their
calculations with continuous variables. This leads to the discretecontinuous axis in
the space. Satis ability has a set of constraints that must be satis ed exactly, but
some procedures (e.g., local search) consider changes in variable values in clauses
that do not satisfy the constraints (typically, these algorithms assign some cost to
nonsatisfying constraints and then look for the leastcost solution). This de nes
the vertical axis in Figure 2 showing constraint characteristics in the algorithm
space. Most SAT algorithms are sequential, while some have been implemented
8
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Unconstrained
local
search
..
.
unconstrained
optimization
..
.
Discrete
Continuous
linear
programming
..
.
consistency
checking
..
.
Constrained
Figure 3. A 2dimensional cross section of the algorithm space
cut at the sequential side. It indicates a uni ed framework for some
discrete search algorithms and continuous optimization techniques
for solving SAT.
in parallel. A third axis indicating parallelism in the algorithms is added in the
algorithm space. Following the three axes, the algorithm space is divided into eight
octants, representing the four sequential algorithm classes, i.e., discrete constrained
algorithms, discrete unconstrained algorithms, continuous constrained algorithms,
and continuous unconstrained algorithms, and four parallel algorithm classes, i.e.,
parallel discrete constrained algorithms, parallel discrete unconstrained algorithms,
parallel continuous constrained algorithms, and parallel continuous unconstrained
algorithms.
Figure 3 gives some typical examples for the four sequential classes of SAT
algorithms in the space In the discrete search space (left half of Figure 3), variables, values, constraints, and the objective functions are de ned with discrete
values. If one handles a discrete search problem with consistency checking or constraint resolution, the approach belongs to the class of discrete constrained methods 228, 361, 384, 542]. Alternatively, one can formulate the constraints into
an objective function and minimize the objective function without looking at any
problem constraints. Algorithms in this category are usually called the discrete,
unconstrained methods such as local search procedure. 209, 212, 403, 487, 491].
In the continuous search space (right half of Figure 3), variables, values, constraints, and objective functions are de ned quantitatively with real values. If one
solves a continuous optimization problem with explicit constraints, one uses continuous constrained methods, such as constrained minimization, primal methods, and
cutting plane methods 359]. If the problem constraints are incorporated into an
objective function, then the problem is transformed into an unconstrained one. The
latter can be solved by the continuous unconstrained methods, such as the descent
methods, conjugate direction methods, and Newton methods 213, 214, 359].
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
9
Unconstrained
Complete
Discrete
Continuous
Incomplate
Constrained
An algorithm space incorporating algorithm completeness for solving SAT. Each octant represents one class of SAT algorithms.
Figure 4.
From an operations research point of view, most discrete search algorithms
have continuous optimization versions, and most constrained search methods have
unconstrained counterparts. For instance, discrete consistency algorithms are constrained algorithms. If we formulate the amount of \inconsistency" into an objective function, a local search method can often be used to solve an input e ciently.
Furthermore, local search works in discrete search space. By extending a search
problem into a real search space, constrained and unconstrained global optimization
algorithms can be developed to solve SAT 35, 214, 213, 258, 285, 284].
The algorithm space provides a uni ed and global perspective on the development of search and optimization algorithms for solving SAT. In general, for a given
instance of a search problem if one can nd an algorithm in one octant, then one
could possibly nd some closely related algorithms in other octants. In the left two
quadrants in Figure 3, for example, once we had consistency algorithms and local
search algorithms for solving SAT, it would be natural to think about unconstrained
optimization algorithms for solving SAT in the right two quadrants  something
must be put there to meet the natural symmetry. This was the original incentive
to develop unconstrained optimization algorithms for solving SAT 213].
There are other ways of looking at a variety of SAT algorithms. A di erent
algorithm space for SAT that incorporates algorithm completeness was given in
213] (see Figure 4).
4.3. Basic SAT Algorithm Classes. Following the algorithm space, a number of major SAT algorithm classes can be identi ed. They are given in Figure 5
in chronological order. Most existing SAT algorithms can be grouped into these
categories.
Discrete, constrained algorithms. Algorithms in this category treat a SAT
formula as an instance of a constrained decision problem, applying discrete
10
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
8 1960: DavisPutnam (DP) algorithm 118]
8
8
>
>
>
>
>
>
1965: Resolution 449]
>
>
>
>
>
>
1971:
Consistency algorithms 95, 206, 271, 541]
>
>
>
>
>
>
1978:
Loveland's
DavisPutnam (DPL) 117, 357]
>
>
>
>
>
>
1986:
Parallel
consistency
chips 206, 226, 227]
>
>
>
>
>
>
1986:
Binary
decision
diagrams
(BDD) 17, 59]
<
>
>
>
>
1988:
Chip
and
conquer
192
]
Constrained
>
>
>
>
>
1990: DPL plus heuristic (DPLH) 284]
>
>
>
>
>
>
1989:
Local search & backtracking 212]
>
>
>
>
>
>
1993:
Backtracking
and probing 433]
>
>
>
>
>
>
1994:
Parallel
DP
algorithm
38]
>
<
>
>
>
1994:
Matrix
inequality
system
512]
Discrete
>
>
: 1996: CSAT 151]
>
>
>
>
>
>
>
8 1987: Randomized Local search (SAT1) 207, 212]
>
>
>
>
>
>
>
>
>
1987: Parallel local search (SAT1.6) 207, 212]
>
>
>
>
>
>
Local search for nqueen 206, 484, 485]
>
>
>
< 1988:
<
>
1990:
algorithm and hardware 492, 493]
>
Unconstrained > 1991: Unison
>
Local
search
complexity 221, 403]
>
>
>
>
>
1991:
Local
search
for 2SAT 402]
>
>
>
>
>
>
1992:
Local
search
with
(SAT1.5) 209, 212]
>
>
>
: 1992: Greedy local searchtraps
>
>
{
GSAT
472]
>
>
:
>
>
>
>
8 1986: Branchandbound (APEX) 35]
8
>
>
>
>
>
>
>
< 1988: Programming models 35, 285]
>
>
>
>
1988: Cutting plane 259, 257]
Constrained
>
>
>
>
>
1989: Branchandcut 260]
>
>
>
: 1989:
>
>
Interior point method 303, 301]
>
>
<
>
>
8 1987: UniSAT models 207, 211, 213]
Continuous >
>
>
>
>
>
>
< 1987: Global optimization (SAT6) 207, 213]
>
>
>
>
1989: Neural net models 291, 75]
Unconstrained
>
>
>
>
>
1990:
Global optimization & backtracking 213]
>
>
>
: 1991: SAT14
>
>
algorithms 213]
>
>
:
:
Figure 5.
Some typical algorithms for the SAT problem.
search and inference procedures to determine a solution. One straightforward way to solve an instance of SAT is to enumerate all possible truth
assignments and check to see if one satis es the formula. Many improved
techniques, such as consistency algorithms 228, 361], backtracking algorithms 34, 53, 64, 328, 425], termrewriting 130, 268], production system 482], multivalued logic 478], Binary Decision Diagrams 59, 17], chip
and conquer 192], resolution and regular resolution 195, 357, 397, 449,
514, 525, 549], independent set algorithm 281], and matrix inequality
system 512], have been proposed.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
11
Many of the discrete constrained algorithms eliminate one variable at a
time. This can be done either by making repeated use of resolution, as was
done in the original version of the DavisPutnam (DP) procedure 118], or
by assigning some variable each possible value and generating a subformula
for each value, as was done in Loveland's modi cation to the DP procedure
117, 357]. Resolution generates only one new formula, but in the worst
case the number of clauses in that new formula will be proportional to the
square of the number of clauses in the original formula. Assigning values to
a variable (often called searching) generates two new formulas. For random
formulas, resolution methods are fast when the number of clauses is small
compared to the number of values 166, 86], while search methods are fast
except when the number of clauses is such that the expected number of
solutions is near one 433]. The two approaches can be combined, using
resolution on some variables and search on others.
Other speci c algorithms using these principles include simpli ed DP
algorithms 181, 203, 430], and a simpli ed DP algorithm with strict ordering of variables 269]. The DP algorithm improved in certain aspects
over Gilmore's proof method 197]. Analyses of SAT algorithms often concentrates on algorithms that are simple because it is di cult to do a correct
analysis of the best algorithms. Under those conditions where simple algorithms are fast, related practical algorithms are also fast. (It is di cult to
tell whether a practical algorithm is slow under conditions that make the
corresponding simpli ed algorithm slow.)
A number of special SAT problems, such as 2satis ability and Horn
clauses, are solvable in polynomial time 5, 101, 397]. There are several
linear time algorithms 18, 155] and polynomial time algorithms 402, 462]
existing.
Discrete, unconstrained algorithms. In this approach, the number of unsatisable CNF (or satis able DNF) clauses is formulated as the value of the objective function, transforming the SAT formula into a discrete, unconstrained
minimization problem to the objective function. Local search is a major class
of discrete, unconstrained search methods 209, 212, 228, 221, 403, 472].
It can be used to solve the transformed formula (see Section 7).
Constrained programming algorithms. Methods in this class were developed
based on the fact that CNF or DNF formulas can be transformed to instances
of Integer Programming, and possibly solved using Linear Programming relaxations 35, 258, 259, 285, 303, 301, 401, 548]. Many approaches,
including branchandbound 35], cuttingplane 259, 257], branchandcut
260], interiorpoint 303, 301], and improved interiorpoint 479], have
been proposed to solve the integer program representing the inference problem. Researchers found integer programming methods faster than resolution
for certain classes of problems, although these methods do not possess a
robust convergence property and often fail to solve hard instances of satisability 35, 258, 259, 285, 303, 301].
Unconstrained, global optimization algorithms. Special models have been
formulated to transform a discrete formula on Boolean space f0; 1gn (a decision problem) into an unconstrained UniSAT problem on real space E n (an
unconstrained global optimization problem). The transformed formulas can
12
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
8 1983: Parallel CLP algorithms 517, 372]
8
8
>
>
>
>
>
>
1986: Parallel DRA chips 206, 226, 227]
>
>
>
>
>
>
1987:
DP algorithm 87]
>
>
>
< 1988: Parallel
>
>
Parallel
AC algorithms 461]
>
>
Constrained > 1988: Parallel CSP
>
>
architectures 206, 227]
>
>
>
>
>
1990:
Unison
algorithm
and hardware 492, 493]
>
>
>
>
<
>
1992:
Vectorized
DP
algorithm
>
>
Discrete >
: 1994: MIMD DP algorithm 38] 157]
>
>
>
>
>
>
8 1987: CNF local search 207, 212]
>
>
>
>
>
>
>
>
< 1987: DNF local search 207, 213]
>
<
>
1987: Parallel local search 207, 212]
Unconstrained
>
>
>
>
1991: Discrete relaxation 208]
>
>
>
: 1993:
:
>
Multiprocessor local search 490, 489]
>
>
>
8 Constrained 1989: Interior point method 303, 301]
>
>
>
>
>
>
>
8 1987: UniSAT models 207, 213]
>
>
>
>
>
<
>
>
1987: Global optimization (SAT6) 207, 213]
>
>
Continuous
< 1991:
>
relaxation 208]
>
>
Unconstrained > 1991: Continuous
>
>
SAT14
algorithms
213]
>
>
>
>
>
1991:
Parallel
global
optimization
211, 213]
>
>
>
:
: 1992: Neurocomputing 215]
:
Figure 6.
Some parallel SAT/CSP algorithms.
be solved by many existing global optimization methods 207, 209, 211,
213, 228] (see Section 8).
4.4. Parallel SAT Algorithms. In practice, most sequential SAT algorithms
can be mapped onto parallel computer systems, resulting in parallel SAT algorithms
215]. A speedup greater than the number of processors sometimes occurs because
of correlations among variable settings that lead to solutions 386, 340]. Accordingly, as given in Figure 6, there are four classes of parallel algorithms for solving
SAT.
Parallel, discrete, constrained algorithms. Many discrete, constrained SAT
and CSP algorithms have been implemented in parallel algorithms or put on
specialpurpose, hardware VLSI architectures. These include parallel consistent labeling algorithms 517, 372], parallel discrete relaxation (DRA)
chips 226, 206, 227], parallel arc consistency (PAC) algorithms 461],
parallel constrained search architectures 206, 227], parallel Unison algorithms 492], parallel Unison architectures 493], parallel DP algorithms
38, 87, 157], and parallel logical programming languages 99, 353, 532,
533, 534].
Parallel, discrete, unconstrained algorithms. A number of discrete local optimization algorithms were implemented on parallel computing machines.
These include CNF local search 207, 212], DNF local search 207, 213],
parallel local search 207, 212], and multiprocessor local search 490, 489].
8
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
<
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
:
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
8
>
>
>
>
>
>
>
GeneralPurpose <
Programming >
>
>
>
>
>
>
:
8
>
>
>
>
>
>
>
SpecialPurpose <
Architectures >
>
>
>
>
>
>
:
Figure 7.
Sequential
Machines
VAX8600
SUN workstations
Sequential
Machines
1980: Analog processor 374]
1986: DRA1 architectures 319, 226]
13
8 1983: Multicomputers 517, 372]
>
>
1987: CRAY 460]
>
>
1988:
BBN butter y plus 459]
<
Parallel
1988:
Connection
machine 103]
Machines >
1989:
KORBX
vector
computer 303, 301]
>
>
1992:
ETA10Q
Vector
computer 157]
>
: 1994: INMOS Transputer
38]
8 1986: DRA architectures 206, 226, 227]
>
>
1986: mDRA architectures
>
>
1987: CSP architectures 206]
<
Parallel
1987:
mCSP architectures 206]
Machines >
1988:
DRA model architecture 103]
>
>
1989:
DRA
architecture 352]
>
: 1990: Unisonmodel
architectures 492, 493]
Computer architectures used for running SAT/CSP algorithms.
A new relaxation technique was developed in a parallel and distributed
environment 208].
Parallel, constrained programming algorithms. Kamath et al. implemented
an interior point zeroone integer programming algorithm on a KORBX(R)
parallel/vector computer 303, 301].
Parallel, unconstrained, global optimization algorithms. Several of these
algorithms have been implemented: UniSAT models 207, 213], parallel,
continuous relaxation 208], and parallel global optimization algorithms
211, 213].
Computer architectures a ect the data structures, implementation details, and
thus the performance of SAT algorithms. A variety of computer systems have
been used for running SAT algorithms (Figure 7). Most early studies of CSP/SAT
algorithms were performed on sequential computers. Recent work has been concentrated on parallel programming on multiprocessors. McCall et al. 372, 517] simulated an 8processor architecture with various system, topology and performance
criteria for the forward checking CSP algorithm. Samal implemented several parallel AC algorithms on a CRAY computer 460] and an 18node BBN Butter y Plus
MIMD, sharedmemory, homogeneous parallel processor 459]. Cooper and Swain
implemented parallel AC algorithms on a Connection Machine 103]. Kamath and
Karmarkar et al. implemented an interior point zeroone integer programming algorithm for SAT on a KORBX(R) parallel/vector computer 303, 301]. Recently,
Fang and Chen implemented a vectorized DP algorithm on an ETA10Q vector computer 157]. Speckenmeyer and Bohm have experimented with the parallelization
14
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
of variants of the DavisPutnamLoveland (DPL) procedure on a message based
MIMD Transputer system built with 320 (INMOS T800/4MB) processors 38].
In their implementation, for some small k, each of 2k processors solves a formula
arising at depth k of a DPL search tree, and computation ceases as soon as one
processor reports that its formula is satis able. Speckenmeyer noticed that the
time to completion was usually less than N=2k where N is the time taken by the
serial version 38].
Research works continue by building specialpurpose VLSI architectures to
speed up SAT/CSP computations. For an nvariable and mvalue instance of CSP,
Wang and Gu 543, 544] gave an O(n2 d2) time parallel DRA2 algorithm and
an SIMD DRA2 architecture. Furthermore, Gu and Wang 226] gave an O(n2 d)
time parallel DRA3 algorithm and a dynamic DRA3 architecture for solving general DRA problems. Later, Gu and Wang 206, 227] developed an O(nd) time,
massively parallel DRA5 algorithm and a parallel DRA5 VLSI architecture. For
problems of practical interest, parallel DRA algorithms running on specialpurpose
VLSI architectures o er many orders of magnitude in performance improvement
over sequential algorithms.
Recently, Sosic, Gu, and Johnson have developed a number of parallel algorithms and architectures for di erential, nonclausal inference of SAT formulas
492, 493].
An extreme example of parallel processing is to compute using chemistry with
DNA molecules. This would appear to lead a factor of about 1023 degrees of
parallelism with a slow down of perhaps 1010 in the time for computation steps, but
this approach has not been investigated in enough detail to determine its practical
limitations 3, 355]. This SAT evaluation approach is both parallel and random
 if it says you have a solution then de nitely you do, if it says you do not then
probably you do not.
4.5. Algorithm Categories. Some SAT algorithms are complete (they definitely determine whether an input has a solution or does not have one) 59,
118, 117, 357, 449], while others are incomplete (they sometimes determine
whether or not the input has a solution, but in other cases they cannot nd one)
212, 213, 301, 402].
Most incomplete algorithms nd one solution (or perhaps several solutions) in
favorable cases, but give up or do not terminate in other cases. In such cases one
does not know whether the input has no solution or the algorithm did not search
hard enough. Some incomplete algorithms can verify that a formula has no solution
but can not nd one if at least one solution exists. Such is the case for incomplete
algorithms that check for patterns that imply unsatis ability. In the strict sense
of the word algorithm, incomplete algorithms are not algorithms at all, but such
procedures are of particular interest for inputs that are so di cult that a complete
algorithm cannot solve them in reasonable time.
Complete algorithms can perform one of the following actions: (1) determine
whether or not a solution exists, (2) give the variable settings for one solution,
(3) nd all solutions or an optimal solution, (4) prove that there is no solution.
Algorithms of the rst type would be of theoretical interest only were it not for the
fact that any such algorithm can be modi ed, with little loss of e ciency, to give
an algorithm of the second type. Algorithms of the third type are needed when
there is some measure of the solution quality, and the optimal solution is sought or
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
15
when the overall problem has constraints in addition to those of the SAT instance.
The algorithms are essential to many important practical applications that are
NPhard in nature. Recently, Major et. al. used SAT to precede a program to
calculate chemical interaction energies to predict RNA folding 362]. Gu and Puri
developed an e cient complete SAT algorithm for asynchronous computer circuit
design, aiming at producing the minimal circuit structure 216, 438]. Incomplete
algorithms cannot optimize solution quality, playing little role in solving practical
optimization problems.
Requiring a program to produce each solution in explicit form ensures that
the worstcase time will be exponential whether or not P = NP (because some
inputs have an exponential number of solutions). An alternative is to give the
solutions in some compressed form. For example, some algorithms implicitly list
all solutions by giving cylinders of solutions, i.e., the settings of some variables
with the understanding that the remaining variables are don't cares which can have
any value. For some formulas, using this approach to represent all solutions is
much more compact than an explicit representation 64, 376]. Binary Decision
Diagrams (BDD) are a more sophisticated and compact way to represent the set of
all solutions 59, 17]. Some instances of SAT, however, have a structure such that
it is faster to generate the solution to various subsets of the constraints (depending
on a subset of the variables) and then test whether those various solution sets have
anything in common rather than try to solve the entire formula at once. This
type of SAT algorithm shows greater e ciency improvements for certain practical
engineering design problems 439].
The techniques used in complete SAT algorithms can usually be adapted to
provide exact solutions to optimization problems. The techniques used in incomplete SAT algorithms can usually be adapted to provide approximate solutions to
optimizations problems. They normally lead to algorithms that produce low (but
not necessarily the lowest) value of the function.
For random sets of formulas, the probability that a particular formula has at
least one solution is perhaps the most important parameter for determining how
di cult the set will be for a particular algorithm. The best known algorithms have
di culty when the probability is near 0.5, but are fast when the probability is close
to 0 or 1. We use formulas generated from the 3SAT model as an example. Figure
8 shows, for 50 variables, the real execution results of the DP algorithm for 100 to
500 clauses. The computing time used by a program for the DP algorithm ( 118,
117, 357]) is shown for the 3SAT model (solid line) and the average 3SAT model
(dotted line) 207, 212, 383, 109]. Random formulas generated in the left region
are usually satis able, and the procedure is fast. Random formulas in the right
region are usually unsatis able, and the procedure is fast. For random formulas in
the middle, many are satis able and many are unsatis able; the procedure is slow.
Because the DP algorithm is a complete algorithm, it is able to verify satis ability
and unsatis ability. So it gives results for random formulas in all three regions.
The results of the DP algorithm may not hold for a di erent SAT algorithm.
A local search may often nd a solution for a satis able CNF much more quickly
than the DP algorithm but does not always verify satis ability and cannot prove
unsatis ability. In particular, it gives no answer if a CNF formula is not satis able.
Thus, for most formulas in the peak region and nearly all formulas in the right
region, a local search algorithm will not terminate in a reasonable amount of time.
16
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Exact 3SAT
Average 3SAT
Computing Time (msec.)
250
200
150
100
50
0
100
150
200
250
300
350
number of clauses
400
450
500
Computing time for the exact and the average 3SAT
models (with 50 variables) on a SUN SPARC 1 workstation. The
horizontal axis is measured by m or m=n.
Figure 8.
4.6. Performance Evaluation. The performance of an algorithm can be determined experimentally or analytically. It is feasible to do experimental studies
with typical or random formulas, but not with worstcase formulas (there are too
many formulas of a given size to experimentally determine which one leads to the
worstcase time). It is feasible to do analytical studies with random or worstcase
formulas but not with typical formulas (typical sets of formulas seldom have a
mathematical structure suitable for analysis).
Experimental studies are sometimes inconclusive because they consider a relatively small number of input possibilities. Such restrictions are often forced because
the space of likely input formulas, and even the size of such formulas, is so large.
Analytical studies are intended to determine performance over broad families of inputs where each family typically represents a class of formulas of a particular size.
However, such studies have the drawback that only the simplest of algorithms can
be analyzed. To compensate for this, several features of a complex algorithm can
be removed, leaving a rather simple, more analyzable one. The simpli ed algorithm
usually contains one or two simple techniques, such as the unitclauserule, or the
pureliteralrule. An analytical result on the simpli ed algorithm provides a bound
on the performance of the complex algorithm, and this bound is sometimes su cient to understand the behavior of the complex algorithm. Such an approach has
the following side bene t: analytical studies can suggest which simple techniques
should be included in practical algorithms. In fact, most of the 6 prize winners of
the 1991 SAT contest were associated with analytical studies of SAT algorithms
69, 70]. The two top winners were associated with both experimental and analytical studies of SAT algorithms. The analytical studies of SAT algorithms involve
the following.
1. WorstCase Studies.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
17
Unless P = NP, all SAT algorithms have a worstcase time that is superpolynomial in the input size 101]. A number of studies have concentrated on the
worstcase analysis of variable setting algorithms for solving SAT 192, 385, 320].
2. Probabilistic Studies.
Since the typical performance of many satis ability algorithms is much better
than any proven worstcase results, there is considerable interest in evaluating the
probabilistic performance of these algorithms. Such studies use some model for
generating random formulas and then calculate the performance of algorithms on
these formulas. The two most widely used measures of performance are average
time and probabilistic time.
Average time is a weighted average of the time (or some related measure, such
as the number of nodes) to solve a given sample of formulas. An algorithm must
solve each formula for the average to be de ned. In probabilistic time studies, an
algorithm is given a deadline (usually speci ed as a polynomial in the length of
input formulas), and one studies the fraction of formulas that are solved within
the deadline. Probabilistic time studies can be performed on algorithms which give
up on some fraction of the formulas so long as that fraction is less than the goal
fraction.
For incomplete algorithms, the average time is not de ned so only the fraction
of inputs solved can be studied. One can also use various hybrid measures, such as
the average time used to solve the easiest 90 percent of the inputs.
The literature contains a number of studies of the average time and probabilistic
time performance of certain SAT algorithms 53, 168, 417, 167, 201, 202, 203,
269, 424, 432, 427]. Despite the worstcase complexity of SAT, algorithms and
heuristics with polynomial average time complexities have been reported 82, 83,
165, 425, 429, 430, 431, 552]. This subject is treated in more detail in Section 12.
3. Number of Solutions.
Some researchers investigated the number of solutions of random SAT formulas.
Extending Iwama's work 281] Dubois gave a combinatorial formula computing the
number of solutions of any set of clauses 148]. Dubois and Carlier also studied
the mathematical expectation of the number of solutions for a probabilistic model
149].
During the past two decades, many performance studies were performed through
sampling techniques 313, 424, 501],1 experimental simulations 54, 191, 241],
analytical studies 53, 176, 177, 432, 425, 429, 500], as well as the combined
e ort of the above approaches 191, 266, 313, 424, 500].
5. SAT Input Models
In this section, we describe several basic SAT input models and their characteristics.
1 Knuth 313] rst showed how to measure the size of a backtrack tree by repeatedly following
random paths from the root. Purdom 424] gave a modi ed version of Knuth's algorithm which
greatly increases the e ciency of Knuth's method by occasionally following more than one path
from a node. Stone and Stone 501] presented a variant of the algorithms of Knuth and Purdom
for estimating the size of the unvisited portion from the statistics of the visited portion.
18
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
5.1. Random Input Models. The running time of a SAT algorithm depends
on the type of input being solved. The following SAT input models are often used
to generate a variety of input types.
Hardest formulas. Generate that formula that is the most di cult for the
algorithm being measured. This approach is often used for analytical studies.
There are too many possible formulas to use this approach in experimental
studies. Bugrara and Brown 65] reported the e ects these minor variations
have on the average time needed by the simple backtracking algorithm.
Experimental studies sometimes include results for the hardest formulas
from the set of formulas tested, but such results are quite di erent from what
the results would be if the entire set of possible formulas had been tested.
Most analytical studies use the following two basic models to generate random
CNF formulas. Each model has several variations depending on whether identical
clauses are permitted, whether a variable and its negation can occur in a clause,
etc.
The lSAT model. In the lSAT model, a randomly generated CNF formula consists of m independently generated random clauses. Each clause
is chosen uniformly from the set of all possible clauses of exactly l literals
that can be composed from a variable set X = fx1; : : : ; xng such that no
two literals are equal or complementary. The number of possible clauses is
2l n()l. This model is sometimes called the xedclauselength model. Similar
models were used in 53, 82, 83, 168, 417, 212, 213, 383, 376, 429].
The average lSAT model. In the average lSAT model, a randomly generated CNF formula consists of m independently generated random clauses.
In each clause, each of n variables occurs positively with probability p(1 p),
negatively with probability p(1 p), both positively and negatively with
probability p2, not at all with probability (1 p)2, where p can be a function
of m and n. The average number of literals in a clause is l = 2pn. This model
is also called the randomclauselength model. This model and variations
were used in 165, 166, 203, 209, 212, 213, 259, 260, 303, 301, 479].
Most papers use just one model, but the performance of simple backtracking
has been considered under a number of related models 65].
5.2. Hardness. Various SAT algorithms di er greatly in the amount of time
they need to solve particular inputs. For example, Iwama's algorithm 281] is fast
for random formulas with lots of solutions and slow for random formulas with few
solutions, while simple backtracking 431] is fast on formulas with few solutions and
slow on formulas with many solutions. Therefore, the hardandeasy distributions
of SAT formulas depend not only on the inherent property of the SAT input models
but also on the algorithms used to solve the formulas. Any particular SAT formula
is easy for some algorithm (for example a table lookup algorithm with that formula
in its lookup table). Thus, hardness is a property of large sets of formulas rather
than individual formulas.
For sets of formulas generated by random models with parameters, the probability of nding a solution varies with the parameter settings. Those sets generated
with parameters set in regions where solutions are going from unlikely to common
are particularly di cult for all algorithms that have been studied (see Figure 9).
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
19
100
Percentage of Satisfiability
Exact 3SAT
Average 3SAT
80
60
40
20
0
100
150
200
250
300
350
number of clauses
400
450
500
Figure 9. Percentage of satis ability for formulas with 50 variables generated by the 3SAT and the average 3SAT input models,
respectively. The horizontal axis is measured by m or m=n.
For random lSAT formulas fewer literals and larger number of clauses reduce
the possibility of making all clauses jointly satis able. Therefore the computing
time for random lSAT formulas increases, up to a point, when m=n increases or
the number of literals l (l > 3) in each clause decreases (Figure 8). Inspection of
Figure 8 reveals a \hump" of di culty for lSAT formulas where 50% of the sample
space is satis able, but a \ at" increase in di culty for random lSAT formulas in
a correspondingly similar region of the parameter space.
5.3. Comparison of Random Input Models. The structural properties
of random formulas generated by the two input models given above can be quite
di erent and this can have a signi cant impact on the performance of a complete
SAT algorithm. This signi cance is felt especially in the region of the parameter
space for which random formulas are nearly equally likely to be satis able or unsatis able. Figure 8 shows, for 50 variables, the actual computing time of a complete
SAT (SAT14:11) algorithm2 for random formulas generated from the 3SAT model
and the average 3SAT model 207, 212, 214, 213]. Figure 9 shows the percent
of random formulas that are satis able as a function of formula size for both models. For a complete algorithm, the problem instances generated from the average
3SAT model is much easier than those generated from the 3SAT model. It takes
a complete algorithm much less computing time to solve formulas generated from
the average 3SAT model.
For an incomplete algorithm such as local search, however, the situation is different. In Figure 9, for the same number of clauses (i.e., the same m=n values),
problem instances generated from the average 3SAT model have much lower percentage of satis ability (compared to those generated from the 3SAT model). The
satandunsat boundary of the average 3SAT model is shifted to the left and is
2 SAT 14:11 is a backtracking algorithm combined with coordinate descent in the real
space
213
].
20
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
100
Percentage of Satisfiability
Minimum C = 1
Minimum C = 2
80
60
40
20
0
100
150
200
250
300
350
number of clauses
400
450
500
Percentage of satis ability for two average 3SAT
problem models with jC jmin = 1 and jC jmin = 2 (50 variables),
respectively. Problem instances generated with smaller length of
the shortest clauses have much lower percentage of satis ability.
Figure 10.
drawn by smaller m=n values than those for the 3SAT problem model. For the
same m=n values, more problem instances generated from the average 3SAT model
are unsatis able, making it harder for a local search algorithm to handle the average 3SAT problem model. Experimental results con rmed that it took a local
search algorithm (SAT1 for example) much longer time to solve problem instances
generated from the average lSAT models 209].
Many factors can a ect the property of the random models signi cantly. For
the same average 3SAT problem model even a slight variation to the length of
the shortest clause in a CNF formula would signi cantly shift the satandunsat
boundary. In Figure 10, the solid curve was generated from an average 3SAT
model. The length of the shortest clause in the model was 1. The dotted curve was
generated from the same average 3SAT model but the length of the shortest clause
was set to 2. Clearly, shorter clauses enforce tighter constraints and generate much
harder random instances for the same model.
Incomplete algorithms that fail on unsatis able inputs can be e ective only in
the halfplanes m=n < 2l =l for the lSAT model and pn > ln(m) for the average
lSAT model, where the probability that a random formula is satis able is high (see
Section 12). Incomplete algorithms that fail on satis able inputs can be e ective
only in regions complementary to those above.
Experience with the best complete algorithms has caused some to conclude the
following:
1. Average lSAT formulas are easy for the best algorithms;
2. lSAT formulas are di cult even for the best algorithms; and
3. Formulas generated by both models are of similar di culty when the average
clause length is large.
Obviously, there are some con icts in these beliefs.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
21
5.4. Practical Input Models. Random input models such as those discussed
above are suitable for analytical studies of SAT algorithms because they generate
formulas which possess a symmetry that can be exploited for analysis. Actual
formulas often have a di erent structure. Therefore, structured problem instances
and practical SAT applications are essential to evaluate the performance of SAT
algorithms. Examples of these are the following:
Regular SAT models. Models derived from problems such as graph coloring and nqueens, are used to assess the performance of SAT algorithms
211, 213].
Practical applications problems. Models derived from practical application domains, such as integrated circuit design, mobile communications,
computer architecture and network design, computeraided manufacturing,
and realtime scheduling, have a variety of special characteristics (see Section
14).
Some experiments strongly suggest that there is little correlation between the
performance of a SAT algorithm tested through random input models and the performance of the same algorithm tested through practical input models. Local search
is faster for some random inputs but can be slower than a complete SAT algorithm
for problems raised from practical applications. The boundary phenomenon discussed in random models is an artifact of some probabilistic models. It has not yet
been observed in practical input models.
Practical applications are ultimately the most important, although it is di cult
for people outside the area of application to understand how important or di cult
a particular application problem is. It is also di cult to develop a general theory
on the speed of SAT algorithms on applications. Much research is, therefore, done
on the more regular source of problems in the hope of better understanding the
speed that SAT algorithms will have when applied to a wide range of practical
applications.
6. Splitting and Resolution
Recursive replacement of a formula by one or more other formulas, the solution
of which implies the solution of the original formula, is an e ective paradigm for
solving CNF formulas. Recursion continues until one or more primitive formulas
have been generated and solved to determine the satis ability of the original. One
way to achieve this is through splitting.
In splitting, a variable v is selected from a formula, and the formula is replaced
by one subformula for each of two possible truth assignments to v. Each subformula has all the clauses of the original except those satis ed by the assignment
to v and otherwise all the literals of the original formula except those falsi ed by
the assignment. Neither subformula contains v, and the original formula has a
satisfying truth assignment if and only if either subformula has one. Splitting
insures that a search for a solution terminates with a result.
Another e ective paradigm is based on resolution 449]. In resolution, a variable v is selected and a resolvent (see below) obtained using v is added to the
original formula. The process is repeated to exhaustion or until an empty clause is
generated. The original formula is not satis able if and only if an empty clause is a
resolvent. Although there is only one new formula on each step, the total number
of steps (or resolvents) can be extremely large compared to the number of clauses
22
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
in the original formula. Many algorithms that use resolution form all possible resolvents using a particular variable at one time. When this is done, the original
clauses that contain the variable and its negation may be dropped. An algorithm
may use both splitting and resolution.
Early examples of these approaches are the two forms of the Davis Putnam
procedure. The original DP procedure used resolution 118] while the revised
version, i.e., the DavisPutnamLoveland (DPL) procedure, used splitting 117,
357]. Combining splitting with depth rst search in the DPL procedure avoids
memory explosion that occurs on many inputs when they are solved by the original
DP procedure.
Most recursive SAT algorithms use the following primitive conditions to stop
the recursion:
1. formulas with an empty clause have no solution.
2. formulas with no clauses have a solution.
3. formulas with no variables (i.e., all variables have been assigned values) are
trivial.
The following subsections present various SAT algorithms, organized by the
basic approach that each algorithm takes. Some of these algorithms are much
simpler than you would want to use in practice but are of interest because it has
been possible to analyze their running time for random formulas.
6.1. Resolution. Given two clauses C1 = (v _ x1 _ ::: _ xl1 ) and C2 = (v _
y1 _ ::: _ yl2 ), where all xi and yj are distinct, the resolvent of C1 and C2 is the
clause (x1 _ ::: _ xl1 _ y1 _ ::: _ yl2 ), that is, the disjunction of C1 and C2 without v
or v. The resolvent is a logical consequence of the logical and of the pair of clauses.
Resolution is the process of repeatedly generating resolvents from original clauses
and previously generated resolvents until either the null clause is derived or until no
more resolvents can be created 449]. In the former case (a refutation) the formula
is unsatis able and in the latter case it is satis able.
For some formulas the order in which clauses are resolved can have a big e ect
on how much e ort is needed to solve it. The worstcase associated with the best
possible order (the order is selected after the formula is given) has received considerable study 181, 514, 232, 522]. These studies all used formulas that have
no solution, but where this is not obvious to the resolution algorithm. Eventually
a much stronger result was shown: nearly all random lSAT formulas need exponential time when the ratio of clauses to variables is above a constant (whose value
depends on l) 86]. The constant is such that nearly all of the formulas in this set
have no solution.
A number of restrictions and at least one extension to resolution have been
proposed and applied to CNF formulas. Restrictions aim to shorten the amount of
time needed to compute a resolution derivation by limiting the number of possible
resolvents to choose from at each resolution step. The extension aims to provide
shorter derivations than possible for resolution alone by adding equivalences which
o er more clauses on which to resolve. A nice treatment of these re nements can
be found in 63], Chapter 4. We mention here a few of these.
Set of Support 551]. Split a given formula into two sets of clauses F1 and
Fs such that F1 is satis able. Permit only resolutions involving one clause either
in Fs or an appropriate previous resolvent. Set Fs is called the support set. This
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
23
restriction can be useful if a large portion of the given formula is easily determined
to be satis able.
P and NResolution. If one of the two clauses being resolved has all positive
literals (resp. negative literals), then the resolution step can be called a Presolution
(resp. Nresolution) step. In Presolution (resp. Nresolution) only Presolution
(resp. Nresolution) steps are used. Clearly there is great potential gain in this
restriction due to the usually low number of possible resolvents to consider at each
step. However, it has been shown that some formulas solved in polynomial time
with general resolution require exponential time with Nresolution.
Linear Resolution. We have linear resolution if every resolution step except
the rst involves the most recently generated resolvent (the other clause can be a
previous resolvent or a clause in the given formula). Depending on the choice of
initial clause and previous resolvents it is possible not to complete a refutation.
Regular Resolution 514]. In every path of a resolution tree no variable is
eliminated more than once.
DavisPutnam Resolution. Once all the resolvents with respect to a particular variable have been formed, the clauses of the original formula containing that
variable can be dropped. Doing this does not change the satis ability of the given
formula, but it does change the set of solutions to the extent that the value of that
variable is no longer relevant. When dropping clauses, it is natural to rst form all
the resolvents for one variable, then all the resolvents for a second variable, and so
on. When doing resolution in this way, it is easy to nd one satisfying assignment
if the formula is satis able. At the next to last step the formula has just one variable, so each value can be tested to see which one satis es the formula (perhaps
both will). Pick a satisfying value and plug it into the formula for the next step,
converting it into a one variable formula. Solve that formula and proceed in this
manner until an assignment for all variables is found.
Extended Resolution 514]. For any pair of variables a, b in a given formula
F , create a variable z not in F and append the following expression to F : (z _ a) ^
(z _ b) ^ (z _ a _ b). Judicious use of such extensions can result in polynomial size
refutations for problems that have no polynomial size refutations without extension.
The following strategies help reduce the time to compute a resolution derivation.
Subsumption. If the literals in one clause are a subset of those in another
clause, then the smaller clause is said to subsume the larger one. Any assignment
of values to variables that satis es the smaller clause also satis es the larger one, so
the larger one can be dropped without changing the set of solutions. Subsumption
is of particular importance in resolution algorithms because resolution tends to
produce large clauses.
24
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Pure Literals. A literal is pure if all its occurrences are either all positive
or all negative. No resolvents can be generated by resolving on a pure literal, but
all clauses containing a pure literal can be removed without loss. An important
improvement to the basic resolution algorithm is to rst remove clauses containing
pure literals (before resolving on nonpure literals) 118].
Although resolution can be applied to SAT, the main reason for interest in
resolution is that it can be applied to the more di cult problem of solving sentences
of rst order predicate logic. There is a vast literature on that subject. Bibel has
a good book on the topic 32].
6.2. Backtracking. Backtracking algorithms are based on splitting. During
each iteration, the procedure selects a variable and generates two subformulas
by assigning the two values, true and false, to the selected variable. In each subformula, those clauses containing the literal which is true for the variable assignment
are erased from the formula, and those clauses which contain the literal which is
false have that literal removed. Backtrack algorithms di er in the way they select
which variable to set at each iteration. The unit clause rule, the pure literal rule,
and the smallest clause rule, are three most common ones. We state each algorithm
informally.
The ow of control in splittingbased algorithms is often represented by a search
tree. The root of the tree corresponds to the initial formula. The internal nodes
of the tree correspond to subformulas that cannot be solved directly, whereas the
leaf nodes correspond to subformulas that can be solved directly. The nodes are
connected with arcs that can be labeled with variable assignments.
Simple Backtracking 53]. If the formula has an empty clause (a clause
which always has value false) then exit and report that the formula has no solution.
If the formula has no variables, then exit and report that the formula has a solution.
(The current assignment of values to variables is a solution to the original formula.)
Otherwise, select the rst variable that does not yet have a value. Generate two
subformulas by assigning each possible value to the selected variable. Solve the subformulas recursively. Report a solution if any subformula has a solution, otherwise
report no solution.
Unit Clause Backtracking 425]. This algorithm is the same as simple
backtracking except for how variables are selected. If some clause contains only one
of the unset variables then select that variable and assign it a value that satis es
the clause containing it; otherwise, select the rst unset variable.
In practice, this improved variable selection often results in much faster backtracking 34].
Clause Order Backtracking 64]. This algorithm is the same as simple
backtracking except for how variables are selected. If this setting does not solve
the formula, then select the rst clause that can evaluate to both true and false
depending on the setting of the unset variables. Select variables from this clause
until its value is determined.
By setting only those variables that a ect the value of clauses, this algorithm
sometimes avoids the need to assign values to all the variables. The algorithm
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
25
as stated nds all the solutions, but in a compressed form. The solutions come in
cylinders, where some variables have the value \don't care." Thus, a single solution
with unset variables represents the set of solutions obtained by making each possible
assignment to the unset variables.
Probe Order Backtracking 433]. This algorithm is the same as simple
backtracking except for how clauses are selected. Temporarily set all the unset
variables to some predetermined value. Select the rst clause that evaluates to false
with this setting. Return previously unset variables back to unset and continue as
in clause order backtracking.
For practical formulas one should consider adding the following ve re nements
to probe order backtracking: stop the search as soon as one solution is found,
carefully choose the probing sequence instead of just setting all variables to a xed
value 348, 487, 491], probe with several sequences at one time 69, 70], carefully
select which variable to set 69, 70], use resolution when it does not increase the
input size 166]. The sixth best prize winning entry in the 1992 SAT competition
used an improvement on probe order backtracking 70].
Franco 165] noticed that a random assignment solves a nonzero fraction of
the formulas in the average lSAT model when pn is large compared to ln m. Simple uses of that idea does not lead to good average time 433], but combining the
idea with clause order backtracking leads to probe order backtracking, which is fast
when pn is above ln m. Probe order backtracking appears to have some similarities
to one method that humans use in problem solving in that it focuses the algorithm's
attention onto aspects of the problem that are causing di culty, i.e., setting variables that are causing certain clauses to evaluate to false. For the same reason it
is somewhat similar to some of the incomplete searching algorithms discussed in
Section 7.
Shortest Clause Backtracking. This algorithm is the same as clause order
backtracking except for the clause selected. In this case, select the shortest clause.
The corresponding idea for constraint satisfaction is to rst set a variable in
the most constraining relation. This idea is quite important in practice 34].
JeroslowWang 284]. A backtrack search can sometimes be terminated early
by checking whether the remaining clauses can be solved by a Linear Programming
relaxation (see Sections 9.2 and 9.3). An implementation of this idea can be expensive. Jeroslow and Wang have proposed a simpler and e ective technique that is
similar in spirit. The idea is, before splitting, to apply a procedure that iteratively
chooses the variable and value which, in some sense, maximizes the chance of satisfying the remaining clauses. The procedure does not backtrack and is, therefore,
reasonably fast. Assignments determined by the procedure are temporarily added
to the current partial truth assignment. If the procedure succeeds in eliminating
all clauses then the search is terminated and the given formula is satis able. Otherwise, the procedure fails, control is passed to the split, temporary assignments
are undone, and backtracking resumes.
The choice of variable and value at each
P iteration maximizes the weight w(Si;j )
where, for a subset of clauses S , w(S ) = C 2S 2 jC j, and for i 2 f0; 1g, 1 j n,
Si;j is the subset of remaining clauses containing variable vj as a positive literal if
26
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
i = 0 and as a negative literal if i = 1. The length of clause C, denoted jC j above,
is the number of literals that are not falsi ed by the current partial assignment and
the sum is over clauses that are not satis ed by the current partial assignment. The
weight given above may be compared to that given by Johnson in 286] (see also,
Other NonBacktracking Heuristics below).
6.3. Backtracking and Resolution. Some algorithms have adapted ideas
inspired by resolution to splitting algorithms. For example, from the resolution
view point, pure literals are interesting in that they lead to a single subformula
that is no more complex than the original formula, while from the perspective of
splitting, pure literals lead to two subformulas, but the solutions to the subformula
where the literal has the value false are a subset of the one where the literal has the
value true. Therefore, the original formula has a solution if and only if the formula
associated with the true literal does.
The Pure Literal Rule Algorithm 201]. Select the rst variable that does
not have a value. (If all variables have values, then the current setting is a solution
if it satis es all the clauses.) If some value of the selected variable results in all
clauses that depend on that variable having the value true, then generate one subformula by assigning the selected variable the value that makes its literals true.
Otherwise, generate a subformula for both values of the selected variable. Solve
the one or two subformulas.
6.4. Clause Area. A clause with l distinct literals leads to the fraction 1=2l
of the possible variable settings not being solutions. One can think of the clause as
blocking out area 1=2l on the Venn diagram for the formula. Iwama showed that
combining this idea with inclusionexclusion and careful programming
leads to an
p
algorithm which runs in polynomial average time when p > (ln m)=n 281]. If
the sum of the area of all clauses is less than 1, then some variable setting leads
to a solution. This idea works particularly well with shortestclause backtracking
since that algorithm tends to eliminate short clauses. See 170] for a probabilistic
analysis of this idea. No averagetime analysis has been done.
6.5. Improved Techniques for Backtracking. This section considers some
re nements that can be added to the basic backtracking and resolution techniques.
Several of these are similar to techniques that have already been discussed.
Branch Merging. This is complementary to preclusion. Backtracking is
frequently used on problems such as the nqueens problem where there is a known
symmetry group for the set of solutions. In such cases many search trees possess
equivalent branches which can be merged to reduce search e ort 34, 547]. The use
of the symmetry group can greatly speed up nding the solutions. See 72, 73] for
examples from the eld of group theory. Brown, Finklestein, and Purdom 51, 52]
gave additional problems that arise in making the backtracking techniques work
with a backtracking algorithm which needs to set variables in di erent orders on
di erent branches of the search tree.
Search Rearrangement. This is also known as mostconstrained search or
nonlexicographic ordering search. When faced with several choices of extending a
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
27
partial solution, it is more e cient to choose the one that o ers the fewest alternatives 34]. That is, nodes with fewer successors should be generated early in the
search tree, and nodes with more successors should be considered later. The vertical (variable) ordering and horizontal (value) ordering are special cases of search
rearrangement 54, 176, 425, 429, 432, 501]. The rule used to determine which
variable to select next is often called the branching rule. Many researchers are
actively investigating the selection of branching variables in the DP procedures.
Hooker studied the branching rule and its e ect with respect to particular problem
instances 256]. Bohm and Speckenmeyer experimented with branching e ect with
a parallel DP procedure implemented on an MIMD machine 38]. Boros, Hammer,
and Kogan developed branching rules that aim at the fastest achievement of qHorn
structures 41]. Several particular forms of search rearrangement were discussed in
Section 6.2.
From 2SAT to General SAT. In many practical applications, the constraints in the problems are coded as 2SAT formulas. In SAT problem formulation,
very frequently in practical applications, many of the constraints will be coded as
2SAT clauses.
An important heuristic to SAT problem solving is to rst solve 2SAT clauses
with fast polynomial time algorithms. This fast operation can signi cantly reduce
the search space. The truth assignment to the rest of the variables can be handled
with a DP procedure. This idea has been used in SAT solver Stamm 69, 70],
Gallo and Pretolani's 2SAT relaxation 69, 70, 422], and Larrabee's algorithm
328, 477]. Similar ideas to solving 2SAT clauses were developed. Eisele's SAT
solver uses a weighted number of occurrences whereas occurrences in 2SAT clauses
count more than other occurrences 69, 70]. Dorre further added a limited amount
of forward checking to quickly determine 2SAT formulas in the EiseleDorre SAT
solver 69, 70]. In the SAT contest 69, 70] the winning programs with 2SAT
solvers were slightly slower than those without.
Similartechniques were developed that use HornSAT relaxation in satis ability
testing 108, 183]. In Crawford's Tableau 108], Horn clauses are separated from
non Horn clauses. Based on the DPL procedure, Tableau applies in priority the
unit clause rule and if necessary branches on a variable selected in the non Horn
clauses using three successive heuristics.
Backmarking and Backjump. When a failure is observed or detected, the
algorithm simply records the source of failure and jumps back to the source of
failure while skipping many irrelevant levels on the search tree 189, 191]. The
more e ective one's search rearrangement is, the less need there is for backjumping.
Good search orders tend to be associated with the source of failure being one level
back.
Backtracking with Lookahead. A lookahead processor is a preprocessing
lter that prunes the search space by inconsistency checking 226, 227, 361, 390].
Backtracking with lookahead processing is performed by interplaying a depth rst
tree traversal and a lookahead tree pruning processor that deletes nodes on the
search tree whose value assignments are inconsistent with those of the partial
search path. Techniques in this class include partial lookahead, full lookahead
28
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
226, 227, 241], forward checking 241, 241], networkbased heuristics 361, 128],
and discrete relaxation 226, 227, 312, 451].
Backtracking for Proving NonExistence. Dubois, Andre, Boufkhad, and
Carlier have recently proposed a complete SAT algorithm, CSAT 151]. The CSAT
was developed for the proof of the nonexistence of a solution. The algorithm uses a
simple branching rule and a local processing at the nodes of search trees (to detect
further search path consistency and make search decision). It performed e ciently
on some DIMACS benchmarks.
Intelligent Backtracking. This is performed directly to the variable that
causes the failure, reducing the e ect of thrashing behavior. Methods in this category include dependencydirected backtracking 496, 145], revised dependencydirected backtracking 414], simple intelligent backtracking 178], and a number of
simpli cations 56, 119, 120, 121, 123, 125, 190, 241, 452].
Freeman 175] recently present an intelligent backtracking algorithm, POSIT,
for PrOpositional SatIstiability Testbed. In this algorithm he used Mom's heuristic,
detecting failed literals, and minimizing constant factors to speed up backtracking
search.
Some e ort was devoted to the development of backtrackingoriented programming languages, specialpurpose computer architectures, and parallel processing
techniques:
Macro Expansion. In some applications of backtracking that require relatively little storage, this method can be used to decrease the running time of the
program by increasing its storage requirements. The idea is to use macros in assembly language in such a way that some work is done at assembly time instead of
many times at run time. This increases the speed at which nodes are processed in
the tree 34].
Backtrack Programming. Much work has focused on developing a new
programming language for backtracking search. This includes the sequential3 Prolog programming language 94, 499], Prolog with intelligent backtracking scheme
58, 323, 413], and logic programming 248].
SpecialPurpose Architectures. Specialpurpose hardware machines were
built to prune search space 226, 227, 374], perform backtracking search, and do
AI computations 531, 532, 534].
Parallel Processing. Many parallel processing techniques have been developed to speed up search computation 23, 99, 531, 343, 535, 344, 342, 250,
353, 517, 372, 461, 532, 550].
Branch and bound. Also known as ordered depth rst search. Select a
variable. For each possible value of the variable generate a subformula and compute
3 There is no backtracking mechanism in parallel Prolog programming languages.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
29
some quick to compute upper bound on the quality of the solution of the subformula. Solve recursively all subformulas except those that have a cost above that
of the best solution that has been found so far. Branch and bound is recognized as
a generalization of many heuristic search procedures such as A , AO , SSS , B ,
alphabeta, and dynamic programming algorithm 6, 343, 556, 539, 537, 536,
328, 333, 341, 410, 266, 556, 555, 549, 554].
6.6. Some Remarks on Complexity. The worstcase time for all known
SAT algorithms is exponential in the rst power of the input size. The naive
algorithm that tries every variable setting requires time 2n for n variable formulas.
For lSAT, the best known bound on worstcase complexity has been worked down
from 1:618n 385] to slightly below 1:5n obtained by Schiermeyer 464, 465]. Other
work on the topic is given in 192].
As with other NPcomplete problems there are no exponential lower bound
results for SAT. However, it has been proven that all resolution algorithms need
time that is exponential in the rst power of the input size 232, 86, 522]. No
such lower bound analyses have been done on splittingbased algorithms.
For a comprehensive treatment of the complexity of propositional proofs, see a
recent survey by Urquhart 525].
7. Local Search
Local search is a major class of discrete, unconstrained optimization procedures that can be applied to a discrete search space. Such procedures can be used
to solve SAT by introducing an objective function that counts the number of unsatis able (CNF) or satis able (DNF) clauses and solving to minimize the value of
this function 207, 209, 212, 221, 403, 472].
In this section, we summarize the basic framework, including a search space
model, four essential components, and present ideas used in the early development
of local search algorithms for the SAT problem. We then describe randomized
local search, randomized local search with trap handling, and greedy local search
in detail.
7.1. Framework. Local search, or local optimization, is one of the primitive
forms of continuous optimization applied to a discrete search space. It was one
of the early techniques proposed to cope with the overwhelming computational
intractability of NPhard combinatorial optimization problems.
There have been two major periods for the development of local search. Early
greedy local search method was able to solve some small size, unconstrained pathnding problems such as TSP 351, 401]. During the middle and late eighties,
more powerful techniques (see Section 7.3) for randomized local search were developed. These randomized local search algorithm can handle large size, constrained
problems such as CSP and SAT problems e ciently 206, 209, 488, 491].
Given a minimization (maximization) problem with objective function f and
feasible region R, a typical local search procedure requires that, with each solution
point xk 2 R, there is a prede ned neighborhood N(xk ) R. Given a current
solution point xk 2 R, the set N(xk ) is searched for a point xk+1 with f(xk+1 ) <
f(xk ) (f(xk+1 ) > f(xk )). If such a point exists, it becomes the new current solution
point, and the process is iterated. Otherwise, xk is retained as a local optimum with
respect to N(xk ). Then, a set of feasible solution points is generated, and each of
30
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
valley
(a)
basin
(b)
plateau
(d)
terrace
(c)
trap
(e)
There are a number of local minimum structures. A
trap is a \well" of local minima and is di cult to deal with.
Figure 11.
them is \locally" improved within its neighborhood. To apply local search to a
particular problem, one needs only to specify the neighborhood and the procedure
for obtaining a feasible starting solution.
Local search can be e cient for two reasons. First, at the beginning of search,
a full assignment is assigned to all the variables in the search space. Search e orts
are focused on a single path in the search space. Second, local search re nes for
improvement within its local neighborhood using a testing for improvement and,
if there is any improvement, takes an action for improvement. Since the objective
function has a polynomial number of input numbers, both testing and action can
be done e ciently. Little e ort is needed to generate the next solution point. A
major weakness of local search is that the algorithm has a tendency to get stuck at
a locally optimum con guration, i.e., a local minimum.
Greedy local search pursues only paths where every step leads to an improvement, but this leads to a procedure that becomes stuck much more often than the
randomized local search. Greedy local search procedure gets stuck in at places as
well as at local minima.
Many search techniques, such as statistical optimization 74, 467], simulated
annealing 308], stochastic evolution 457], and con ict minimization 206, 380,
485, 491], are either local search or variations of local search. For most search
problems encountered, in terms of computing time and memory space, local search
often achieves many orders of magnitude of performance improvement over conventional techniques such as BranchandBound 209, 212, 436, 487, 491].
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
31
7.2. A ThreeLevel Search Space Model. A large number of real experimental data suggest that there are several typical local minimum structures (see
Figure 11). A valley and a basin are ideal cases that one can nd a global minimum
quickly. Local search and the related heuristics can handle a terrace and a plateau
without much di culty. The most di cult situation is a trap where a group of local
minima is con ned in a \well." The search process walks around the set of local
minima periodically and cannot get away without special mechanism. In general
there may be many traps in a search problem. The characteristics of a trap are
closely related to the search algorithm, the objective function used, and the search
space structure.
Figure 12. An informal example of the threelevel search space
model. A search process would go through an open search in the
upper open portion of the search space, a peak search in the middle
portion of the search space, and a trap search in the valley portion
of the search space.
Further observations suggest that a search space may be roughly divided into
several di erent levels, depending on the problem structures. A threelevel search
space structure was proposed during the development of the SAT1:5 algorithm (see
Section 7.7) 209, 219]. An informal example of the model is given in Figure 12.
In the model, a search space is roughly viewed in three levels: top level, middle
level, and bottom level. The top level is the upper open portion of the search
space with smoothing edges. Most optimization algorithms can descend quickly in
the top level and thus perform quite well. The middle level is the middle portion
of the search space where there are relatively \big mountain peaks." During the
descent, the search process may encounter problems and it may have to use some
tunneling and random heuristics (see Section 7.3) to proceed. The bottom level
is the bottom portion of the valleys (particular the lowest valley) where there are
many traps. When local search falls into a trap it may become locked into a loop
of local minima. Most algorithms do not succeed in this stage and have di culty
continuing.
For the SAT problem, with high probability, a greedy local search will fall into
a trap much more easily. In this case some variables are updated very quickly. The
32
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
related clauses oscillate between the sat and unsat states. The search is limited to
these states. Without any help, there is little chance of getting out to explore other
states.
The above observations suggest to use multiphase search to handle the NPhard
problems 209, 223, 219]. That is we may use an open search in the top level, a
peak search for searching \coarse" peak structures in the middle level, and a trap
search for tracking \ ne" rugged trap surface structures in the valleys.
The major heuristics used in local search are discussed in the next subsection.
7.3. Four Components in Local Search. A number of e cient local search
algorithms for the SAT problem have been developed since 1987. Previous experience indicated that the greedy local search strategy alone can not be adapted to
perform well on SAT formulas. Past lessons showed that the following four components are crucial to the development of an e cient local search algorithm for
the satis ability and NPhard problems. They are: (1) the mincon ict heuristics,
(2) the bestneighbor heuristics, (3) the random value/variable selection heuristics,
and (4) the trap handling heuristics.
1. The MinCon icts Heuristics.
Di erent forms of mincon ict heuristics were proposed during 1985 and 1987
for solving the SAT and CSP problems 206].4 The mincon ict heuristics aim at
performing local con ict minimization in Boolean, discrete, and real spaces 454]:
5 Mincon ict heuristics are important to handle constraints in a constrained optimization problem.
MinCon ict Heuristic (Boolean Space) 206]. Multiple values to be
assigned to a variable are represented by a vector of Boolean labels. Each Boolean
label, either \1" or \0," indicates the variable's instantiation to a speci c value.
Two labels are con icting if their values do not satisfy the given constraint. The
con icts (due to an assignment) are formulated as a set of objective functions. The
objective functions are minimized by changing values assigned to the labels.
MinCon ict Heuristic (Discrete Space) 206]. Interrelated objects are
chosen as variables. Two variables are con icting if their values do not satisfy the
given constraint. The number of con icts (due to an assignment) is formulated in
an objective function. The objective function is iteratively minimized by changing
values assigned to the variables.
MinCon ict for SAT 207, 221, 209, 210, 212]. Using inconsistency as
objective 206], the objective function for the SAT problem gives the number of
unsatis ed clauses. A CNF is true if and only if the objective function takes the
global minimum value 0 on the corresponding solution point.
4 In the early days mincon ict was variously called inconsistency removing, inconsistency
resolution, con ict resolution, enforce local consistency, and local con ict minimization 206].
Later, Minton shortened these words into a concise term: mincon icts.
5 The mincon ict heuristics also work in real space (see examples in 210, 211, 213] and
Section 8).
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
33
This objective function is the basis of the design of the SAT1, SAT2, SAT3,
and GSAT algorithms 209, 210, 221, 212, 472].
Performance. The mincon ict heuristics have been applied to solve the CSP
and SAT problems since 1985 206, 207, 485, 484, 221, 209]. They showed
signi cant performance improvements when compared to traditional backtracking
search algorithms. The e ectiveness of mincon icts heuristic was further observed
by Russel and Norvig 454], Kumar 321, 322], Johnson 295], Minton et al. 380],
and Selman et al. 472].
Early local search algorithm can only handle small size path nding problem
such as TSP. By introducing the mincon icts heuristics, local search can now
handle di cult constrained problems.
2. The BestNeighbor Heuristics.
Local search proceeds by taking any feasible solution point that reduces the
objective function. Among many neighboring feasible solution points, local search
does not take into account its neighbors' relative performance with respect to the
objective function.
BestNeighbor Heuristic 209, 212, 213]. A greedy algorithm selects the
best neighbor that yields the minimum value to the objective function and takes
this best neighbor direction as the descent direction of the objective function.
In a real search space, continuous optimization algorithms can nd the best
neighbor feasible solution e ciently. A number of local and global optimization
algorithms have been developed to solve the SAT problem 209, 212, 213]. The
rst version of the GSAT algorithm was proposed as a greedy local search algorithm
472].
Performance. A greedy local search alone may become stuck at local minima
much more often and therefore may not be e cient in practice. Therefore, the
best neighbor heuristic should be used in conjunction with random value/variable
selection and trap handling heuristics described next.
3. The Random Value/Variable Heuristics.
Random value assignment and random variable selection techniques are fundamental to the design of an e ective local search algorithm for NPhard problems
228, 224].
Random Flip Heuristic 206, 209, 221, 210, 212]: Randomly ip the truth
values of 1 k n variables in the SAT formula.
This simple heuristic was rst implemented in several SAT1 algorithms as local
handler(s) in 1987. It has been proven to be e ective in improving the performance
of greedy local search algorithms 209, 221, 210, 212].
During 1988 to 1990 a similar heuristic, random swap, was used to develop
local search algorithms for the CSP (e.g., nqueen) problems. It showed signi cant
34
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
performance improvement for solving largesize nqueen problems 206, 486, 487,
488, 491].
Random Value (Assignment) Heuristics 206, 209, 221, 212, 351, 401,
487, 488, 491]. These include: randomly select a value that generates the minimum number of con icts; randomly select a value if there is a symmetry (i.e., more
than one value producing the same performance); and randomly select a value for
con ict minimization when local minima are encountered.
A simple random value assignment heuristic, random disturbance, was early
used in solving the TSP problem.
Random Variable (Selection) Heuristics 206, 209, 221, 212]. There
are two important heuristics:
1. Any Variable Heuristic: select any variable randomly.
2. Bad Variable Heuristic: select a variable from the set of con icting variables randomly.
The random variable selection heuristic is one of the most important heuristics
in the design of local search algorithms for NPhard problems. It was rst used
in the local search solution for the SAT problem 207] and then used for the local
search solution for the CSP (e.g., nqueen) problems 487].
Con icting variables in the SAT problem contribute to the unsatis ed clauses.
Accordingly we have:
Bad Variable Heuristic for the SAT problem 209, 212, 487, 488,
491, 486, 484]: randomly select a variable in the unsatis ed clauses for con ict
minimization.
The bad variable heuristic was rst implemented to solve the large size nqueen
problems during 1988 to 1990 487, 488, 491, 486, 484] and was implemented in
the SAT2 algorithm in 1990 209, 212]. The bad variable heuristic was independently developed by Papadimitriou for the 2SAT problem in 1991 402] and was
used in the WSAT algorithm by Selman et al. in 1994 475].
Partial/Pre Random Variable Selection Heuristics 206, 209, 221,
212]. Partial variable random selection makes use of partial or alternating variable
selection techniques. Variants of partial random selection include partial and alternating selection of con icting and noncon icting variables, a combination of partial
deterministic and partial random variable selection, partial interleaved selection of
the di erent search phases, and partial random selection with metaheuristic control. The simplest selection strategies include: select a variable deterministically
(randomly) and select another variable randomly for con ict minimization; select a
variable deterministically (randomly) from the set of con icting variables and select
another variable randomly for con ict minimization; select a variable deterministically and select another variable randomly from the set of con icting variables for
con ict minimization; during certain periods of search, select a variable deterministically (randomly) and select another variable randomly for con ict minimization;
during certain periods of search, select a variable deterministically (randomly) from
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
35
the set of con icting variables and select another variable randomly for con ict minimization; during certain periods of search, select a variable deterministically and
select another variable randomly from the set of con icting variables for con ict
minimization.
Partial Random Variable Selection Heuristics for the SAT problem:
a variable may be selected from the unsatis ed clauses in a random, partially alternating, partially periodic, or partially interleaving order.
The partial and pre random variable selection heuristics were implemented
in the SAT3 algorithm in 1990 209, 212] and were used to solve the large size
nqueen problems around 1990 487, 488, 491, 486, 484]. A similar heuristic to
the partial random variable selection, random walk, was developed by Selman,
Kautz, and Cohen independently in 1994 475].
Performance. Random and partial variable selection heuristics were introduced in the design of SAT1, QS2, QS3, and QS4 algorithms 207, 221, 209,
212, 485, 487, 488, 491]. They can overcome the weakness of the greedy local
search algorithms. Compared to greedy local search, they can o er many orders of
magnitude of performance improvements in terms of computing time, solving hard
and large satis ability problems and CSP problems with multimillion variables in
seconds 209, 212, 487, 491]. They were used in the design of SAT1:5, SAT2,
and SAT3 algorithms 209, 212].
Selman et al. have recently developed and applied a number of random variable
selection heuristics to improve the performance of the greedy GSAT algorithm
475].
4. The Trap Handling Heuristics.
The search is a process of combating local minima. When the search process
is approaching the nal search stage, trap handling heuristics are needed to cope
with local minima and traps (see Sections 7.2 and 7.7).
Tunneling Heuristic 221, 212, 545]: Change the value of a variable if it
does not change the value of the objective function.
Tunneling Heuristic for the SAT Problem 221, 212, 472]: Flip the
truth value of a variable if it does not change the value of the objective function
(see Section 7.6).
Local Tracking Heuristics 209, 219]. Local tracking heuristics are used to
track and break local loops (a periodic occurrence of a set of local minima). Several
frequently used heuristics include: track local loop(s) when falling into a trap; give
low priority to ip to variables in a local minimum loop; give high priority to ip to
variables that lead to a new descending direction; lock and release trapping variables
periodically, adaptively, or statistically; move gently in a trap to handle ne local
structures; move strongly in a trap to handle coarse local structures; jump out of a
trap if walking inside it su ciently long.
36
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Multiphase Search Heuristics 207, 209, 488, 491, 212, 436, 545, 219].
Multiphase heuristics are a part of multispace search heuristics 222, 228, 224].
They have been developed to adapt to the di erent phases of a search process: perform a poor initial search and then a serious local search for con ict minimization;
perform a good initial search and then a serious local search for con ict minimization; perform a good initial search, then a rough local search, and a serious local
search for con ict minimization; perform an initial search, and then a rough local
search and a serious local search alternatively for con ict minimization; perform a
rough initial search, then a coarse local search, and nally, a ne local search for
con ict minimization.
Multispace Search Heuristics 222, 228, 224]. Structural multispace operations have been developed that empower a search process with an information
ux which is derived from a sequence of stepwise structural transformations (see
Section 11.4). These include multispace scrambling, extradimension transition,
search space smoothing, multiphase search, local to global passage, tabu search,
and perturbations. They can disturb the environment of forming local minima and
facilitate e cient local search when there are many local minima.
Performance. Trap handling heuristics have signi cantly improved the search
e ciency of the SAT1.5 algorithm 209, 212, 219] (see Section 7.7). Multiphase
and multispace search heuristics have been applied to a variety of practical applications and found to be e ective 222, 209, 212, 224, 219, 436, 545, 488, 491].
7.4. Boolean Local Relaxation. Boolean local relaxation may be viewed
as a deterministic local search. It was an early inconsistency relaxation technique
developed for solving the constraint satisfaction and satis ability problems. For
a variable having m values, m Boolean labels are used to indicate the variables'
instantiation to the particular Boolean values. The con icts produced by an assignment are coded in a set of Boolean objective functions (one for each label). The
objective function for the ith variable and kth label, fi;k , is de ned as 206]:6
fi;q =
(7.1)
n X
m
Y
j =1 p=1
li;q ^ Ci;j (q; p) ^ lj;p ;
where Ci;j (q; p) is a constraint between labels li;q and lj;p . Note that the right hand
side of Eq. (7.1) is a CNF formula with extended literals.
The Boolean relaxation is a local con ict minimization process (Figure 13)
206]. During each iteration, the algorithm checks each variable for every label and
iteratively minimizes the objective functions by ipping bits (truth values) assigned
to the labels: If the objective function does not change, keep it; If the objective
function can be reduced, keep the best (i.e., update the label), and then report
the inconsistency status. The iteration will terminate once the inconsistency signal
turns o .
The Boolean local relaxation algorithm was suitable to VLSI implementation.
During 1985 to 1988, several parallel algorithms and architectures, such as DRA2,
DRA3, and DRA5 were implemented to speed up CSP/SAT computations 206,
6 In
206
] the objective function was de ned for label l
i;k
directly.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
37
procedure DRA()
boolean inconsistency;
begin
inconsistency := TRUE;
k := 0;
while inconsistency = TRUE do
begin
inconsistency := FALSE;
for variable i := 1 to n
for label q := 1 to m
begin
k+1 := evaluate objective function(l; C);
fi;q
/* local con ict minimization */
if fi;qk+1 = fi;qk then continue;
if fi;qk+1 < fi;qk then update label value;
inconsistency := TRUE;
end;
k := k + 1;
end;
end;
Figure 13.
DRA: A local relaxation algorithm.
226, 544, 227]. Furthermore they were combined with backtracking search for
CSP/SAT applications 206].
Because of its iterative local con ict minimization and its direct applications
to SAT/CSP, Boolean local search made itself a predecessor of several early local
search algorithms for CSP and SAT problems.
7.5. Constraint Satisfaction, Simulated Annealing, and Complexity
Study. Early work on constraint satisfaction, simulated annealing, and complexity
theory contributed signi cantly to the original development of local search algorithms for the SAT problem. Four notable early developments are: (1) the SAT1
algorithms, (2) the nqueen models and algorithms for scheduling applications, (3)
a simulated annealing algorithm, and (4) a 2SAT algorithm.
1. The SAT1 Algorithms.
Objective functions in DRA algorithms were de ned for Boolean labels. During
the late eighties, Gu 206] observed that if the con icts of all the Boolean objective
functions were formulated in one objective function, then the global minimum of
the objective function would correspond to a con ictfree solution of the given
CSP problem. Accordingly, the iterative local minimization procedure used in
the Boolean relaxation would become a local search procedure to minimize the
objective function. This idea led directly to the early design of SAT1 algorithms
where the objective function was de ned as the number of unsatis ed clauses over
all the variables 206, 207]. Thus, the global minimum of the objective function
corresponds to the solution of the SAT problem. Following this, Gu developed a
38
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
number of randomized local search algorithms for the SAT problem. Furthermore
e cient heuristics (Section 7.3) were developed to improve the performance of the
local search algorithms. Due to the important industrial applications at that time,
the e ectiveness of the SAT1 algorithms was tested through two CSP benchmarks,
i.e., the SAT problem and the nqueen problems.
An important industrial application for SAT is VLSI engineering. The SAT1
algorithm family, the rst local search algorithm for SAT, was developed for theoretical study and VLSI applications. During the late eighties, there was little
progress in the theoretical analysis of the SAT1 algorithms. The SAT1 algorithm
was applied to VLSI circuit testing and synthesis. All these problems can be formulated as instances of the SAT and MAXSAT problems. The SAT1 algorithm
was found to be e cient for many VLSI design problems.
Another important application area for the SAT problem is industrial scheduling. During the late eighties, IBM and NASA were working on a number of important scheduling projects. These applications involved solving large size scheduling
and task assignment problems under critical timing, spatial, and resource constraints. The scheduling and task assignment problems are wellknown as the satis ability problem. SAT formulas characterize these problems precisely. Signi cant
local search solutions to the scheduling and task assignment problems were derived
from the SAT1 algorithm family. Due to its abstract CNF formulation, however,
the SAT problem was not able to provide a descriptive geometric model that was
able to demonstrate the scheduling and task assignment operations expressively.
2. N Queen Scheduling Models and the QS Algorithms.
The nqueen problem is a benchmark for constraint satisfaction problem. During the middle and late eighties, Gu worked on various nqueen problem models
for combinatorial optimization 206, 228]. He found that, by a remarkable coincidence, the nqueen model represents a signi cant model for scheduling and task
assignment problems.
The underlying structure of the nqueen problem, represented by a complete
constraint graph, gives a relational model with fully speci ed constraints among the
multiple objects 206]. Variations on the dimension, the objects' relative positions,
and the weights on the constraints led to a hyperqueen problem model which
consists of several simple and basic models:
n{queen problem: the base model. N queens are indistinguishable and the
constraints among queens are speci ed by the binary values (i.e., 1 or 0).
w{queen problem: the weighted nqueen model. N queens are distinguishable (each is associated with a cost) and the constraints among queens are
speci ed by some weights.
3d{queen problem: queens are to be placed in a 3dimensional (l m n)
rectangular cuboid. A special case, nm{queen, is to place queens on an n
by m rectangle.
q+{queen problem: more than one queens are allowed to be placed on the
same row or the same column.
Based on the nqueen, the hyperqueen problem can model the objects/tasks, the
performance criteria, the timing, spatial, and resource constraints for a wide range
of scheduling and task assignment problems. This made the nqueen problem a
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
39
general model for many industrial scheduling and task assignment problems. By a
remarkable coincidence, the models of several di cult scheduling projects at that
time were either the nqueen or the hyperqueen problems 292, 501]. All of them
required e cient solutions to the nqueen or hyperqueen problems.
Scheduling problems modeled by various hyperqueen models have speci c performance criteria and are known to be NPhard. When scheduling computational
tasks onto multiprocessors, for example, one can use a hyperqueen model where
there are q+ weighted queens to be placed on a t by p rectangle. Let t denote the
execution time, p the number of processors, qi the execution time of the ith task,
and cij the communication time from the ith task to the jth task, the goal is to
place the task queens onto the t by p board and minimize the longest execution
path, following the given topological constraints.
The hyperqueen models freed the original nqueen problem from its puzzle
game background. Many practical applications of the nqueen and hyperqueen
models to real world problems have been found. These include 214, 491] task
scheduling, realtime system, task assignment, computer resource management,
VLSI circuit design, air tra c control, communication system design, and so on.
Polynomial time, analytical solutions for the nqueen problem exist but they
cannot solve the general search problems and have no use in practice 2, 10, 30,
156, 252, 445]. Following local con ict minimization 206, 226], a QS1 algorithm
was developed during late 1987 and was implemented during early 1988. It was
the rst local search algorithm developed for the nqueen problem 206, 484, 485,
486]. Three improved local search algorithms for the nqueen problem were developed during 1988 to 1990 321, 322, 295, 454]. QS2 is a near lineartime local
search algorithm with an e cient random variable selection strategy 487]. QS3
is a near lineartime local search algorithm with e cient pre and random variable
selection and assignment 487]. QS4 is a linear time local search algorithm with e cient partial and random variable selection and assignment techniques 488, 491].
Compared to the rst local search algorithm 206], partial and random variable
selection/assignment heuristics have signi cantly improved search e ciency by orders of magnitude. QS4, for example, was able to solve 3,000,000 queens in a few
seconds.
Three years after releasing the QS1 algorithm, Minton et al. independently
reported a similar local search algorithm for the nqueen problem 379, 380]. A
major di erence between Minton's algorithms and Sosic and Gu's algorithms was
that Minton's rst algorithm was a one dimensional local search without using
random heuristics.
Early local search solutions for scheduling applications were developed during
the late eighties. Since then more than one hundred industrial companies worldwide
have developed software systems for various scheduling applications.
3. A Simulated Annealing Algorithm for MaxSAT.
Motivated by the method of simulated annealing, Hansen and Jaumard 239]
proposed a steepest ascent, mildest descent algorithm for the maximum satis ability (MaxSAT) problem. In this approach, Hansen and Jaumard focused on a
local change and de ned an objective function based on a switching variable and
its related clauses. The objective function maximizes local compensation for each
40
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
variable which can be used for solving the MaxSAT problem. The objective function can not be used for the SAT problem unless another objective function whose
global minimum corresponds to a solution of the SAT problem is given. Furthermore, Hansen and Jaumard used local optima checking to handle the local optimum
and found it by providing additional guidance to the search direction.
4. Theoretical Study for SAT1 and 2SAT.
During the early nineties, researchers started to work on the theoretical analysis
of local search algorithms for CSP and SAT problems. In 1991 two theoretical
studies that focused on the SAT problem were reported. Gu and Gu took three
algorithms (i.e., SAT1:1, SAT1:2, and SAT1:3) from the SAT1 algorithm family
and made average time complexity study for the SAT problem 221].
During the study of the complexity of a certain natural generalization of SAT,
Papadimitriou gave a randomized algorithm for the 2SAT problem 402]. Furthermore Papadimitriou showed that such a randomized algorithm nds assignments
for 2SAT instances in O(n2 ) steps with probability approaching one, where n is
the number of variables. With further extensions 404], in theory, the algorithm
can be applied to solve the random 3SAT problems.
Early on, local search method for the large size nqueen scheduling problem
attracted great attention in the AI area. This was due to the close relationship
between CSP and SAT: the SAT problem is a special case of CSP. The nqueen
problem, on the other hand, is a typical benchmark problem in CSP. If one can nd
an e cient (nonanalytical) search algorithm for the nqueen problem, then the
algorithm can be directly translated to an e cient algorithm for the SAT problem.
Analytical solutions exist for the nqueen problem with n greater than or equal
to 4 10, 156, 252, 445]. They consist of a restricted subset of solutions 10]. If
one formulates the nqueen problem as a CSP, backtracking can be used to search
for any general solution. In practice, backtracking search is too slow to solve the nqueen problem for n larger than 96 501]. Thus local search algorithms for solving
large size nqueen problems become a breakthrough point in this direction. Following recent work for solving large scale nqueen problems, Selman, Levesque and
Mitchell reported empirical results of GSAT, a greedy local search algorithm for
solving SAT 472]. Selman 471] has recently acknowledged that local search solutions to largesize nqueen problems was \the original impetus" to the development
of the GSAT algorithm 472].
7.6. Randomized Local Search. In this section, we describe the basic structure and major components of the randomized local search algorithms for the SAT
problem.
Model. Most discrete local search procedures were developed based on a
discrete, unconstrained optimization model, the SAT1 model 207, 209, 212, 221].
In this model, the truth values assigned to the variables are de ned as:
the variable has value true
(7.2)
xi = 1 1 ifif the
variable has value false
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
41
procedure SAT1.0 ()
begin
/* initialization */
get a SAT instance();
x0 := select a random initial point();
F(x0 ) := evaluate objective function(x0 );
/* search */
k := 0;
while F(xk ) 6= 0 do
begin
for each variable i := 1 to n do
/* if ip(xi,xi) does not increase F */
if test ip(xi ,xi) then
begin
xk+1 := perform ip(xi ,xi);
F(xk+1) := evaluate objective function(xk+1 );
end;
/* random ips */
if local then local handler();
k := k + 1;
end;
end;
SAT1.0: a randomized local search procedure for the
SAT problem 209, 212, 221]. Random ips are introduced (1)
to disorder the sequence with which the variables are selected for
local optimization, and (2) to perturb local search with randomized
downhill, tunneling, or uphill moves 221, 212].
Figure 14.
The objective function, F(x), in the SAT1 model counts the number of unsatis ed
clauses as its objective value. A CNF is true if and only if F(x) takes the global
minimum value 0 on the corresponding x.
Basic Local Search. The SAT1.0 algorithm for the SAT problem is shown in
Figure 14. It consists of an initialization stage and a search stage. At the beginning
of search, a SAT formula is generated. An initial random solution is chosen. The
number of unsatis able clauses is computed and is assigned as the value of the
objective function. During each iteration, function test swap() performs a test to see
if the objective function would increase. If test ip() returns true, a ip operation is
performed by procedure perform ip(). Then function evaluate objective function()
updates the objective function.
The procedure terminates when the objective function is reduced to zero, i.e.,
a solution to the given SAT instance is found. In practice, before the objective
function reduces to zero, the procedure may become stuck at local minima. In
the SAT1.0 algorithm 209, 221], a simple local handler performing random ips
was used (Figure 15). This combined the greedy local descent (reducing objective
function) with the random uphill moves (increasing objective function), improving
42
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
procedure Local handler ()
begin
random select some variable xt's;
xk+1 := perform ip(xt's,xt's);
F(xk+1 ) := evaluate objective function(xk+1);
end;
Figure 15.
A simple local handler used in the SAT1 algorithms
209, 212, 221]. Random ips or a new random solution were
applied to the algorithm if (1) F 6= 0 (SAT1.0 algorithm), (2) F >
0 (SAT1.1 algorithm), (3) F(xk+1) = F(xk ) (SAT1.2 algorithm),
and (4) F > 0 and F(xk+1) = F(xk ) (SAT1.3 algorithm) 209,
212, 221].
SAT1's convergence performance e ectively. In the SAT1 algorithm family, one or
more local handlers were implemented 221, 209, 212]. If the algorithms have di culty to proceed, the algorithms will call the local handlers and use other heuristics
(see Section 7.3) to improve algorithms' convergence performance.
The random ips used in the SAT1 algorithms make the order of selecting which
variable for local examination (i.e., the for loop) trivial 221, 209, 212]. One can
essentially select any variable randomly for examination during any phase of the
local search.
Random Flips (Noise). If the local search procedure becomes stuck at a
local minimum, further progress may be achieved by using a noise perturbation to
change its location in the search space. The e ectiveness with which local minima are handled signi cantly a ects the performance of a local search algorithm.
Researchers have proposed a number of techniques such as jumping, climbing, annealing, and indexing to handle local minima 222]. In simulated annealing, a
search process occasionally moves up rather than down in the search space, with
large uphill moves being less likely than small ones. The probability of large uphill
moves is gradually reduced as the search progresses.
A variety of local handlers have been designed for use in the local search algorithms 221, 212]. SAT1:0 207, 221, 209, 212] uses a local handler that may
randomly negate the truth values of one or up to n variables (a new solution point)
(Figure 15). The basic idea is to generate random exchanges in some current solution points when the search is stuck at a local minimum. The search accepts a
modi ed point as a new current solution not only when the value of the objective
function is better but also when it is worse 221, 207, 209, 212] (Traditional local
search such as GSAT used the greedy local descent and restart 472]). This simple
local handler has e ectively improved the convergence performance of the SAT1:0
algorithm.
Tunneling Heuristic. A local handler and its activating condition(s) have
signi cant e ect on the performance (running time and average running time) of
a local search algorithm for the SAT problem. The conditions for activating local
handlers di er from algorithm to algorithm (see Figure 15). In SAT1:1 algorithm,
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
Figure 16.
43
Tunneling
the local handler is called if the objective function is not zero (an aggressive strategy) 221, 212]. In SAT1:2 algorithm, the local handler is called if the objective
function does not increase 221, 212]. In SAT1:3 algorithm, the local handler is
called if the objective function does not increase or the objective function is greater
than zero for some iterations 221, 212]. In the last two algorithms, the condition \objective function does not increase" means that the objective value is either
reduced (local descent) or remained unchanged (tunneling heuristic).
Instead of making a random swing in the vertical direction in the search space,
whenever a local minimum is encountered, one can tunnel through the rugged terrain structure in a horizontal direction, moving from one local basin to another
local basin in an attempt to locate a better locally optimal solution. A tunnel
(see Figure 16) can be thought of as a shortcut passing through a mountain separating points of equal elevation. Whenever a local minimum is encountered, a
tunnel is made through a mountain to a neighboring basin as long as this does not
change/increase the objective function. Tunneling can be used to search a region
with local minima e ectively. The behavior of local search with tunneling illustrates
the fact that seemingly innocuous changes in an optimization routine can have a
surprisingly large e ect on its performance. When tunneling was rst implemented
in the SAT1 algorithm in the late eighties. it was proven to be e ective in solving
some SAT problems.
Parallel Local Search. Several parallel algorithms and VLSI architectures
have been developed to accelerate CSP and the SAT problems 226, 227, 212,
492]. Depending on implementations, there are several ways of grouping variables
or clauses together in parallel so they can be evaluated simultaneously. In the
SAT1 algorithms, the most frequently used part of computation is the function
evaluate objective function(). It takes O(ml) time to update the objective function.
The execution of evaluate objective function can be done in a simple bitparallel
manner in O(m) time on a sequential computer.
A computer word has 32 or 64 bits (such as the DEC Alpha machine). The
number of literals in a clause of most practical CNF formulas is much less than 32.
In a local search algorithm, therefore, one can pack all the literals in a clause into the
bits of a computer word and then evaluate all the literals in one clause in parallel.
For m clauses, instead of O(ml), it will take procedure evaluate objective function
44
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
O(m) time to evaluate and update the objective function. Occasionally, a clause
may have more than 32 literals, they can be packed in several computer words and
all of them can be evaluated simultaneously. This general bitparallel evaluation
method was implemented in the SAT1:7 algorithm 207, 212].
Complete Local Search. Local search algorithms are incomplete, i.e., they
can nd some solutions for certain CNF formulas and give no answer if the CNF
formula is not satis able. To overcome this problem, researchers developed complete local search algorithms to test satis ability as well as unsatis ability. The
basic idea in the SAT1.11 and SAT1.13 algorithms 207, 212] was to combine local search with a systematic search procedure, keeping local search's e ciency while
maintaining search completeness by the systematic search method 207, 212]. If at
a node of the search tree a solution point is found unsatis able, then the algorithm
backtracks and continues searching until a solution is found or unsatis ability is
proven.
The SAT1.11 and SAT1.13 algorithms were two early experiments of complete
local search algorithms 207, 212]. Probe order backtracking is a simpli ed version
of complete local search 433, 434]. Recently Crawford studied a complete local
search algorithm 110]. He used weights assigned to clauses to help choose branch
variables. Variables occurring in heavily weighted clauses were given precedence.
7.7. Randomized Local Search with Trap Handling. Based on early
observation of trap phenomenon and the development of a threelevel search space
model (Section 7.2), Gu et al. developed a SAT1.5 algorithm with trap handling
ability 209, 219]. The SAT1.5 algorithm can monitor and break local minimum
loops and can handle multiple traps during the search. The current version of the
SAT1.5 algorithm contains advanced data structures and complicated trap detection/handling methods 209, 212, 219]. For the sake of simplicity, Figure 17 gives
a brief outline of the algorithm.
The SAT1.5 starts with an initial random solution and a set of limiting parameters. Max Time, for example, speci es the maximum number of times allowed
to restart a new search. The number of unsatis able clauses is computed and is
assigned as the value of the objective function. The rst while loop is limited by
the Max Time. Procedure complete ip() ips all the variables that can reduce the
value of the objective function. Evaluate objective function() updates the objective
function.
The second while loop is a randomized local search with trap tracking and handling. Trap detection facilities are installed several places in the while loop to record
trap statistics. They are essential to gure out trap \height," \width," and other
parameters for subsequent decision making. A trap may contain a global minimum
solution and it must be searched with reasonable e ort. Leaving a trap too early
or too late could result in either losing solutions or wasting computing time. The
time to jump out of a trap is determined by parameter Max Trapping Times.
When the search algorithm jumps out of a trap, there are several alternatives
to pursue. One is to start a new search. In the while loop, several randomized
local search procedures deploying random value and random variable heuristics
(see Section 7.3) are grouped together with partial random selection heuristics.
They together select a variable for randomized local search (the objective function
F may increase during the search).
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
procedure SAT1.5 ()
begin
/* initialization */
get a SAT instance();
x0 := select a random initial point();
F(x0) := evaluate objective function(x0 );
/* search */
k := 0; Restart Times := 0;
while F > 0 and Restart Times < Max Time do
begin
/* Open Search: ip all variables that reduce F */
xk+1 := complete ip(xk );
F := evaluate objective function(xk+1 );
/* parameters for trap tracking */
Clean trap records(); Trapping Times := 0;
/* Peak Search: randomized local search */
while F > 0 and Trapping Times < Max Trapping Times do
begin
/* randomly select one var for randomized local search */
xi := select one var to ip(xk+1);
xk+1 := randomized local search(xi ,xi);
F := evaluate objective function(xk+1 );
/* Trap Search */
if a trap is detected then
begin
Trapping Times + +;
/* random ip vars in con icting clauses */
xk+1 := strong ip(xk+1);
F := evaluate objective function(xk+1);
/* random ip a few percent (pct) of variables */
xk+1 := gentle ip(xk+1,pct);
F := evaluate objective function(xk+1);
/* random ip a small set of variables */
xk+1 := weak ip(xk+1,set);
F := evaluate objective function(xk+1);
/* initialization for a new trap */
Clean trap records();
end;
end;
if F > 0 then
xk+1 := restart a new random point();
Restart Times + +;
k := k + 1;
end;
end;
Figure 17.
SAT1.5: a randomized local search procedure with
trap handling.
45
46
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
If a trap is detected, a number of strategies can be used to conduct a trap
search 212, 219]. In one approach proposed by Gu et al., a sequence of random
ip operations is performed (see Figure 17). The intensity of the ip operations
evolves from strong to weak, tailored to the \coarse" as well as \ ne" structures
in a trap. That is, a variable is ipped in each unsat clause to force it to value
true (procedure strong ip()), followed by a random ip of a few percent of the
variables (procedure gentle ip()), and nally, a random ip of a small number of
variables (procedure weak ip()). Additional facilities for hill climbing, tabu search,
and variable locking/unlocking were developed. The SAT1.5 algorithm can walk
on the rugged surface of a trap adaptively.
The real execution performance of the SAT1.5 algorithm (Section 13.2) suggests
that it is presently one of the fastest local search algorithms for the SAT problem.
7.8. Greedy Local Search. Traditional local search proceeds by taking a
feasible solution point that reduces the value of the objective function. Among many
neighboring solution points, local search does not evaluate its neighbors' relative
performance with respect to the objective function. A greedy algorithm selects the
best neighbor that yields the minimum value of the objective function and takes
this best neighbor direction as the descent direction of the objective function. In
a real search space, continuous optimization algorithms can nd the best neighbor
solution e ciently. Unconstrained local and global optimization algorithms have
been developed for solving the SAT problem (see 209, 213] and Section 8).
In the discrete search space, a greedy local search algorithm searches for the best
neighbor solution. This requires that during each iteration the algorithm examine
all the possible moves and select one with maximum descent. Greedy local search
is a special case of the coordinate descent in the real space.
Selman et al. proposed a greedy local search procedure, i.e., GSAT, for the
SAT problem 472]. During each search step, the algorithm evaluates all the moves
procedure GSAT ()
begin
for i := 1 to MAXTRIES
T := a randomly generated truth assignment
for j := 1 to MAXFLIPS
if T satis es then return T
p := a propositional variable such that a change
in its truth assignment gives the largest
increase in the total number of clauses
of that are satis ed by T
T := T with the truth assignment of p reversed
end for
end for
return \no satisfying assignment found"
end
Figure 18. GSAT: a Greedy local search procedure for the SAT
problem 472]. MAXFLIPS, MAXTRIES are constants, and
is a set of clauses. During each search step, GSAT takes the best
neighbor that gives the maximumdescent to the objective function.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
47
and selects the best move that gives the greatest decrease in the total number of
unsatis ed clauses. If the algorithm becomes stuck at a local minimum, GSAT uses
sidewalk (a form of tunneling heuristic) to move aside. In GSAT procedure, two
parameters, MAXTRIES and MAXFLIPS, were used to control the algorithm's
maximum running state.
Late eighties VLSI researchers experimented with a large number of practical
SAT formulas with the greedy local search and found that greedy local search became stuck at local minima much more easily. Accordingly, Gu proposed a method
of combining local descent with random, multiphase search, and trap handling
heuristics (see Section 7.3 and Section 7.7). These ideas were used in the subsequent SAT1 algorithm family design 221, 207, 209, 212].
Recently Selman et al. used the bad variable heuristic and the partial random
variable selection heuristics (Section 7.3) in their random walk heuristic 475, 474].
They found that these random heuristics (such as random ips, selecting a variable
in unsat clause, and partial random variable selection) improved the performance
of the GSAT algorithm signi cantly 475].
7.9. Tabu Local Search. Mazure, Sais, and Gregoire proposed a tabu search
algorithm, TSAT, for satis ability problem 370]. The basic idea behind the TSAT
is to avoid using randomness in local search algorithm design. TSAT makes a
systematic use of a tabu list of variables in order to avoid recurrent ips and thus
escape from local minima. The tabu list is updated each time a ip is made.
TSAT keeps a xed lengthchronologicallyordered FIFO list of ipped variables
and prevents any of the variables in the list from being ipped again during a given
amount of time.
In this study, Mazure et al. found that the optimal length of the tabu list
is crucial to the algorithm's performance. They showed that, for random 3SAT
instances, the optimal length of the tabu list L(n) for TSAT is 370]:
(7.3)
L(n) = 0:01875n + 2:8125:
Furthermore, they noted that a slight departure from the optimal length leads to a
corresponding graceful degradation of the performance of TSAT. A more important
distance from this optimal length leads to a dramatic performance degradation.
7.10. Local Search for DNF formulas. Using the wellknown DeMorgan
laws, we can obtain an unconstrained optimization model, the SAT4 model, for
DNF formulas 207, 213]: With SAT4, a CNF formula
(x1 + x2 ) (x1 + x2 + x4) (x2 + x3 )
can be transformed into a DNF formula:
x1 x2 + x1x2x4 + x2 x3.
For the transformed formula, the objective is to determine whether there exists an
assignment where all clauses are falsi ed. That is, to solve (4.9).
A number of local search algorithms were developed for DNF formulas. Except
for di erent de nition and evaluation schemes in the objective function, they have
similar structures as in CNF local search algorithms. In SAT1:4 207], one of the
early DNF local search algorithms, the objective function is de ned as the number
of satis able DNF terms. Our goal here is to reduce the objective function to zero.
Experimental results indicate that DNF local search algorithms are faster than
CNF local search algorithms.
48
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
7.11. A Historical Note. Early work in constraint satisfaction, simulated
annealing, and complexity study contributed to the development of local search
algorithms for the SAT problem (see Sections 7.3, 7.4, and 7.5, and Figure 19). A
1985
1986
1987
1988
QS1
Operations
Research
DRA
SAT1
1989
1990
Minton’s
QS
1991
1992
1993
1994
GSAT
SAT2
SAT3
CSP
Early development of local search algorithms for SAT
problem. There were two major approaches: randomized local
search (SAT1) and greedy local search (GSAT). The SAT1 was
the rst local search algorithm developed for the VLSI engineering
and scheduling applications. The GSAT algorithm was derived
from the early local search algorithms for the nqueen problem.
Figure 19.
special event was the nqueen debate in ACM SIGART Bulletin during 1990 and
1992.
Early the SAT1 algorithms were applied to solve VLSI circuit design problems.
In addition, Gu and Sosic implemented the same local search method for the nqueen scheduling problems. Later they published two short papers in SIGART
Bulletin 486, 488]. By accident, these two papers triggered a debate. Major
discussions centered around two questions raised by the SIGART readers.
First, Jack Mostow mentioned that Steve Minton at the same time published \a
hillclimbing algorithm very similar to Gu's" for the nqueen problem at AAAI'90.
He was interested to know the original source of the local search algorithm for the
nqueen problem. Lewis Johnson reviewed the original local search results for the
nqueen problem 206] and found that 295]: \It is now clear that the nqueens
problem is a solved problem; in fact, it has been solved for many years."
The second question was about local search. In SIGART Bulletin, Vol. 2, No.
2, 1991, Bo Bernhardsson showed that the analytical solutions for nqueen problem
was published in 1969. In Jun Gu's reply entitled \On a General Framework for
LargeScale Constrained Optimization," he explained that the analytical solutions
to nqueen problem only o er a restricted set of solutions which cannot solve a
general search problem; the local search algorithm for nqueen can be used to solve
general constraint satisfaction problems. This discussion continued in a number of
SIGART issues 296]. In August 1991, M. Valtorta showed more analytical solutions to the nqueen problem and the Tower of Hanoi problem 526]. Many readers
agreed that the analytical solutions are restricted but some also believed that local
search can only solve problems like the nqueen. Satis ability problem is the core of
many NPcomplete problems. So, nally, Gu wrote a short article \E cient Local
Search for Very LargeScale Satis ability Problem" 209] and discussed the SAT1
algorithms as a general example of local search.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
49
During the twoyear period, many researchers including Jack Mostow, Steve
Minton, Bart Selman, and Dennis Kibler participated in various discussions.
8. Global Optimization
Local search proceeds by taking any solution point that decreases the value of
the objective function as the next solution point. Since there may be many neighboring solution points and a local search does not take into account its neighbors'
relative performance to the objective function, a local search may get stuck in a
local minimum or a basin. To escape from such local minima, global search strategies need to be developed. One such strategy is the tunneling heuristic discussed
in Section 7.6. Another strategy is to select the best neighboring point that yields
the minimum value to the objective function. When there is no neighboring point
that lead to decrease in the objective function, a direction is picked to minimize
the increase in the objective function.
Global optimization is concerned with the characterization and computation of
global minima and maxima of unconstrained nonlinear functions and constrained
nonlinear problems 162, 163, 267, 405]. Global optimization problems belong to
the class of NPhard problems.
The concept of optimization is well rooted as a principle underlying the analysis
of many complex decision problems. When one deals with a complex decision
problem, involving the selection of values to a number of interrelated variables,
one should focus on a single objective (or a few objectives) designed to qualify
performance and measure the quality of the decision. The core of the optimization
process is to minimize (or maximize) an objective function subject to constraints
imposed upon values of decision variables in an instance.
Most optimization algorithms are designed as an iterative re nement process.
Typically, in seeking a vector that solves an optimization problem, a search algorithm selects an initial vector y0 and generates an improved vector y1 . The process
is repeated to nd a better solution y2 . Continuing in this fashion, a sequence of
everimproving points y0, y1, ..., yk , ..., is found that approaches a solution point
y . When it is not possible to nd neighboring points to improve, strategies are
applied to help escape from local minima.
There are three aspects in designing global search strategies to solve SAT:
Problem formulations and transformations. As discussed in Section 4.1,
there are alternative formulations of an instance of SAT, and global search
strategies may need to be tailored to the formulation used. In Section 8.1, we
present the UniSAT model that transforms a SAT formula represented as an
instance of a discrete constrained decision problem in Boolean f0; 1g space
into a continuous optimization problem 207, 211, 213]. In Section 8.7, we
present strategies based on discrete Lagrange multipliers to transform a SAT
formula into an instance of a discrete constrained optimization problem 538,
540]. Other more general transformations are presented in Section 11.
Strategies to select a direction to move. Since a search trajectory lacks global
information in a search space, strategies to select a direction to move are
either steepest descent or hill climbing. A steepestdescent approach chooses
the direction with the maximum gradient. A hillclimbing approach, on
the other hand, chooses the rst point in the neighborhood of the current
point that reduces the objective function. For large formulas, hillclimbing
50
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
methods are much faster than steepest descent because they descend in the
rst direction, rather than the best direction, that leads to improvement.
Strategies to help escape from local minima. Many possible strategies have
been studied in the past. These include local handlers that use a combination of restarts, backtracking and random swaps (see Section 7.3 and 207,
221, 209, 227, 210]), Morris' \breakout" strategy 388], Wah and Shang's
Discrete Lagrangian Method (DLM) 538, 540], Glover and Hansen's tabu
list 199, 239], stochastic methods such as simulated annealing (SA) 308,
74], and genetic algorithms (GA) 253, 377]. In Section 8.8, we examine
the e ects of some of these strategies.
8.1. UniSAT: Universal SAT Input Models. In UniSAT models, we extend discrete search space x 2 f0; 1gn into real space y 2 E n , so that each solution
point and the objective function can be characterized quantitatively. Furthermore,
by encoding the solution of a SAT formula into the objective function, a direct
correspondence between the solutions of the SAT formula and the global minimum
points of the objective function can be established. Subsequently, the SAT formula
is transformed into an instance of an unconstrained global optimization problem
on E n .
In UniSAT models, using the universal DeMorgan laws, all Boolean _ and ^
connectives in CNF formulas are transformed into and + of ordinary addition
and multiplication operations, respectively. The true value of the CNF formula is
converted to the 0 value of the objective function. Given a CNF formula F from
f0; 1gn to f0; 1g with m clauses C1 ; : : : ; Cm , we de ne a real function f(y) from E n
to E that transforms the SAT into an unconstrained global optimization problem:
(8.1)
min f(y)
y2En
where
(8.2)
f(y) =
m
X
i=1
ci (y):
A clause function ci (y) is a product of n literal functions qi;j (yj ) (1 j n):
(8.3)
ci =
Yn
j =1
qi;j (yj ):
In the UniSAT5 model 207, 209, 213]
8 jy 1j if literal x is in clause C
< j
j
i
qi;j (yj ) = : jyj + 1j if literal xj is in clause Ci
(8.4)
1
if neither xj nor xj is in Ci
and in the UniSAT7 model 207, 211, 209, 213]:
8 (y 1)2 if x is in clause C
< j
j
i
qi;j (yj ) = : (yj + 1)2 if xj is in clause Ci
(8.5)
1
if neither xj nor xj is in Ci
The correspondence between x and y is de ned as follows (for 1 i n):
81
if yi = 1
<
if yi = 1
xi = : 0
undefined otherwise
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
51
Clearly, F has value true i f(y) = 0 on the corresponding y2 f 1; 1gn.
The UniSAT5 model on real space is a direct extension of the discrete SAT4
model on Boolean space. A model similar to UniSAT5 was proposed independently
in the neural network area 291]. A signi cant di erence between the neural network model and UniSAT5 is their e ciency and practical applicability. The neural
network model can only be handled by traditional nonlinear programming methods
that are extremely slow 291], whereas UniSAT5 can be easily solved in conjunction
with the local search approach by simple discrete accounting techniques 207, 213].
The UniSAT models transform SAT from a discrete, constrained decision problem into an unconstrained global optimization problem 207, 211, 209, 213]. A
good property of the transformation is that UniSAT models establish a correspondence between the global minimumpoints of the objective function and the solutions
of the original SAT formula. A CNF F has value true if and only if f(y) takes the
global minimum value 0 on the corresponding solution y .
Following the above formulation, with the UniSAT5 and UniSAT7 models, a
CNF F
is translated into
and
(x1 _ x2) ^ (x1 _ x2 _ x3)
f(y) = jy1 1jjy2 + 1j + jy1 + 1jjy1 1jjy3 1j
f(y) = (y1 1)2(y2 + 1)2 + (y1 + 1)2 (y1 1)2 (y3 1)2,
respectively.
The solution of the SAT formula corresponds to a set of global minimum points
of the objective function. Finding a true value of F is equivalent to nding a false
value, i.e., 0, of f(y).
The translation of SAT formulas into nonlinear programs is quite di erent from
the integer programming approach described in the next section. In the integer
programming approach, one views a SAT formula as an instance of the 0/1 Integer
Programming problem and tries solving its Linear Programming relaxation 35,
258, 259, 285, 303, 301, 548]. If the solution is noninteger, one rounds o the
values to the nearest integers and checks whether the solution corresponds to a
solution of the original formula. If the rounded o values do not correspond to a
solution, one computes another solution of the linear programming problem.
8.2. A Global Optimization Algorithm for solving SAT. Many families
of unconstrained global optimization algorithms for the UniSAT problem have been
developed 207, 211, 213]. SAT6.0, a basic global optimization algorithm, is shown
in Figure 20. To start, procedure obtain a SAT instance() initializes a (given or
generated) SAT instance. An objective function, f, is formulated according to a
given UniSAT model. The SAT formula thus becomes a minimization problem to
the objective function. To begin, procedure select an initial solution() selects an
initial starting point y0 2 E n . The corresponding value of the objective function,
f(y0), is evaluated by function evaluate object function().
The optimization process is an iterative minimization to the objective function.
Function test min() tests if the value of the objective function can be minimized. If
this is true, the minimization operation is performed by procedure perform min(),
52
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
procedure SAT6.0 ()
begin
/* initialization */
obtain a SAT instance();
y0 := select an initial solution();
f(y0 ) := evaluate object function(y0 );
/* search */
k := 0;
while not(solution testing()) do
for some y ( ) s 2 y
begin
i k
k
/* minimizer */
if test min(f(y ( ) s)) then
i k
begin
y +1 := perform min(f(y ( ) s));
f(y +1 ) := evaluate object function();
end
if close to solution() then x := approximate(y +1 );
end;
k
i k
k
k
/* local handler */
if local then local handler();
k := k + 1;
end;
end;
SAT6.0: A general global optimization algorithm for
the satis ability problem.
Figure 20.
followed by evaluate object function() that updates the value of the objective function. Procedures test min(), perform min(), and evaluate object function() are usually performed together without distinction. Depending on the global optimization
strategy, the objective function can be minimized in one or up to n dimensions.
Methods capable of optimizing f in one dimension include line search, coordinate
descent, and coordinate Newton's methods. Methods that optimize f in more than
one dimensions include the steepest descent methods, multidimensional Newton's
methods, and many others.
As the iterative improvement progresses, a global minimum point may be approached gradually. The closeness between the present solution point and the global
minimum solution point can be tested by solutionpoint testing or objectivevalue
testing. Procedure close to solution() performs closeness testing. If the present
solution point is su ciently close to a global minimum point, procedure approximate() performs the roundo operation that converts a solution point y in real
space E n to a solution point x in Boolean space f0; 1gn which may be a solution
of the original SAT formula. Procedure solution testing() takes the solution generated from procedure approximate() and substitutes it into the given CNF formula
to verify its correctness.
In practice, the search process could be stuck at a locally optimum point. To
improve the convergence performance of the algorithm, one or more local handlers
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
53
Procedure SAT 14:5 ()
begin
/* initialization*/
y := initial vector();
local := search := 0; limit := bn log n;
/* search */
while (f (y) 1 and local limit) do
begin
old f := f (y); search := search + 1;
/* minimizer */
for i := 1 to n do
minimize f (y) with respect to y ;
/* local handler */
if (f (y)=old f or (search > b0 log n and f (y) 1)) then
i
begin
y := initial vector();
search := 0; local := local + 1;
end;
end;
if f (y) < 1 then y := round o (y) else y := enumerate();
end;
Figure 21.
SAT14.5: A global optimization algorithm for the
UniSAT5 problem.
may be added. One e ective local handler in SAT6 is to negate the truth values of
up to n variables.
Any existing unconstrained global optimization methods can be used to solve
the UniSAT problems (see textbooks and literature). So far many global optimization algorithms have been developed 207, 211, 213]. These include the basic
algorithms, steepest descent methods, modi ed steepest descent methods, Newton's
methods, quasiNewton methods, descent methods, cuttingplane methods, conjugate direction methods, ellipsoid methods, homotopy methods, and linear programming methods. In each algorithm family, di erent approaches and heuristics can be
used to design objective functions, select initial points, scramble the search space,
formulate higherorder local handlers, de ect descent directions, utilize parallelism,
and implement hardware architectures to speed up computations.
8.3. A Discrete Global Optimization Algorithm. Although nonlinear
problems are intrinsically more di cult to solve, an unconstrained optimization
problem is conceptually simple and easy to handle. Many powerful solution techniques have been developed to solve unconstrained optimization problems, which
are based primarily upon calculus and simple accounting, rather than upon algebra and pivoting, as in the Simplex method. Based on a coordinate descent
method 359], Gu has recently given a simple algorithm, the SAT14:5 algorithm
213, 214], for the UniSAT5 problem (see Figure 21). The kernel of SAT14:5 is a
discrete minimizer that minimizes objective function f by the discrete coordinate
descent method.
Given a function f on E n , the SAT14:5 algorithm initially chooses a vector y
from E n and then minimize function f with respect to variables yj (1 j n) in
54
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
minimizer until f < 1. Since each variable yj appears in one clause function ci at
most once, function f(y) can be expressed as
f(y) = aj jyj 1j + bj jyj + 1j + dj
for (1 j n), where aj , bj , and dj are local gain factors that are independent
of yj . They can be computed in O(ln) time. Therefore, f(y) takes its minimum
value with respect to yj at point either yj = 1 or yj = 1. Thus, the minimizer
optimizes function f as follows: if aj bj then set yj equal to 1; otherwise set yj
equal to 1.
In practice, before f < 1, the algorithm could be stuck at a local minimum
point. To overcome this problem, a simple local handler is added. The local
handler simply generates a new initial vector y to start an independent search. In
the SAT14.5 algorithm, if the objective function f can no longer be reduced or
after b0 log n (b0 is a constant, see 213, 214]) iterations of the while loop f is still
at least one, then the localhandler is called.
8.4. A Continuous Global Optimization Algorithm. Based on a continuous coordinate descent method 359], Gu, Huang and Du have recently developed
the SAT14:7 algorithm for solving UniSAT7 problems on E n 213]. For the objective function described in the UniSAT7 input model, if only one variable, e.g., xi ,
is selected for optimization, then
(8.6)
F(xi) = ai(xi 1)2 + bi (xi + 1)2 + ci
where ai , bi , and ci are constants that can be computed in O(ml) time. Here, F(xi)
can be minimized at:
(8.7)
xi = aai + bbi :
i
i
8.5. Complete Global Optimization Algorithms. The SAT14:5, SAT14:6,
and SAT14:7 algorithms are incomplete algorithms. In order to achieve high computing e ciency and to make them complete algorithms, we combine in SAT14:11
to SAT14:20 global optimization algorithms with backtracking/resolution procedures 207, 213]. Therefore, these algorithms are able to verify satis ability as
well as unsatis ability. Figure 22 gives a typical backtracking global optimization
algorithm.
For small and medium size problems, backtracking is able to verify unsatis ability quickly for certain classes of formulas but is slow when it comes to verifying
satis ability, as all possible resolutions need to be tried out before concluding that
the inference relation holds or that the input formula is satis able. From our experience, a combined global optimization algorithm with backtracking/resolution
procedures would perform well for certain classes of satis able and unsatis able
formulas.
Recently some researchers investigated the number of solutions of SAT formulas. Extending Iwama's work 281], Dubois gave a combinatorial formula computing the number of solutions of a set of any clauses 148]. He and Carlier also
studied the mathematical expectation of the number of solutions for a probabilistic
model 149]. For an incomplete SAT algorithm, the number of solutions can have
a strong e ect on its computing e ciency. For a complete SAT algorithm, however, the number of search levels plays a crucial role. In SAT14:11 to SAT14:20
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
55
Procedure SAT14.11 ()
begin
/* initialization */
get a SAT instance();
x0 := select an initial point();
f := evaluate object function(x0 );
/* backtracking with global optimization */
x := backtracking(x0 );
end;
Procedure backtracking(x )
begin
i
/* global optimization assigns v to x */
v := global optimization();
x := v;
V := V fvg;
/* append variable x to the partial path */
path x ] := i;
i
i
i
i
i
i
if path broken then backtracking;
if solution found then return x ;
else backtracking(next x );
end;
i
Figure 22.
SAT14.11: a complete global optimization algorithm
with backtracking.
algorithms, the number of solutions is an important strategy to interplay global
optimization and backtracking/resolution procedures 212, 213].
8.6. Continuous LagrangianBased Constrained Optimization Algorithms. In previous subsections, we have discussed unconstrained (discrete or con
tinuous) formulations of SAT problems based on optimizing a single unconstrained
objective function. To avoid getting trapped in local minima, algorithms for solving these problems must have strategies to escape from local minima. Some of
these strategies, such as random restarts and tunneling, move the search to a new
starting point and start over. In the process of doing so, vital information obtained
during the descent to the current local minimum may be lost. Other strategies
may rely on an internal or an external force to bring the search trajectory out of a
local minimum. Although they work well for continuous problems, they may have
di culty in dealing with SAT problems whose objective values are integers.
One way to bring a search out of a local minimumis to formulate a SAT problem
as a constrained optimization problem as shown in (4.10) and (4.16). By using the
force provided by the violated constraints, the search trajectory can be brought out
of a local minimum. One way to implement this idea is compute the sum of the
constraints weighted by penalties and to update the penalties continuously during
the search. The di culties with this approach lies in the choice of the proper
penalties. A more systematic approach is to use a Lagrangian formulation. In this
and the next subsections, we show two Lagrangian formulations of SAT problems,
one in the continuous space and the other in the discrete space.
56
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
As indicated in (4.16), a SAT problem can rst be transformed into a continuous
constrained optimization problem.
(8.8)
miny2E n
F(y) =
m
X
i=1
ci (y)
subject to ci (y) = 0 8i 2 f1; 2; : : :; mg
where y = (y1 ; y2; : : :; yn), and ci (y) is de ned in (4.12) and (4.13) and repeated
as follows.
ci(y) =
n
Y
j =1
qi;j (yj )
8 (1 y )2 if x in C
<
j
j
i
if xj in Ci
qi;j (yj ) = : yj2
1
otherwise
Here, F(y) is a scalar di erentiable function that takes the norm of its argument
so that F(y) = 0 i ci (y) = 0 for all i.
There are three advantages in reformulating the original discrete unconstrained
problem into a continuous constrained problem. First, a continuous objective function may smooth out local minima in the discrete space, allowing global/local search
methods to bypass these local minima in the continuous space. Second, a continuous objective value can indicate how close the constraints are being satis ed, hence
providing additional guidance in leading to a satis able assignment. Third, when
the search is stuck in a local minimum and some of the constraints are violated,
the violated constraints can provide a force to lead the search out of the local minimum. This is more e ective than restarting from a new starting point, as local
information observed during the search can be preserved.
Active research in the past two decades has produced a variety of methods
for nding global solutions to nonconvex nonlinear optimization problems 508,
267, 163, 240, 405, 377]. In general, transformational and nontransformational
methods are two approaches in solving these problems.
Nontransformational approaches include discarding methods, backtofeasibleregion methods, and enumerative methods. Discarding methods 277, 377] drop
solutions once they were found to be infeasible, and backtofeasibleregion methods 299] attempt to maintain feasibility by re ecting moves from boundaries if
such moves went o the current feasible region. Both of these methods have been
combined with global search and do not involve transformation to relax constraints.
Last, enumerative methods 267] are generally too expensive to apply except for
problems with linear objectives and constraints, and for bilinear programming problems 26].
Transformational approaches, on the other hand, convert a problem into another form before solving it. Well known methods include penalty, barrier, and
Lagrangemultiplier methods 359]. Penalty methods incorporate constraints into
part of the objective function and require tuning penalty coe cients either before
or during the search. Barrier methods are similar except that barriers are set up to
avoid solutions from going out of feasible regions. Both methods have di culties
when they start from an infeasible region and when feasible solutions are hard to
nd. However, they can be combined with other methods to improve their solution
quality.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
57
In Lagrangian methods, Lagrange variables are introduced to gradually resolve
constraints through iterative updates. They are exact methods that optimize the
objective using Lagrange multipliers to meet the KuhnTucker conditions 359].
Eq. (8.8) can be reformulated using Lagrange multipliers into the following unconstrained problem.
(8.9) L(y; ) = F(y) + T c(y)
(Lagrangian function)
2
T
(8.10) L(y; ) = F(y) + jjc(y)jj2 + c(y)
(Augmented Lagrangian function)
where c = (c1 (y); c2 (y); : : :; cm (y)), and T is the transpose of the set of Lagrange
multipliers. The augmented Lagrangian formulation is often preferred because it
provides better numerical stability.
According to classical optimization theory 359], all the extrema of (8.10),
whether local or global, are roots of the following sets of equations.
(8.11)
5y L(y; ) = 0 and 5 L(y; ) = 0
These conditions are necessary to guarantee the (local) optimality to the solution
of (8.8).
Search methods for solving (8.10) can be classi ed into local and global algorithms. Local minimization algorithms, such as gradientdescent and Newton's
methods, nd local minima e ciently and work best in unimodal problems. Global
methods, in contrast, employ heuristic strategies to look for global minima and do
not stop after nding a local minimum 406, 508, 359]. Note that gradients and
Hessians can be used in both local and global methods 508].
Local search methods can be used to solve (8.11) by forming a Lagrangian
dynamic system that includes a set of dynamic equations to seek equilibrium points
along a gradient path. These equilibrium points are called saddlepoints of (8.11),
which correspond to the constrained minima of (8.8). The Lagrangian dynamic
system of equations are as follows.
(8.12) dy(t)dt = 5y L(y(t); (t)) and d (t)dt = 5 L(y(t); (t))
Optimal solutions to the continuous formulation are governed by the Saddle
Point Theorem which states that y is a local minimum to the original problem
de ned in (8.8) if and only if there exists such that (y ; ) constitutes a saddle
point of the associated Lagrangian function F(y; ). Here, a saddlepoint (y ; ) of
Lagrangian function F(y; ) is de ned as one that satis es the following condition.
(8.13)
F(y ; ) F(y ; ) F(y; )
for all (y ; ) and all (y; ) su ciently close to (y ; ).
There are four advantages in using a Lagrangian formulation to solve constrained optimization problems.
Saddle points of (8.11) can be found by local gradient descent/ascent methods de ned in (8.12). The rst equation in (8.12) has a minus sign that
optimizes the original variables along a descending path, whereas the second equation optimizes along an ascending path. Alternatively, (8.12) can
be considered as a global search algorithm that has a localsearch component
based on a descent algorithm in the original variable space. When the search
reaches a local minimum, the search is brought out of the local minimum using the weights imposed by its Lagrange multipliers. This mechanism allows
the search to continue in its present trajectory without any breaks.
58
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Lagrangian search is similar to penaltybased methods in the sense that the
Lagrange variables are increased like penalties when constraints are violated.
However, it is more general than penaltybased methods because the increase
of a Lagrange variable is selfadjusting and is governed by the amount that
the corresponding constraint is violated.
The search modeled by (8.12) can be started from any starting point and
will continue until a saddle point is found.
Since assignments of y where the constraints in (8.8) are satis ed are also
assignments that minimize the objective, saddle points of (8.11) found by
solving (8.12) correspond to satis able assignments to the original SAT problem.
It is important to note out that a Lagrangian search modeled by (8.12) is incomplete: if it does not nd a solution in a nite amount of time, it does not prove
whether the original SAT problem is satis able or not. Hence, in nite time will be
required to prove unsatis ability.
Unfortunately, continuous gradientbased local search methods for solving (8.12)
are very time consuming. Our experience 81] indicates that continuous descent
methods are several orders of magnitude more complex than discrete descent methods. For instance, it takes over one hour of CPU time on a Sun SS10 workstation
to solve a problem with 200 variables and 60 constraints. Consequently, continuous
formulations are not promising in solving large SAT problems. In the next subsection, we extend continuous Lagrangian methods to discrete Lagrangian methods.
Surprisingly, discrete methods work much better and can solve some benchmark
problems that cannot be solved by other local/global search algorithms.
8.7. Discrete LagrangianBased Constrained Optimization Algorithms.
To overcome the computational complexity of continuous Lagrangian methods while
preserving their bene ts, we show in this subsection a discrete constrained formulation of a SAT problem and its solution using a discrete Lagrangian method. The
discrete Lagrangian method is extended from the theory of continuous Lagrangian
methods.
Recall (4.10) in Section 4.1 the following discrete constrained formulation of a
SAT problem.
(8.14)
miny2f0;1gn N(y) =
m
X
i=1
Ui (y)
subject to Ui (y) = 0 8i 2 f1; 2; : : :; mg:
Without going into all the details 538], the continuous Lagrangian method
can be extended to work on discrete problems. The discrete Lagrangian function
for (8.14) is de ned as follows.
(8.15)
L(y; ) = N(y) + T U(y)
where y 2 f0; 1gn, U(y) = (U1 (y); : : :; Um (y)) 2 f0; 1gm, and T is the transpose
of = ( 1 ; 2; : : :; m ) that denotes the Lagrange multipliers. (Note that i can
be continuous variables.)
In a de nition similar to that in (8.13), a saddle point (y ; ) of L(y; )
in (8.15) is de ned as one that satis es the following condition.
(8.16)
L(y ; ) L(y ; ) L(y; )
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
1.
2.
3.
4.
5.
6.
7.
8.
59
Set initial x randomly by a xed random seed
Set initial to be zero
while x is not a solution, i.e., N (x) > 0
update x: x
x
L(x; )
if condition for updating is satis ed then
update :
+ c U (x)
x
end if
end while
Generic discrete Lagrangian algorithm A for solving
SAT problems.
Figure 23.
for all su ciently close to and for all y whose Hamming distance between y
and y is 1.
Similar to (8.12), the Discrete Lagrangian Method (DLM) for solving SAT problems can be de ned as a set of di erence equations,
(8.17)
yk+1 = yk y L(yk ; k)
k+1 = k + U(yk );
(8.18)
where y L(y; ) is the discrete gradient operator
that
Pn with respect to y L(such
y L(y; ) = ( 1 ; 2 ; ; n ) 2 f 1; 0; 1gn, i=1 j i j = 1, and (y
y y; )) 2
f0; 1gn. Informally, y represents all the neighboring points of y.
8.8. An Implementation of a Basic Discrete Lagrangian Algorithm.
Figure 23 shows the pseudo code of A, a generic discrete Lagrangian algorithm
implementing (8.17) and (8.18). It performs descents in the original variable space
of y and ascents in the Lagrangemultiplier space of . In discrete space, y L(y; )
is used in place of the gradient function in continuous space. We call one iteration
as one pass through the while loop.
In the following, we describe some of the considerations in implementing DLM
A.
(a) Initial Points and Restarts (Lines 12). DLM is started from either the
origin or from a random initial point generated by calling drand48() using a xed
random seed 101. Further, is always set to zero. The xed initial points allow
the results to be reproducible easily.
(b) Descent and Ascent Strategies (Line 4). There are two ways to calculate
y L(y; ): greedy and hillclimbing, each involving a search in the range of Hamming distance one from the current y (assignments with one variable ipped from
the current assignment y).
In a greedy strategy, the assignment leading to the maximum decrease in the
Lagrangianfunction value is selected to update the current assignment. Therefore,
all assignments in the vicinity need to be searched every time, leading to computation complexity of O(m), where m is the number of variables in the SAT problem. In
hillclimbing, the rst assignment leading to a decrease in the Lagrangianfunction
value is selected to update the current assignment. Depending on the order of search
and the number of assignments that can be improved, hillclimbing strategies are
generally less computationally expensive than greedy strategies.
A comparison of the two strategies show that hillclimbing is orders of magnitude faster and results in solutions of comparable quality.
60
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
(c) Conditions for updating (Line 5). The frequency in which is updated
a ects the performance of a search. The considerations here are di erent from those
of continuous problems. In a discrete problem, descents based on discrete gradients
usually make small changes in L(y; ) in each update of y because only one variable
changes. Hence, should not be updated in each iteration of the search to avoid
biasing the search in the Lagrangemultiplier space of over the original variable
space of y.
Experimental results show that should be updated only when x L(x; ) = 0.
At this point, a local minimum in the original variable space is reached, and the
search can only escape from it by updating . This strategy amounts to pure
descents in the original y variable space, while holding constant, until a local
minimum is reached.
Note that this strategy is similar to Morris' \break out" strategy 388] and
Selman and Kautz's GSAT 473, 474] that applies adaptive penalties to escape
from local minima. One problem that is overlooked in these strategies is the growth
of penalty terms. In solving a di cult SAT problem, penalty terms may grow to
become very large as the search progresses, causing large swings in the objective
function and delaying convergence of the search. Solutions to this issue are discussed
next.
(d) Amount of update of (Line 6). A parameter c controls the magnitude of
changes in . In general, c can be a vector of real numbers, allowing nonuniform
updates of across di erent dimensions and possibly across time. For simplicity,
c = 1 has been found to work well for most of the benchmarks tested. However,
for some larger and more di cult problems, a smaller c can result in shorter search
time.
The update rule in Line 6 results in nondecreasing . This is true because U(x)
is either 0 or 1: when a clause is not satis ed, its corresponding is increased; and
when a clause is satis ed, its corresponding is not changed. In contrast, in applying Lagrangian methods to solve continuous problems with equality constraints,
the Lagrange multiplier i of constraint gi (x) = 0 increases when gi(x) > 0 and
decreases when g(x) < 0.
When there is no mechanism to reduce the Lagrange multipliers, they can grow
without bound, causing large swings in the Lagrangianfunction value and making
the search terrain more rugged. Although this strategy does not worsen the search
time for most of the benchmark problems tested, values can become very large as
time goes on for a few di cult problems requiring millions of iterations. When this
happens, the search has di culty in identifying an appropriate direction to move.
This situation is illustrated in the rst two graphs of Figure 24 that show the
behavior of DLM when it was applied to solve one of the more di cult DIMACS
SAT benchmark problems. Here, the search is stuck in a suboptimal basin in the
space of the objective function where the number of unsatis ed clauses uctuates
around 20. Since the search terrain modeled by L becomes more rugged as the
Lagrange multipliers increase, the search will have di culty to escape from this
region.
To overcome this problem, should be reduced periodically. For instance, in
the last two graphs of Figure 24, was scaled down by a factor 1.5 every 10,000
iterations. This strategy, when combined with other strategies to be discussed next,
restricts the grown of Lagrange multipliers, leading to the solution of some of the
more di cult benchmark problems.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
16384
1600
1024
256
Lagrangian Value
No. of Unsat Clauses
64
16
Lagrangian multiplier value
1400
4096
Value
61
MIN
AVE
MAX
1200
1000
800
600
400
200
4
0
100 200 300 400 500 600 700 800 900 1000
N_iter x 1000
0
0
100 200 300 400 500 600 700 800 900 1000
N_iter x 1000
(a)
(b)
Without tabu list, at moves and periodic scaling of
2048
250
MIN
AVE
MAX
512
Value
256
128
Lagrangian Value
No. of Unsat Clauses
64
32
16
Lagrangian multiplier value
1024
200
150
100
50
8
4
0
100 200 300 400 500 600 700 800 900 1000
N_iter x 1000
0
0
100 200 300 400 500 600 700 800 900 1000
N_iter x 1000
(c)
(d)
With tabu list of size 30, at moves of limit 50, but without periodic scaling of
128
64
Value
32
16
8
4
Lagrangian multiplier value
6
Lagrangian Value
No. of Unsat Clauses
2
0
100 200 300 400 500 600 700 800 900 1000
N_iter x 1000
MIN
AVE
MAX
5
4
3
2
1
0
100 200 300 400 500 600 700 800 900 1000
N_iter x 1000
(e)
(f)
With tabu list of 30, at moves of limit 50, and periodic scaling of by a factor of
1.5 every 10,000 iterations
Figure 24. Execution pro les of \g12517," one of the di cult
DIMACS benchmark problem. Figures (a), (c), and (e) plot the
Lagrangianfunction values and the number of unsatis ed clauses
versus the number of iterations. Figures (b), (d), and (f) plot the
minimum, average and maximum values of Lagrange multipliers.
62
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
(e) Plateaus in the Search Space. In binary problems like SAT, a search may
nd a very small subset of variables that can lead to no degradation in the objective
function. Flipping variables in this small subset successively may likely lead to a
cycle in the search space. To avoid such an undesirable situation, variables that
have been ipped in the recent past can be stored in a tabu list 199, 239] and will
not be ipped until they are out of the list.
Further, for large SAT problems formulated as discrete optimization problems,
the search may encounter large and at, but suboptimal, basins. Here, gradients
in all directions are the same and the search may wander forever. The discrete
gradient operator y L(y; ) may have di culties in basins/plateaus because it
only examines adjacent points of L(y; ) that di er in one dimension. Hence, it
may not be able to distinguish a plateau from a local minimum.
One way to escape is to allow uphill moves. For instance, in GSAT's random
walk strategy 475], uphill walks are allowed based on probability p. However, the
chance of getting a sequence of uphill moves to get out a deep basin is small since
each walk is independent.
There are two e ective strategies that allow a plateau to be searched.
(a) Flatmove strategy. We need to determine the time to change when the
search reaches a plateau. As indicated earlier, updating when the search is in
a plateau changes the surface of the plateau and may make it more di cult for
the search to nd a local minimum somewhere inside the plateau. To avoid this
situation, a strategy called at move 538] can be employed. This allows the search
to continue for some time in the plateau without changing , so that the search
can traverse states with the same Lagrangianfunction value. How long should
at moves be allowed is heuristic and possibly problem dependent. Note that this
strategy is similar to Selman's \sidewaymove" strategy 474].
(b) Tabu list. This search strategy aims to avoid revisiting the same set of
states in a plateau. In general, it is impractical to remember every state the search
visits in a plateau due to the large storage and computational overheads. A tabu
list 199, 239] can be kept to maintain the set of variables ipped in the recent
past and to avoid ipping a variable if it is in the tabu list.
The last four graphs of Figure 24 illustrate the performance of DLM when
the search maintains a tabu list of size 30, when it is allowed to stay in a basin
within 50 moves ( atmove limit), and when all Lagrange multipliers are periodically scaled down. These graphs show signi cant reduction in the growth of
Lagrangianfunction values and Lagrange multipliers.
By using these strategies, DLM can solve successfully many of the hard problems in the DIMACS benchmark suite 538]. These results are presented in Section 13.
8.9. Convergence Property and Average Time Complexity. Gu, Gu
and Du 218] have analyzed the convergence ratios of three basic methods: the
steepest descent method, Newton's method, and the coordinate descent method for
objective function f de ned in the UniSAT7 input model. They prove that, subject
to certain conditions 359], the steepest descent method has a linear convergence
ratio (A a)=(A + a)]2 < 1, Newton's method has a convergence ratio of order
two, and the coordinate descent method has a convergence ratio 1 A(na 1) < 1,
where A a > 0 are the largest and smallest eigenvalues of the Hessian matrix
H(y), respectively.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
63
From these convergence properties, Gu, Gu, and Du roughly estimate that, subject to certain conditions 359], the UniSAT7 problem can be solved in O(log(n +
m)) iterations by the steepest descent method and can be solved in O(m log(n+m))
iterations by the coordinate descent method, on the assumption that the algorithm
is not stuck at a local minimum point.
Gu and Gu have made some preliminary analysis of the typical time complexity
of some global optimization SAT algorithms 214]. It shows that, the SAT14:5
algorithm, with probability at least 1 e n , nds a solution within k = O(n(logn)2 )
iterations of the while loop for a randomly generated satis able CNF formula with
l 3 and m=n
2l =l, where < l is a constant. From this and the fact that
the run time of procedure enumerate() is O(2n), the typical time complexity of the
SAT14:5 algorithm is
(1 e n)O(n(log n)2 (lmn)) + e n O(2n ) = O(ln(n log n)2):
Clearly, the SAT14:5 algorithm can give an answer to an unsatis able CNF formula in O(2n) time.
9. Integer Programming Method
In this section, we rst give an integer program (IP) formulation of SAT. Then
we describe some traditional techniques of using the integer programming approach
to solve SAT.
9.1. An Integer Programming Formulation for SAT. In order to represent SAT inputs in the framework of mathematical programming, we identify logic
value true with integer 1 and false with 1. Similar in UniSAT models (Section 8.1),
all Boolean _ and ^ connectives are transformed into + and of ordinary addition
and multiplication operations, respectively. Using a standard transformation, the
ith clause Ci is transformed into a linear inequality 303, 301]:
(9.1)
where
(9.2)
n
X
j =1
qi;j (wj ) 2 jCij
8 w if literal x is in clause C
<
j
i
qi;j (wj ) = : w if literal xj is in clause Ci
0 if neither xj nor xj is in Ci
where wj is the jth integer variable.
To restrict wj = 1, j = 1; 2; :::n, requires that extra constraints be added
to insure that each wj be in the closed interval 1; 1], i.e., 1 wj 1 for
j = 1; 2; :::n.
Following the above formulation, for example, a CNF F
(x1 _ x2 ) ^ (x1 _ x2 _ x3 ) ^ (x2 _ x3)
is translated into
w1 w 2 0
w1 + w2 + w3 1
w2 + w3 0
64
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
so an integer programming formulation is obtained for SAT as: nding wj = 1,
such that
0 1 1 0 10 w 1 0 0 1
@ 1 1 1 A @ w12 A @ 1 A
(9.3)
0 1 1
w3
0
or
0 1 1 0 10 w 1 0 0 1
@ 1 1 1 A @ w12 A @ 1 A
(9.4)
0 1 1
w3
0
While the Simplex method is e ective for solving linear programs (LP), there is
no single technique that is fast for solving integer programs. Therefore, approaches
developed try to solve the integer program as an integer linear program (ILP).7 If
the solution is noninteger, one rounds o the values to the nearest integers and
checks whether this corresponds to a solution of the original input. If the rounded
o values do not correspond to a solution, adds a new constraint and computes a
solution of the modi ed linear program. So far most methods developed to solve
the integer programs for SAT indirectly work on the corresponding integer linear
programs.
Researchers have observed that the optimal integerprogramming solution is
usually not obtained by rounding the linearprogramming solution although this is
possible in certain cases (see Section 10). The closest point to the optimal linearprogram may not even be feasible. In some cases, the nearest feasible integer point
to the linearprogram solution is far removed from the optimal integer point. Thus,
when using an integer linear program to solve the integer program for SAT, it is
not su cient simply to round linearprogramming solutions.
In the following sections, we describe existing integer programming methods to
solve SAT.
9.2. Linear Program Relaxation. A basic method to solve an integer program is the linear program relaxation. In this approach, the LP relaxation is
achieved by replacing xi 2 f0,1g with 0 xi 1. The LP relaxation can be solved
e ciently with some sophisticated implementations of Dantzig's Simplex method,
such as MINOS 389], or some variations of Karmarkar's interior point method
305].
Hooker early reported that by solving a linear programming of SAT, one frequently produces an integer solution 259]. Kamath et al. used MINOS 5.1 to
solve linear programming relaxation 303, 301]. They tried some small SAT inputs and found that the Simplex method failed to nd integral solutions to the
linear programming relaxations in majority of instances tested.
9.3. Branch and Bound Method. Branchandbound is essentially a strategy of \divide and conquer." It is a straightforward and the most successful way
to solve the integer programming problem. The idea is to systematically partition
the linearprogramming feasible region into manageable subdivisions and make assessments of the integerprogramming problem based on these subdivisions. When
moving from a region to one of its subdivisions, we add one constraint that is not
satis ed by the optimal linearprogramming solution over the parent region. So the
7 An integer linear program (ILP) is a linear program further constrained by integrality
restrictions.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
x1 <0
x2 <0

LP
x 1 >0
LP
LP
Figure 25.
LP
x 2 >0
LP
65
x2 <0

x 2 >0
LP
An example of a branchandbound tree.
linear programs corresponding to the subdivisions can be solved e ciently. In general, there are a number of ways to divide the feasible region, and as a consequence
there are a number of branchandbound algorithms.
We show the basic procedures of branchandbound with a simple example
shown in Figure 25. The method starts with the fractional solution given by its
corresponding LP relaxation. Then a variable of fractional solution is selected. For
example, let x1 be a variable, and set x1 0 as an additional constant; i.e., branch
on x1 with constraint x1 0. Resolve the LP relaxation with this augmented constraint. If it still produces a noninteger solution, branch on another noninteger
variable, say x2 , rst with constraint x2 0, and resolve the LP with extra constraint x1 0 and x2 0. This process continues until solving the augmented LP
yields an integer solution, i.e., an incumbent solution, so there is no need to branch
further at that node. Since we do not know this to be optimal, a backtracking procedure is required to search with extra constraints x1 0 and x2 0 and resolve
the augmented LP and continue the process until an integer solution is obtained.
The above process produces a binary tree as shown in Figure 25. In this way,
we implicitly exhaust all possibilities and conclude with an optimal solution. Note
that each time we obtain an incumbent solution we get a new upper bound on the
minimum value of the objective function. It at the same node the LP yields an
objective function with value that exceeds the best upper bound obtained so far,
then we can fathom that node, since any solution obtained at its successors can
only be worse.
9.4. CuttingPlane Method. Unlike partitioning the feasible region into
subdivisions, as in branchandbound approaches, the cuttingplane algorithm solves
integer programs by modifying linearprogramming solutions until an integer solution is obtained. It works with a single linear program, which it re nes by adding
new constraints. The new constraints successively reduce the feasible region until
an integer optimal solution is found.
The idea of the cutting plane method can be illustrated from a simple geometric interpretation (Figure 26). The feasible region for the integer program, i.e., an
integer polytope, consists of those integer lattice points satisfying all constraints. A
cut is an inequality satis ed by all the feasible solutions of the integer program. A
66
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
x2
related polytope
1
X*
0
integer
polytope
Figure 26.
x1
1
cut
An illustration of the cuttingplane method.
cutting plane is a hyperplane de ned by that inequality and it con icts with the solution X of the linearprogramming relaxation. The cutting plane passes between
X and the integer polytope and cuts o a part of the relaxed polytope containing
the optimal linearprogramming solution X without excluding any feasible integer
points. After the cut, the resulting linear program is solved again. If the optimal
values for the decision variables in the linear program are all integer, they are optimal; otherwise, a new cut is derived from the new optimal linearprogramming
tableau and appended to the constraints.
In practice, the branchandbound procedures almost always outperform the
cuttingplane algorithm. Nevertheless, the algorithm has been important to the
evolution of integer programming. Historically, it was the rst algorithm developed
for integer programming that could be proven to converge in a nite number of
steps. In addition, even though the algorithm generally is considered very inefcient, it has provided insights into integer programming that have led to other,
more e cient algorithms.
9.5. Interior Point Method. The most important advance in linear programming solution techniques was recently introduced by Karmarkar 305]. As
shown in Figure 27, compared to the Simplex method which jumps from a corner point to another corner point of the LP polytope until the optimal solution
is found, Karmarkar's algorithm constructs an ellipsoid inside the polytope and
uses nonlinear transformations to project better solution guesses in the interior of
the polytope. Unlike the Simplex method which approaches the optimal solution
indeed by stepbystep searching and has an exponential worstcase complexity,
Karmarkar's algorithm has been proven to be a polynomial time algorithm.
To apply Karmarkar's algorithm on integer programming, rst the 0/1 integer
program is transformed to a 1 integer program. Then the potential function
x2 is used, and obviously the optimal integer solution to the original IP problem
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
x2
67
optimal
solution
X
objective function
projection
polytope
simplex iterations
x1
The basic ideas of the Simplex method and Karmarkar's method.
Figure 27.
is at the point that the potential function achieves a maximum. However, using
Karmarkar's algorithm on integer programming may get stuck at a local minimum,
i.e., it does not guarantee to nd the optimal solution by projection. Therefore, it
is an incomplete algorithm.
9.6. Improved Interior Point Method. It is expected that a sequence of
interior points
(9.5)
wk+1 = wk + 4 w
is generated such that the potential function in Karmarkar's algorithm is minimized.
It is crucial to determine the descent direction 4w of the potential function around
wk and the step size .
In the original Karmarkar's algorithm, the step size is assumed with (0,1].
They used = 0:5 in their experiments to solve SAT inputs. If the potential
function is well represented by the quadratic approximation around the given point,
then if we move along the Newton direction and have the appropriate values for
certain parameters, we will reach the minimum; otherwise, recall that the step size
is chosen so that it reaches a minimum of the objective function on that line of the
given descent direction. So there is no reason to restrict within (0,1].
This suggests the necessity to use line search to choose optimal step size. Following this idea, Shi, Vannelli, and Vlach have recently given an improved interior
point algorithm 479]. In their algorithm, the step size is determined by a goldensection search 359]. Experiments show signi cant improvements on Karmarkar's
algorithm.
10. Special Subclasses of SAT
Certain subclasses of SAT that are known to be solved in polynomial time have
been identi ed and explored. There are at least three reasons for discussing such
subclasses in this section. First, a given formula can be preprocessed and examined
to determine whether it is a member of a polynomialtime solvable subclass of SAT.
68
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
If so, a special, fast algorithm can be brought to bear on the formula. Second, a
portion of a given formula may a member of such a subclass and its solution may
make solving the given formula easier. Third, study of such subclasses reveals,
in part, the nature of \easy" SAT formulas. On the other hand, as reported in
Section 12, studies of random formulas indicate that these known classes contain
only a small fraction of the formulas that can be solved rapidly.
Below, we consider some of the more notable polynomialtime subclasses. When
we say apply unit resolution we mean apply the unit clause rule to exhaustion.
10.1. 2SAT. A CNF formula containing clauses of one or two literals only is
solved in linear time by applying unit resolution 18, 155].
10.2. Horn and Extended Horn Formulas. A CNF formula is Horn if
every clause in it has at most one positive literal. This class is widely studied, in
part because of its close association with Logic Programming. Horn formulas can
be solved in linear time using unit resolution 144, 279, 469].
The class of extended Horn formulas was introduced by Chandru and Hooker 79]
who were looking for conditions under which a Linear Programming relaxation
could be used to nd solutions to propositional formulas. A theorem of Chandrasekaran 84] characterizes sets of linear inequalities for which 01 solutions can
always be found (if one exists) by rounding a real solution obtained using an LP
relaxation. Extended Horn formulas can be expressed as linear inequalities that belong to this family of 01 problems. The following graphtheoretic characterization,
taken from 504], is simpler than the LP characterization.
Let C be a clause constructed from a variable set V , and let R be a rooted
directed tree with root s (i.e., a directed tree with all edges directed away from
s) and with edges uniquely labeled with variables in V . Then C is extended Horn
w.r.t. R if the positive literals of C label a (possibly empty) dipath P of R, and the
set of negative literals in C label an edgedisjoint union of dipaths Q1; Q2; :::; Qt of
R with exactly one of the following conditions satis ed:
1. Q1; Q2; :::; Qt start at the root s.
2. Q1; Q2; :::; Qt 1, (say), start at the root s, and Qt and P start at a vertex
q 6= s (if P is empty, Qt can start from any vertex).
A clause is simple extended Horn w.r.t. R if it is extended Horn w.r.t. R and only
Condition 1 above is satis ed. A CNF formula is (simple) extended Horn w.r.t. R
if each of its clauses is (simple) extended Horn w.r.t. R. A formula is (simple)
extended Horn if it is (simple) extended Horn w.r.t. some such rooted directed tree
R.
One tree R for a given Horn formula is a star (one root and all leaves with an
edge for each variable in the formula). Hence, the class of extended Horn formulas
is a generalization of the class of Horn formulas.
Chandru and Hooker 79] showed that unit resolution alone can determine
whether or not a given extended Horn formula is satis able. A satisfying truth assignment for a satis able formula may be found by applying unit resolution, setting
values of unassigned variables to 1/2 when no unit clauses remain, and rounding the
result by a matrix multiplication 79]. This algorithm cannot, however, be reliably
applied unless it is known that a given formula is extended Horn. Unfortunately,
the problem of recognizing extended Horn formulas is not known to be solved in
polynomial time.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
69
10.3. Formulas from Balanced (0; 1) Matrices. The class of formulas
from balanced (0; 1) matrices, which we call balanced formulas here, has been
studied by several researchers (see 100] for a detailed account of balanced matrices and a description of balanced formulas). The motivation for this class is the
question, for SAT, when do Linear Programming relaxations have integer solutions?
Express a CNF formula of m clauses and n variables as an m n (0; 1)matrix M where the rows are indexed on the clauses, the columns are indexed on
the variables, and a cell M(i; j) has the value +1 if clause i has variable j as an
unnegated literal, the value 1 if clause i has variable j as a negated literal, and
the value 0 if clause i does not have variable j as a negated or unnegated literal.
A CNF formula is a balanced formula if in every submatrix of M with exactly two
nonzero entries per row and per column, the sum of the entries is a multiple of
four 510].
Let a CNF formula be cast, in standard fashion, as a linear programming
problem of the form fx : Mx 1 n(M); 0 x 1g where n(M) is a column
vector whose components are the number of negated literals in clauses at the rows
corresponding to those components. If M is balanced, then for every submatrix A
of M, the solution to fx : Ax 1 n(A); 0 x 1g is integral 100]. From this
it follows that balanced formulas may be solved in polynomial time using linear
programming.
Balanced formulas have the property that, if every clause contains more than
one literal, then for every variable v there are two satisfying truth assignments: one
with v set to true and one with v set to false. Thus, the following is a simple lineartime algorithm for nding solutions to known balanced formulas 100]. Apply unit
resolution to the given formula. If a clause is falsi ed, the formula is unsatis able.
Otherwise, repeat the following as long as possible: choose a variable and set its
value to true, then apply unit resolution. If a clause becomes falsi ed, then the
formula is unsatis able, otherwise all clauses have been satis ed by the assignment
resulting from the variable choices and unit resolution.
Unlike extended Horn formulas, balanced formulas are known to be recognized
in polynomial time 100].
10.4. SingleLookahead Unit Resolution. This class was developed as a
generalization of other classes including Horn, extended Horn, simple extended
Horn, and balanced formulas 466]. It is peculiar in that it is de ned based on
an algorithm rather than on properties of formulas. The algorithm, called SLUR,
selects variables sequentially and arbitrarily and considers both possible values for
each selected variable. If, after a value is assigned to a variable, unit resolution
does not result in a clause that is falsi ed, the assignment is made permanent and
variable selection continues. If all clauses are satis ed after a value is assigned
to a variable (and unit resolution is applied), the algorithm returns a satisfying
assignment. If unit resolution, applied to the given formula or to both subformulas
created from assigning values to the selected variable on the rst iteration, results
in a clause that is falsi ed, the algorithm reports that the formula is unsatis able.
If unit resolution results in falsi ed clauses as a consequence of both assignments of
values to a selected variable on any iteration except the rst, the algorithm reports
that it has given up.
70
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
A formula is in the class SLUR if, for all possible sequences of selected variables,
SLUR does not give up on that formula. SLUR takes linear time with the modication, due to Truemper 513], that unit resolution be applied simultaneously to
both branches of a selected variable, abandoning one branch if the other nishes
rst without falsifying a clause. Note that due to the de nition of this class, the
question of class recognition is avoided.
All Horn, extended Horn, and balanced formulas are in the class SLUR. Thus,
an important outcome of the results on SLUR is the observation that no special
preprocessing or testing is needed for a variety of special subclasses of SAT when
using a reasonable variant of the DPL algorithm.
A limitation of all the classes above is that they do not represent many interesting unsatis able formulas. There are several possible extensions to SLUR which
improve the situation. One is to add a 2SAT solver to the unit resolution step.
This extension is at least able to handle all 2SAT formulas which is something
SLUR cannot do. This extension can be elegantly incorporated into SLUR due
to an observation of Truemper: \Whenever SLUR completes a sequence of unit
resolutions, and if at that time the remaining clauses are nothing but a subset of
the original clauses (which they would have to be if all clauses have at most two
literals), then e ectively the SLUR algorithm can start all over. That is, if xing
of a variable to both values leads to an empty clause, then the formula has been
proved to be unsatis able. Thus, one need not augment SLUR by the 2SAT algorithm, because the 2SAT algorithm (at least one version of it) does exactly what
the modi ed SLUR does." Another extension of SLUR is to allow a polynomial
number of backtracks, giving up if at least one branch of the DPL tree does not
terminate at a leaf where a clause is falsi ed. Thus, unsatis able formulas with
short DPL trees can be solved. However, such formulas are uncommon.
10.5. qHorn Formulas. This class of propositional formulas was developed
by Boros, Crama, Hammer, Saks, and Sun in 44] and 43]. We choose to characterize the class of qHorn formulas as a special case of monotone decomposition of
matrices 511, 513]. As in the case of balanced (0; 1) matrices, express a CNF
formula of m clauses and n variables as an m n (0; 1)matrix M where the rows
are indexed on the clauses, the columns are indexed on the variables, and a cell
M(i; j) has the value +1 if clause i has variable j as an unnegated literal, the value
1 if clause i has variable j as a negated literal, and the value 0 if clause i does not
have variable j as a negated or unnegated literal. In the monotone decomposition
of M, columns are scaled by 1 and the rows and columns are partitioned into
submatrices as follows:
A1 j E D j A2
where the submatrix A1 has at most one +1 entry per row, the submatrix D
contains only 1 or 0 entries, the submatrix A2 has no restrictions other than the
three values of 1, +1, and 0 for each entry, and the submatrix E has only 0 entries.
If the monotone decomposition of M is such that A2 has no more than two nonzero
entries per row, then the formula represented by M is qHorn.
A recent result by Truemper 513] can be used to nd a monotone decomposition for a matrix associated with a qHorn formula in linear time. Once a qHorn
formula is in its decomposed form it can be solved in linear time as follows. Treat
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
71
submatrix A1 as a Horn formula and solve it in linear time using a method such
as in 144, 279, 469] which returns a minimum, unique truth assignment for the
formula with respect to true. If the Horn formula is unsatis able then the qHorn
formula is unsatis able. Otherwise, the returned assignment satis es A1 and some
or all rows of D. The set of true variables in every truth assignment satisfying
A1 contains the set of variables true in the returned minimum, unique truth assignment. Therefore, since elements of D are either 0 or 1, no truth assignment
satisfying A1 can satisfy any rows of D that are not satis ed by the minimum,
unique truth assignment. Hence, the only way A1 and D both can be satis ed is
if A2, minus the rows collinear with those of D that are satis ed by the minimum,
unique truth assignment, can be satis ed. Since A2 represents a 2SAT formula,
any subset is also 2SAT and can be solved in linear time. If the answer is unsatis able then the qHorn formula is unsatis able; if the answer is satis able then
such a satisfying assignment plus the minimum, unique truth assignment returned
earlier are a solution to the qHorn formula.
The developers of the class qHorn also o er a lineartime solution to formulas
in this class. The main result of 43] is that a qHorn formula can be recognized in
linear time. See 42] for a lineartime algorithm for solving qHorn formulas.
Formulas in the class qHorn are thought to be close to what might be regarded
as the largest easily de nable class of polynomially solvable propositional formulas
because of a result due to Boros, Crama, Hammer, and Saks 44]. Let fv1; v2; :::; vng
be a set of Boolean variables, and Pk and Nk , Pk \ Nk = ; be subsets of f1; 2; :::; ng
such that the kth clause in a CNF formula is given by _i2Pk vi _i2Nk vi . Construct
the following system of inequalities:
X
i2Pk
i+
X
i2Nk
(1
i)
Z; (k = 1; 2; :::; m); and
0 i 1; (i = 1; 2; :::; n):
where Z 2 R+ . If all these constraints are satis ed with Z 1 then the formula
is qHorn. On the other hand, the class of formulas such that the minimum Z
required to satisfy these constraints is at least 1 + 1=n , for any xed < 1, is
NPcomplete. For more information on the subject of qHorn formulas will appear
in 513].
10.6. Renamable Formulas. Suppose clauses of a CNF formula F are constructed from a set V of variables and let V 0 V . De ne switch(F ; V 0 ) to be the
formula obtained as follows: for every v 2 V 0 , reverse all unnegated occurrences of
v in F to negated occurrences and all negated occurrences of v to unnegated occurrences. For a given formula F , if there exists a V 0 V such that switch(F ; V 0 ) is
Horn, extended Horn, etc., then the formula is said to be renamable Horn, extended
Horn, etc., respectively.
The algorithms given above work even if a given formula is renamable to a
formula in the class for which they apply. Additional classic references to Horn
renamability are 339] and 19].
It is interesting to note that there exist formulas in the class of SLUR formulas
that are not members of either renamable extended Horn formulas or balanced
formulas 466].
72
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
10.7. Formula Hierarchies. Some sets of clauses not falling into one of the
polynomially solvable classes de ned above may be reduced to \equivalent" formulas that are members of at least one of these classes. If such reductions are
e cient, these sets can be solved in polynomial time. Such reductions can take
place in stages where each stage represents a class of polynomially solved formulas,
and lower stages represent classes of perhaps lower time complexity than classes
represented by higher stages. The lowest stage is a polynomially solved base class,
such as one of the classes above.
An example of such a hierarchy is found in 182]. The base class, at stage
0, is Horn. Consider a stage 1 formula that is not Horn. By de nition of the
hierarchy, there is a variable v which, if set to true, leaves a set of nonsatis ed
clauses and nonfalsi ed literals that is Horn. If this Horn formula is found to be
satis able, we can conclude the original formula is. Otherwise, setting v to false
leaves a set of clauses that is a stage 1 formula (empty formulas are considered
to belong to every stage). Thus, the above process can be repeated (on stage 1
formulas) to exhaustion. Since it takes linear time to solve Horn formulas and in
the worstcase a linear number of Horn systems must be considered, the process for
solving formulas at stage 1 has quadratic complexity. The above concept can be
expanded to higher stages to form a hierarchy: at stage i, when setting v to true, a
subformula is at stage i 1, and when setting v to false, a subformula is at stage
i. Thus, solutions to stage i formulas are carried out recursively leading to a time
complexity that is bounded by mi . An alternative way to solve formulas at stage i
in the hierarchy is to use iresolution (resolution is not applied unless at least one
clause has at most i literals) 62].
The only remaining question is to determine whether a given formula is a stage
i formula. This can be done with a bottomup approach described in 182].
For other information on such Hierarchies see, for example, 113, 184].
10.8. Pure Implication Formulas. Pure implication formulas are de ned
recursively as follows:
1. A variable is a pure implication formula.
2. If F1 and F2 are pure implication formulas then (F1 ! F2 ) is a pure implication formula.
Eliminating parentheses on right to left associativity, a pure implication formula
can be written F1 ! F2 ! ::: ! Fp ! z where z is a variable. We call the z
variable of a formula the rightend variable.
The satis ability problem is trivial for a pure implication formula but the problem of falsi ability is NPcomplete even if all variables except the rightend variable
occur at most twice in the formula. Furthermore, the complexity of determining
falsi ability seems to increase at least exponentially with the number of occurrences
of the rightend variable 249]; this yields a hierarchy of classes starting from lineartime solvability and going through NPcompleteness. This is possibly due to the
fact that the expressive power of pure implication formulas at the lower levels of
the hierarchy is extremely limited. Despite this lack of expressibility, it seems that
the lower levels of the hierarchy are incomparable with other special polynomialtimesolvable classes such as 2SAT and SLUR. To make this more concrete, de ne
a class of CNF formulas related to pure implication formulas and call it PICNF(k).
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
73
A formula in the class PICNF(k) consists only of the following kinds of clause
groups:
1: (x 1 _ x 2 _ x 3 ) ^ (x 1 _ x 2 ) ^ (x 1 _ x 3 )
2: (x 1 _ x 2 _ x 3 ) ^ (x 1 _ x 2 ) ^ (x 1 _ x 3 )
3: (x 1 )
where the number of type 2 groups is xed at k and each variable occurs at most
twice in a PICNF(k) formula. The falsi ability question for a given pure implication formula with rightend variable occurring at most k times is identical to the
satis ability question for a formula in class PICNF(k). If all but one totally negated
clauses are removed from such a formula, a complete set of at most n partial truth
assignments, each of which can be extended to satisfying truth assignments, can
be constructed in linear time. Doing this for each totally negated clause results
in k such sets of partial truth assignments. Multiplying these sets to nd consistent assignments spanning all k sets can determine whether the given formula is
satis able. This can be accomplished in O(nk ) time, matching the complexity of
falsi ability of pure implication formulas. A recent result 172] shows this can be
reduced to O(kk n2 ) time. We remark that the problem of determining satis ability
for formulas of the union of the classes PICNF(k), for all k, is NPcomplete.
The class PICNF(k), k xed, is incomparable to other polynomially solved
classes discussed above. For example, there are SLUR CNF formulas that are not
represented as PICNF(k) formulas and vice versa (particularly many unsatis able
PICNF(k) formulas are not SLUR CNF formulas). Also, although it is easy to
construct a PICNF(k) formula that is renamable Horn (and therefore qHorn), even
the PICNF(1) set (x1 _x2 _x3)^(x1 _x2)^(x1 _x3)^(x1 _x3 _x4)^(x1 _x3)^(x1 _x4)
is not qHorn.
PICNF(k) is interesting because, for k xed, it contains formulas that are not
in other polynomialtime solvable classes and the severe lack of expressibility of
PICNF(k) formulas may be exploited to assist complexity investigations of class
hierarchies. In particular, why should the hierarchies discussed above have O(jF jk)
complexity when a complexity of O(2k jF j), say, is not inconsistent with any developed theory? PICNF(k) may be useful in answering this question.
10.9. Nonlinear Formulations. An optimization problem with 01 variables can be reduced to a constrained nonlinear 01 program. Such programs are
expressed as follows:
max F(x) =
x2f0;1gn
(10.1)
subject to
gi (x) =
where
(10.2)
Tk =
Y
j 2N k
pi
X
k=1
p
X
k=1
c k Tk
aik Tik < bi; i = 1; 2; : : : ; m
xj ; Nk N = f1; 2; : : : ; ng; k = 1; 2; : : : ; p
74
and
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Tik =
Y
j 2Nik
xj ; Nik N; k = 1; 2; : : : ; pi; i = 1; 2; : : : ; m
Problems in propositional logic, originating, for example, in graph theory, can be
expressed this way by associating 0 to false, 1 to true, 1 a to a, and a b to a ^ b.
Several methods for solving the above formulation have been proposed 235,
237]. In some restricted cases these methods have polynomial time complexity.
Thus, the rich literature on this subject can be carried over to the domain of
propositional satis ability to provide low complexity algorithms for SAT under
corresponding conditions.
A notable example involves functions for which the cooccurrence graph is a
partial ktree 107]. The DNF formulation expressed by equations (4.7)(4.8) is
in the form of equations (10.1) and (10.2). Let F(x) be such a DNF function.
The cooccurrence graph of F(x) has a vertex set corresponding to the variables
fx1; x2; : : : ; xng with an edge between xi and xj (i 6= j) if these variables occur
simultaneously in at least one product term of F(x). A simple, undirected graph G
is a ktree if there is an ordering fx 1 ; x 2 ; : : : ; x n g of all its vertices such that, for
all j = 1; 2; : : : ; n k, in the subgraph Gj induced by vertices fx j ; x j+1 ; : : : ; x n g
the vertex x j has degree k and its neighbors induce a complete subgraph of Gj .
A partial ktree is any graph obtained by deleting edges from a ktree. If the cooccurrence graph of F(x) is a partial ktree, then F(x) can be solved in linear
time 107]. Since the maximization problem for DNF formulas is the same as the
minimization problem for CNF formulas (by using 1 x for literal x and x for literal
x), CNF formulas can be solved in linear time if their corresponding cooccurrence
graph is a partial ktree.
Another example is a linear time algorithm for determining whether a 2SAT
formula has exactly one solution, that is, uniquely solvable. The question of determining unique solvability is a tough one in general and it is even hard to determine
whether linear time algorithms exist for special subclasses of SAT8. However, one
is presented for 2SAT in 236] using the framework of pseudoboolean functions
(that is, of the form (10.1) and (10.2)). Finally, we mention the result of 106]
where a polynomial time algorithm for producing a parametric representation of all
solutions to a 2SAT formula is presented.
10.10. Nested and Extended Nested Satis ability. The complexity of
nested satis ability has been studied in 314]. That study was inspired by Lichtenstein's theorem of planar satis ability 347]. Index all variables in a CNF formula.
A clause C1 straddles a clause C2 if the index of a literal of C2 is strictly between
two indices of literals of C1. Two clauses overlap if they straddle each other. A formula is nested if no two clauses overlap. The problem of determining satis ability
for nested formulas, the clauses ordered so that clause Ci does not straddle clause
Cj when i < j, can be solved in linear time 314].
An extension to nested satis ability has been proposed in 238]. We prefer to
skip the details and just mention that this extension can be recognized and solved
in linear time. For details, the reader is referred to 238].
8 An almost linear algorithm for unique HornSAT has been obtained by Berman et al. 29]
and improved into a linear time algorithm by a slight modi cation due to Pretolani 421] (Minoux
developed a quadratic time algorithm in 378])
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
11. Advanced Techniques
75
In this section, we describe a number of advanced optimization techniques for
satis ability testing. They have been used in practical engineering applications and
have proven to be e ective for certain classes of SAT.
11.1. General Boolean Representations. In practice, many problems in
integrated circuit design, such as logic veri cation, test pattern generation, asynchronous circuit design, logic optimization, sequential machine reduction, and symbolic simulation, can be expressed as Boolean satis ability problems with arbitrary
Boolean functions. Each representation has corresponding algorithms for satis ability testing. A Boolean representation a ects the performance of Boolean manipulation methods accordingly. Thus, e cient representation and manipulation
of Boolean functions is crucial to many practical applications. Many di erent representations have been proposed for manipulating Boolean functions. However,
many Boolean functions derived from practical circuit design problems su er from
an exponential size in their representations, making satis ability testing infeasible.
Most SAT algorithms work on conjunctive normal form (CNF) formulas, i.e.,
input formulas must be expressed as a product of sums of literals. The CNF formula
is a canonical formula used in most analytical studies but is not an e cient representation in practical application problems. Many real engineering design problems use
nonclausal representations rather than the CNF formula. Algorithms in this category may be regarded as nonclausal inference algorithms for satis ability testing
215]. Compared to CNF formulas, a nonclausal, general Boolean representation
is much more compact and e cient, although the transformation of an arbitrary
nonclausal expression into CNF can be done in polynomial time by introducing
new variables. This will result in clauseform representation of substantially larger
sizes 192, 415]. While this is not critical in complexity theory, it will have serious
impact in solving practical application problems.
In practice, a SAT algorithm can be made much more e cient if it works
directly on problems represented in a compact number of general Boolean formulas
rather than a large collection of CNF clauses. For a nonclausal SAT algorithm, the
evaluation of arbitrarily large, complex Boolean functions is a key to its e ciency
228].
The next two subsections describe a sequential and a parallel Boolean representation and manipulation methods.
11.2. Binary Decision Diagram (BDD). Ordered Binary Decision Diagrams (OBDDs) 59, 60] is an e cient representation and manipulation method for
arbitrary Boolean functions. This representation is de ned by imposing restrictions
on the BinaryDecisionDiagram (BDD) representation introduced by Lee 334] and
Akers 9], such that the resulting form is canonical. The OBDD representation and
its manipulation method are an extremely powerful technique in various practical
applications. It is particularly useful with formulas where one needs to consider every solution, such as cases where one must search for optimal solutions. Although
the OBDD representation of a function may have size exponential in the number
of variables, many useful functions have more compact representations in practice.
A BDD gives a graphical representation of Boolean functions. It is a directed
acyclic graph with two types of leaf nodes, 0 and 1. Each nonleaf node is labeled
with a Boolean variable v and has two outgoing edges labeled 0 (the left edge) and
76
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
(a+b).(a+c)
F
a
1
0
b
1
0
c
0
0
Figure 28.
1
1
A simple BDD example for F = (a + b) (a + c).
1 (the right edge). A BDD can be utilized to determine the output value of the
function by examining the input values. Every path in a BDD is unique, i.e., no
path contains nodes with the same variables. This means that if we arbitrarily trace
out a path from the function node to the leaf node 1, then we have automatically
found a value assignment to function variables for which function will be 1 regardless
of the values of the other variables.
Given a simple example Boolean function F = (a + b) (a + c), the BDD of
function F can be constructed to determine its binary value, given the binary values
of variables a, b, and c. At the root node of BDD, we begin at the value of variable
a. If a = 1, then F = 1 and we are nished. If a = 0, we look at b. If b = 0,
then F = 0 and again we are nished. Otherwise, we look at c, its value will be
the value of F. The complete BDD for function F is shown in Figure 28, where all
the paths from the root function node F to the leaf node 1 are highlighted. Each
highlighted path yields a satis able assignment. For F, the satis able assignments
are a = 1, b = , c = and a = 0, b = 1, c = 1, where 0 0 denotes a don't care
assignment.
It is well known that the BDD size for a given function depends on the variable
order chosen for the function (e.g., fa,b,cg in Figure 28). Since the early introduction of BDDs, several extensions have been proposed to reduce BDD sizes in
practical applications. In an ordered BDD 59, 60], the input variables are ordered,
and every path from the root node to the leaf node visits the input variables in an
ascending order. In practice, a simple topological based ordering heuristic 363]
yields small size BDDs for practical Boolean instances. A reduced ordered BDD
is an ordered BDD where each node represents a unique logic function. Bryant
showed that the reduced ordered BDD of a Boolean function is wellde ned and is
a canonical representation of the function; i.e., two functions are equivalent if their
reduced ordered BDDs are isomorphic 59, 60].
The DBDD is e cient to search for optimal solutions for arbitrarily complicated Boolean expressions. In VLSI circuit design, many practical problems require
the enumeration of all possible assignments for a given Boolean formula. The best
assignment that yields the minimum cost (e.g., minimal circuit structure, minimum
chip area, and maximum circuit speed) is then selected from these possible assignments. Since most algorithms for satis ability testing are designed for nding one
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
77
truth assignment, they are impractical for selecting an optimal assignment. BDDs
are very useful in such situations, since a simple and incremental enumeration of
all possible paths from the root node to the leaf node 1 yields all the truth assignments. Thus, once the BDD for a Boolean function has been constructed, it is
straightforward to enumerate all assignments or nd an optimal solution.
The BDD method can e ectively handle small and medium size formulas. For
larger size formulas, a partitioning into a set of smaller subformulas before applying
the BDD algorithms has been suggested. This approach works well for asynchronous
computer circuit design problems 216, 438].
11.3. The Unison Algorithms. Based on total di erential of a Boolean function, the Unison algorithm is capable of evaluating arbitrarily large, complex Boolean
functions 215, 493, 492]. The Unison algorithm is built with a network of multiple
universal Boolean elements (UBEs). The topology of the Unison network speci es
the structure of Boolean functions. By dynamically recon guring the UBE's functionality, Unison is adaptable to evaluate general Boolean functions representing
the SAT/CSP problems.
The total di erential, dF , of a Boolean function F represents the di erence in
the function value due to the di erence in input values. For a Boolean function
F(x; y) of two variables, x and y, the total di erential is calculated from di erences
in input, dx and dy, as:
(11.1)
dF = Fxdx Fy dy Fxy dx dy;
where is the ExclusiveOR operation 506]. Let F(x; y) be a Boolean function of
two dependent variables x and y; i.e., x = G(x1; x2) and y = H(y1 ; y2 ). Following
(11.1), the total di erential dF is:
(11.2)
dF(G(~x); H(~y)) = Fx dG(x1; x2) Fy dH(y1; y2 ) Fxy dG(x1; x2) dH(y1 ; y2):
It can be observed from (11.2) that the value of dF depends on total di erentials
dG and dH, rather than the function values G(x1; x2) and H(y1 ; y2). By recursively
applying (11.2) to dG, dH, and their dependent variables, the total di erential dF
can be evaluated based on only total di erentials of the independent variables (see
Figure 29).
The Unison algorithm works in two phases: initialization and evaluation. The
initialization phase computes partial derivatives that determine the function to be
evaluated in the evaluation phase. The partial derivatives are constant during the
evaluation phase. The evaluation phase reads input values and computes the nal
results. The calculation is performed in a bottom{up fashion, starting from the
independent variables.
A computer word is used to evaluate one Boolean operation, so the code to calculate dF would produce only one result. With one computer word, however, the
computer is able to perform many bitwise AND and bitwise ExclusiveOR operations in one instruction. In Unison algorithm's implementation, we take advantage
of this machine feature to increase execution speed and to reduce memory space.
In one of our implementations on the NeXT and SUN workstations 492], the
Unison algorithm uses 32 bits of a computer word to pack 32 Boolean operations.
If the ith bit in each operand is initialized to represent the ith Boolean operation,
then the ith bit of dF will have the result of the ith Boolean operation. Each of
the 32 bitwise operations is independent of the others. And the Unison algorithm
78
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
dF
F(G,H)
dG
dH
G(x1,x2)
dx1
Figure 29.
dx2
H(y1,y2)
dy1
dy2
The relation between total di erentials.
simultaneously evaluates 32 Boolean operations in one machine instruction. The
parallel implementation of the Unison algorithm is straightforward which can be
implemented in any programming language that supports bitwise Boolean operations. Data structures and implementation details of the Unison algorithm are
discussed in 492].
The Unison architecture is built with a network of multiple universal Boolean
elements (UBEs). The connection topology of the Unison network speci es the
structure of the Boolean function evaluated by Unison. The structure of Boolean
functions speci es the connectivity between Boolean expressions of two variables.
Each UBE accomplishes a 2variable, simple Boolean function in Unison. The
outputs of two UBEs can be used as inputs to another UBE. This enables the
construction of a network of UBEs capable of evaluating arbitrarily large, complex
Boolean functions. By dynamically recon guring the UBE's functionality, Unison
is adaptable to the evaluation of di erent Boolean functions representing SAT/CSP
problems. In Unison architectures, there is essentially no limit on the number of bits
one would like to implement. One can put as many UBE's on a chip as possible as
long as the hardware resource permits. The detailed implementations of the Unison
architecture, e.g., its network structure, UBE structures, and two CMOS hardware
implementations, are described in detail in 493, 492].
Combined with parallel evaluation, partial evaluation, and incremental evaluation techniques, Unison can be incorporated into a variety of search and optimization algorithms for satis ability testing. It is especially important in realtime
applications where hardware processing with di erent Boolean functions is required.
It provides an e cient approach for fast nonclausal processing of SAT inputs.
11.4. Multispace Search. Many search and optimization methods have been
developed in combinatorial optimization, operations research, arti cial intelligence,
neural networks, genetic algorithms, and evolution programming. An optimization
algorithm seeks a value assignment to variables such that all the constraints are
satis ed and the performance objective is optimized. The algorithm operates by
changing values to the variables in the value space. Because value changing does
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
79
Value space
Variable space
F
Objective space
S
Other space
Constraint space
Parameter space
30. In the value space, a traditional search process
(dashed line) cannot pass a \wall" of high cost search states
(hatched region). It fails to reach the nal solution state, F. A
multispace search process (solid lines) scrambles across di erent
search spaces. It could bypass this \wall" through the other search
spaces.
Figure
not a ect the formula structure and the search space, it is di cult for a value search
algorithm to handle the pathological behavior of local minima.
Multispace search is a new optimization approach developed in recent years
222, 228, 224]. The idea of multispace search was derived from principles of
nonequilibrium thermodynamic evolution that structural changes are more fundamental than quantitative changes, and that evolution depends on the growth of new
structure in biological system rather than just information transmission. A search
process resembles the evolution process, and structural operations are important to
improve the performance of traditional value search methods 222, 228, 224].
In multispace search, any active component related to the given input structure
can be manipulated, and thus, be formulated as an independent search space. For
a given optimization problem, for its variables, values, constraints, objective functions, and key parameters (that a ect the input structure), we de ne the variable
space, the value space (i.e., the traditional search space), the constraint space, the
objective function space, the parameter space, and other search spaces, respectively.
The totality of all the search spaces constitutes a multispace.
The basic idea of multispace search is simple. Instead of being restricted in the
value space, the multispace is taken as the search space. In the multispace, components other than value can be manipulated and optimized as well. During the
search, a multispace search algorithm not only alters values in the value space; as
shown in Figure 30, it also walks across the variable space and other active spaces,
changes dynamically the input structure in terms of variables, parameters, and
80
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
other components, and constructs systematically a sequence of structured, intermediate instances. Each intermediate instance is solved by an optimization algorithm,
and the solution found is used as the initial solution to the next intermediate instance. By interplaying value optimization with structured operations, multispace
search incrementally constructs the nal solution to the search instance through
a sequence of structured intermediate instances. Only at the last moment of the
search, the reconstructed instance structure approaches the original instance structure, and thus the nal value assignment represents the solution of the given search
input.
Multispace search algorithm combines traditional optimization algorithms with
structural multispace operations. In each search step, multispace search performs
two fundamental operations: a traditional value search and the structural recon guration of the intermediate instance during each individual search phase. According
to the active event in the scrambling schedule 222, 223], the search process enters a speci ed search space and performs structural operations to the intermediate
instance structures, followed by a traditional value search that optimizes the constructed intermediate instance. The resulting intermediate solution is then used as
the initial instance to the next phase of multispace search.
The major structural operations in multispace search 222, 223] include multispace scrambling 223, 228], extradimension transition (e.g., air bridge, real dimension, and extra dimension) 212, 214, 213], search space smoothing 225],
multiphase search 488, 491, 212, 436, 545, 208, 219], local to global passage
208, 208], tabu search 199], and perturbations (e.g., jumping, tunneling, climbing, and annealing) 210, 211, 212, 213, 308].
In the next two subsections we describe two preprocessing methods for satis ability testing in multispace search: partitioning input size and partitioning variable
domain.
11.5. Partitioning to Reduce Input Size. Due to excessive computing
time, a large size NPhard problem is di cult to solve. Partitioning a large input
into a set of smaller subinstances may permit e cient solution of the input. There
are two partitioning methods, each consisting of a partitioning, a conquer, and
an integration procedure. For constructive partitioning (e.g., divide and conquer),
partitioning, conquer, and integration procedures are well de ned and easy to implement. For destructive partitioning, it is di cult to design the partitioning and
integration procedures.
We give an industrial case study that requires a SAT solver. The SAT solver
uses an e cient input size partitioning as a preprocessing step. This problem arises
in asynchronous circuit design. Asynchronous circuits are indispensable in many
low power and high performance digital computer systems. Due to their important
applications in mobile, portable, and military communication systems, there has
been great interest in the automated design and synthesis of asynchronous circuits
89, 330, 350, 528]. The design of asynchronous control and interface circuits,
however, has proven to be an extremely complex and errorprone task. The core
problem in asynchronous circuit synthesis can be formulated as an instance of
SAT to satisfy the complete state coding (CSC) constraints, i.e., the SATCircuit
problem 529].
In this practical application problem, an optimal solution with minimal circuit
layout area is sought. An incomplete SAT solver such as local search, unfortunately,
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
81
does not guarantee an optimal solution, and therefore, is not applicable. Previous
researchers used e cient resolution and branchandbound procedures to handle
the SATCircuit problem. For most asynchronous circuit design problems, unfortunately, they were not able to nd an optimal solution and, for di cult asynchronous
circuit design problems, they could not locate even one solution.
Gu and Puri have recently developed a partitioning technique for satis ability
testing and applied it to asynchronous circuit design 223, 216, 438]. The partitioning preprocessor, at the beginning, decomposes a large size SAT formula that
represent the given asynchronous circuit design into a number of smaller, disjoint
SAT formulas. Each small size SAT formula can be solved e ciently. Eventually,
the results of these subformulas are integrated together and contribute to the solution of the original formula. This preprocessor avoids the problem of solving very
large SAT formulas and guarantees to nding one best solution in practice. This
partitioning preprocessing is destructive since, during the search, extra variables
are introduced to resolve the critical CSC constraints. Furthermore, they built a
complete, incremental SAT solver based on binary decision diagrams (BDD). Their
system is able to nd an optimal solution to the asynchronous circuit design problem e ciently.
11.6. Partitioning Variable Domains. A variable domain contains values
to be assigned to variables. The size of a variable domain, along with the number of
variables, determine the computational complexity of an optimization algorithm.
From a theoretical point of view, even a small reduction in the variable domain
would result in signi cant improvements in computing e ciency. It is, however,
di cult to make use of variabledomain reduction techniques in solving optimization
problems. Recently, Wang and Rushforth have studied mobile cellular network
structures and developed a novel variabledomain reduction technique for channel
assignment in these networks 545, 546].
The rapid growth of mobile cellular communication services has created a direct
con ict to the limited frequency spectrum. Channel assignment is an important
technique to the e cient utilization of frequency resource for mobile cellular communications. Among several channel assignment problems, the xed channel assignment (FCA) is essential to the design and operation of cellular radio networks.
An FCA algorithm assigns frequency channels to calls such that the frequency separation constraints are satis ed and the total bandwidth required by the system
is minimized. By encoding the constraints into clauses, the problem becomes an
instance of SAT. For a given cellular communication system, there are numerous
ways to assign a channel to a call request. An optimal channel assignment decision
can signi cantly improve the cellular system capacity without requiring extra cost.
For a xed mobile cellular system, the capacity of the cellular system is mainly
determined by the performance of the channel assignment algorithms.
Wang and Rushforth's channel assignment algorithm was developed based on
the structure of cellular frequency reuse patterns. Using their variable domain
partitioning technique, they partition a mobile cellular network with larger variable
domain into two networks: a minimum network with a xed and small variable
domain (due to the known frequency reuse patterns) and a di erence network with
an even smaller variable domain 545, 546]. Channels are assigned separately to
the minimum network and to the di erence network, and the superposition of these
two assignments constitutes an assignment to the original network.
82
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Because this variable domain partitioning approach decomposes an instance
of a channel assignment problem with a large number of assignments into two
separate channel assignment subinstances with considerably smaller numbers of
assignments, it dramatically reduces the computational complexity and thus the
computing e ciency for solving given inputs, in addition to the signi cantly improved solution results. This novel partitioning technique can be applied to solve
the channel assignment problem with any existing channel assignment algorithms.
During numerous channel assignment experiments, this algorithm outperformed all
available algorithms for solving the practical channel assignment problem benchmarks. Experimental evidence suggests that this partitioning approach is both
e cient and e ective.
11.7. Parallel SAT Algorithms and Architectures. Many parallel SAT
and CSP algorithms have been developed. In a recent survey 215], the following
parallel algorithms for solving SAT were discussed:
1. 1987: Parallel DP algorithms
2. 1986: Parallel discrete relaxation chips
3. 1987: Parallel backtracking architecture
4. 1987: Parallel local search algorithm
5. 1989: Parallel interior point method
6. 1990: Parallel, di erential, nonclausal inference
7. 1991: Parallel relaxation
8. 1991: Parallel global optimization
9. 1992: Neural network approach
10. 1993: Multiprocessor local search
Some of ideas of these techniques are described in this paper.
For the following two reasons, algorithms running on looselycoupled, multiprocessor parallel computers o er limited performance improvements for solving SAT.
First, in the worst case, a SAT algorithm may su er from the exponential growth in
computing time. In order to solve a SAT formulas e ectively, we will need a computer that has much larger speedup than what is available today. This computer
will require the integration of at least a few million processors in a tightlycoupled
manner. This is infeasible in the current computer system integration technology.
Second, as the processor gets much faster, the communication overhead among
processors in a parallel machine becomes a bottleneck, which may often take 70 % to
even 90 % of the total computing time 293]. Ideally one would expect the speedup
on a parallel computer to increase linearly with increasing number of processors.
Due to serious o processor communication delays, after certain saturation point,
adding processors does not increase speedup on a looselycoupled parallel machine.
Processor communication delay also makes process creation, process synchronization, and remote memory access very expensive in a looselycoupled multiprocessor
system. For this reason, the speedup on a multiprocessor is normally less than
the number of processors used. With simple SAT algorithms, however, speedup is
sometimes greater than the number of processors 386]. Variable settings similar
to those that are already known not to lead to a solution are also unlikely to lead
to a solution. The obvious methods of parallelizing simple SAT algorithms break
up the tendency to search similar settings at about the same time.
From our experience, tightly coupled parallel computing, which e ectively reduces o processor communication delays, is a key to the parallel processing of
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
83
SAT formulas 215]. In order to use a tightlycoupled parallel architecture for SAT
computation, one must map a computing structure to the input structure and must
reduce the total number of sequential computing steps through a large number of
symmetrical interactions among simple processors 206, 215]. Several di erent approaches, e.g., specialpurpose parallel VLSI architectures 226, 227], bitparallel
programming on sequential machines 207, 212, 493, 492], and tight programming
on parallel computer systems, are promising alternatives in this direction. These
approaches are capable of providing a tight mapping between a formula structure
and a computing structure, resulting in faster computation. The computational
power of these approaches are orders of magnitude greater than standard sequential algorithms running on uniprocessor machines or parallel algorithms running on
loosely coupled multiprocessors.
Parallel processing does not change the worstcase complexity of a SAT algorithm unless one has an exponential number of processors. Parallel processing,
however, does delay the e ect of exponential growth of computing time, allowing
one to solve larger size instance of SAT.
11.8. The MultiSAT Algorithm. The problem structures of real world practical applications vary signi cantly, making it di cult to develop an e cient SAT
algorithm to solve a wider range of the practical application problems. Many e cient algorithms have been developed for the SAT problem. They each can solve
a class of problem instances e ciently. Backtracking algorithms can handle some
small size, hard problem instances, providing complete solutions. Local search could
handle fairly largesize satis able problem instances quickly. BDD SAT solver is
able to solve practical problem instances with performance criteria. Lagrangianbase global search method can provide solutions to a wide range of SAT problem
instances. Problem size and domain partitioning techniques can further enhance
the existing SAT algorithms, so they can solve much larger size practical problem
instances. If we combine the niches of several e cient algorithms together, they
may handle a much wider range of SAT problem instances e ciently.
Another school of concern for the MultiSAT algorithm comes from the existing
challenge for SAT algorithm's design and testing. A good local search algorithm
consists of several basic components. These components are sensitive to algorithm
parameter setting, algorithm running environment, input size, problem structure,
and initial starting points. We will select from various mincon icts heuristics,
random value assignment heuristics, random variable selection heuristics, partial
random variable selection heuristics, multiphase search heuristics, and multispace
search heuristics. Combined with hundreds of problem instances and initial starting
points, the process for the design, implementation, and experimentation of the
algorithm is very timeconsuming. A MultiSAT algorithm can relieve the load of
this task, facilitating quick design and testing of the algorithm.
Two algorithm integration approaches (hybrid algorithm and algorithm clustering) have been proposed for algorithm integration. In the hybrid algorithm approach, algorithms in di erent classes are integrated in a single algorithm. The
algorithm would make use of di erent algorithmic niches according to some decision procedures. Early examples of this approach include combining local search
with backtracking 212] and combining global optimization with backtracking 206,
227, 213]. The e ectiveness of a hybrid algorithm may be limited due to the overheads of decision making and algorithmic context switching.
84
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Algorithm Kit
DPL
SAT1
DLM
SAT3
CSAT
BDD
DPL
SAT1
Job Dispatch
Job 1
Job 2
Job 3
Running
Running
Running
Job 4
Job 5
Job 6
Running
Running
Running
Result
DLM
SAT3
x
x
Problem Instances
Random models
x
CSAT
Variables
500
Clauses
2000
Literals
3
BDD
Benchmarks
ii16a1
bf0432007
ssa0432003
Figure 31.
A software system, Clustor, for MultiSAT algorithm.
In the algorithm clustering approach (\Future Work" in 213]), algorithms in
di erent classes are optimized individually to achieve the best performance. Each
algorithm is executed on a computer. A cluster of computers is used to execute
several algorithms selected from di erent classes. The individual results of the
algorithms' executions are integrated together, producing the nal result. The algorithm clustering approach does not su er from any performance degradation due
to direct algorithm integration. Computer hardware prices continue to decrease, a
cluster of computers can be built in a coste ective way (a PC can now be purchased with around $1,000). The only requirement for clustering computation is a
multitasking integration software.
In our rst implementation of the MultiSAT algorithm, we select several efcient SAT algorithms. These include, for examples, DPL and CSAT from backtracking algorithm, SAT1, GSAT, and SAT3 from local search algorithm, BDD
SAT solver from binary decision diagram algorithm, and DLM from Lagrangianbase global search method. Combining problem size and domain partitioning techniques, they together support an e ective satis ability testing for problem instances
with uncertain structures, using \many stones" to shoot \one bird." By changing
parameters and initial starting points, MultiSAT can track an algorithm structure,
allow a detailed study of the entire problem spectrum, and provide a coste ective
tool kit for practical satis ability testing.
A basic software system for the MultiSAT, Clustor, is shown in Figure 31.
We have an algorithm tool kit collecting candidate algorithms from di erent algorithm classes, a problem instance database for user to select the problem instances,
a distributed system software, job dispatcher, for remote job execution control and
execution result collection, and a network of computers executing the selected algorithms. The software system can be run on a PC platform or a UNIX platform
under an interactive graphical interface.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
85
12. Probabilistic and AverageCase Analysis
Probabilistic and averagecase analysis can give useful insight into the question
of what SAT algorithms might be e ective under certain circumstances. Sometimes,
one or more structural properties shared by each of a collection of formulas may
be exploited to solve such formulas e ciently; or structural properties might force
a class of algorithms to require superpolynomial time. Such properties may be
identi ed and then, using probabilistic analysis, one may hope to argue that these
properties are so common for a particular class of formulas that the performance
of an algorithm or class of algorithms can be predicted for most of the formulas in
the class.
The main drawbacks of this approach are: 1) some distribution of input formulas must be assumed and chosen distributions may not represent reality very well; 2)
results are usually sensitive to the choice of distribution, unlike results obtained using randomized algorithms; 3) the state of analytical tools is such that distributions
yielding to analysis are typically symmetric with independent components; 4) few
algorithms have yielded to analysis. Despite these drawbacks, probabilistic results
can be a useful supplement to worstcase results (which can be overly pessimistic,
especially for NPcomplete problems) in understanding algorithmic behavior.
This section reviews some notable probabilistic and averagecase results for
certain SAT algorithms. The results we present are based mainly on two distributions, the lSAT distribution and average lSAT distribution (see Section 5), partly
because these have been the most widely used. Both are distributions over CNF
formulas. Since the character of results is di erent for both distributions, we devote
one subsection to each.
12.1. Average lSAT Model. The parameters of this distribution are the
number of clauses m, the number of variables n from which clauses are constructed,
and the probability p(n; m) that an unnegated variable or negated variable appears
in a given clause (see Section 5.1 for more details). Since variables are placed in
clauses independently, it is possible that null clauses, clauses with complementary
literals (tautological clauses), or unit clauses exist in a random formula. This does
not mimick reality very well. However, the mathematics associated with averagetime analyses for average lSAT models is usually tractable. It would be straightforward but tedious to modify average lSAT calculations to account for no clauses
of length 0 or 1, but such results are unknown to us. In addition, tautological
clauses exist with high probability only over part of the parameter space.
Results presented below are asymptotic (that is, they apply when n; m ! 1).
Satis able and Unsatis able Formulas. The following results highlight
those regions of the parameter space where random formulas are unsatis able or
satis able with high probability. It is easy to see that the average number of literals in a clause is 2pn and the average number of times a variable appears in a
random formula is 2pm. If pn > ln(m), a random truth assignment satis es a
random formula in probability 165], and if pn = c ln(m) : 1 > c 1=2, and
limn;m!1 m1 c =n1 < 1, 1 > > 0, a random formula is satis able in probability 167]. If pn < ln(m)=2, a random formula contains an empty clause, and
therefore is unsatis able, in probability. Thus, the only region of the parameter
86
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
space where random formulas may be di cult, in a probabilistic sense, is de ned
by pn = c ln(m) : 1 > c 1=2, limn;m!1 m1 c =n1 = 1, 1 > > 0.
PolynomialTime Solvable Classes. Many of the special polynomialtime
solvable classes discussed in Section 10 can be identi ed with regions in the parameter space as well.
p Here we give some examples taken mainly from 171].
If pn < 1= m1+ : > 0, a random formula is a Horn formula
p in probability.
That is, all the nonempty clauses are Horn clauses. If pn < n1 =m : 1 > > 0,
lim
!1 m=n 1, a random formula is extended Horn in probability. If pn >
pnn;m
1+ =m : > 0, a random formula is not extended Horn in probability. This
implies, when 2pn ! 1 (no empty clauses, in probability), the parameter subspace
where random formulas are usually extended Horn is sharply de ned. Surprisingly,
simple extended Horn formulas
are abundant in a relatively small subspace of the
p 1+
parameter space. If pn < 1= m : > 0,pa random formula is a simple extended
Horn formula in probability but if pn > 1= m1 : > 0, a random formula is not
simple extended Horn, in probability.
p
Random formulas are balanced, in probability, only if pn < n1 =m : > 0.
Thus, when limn;m!1 m=n 1, balanced formulas are generated in abundance
over a region of the parameter space that is no larger than the subspace over which
random formulas are extended Horn in probability. The same statement is believed
to hold when limn;m!1 m=n > 1.
Weakening SLUR so that it always chooses to expand the true path of a selected
variable, if possible, the parameter subspace where random formulas can be solved
by SLUR in probability is at least as large as given by the three regions 1) p < 1
and pn > 3 ln(m) : limn;m!1 m=n > 1; 2) p < 1 : limn;m!1 m=n < 1; 3) pn <
ln(m)=2. This is because no clauses containing either all negated (pure negative
clause) or all unnegated variables (pure positive clause) are in a random formula,
in probability, in region 1) (see Exploitable Properties below); random formulas are
extended Horn, or have no pure positive or negative clauses, in probability, in region
2); and random formulas contain empty clauses, in probability, in region 3).
In summary, the SLUR class, modi ed as above, dominates nearly the entire
parameter space; balanced and extended Horn formulas are frequently generated
only when either the average number of occurrences of a variable in a formula
tends to 0 or random formulas tend to have a large number of empty clauses; Horn
formulas and simple extended Horn formulas are commonly generated over a small
portion of the parameter space.
Exploitable Properties. If a random formula is in one of the special, poly
nomialtime solvable subclasses of SAT discussed earlier, it can be dealt with efciently. The same is true if a random formula has one or more of certain other
exploitable properties. Three of these are described here (taken from 171]).
A clause is pure if it contains only negated variables or only unnegated variables.
Call a formula that has no pure clauses a nonPformula. A satisfying truth assignment for any nonPformula can be obtained in linear time. If pn > (1 + ) ln(m) :
> 0, a random formula is a nonPformula, in probability.
A clause is a tautology if, for some variable v, both v and v are in the clause.
Such clauses may be removed from a formula without a ecting the Boolean function
it expresses. If enough tautological clauses exist in a formula, it is relatively easy to
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
87
solve. If p2 n > (1+ ) ln(m) : > 0, all clauses of a random formula are tautological,
in probability.
If all m clauses of a formula contain more than log2 (m) literals then the formula
must be satis able. A random formula has this property, in probability, when
pn > 1:55 log2 (m).
AverageCase Results. Although the above results show that random formulas are e ciently solved, in probability, over nearly all of the parameter space
of the average lSAT model, they do not imply that polynomialaveragetime algorithms exist over a signi cant portion of the parameter space. For example, if,
out of a set of n100 formulas, n100 1 formulas can be solved by algorithm A in
O(n) time but one formula requires 2n time using A, then the set is solved by
A in polynomialtime, in probability, but the average complexity of A over the
set is exponential in n (assuming all formulas are equally likely). Thus, A would
get \stuck" on the above set of formulas even though it almost always nds a solution to a random formula in linear time. This consideration has motivated the
averagecase analysis of algorithms under the average lSAT model. The results say
that exploiting some of the above properties individually is not enough to insure
polynomialtime average complexity but, by exploiting certain properties collectively, nearly the entire parameter space is covered by a collection of algorithms
with polynomialaveragetime complexity. Here we give two examples.
Determining unsatis ability from the existence of an empty clause in a given
formula alone is not strong enough to give polynomialaveragetime if pn < ln(m)=2
since the probability that an empty clause exists in a random formula does not tend
to 1 fast enough. However, the empty clause check can be combined with other
methods to achieve polynomialaveragetime complexity. For example, preprocess
a given formula by making all unit resolutions and all resolutions involving variables that occur in the formula exactly twice; use backtracking, with the empty
clause check, to nd solutions to the processed formula. Polynomialaveragetime
is achieved when either
1. pn < ( 1 ) ln(m)=(2 ): m = n , > 1, and, is such that 1 > 0; or
2. 2:64(1 e
3. pn < (1
or
2 pn (1 + 2
pn)) < e 2pn : m = n, a constant; or
) ln(m)= : m = n , 1 > > 2=3, and, is such that 1
4. pn (ln(m)=4)1=3 n2=3 : m = n , 2=3
> 0;
> 0 166].
This subspace includes nearly all of the half plane pn < ln(m)=2; that is, the region
for which empty clauses exist, in probability.
We remark that the above algorithm nds all solutions to a given formula.
A variant of the DPL algorithm, called probeorder backtracking, that works
well for the half plane pn > ln(m) exploits the preponderance of nonPformulas
that results from generating formulas in that region 433]. Given formula F , if
an empty clause exists in F , output \unsatis able." If there is no clause in F
containing only unnegated variables, output \satis able." Otherwise, select a clause
in F containing only unnegated variables fv1; v2; :::; vkg. For i = 1; :::; k, set vi to
88
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
true, set v1 ; v2; :::; vi 1 to false, and recursively apply probeorder backtracking.
Output \satis able" if and only if at least one of these invocations has output
\satis able." Probe order backtracking runs in polynomialaveragetime when pn >
ln(m).
Other interesting results are found in 168, 417, 169, 203, 281, 431, 430,
425].
Average Number of Solutions. In the average lSAT model, the average
number of solutions per formula is approximately
exp n ln2 + m ln(1 e pn )]:
Thus, when m=n and pn are such that the exponent is negative, formulas have very
few solutions, but when the exponent is positive formulas have many solutions, on
average. When m=n is below ln(2), the average number of subformulas generated
by simple backtracking is about the same as the average number of solutions. When
m=n is above ln(2), small values of pn still lead to few subformulas and large values
lead to a huge number of subformulas, but there is an intermediate range of values
where the average number of solutions is near zero while the average number of
nodes is an exponential function of n 431].
The averagetime analysis for backtracking is done for a version of the algorithm
that nds all solutions. When one wants just one solution, there is no need for the
algorithm to solve the second subformula in those cases where the rst subformula
has a solution. So far no analysis has shown just how much time can be saved
by stopping early. Since stopping early can have an e ect only on formulas that
have solutions, the analysis in 431] shows that there is a considerable range of pn
values where simple backtracking takes exponential average time whether or not
the algorithm stops at the rst solution.
Additional Commentary. An average lSAT analysis of unit clause backtracking 425] shows that the conditions under which it is fast or slow are similar
to the conditions under which simple backtracking is fast or slow. Again, the analyzed version of the algorithm nds all solutions. However, for moderate values
of m=n there is a range of pn values where simple backtracking takes exponential
time but unit clause backtracking takes polynomial time. For small values of m=n
unit clause backtracking has no signi cant advantage because the number of solutions controls the running time, and for large values of m=n it has little advantage
because interesting formulas occur with large pn values, and so unit clauses are
rare.
The average lSAT analysis of probe order backtracking shows that, in addition
to being fast under conditions where simple backtracking is fast, it is fast under
various other conditions. It is fast when pn is below 1. When m=n is small, the
typical lSAT formula does not use most of the variables. Thus, most formulas
with one solution have an exponential number of solutions (one for each setting of
the unused variables). Simple backtracking takes no advantage of variables that
do not appear in the formula, but clause order backtracking does. Clause order
backtracking is also fast when pn2 is large compared to lnm + lnn. When p is this
large, setting just a few variables (to a random setting) tends to satisfy all of the
clauses. Clause order backtracking notices this while simple backtracking does not.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
89
No average lSAT analysis has been done for shortest clause backtracking. (See
376] for a partial analysis of the lSAT case.) It clearly has all the advantages of
unit clause backtracking and it should be much faster when pn is large, but it is
hard to know just how much faster. The rst four prize winning entries in the
1992 SAT competition all used shortest clause backtracking 70] with re nements
to decide which of the various variables from shortest clause to select. (The fth
prize winning entry used a form of hypergraph searching.)
The pure literal rule algorithm is one of the rst to have its average time
computed 66, 201, 203, 430]. It has the essence of the pure literal rule from
the DP procedure 118]; by removing most of the good features, an analyzable
algorithm is obtained. Although one would never use this algorithm in practice
(other simple algorithms are much better) it rapidly solves a wide class of formulas
in polynomial average time, but does not nd all solutions. It played an important
role in the early history of averagetime analysis of SAT algorithms because its
analysis is so simple, and the cases where it is fast are so di erent from those of
simple backtracking (the other simple to analyze SAT algorithm).
The almost pure literal algorithm 426] extends this idea by noting that when
there are few occurrences of a literal, then assigning a value that makes that literal
false leads to a subformula that is almost a subset of the subformula obtained
by setting the literal to true. Thus, if a formula contains one clause that has the
only occurrence of a literal, any solutions to the false subformula that are not also
solutions to the true subformula have false values for all remaining literals in the
special clause.
Another case where resolution does not increase the input size is when a variable
has one positive and one negative occurrence. Franco used this idea plus the pure
literal rule to develop an algorithm that is fast for small m so long as p is not
too large 166]. Using this algorithm for small p and probe order backtracking for
large p leads to an algorithm that is fast for m < n1=3 times logarithm factors.
More clever algorithms based on the same ideas combined with better analyses will
probably lead to an algorithm that is fast when m is smaller than a constant times
n.
12.2. The lSAT Model. The parameters of this distribution are the number of clauses m, the number of variables n from which clauses are constructed, and
the number of variables l in each clause. Clauses are constructed independently.
A clause is uniformly given by a set of l distinct variables that are negated independently with probability 1/2. Thus, it is not possible that null clauses or clauses
with complementary literals exist in a random formula.
The probabilistic analysis of SAT algorithms using the lSAT model often seems
to be more di cult than using the average lSAT model. Some of this di erence is
associated with the structure of subformulas generated as a result of assigning a
value to a variable on an iteration of a particular algorithm. If such subformulas
are distributed according to the same model as the original formula, the analysis
can proceed easily. In the case of the lSAT model, statistical dependence between
clauses after an iteration often prevents this. A notable exception, however, is in
the analysis of variants of the unit clause rule.
Another reason for the relative success of analysis under the average lSAT
model is many algorithms that are unworkable under the lSAT model are e ective
under the average lSAT model. A notable example is the probe order backtracking
90
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
algorithm of the previous section. Under the average lSAT model, if pn > ln(m),
purely negative or positive clauses are rare so probe order backtracking works well.
However, in the case of the lSAT model, negative clauses and positive clauses make
up a xed percentage of input clauses, so probe order backtracking is ine ective in
this case.
In what follows, when we refer to lSAT, we assume l 3 unless speci cally
stated (as in, for example, 2SAT).
Satis able and Unsatis able Formulas. It is easy to show that random
lSAT formulas are unsatis able, in probability, if m=n > 1= log2 (1 2 l )
2l 168, 417]. It has also been shown that a random 2SAT formula is satis able,
in probability, if m=n < 1 86, 200]. This implies that random lSAT formulas are
satis able, in probability, if m=n < 1. The gap between 1 and 1= log2 (1 2 l )
has intrigued a number of researchers. The question is whether there is some
function f(l) such that, for large n; m, if m=n < f(l) then random lSAT formulas
are satis able, in probability, and if m=n > f(l) then random lSAT formulas are
unsatis able, in probability. Several results have shaved some of the gap from above
and below but the question is still open for l > 2. For the 2SAT case, f(2) = 1 86,
200]. For the 3SAT case, from above, it is known that random lSAT formulas
are unsatis able, in probability, if m=n > 4:758 304]. This has been recently
improved to 4:64 150, 311]. From below, for l > 2, it is known that random
lSAT formulas are satis able, in probability, if m=n < maxf2l =(4l); 1g 91]. This
result comes with an algorithm for SAT (explained in Algorithms below) that nds
a solution in polynomial time, almost always. For 3SAT, this has been improved
to m=n < 3:003 179] (algorithm explained in Algorithms below).
PolynomialTime Solvable Classes. lSAT formulas that are members of
certain polynomialtime solvable classes are not generated frequently enough, for
interesting ratios m=n, to assist in determining satis ability. This is unlike the
situation for the average lSAT model. We illustrate with a few examples.
The probability that a clause is Horn is (l + 1)=2l . Therefore, the probability
that a random lSAT formula is Horn is ((l + 1)=2l )n which tends to 0 for any
xed l. A formula is hidden Horn if there is a set of variables (a switch set) whose
literals can all be reversed to yield a Horn formula. Regardless of switch set, there
are only l + 1 out of 2l ways (negation patterns) that a random clause can become
Horn. Therefore, the expected number of successful switch sets is 2n((l + 1)=2l )m
which tends to 0 if m=n > 1=(l log2(l + 1)). Thus, random lSAT formulas are
not hidden Horn, in probability, if m=n > 1=(l log2(l + 1)).
Associated with a qHorn formula (see Section 10.5) is a partition C1; C2 of
clauses, and a partition V1 ; V2 of variables such that no clause in C1 has a variable in
V2 and, for each clause in C2, there are at least one and at most two variables taken
from V2 . The probability that a particular pairwise partition has this property
can be computed. Multiplying by the number of pairwise partitions gives the
expected number of such partitions which is an upper bound on the probability
that one exists. We nd that no such partitions exist with jV1 j < (jV1j + jV2j)=2, in
probability, if m=n > 1= log2 (2l+1 =(l2 l+2)) = 1=(l log2 (l2 l+2)+1). Coupled
with the above hidden Horn result on lSAT formulas, we have the remarkable result
that random lSAT formulas are not qHorn, in probability, if m=n > 2=(l log2 (l+
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
91
1)). This bound can be reduced considerably, however the point we make is that,
for large enough l, even the following simple algorithm is more e ective, in some
probabilistic sense, on random lSAT formulas than looking for qHorn formulas:
randomly remove all but 2 literals from every clause; solve the resulting 2SAT
formula; if it's satis able, return a satisfying truth assignment, otherwise give up.
Algorithms. We mention the two best positive results to date and one negative
result. The rst algorithm, called SC for Short Clause, iteratively selects a variable
and assigns it a value until either a solution is found or it gives up because it has
reached a dead end. Such an assignment may satisfy some clauses and falsify some
literals. There is no backtracking in SC. Variables are selected as follows: if there
is a clause with one nonfalsi ed literal, choose the variable and value that satis es
that clause; otherwise, if there is a clause with two nonfalsi ed literals, choose one
of the variables and value that satis es that clause; otherwise, choose the variable
arbitrarily. This algorithm is a restricted version of GUC 83] (Generalized Unit
Clause) that always chooses a variable and value that satis es a clause with the
fewest number of nonfalsi ed literals. The analysis of SC is given in 91]. The
result is that SC does not give up, in probability, if m=n < 2l =(4l).
By adding a limited amount of backtracking to GUC, Frieze and Suen get an
algorithm for 3SAT, called GUCB, that nds a satisfying assignment, in probability, when m=n < 3:003 179]. Backtracking is managed as follows. Consider
the sequence of variable selections and assignment up to a given iteration h in
the execution of GUCB. Let this sequence be represented as a list of variablevalue pairs f(x 1 ; v1 ); (x 2 ; v2); :::; (x h ; vh )g. Suppose, for p 1, vp = false,
vp+1 = ::: = vh = true, and two clauses contain one nonfalsi ed literal but no
truth assignment will satisfy both. Then set vp+1 = vp+2 = ::: = vh = false,
update all clauses accordingly (satis ed clauses and falsi ed literals) and continue
iteratively selecting variables and assigning values.
Finally, we mention the important result in 86] that resolution proofs must be
exponentially large, in probability, for random unsatis able lSAT formulas generated with m=n xed. Thus, for m=n > log2 (1 2 l ) ( xed), resolution requires
exponential time, in probability. This, of course, implies that DPL trees are also
exponential in size for m=n > log2 (1 2 l ).
Other NonBacktracking Heuristics The algorithms SC and GUC mentioned above repeatedly choose a variable and a value until either a satisfying
assignment is found or a clause becomes falsi ed in which case the algorithm gives
up. The heuristic used to select the variable and value is strongly associated with
how often the algorithm succeeds. A reasonable heuristic is to make the choice
that maximizes the number of assignments satisfying the formula that remains after the selected value is assigned to the selected variable. Alternatively, the selected
variable and value might maximize the expected number of satisfying assignments.
This expectation can be approximated as follows. Suppose a formula has mi clauses
of i literals for all 1 i and n distinct variables. If all clauses are statistically independent and all clauses of i literals are equally likely, the average number of
satisfying assignments is 2n(1=2)m1 (3=4)m2 (7=8)m3 :::. Thus, we may choose a variable and value that maximize this number. Equivalently, the choice may be made
to maximize the log of this number or n+m1 log(1=2)+m2 log(3=4) m3 log(7=8):::
92
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
which is approximately n + m1 (1=2) + m2 (1=4) + m3 (1=8):::. Removing n, which is
unimportant, leaves Johnson's heuristic described in 286]. Although this heuristic
has not been analyzed on the lSAT model, experiments have shown it to be quite
e ective when used in conjunction with unit resolution.
13. Performance Evaluation
The most important measure of a SAT algorithm's performance remains its
practical problemsolving ability. For inputs requiring only one solution, both complete algorithms and incomplete algorithms are applicable. For inputs requiring all
solutions or an optimal solution, only complete algorithms will work. The past two
decades have seen the proliferation of di erent algorithms for solving SAT: resolution, local search, global optimization, BDD SAT solver, and multispace search,
among others. Previous experience indicates that these techniques complement
rather than exclude each other by being e ective for particular instances of SAT.
In this section, we summarize the experimental performance of several typical
SAT algorithms on some random instances, DIMACS benchmarks, structured instances, and practical industrial benchmarks. A fuller version of SAT algorithms'
benchmarking results will appear in a forthcoming paper, \Algorithms for the Satis ability (SAT) Problem: Benchmarking," by the same authors.
13.1. Experiments on Random Formulas. In this section, we give experimental results for the following SAT algorithms in solving random lSAT formulas
and random average lSAT formulas:
1. SAT1.3: a sequential CNF local search algorithm 207, 221, 209, 212].
2. SAT1.7: a parallel CNF local search algorithm 207, 212].
3. SAT1.13: a complete CNF local search algorithm 207, 212].
4. SAT1.4: a sequential DNF local search algorithm 207].
5. SAT1.8: a parallel DNF local search algorithm 207].
6. SAT1.18: a complete DNF local search algorithm 207].
7. SAT14.6: an optimized, discrete global optimization algorithm 207, 209,
213].
8. SAT14.16: a complete global optimization algorithm 207, 209, 213].
9. SAT14.7: a continuous, global optimization 207, 209, 218].
10. SAT14.11: a complete, continuous global optimization 207, 209, 211].
11. DPL: a DavisPutnam algorithm in Loveland form 117].
12. GSAT: a sequential, greedy local search algorithm 472].
13. IP: a parallel interior point zeroone integer programming algorithm 303,
301].
Real Execution Times. In Table 1 we give real execution times of some
local search and global optimization algorithms for solving lSAT instances. All
the results were run on a SUN SPARC 2 workstation. The number of clauses (m),
the number of variables (n), and the number of literals per clause (l), are given in
the rst three columns. Symbol \G/L" in Column 4 stands for the number of times
that all the algorithms hit global/local minimum points. From these results we can
observe that, in terms of global convergence and local convergent rate, these local
search and global optimization algorithms exhibit desirable convergent properties
and fast computing speed for instances in the table.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
93
Table 1. Real execution performance averaged over ten runs
of some local and global optimization algorithms on a
SUN SPARC 2 Workstation. Time Units: seconds. Symbol
\G/L" stands for the number of times that all the algorithms hit
global/local minimum points.
Problems
m
n
100 100
200 100
300 100
400 100
1000 1000
1500 1000
2000 1000
2500 1000
3000 1000
3500 1000
1000 1000
2000 1000
3000 1000
4000 1000
5000 1000
6000 1000
7000 1000
8000 1000
8500 1000
10000 1000
11000 1000
12000 1000
13000 1000
14000 1000
15000 1000
10000 400
10000 500
10000 600
10000 700
10000 800
10000 900
10000 1000
20000 1000
30000 2000
40000 3000
50000 4000
60000 5000
10000 1000
20000 2000
30000 3000
40000 4000
50000 5000
l
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
4
4
4
5
5
5
5
5
5
6
6
6
6
6
6
6
7
7
7
7
7
10
10
10
10
10
Execution Time
G/L SAT1.3 SAT1.7 SAT1.13 SAT1.8 SAT14.6 SAT14.16
10/0 0.003 0.001
0.001
0.002
0.002
0.003
10/0 0.007 0.004
0.010
0.004
0.005
0.008
10/0 0.035 0.008
0.015
0.004
0.014
0.012
10/0 0.464 0.027
0.145
0.030
0.040
0.215
10/0 0.036 0.030
0.048
0.029
0.033
0.051
10/0 0.087 0.055
0.078
0.049
0.058
0.081
10/0 0.192 0.084
0.113
0.080
0.093
0.115
10/0 0.371 0.124
0.158
0.114
0.133
0.180
10/0 0.872 0.179
0.310
0.164
0.241
0.359
10/0 6.878 0.636
1.008
0.588
0.919
1.357
10/0 0.026 0.022
0.045
0.027
0.029
0.040
10/0 0.094 0.061
0.103
0.061
0.057
0.092
10/0 0.239 0.094
0.160
0.091
0.109
0.166
10/0 0.483 0.144
0.230
0.135
0.162
0.234
10/0 1.004 0.227
0.338
0.210
0.267
0.330
10/0 2.410 0.383
0.465
0.359
0.388
0.478
10/0 5.999 0.865
0.729
0.852
0.756
0.840
10/0 36.17 1.896
2.088
1.821
2.595
2.641
10/0 140.3 10.79
7.974
10.51
12.79
12.12
10/0 2.899 0.451
0.610
0.393
0.464
0.567
10/0 3.799 0.489
0.800
0.426
0.580
0.750
10/0 6.729 0.593
0.839
0.505
0.649
0.844
10/0 9.541 0.761
1.154
0.681
0.978
1.064
10/0 21.41 1.107
1.308
0.969
1.282
1.652
10/0 60.80 1.671
2.207
1.429
2.047
2.166
10/0 12.58 0.497
0.625
0.463
0.514
0.771
10/0 4.353 0.377
0.640
0.342
0.345
0.553
10/0 2.571 0.328
0.439
0.280
0.331
0.534
10/0 1.989 0.284
0.550
0.248
0.289
0.491
10/0 1.776 0.277
0.494
0.256
0.287
0.452
10/0 1.305 0.289
0.523
0.248
0.278
0.476
10/0 1.140 0.264
0.488
0.227
0.269
0.473
10/0 3.238 0.500
1.124
0.421
0.496
1.004
10/0 4.110 0.882
1.733
0.722
0.910
1.460
10/0 5.557 1.289
2.382
1.114
1.250
2.196
10/0 6.793 1.666
3.036
1.386
1.632
2.730
10/0 7.942 1.260
3.719
1.833
1.971
3.402
10/0 0.143 0.050
0.377
0.034
0.048
0.312
10/0 0.408 0.124
0.821
0.090
0.099
0.664
10/0 0.726 0.258
1.311
0.197
0.179
1.076
10/0 0.963 0.305
1.826
0.241
0.328
1.511
10/0 1.262 0.441
2.372
0.357
0.395
1.887
Among optimization algorithms, the parallel CNF local search (SAT1:7) algorithm was much faster than the sequential local search (SAT1:3) algorithm. The
SAT1:7 algorithm had comparable computing performance with the DNF parallel
94
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Performance comparison averaged over ten runs between
a DPL and some optimization algorithms on a SUN SPARC 2
workstation for solving 3SAT problem instances. Time units: seconds. Symbol \S/F" in Column 4 stands for DPL's success/failure
to give an answer within a time limit of 120 m=n seconds, whereas
symbol \G/L" stands for the number of times that all the remaining SAT optimization algorithms hit global/local minimum points.
Table 2.
Problems
m
n
500 500
750 500
1000 500
1250 500
1500 500
1000 500
1500 500
2000 500
2500 500
3000 500
3000 500
4000 500
5000 500
6000 500
7000 500
10000 1000
12000 1000
14000 1000
16000 1000
18000 1000
l
3
3
3
3
3
4
4
4
4
4
5
5
5
5
5
10
10
10
10
10
S/F DPL
10/0 2.159
10/0 2.916
10/0 3.657
9/1 5.797
6/4 9.147
10/0 4.684
10/0 7.960
8/2 10.27
2/8 15.96
1/9 46.33
10/0 16.90
5/5 28.39
0/10 >1200
0/10 >1440
0/10 >1680
10/0 101.8
10/0 124.3
10/0 145.2
10/0 167.1
10/0 188.6
Execution Time
G/L SAT1.7 SAT1.13 SAT1.8 SAT14.6 SAT14.16
10/0 0.013
0.021
0.011
0.013
0.027
10/0 0.015
0.030
0.013
0.021
0.033
10/0 0.035
0.048
0.032
0.031
0.047
10/0 0.049
0.064
0.044
0.067
0.072
10/0 0.108
0.117
0.089
0.115
0.108
10/0 0.026
0.040
0.024
0.024
0.038
10/0 0.040
0.075
0.043
0.042
0.066
10/0 0.066
0.105
0.062
0.069
0.088
10/0 0.074
0.130
0.085
0.109
0.152
10/0 0.118
0.201
0.115
0.153
0.234
10/0 0.094
0.137
0.082
0.074
0.139
10/0 0.119
0.204
0.103
0.144
0.188
10/0 0.180
0.253
0.170
0.196
0.288
10/0 0.313
0.370
0.267
0.313
0.471
10/0 0.591
0.575
0.478
0.604
0.623
10/0 0.047
0.382
0.038
0.049
0.315
10/0 0.073
0.458
0.053
0.052
0.382
10/0 0.077
0.562
0.058
0.063
0.430
10/0 0.098
0.596
0.073
0.078
0.517
10/0 0.136
0.716
0.102
0.095
0.583
local search (SAT1:8) algorithm. Discrete global optimization (SAT14:6) algorithm was slightly slower than parallel local search algorithms. Complete local
search (SAT1:13) algorithm and complete global optimization (SAT14:16) algorithm, due to a systematic bookkeeping, were slightly slower than parallel local
search but signi cantly faster than the sequential local search algorithm.
As discussed in 221, 212], beyond a certain range of hardness, for example,
for m = 8500; n = 1000, and l = 4, the computing time of these optimization
algorithms started to increase.
The experimental results shown in Table 1 were collected from early reports in
207, 212, 213]. The present local and global optimization algorithms are much
more faster than their previous versions 209, 212, 219].
Performance Comparison with the DP Algorithm. The execution results of the DPL algorithm and some optimization algorithms for solving lSAT
instances are given in Table 2. We executed each algorithm ten times and report
the average execution times. Because DPL was slow for large size instances, we set
a maximum execution time of 120 m=n seconds as the time limit of its execution.
Symbol \S/F" in Column 4 stands for DPL's success/failure in giving an answer
within such a time limit. For DPL, the average execution time does not include the
maximum execution time limit if some of the ten executions were successful; the
average execution time was taken as the maximum execution time limit only if all
ten executions failed. Symbol \G/L" in Column 6 stands for the number of times
that all the remaining SAT optimization algorithms hit the global/local minimum
points.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
95
Performance comparison between some optimization algorithms running on a SUN SPARC 2 workstation and the GSAT
algorithm running on a MIPS computer with comparable computing power for the 3SAT problem instances. Time units: seconds.
Table 3.
Problems
m
n
215 50
301 70
430 100
516 120
602 140
645 150
860 200
1062 250
1275 300
Execution Time
l GSAT SAT1.7 SAT1.13 SAT1.8 SAT14.6 SAT14.16
3 0.400 0.019
0.100
0.006
0.020
0.030
3 0.900 0.054
0.010
0.020
0.020
0.020
3 6.000 0.336
0.040
0.420
0.050
0.370
3 14.00 0.596
0.810
1.136
0.410
0.040
3 14.00 0.260
8.060
0.750
1.990
0.170
3 45.00 0.102
0.190
0.120
0.040
0.870
3 168.0 1.776
0.970
0.070
6.710
0.490
3 246.0 3.106
20.71
0.070
12.43
0.090
3 720.0 8.822
19.66
3.750
19.14
4.510
From numerous algorithm executions, we observe that, for random lSAT instances listed in Table 2, DPL was slower than the rest of the SAT optimization algorithms. As the input size increases, the number of failures, F, increased
quickly. For some slightly large inputs, such as m = 5000; n = 500, and l = 5,
all ten algorithm executions failed after a reasonably long time limit. Due to its
O(mO(n=l) ) average runtime complexity, even for some fairly easy instances, such
as m = 10000; n = 1000, and l = 10, DPL took an excessive amount of time to nd
a solution. In comparison, local search and global optimization algorithms were
successful for all ten executions. They were able to nd a solution to the given
instances e ciently.
Table 2 suggests that DPL may not be a suitable candidate for large size random
lSAT instances. This observation should not be generalized to other application
cases. In many other applications, as observed by others 69, 70, 126], DPL
performed very well.
Performance Comparison with GSAT . Table 3 compares the performance
between some local search and global optimization algorithms running on a SUN
SPARC 2 workstation and GSAT 472] running on a MIPS computer with comparable computing power 471]. Since GSAT is essentially a version of sequential
local search (i.e., SAT1) algorithm, for solving 3SAT instances generated from the
same input model used in 383], local search and global optimization algorithms
performed approximately tens to hundreds times faster than GSAT. Among them,
parallel DNF local search (SAT1:8) algorithm and complete global optimization
(SAT14:16) were the best.
Performance Comparison with Interior Point ZeroOne Integer Programming Algorithm. Recently, Kamath et al. used an interior point zeroone
integer programming algorithm to solve SAT 303, 301]. They implemented their
algorithm in FORTRAN and C languages and ran the algorithm on a KORBX(R)
parallel/vector computer with instances generated from the average 3SAT input
96
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Table 4. Performance comparison between some optimization algorithms running on a SUN SPARC 2 workstation and an interior
point zeroone integer programming algorithm running on
a KORBX(R) parallel/vector computer for solving average 3SAT
problem instances. Time units: seconds. Symbol \S/F" stands for
the number of times that IP hits the global/local minimum points,
whereas symbol \G/L" stands for the number of times that the
remaining SAT algorithms hit the global/local minimum points.
Problems
m
n
100
50
200 100
400 200
800 400
800 400
1000 500
2000 1000
2000 1000
2000 1000
4000 1000
4000 1000
8000 1000
16000 1000
32000 1000
l
5
5
7
10
7
10
10
7
3
4
10
10
10
10
Execution Time
S/F
IP
G/L SAT1.7 SAT1.13 SAT1.8 SAT14.6 SAT14.16
52/0 0.7 10/0 0.001
0.004
0.001
0.001
0.004
70/0 1.1 10/0 0.006
0.010
0.006
0.005
0.007
69/0 3.5 10/0 0.007
0.014
0.007
0.007
0.018
31/0 5.6 10/0 0.009
0.034
0.009
0.003
0.030
20/0 7.8 10/0 0.014
0.032
0.014
0.009
0.026
49/0 7.4 10/0 0.012
0.037
0.012
0.006
0.039
10/0 18.5 10/0 0.032
0.091
0.032
0.019
0.083
50/0 21.5 10/0 0.056
0.099
0.056
0.055
0.055
49/1 50.4 10/0 2.657
0.162
2.657
3.917
27.19
1/1 1085.4 10/0 10.63
11.07
10.63
6.826
9.555
10/0 25.1 10/0 0.055
0.189
0.055
0.044
0.163
10/0 38.0 10/0 0.219
0.456
0.219
0.254
0.353
10/0 66.4 10/0 0.603
1.042
0.603
0.625
1.052
10/0 232.4 10/0 1.701
2.720
1.701
1.611
2.434
model. The KORBX(R) parallel computer operates in scalar mode at approximately 1 MFlops and at 32 MFlops with full vector concurrent mode. Their execution results are given in Columns 4 and 5 of Table 4.
We ran local search and global optimization algorithms for the same instances
(listed in 303, 301]) on a SUN SPARC 2 workstation. The results are given in
Table 4. Apparently, as compared to the interior point zeroone integer programming algorithm running on a parallel computer, in addition to improved global
convergence, local search and global optimization algorithms were much simpler
and achieved several orders of magnitude of performance improvements in terms of
computing time.
13.2. Experiments on Hard Random Formulas. We compare the performance of two local search algorithms and a tabu search algorithm for the hard
random 3SAT problem instances generated from the mw generator. All three
programs were written in C. Table 5 give the real execution performance of the
WSAT (GSAT with random walk) on an SGI Challenge with a 70 MHz MIPS R4400
processor 475, 474].
Tables 6 and 7 show the experimental results of WSAT and TSAT (Tabu search
for SAT) programs written in C under Linux 1.1.59 for PC 370]. On a same
machine, Mazure, Sais, and Gregoire compared the GSAT with TSAT and found
that TSAT was more e cient in most cases. In addition, TSAT was able to solve
more problem instances compared to the GSAT. The testing for TSAT for large size
example with n = 2000 and m = 8240, however, was terminated at n=m = 4:12,
before entering into the hard region of the random 3SAT instances.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
97
WSAT (GSAT with random walk)'s real execution performance for hard random 3SAT problem instances on an SGI
Challenge with a 70 MHz MIPS R4400 processor. Time unit: seconds 475].
Table 5.
Problems
n
m time
100
200
400
600
800
1000
2000
430
.4
860
22
1700 122
2550 1471
3400
*
4250
*
8480
*
GSAT
Walk
ips R time
ips
7554 8.3
.2
2385
284693 143
4
27654
2:6 106 67
7
59744
30 106 500
35 241651
* * 286 1:8 106
* * 1095 5:8 106
* * 3255 23 106
R
1.0
1.0
1.1
1.0
1.1
1.2
1.1
WSAT (GSAT with random walk)'s real execution performance for hard random 3SAT problem instances on a PC. Time
unit: seconds 370].
Table 6.
n
100
200
400
600
800
1000
2000
m inst.
time
ips solved
ratio
430 500
0.18
2803 88%
31,85
860 500
1.99
18626 73%
255,85
1700 500
15.03 204670 100%
2046,70
2550 500
19.59 250464 62%
4013,85
3400 500 140.61 1809986 67% 26854,39
4250 500 369.88 4633763 57% 81009,84
8240 50 3147.26 26542387 16% 1658899,19
TSAT's real execution performance for hard random
3SAT problem instances on a PC. Time unit: seconds 370].
Table 7.
n
100
200
400
600
800
1000
2000
m inst.
time
ips solved
ratio
430 500
0.11
1633 93%
17,60
860 500
0.73
9678 74%
130,78
1700 500
11.51 145710 100% 1457,10
2550 500
13.92 167236 65% 2580,80
3400 500
99.45 1143444 71% 16150,34
4250 500 292.10 3232463 62% 51802,29
8240 50 3269.15 29415465 40% 735386,63
The performance of the SAT1.5 algorithm 209, 219] (Section 7.7) is shown
in Table 8. For hard problem instances in the transition region 383], SAT1.5 can
solve largesize SAT problem instances e ciently. It took WSAT on average 3,255
seconds to solve the n = 2; 000 and m = 8; 480 instances on an SGI Challenge with
a 70 MHz MIPS R4400 processor. On a SUN SPARC 20 workstation, the SAT1.5
algorithm was able to solve the same problem instance in some 530 seconds on
98
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Table 8. Real execution performance of the SAT1.5 algorithm
for hard random 3SAT problem instances on a SUN SPARC 20
workstation. For each problem, 30 random instances were tested.
The minimum (Tmin ), maximum (Tmax ), and average (Tmean ) execution times were recorded. \S" indicates the number of success
cases of nding solutions within the time limit (Tlimit). Time
unit: second.
n
1000
1000
1000
1000
2000
2000
2000
2000
2000
2000
2000
2000
3000
3000
3000
3000
3000
3000
3000
3000
4000
4000
4000
4000
5000
5000
5000
5000
10000
10000
10000
10000
m
4230
4240
4250
4260
8460
8480
8500
8510
8460
8480
8500
8520
12690
12700
12720
12740
12680
12700
12720
12740
16920
16930
16940
16960
21150
21175
21200
21225
41000
41800
42000
42200
m=n
4.2300
4.2400
4.2500
4.2600
4.2300
4.2400
4.2500
4.2550
4.2300
4.2400
4.2500
4.2600
4.2300
4.2333
4.2400
4.2467
4.2267
4.2333
4.2400
4.2467
4.2300
4.2325
4.2350
4.2400
4.2300
4.2350
4.2400
4.2450
4.1000
4.1800
4.2000
4.2200
S/30
20/30
15/30
14/30
10/30
12/30
14/30
7/30
9/30
15/30
15/30
15/30
9/30
12/30
18/30
11/30
12/30
15/30
11/30
15/30
8/30
11/30
10/30
7/30
10/30
8/30
6/30
3/30
4/30
30/30
8/18
4/30
2/30
Tmin Tmean
6.04 206.90
0.55 223.26
1.69 88.370
24.4 243.25
115.8 779.44
17.64 530.32
58.09 789.35
59.08 840.33
58.95 684.32
15.31 1273.5
112.7 1527.8
123.2 1522.9
430.6 1787.2
122.5 2101.5
270.6 1503.6
229.1 2062.9
356.1 2788.3
503.3 3681.1
30.09 2300.3
563.3 2620.5
739.83 4064.5
1733.5 5472.0
571.20 1948.9
294.80 3709.0
2024.7 3867.9
1640.1 2982.7
2935.8 4435.7
3883.5 6025.6
294.44 1315.6
4294.5 8387.9
963.53 5877.8
9270.6 14241.9
Tmax Tlimit
956.15 1000
891.11 1000
454.79 1000
914.35 1000
2069.9 3000
1360.9 3000
1677.6 3000
2322.8 3000
4508.2 5000
4057.9 5000
3644.5 5000
4338.5 5000
2876.4 5000
4479.4 5000
3840.7 5000
4807.4 5000
9510.2 10000
8247.9 10000
7002.3 10000
5330.9 10000
11498.2 12000
10187.8 12000
4768.92 12000
9921.77 12000
8134.81 9000
4193.68 9000
6357.65 9000
10980.9 15000
3849.38 20000
16654.8 20000
12020.3 20000
19213.4 20000
average 219, 220]. For hard, large size SAT problem instances with n > 5; 000,
SAT1.5 algorithm was able to handle the problems comfortably.
13.3. Experiments on Structured Instances. We now take a look at the
performance of SAT algorithms for some structured instances.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
99
Performance of SAT1.7 on a SUN SPARC 10 workstation. Time Units: seconds.
Table 9.
Problems
Name
m
ii16a1.sat 1650
ii16b1.sat 1728
ii16c1.sat 1580
ii16d1.sat 1230
ii16e1.sat 1245
ii16a2.sat 1602
ii16b2.sat 1076
ii16c2.sat 924
ii16d2.sat 836
ii16e2.sat 532
ii32a1.sat 459
ii32b1.sat 228
ii32b2.sat 261
ii32b3.sat 348
ii32b4.sat 381
ii32c1.sat 225
ii32c2.sat 249
ii32c3.sat 279
ii32c4.sat 759
ii32d1.sat 332
ii32d2.sat 404
ii32d3.sat 824
ii32e1.sat 222
ii32e2.sat 267
ii32e3.sat 330
ii32e4.sat 387
ii32e5.sat 522
Ten Trials
Execution Time
n
Global SAT Min Mean Max
19368 10/10 YES 10.320 125.51 417.42
24792 10/10 YES 0.6100 6.1130 28.760
16467 10/10 YES 0.5400 1.8740 3.7500
15901 10/10 YES 0.4900 1.3810 2.8200
14766 10/10 YES 0.5300 0.9720 1.4800
23281
N/A
16121 10/10 YES 1.9000 39.118 102.60
13803 10/10 YES 0.3500 14.109 41.650
12461 10/10 YES 0.3300 19.840 52.410
7825 10/10 YES 0.5000 6.8830 21.980
9212 10/10 YES 0.3600 3.5740 10.330
1374 10/10 YES 0.1100 0.7390 1.6700
2558 10/10 YES 0.1000 1.9040 4.4700
5734 10/10 YES 1.6400 10.559 19.330
9618 10/10 YES 0.5100 2.3060 4.7800
1280 10/10 YES 0.0100 0.1150 0.4800
2182 10/10 YES 0.0600 0.3980 0.9000
3272 10/10 YES 0.6900 5.4900 16.850
20862 10/10 YES 5.5200 361.80 1496.3
2703 10/10 YES 0.2200 1.0680 3.1000
5153 10/10 YES 0.2100 0.9140 2.1800
19478 10/10 YES 1.7100 49.522 109.52
1186 10/10 YES 0.0200 0.3260 1.0700
2746 10/10 YES 0.0400 0.1130 0.3400
5020 10/10 YES 0.4500 5.2700 13.910
7106 10/10 YES 0.2700 10.734 46.750
11636 10/10 YES 0.4900 23.424 84.470
Instances Generated from the N Queens Problem. To assess the performance of local search and global optimization algorithms with nonbinary instances, we also tested SAT instances generated from instances of the nqueens
problem. Figure 32 compares the performance between DP and some optimization
algorithms. It also compares the performance between DP and SAT14:11 211],
a complete, continuous global optimization algorithm. Due to expensive oating
point computations, the execution time of SAT14:11 is higher than those of other
discrete local search and global optimization algorithms.
DIMACS Instances. For the same SAT formulas generated from instances
of the Boolean inference problem 302], the performance of SAT1.7 212], a parallel
local search algorithm, and a simple backtracking algorithm 328] is shown in Tables
9 and 10, respectively. An algorithm may be e ective for only one type of input.
The results suggest that it can be much more e cient if we use several di erent
types of algorithms to handle the same inputs simultaneously.
In Table 11, we compare A2 538] with WSAT, GSAT, and DavisPutnam's
algorithm in solving the circuit diagnosis benchmark problems. We present average
execution times and average number of iterations of A2 as well as published average
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
1600
SAT1.7 algorithm
SAT1.13 algorithm
DP algorithm
1400
CPU time (sec)
1200
1000
800
600
400
200
0
0
50000
100000
Number of clauses
1600
150000
200000
SAT14.6 algorithm
SAT14.16 algorithm
DP algorithm
1400
CPU time (sec)
1200
1000
800
600
400
200
0
0
50000
100000
Number of clauses
1600
150000
200000
DP algorithm
SAT14.11 algorithm
1400
1200
CPU time (sec)
100
1000
800
600
400
200
0
1490
12580
43270
Number of clauses
103560
203450
Comparison of DP with SAT1.7, SAT1.13,
SAT14.6, SAT14.16, and SAT14.11 for solving SAT instances
Figure
32.
generated from CSP instances
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
101
Performance of a simple backtracking algorithm
on a SUN SPARC 10 workstation. Time Units: seconds.
Table 10.
Name
ii16a1.sat
ii16c1.sat
ii16e1.sat
ii16a2.sat
ii16c2.sat
ii16e2.sat
ii32a1.sat
ii32b2.sat
ii32b4.sat
ii32c1.sat
ii32c3.sat
ii32d1.sat
ii32d3.sat
ii32e1.sat
ii32e3.sat
ii32e5.sat
m
1650
1580
1245
1602
924
532
459
261
381
225
279
332
824
222
330
522
n
19368
16467
14766
23281
13803
7825
9212
2558
9618
1280
3272
2703
19478
1186
5020
11636
SAT
YES
N/A
N/A
YES
YES
N/A
YES
YES
YES
YES
YES
YES
YES
YES
YES
YES
Time
1.285
1.956
2.125
1.430
2.016
2.051
1.160
1.035
1.285
0.000
1.240
1.035
1.755
0.000
1.565
1.655
Name
m
n SAT Time
ii16b1.sat 1728 24792 YES 1.490
ii16d1.sat 1230 15901 YES 1.660
ii16b2.sat 1076 16121 YES 1.505
ii16d2.sat 836 12461 YES 1.665
ii32b1.sat 228
ii32b3.sat 348
1374 YES 1.035
5734 YES 1.240
ii32c2.sat 249 2182 YES 1.325
ii32c4.sat 759 20862 YES 1.695
ii32d2.sat 404 5153 YES 1.525
ii32e2.sat
ii32e4.sat
267
387
2746 YES 1.035
7106 YES 1.615
Comparison of A2's execution times in seconds averaged over 10 runs with respect to published results on some of
the circuit diagnosis problems in the DIMACS archive, including
the best known results obtained by WSAT, GSAT, and DavisPutnam's algorithm 475].
Table 11.
A2
WSAT GSAT DP
SGI # Iter.
1501 3575
0.235 7970
2.3
129
7
1363 3034
0.102 2169
2
90
*
1363 3032
0.118 2154
0.8
14
*
1391 3126
0.113 3116
1.5
18
*
A2 : Sun SparcStation 10/51 and a 150MHz SGI Challenge with MIPS R4400;
GSAT, WSAT and DP: SGI Challenge with a 70 MHz MIPS R4400.
Problem
Id
ssa7552038
ssa7552158
ssa7552159
ssa7552160
n
m
SS 10/51
0.228
0.088
0.085
0.097
Comparison of A2 's execution times in seconds averaged over 10 runs with published results on circuit synthesis problems from the DIMACS archive, including the best known results
obtained by GSAT, integer programming, and simulated annealing 475].
Table 12.
Problem n
m
A2
GSAT Integer SA
Id.
SS 10/51 SGI # Iter.
Prog.
ii16a1 1650 19368
0.122 0.128 819
2
2039 12
ii16b1 1728 24792
0.265 0.310 1546
12
78
11
ii16c1 1580 16467
0.163 0.173 797
1
758
5
ii16d1 1230 15901
0.188 0.233 908
3
1547 4
ii16e1 1245 14766
0.297 0.302 861
1
2156 3
A2 : Sun SparcStation 10/51 and a 150MHz SGI Challenge with MIPS R4400;
GSAT and SA: SGI Challenge with a 70 MHz MIPS R4400;
Integer Programming: VAX 8700.
102
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Comparison of DLM's execution times in seconds
averaged over 10 runs with the best known results obtained by
GSAT 476] on the circuitsynthesis, paritylearning, arti cially
generated 3SAT instances, and graph coloring problems from the
DIMACS archive.
Table 13.
Problem
Identi cation
n
m
aim1002 0yes11
aim1002 0yes12
aim1002 0yes13
aim1002 0yes14
100
100
100
100
200
200
200
200
ii32b3
ii32c3
ii32d3
ii32e3
par82c
par84c
348
279
824
330
68
67
5734
3272
19478
5020
270
266
A1
SS 10/51 Success
Ratio
0.19
10/10
0.65
10/10
0.19
10/10
0.10
10/10
0.31
0.12
1.05
0.16
0.06
0.09
A2
A3
g125.17
2125 66272 1390.32
g125.18
2250 70163
3.197
g250.15
3750 233965
2.798
g250.29
7250 454622 1219.56
A1 , A2 , A3 : Sun SparcStation 10/51
GSAT: SGI Challenge (model unknown)
10/10
10/10
10/10
10/10
10/10
10/10
10/10
10/10
10/10
9/10
GSAT
Time Success
Ratio
1.96
9/10
1.6
10/10
1.09
10/10
1.54
10/10
GSAT
0.6
10/10
0.27
10/10
2.24
10/10
0.49
10/10
1.33
10/10
0.2
10/10
GSAT
264.07 7/10
1.9
10/10
4.41
10/10
1219.88 9/10
execution times of WSAT, GSAT and DavisPutnam's method 475]. We did not
attempt to reproduce the reported results of GSAT and WSAT, since the results
may depend on initial conditions, such as the seeds of the random number generator
and other program parameters. We ran A2 on an SGI Challenge9 so that our timing
results can be compared to those of GSAT and WSAT. Our results show that A2
is approximately one order of magnitude faster than WSAT.
In Table 12, we compare A2 538] with the published results of GSAT, integer
programming and simulated annealing on the circuit synthesis problems 475]. Our
results show that A2 performs several times faster than GSAT.
In Table 13, we compare the performance of the three versions of DLM with
some of the best known results of GSAT on circuitsynthesis, paritylearning, some
arti cially generated 3SAT, and some of the hard graph coloring problems. The
results on GSAT are from 476], which are better than other published results.
Our results show that DLM is consistently faster than GSAT on the \ii" and \par"
inputs, and that A1 is an orderofmagnitude faster than GSAT on some \aim"
inputs.
9 Based on a singleCPU 150MHz SGI Challenge with MIPS R4400 at the University of Illinois National Center for Supercomputing Applications, we estimate empirically that it is 15.4%
slower than a Sun SparcStation 10/51 for executing A2 to solve SAT benchmark problems. However, we did not evaluate the speed di erence between a 150MHz SGI Challenge and a 70MHz
SGI Challenge on which GSAT and WSAT were run.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
103
Execution times in CPU seconds over 10 runs of A3 to
solve some of the more di cult DIMACS benchmark problems.
Table 14.
Prob.
Id.
par81
par82
par83
par84
par85
par161
par162
par163
par164
par165
par161c
par162c
par163c
par164c
par165c
hanoi4
f1000
f600
f2000
Succ.
Ratio
10/10
10/10
10/10
10/10
10/10
5/10
1/10
1/10
3/10
1/10
10/10
10/10
10/10
10/10
10/10
1/10
10/10
10/10
10/10
Sun SS 10/51 Seconds
Avg.
Min.
Max.
4.780
0.133
14.383
5.058
0.100
13.067
9.903
0.350
21.150
5.842
0.850
16.433
14.628
1.167
34.900
11172.8
4630.6 20489.1
856.9
856.9
856.9
20281.6
20281.6 20281.6
3523.1
1015.0 7337.9
13023.4
13023.4 13023.4
398.1
11.7
1011.9
1324.3
191.0
4232.3
987.2
139.8
3705.2
316.7
5.7
692.66
1584.2
414.5
3313.2
476.5
476.5
476.5
126.8
4.4
280.7
16.9
2.1
37.2
1808.6
174.3
8244.7
Program parameters
Flat region limit = 50; reset interval = 10,000; operation: = =1:5.
Problem group par16 15] test par problems
f
hanoi4
Tabu length
100
50
50
50
Increment of
1
1/2
1/16
1/2
We are designing new strategies to improve A3 's 538] performance. Tables 14
shows some preliminary but promising results of A3 on some of the more di cult
but satis able DIMACS benchmark inputs.
13.4. Experiments on Practical Industrial Benchmarks. Performance
of the SATCircuit Solver with Partitioning Preprocessing. We compare in
Table 15 Gu and Puri's SAT solver (having a partitioning preprocessing) 216]
with existing algorithms 331, 529] for solving industrial asynchronous circuit de
sign benchmarks, including the HP and Philips benchmarks. In the table, N and m
are the initial number of states and initial number of signals, respectively. Correspondingly, N f and mf are the nal number of states and nal number of signals.
Symbol A indicates the 2level implementation area.
The experimental results indicate that, as compared to the previous methods
331, 529], the SATCircuit solver with partitioning preprocessing achieves many
orders of magnitude of performance improvement in terms of computing time, in
addition to a reduced implementation area. For example, in a large circuit mr0,
SATCircuit took 2:80 seconds to solve the problem and yielded a twolevel implementation area with 41 literals.10 In contrast, Lavagno et al.'s algorithm took
1; 084:5 seconds and an area of 86 literals. For this example, Vanbekbergen et
al.'s algorithm could not yield a solution within 3; 600 seconds and aborted due to
10 Literal here is a standard unit measuring layout area.
104
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Experimental results comparing the SATCircuit
solver (with SAT formula partitioning preprocessing), VanbekberTable
15.
gen et al.'s algorithm, and Lavagno et al.'s algorithm, on practical
circuit benchmarks on a SUN SPARC2 workstation. Time unit:
seconds.
Circuit Speci
Name
mr0
mr1
mmu0
mmu1
sbuframwrite
vbe4a
nakpa
percvifcfc
ramreadsbuf
alexnonfc
sbufsendpkt2
sbufsendctl
atod
pa
allocoutbound
wrdata
fo
sbufreadctl
nousc
vbeex2
nouscser
sendrdone
vbeex1
cations
N
302
190
174
82
58
58
56
46
36
24
21
20
20
18
17
16
16
14
12
8
8
7
5
m
11
8
8
8
10
6
9
8
10
6
6
6
6
4
7
4
4
6
3
2
3
3
2
Preprocessing
N
469
373
441
131
93
106
59
50
44
31
26
32
26
34
29
20
23
18
16
12
10
10
8
f
m
14
12
11
10
12
8
10
9
11
7
7
8
7
6
9
5
5
7
4
4
4
4
3
f
A
41
55
49
50
59
37
25
48
28
26
20
33
15
18
33
17
15
16
12
18
9
8
7
]
CPU
2.80
1.73
0.87
0.37
0.36
0.19
0.20
0.24
0.15
0.05
0.04
0.09
0.02
0.12
0.09
0.03
0.03
0.06
0.01
0.08
0.02
0.02
0.01
216
Vanbekbergen et al.
N m
A
backtrack limit >
backtrack limit >
backtrack limit >
backtrack limit >
90 12 74
116 8
40
58 10 32
53 9
50
53 11 44
28 7
22
27 7
29
28 8
35
24 7
16
31 6
22
24 9
27
19 5
18
20 5
17
16 7
20
16 4
12
12 4
18
10 4
9
10 4
8
8 3
7
f
f
529]
CPU
3600
872:9
406:3
101:3
5.21
0.25
0.08
0.13
0.06
0.03
0.04
0.03
0.01
0.06
0.04
0.01
0.02
0.01
0.01
0.03
0.01
0.01
0.01
Lavagno et al. 331]
m A
CPU
13 86 1084.5
10 53 237.5
state error
10 37
47.8
12 35
54.6
8 41
5.50
10 41
20.8
9 62
14.3
11 23
65.2
nonfreechoice
7 14
8.6
8 43
3.4
7 19
2.9
state error
9 23
2.5
5 21
0.9
5 15
0.7
7 15
1.5
4 14
0.5
4 21
0.5
4 11
0.4
4 6
0.4
3 7
0.3
f
backtracking limit. For another benchmark circuit mmu0, SATCircuit solved it in
0:87 seconds, as compared to a preaborted 406:3 seconds for Vanbekbergen et al.'s
approach 529].
Performance of a BDD SAT Solver with Partitioning Preprocessing.
The BDD SATCircuit solver was implemented in C language. In this case, Gu
and Puri tested their BDD SATCircuit solver with its ability to nd all solutions
(therefore, an optimal solution) for a large number of industrial asynchronous circuit benchmarks including the HP and Philips benchmarks 216, 438]. They also
compared the performance of their BDD SATCircuit solver with the well known
Lavagno et al.'s 331] asynchronous circuit design technique. The results of these
experiments are given in Table 16 and Table 17. Table 16 compares the execution
time of the BDD SAT solver with the execution time of a simple backtracking SAT
algorithm of 328]. The experimental results are given for SAT instances generated
from Gu and Puri's SAT formula partitioning preprocessor 216]. Since the BDD
SATCircuit solver yielded all the solutions, they normalized the execution time
of the backtracking algorithm for all the truth assignment. The experimental results (Table 16) show that the BDD SAT solver outperforms the backtracking SAT
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
105
Experimental results comparing the BDD SATCircuit solver and a backtracking SAT algorithm, both with SAT
Table
16.
formula partitioning preprocessing, on practical asynchronous circuit benchmarks on a SUN SPARC2 workstation. Time unit: second.
STG
Benchmark
Name
Mr0
SbufRamWr
NakPa
AlexNonFc
SbufSndCtl
Pa
Fifo
NoUsc
NoUscSer
VbeEx1
BDD Backtracking STG
BDD Backtracking
SAT satis ability Benchmark SAT satis ability
Solver
testing
Name
Solver
testing
58.3
>3,600
Mmu1
28.1
>3,600
32.7
>3,600
Vbe4a
1.95
>3,600
0.53
5.4
RamRdSbuf 0.25
76.8
0.37
0.96
SbufSndPkt2 0.37
88.06
18.27
353.6
AtoD
0.15
11.88
0.05
4.50
WrData
0.14
0.24
0.05
0.10
SbufRdCtl
0.09
0.10
0.09
0.16
VbeEx2
3.94
0.80
0.06
0.07
SendrDone
0.05
0.16
0.03
0.04
technique for the practical SAT instances representing asynchronous circuit design.
They also calculated the implementation area of the designed circuits. Table 17
compares their BDD SAT solver with the well known Lavagno et al.'s asynchronous
circuit design technique 331]. The BDD SATCircuit solver yielded reduced circuit
implementation area than Lavagno et al.'s algorithm for almost all the circuits in
the benchmark set 331]. Lavagno et al.'s method yields a total area of 449 literals
in 1298.5 seconds. In comparison, for the same benchmarks, the BDD SAT solver
achieved an area of 379 literals in 145.7 seconds. In addition, Lavagno et al.'s
method was unable to solve some benchmark circuits, such as Pa and AlexNonFc.
These results show that, as compared to existing techniques, the BDD SAT solver
is capable of achieving an average of 20% reduction in implementation area for
all the benchmarks. According to critical industrial evaluations, this BDD SAT
solver o ers a practical solution for complex industrial asynchronous circuit design
problems.
14. Applications
Practical application problems are the driving forces for SAT research. They
provide the ultimate benchmarks to test SAT algorithms and techniques. An e ective SAT algorithm in one application problem will shed light on solving problems
in other application areas.
The SAT problem has direct applications in mathematical logic, arti cial intelligence, VLSI engineering, and computing theory. It also has indirect applications
through other transferable problems, e.g., constraint satisfaction problems and constrained optimization problems 228]. Due to the UniSAT models, some application
problems in the real space are related to SAT as well. In the following, we list some
applications that can be formulated as solved as instances of SAT.
106
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
Comparison of Implementation area and design time of
the BDD SATCircuit solver (with SAT formula partitioning preprocessing) and Lavagno et al.'s technique for practical asynchronous circuit benchmarks on a SUN SPARC2 workstation. Time
unit: second.
Table 17.
Benchmark
Name
Benchmark
BDD SAT Solver
Lavagno and Moon et al. 331]
Initial Initial Final Circuit CPU Final Circuit
CPU
no. of no. of no. of Area time no. of Area
time
states signals signal (literals) sec. signal (literals)
sec.
Mr0
302
11
15
41
58.36 13
86
1084.5
Mmu1
82
8
10
38
28.16 10
37
47.8
SbufRamWr 58
10
12
47
32.79 12
35
54.6
Vbe4a
58
6
8
30
1.95
8
41
5.5
NakPa
56
9
10
25
0.53 10
41
20.8
RamRdSbuf 36
10
11
25
0.25 11
23
65.2
SbufSndPkt2 24
6
7
21
0.37
7
14
8.6
SbufSndCtl
21
6
7
17
0.37
8
43
3.4
AtoD
20
6
8
30
18.27 7
19
2.9
Pa
20
6
7
14
0.15
Internal State Error
WrData
16
4
5
18
0.05
5
21
0.9
Fifo
16
4
5
15
0.14
5
15
0.7
SbufRdCtl
14
6
7
16
0.05
7
15
1.5
NoUsc
12
3
4
12
0.09
4
14
0.5
VbeEx2
12
3
4
12
0.09
4
21
0.5
NoUscSer
8
2
4
18
3.94
4
11
0.4
AlexNonFc
8
3
4
9
0.06
NonFreeChoice STG
SendrDone
7
3
4
8
0.05
4
6
0.4
VbeEx1
5
2
3
6
0.03
3
7
0.3
Mathematics: nding nary relations such as transitive closure 67], detecting graph and subgraph isomorphisms 105, 373, 375, 399, 442, 519, 558],
the graph coloring problem 57, 243, 369, 375], mathematical cryptology
408, 447], the automata homomorphism problem 198], nding spanning
trees and Euler tours in a graph 396], solving the traveling salesman problem 287, 288, 332, 400], and logical arithmetic 93].
Computer science and arti cial intelligence: the constraint satisfaction problem 13, 191, 206, 361, 451], the nqueens problem 191, 242, 485], extended inference 22], logical programming 96, 98, 139, 329], abductive
inference for synthesizing composite hypotheses 297], semantic information
processing 22, 161, 397], puzzles and cryptoarithmetic 189, 242, 275,
367, 368, 394], truth maintenance 122, 124, 127, 138, 371], production system 278, 381, 382], the soma cube and instant insanity problem
191], theorem proving 269, 316, 427, 557], and neural network computing 13, 14, 129, 251, 354, 272].
Machine vision: image matching problem 22, 88, 450, 553], line and
edge labeling problems 76, 159, 515, 541, 561], stereopsis, scene analysis
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
107
and semanticsbased region growing 22, 76, 158, 159, 160, 515, 541],
the shape and object matching problem 67, 115, 247], syntactic shape
analysis 116, 246, 310], shape from shading problem 12, 50, 173, 262,
263, 265, 264, 274, 364, 412], and image restoration 193].
Robotics: related vision problem 88, 273], packing problem 133], and
trajectory and task planning problems 46, 152].
Computeraided manufacturing: task planning 393], design 391, 392],
solid modeling, con guring task 174], design cellular manufacturing system,
scheduling 164, 356], and 3dimensional object recognition 230, 264].
Database systems: operations on objects 518, 521], database consistency
maintenance, queryanswering and redundancychecking, query optimization 78, 518], concurrency control 31, 154, 360], distributed database
systems 185], truth and belief maintenance 122, 124, 127, 138, 371],
the relational homomorphism problem 242, 518], and knowledge organization for recognition system 244].
Text processing: optical character recognition 90, 387, 502], character constraint graph model 270], printed text recognition 21, 270], handwritten
text recognition 483], automatic correction of errors in text 520].
Computer graphics: construction of 2dimensionalpictures and 3dimensional
graphical objects from constraints, reasoning of the geometrical features of
3dimensional objects 55, 180].
Integrated circuit design automation: circuit modeling 75, 509], logic minimization 254], state assignment 529, 530], state minimization 204, 441],
asynchronous circuit synthesis 216, 438, 437, 439], I/O encoding for sequential machines 458], power dissipation estimation 135], logic partitioning 85, 143, 327, 398, 456], circuit layout and placement 11, 36, 47, 97,
112, 134, 234, 494], scheduling and highlevel synthesis 48, 325, 409],
pin assignment 45, 455], oorplanning 418, 503], interconnection analysis 141, 142], routing 1, 71, 131, 132, 233, 335, 407, 444, 448, 470],
compaction 68, 140, 245, 306, 326, 346, 463, 480, 527], performance
optimization 300, 317, 366, 453, 503], testing and test generation 136,
280, 328, 146, 419], and veri cation 315, 505, 516]. Please also see: Jun
Gu, Satis ability Problems in VLSI Engineering 217], 1996.
Computer architecture design: instruction set optimization 4, 114, 205,
283, 436, 440], computer controller optimization 27, 33, 307, 358, 435,
441], arithmetic logic circuit design 77], compiler system optimization 7,
345], scheduling 37, 137, 186, 187, 231, 338], faulttolerant computing
24, 261, 20], task partitioning and assignment 39, 40, 111, 276, 481],
load balancing 349, 395, 560], real time systems 255, 282, 318, 497,
498, 507], data ow consistency analysis 7], data module assignment in
memory system 7], and parallel and distributed processing 443, 468].
Highspeed networking: contact the authors.
Communications: contact the authors.
Security: contact the authors.
In other areas such as industrial (chemical, transportation, construction, nuclear)
engineering, management, medical research, social sciences, there are numerous
SAT /CSP applications.
108
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
15. Future Work
A number of future research directions for the satis ability problem have been
discussed recently. They are further emphasized in the 1996 DIMACS satis ability
workshop.
General Boolean Expressions and Evaluation. Many practical application problems are expressed as Boolean satis ability problems by a compact set of
general Boolean functions. Although the transformation of a general Boolean expression into CNF can be done in polynomial time, it will result in a substantially
larger clauseform representation 192, 415]. While this may not be critical in
complexity theory, it will have serious impact on the time to solve these problems.
To this end, e cient representation and manipulation of general Boolean functions
is crucial to solving practical application problems.
Theoretical Issues. Recent research on SAT has brought up some interesting
theoretical problems, such as the average time complexity analysis 25, 212, 229,
269, 365, 423], determining satis ableunsatis able boundary 109, 309, 383],
global convergence and local convergence rate 214, 218], and the structure and
hardness of input models 102, 170, 196]. Some of the problems, e.g., the average
time complexity analysis, are extremely di cult 337]. So far only some preliminary
e orts based on simpli ed assumptions were given 49, 221, 214, 218].
One of the recent e orts to solve SAT formulas is to nd subclasses for which
the problem is solvable in polynomial time 153, 184]. Future work in this direction
aims at building hierarchies of formulae classes, analyzing the properties of such
hierarchies, and qualitative evaluation of the hierarchies.
SAT Algorithm Development. The development of new algorithms and
improved techniques for satis ability testing has been a longterm e ort of the
research community and the industry. From computation/e ciency point of view,
speci c data structures and implementation details of SAT algorithms are crucial.
The algorithm space shows a number of asymmetrical and irregular places, implying
further opportunity for new SAT algorithm development.
From an experimental point of view, it is di cult to nd a super algorithm
that performs well for a wide range of SAT instances. Existing SAT algorithms
complement rather than exclude each other by being e ective for particular problem
instances. One of the future directions is to continue the development of the MultiSAT algorithm, integrating di erent algorithms using a cluster of computers 220]
(Section 11.8). Computer hardware and memory space are becoming increasingly
inexpensive. If one can trade hardware for improved performance, it can show a
promising approach (in fact, trading memory space for speed was a basic design
philosophy behind the RISC computer architectures).
For important practical applications, there may be signi cant problem domain
information. E cient SAT algorithms may be developed by exploring input and
applicationspeci c structures (Section 11.5). Specialized algorithms tailored to
particular applications, on the other hand, do provide key insights to general satis ability testing.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
109
Practical Application Case Study. It has been recognized by SAT researchers that practical application problems are the driving forces for SAT research; they are the ultimate benchmarks to test SAT algorithms. This direction
was further addressed by the NSF, the advisory committee, and the organizing
committee of the 1996 DIMACS Satis ability workshop 147, 289, 290]. There
has been a strong relationship between theory, algorithms, and applications of SAT.
A major step in the future is to bring together theorists, algorithmists, and practitioners working on SAT and on industrial applications involving SAT, enhancing the interaction between the three research groups. It would be bene cial to
research community and to industry if we can apply theoretical and algorithmic
results on SAT to practical problems, while taking these practical problems for
further theoretical/algorithmic study. In addition to theoretical/algorithmic study,
in the future, we will also further concentrate on signi cant industrial case studies
of SAT, practical applications of SAT algorithms, and practical and industrial SAT
benchmarks.
Parallel Algorithms and Architectures. Implementing an algorithm on
VLSI hardware architectures is a common practice to speed up algorithm execution.
Not only does it o er faster execution speed, certain sequential portions of the
algorithm may be implemented in hardware architectures in parallel form. For SAT
per se, it has certain granularity at the search tree level, clause level, and variable
level that lend itself well to parallel processing. A number of parallel algorithms and
architectures for solving SAT have been developed and have been found to perform
well at di erent levels of granularity. Two basic approaches have been taken in
this direction: implementing parallel SAT inference algorithms on specialpurpose
VLSI chips 226, 227], and implementing tightlycoupled, parallel SAT algorithms
on existing sequential computer machines 207, 212, 212, 493, 492].
Algorithm Engineering Approach. Aho, Johnson, Karp, Kosaraju, McGeoch, Papadimitriou, and Pevzner have recently proposed an algorithm engineering approach for the experimental testing of algorithms 8]. They believe that
\Within theoretical computer science algorithms are usually studied within highly
simpli ed models of computation and evaluated by metrics such as their asymptotic worstcase running time or their competitive ratio. These metrics can be
indicative of how algorithms are likely to perform in practice, but they are not
su ciently accurate to predict actual performance. The situation can be improved
by using models that take into account more details of system architecture and
factors such as data movement and interprocessor communication, but even then
considerable experimentation and netuning is typically required to get the most
out of a theoretical idea. E orts must be made to ensure that promising
algorithms discovered by the theory community are implemented, tested
and re ned to the point where they can be usefully applied in practice."
16. Conclusions
The SAT problem is at the core of the class of NPcomplete problems and has
many practical applications. In recent years, many optimization methods, parallel
110
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
algorithms, and practical techniques have been developed for solving the SAT problem. The past two decades have seen the proliferation of many SAT algorithms: resolution, local search, global optimization, BDD SAT solver, and multispace search,
among others. Existing methods complement rather than exclude each other by
being e ective for particular instances of SAT. In this survey, we present a general
algorithm space that integrates existing SAT algorithms into a uni ed perspective.
We describe several major classes of SAT algorithms with the emphasis on introducing recent advances in SAT algorithms. We gave performance evaluation of
some existing SAT algorithms. This survey also provides a set of practical applications of SAT. The area of SAT research is a rich land of welldeveloped theory and
methods. To apply theoretical/algorithmic results to practical problems seems the
ultimate way to test and benchmark SAT algorithms. Not only will the end results
of such an endeavor have a major scienti c/industrial impact, but in the process it
will push optimization technology to its limit.
Acknowledgments
The authors are grateful to many people for their help in preparing this article. Moshe Vardi suggested that this survey be written for the 1996 DIMACS
satis ability workshop. Bob Johnson, Steve Cook, David Johnson, and Christos Papadimitriou have provided valuable comments to this article. We thank
for DingZhu Du, Panos Pardalos, Mauricio Resende, Craig Rushforth, Alasdair
Urquhart, Andy Sage, Vaughan Pratt, Ranan Banerji, Lewis Johnson, Endre Boros,
Peter Hammer, R.C.T. Lee, David Plaisted, Jinchang Wang, R.E. Stearns, Sandeep
Shukla, Daniel Rosenkrantz, Harry B. Hunt III, Ming Li, Xiaotie Deng, Frank Hsu,
M.V. Marathe, Dennis Kibler, Vladimir Gurvich, Leonid Khachiyan, Katta Murty,
Stephen Vavasis, David Yau, Scott Kirkpatrick, Fred Glover, Pierre Hansen, Allen
Van Gelder, John Schlipf, Randy Bryant, Bart Selman, David Mitchell, Henry
Kautz, John Mitchell, Jieh Hsiang, Guojie Li, Wen Gao, Wei Li, Anthony Vannelli,
Rina Dechter, James Crawford, Vipin Kumar, Qianping Gu, Wei Wang, Ruchir
Puri, Bin Du, Peter Vanbekbergen, Ewald Speckenmeyer, Kazuo Iwama, Giorgio
Gallo, Olivier Dubois, H. Kleine Buning, Oliver Kullmann, Ingo Schiermeyer, Henri
Morel, Hans Maaren, Philip C. Jackson, Max Bohm, Peter Heusch, Theo Lettmann,
D. Pretolani, Cosimo Spera, Ian Gent, Toby Wals, Roberto Battiti, Marco Protasi,
Lefteris Kirousis, Arne Lokketangen, and Chen Guo Liang, for their insightful comments on various early versions of this survey.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
References
111
1] L. Abel. On the order of connections for automaticwire routing. IEEE Trans. on Computers,
pages 1227{1233, Nov. 1972.
2] B. Abramson and M. Yung. Divide and conquer under global constraints: A solution to the
nqueens problem. Journal of Parallel and Distributed Computing, 6:649{662, 1989.
3] Leonard M. Adleman Molecular Computation of Solutions to Combinatorial Problems Science, 266:1021{1024, 1994.
4] T. Agerwala. Microprogram Optimization : A Survey. IEEE Trans. on Computers, C25:962{973, Oct. 1976.
5] A.V. Aho, J.E. Hopcroft, and J.D. Ullman. The Design and Analysis of Computer Algorithms. AddisonWesley, Reading, 1974.
6] A.V. Aho, J.E. Hopcroft, and J.D. Ullman. Data Structures and Algorithms. AddisonWesley, Reading, 1985.
7] A.V. Aho, R. Sethi, and J.D. Ullman. Compilers. AddisonWesley, Reading, 1986.
8] A.V. Aho, D.S. Johnson, R.M. Karp, S.R. Kosaraju, C.C. McGeoch, C.H. Papadimitriou,
and P. Pevzner, Theory of computing: Goals and directions, March 15, 1996.
9] S.B. Akers. Binary decision diagrams. IEEE Transactions on Computers, C27(6):509{516,
Jun. 1978.
10] W. Ahrens. Mathematische Unterhaltungen und Spiele (in German). B.G. Teubner (Publishing Company), Leipzig, 19181921.
11] S.B. Akers. On the use of the linear assignment algorithm in module placement. In Proc. of
the 18th ACM/IEEE Design Automation Conference, pages 137{144, 1981.
12] J. Aloimonos. Visual shape computation. Proceedings of the IEEE, 76:899{916, Aug. 1988.
13] J. A. Anderson and G. E. Hinton. Models of Information Processing in the Brain. In G.
E. Hinton and J. A. Anderson, editors, Parallel Models of Associative Memory, chapter 1,
pages 9{48. Lawrence Erlbaum Associates, Publishers, Hillsdale, New Jersey, 1981.
14] J.A. Anderson and E. Rosenfeld, editors. Neurocomputing: Foundations of Research. MIT
Press, Cambridge, 1988.
15] S. Arora, C. Lund, R. Motwani, M. Sudan, and M. Szegedy. Proof veri cation and hardness
of approximation problems. In Proceedings 33rd IEEE Symposium on the Foundations of
Computer Science, pages 14{23, 1992.
16] K. J. Arrow and L. Hurwicz. Gradient method for concave programming, I: Local results.
In K. J. Arrow, L. Hurwica, and H. Uzawa, editors, Studies in Linear and Nonlinear Programming. Stanford University Press, Stanford, CA, 1958.
17] P. Ashar, A. Ghosh, and S. Devadas. Boolean satis ability and equivalence checking using
general Binary Decision Diagrams. Integration, the VLSI journal, 13:1{16, 1992.
18] B. Aspvall, M.F. Plass, and R.E. Tarjan. A lineartime algorithm for testing the truth of
certain quanti ed Boolean formulas. Information Processing Letters, 8(3):121{132, Mar.
1979.
19] B. Aspvall. Recognizing disguised NR(1) instances of the satis ability problem. Journal of
Algorithms 1, pages 97{103, 1980.
20] A. Bagchi, B. Servatius, and W. Shi. Fault tolerance in massively parallel computers. Presented in the 3rd International Symposium on AI & Mathematics, Jan. 1994.
21] H. Baird. Anatomy of a versatile page reader. Proceedings of the IEEE, 80(7):1059{1065,
Jul. 1992.
22] D. H. Ballard and C. M. Brown. Computer Vision. PrenticeHall, Englewood Cli s, New
Jersey, 1982.
23] P. Banerjee, M.H. Jones, and J.S. Sargent. Parallel simulated annealing algorithms for cell
placement on hypercube multiprocessors. IEEE Trans. on Parallel and Distributed Systems,
1(1):91{106, Jan. 1990.
24] A.E. Barbour. Solutions to the minimization problem of faulttolerant logic circuits. IEEE
Trans. on Computers, 41(4):429{443, Apr. 1992.
25] S. BenDavis, B. Chor, O. Goldreich, and M. Luby. On the theory of average case complexity.
J. of Computer and Systems Sciences, 44:193{219, 1992.
26] A. BenTal, G. Eiger, and V. Gershovitz. Global minimization by reducing the duality gap.
Mathematical Programming, 63:193{212, 1994.
27] R. G. Bennetts. An Improved Method for Prime CClass Derivation in the State Reduction
of Sequential Networks. IEEE Trans. on Computers, C20:229{231, Feb. 1971.
112
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
28] A. Beringer, G. Aschemann, H.H. Hoos, M. Metzger, and A. Wei. GSAT versus simulated
annealing. In Proceedings of ECAI'94, pages 130{134, 1994.
29] K. Berman, J. Franco, and J. Schlipf. Unique satis ability for Horn sets can be solved in
nearly linear time. Proc. Seventh Advanced Research Institute in Discrete Applied Mathematics (ARIDAM), New Brunswick, New Jersey, May, 1992. In Discrete Applied Mathematics 60:77{91, 1995.
30] B. Bernhardsson. Explicit solutions to the nqueens problems for all n. ACM SIGART
Bulletin, 2(2):7, Apr. 1991, ACM Press.
31] P.A. Berstein, V. Hadzilacos, and N. Goodman. Concurrency Control and Recovery in
Database Systems. AddisonWesley Publication, 1987.
32] Wolfgang Bibel. Automated theorem proving. Vieweg, 1982.
33] N. N. Biswas. State Minimization of Incompletely Speci ed Sequential Machines. IEEE
Trans. on Computers, C23:80{84, Jan. 1974.
34] J. R. Bitner and E. M. Reingold. Backtrack programming techniques. Comm. of ACM,
18(11):651{656, Nov. 1975.
35] C.E. Blair, R.G. Jeroslow, and J.K. Lowe. Some results and experiments in programming
techniques for propositional logic. Computers and Operations Research, 5:633{645, 1986.
36] J.P. Blanks. Nearoptimal placement using a quadratic objective function. In Proc. of the
22th ACM/IEEE Design Automation Conference, pages 609{615, 1985.
37] J. Blazewicz. Scheduling dependent tasks with di erent arrival times to meet deadlines. In
Proc. of the International Workshop on Modeling and Performance Evaluation of Computer
Systems, pages 57{65, 1976.
38] M. Bohm and E. Speckenmeyer. A fast parallel SATsolver  e cient workload balancing.
Presented in the 3rd International Symposium on AI & Mathematics, Jan. 1994. To appear
in Annals of Mathematics and Arti cial Intelligence.
39] S. H. Bokhari. Partitioningproblems in parallel, pipelined, and distributed computing. IEEE
Trans. on Computers, 37(1):48{57, Jan 1988.
40] F. Bonomi. On job assignment for a parallel system of processor sharing queues. IEEE
Trans. on Computers, 39(7):858{869, July 1990.
41] E. Boros, P.L. Hammer, and A. Kogan. Computational experiments with an exact SAT
solver. Presented in the 3rd International Symposium on AI & Mathematics, Jan. 1994.
42] E. Boros, Y. Crama, P. L. Hammer. Polynomialtime inference of all valid implications for
Horn and related formulae. Annals of Mathematics and Arti cial Intelligence 1, pages 21{
32, 1990.
43] E. Boros, P. L. Hammer, and X. Sun. Recognitionof qHorn formulae in linear time. Discrete
Applied Mathematics 55, pages 1{13, 1994.
44] E. Boros, Y. Crama, P. L. Hammer, and M. Saks. A complexity index for satis ability
problems. SIAM Journal on Computing 23, pages 45{49, 1994.
45] H.N. Brady. An approach to topological pin assignment. IEEE Trans. on CAD, Vol. 3, pp.
250{255, July 1984.
46] M. Brady, J.M. Hollerbach, T.L. Johnson, T. LozanoPerez, and M.T. Mason, editors. Robot
Motion: Planning and Control. The MIT Press, Cambridge, 1982.
47] M.A. Breuer. Mincut placement. J. of Design Automation and Fault Tolerant Computing,
1:343{362, 1976.
48] F. Brewer and D. Gajski. Chippe: A system for constraint driven behavioral synthesis. IEEE
Trans. on CAD, 9(7):681{695, July 1990.
49] A.Z. Broder, A.M. Frieze, and E. Upfal. On the satis ability and maximum satis ability of
random 3CNF formulas. In Proceedings of the Fourth Annual ACMSIAM Symposium on
Discrete Algorithms, pages 322{330, 1993.
50] M.J. Brooks and B.K.P. Horn. Shape and source from shading. In Proc. of IJCAI'85, pages
932{936, Aug. 1985.
51] C.A. Brown, L.A. Finklestein, and P.W. Purdom. Backtrack Searching in the Presence
of Symmetry. 6th International Conference on Algebraic Algorithms and Error Correcting
Codes (AAECC), Lecture Notes in Computer Science, Vol. 357, pp. 99110.
52] C.A. Brown, L.A. Finklestein, and P.W. Purdom. Backtrack Searching in the Presence of
Symmetry. Nordic Journal of Computing, to appear.
53] C.A. Brown and P.W. Purdom. An average time analysis of backtracking. SIAM J. on
Computing, 10(3):583{593, Aug. 1981.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
113
54] C.A. Brown and P.W. Purdom. An empirical comparison of backtracking algorithms. IEEE
Trans. on Pattern Analysis and Machine Intelligence, PAMI4(3):309{316, May 1982.
55] B. Bruderlin. Constructing three dimensional geometric objects de ned by constraints. In
Proceedings of 1986 ACM SIGGRAPH Workshop in Interactive Graphics, 1986.
56] M. Bruynooghe. Solving combinatorial search problems by intelligent backtracking. Information Processing Letters, 12(1):36{39, 1981.
57] M. Bruynooghe. Graph coloring and constraint satisfaction. Technical Report CW 44, Dept.
of Computer Science, Katholieke Universiteit Leuven, Dec. 1985.
58] M. Bruynooghe and L.M. Pereira. Deduction Revision by Intelligent Backtracking, pages
194{215. Ellis Horwood Limited, 1984.
59] R.E. Bryant. Graphbased algorithms for Boolean function manipulation. IEEE Trans. on
Computers, C35(8):677{691, Aug. 1986.
60] R.E. Bryant. Symbolic Boolean manipulation with ordered binarydecision diagrams. ACM
Computing Surveys, 24(3):293{318, Sept. 1992.
61] R.E. Bryant. Binary Decision Diagrams Applied to SAT and Related Problems. Presented
at 1996 DIMACS Workshop on Satis ability Problem: Theory and Applications. March 11,
1996.
62] H. Kleine Buning. On generalized Horn formulas and k resolution. Theoretical Computer
Science 116, pages 405{413, 1993.
63] H. Kleine Buning and T. Lettmann. Aussagenlogik: Deduktion und Algorithmen. B.G.
Teubner, Stuttgart, 1993. English version to appear in 1996.
64] K. Bugrara and P. Purdom. Clause order backtracking. Technical Report 311, 1990.
65] K.M. Bugrara and C.A. Brown. On the average case analysis of some satis ability model
problems. Information Sciences, 40:21{37, 1986.
66] K.M. Bugrara, Y.F. Pan, and P. Purdom. Exponential average time for the pure literal rule.
SIAM J. on Computing, 18:409{418, 1989.
67] A. Bundy, editor. Catalogue of Arti cial Intelligence Tools. SpringerVerlag, Berlin, 1984.
68] J.L. Burns and A.R. Newton. E cient constraint generation for hierarchical compaction. In
Proc. Int'l Conf. on Computer Design, pages 197{200. IEEE Computer Society, Oct. 1987.
69] M. Buro and H.K. Buning. Report on a SAT competition. Technical report, FB17 
Mathematik/Informatik, Universitat Paderborn, Nov. 1992.
70] M. Buro and H.K. Buning. Report on a SAT competition. Bulletin of the European Association for Theoretical Computer Science, 49:143{151, Feb. 1993.
71] M. Burstein and R. Pelavin. Hierarchical channel router. In Proc. of the 20th ACM/IEEE
Design Automation Conference, pages 591{597, Jun. 1983.
72] G. Butler. Computing in Permutation and Matrix Groups II: Backtrack Algorithm.
Math. Comp. 39: 671{680, 1982.
73] G. Butler and C.W.H. Lam. A General Backtracking Algorithm for the Isomorphism Problem of Combinatorial Objects. J. Symbolic Computation 1:363381, 1985.
74] V. Cerny. Thermodynamical approach to the traveling salesman problem: An e cient simulation algorithm. Journal of Optimization Theory and Applications, 45:41{51, 1985.
75] S. Chakradhar, V. Agrawal, and M. Bushnell. Neural net and Boolean satis ability model
of logic circuits. IEEE Design & Test of Computers, pages 54{57, Oct. 1990.
76] I. Chakravarty. A generalized line and junction labeling scheme with applications to scene
analysis. IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI1(2):202{205,
Apr. 1979.
77] P.K. Chan, M.D.F. Schlag, C.D. Thomborson, and V.G. Oklobdzija. Delay optimization of
carryskip adders and block carrylookahead adders using multidimensional dynamic programming. IEEE Trans. on Computers, 41(8):920{930, Aug. 1992.
78] A.K. Chandra and P.M. Merlin. Optimal implementation of conjunctive queries in relational
databases. In Proceedings of the 9th ACM Symposium on Theory of Computing, pages 77{
90, 1977.
79] V. Chandru and J. N. Hooker. Extended Horn sets in propositional logic. J. ACM 38,
pages 205{221, 1991.
80] Y. Chang and B. W. Wah. Lagrangian techniques for solving a class of zeroone integer
linear programs. In Proc. Computer Software and Applications Conf., 1995.
114
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
81] Y.J. Chang and B. W. Wah. Lagrangian techniques for solving a class of zeroone integer
linear programs. In Proc. Computer Software and Applications Conference, pages 156{161,
Dallas, TX, August 1995. IEEE.
82] M.T. Chao and J. Franco. Probabilistic analysis of two heuristics for the 3satis ability
problem. SIAM J. on Computing, 15:1106{1118, 1986.
83] M. T. Chao and J. Franco. Probabilistic analysis of a generalization of the unitclause literal
selection heuristics for the k satis able problem. Information Sciences, 51:289{314, 1990.
84] R. Chandrasekaran. Integer programming problems for which a simple rounding type of
algorithm works. In W. Pulleyblank, ed. Progress in Combinatorial Optimization. Academic
Press Canada, Toronto, Ontario, Canada, pages 101106, 1984.
85] H.R. Charney and D.L. Plato. E cient partitioning of components. In Proc. of the 5th
Annual Design Automation Workshop, pages 16{21, 1968.
86] V. Chvatal and E. Szemeredi. Many hard examples for resolution. J. of ACM, 35:759{770,
1988.
87] W.T. Chen and L.L. Liu. Parallel approach for theorem proving in propositional logic.
Inform. Sci., 41(1):61{76, 1987.
88] R. T. Chin and C. R. Dyer. Modelbased recognition in robot vision. ACM Computing
Surveys, 18(1):67{108, Mar. 1986.
89] TamAnh Chu. Synthesis of SelfTimed VLSI Circuits from Graphtheoretic Speci cations.
PhD thesis, Dept. of Electrical Engineering and Computer Science, MIT, June 1987.
90] Y. Chu, editor. Special Section on Chinese/Kanji Text and Data Processing. IEEE Computer, volume 18, number 1. IEEE Computer Society Press, 1985.
91] V. Chvatal and B. Reed. Mick gets some (the odds are on his side). In Proceedings on the
Foundations of Computer Science, 1992.
92] A. Cichocki and R. Unbehauen. Switchedcapacitor arti cial neural networks for nonlinear
optimization with constraints. In Proc. of 1990 IEEE Int'l Symposium on Circuits and
Systems, pages 2809{2812, 1990.
93] J. Cleary. Logical arithmetic. Future Computing Systems, 2(2), 1987.
94] W. F. Clocksin and C. S. Mellish. Programming in Prolog (2nd Edition). SpringerVerlag,
Berlin, 1984.
95] M.B. Clowes. On seeing things. Arti cial Intelligence, 2:79{116, 1971.
96] J. Cohen, editor. Special Section on Logic Programming. Comm. of the ACM, volume 35,
number 3. 1992.
97] J.P. Cohoon and W.D. Paris. Genetic placement. In Digest of the Int'l Conf. on ComputerAided Design, pages 422{425, 1986.
98] A. Colmerauer. Opening the Prolog III universe. BYTE Magazine, pages 177{182, Aug.
1987.
99] J.S. Conery. Parallel Execution of Logic Programs. Kluwer Academic Publishers, Boston,
1987.
100] M. Conforti, G. Cornuejols, A. Kapoor, K. Vuskovic, and M. R. Rao. Balanced Matrices. Mathematical Programming: State of the Art. J. R. Birge and K. G. Murty, eds.
BraunBrum eld, United States. Produced in association with the 15th Int'l Symposium on
Mathematical Programming, University of Michigan, 1994.
101] S.A. Cook. The complexity of theoremprovingprocedures. In Proceedings of the Third ACM
Symposium on Theory of Computing, pages 151{158, 1971.
102] S.A. Cook. Find hard instances of the satis ability problem. Presented at the 1996 DIMACS
Workshop on Satis ability Problem: Theory and Applications. March 11, 1996.
103] P. R. Cooper and M. J. Swain. Parallelism and domain dependence in constraint satisfaction.
Technical Report TR 255, Dept. of Computer Science, Univ. of Rochester, Dec. 1988.
104] T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. MIT Press,
Cambridge, 1990.
105] D.G. Corneil and D.G. Kirkpatrick. A theoretical analysis of various heuristics for the graph
isomorphism problem. SIAM J. on Computing, 9(2):281{297, 1980.
106] Y. Crama, P. L. Hammer, B. Jaumard, and B. Simeone. Product form parametric
representation of the solutions to a quadratic boolean equation. R.A.I.R.O. Recherche
operationnelle/Operations Research 21:287{306, 1987.
107] Y. Crama, P. Hansen, and B. Jaumard. The basic algorithm for pseudoboolean programming revisited. Discrete Applied Mathematics 29:171{185, 1990.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
115
108] J.M. Crawford and L.D. Auton. Experimental results on the crossover point in satis ability
problem. In Proc. of AAAI'93, pages 21{27, Aug. 1993.
109] J. Crawford and L. Auton. Experimental results on the crossover point in satis ability
problems. Presented in the 3rd International Symposium on AI & Mathematics, Jan. 1994.
110] J.M. Crawford. Solving satis ability problems using a combination of systematic and local
search. Submitted to the DIMACS Challenge II Workshop, 1994.
111] Z. Cvetanovic. The e ects of problem partitioning, allocation, and granularity on the performance of multipleprocessor systems. IEEE Trans. on Computers, C36(4):421{432, Apr
1987.
112] W. Dai and E.S. Kuh. Hierarchical oorplanning for building block layout. In Digest of Int'l
Conf. on ComputerAided Design, pages 454{457, 1986.
113] M. Dalal, and D. W. Etherington. A hierarchy of tractable satis ability problems. Information Processing letters 44, pages 173{180, 1992.
114] S. R. Das, D. K. Banerji, and A. Chattopadhyay. On Control Memory Minimization in
Microprogrammed Digital Computers. IEEE Trans. on Computers, C22:845{848, Sept.
1973.
115] L. S. Davis. Shape matching using relaxation techniques. IEEE Trans. on Pattern Analysis
and Machine Intelligence, PAMI1(1):60{72, Jan. 1979.
116] L. S. Davis and T. C. Henderson. Hierarchical constraint processes for shape analysis. IEEE
Trans. on Pattern Analysis and Machine Intelligence, PAMI3(3):265{277, May 1981.
117] M. Davis, G. Logemann, and D. Loveland. A machine program for theorem proving. Communications of the ACM, 5:394{397, 1962.
118] M. Davis and H. Putnam. A computing procedure for quanti cation theory. J. of ACM,
7:201{215, 1960.
119] J. de Kleer. An assumptionbased TMS. Arti cial Intelligence, 28:127{162, 1986.
120] J. de Kleer. Problems with ATMS. Arti cial Intelligence, 28:197{224, 1986.
121] J. de Kleer. A comparison of ATMS and CSP techniques. In Proceedings of 11th IJCAI,
pages 290{296, 1989.
122] J. de Kleer. Exploiting locality in a TMS. In Proceedings of AAAI'90, pages 264{271, 1990.
123] R. Dechter. Learning while searching in constraint satisfaction problems. In Proceedings of
AAAI'86, 1986.
124] R. Dechter. A constraintnetwork approach to truth maintenance. Technical Report R870009, Computer Science Dept., UCLA, Los Angeles, 1987.
125] R. Dechter. Enhancement schemes for constraint processing: Backjumping, learning and
cutset decomposition. Arti cial Intelligence, 41(3), 1990.
126] R. Dechter. Directional resolution: The DavisPutnam procedure revisited. Presented in the
3rd International Symposium on AI & Mathematics, Jan. 1994.
127] R. Dechter and A. Dechter. Belief maintenance in dynamic constraint networks. In Proceedings of AAAI'88, 1988.
128] R. Dechter and J. Pearl. Networkbased heuristics for constraintsatisfaction problems. Arti cial Intelligence, 34:1{38, 1988.
129] J.S. Denker, editor. Neural Networks for Computing, volume 151 of AIP (Snowbird, Utah)
Conference Proceedings. American Institute of Physics, New York, 1986.
130] N. Dershowitz, J. Hsiang, N. Josephson, and D. Plaisted. Associativecommutativerewriting.
In Proceedings of IJCAI, pages 940{944, 1983.
131] D.N. Deutsch. A 'dogleg' channel router. In Proc. of the 13th ACM/IEEE Design Automation Conference, pages 425{433, Jun. 1976.
132] D.N. Deutsch. Compacted channel routing. In Digest Int'l Conf. on ComputerAided Design,
pages 223{225, Nov. 1985.
133] J. P. A. Deutsch. A short cut for certain combinational problems. In British Joint Comput.
Conference, 1966.
134] S. Devadas. Optimal layout via Boolean satis ability. In Proceedings of ICCAD'89, pages
294{297, Nov. 1989.
135] S. Devadas, K. Keutzer, and J. White. Estimation of power dissipation in CMOS combinational circuits using Boolean function manipulation. IEEE Transactions on CAD, 11(3):373{
383, Mar. 1992.
116
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
136] S. Devadas, H.T. Ma, A.R. Newton, and A.S. Vincentelli. A synthesis and optimization procedure for fully and easily testable sequential machines. IEEE Trans. on CAD, 8(10):1100{
1107, Oct. 1989.
137] S.K. Dhall and C.L. Liu. On a realtime schedulingproblem. Operations Research, 26(1):127{
140, Feb. 1978.
138] V. Dhar and A. Crocker. A problemsolver/TMS architecture for general constraint satisfaction problems. Technical report, Dept. of Information Systems, New York University,
1989.
139] M. Dincbas, H. Simonis, and P.V. Hentenryck. Solving a cuttingstock problem in constraint
logic programming. In Proceedings of the 5th International Conference on Logic Programming, 1988.
140] J. Doenhardt and T. Lengauer. Algorithm aspects of onedimensional layout. IEEE Trans.
on CAD, CAD6(5):863{878, 1987.
141] W.E. Donath. Placement and average interconnection lengths of computer logic. IEEE
Trans. on Circuits and Systems, CAS26(4):272{277, Apr. 1979.
142] W.E. Donath. Wire length distribution for placementsof computerlogic. IBM J. of Research
and Development, 25(3):152{155, May 1981.
143] W.E. Donath and A.J. Ho man. Algorithms for partitioning of graphs and computer logic
based on eigenvectors of connection matrices. IBM Technical Disclosure Bulletin 15, pages
938{944, 1972.
144] W. F. Dowling and J. H. Gallier. Lineartime algorithms for testing the satis ability of
propositional Horn formulae. Journal of Logic Programming 1, pages 267{284, 1984.
145] J. Doyle. A truth maintenance system. Arti cial Intelligence, 12:231{272, 1979.
146] B. Du and J. Gu. Sequential circuit test generation by Boolean satis ability.1996, to appear.
147] D.Z. Du, J. Gu, and P.M. Pardalos, editors. The Satis ability (SAT) Problem. DIMACS
Volume Series on Discrete Mathematics and Theoretical Computer Science, American Mathematical Society, 1996.
148] O. Dubois. Counting the number of solutions for instances of satis ability. Theoretical Computer Science, 81:49{64, 1991.
149] O. Dubois and J. Carlier. Probabilistic approach to the satis ability problem. Theoretical
Computer Science, 81:65{75, 1991.
150] O. Dubois and Y. Boufkhad. Analysis of the space of solutions for random instances of
the satis ability problem. Proceedings of the fourth International Symposium on Arti cial
Intelligence and Mathematics, Ft. Lauderdale, Florida, p. 175, 1996.
151] O. Dubois, P. Andre, Y. Boufkhad, and J. Carlier. SAT versus UNSAT. DIMACS Series
Volume: Clique, Graph Coloring, and Satis ability  Second DIMACS Implementation
Challenge. Editors: D.S. Johnson and M.A. Trick, 26, American Mathematical Society,
1996.
152] C. Eastman. Preliminary report on a system for general space planning. Comm. of ACM,
15(2):76{87, Feb. 1972.
153] T. Eiter, P. Kilpelainen, and H. Mannila. Some remarks on renaming and satis ability
hierarchies. Summary Presented in the 3rd International Symposium on AI & Mathematics,
Jan. 1994.
154] K.P. Eswaran, J.N. Gray, R.A. Lorie, and I.L. Traiger. The notion of consistency and predicate look in a database system. Comm. of ACM, 19(11), Nov. 1976.
155] S. Even, A. Itai, and A. Shamir. On the complexity of timetable and multicommodity ow
problems. SIAM J. on Computing, 5(4):691{703, 1976.
156] B.J. Falkowski and L. Schmitz. A note on the queens' problem. Information Processing
Letters, Vol. 23:39{46, July 1986.
157] M.Y. Fang and W.T. Chen. Vectorization of a generalized procedure for theorem proving in
propositional logic on vector computers. IEEE Trans. on Knowledge and Data Engineering,
4(5):475{486, Oct. 1992.
158] O. Faugeras and K. Price. Semantic description of aerial images using stochastic labeling.
IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI3(6):633{642, Nov. 1981.
159] O. D. Faugeras, editor. Fundamentals in Computer Vision. Cambridge University Press,
London, 1983.
160] J. A. Feldman and Y. Yakimovsky. Decision theory and arti cial intelligence: I. a semanticsbased region analyzer. Arti cial Intelligence, 5:349{371, 1974.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
117
161] J. D. Findler. Associative Networks: Representation and Use of Knowledge by Computers.
Academic Press, New York, 1979.
162] C.A. Floudas and P.M. Pardalos. A Collection of Test Problems for Constrained Global
Optimization Algorithms. Springer Verlag, New York, 1990.
163] C.A. Floudas and P.M. Pardalos, editors. Recent Advances in Global Optimization. Princeton University Press, New York, 1992.
164] M.S. Fox. ConstraintDirected Search: A Case Study of JobShop Scheduling. Pitman, London, 1987.
165] J. Franco. On the probabilistic performance of algorithms for the satis ability problem.
Information Processing Letters, 23:103{106, 1986.
166] J. Franco. Elimination of infrequent variables improves average case performance of satis ability algorithms. SIAM J. on Computing, 20:1119{1127, 1991.
167] J. Franco and Y.C. Ho. Probabilistic performance of heuristic for the satis ability problem.
Discrete Applied Mathematics, 22:35{51, 1988/89.
168] J. Franco and M. Paull. Probabilistic analysis of the DavisPutnam procedure for solving
the satis ability problem. Discrete Applied Mathematics, 5:77{87, 1983.
169] J. Franco. 1993. On the occurrence of null clauses in random instances of satis ability.
Discrete Applied Mathematics 41, pp. 203{209.
170] J. Franco and R. Swaminathan. Toward a good algorithm for determining unsatis ability of
propositional formulas. 1996.
171] J. Franco, and R. Swaminathan. 1996. Average case results for Satis ability algorithms
under the randomclausewidth model. To appear in Annals of Mathematics and Arti cial
Intelligence.
172] J. Franco, J. Goldsmith, J. Schlipf, E. Speckenmeyer, R. P. Swaminathan. 1996. An algorithm for the class of pure implicational formulas. Proceedings of the Workshop on Satis ability, Siena, Italy.
173] R.T. Frankot and R. Chellappa. A method for enforcing integrability in shape from shading
algorithms. IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI10(4):439{
451, Jul. 1988.
174] F. Frayman and S. Mittal. Cossack: A Constraintsbased Expert System for Con guration
Tasks. Computational Mechanics Publications, Nadel, 1987.
175] J.W. Freeman. Improvements to the davisputnam procedure for satis ability. Jan. 1994.
176] E. C. Freuder. A su cient condition for backtrackfree search. J. ACM, 29(1):24{32, Jan.
1982.
177] E. C. Freuder. A su cient condition for backtrackbounded search. J. ACM, 32(4):755{761,
Oct. 1985.
178] E.C. Freuder and M.J. Quinn. Taking advantage of stable sets of variables in constraint
satisfaction problems. In Proceedings of 9th IJCAI, pages 1076{1078, 1985.
179] A. M. Frieze, and S. Suen. 1993. Analysis of simple heuristics for random instances of 3SAT.
180] T. W. Fuqua. Constraint kernels: Constraints and dependencies in a geometric modeling
system. Master's thesis, Dept. of Computer Science, Univ. of Utah, Aug. 1987.
181] Z. Galil. On the complexity of regular resolution and the DavisPutnam procedure. Theoretical Computer Science, pages 23{46, 1977.
182] G. Gallo, and M. G. Scutella. Polynomially solvable satis ability problems. Information
Processing Letters 29, pages 221{227, 1988.
183] G. Gallo and G. Urbani. Algorithms for testing the satis ability of propositional formulae.
J. of Logic Programming, 7:45{61, 1989.
184] G. Gallo and D. Pretolani. Hierarchies of polynomially solvable SAT problems. Presented
in the 3rd International Symposium on AI & Mathematics, Jan. 1994.
185] H. GarciaMolina. Using semantic knowledge for transaction processing in a distributed
database. ACM Trans. on Database Systems, 8(2), Jun. 1983.
186] M.R. Garey and D.S. Johnson. Complexity results for multiprocessor scheduling under resource constraints. SIAM J. Comput., 4:397{411, 1975.
187] M.R. Garey and D.S. Johnson. Twoprocessors scheduling with starttimes and deadlines.
SIAM J. on Computing, 6:416{426, 1977.
188] M.R. Garey and D.S. Johnson. Computers and Intractability: A Guide to the Theory of
NPCompleteness. W.H. Freeman and Company, San Francisco, 1979.
118
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
189] J. Gaschnig. A constraint satisfaction method for inference making. In Proceedings of 12th
Annual Allerton Conf. Circuit System Theory, 1974.
190] J. Gaschnig. A general backtrack algorithm that eliminates most redundant tests. In Proceedings of 9th IJCAI, page 457, 1977.
191] J. Gaschnig. Performance Measurements and Analysis of Certain Search Algorithms. PhD
thesis, CarnegieMellon University, Dept. of Computer Science, May 1979.
192] A.V. Gelder. A satis ability tester for nonclausal propositional calculus. Information and
Computation, 79(1):1{21, Oct. 1988.
193] S. Geman and D. Geman. Stochastic relaxation, Gibbs distributions, and the Bayesian
restoration of images. IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI6(6):721{741, Nov. 1984.
194] S. Geman and C.R. Hwang. Di usions of Global optimization. Brown University, 1984.
195] M.R. Genesereth and N. J. Nilsson. Logical Foundations of Arti cial Intelligence. Morgan
Kaufmann Publishers, Los Altos, California, 1987.
196] I.P. Gent and T. Walsh. The hardest random SAT problems. In Proceedings of KI'94, 1994.
197] P.C. Gilmore. A proof method for quanti cation theory. IBM J. Res. Develop., 4:28{35,
1960.
198] A. Ginzberg. Algebraic Theory of Automata. Academic Press, New York, 1968.
199] F. Glover. Tabu search  Part I. ORSA Journal on Computing, 1(3):190{206, Summer
1989.
200] A. Goerdt. 1992. A threshold for unsatis ability. Proceedings of 17th annual Symposium on
Mathematical Foundations of Computer Science, Prague, Czechoslovakia.
201] A. Goldberg. Average case complexity of the satis ability problem. In Proc. Fourth Workshop on Automated Deduction, pages 1{6, 1979.
202] A. Goldberg. On the complexity of the satis ability problem. Technical Report Courant
Computer Science No. 16, New York University, 1979.
203] A. Goldberg, P.W. Purdom, and C.A. Brown. Average time analysis of simpli ed DavisPutnam procedures. Information Processing Letters, 15(2):72{75, 6 Sept. 1982 (Some printer
errors in this paper were corrected in Information Processing Letters, 16:213, 1983).
204] A. Grasselli and F. Luccio. A Method for Minimizing the Number of Internal States in
Incompletely Speci ed Sequential Networks. IEEE Trans. on Computers, EC14:350{359,
June 1965.
205] A. Grasselli and U. Montanari. On the Minimization of READONLY Memories in Microprogrammed Digital Computers. IEEE Trans. on Computers, C19:1111{1114, Nov. 1970.
206] J. Gu. Parallel algorithms and architectures for very fast search. Ph.D thesis. Technical
Report UUCSTR88005, July 1988.
207] J. Gu. How to solve Very LargeScale Satis ability problems. Technical Report UUCSTR88032, 1988, and Technical Report UCECETR90002, 1990.
208] J. Gu. An relaxation for global optimization. Technical Report UCECETR91003, Apr.
1991.
209] J. Gu. E cient local search for very largescale satis ability problem. SIGART Bulletin,
3(1):8{12, Jan. 1992, ACM Press.
210] J. Gu. On Optimizing a Search Problem. In N. G. Bourbakis, editor, Arti cial Intelligence
Methods and Applications, Vol. 1, chapter 2, pages 63{105. World Scienti c Publishers, New
Jersey, Jan. 1992.
211] J. Gu. The UniSAT problem models (appendix). IEEE Trans. on Pattern Analysis and
Machine Intelligence, 14(8):865, Aug. 1992.
212] J. Gu. Local search for satis ability (SAT) problem. IEEE Trans. on Systems, Man, and
Cybernetics, 23(4):1108{1129, Jul. 1993, and 24(4):709, Apr. 1994.
213] J. Gu. Global optimizationfor satis ability (SAT) problem. IEEE Trans. on Knowledge and
Data Engineering, 6(3):361{381, Jun. 1994, and 7(1):192, Feb. 1995.
214] J. Gu. Optimization Algorithms for the Satis ability (SAT) Problem. In Advances in Optimization and Approximation. DingZhu Du (ed), pages 72{154. Kluwer Academic Publishers, 1994.
215] J. Gu. Parallel algorithms for satis ability (SAT) problem. DIMACS Volume Series on
Discrete Mathematics and Theoretical Computer Science, Vol. 22, pages 105{161, American
Mathematical Society, 1995.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
119
216] J. Gu and R. Puri. Asynchronous circuit synthesis by Boolean satis ability. IEEE Transactions on CAD of Integrated Circuits and Systems, 14(8):961{973, Aug. 1995.
217] J. Gu. Satis ability Problems in VLSI Engineering. Presented at Annual Conference of
the Institute for Operations Research and Management Science, Oct. 1995, and DIMACS
Workshop on Satis ability Problem, Mar. 1996. To appear in Discrete Applied Mathematics.
218] J. Gu, Q.P. Gu, and D.Z. Du. Convergence properties of optimization algorithms for the
satis ability (SAT) problem. IEEE Trans. on Computers, 45(2): 209{219, Feb. 1996.
219] J. Gu and Lizhoudu.An e cient implementation of the SAT1.5 algorithm. Technical Report,
USTC, Sept. 1995.
220] J. Gu. The MultiSAT algorithm. Siena SAT Workshop and Workshop on Semide nite and
InteriorPoint Methods, May 1996. To appear in Discrete Applied Mathematics.
221] J. Gu and Q.P. Gu. Average time complexities of several local search algorithms for the satis ability (SAT) problem. Technical Report UCECETR91004, 1991. In Lecture Notes in
Computer Science, Vol. 834, pp. 146154, 1994 and to appear in IEEE Trans. on Knowledge
and Data Engineering.
222] J. Gu. Optimization by multispace search. Technical Report UCECETR90001, Jan. 1990.
223] J. Gu. Multispace Search: A New Optimization Approach (Summary). In Lecture Notes in
Computer Science, Vol. 834, pages 252{260. 1994. Also see Multispace Search for Satis ability and NPhard Problems.
224] J. Gu. Optimization by multispace search. Kluwer Academic Publishers, 1997.
225] J. Gu and X. Huang. Local search with search space smoothing: A case study of the traveling
salesman problem (TSP). Technical Report UCECETR91006, Aug. 1991. In IEEE Trans.
on Systems, Man, and Cybernetics, 24(5):728{735, May 1994.
226] J. Gu, W. Wang, and T.C. Henderson. A parallel architecture for discrete relaxation algorithm. IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI9(6):816{831,
Nov. 1987.
227] J. Gu and W. Wang. A novel discrete relaxation architecture. IEEE Trans. on Pattern
Analysis and Machine Intelligence, 14(8):857{865, Aug. 1992.
228] J. Gu. ConstraintBased Search. Cambridge University Press, New York, 1997.
229] Y. Gurevich. Average case completeness. J. of Computer and Systems Sciences, 42(3):346{
398, 1991.
230] A. Guzman. Computer Recognition of ThreeDimensional Objects in a Visual Scene. PhD
thesis, MIT, 1968.
231] S. Ha and E.A. Lee. Compiletime scheduling and assignment of data ow program graphs
with datadependent iteration. IEEE Trans. on Computers, 40(11):1225{1238, Nov. 1991.
232] A. Haken. The intractability of resolution. Theoretical Computer Science, 39:297{308, 1985.
233] G.T. Hamachi and J.K. Ousterhout. A switchbox router with obstacle avoidance. In Proc.
of the 21st ACM/IEEE Design Automation Conference, pages 173{179, Jun. 1984.
234] M. Hanan, P.K. Wol , and B.J. Agule. Some experimental results on placement techniques.
J. of Design Automation and FaultTolerant Computing, 2:145{168, May 1978.
235] P. L. Hammer and S. Rudeanu. Boolean Methods in Operations Research and Related Areas.
SpringerVerlag, New York, 1968.
236] P. Hansen and B. Jaumard. Uniquely solvable quadratic Boolean equations. Discrete Applied
Mathematics 12:147{154, 1985.
237] P. Hansen, B. Jaumard, and V. Mathon. Constrained Nonlinear 01 Programming. ORSA
Journal on Computing 5:97{119, 1993.
238] P. Hansen, B. Jaumard, and G. Plateau. An extension of nested satis ability. Les Cahiers
du GERAD, G9327, 1993.
239] P. Hansen and B. Jaumard. Algorithms for the maximum satis ability problem. Computing,
44:279{303, 1990.
240] E. R. Hansen. Global optimization using interval analysis. M. Dekker, New York, 1992.
241] R. M. Haralick and G. Elliot. Increasing tree search e ciency for constraint satisfaction
problems. Arti cial Intelligence, 14:263{313, 1980.
242] R. M. Haralick and L. G. Shapiro. The consistent labeling problem: Part 1. IEEE Trans.
on Pattern Analysis and Machine Intelligence, PAMI1(2):173{184, Apr. 1979.
243] F. Harary. Graph Theory. AddisonWesley, Reading, 1969.
244] W. S. Havens. A theory of schema labeling. Computational Intelligence, 1(3 & 4):127{139,
1985.
120
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
245] T. Hedges, W. Dawson, and Y.E. Cho. Bitmap graph build algorithm for compaction. In
Digest Int'l Conf. on ComputerAided Design, pages 340{342, Sep. 1985.
246] T. C. Henderson and L. S. Davis. Hierarchical models and analysis of shape. Pattern Recognition, 14(16):197{204, 1981.
247] T. C. Henderson and A. Samal. Multiconstraint shape analysis. Image and Vision Computing, 4(2):84{96, May 1986.
248] P. V. Hentenryck. Constraint Satisfaction in Logic Programming. The MIT Press, Cambridge, 1989.
249] P. Heusch. The Complexity of the Falsi ability Problem for Pure Implicational Formulas.
Proc. 20th Int'l Symposium on Mathematical Foundations of Computer Science (MFCS'95),
J. Wiedermann, P. Hajek (Eds.), Prague, Czech Republic. Lecture Notes in Computer Science (LNCS 969), SpringerVerlag, Berlin, pages 221{226, 1995.
250] G.E. Hinton and J.A. Anderson, editors. Parallel Models of Associative Memory. Lawrence
Erlbaum Associates, Publishers, Hillsdale, New Jersey, 1981.
251] G.E. Hinton and T.J. Sejnowski. Learning and Relearning in Boltzmann Machine. In D. E.
Rumelhart and J. L. McClelland, editors, Parallel Distributed Processing: Explorations in
the Microstructure of Cognition. Vol. 1: Foundations, volume 1, chapter 7, pages 282{317.
The MIT Press, Cambridge, 1986.
252] E. J. Ho man, J. C. Loessi, and R. C. Moore. Constructions for the solution of the m queens
problem. Mathematics Magazine, pages 66{72, 1969.
253] J. H. Holland. Adaption in Natural and Adaptive Systems. University of Michigan Press,
Ann Arbor, 1975.
254] S.J. Hong and S. Muroga. Absolute minimizationof completely speci ed switching functions.
IEEE Trans. on Computers, 40(1):53{65, Jan. 1991.
255] P. Hood and Grover. Designing real time systems in Ada. Technical Report 11231, SofTech,
Inc., Waltham, Jan. 1986.
256] J. Hooker and V. Vinay. An empirical study of branching rules for satis ability. Presented
in the 3rd International Symposium on AI & Mathematics, Jan. 1994.
257] J.N. Hooker. Generalized resolution and cutting planes. Annals of Operations Research,
12:217{239, 1988.
258] J.N. Hooker. A quantitative approach to logical inference. Decision Support Systems, 4:45{
69, 1988.
259] J.N. Hooker. Resolution vs. cutting plane solution of inference problems: Some computational experience. Operations Research Letter, 7(1):1{7, 1988.
260] J.N. Hooker and C. Fedjki. Branchandcut solution of inference problems in propositional
logic. Technical Report 778889, GSIA, Carnegie Mellon University, Aug. 1989.
261] A.L. Hopkins and et. al. FTMP  a highly reliable faulttolerant multiprocessor for aircraft.
In Proceedings of the IEEE, pages 1221{1239, Oct. 1978.
262] B.K.P. Horn. Obtaining Shape from Shading Information, in The Psychology of Computer
Vision, P.H. Winston, editor, pages 115{155. McGrawHill, New York, 1975.
263] B.K.P. Horn. Understanding image intensity. Arti cial Intelligence, 8:301{231, 1977.
264] B.K.P. Horn and M. J. Brooks, editors. Shape from Shading. The MIT Press, Cambridge,
1989.
265] B.K.P. Horn and M.J. Brooks. The variational approach to shape from shading. Computer
Vision, Graphics & Image Processing, 33(2):174{208, 1986.
266] E. Horowitz and S. Sahni. Fundamentals of Computer Algorithms. Computer Science Press,
Rockville, 1978.
267] R. Horst and H. Tuy. Global Optimization: Deterministic Approaches. Springer Verlag,
Berlin, 1990.
268] J. Hsiang. Refutational theorem proving using termrewriting systems. Arti cial Intelligence, pages 255{300, 1985.
269] T.H. Hu, C.Y. Tang, and R.C.T. Lee. An average case analysis of a resolution principle
algorithm in mechanical theorem proving. Annals of Mathematics and Arti cial Intelligence,
6:235{252, 1992.
270] X. Huang, J. Gu, and Y. Wu. A constrained approach to multi font character recognition.
IEEE Transactions on Pattern Analysis And Machine Intelligence, 15(8):838{843, Aug.
1993.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
121
271] D.A. Hu man. Impossible Objects as Nonsense Sentences. In B. Meltzer and D. Michie,
Eds., Machine Intelligence, pages 295{323. Edinburgh University Press, Edinburgh, Scotland, 1971.
272] R. A. Hummel and S. W. Zucker. On the foundations of relaxation labeling processes. IEEE
Trans. on Pattern Analysis and Machine Intelligence, PAMI5(3):267{287, May 1983.
273] K. Ikeuchi. Modelbased interpretation of range imagery. In Proc. of Image Understanding
Workshop, pages 321{339. DARPA, Feb. 1987.
274] K. Ikeuchi and B.K.P. Horn. Numerical shape from shading and occluding boundaries. Arti cial Intelligence, 17(13):141{184, 1981.
275] R. Impagliazzo, L. Levin, and M. Luby. Pseudorandom number generation from one way
function. In Proceedings of the Third ACM Symposium on Theory of Computing, pages
12{14, 1989.
276] B. Indurkhya, H. S. Stone, and L. XiCheng. Optimal partitioning of randomly generated
distributed programs. IEEE Trans. on Software Engineering, SE12:483{495, Mar 1986.
277] L. Ingber. Adaptive Simulated Annealing (ASA). Lester Ingber Research, 1995.
278] T. Ishida. Parallel rule ring in production systems. IEEE Trans. on Knowledge and Data
Engineering, 3(1):11{17, Mar. 1991.
279] A. Itai and J. Makowsky. On the complexity of Herbrand's theorem. Working paper 243,
Department of Computer Science, Israel Institute of Technology, 1982.
280] N. Itazaki and K. Kinoshita. Test pattern generation for circuits with tristate modules by
zalgorithm. IEEE Trans. on CAD, 8(12):1327{1334, Dec. 1989.
281] K. Iwama. CNF satis ability test by counting and polynomial average time. SIAM J. on
Computing, pages 385{391, 1989.
282] F. Jahanian and A.K. Mok. Safety analysis of timing properties in realtime systems. IEEE
Trans. on Software Engineering, SE12(9):890{904, Sept. 1986.
283] T. Jayasri and D. Basu. An Approach to Organizing Microinstructions Which Minimizes
the Width of Control Store Words. IEEE Trans. on Computers, C25:514{521, May 1976.
284] R.E. Jeroslow and J. Wang. Solving propositional satis ability problems. Annals of Mathematics and AI, 1:167{187, 1990.
285] R.G. Jeroslow. Computationoriented reductions of predicate to propositional logic. Decision
Support Systems, 4:183{197, 1988.
286] D.S. Johnson. Approximation Algorithms for Combinatorial Problems. J. of Computer and
Systems Sciences, 9:256{278, 1974.
287] D.S. Johnson. More approaches to the traveling salesman guide. Nature, 330:525, 1987.
288] D.S. Johnson. Local Optimization and the Traveling Salesman Problem. In M.S. Paterson,
editor, Lecture Notes in Computer Science, Vol. 443: Automata, Languages and Programming, pages 446{461. SpringerVerlag, Berlin, 1990.
289] D.S. Johnson. Private Communications, 1993{1996.
290] D.S. Johnson and M.A. Trick, editors. Clique, Graph Coloring, and Satis ability: Second
DIMACS Implementation Challenge. DIMACS Series Vol. 26. American Mathematical Society, 1996.
291] J.L. Johnson. A neural network approach to the 3satis ability problem. J. of Parallel and
Distributed Computing, 6:435{449, 1989.
292] M.D. Johnston. Scheduling with neural networks  the case of the Hubble Space Telescope.
In NASA Memo, 1989.
293] R. R. Johnson. Critical issues in computer architecture design. Private Communication,
19871994.
294] R.W. Johnson and A.M. McLoughlin. ComputerAided Discovery of a Fast MatrixMultiplication Algorithm. NRL Memorandum Report 3994 May 1979.
295] W. Lewis Johnson. Letter from the editor. SIGART Bulletin, 2(2):1, April 1991, ACM
Press.
296] W. Lewis Johnson. Letter from the editor. SIGART Bulletin, 2(5):1, Oct. 1991, ACM Press.
297] J. R. Josephson, B. Chandrasekaran, J. W. Smith Jr., and M. C. Tanner. A mechanism for
forming composite explanatory hypotheses. IEEE Trans. on Systems, Man, and Cybernetics, SMC17(3):445{454, May/June 1987.
298] P.C. Jackson Jr. Heuristic search algorithms for the satis ability problem. Submitted to the
third IEEE TAI Conference, Jul. 1991.
122
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
299] A. E. W. Jones and G. W. Forbes. An adaptive simulated annealing algorithm for global
optimization over continuous variables. Journal of Optimization Theory and Applications,
6:1{37, 1995.
300] Y.C. Ju, B. Rao, and R.A. Saleh. Consistency checking and optimization of macromodels.
IEEE Trans. on CAD, 10(8):957{967, Aug. 1991.
301] A.P. Kamath, N.K. Karmarkar, K.G. Ramakrishnan, and M.G.C. Resende. Computational
experience with an interior point algorithm on the satis ability problem. Annals of Operations Research, 25:43{58, 1990.
302] A.P. Kamath, N.K. Karmarkar, K.G. Ramakrishnan, and M.G.C. Resende. A continuous
approach to inductive inference. Mathematical Programming, 57:215{238, 1992.
303] A.P. Kamath, N.K. Karmarkar, K.G. Ramakrishnan, and M.G.C. Resende. Computational
experience with an interior point algorithm on the satis ability problem. Mathematical Sciences Research Center, AT&T Bell Laboratories, Oct. 1989.
304] A. Kamath, R. Motwani, K. Palem, and P. Spirakis. 1995. Tail Bounds for occupancy and
the satis ability threshold conjecture. Random Structures and Algorithms 7, pp. 59{80.
305] N. Karmarkar. A new polynomialtime algorithm for linear programming. Combinatorica,
(4):373{395, 1984.
306] G. Kedem and H. Watanabe. Graph optimization techniques for IC layout and compaction.
IEEE Trans. on CAD, CAD3:12{20, 1984.
307] J. Kella. State Minimization of Incompletely Speci ed Sequential Machines. IEEE Trans.
on Computers, C19:342{348, April 1970.
308] S. Kirkpatrick, C.D. Gelat, and M.P. Vecchi. Optimization by simulated annealing. Science,
220:671{680, 1983.
309] S. Kirkpatrick, G. Gyorgyi, N. Tishby, and L. Troyansky. The statistical mechanics of ksatisfaction. In Proceedings of Neural Information Processing Systems, Nov. 1993.
310] L.M. Kirousis and C.H. Papadimitriou. The complexity of recognizing polyhedral scenes. J.
of Computer and System Sciences, 37:14{38, 1988.
311] L. M. Kirousis, E. Kranakis, and D. Krizanc. A better upper bound for the unsatis ability
threshold. In DIMACS series in Discrete Mathematics and Theoretical Computer Science,
60, 1996.
312] J. Kittler and J. Illingworth. Relaxation labeling algorithms  A review. Image and Vision
Computing, pages 206{216, 1985.
313] D. E. Knuth. Estimating the e ciency of backtracking programs. Mathematics of Computation, 29(129):121{136, Jan. 1975.
314] D. Knuth. Nested satis ability. Acta Informatica 28:16, 1990.
315] K.L. Kodandapani and E.J. McGrath. A wirelist compare program for verifying VLSI layouts. IEEE Design and Test of Computers, 3(3):46{51, 1986.
316] R. Kowalski. A proof procedure using connection graphs. J. ACM, 22(4):572{595, Oct. 1975.
317] M.R. Kramer and J. van Leeuwen. The Complexity of Wire Routing and Finding Minimum
Area Layouts for Arbitrary VLSI Circuits, volume 2, chapter VLSI Theory, pages 129{146.
Jai Press Inc., Greenwich, CT, 1984.
318] C.M. Krishna, K.G. Shin, and I.S. Bhandari. Processor tradeo s in distributed realtime
systems. IEEE Trans. on Computers, C36(9):1030{1040, Sept. 1987.
319] D. CL. Ku. DRA1 chip implementation report. Project Report, Dept. of Computer Science,
Univ. of Utah, Mar. 1986.
320] Oliver Kullmann A systematic approach to 3SATdecision, yielding 3SATdecision in less
than 1:5045 steps. Theoretical Computer Science, to appear.
321] V. Kumar. Algorithms for constraint satisfaction problems: A survey. Technical Report
TR9128, Dept. of Computer Science, Univ. of Minnesota, 1991.
322] V. Kumar. Algorithms for constraint satisfaction problems: A survey. The AI Magazine,
13(1):32{44, 1992.
323] V. Kumar and Y.J Lin. A datadependency based intelligent backtracking scheme for Prolog. J. of Logic Programming, 5(2), June 1988.
324] J. D. Laderman. A noncommutative algorithm for multiplying 3 3 matrices using 23
multiplications. Bull. Amer. Math. Soc., 82(1):126{128, 1976.
325] E.D. Lagnese and D.E. Thomas. Architectural partitioning for system level synthesis of
integrated circuits. IEEE Trans. on CAD, 10(7):847{860, July 1991.
n
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
123
326] G. Lakhani and R. Varadarajan. A wirelength minimization algorithm for circuit layout
compaction. In Proc. of ISCAS'87, pages 276{279, May 1987.
327] B.S. Landman and R.L. Russo. On a pin versus block relationship for partitions of logic
graphs. IEEE Trans. on Computers, C20:1469{1479, Dec. 1971.
328] T. Larrabee. Test pattern generation using Boolean satis ability. IEEE Trans. on ComputerAided Design, 11(1):4{15, Jan. 1992.
329] C. Lassez. Constraint logic programming. BYTE Magazine, pages 171{176, Aug. 1987.
330] L. Lavagno, K. Keutzer, and A. SangiovanniVincentelii.Algorithms for Synthesis of Hazardfree Asynchronous Circuits. In Proc. of 28th DAC, pages 302{308, 1991.
331] L. Lavagno, C. Moon, R. Brayton, and A. SangiovanniVincentelli. Solving the State Assignment Problem for Signal Transition Graphs. In Proc. of 29th DAC, pages 568{572, 1992.
332] E.L. Lawler, J.K. Lenstra, A.H.G. Rinnooy Kan, and D.B. Shmoys, editors. The Traveling
Salesman Problem. John Wiley & Sons, New York, 1985.
333] E.L. Lawler and D.E. Wood. Branceandbound methods: a survey. Operations Research,
14(4):699{719, Jul.{Aug. 1966.
334] C. Y. Lee. Representation of Switching Circuits by Binary Decision Programs. Bell Systems
Technical Journal, 38:985{999, July 1959.
335] C. Lee. An algorithm for path connections and its applications. IEEE Trans. on Electronic
Computers, VEC10:346{365, Sept. 1961.
336] E.A. Lee. Consistency in data ow graphs. IEEE Trans. on Parallel and Distributed Systems,
2(2):223{235, Apr. 1991.
337] R.C.T. Lee. Private Communications, 19921993.
338] J.P. Lehoczky and L. Sha. Performance of realtime bus scheduling algorithms. ACM Performance Evaluation Review, 14(1), May 1986. Special Issue.
339] H. R. Lewis. Renaming a set of clauses as a Horn set. Journal of the Association for Computing Machinery 25, pages 134{135, 1978.
340] G. J. Li and B. W. Wah. How to Cope with Anomalies in Parallel Approximate BranchandBound Algorithms. in Proc. National Conf. on Arti cial Intelligence, AAAI, pages 212215,
Aug. 1984.
341] G.J. Li. Parallel Processing of Combinatorial Search Problems. PhD thesis, School of Electrical Engineering, Purdue University, West Lafayette, Dec. 1985.
342] G. J. Li and B. W. Wah. How good are parallel and ordered depth rst searches? In
Proc. Int'l Conf. on Parallel Processing, pages 992{999, University Park, PA, August 1986.
Pennsylvania State Univ. Press.
343] G. J. Li and B. W. Wah. Computational e ciency of combinatorial ORtree searches. Trans.
on Software Engineering, 16(1):13{31, January 1990.
344] G.J. Li and B. W. Wah. Parallel iterative re ning A*: An e cient search scheme for
solving combinatorial optimization problems. In Proc. Int'l Conf. on Parallel Processing,
pages 608{615, University Park, PA, August 1991. Pennsylvania State Univ. Press.
345] J. Li and M. Chen. Compiling communicatione cient programs for massively parallel machines. IEEE Trans. on Parallel and Distributed Systems, 2(3):361{376, July 1991.
346] Y.Z. Liao and C.K. Wong. An algorithm to compact a VLSI symbolic layout with mixed
constraints. IEEE Trans. on CAD, CAD2(2):62{69, 1983.
347] D. Lichtenstein. Planar formulae and their uses. SIAM Journal on Computing 11:329{343,
1982.
348] K.J. Lieberherr and E. Specker. Complexity of partial satisfaction. J. of ACM, 28:411{421,
1981.
349] F.C.H. Lin and R.M. Keller. The gradient model load balancing method. IEEE Trans. on
Software Engineering, SE13(1):32{38, Jan. 1987.
350] K. J. Lin and C. S. Lin. Automatic Synthesis of Asynchronous Circuits. In Proc. of 28th
DAC, pages 296{301, 1991.
351] S. Lin. Computer solutions of the traveling salesman problem. Bell Sys. Tech. Journal,
44(10):2245{2269, Dec. 1965.
352] W. M. Lin and V. K. P. Kumar. Parallel architectures for discrete relaxation algorithm.
AAAI Workshop on Parallel Algorithms for AI, Detroit, 20 Aug. 1989.
353] Y.J. Lin. A Parallel Implementation of Logic Programs. PhD thesis, The Univ. of Texas at
Austin, Dept. of Computer Science, May 1988.
124
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
354] R. P. Lippmann. An introduction to computing with neural net. IEEE ASSP Magazine,
4(2):4{22, April 1987.
355] Richard J. Lipton DNA Solution of Hard Computational Problems Science, 268:542544.
356] C. D. Locke. BestE ort Decision Making for RealTime Scheduling. PhD thesis, CarnegieMellon University, May 1985.
357] D.W. Loveland. Automated Theorem Proving: A Logical Basis. NorthHolland, 1978.
358] F. Luccio. Extending the De nition of Prime Compatibility Classes of States in Incompletely
Speci ed Sequential Machine Reduction. IEEE Trans. on Computers, C18:537{540, Jun.
1969.
359] D.G. Luenberger. Linear and Nonlinear Programming. AddisonWesley, Reading, 1984.
360] N.A. Lynch. Multilevel atomicity  a new correctness criterion for database concurrency
control. ACM Trans. on Database Systems, 8(4), Dec. 1983.
361] A. K. Mackworth. Consistency in networks of relations. Arti cial Intelligence, 8:99{119,
1977.
362] F. Major, M. Turcotte, D. Gautheret, G. Lapalme, E. Fillion, and R. Cedergren. The combination of symbolic and numerical computation for threedimensional modeling of RNA.
Sciences, 253:1255{1260, 1991.
363] S. Malik, A. Wang, R. Brayton, and A. SangiovanniVincentelli. Logic Veri cation Using
Binary Decision Diagrams in a Logic Synthesis Environment. In Proc. of ACM/IEEE International Conference on CAD, 1988.
364] J. Malik and D. Maydan. Recovering threedimensional shape from a single image of curved
objects. IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI11(6):555{566,
Jun. 1989.
365] J.A. Makowsky and A. Sharell. On average case complexity of SAT symmetric distribution.
J. of Logic and Computation, 5(1):71{92, Feb. 1995.
366] D. Marple and A.E. Gamal. Areadelay optimizationof programmablelogic arrays. Technical
report, Stanford University, Sept. 1986.
367] T.A. Marsland and M. Campbell. Parallel search of strongly ordered game trees. ACM
Computing Surveys, 14(4):533{551, Dec. 1982.
368] T.A. Marsland and J. Schae er. Computers, Chess, and Cognition. SpringerVerlag, New
York, 1990.
369] D.W. Matula, W.G. Marble, and J.D. Isaacson. Graph coloring algorithms. In Graph Theory
and Computing. R.C. Read, editor, pages 109{122. Academic Press, New York, 1972.
370] B. Mazure, L. Sais, and E. Gregoire. Tabu search for SAT. In Proceedings of CP'95 Workshop
on Solving Really Hard Problems, pages 127{130, 1995.
371] D. McAllester. Truth maintenance. In Proceedings of AAAI'90, pages 1109{1116, 1990.
372] J. T. McCall, J. G. Tront, F. G. Gray, R. M. Haralick, and W. M. McCormack. Parallel
computer architectures and problem solving strategies for the consistent labeling problem.
IEEE Trans. On Computers, C34(11):973{980, Nov. 1985.
373] J.J. McGregor. Relational consistency algorithms and their application in nding subgraph
and graph isomorphisms. Information Sciences, 19:229{250, 1979.
374] C.R. McLean and C.R. Dyer. An analog relaxation processor. In Proceedings of the 5th
International Conference on Pattern Recognition, pages 58{60, 1980.
375] K. Mehlhorn. Data Structures and Algorithms: Graph Algorithms and NPCompleteness.
SpringerVerlag, Berlin, 1984.
376] H.M. Mejean, H. Morel, and G. Reynaud. A variational method for analyzing unit clause
search. SIAM J. on Computing,
377] Z. Michalewicz. Genetic Algorithms + Data Structure = Evolution Programs. SpringerVerlag, 1994.
378] M. Minoux, \The unique Hornsatis ability problem and quadratic Boolean equations," Annals of Mathematics and Arti cial Intelligence special issue on connections between combinatorics and logic, J. Franco, M. Dunn, W. Wheeler, (eds.) 1992.
379] S. Minton, M.D. Johnston, A.B. Philips, and P. Laird. Solving largescale constraint satisfaction and scheduling problems using a heuristic repair method. In Proceedings of AAAI'90,
pages 17{24, Aug. 1990.
380] S. Minton, M.D. Johnston, A.B. Philips, and P. Laird. A heuristic repair method for constraint satisfaction and scheduling problems. Arti cial Intelligence, 58:161{205, 1992.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
125
381] D.P. Miranker. TREAT: A New and E cient Match Algorithm for AI Production Systems.
Pitman, London, 1990.
382] D.P. Miranker and B.J. Lofaso. The organization and performance of a treatbased production system compiler. IEEE Trans. on Knowledge and Data Engineering, 3(1):3{10, Mar.
1991.
383] D. Mitchell, B. Selman, and H. Levesque. Hard and easy distributions of SAT problems. In
Proceedings of AAAI'92, pages 459{465, Jul. 1992.
384] R. Mohr and T. C. Henderson. Arc and path consistency revisited. Arti cial Intelligence,
28:225{233, 1986.
385] B. Monien and E. Speckenmeyer.Solving satis ability in less than 2 steps. Discrete Applied
Mathematics, 10:117{133, 1983.
386] B. Monien, E. Speckenmeyer, and O. Vornberger. Superlinear Speedup for Parallel Backtracking.
387] S. Mori, C.Y. Suen, and K. Yamamoto. Historical review of OCR research and development.
Proceedings of the IEEE, 80(7):1029{1058, Jul. 1992.
388] P. Morris. The breakout method for escaping from local minima. In Proc. of the 11th National Conf. on Arti cial Intelligence, pages 40{45, Washington, DC, 1993.
389] B.A. Murtagh and M.A. Saunders. MINOS 5.0 user's guide. Technical Report SOL 8320,
Dept. of Operations Research, Stanford University, Stanford, CA, 1983.
390] B.A. Nadel. Constraint satisfaction algorithms. Computational Intelligence, 5:188{224, 1989.
391] B.A. Nadel and J. Lin. Automobile transmission design as a constraint satisfaction problem: A collaborative research project with ford motor Co. Technical report, Wayne State
University, 1990.
392] D. Navinchandra. Exploration and Innovation in Design. Springer Verlag, Sadeh, 1990.
393] D. Navinchandra and D.H. Marks. Layout planning as a consistent labeling optimization
problem. In Proceedings of 4th International Symposium on Robotics and AI in Construction, 1987.
394] A. Newell and H. A. Simon. Human Problem Solving. PrenticeHall, Englewood Cli s, New
Jersey, 1972.
395] L.M. Ni, C. Xu, and T.B. Gendreau. A distributed drafting algorithm for load balancing.
IEEE Trans. on Software Engineering, SE11(10):1153{1161, Oct. 1985.
396] A. Nijenhuis and H. S. Wilf. Combinatorial Algorithms. Academic Press, New York, 1975.
397] N.J. Nilsson. Principles of Arti cial Intelligence. Tioga Publishing Company, Palo Alto,
California, 1980.
398] M. Nishizawa. Partitioning of logic units. Fujitsu Scienti c and Technical Journal, 7(2):1{
13, Jun. 1971.
399] D. Pager. On the e cient algorithm for graph isomorphism. J. of ACM, 17(4):708{714, Jan.
1970.
400] C.H. Papadimitriou and K. Steiglitz. On the complexity of local search for the traveling
salesman problem. SIAM J. on Computing, 6(1):76{83, 1977.
401] C.H. Papadimitriou and K. Steiglitz. Combinatorial Optimization: Algorithms and Complexity. Prentice Hall, Englewood Cli s, 1982.
402] C.H. Papadimitriou. On selecting a satisfying truth assignment. In Proceedings of the 32nd
Annual Symposium of the Foundations of Computer Science, pages 163{169, 1991.
403] E. Koutsoupias, and C. H. Papadimitriou. 1992. On the greedy algorithm for satis ability.
Information Processing Letters 43, pp. 53{55.
404] C.H. Papadimitriou, Private Communications, 1996.
405] P.M. Pardalos and J.B. Rosen. Constrained Global Optimization: Algorithms and Applications. Springer Verlag, New York, 1987.
406] P. M. Pardalos. Complexity in numerical optimization. World Scienti c, Singaporeand River
Edge, N.J., 1993.
407] A.M. Patel, N.L. Soong, and R.K. Korn. Hierarchical VLSI routing  an approximate
routing procedure. IEEE Trans. on CAD, CAD4(2):121{126, Apr. 1985.
408] W. Patterson. Mathematical Cryptology. Rowman & Little eld, New Jersey, 1987.
409] P.G. Paulin and J.P. Knight. Forcedirected scheduling for the behavioral synthesis of
ASIC's. IEEE Trans. on CAD, 8(6):661{679, June 1989.
410] J. Pearl. Heuristics. AddisonWesley, Reading, 1984.
n
126
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
411] D. Pehoushek. SAT problem instances and algorithms. Private Communications, Stanford
University, 1992.
412] M.A. Penna. A shape form shading analysis for a single perspective image of a polyhedron.
IEEE Trans. on Pattern Analysis and Machine Intelligence, PAMI11(6):545{554, Jun.
1989.
413] L.M. Pereira and A. Porto. Selective Backtracking, pages 107{114. Academic Press, 1982.
414] C. Petrie. Revised dependencydirected backtracking for default reasoning. In Proceedings
of AAAI'87, pages 167{172, 1987.
415] J. Peysakh, A fast algorithm to convert Boolean expressions into CNF, IBM Computer
Science RC 12913, No. 57971, T.J. Watson, New York, 1987.
416] T. Pitassi and A. Urquhart. The complexity of the hajos calculus. SIAM J. on Disc. Math.,
8(3):464{483, 1995.
417] J. Plotkin, J. Rosenthal, and J. Franco. Correction to probabilistic analysis of the DavisPutnam Procedure for solving the Satis ability problem. Discrete Applied Mathematics,
17:295{299, 1987.
418] D.P. La Potin and S.W. Director. Mason: a global oorplanning approach for VLSI design.
IEEE Trans. on CAD, CAD5(4):477{489, Oct. 1986.
419] D. K. Pradhan, editor. FaultTolerant Computing: Theory and Practice. PrenticeHall, Englewood Cli s, 1986.
420] D. Prawitz. An improved proof procedure. Theoria, 26(2):102{139, 1960.
421] D. Pretolani. A linear time algorithm for unique Horn satis ability. Information Processing
Letters 48:61{66, 1993.
422] D. Pretolani. E ciency and stability of hypergraph SAT algorithms. DIMACS Series Volume: Clique, Graph Coloring, and Satis ability  Second DIMACS Implementation Challenge. Editors: D.S. Johnson and M.A. Trick, American Mathematical Society, 1996.
423] P. Purdom. Survey of average time SAT performance. Presented in the 3rd International
Symposium on AI & Mathematics, Jan. 1994.
424] P.W. Purdom. Tree size by partial backtracking. SIAM J. on Computing, 7(4):481{491,
Nov. 1978.
425] P.W. Purdom. Search rearrangement backtracking and polynomial average time. Arti cial
Intelligence, 21:117{133, 1983.
426] P.W. Purdom. Solving satis ability with less searching. IEEE Trans. on Pattern Analysis
and Machine Intelligence, 6:510{513, 1984.
427] P.W. Purdom. A survey of average time analyses of satis ability algorithms. J. of Information Processing, 13(4):449{455, 1990.
428] P.W. Purdom. Average time for the full pure literal rule. Information Sciences, 1994 78:269{
291.
429] P.W. Purdom and C.A. Brown. An analysis of backtracking with search rearrangement.
SIAM J. on Computing, 12(4):717{733, Nov. 1983.
430] P.W. Purdom and C.A. Brown. The pure literal rule and polynomial average time. SIAM
J. on Computing, 14:943{953, 1985.
431] P.W. Purdom and C.A. Brown. Polynomialaveragetimesatis ability problems. Information
Science, 41:23{42, 1987.
432] P.W. Purdom, C.A. Brown, and E.L. Robertson. Backtracking with multilevel dynamic
search rearrangement. Acta Informatica, 15:99{113, 1981.
433] P.W. Purdom and G.N. Haven. Backtracking and probing. Technical Report No. 387, Dept.
of Computer Science, Indiana University, Aug. 1993.
434] P.W. Purdom and G.N. Haven. Probe Order Backtracking. Accepted in SIAM J. on Computing, to appear in 1997.
435] R. Puri and J. Gu. An e cient algorithm to search for minimal closed covers in sequential
machines. IEEE Transactions on CAD of Integrated Circuits and Systems, 12(6):737{745,
Jun. 1993.
436] R. Puri and J. Gu. An e cient algorithm for computer microword length minimization.
IEEE Transactions on CAD of Integrated Circuits and Systems, 12(10):1449{1457, Oct.
1993.
437] R. Puri and J. Gu. Area e cient synthesis of asynchronous interface circuits. In Proc. of
IEEE International Conference on Computer Design, 1994.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
127
438] R. Puri and J. Gu. A divideandconquer approach for asynchronous circuit design. In Proceedings of the 7th IEEE International Symposium on HighLevel Synthesis, pages 118{125,
May 1994.
439] R. Puri and J. Gu. A BDD SAT solver for satis ability testing. Annals of Mathematics and
Arti cial Intelligence, Vol. 17, pp. 315{337, 1996.
440] C. D. V. P. Rao and N. N. Biswas. On the Minimizationof Wordwidth in the Control Memory
of a Microprogrammed Digital Computer. IEEE Trans. on Computers, C32(9):863{868,
Sept. 1983.
441] C. V. S. Rao and N. N. Biswas. Minimization of Incompletely Speci ed Sequential Machines.
IEEE Trans. on Computers, C24:1089{1100, Nov. 1975.
442] R.C. Read and D.G. Corneil. The graph isomorphism disease. J. of Graph Theory, 1:339{
363, 1977.
443] G.M. Reed and A.W. Roscoe. A timed model for communicating sequential processes. In
Proc. of ICALP'86, pages 314{323. Springer LNCS 226, 1986.
444] J. Reed, A. SangiovanniVincentelli, and M. Santomauro. A new symbolic channel router:
YACR2. IEEE Trans. on CAD, CAD4(3):208{219, July 1985.
445] M. Reichling. A simpli edsolution of the n queens' problem. Information Processing Letters,
Vol. 25:253{255, June 1987.
446] M. Resende and T. Feo. A GRASP for MAXSAT. Presented in the 3rd International Symposium on AI & Mathematics, Jan. 1994.
447] R.L. Rivest. Cryptography. In Handbook of Theoretical Computer Science. J.V. Leeuwen,
editor, chapter 13, pages 719{756. The MIT Press, Cambridge, 1990.
448] R.L. Rivest and C.M. Fiduccia. A 'greedy' channel router. In Proc. of the 19th ACM/IEEE
Design Automation Conference, pages 418{424, Jun. 1982.
449] J.A. Robinson. A machine{oriented logic based on the resolution principle. Journal of the
ACM, pages 23{41, 1965.
450] A. Rosenfeld. Computer vision: Basic principles. Proceedings of the IEEE, 76(8):863{868,
Aug. 1988.
451] A. Rosenfeld, R. A. Hummel, and S. W. Zucker. Scene labeling by relaxation operations.
IEEE Trans. on Systems, Man, and Cybernetics, SMC6(6):420{433, June 1976.
452] W. Rosiers and M. Bruynooghe. Empirical study of some constraint satisfaction problems.
In Proceedings of AIMSA'86, North Holland, Sept. 1986.
453] A.E. Ruehli, P.K. Wol , and G. Goertzel. Analytical power/timing optimization technique
for digital system. In Proc. of the 14th ACM/IEEE Design Automation Conference, pages
142{146, Jun. 1977.
454] S. Russell and P. Norvig. Arti cial Intelligence: A Modern Approach. PrenticeHall, Englewood Cli s, 1995.
455] R.L. Russo. On the tradeo between logic performanceand circuittopinratio for LSI. IEEE
Trans. on Computers, C21:147{153, 1972.
456] R.L. Russo, P.H. Oden, and P.K. Wol . A heuristic procedure for the partitioning and
mapping of computer logic graphs. IEEE Trans. on Computers, C20:1455{1462, Dec. 1971.
457] Y.G. Saab and V. B. Rao. Combinatorial optimization by stochastic evolution. IEEE Transactions on CAD, CAD10(4):525{535, Apr. 1991.
458] A. Saldanha, T. Villa, R.K. Brayton, and A.L. SangiovanniVincentelli. A Framework for
Satisfying Input and Output Encoding Constraints. In Proceedings of ACM/IEEE Design
Automation Conference, pages 170{175, 1991.
459] A. Samal. Parallel SplitLevel Relaxation. PhD thesis, Dept. of Computer Science, Univ. of
Utah, Aug. 1988.
460] A. Samal and T. C. Henderson. Performance of arc consistency algorithms on the Cray.
Technical Report UUCSTR87017, Dept. of Computer Science, Univ. of Utah, July 23
1987.
461] A. Samal and T.C. Henderson. Parallel consistent labeling algorithms. International Journal
of Parallel Programming, 1988.
462] T.J. Schaefer. The complexity of satis ability problems. In Proceedings of the 10th ACM
Symposium on Theory of Computing, pages 216{226, 1978.
463] W.L. Schiele. Improved compaction by minimized length of wires. In Proc. of the 20th
ACM/IEEE Design Automation Conference, pages 121{127, 1983.
128
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
464] I. Schiermeyer. Solving 3Satis ability in less than O(1:579 ) steps. Lecture Notes in Computer Science 702, pages 379{394, 1993.
465] I. Schiermeyer. Pure literal lookahead: an O(1:497 ) 3Satis ability algorithm. In Proc. of
the Workshop on Satis ability, Universita delgi Studi, Siena, Italy, pages 63{72, 1996.
466] J. S. Schlipf, F. Annexstein, J. Franco, and R. Swaminathan. On nding solutions for
extended Horn formulas. Information Processing Letters 54, pages 133{137, 1995.
467] B.M. Schwartzschild. Statistical mechanics algorithm for Monte Carlo optimization. Physics
Today, 35:17{19, 1982.
468] P. Schwarz and A. Spector. Synchronizing shared abstract types. ACM Trans. on Computer
Systems, Aug. 1984.
469] M. G. Scutella. A note on Dowling and Gallier's topdown algorithm for propositional Horn
satis ability. Journal of Logic Programming 8, pages 265{273, 1990.
470] C. Sechen and A.L. SangiovanniVincentelli. The TIMBERWOLF placement and routing
package. In Proc. of the 1984 Custom Integrated Circuit Conf., May 1984.
471] B. Selman. Private Communications, Aug. 1992.
472] B. Selman, H. Levesque, and D. Mitchell. A new method for solving hard satis ability
problems. In Proceedings of AAAI'92, pages 440{446, Jul. 1992.
473] B. Selman and H. Kautz. Domainindependent extensions to GSAT: Solving large structured
satis ability problems. In Proc. of the 13th Int'l Joint Conf. on Arti cial Intelligence, pages
290{295, 1993.
474] B. Selman, H.A. Kautz, and B. Cohen. Local search strategies for satis ability testing.
DIMACS Series Volume: Clique, Graph Coloring, and Satis ability  Second DIMACS
Implementation Challenge. American Mathematical Society, pp. 290{295, 1996.
475] B. Selman, H. Kautz, and B. Cohen. Noise strategies for improving local search. In Proc. of
the 12th National Conf. on Arti cial Intelligence, pages 337{343, Seattle, July 1994.
476] B. Selman, Private Communication, 1995.
477] E. M. Sentovich, K. J. Singh, L. Lavagno, C. Moon, R. Murgai, A. Saldanha, H. Savoj,
P. R. Stephan, R. K. Brayton, and A. SangiovanniVincentelli. SIS : A System for Sequential
Circuit Synthesis. Technical Report UCB/ERL M92/41, Dept. of EECS, Univ. of California,
Berkeley, May, 1992.
478] M.J. Shensa. A computational structure for the propositional calculus. In Proceedings of
IJCAI, pages 384{388, 1989.
479] R.C.J. Shi, A. Vannelli, and J. Vlach. An improvement on Karmarkar'salgorithm for integer
programming. COAL Bulletin of the Mathematical Programming Society, 21:23{28, 1992.
480] H. Shin, A.L. SangiovanniVincentelli, and C.H. Sequin. Twodimensional compaction by
'zero re ning'. In Proc. of the 23rd ACM/IEEE Design Automation Conference, pages 115{
122, Jun. 1986.
481] K.G. Shin and M.S. Chen. On the number of acceptable task assignments in distributed
computing systems. IEEE Trans. on Computers, 39(1):99{110, Jan. 1990.
482] P. Siegel. Representation et Utilization de la Connaissances en Calcul Propositionel. PhD
thesis, University AixMarseille II, 1987.
483] J.C. Simon. O line cursive word recognition. Proceedings of the IEEE, 80(7):1150{1161,
Jul. 1992.
484] R. Sosic and J. Gu. Quick nqueen search on VAX and Bobcat machines. CS547 AI Course
Project, Winter Quarter, Feb. 1988.
485] R. Sosic and J. Gu. How to search for million queens. Technical Report UUCSTR88008,
Dept. of Computer Science, Univ. of Utah, Feb. 1988.
486] R. Sosic and J. Gu. A polynomial time algorithm for the nqueens problem. SIGART
Bulletin, 1(3):7{11, Aug. 1990, ACM Press.
487] R. Sosic and J. Gu. Fast search algorithms for the nqueens problem. IEEE Trans. on
Systems, Man, and Cybernetics, SMC21(6):1572{1576, Nov./Dec. 1991.
488] R. Sosic and J. Gu. 3,000,000 queens in less than one minute. SIGART Bulletin, 2(2):22{24,
Apr. 1991, ACM Press.
489] R. Sosic and J. Gu. A parallel local search algorithm for satis ability (SAT) problem. Submitted for publication, 1993.
490] R. Sosic and J. Gu. A parallel local search algorithm for the nqueen problem. Submitted
for publication, 1993.
n
n
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
129
491] R. Sosic and J. Gu. E cient local search with con ict minimization. IEEE Trans. on Knowledge and Data Engineering, 6(5):661{668, Oct. 1994.
492] R. Sosic, J. Gu, and R. Johnson. The Unison algorithm: Fast evaluation of Boolean expressions. Accepted for publication in Communications of the ACM in 1992. ACM Transactions
on Design Automation of Electronic Systems, (1)4:456{477, Oct. 1996.
493] R. Sosic, J. Gu, and R. Johnson. A universal Boolean evaluator. IEEE Trans. on Computers,
accepted for publication in 1992.
494] J. Soukup. Circuit layout. In Proceedings of the IEEE, pages 1281{1304, Oct. 1981.
495] E. Speckenmeyer. Personal Communication. 1996.
496] R. Stallman and G.J. Sussman. Forward reasoning and dependency directed backtracking.
Arti cial Intelligence, 9(2):135{196, 1977.
497] J. Stankovic, K. Ramamritham, and S. Cheng. Evaluation of a bidding algorithm for hard
realtime distributed systems. IEEE Trans. on Computers, C34(12):1130{1143, Dec. 1985.
498] J.A. Stankovic. Realtime computing systems: The next generation. Manuscript. Feb. 18,
1988.
499] L. Sterling and E. Shapiro. The Art of Prolog, Advanced Programming Techniques. The
MIT Press, Cambridge, Massachusetts, 1986.
500] H.S. Stone and P. Sipala. The average complexity of depth rst search with backtracking
and cuto . IBM J. Res. Develop., 30(3):242{258, May 1986.
501] H.S. Stone and J.M. Stone. E cient search techniques { an empirical study of the nqueens
problem. IBM J. Res. Develop., 31(4):464{474, July 1987.
502] C.Y. Suen, M. Berthod, and S. Mori. Automatic recognition of hand printed characters {
the state of the art. Proceedings of the IEEE, 68(4):469{487, Apr. 1980.
503] S. Sutanthavibul, E. Shragowitz, and J.B. Rosen. An analytical approach to oorplan design
and optimization. IEEE Trans. on CAD, 10(6):761{769, June 1991.
504] R. P. Swaminathan and D. K. Wagner. The arborescence{realization problem. Discrete
Applied Mathematics 59, pages 267{283, 1995.
505] M. Takashima, T. Mitsuhashi, T.Chiba, and K. Yoshida. Programs for verifying circuit
connectivity of MOS/VLSI artwork. In Proc. of the 19th ACM/IEEE Design Automation
Conference, pages 544{550, 1982.
506] A. Thayse and M. Davio, Boolean di erential calculus and its application to switching
theory, IEEE Trans. on Computers 22 (1973), 409{420.
507] H. Tokuda, J. Wendorf, and H. Wang. Implementation of a time driven scheduler for realtime operating systems. In Proc. of the RealTime Systems Symposium, Dec. 1987.
508] A. Torn and A. Zilinskas. Global Optimization. SpringerVerlag, 1989.
509] P. P. Trabado, A. LlorisRuiz, and J. OrtegaLopera. Solution of Switching Equations Based
on a Tabular Algebra. IEEE Trans. on Computers, C42:591{596, May 1993.
510] K. Truemper. Alphabalanced graphs and matrices and GF(3)representability of matroids.
Journal of Combinatorial Theory B 32, pages 112{139, 1982.
511] K. Truemper. Monotone Decomposition of Matrices. Technical Report UTDCS194, University of Texas at Dallas. 1994.
512] K. Truemper. Polynomial algorithms for problems over dsystems. Presented in the 3rd
International Symposium on AI & Mathematics, Jan. 1994.
513] K. Truemper. In preparation, expected 1997. E ective Logic Computation.
514] G.S. Tseitin. On the Complexity of Derivations in Propositional Calculus. In Structures
in Constructive Mathematics and Mathematical Logic, Part II, A.O. Slisenko, ed., pages
115{125. 1968.
515] K. J. Turner. Computer Perception of Curved Objects Using a Television Camera. PhD
thesis, Univ. Edinburgh, 1974.
516] J.D. Tygar and R. Ellickson. E cient netlist comparisonusing hierarchy and randomization.
In Proc. of the 22nd ACM/IEEE Design Automation Conference, pages 702{708, 1985.
517] J. E. Tyler. Parallel computer architectures and problem solving strategies for the consistent
labeling problem. Master's thesis, Dept. of Elec. Engg., Virginia Polytech. Inst. State Univ.,
Blacksburg, Virginia, Oct. 1983.
518] J.D. Ullman. Principles of Database Systems. Computer Science Press, Rockville, 1982.
519] J.R. Ullman. An algorithm for subgraph isomorphism. J. ACM, 23(1):31{42, Jan. 1976.
520] J.R. Ullman. A binary ngram technique for automatic correction of substitution, deletion,
insertion and reversal errors in words. The Computer Journal, 20(2):141{147, Feb. 1977.
130
JUN GU, PAUL W. PURDOM, JOHN FRANCO, AND BENJAMIN W. WAH
521] S.D. Urban and L.M.L. Delcambre. Constraint analysis: A design process for specifying
operations on objects. IEEE Trans. on Knowledge and Data Engineering, 2(4):391{400,
Dec. 1990.
522] A. Urquhart. Hard examples for resolution. J. of ACM, 34:209{219, 1987.
523] A. Urquhart. The complexity of gentzen systems for propositional logic. Theoretical Computer Science, 66:87{97, 1989.
524] A. Urquhart. The relative complexity of resolution and cutfree gentzen systems. Annals of
Mathematics and Arti cial Intelligence, 6:157{168, 1992.
525] A. Urquhart. The complexity of propositional proofs. The Bulletin of Symbolic Logic,
1(4):425{467, 1995.
526] M. Valtorta. Response to \Explicit Solutions to the NQueens Problem for all N." SIGART
Bulletin, 2(4):4, Aug. 1991, ACM Press.
527] M. van der Woude and X. Timermans. Compaction of hierarchical cells with minimum and
maximum compaction constraints.In Proc. Int'l Symposium on Circuits and Systems, pages
1018{1021, 1983.
528] P. Vanbekbergen, G. Goossens, F. Catthoor, and H. De Man. Optimized Synthesis of
Asynchronous Control Circuits from GraphTheoretic Speci cations. IEEE Trans. on CAD,
11(11):1426{1438, Nov. 1992.
529] P. Vanbekbergen, B. Lin, G. Goossens, and H. De Man. A Generalized State Assignment
Theory for Transformations on Signal Transition Graphs. In Proc. of ICCAD, pages 112{
117, 1992.
530] P. Vanbekbergen, B. Lin, G. Goossens, and H. De Man. A Generalized State Assignment
Theory for Transformations on Signal Transition Graphs. J. of VLSI Signal processing, 1993.
In Press.
531] B. W. Wah, G. J. Li, and C. F. Yu. Multiprocessing of combinatorial search problems. IEEE
Computer, 18(6):93{108, June 1985. Also in Tutorial: Computers for Arti cial Intelligence
Applications, ed. B. W. Wah, IEEE Computer Society, 1986, pp. 173188.
532] B. Wah and G.J. Li. Computers for Arti cial Intelligence Applications. IEEE Computer
Society Press, Washington D. C., 1986.
533] B.W. Wah, editor. New Computers for Arti cial Intelligence Processing. IEEE Computer,
volume 20, number 1. IEEE Computer Society Press, 1987.
534] B.W. Wah, M.B. Lowrie, and G.J. Li. Computers for symbolic processing. Proceedings of
the IEEE, 77(4):509{540, Apr. 1989.
535] B. W. Wah, G. J. Li, and C. F. Yu. Multiprocessing of combinatorial search problems. In
L. Kanal, V. Kumar, and P. S. Gopalakrishnan, editors, Parallel Algorithms for Machine
Intelligence and Pattern Recognition, pages 102{145. SpringerVerlag, New York, NY, 1990.
536] B. W. Wah and L.C. Chu. Combinatorial search algorithms with metacontrol: Modeling
and implementations. Int'l J. of Arti cial Intelligence Tools, 1(3):369{397, September 1992.
537] B. W. Wah and Y. Shang. A comparison of a class of IDA* search algorithms. Int'l J. of
Arti cial Intelligence Tools, 3(4):493{523, October 1995.
538] B. W. Wah and Y. Shang. A discrete lagrangianbased globalsearch method for solving
satis ability problems. In DingZhu Du, Jun Gu, and Panos Pardalos, editors, Proc. of the
DIMACS Workshop on Satis ability Problem: Theory and Applications. American Mathematical Society, March 1996.
539] B. W. Wah and C. F. Yu. Stochastic modeling of branchandbound algorithms with bestrst search. Trans. on Software Engineering, SE11(9):922{934, September 1985.
540] B. Wah and Y.J. Chang. TraceBased Methods for Solving Nonlinear Global Optimization
and Satis ability Problems. J. of Global Optimization. Submitted in July 1995 and accepted
to appear in 1996.
541] D. Waltz. Generating semantic descriptions from drawings of scenes with shadows. Technical
Report AI271, MIT, Nov. 1972.
542] D. Waltz. Understanding Line Drawings of Scenes with Shadows. In P. H. Winston, The
Psychology of Computer Vision, chapter 2, pages 19{92. McGrawHill Book Company, New
York, 1975.
543] W. Wang, J. Gu, and T. C. Henderson. A pipelined architecturefor parallel image relaxation
operations. IEEE Trans. on Circuits and Systems, CAS34(11):1375{1384, Nov. 1987.
ALGORITHMS FOR THE SATISFIABILITY (SAT) PROBLEM: A SURVEY
131
544] W. Wang, J. Gu, and K.F. Smith. A regular layout for concurrent discrete relaxation computation. In Proceedings of 1987 IEEE International CAS Symposium, pages 927{933, May
1987.
545] W. Wang and C.K. Rushforth. An adaptive local search algorithm for channel assignment
problem. IEEE Trans. on Vehicular Technology, Vol. 45, No. 3, pp. 459{466, Aug. 1996.
546] W. Wang and C.K. Rushforth. Structured partitioning for channel assignment problem.
IEEE Trans. on Vehicular Technology, 1996.
547] M. B. Wells. Elements of Combinatorial Computing. Pergamon Press, Oxford, 1971.
548] H.P. Williams. Linear and integer programming applied to the propositional calculus. Systems Research and Information Sciences, 2:81{100, 1987.
549] P.H. Winston. Arti cial Intelligence. AddisonWesley, Reading, 1984.
550] E.E. Witte, R.D. Chamberlain, and M.A. Franklin. Parallel simulated annealing using speculative computation. IEEE Trans. on Parallel and Distributed Systems, 2(4):483{494, Oct.
1991.
551] L. Wos, G. A. Robinson, and D. Carson. E ciency and completeness of the set of support
strategy. Journal of the ACM, 12:536{541, 1965.
552] L.C. Wu and C.Y. Tang. Solving the satis ability problem by using randomized approach.
Information Processing Letters, 41:187{190, 1992.
553] T. Y. Young and K. S. Fu, editors. Handbook of Pattern Recognition and Image Processing.
Academic Press, Orlando, 1986.
554] C. F. Yu. E cient Combinatorial Search Algorithm. PhD thesis, School of Electrical Engineering, Purdue University, West Lafayette, IN, Dec. 1986.
555] C. F. Yu and B. W. Wah. Stochastic modeling of branchandbound algorithms with bestrst search. IEEE Trans. on Software Engineering, 11(9):922{934, Sept 1985.
556] C.F. Yu and B.W. Wah. E cient branchandbound algorithms on a twolevel memory
system. IEEE Trans. on Software Engineering, 14(9):1342{1356, Sept 1988.
557] R. Zabih and D. McAllester. A rearrangement search strategy for determining propositional
satis ability. In Proceedings of AAAI'88, pages 155{160, 1988.
558] V.N. Zemlyachenko, N.M. Korneeko, and R.I. Tyshkevich. Graph isomorphism problem. J.
of Soviet Mathematics, 29:1426{1481, 1985.
559] S. Zhang and A. G. Constantinides. Lagrange programming neural networks. IEEE Transactions on Circuits and SystemsII: Analog and Digital Signal Processing, 39(7):441{452,
1992.
560] S. Zhou. A tracedriven simulation study of dynamic load balancing. IEEE Trans. on Software Engineering, SE14(9):1327{1341, Sept. 1988.
561] S. W. Zucker, R. A. Hummel, and A. Rosenfeld. An application of relaxation labeling to
line and curve enhancement. IEEE Trans. on Computers, C26:394{403,922{929, 1977.
Dept. of Electrical and Computer Engineering, Univ. of Calgary, Calgary, Alberta T2N 1N4, Canada
Email address :
gu@enel.ucalgary.ca, jungu@dimacs.rutgers.edu
Dept. of Computer Science, Indiana University, Bloomington, Indiana 47405, U.S.A.
Email address :
pwp@cs.indiana.edu
Computer Science Department, University of Cincinnati, Cincinnati, OH 452210008,
U.S.A.
Email address :
John.Franco@UC.Edu
Dept. of Electrical and Computer Engineering, Univ. of Illinois at UrbanaChampaign, Urbana, IL 618013082, U.S.A.
Email address :
bwah@uiuc.edu