Page 1

A Dynamic Approach to MPE and Weighted MAX-SAT

Tian Sang1, Paul Beame1, and Henry Kautz2

1Department of Computer Science and Engineering

University of Washington, Seattle, WA 98195

{sang,beame}@cs.washington.edu

2Department of Computer Science

University of Rochester, Rochester, NY 14627

kautz@cs.rochester.edu

Abstract

The problem of Most Probable Explanation (MPE)

arises in the scenario of probabilistic inference:

finding an assignment to all variables that has the

maximum likelihood given some evidence.

consider the more general CNF-based MPE prob-

lem, where each literal in a CNF-formula is asso-

ciated with a weight. We describe reductions be-

tween MPE and weighted MAX-SAT, and show

that both can be solved by a variant of weighted

model counting. The MPE-SAT algorithm is quite

competitive with the state-of-the-art MAX-SAT,

WCSP, and MPE solvers on a variety of problems.

We

1Introduction

Constraint Satisfaction Problems(CSP) havebeen the subject

of intensive study; many real-world domains can be formal-

ized by CSP models and solved by either complete or incom-

plete reasoning methods. Beyond classic CSP, where a solu-

tion must satisfy all hard constraints, some CSP models are

capable of handling both hard and soft constraints. The def-

inition of constraints and the measurement of the quality of

a solution vary from model to model, and the goal is usually

to find a best solution to the constraints, rather than simply

a solution. For example, the constraints can be associated

with probability, cost, utility, or weight; the goal can be to

minimize costs of violated constraints, or to maximize the

likelihood of a variable assignment, etc. However, all fit in

a general framework for soft constraints, namely, semi-ring

based CSPs [Bistarelli et al., 1997]. In this paper, we focus

on two specific models: MPE and weighted MAX-SAT.

MAX-SAT extends SAT to the problem of finding an as-

signment that maximizes the number of satisfied clauses, in

case the formula is unsatisfiable. Weighted MAX-SAT ex-

tends MAX-SAT by adding a weight to each clause, with

the goal of finding an assignment that maximizes the sum

of weights of satisfied clauses.

MAX-SAT problems are solved by either incomplete local

searchmethodsorcompletebranch-and-boundbasedexhaus-

tive search.For most MAX-SAT problems, local search

methodsexhibitbetterspeed andscaling thancompletemeth-

ods. Local search methods, unfortunately, do not provide a

proof that the returned solution is optimal.

MAX-SAT and weighted

The success of modern complete SAT solvers has inspired

anumberofresearcherstodevelopimprovedcompleteMAX-

SAT algorithms. Recent developments include using unit

propagation for strong bound computation [Li et al., 2005;

2006]; adapting local consistency methods developed for

CSP to MAX-SAT [de Givry et al., 2003]; and using fast

pseudo-BooleansolverstochecktheoptimalityofMAX-SAT

bounds[Aloul et al., 2002].

In probabilistic reasoning, the problem of Most Probable

Explanation (MPE) is to find an assignment to all variables

that has the maximum likelihood given the evidence. Exact

methods for MPE on probability distributions represented by

Bayesian networks include well-known methods such as the

Join Tree algorithm [Jensen et al., 1990], as well as a recent

branch-and-bound algorithm, AND/OR Tree Search [Mari-

nescu and Dechter, 2005]. Since solving MPE exactly is NP-

Hard, local search algorithms have been introduced for ap-

proximation [Park, 2002]. In this paper, we consider MPE

on CNF formulas with weighted literals, where the goal is to

find a solution with maximum product or sum of its literal

weights. This CNF-based MPE problem is strictly more gen-

eral than MPE for discrete Bayesian networks, because any

discrete Bayesian network can be converted to a CNF with

weightedliterals whosesize is linear inthe size ofconditional

probabilitytables (CPTs) of the network[Sang et al., 2005b].

MPE on CNF can be viewed as a special case of Weighted

Model Counting (WMC) [Sang et al., 2005b], and is likely

easier than WMC because we may apply branch-and-bound

based pruning techniques to reduce the search space. We

choose Cachet [Sang et al., 2004], a state-of-the-art model

counting system, as a platform on which to build our

MPE solver, and we extend pruning techniques for sub-

problems with components. As a result, we present MPE-

SAT, a decomposition-based branch-and-bound algorithm

that works on top of WMC and prunes the search space ef-

fectively. Furthermore, we are able to use the dtree algorithm

of[Huang and Darwiche, 2003; Darwiche, 2002]to boost the

performance on problems with good decomposability.

In general, MPE and weighted MAX-SAT illustrate two

complementary ways of representing soft constraints: either

having weight on variables or having weight on constraints

(clauses). Although they have apparently different represen-

tations of weight and goals, they can be converted to each

other by adding auxiliary variables or clauses, possibly at

IJCAI-07

173

Page 2

some loss in efficiency. In addition to describing these re-

ductions, we show how to formulate CNF-based MPE as an

iterative pseudo-Boolean satisfiability (PBSAT) process.

In our experimentswe compareour MPE solver MPE-SAT

with other state-of-the-art complete MPE/MAX-SAT solvers

as well as a pseudo-Boolean solver on a variety of MPE and

MAX-SAT problems. Our approach is quite competitive on

most problems and is significantly faster than each of the

other solvers on at least one of the classes of benchmarks.

2MPE and Weighted MAX-SAT

The MPE problem originated in research on Bayesian net-

works, oneofthe mostpopulargraphicalmodels. A Bayesian

network is a DAG, where each source node has a prior proba-

bility distribution on its values and each non-source node has

a Conditional Probability Table (CPT) specifying the proba-

bility distribution of its values given the values of its parents.

Most Probable Explanation (MPE) is the problem of finding

a complete assignment of values to nodes that has the max-

imum likelihood given some node values as evidence. The

likelihood of a complete assignment is the product of the cor-

responding entries in the conditional probability tables and

the prior probabilities. To solve MPE exactly, one can ei-

ther compile the Bayesian network into a junction tree and

then propagate the evidence [Jensen et al., 1990], or per-

form a branch-and-bound search, e.g., AND/OR tree search

[Marinescu and Dechter, 2005]. Alternatively, one can con-

vert MPE to weighted MAX-SAT and solve it by any local

search algorithm[Park, 2002].

We begin with some definitions:

Definition 1 A CNF formula with weighted literals is a CNF

formula plus a function weight that maps literals to real-

valued non-negativeweights.

Definition 2 Given a combination operator ⊕ defined on the

reals, the problem of MPE on CNF formulas with weighted

literals is to find a complete satisfying assignment s that has

the maximum ⊕iweight(vi), where viis either the positive

or negativeform of the ith variablein s. To be convenient,we

also define the inverse operator ?. MPE of an unsatisfiable

CNF formula is defined to be 0.

This CNF-based MPE can represent Bayesian-network-

basedMPEbecausetherearelinearreductionsfromBayesian

networks to CNF formulaswith weightedliterals[Sang et al.,

2005b; Chavira and Darwiche, 2005]. Practically, setting ⊕

to arithmetic + or × (then ? is either − or /) suffices our

purposes . For example, × is used for likelihood-originated

MPE and + is used for weightedMAX-SAT-originatedMPE.

In the rest of the paper, we will use the short term MPE for

“MPE on CNF formulas with weighted literals”, when there

is no confusion.

The problem of weighted MAX-SAT on a CNF formula is

to find an assignment that has the maximum sum of weights

ofall clausessatisfiedbythatassignment. Wheneveryweight

is 1, weighted MAX-SAT reduces to MAX-SAT.

Both MPE and weighted MAX-SAT optimize a metric of

the weight, the only difference is that MPE has a weight on

each literal and weighted MAX-SAT has a weight on each

clause. Not surprisingly these two representations are equiv-

alent in that they can be directly converted to each other.

MPE to weighted MAX-SAT

We give a simple conversion for MPE on CNF to weighted

MAX-SAT, which is different from the encoding in [Park,

2002] translates MPE on Bayesian Networks to weighted

MAX-SAT. Assuming the combination operator is +,

• for each literal in MPE, a unit clause is added with

weight equal to the weight of the literal.

• all original clauses in MPE are assigned an “infinite”

weight, which is a number chosen to be at least as large

as the sum of the weights added in the previous step.

Since all original clauses have an infinite weight, any op-

timal solution in weighted MAX-SAT must satisfy them and

maximize the sum of weights of satisfied unit clauses, which

obviously maximizes the sum of literal weights in MPE and

therefore is an optimal solution in MPE as well, and vice

versa. The converted formula has a mixture of hard and soft

constraints, which is a challenge for exact weighted MAX-

SAT solvers: to be efficient, they must take advantage of the

hard constraints.

Weighted MAX-SAT to MPE

Givry et. al. [2003]describeda Pseudo-Booleanencodingfor

MAX-SAT. Although that does not explicitly refer to MPE,

it can be modified for MPE by adding proper weights. Our

conversion is as follows:

• for every variable x in weighted MAX-SAT, let

weight(x) = weight(¬x) = 0.

• for every clause ciin weighted MAX-SAT, an auxiliary

literal ¬yiis added to ci, with weight(¬yi) = 0 and

weight(yi) = weight(ci).

While the original formula for MAX-SAT may be unsat-

isfiable, the converted formula is guaranteed to be satisfiable

because one can always obtain a trivial solution by setting all

auxiliary y variables to false. When the combinationoperator

is fixed to sum, solvingMPE on the convertedformulafinds a

solutionwith amaximumsumofweightofy variables,which

is equivalent to maximizing the sum of weights of satisfied

clauses in weighted MAX-SAT. This encoding does not add

any clause, but needs as many auxiliary variables as the num-

ber of clauses. The inflated number of variables makes solv-

ing MPE more difficult, especially since auxiliary variables

make every clause trivially satisfiable and thus unit propaga-

tion and conflict-driven learning become unavailable.

MPE and Pseudo-Boolean SAT

Since the encoding in[de Givry et al., 2003]converts MAX-

SAT to Pseudo-Boolean SAT and (weighted) MAX-SAT and

MPE are equivalent, we observe that there is a close relation-

ship between MPE as Pseudo-Boolean SAT as well.

Definition 3 Given a CNF formula φ and a set C of linear

constraints over variables in φ, Pseudo-Boolean SAT (PB-

SAT) is to find a total assignment that satisfies both φ and

linear constraints in C.A linear constraint has the form

?n

i=1aivi ≥ d where viis a variable that takes value 0 or

IJCAI-07

174

Page 3

1, aiand d are real-valued constants and n is the number of

variables.

We show how to convert a likelihood-based MPE to an

iterative PBSAT process. In the context of likelihood, the

combination operator ⊕ becomes ×, and a variable vi has

weight(vi) = piand weight(¬vi) = 1 − pi. Without loss

of generality, we assume 0 < pi< 1, otherwise if pi= 0 (1)

we solve the simplified formula with viinstantiated to 0 (1).

TheMPE goalis to finda completesatisfyingassignmentthat

maximizes

?

xi=1

pi

?

xi=0

(1 − pi)=

?

i

(

pi

1 − pi)

xi?

i

(1 − pi).

Since?

function, this is equivalent to maximizing

pi

1 − pi)

i(1 − pi) is a constant and log is an increasing

log [

?

i

(

xi] =

?

i

log(

pi

1 − pi)xi.

This linear expression can be used as the left side of a

linear constraint in PBSAT, but we still need to figure

out what bound d to put on the right side.

tion of MPE, we know that the optimal value must be in

[ 0,?n

for the bound d using binary search. At each step when d is

set, we solve PBSAT with a single linear constraint

pi

1 − pi)xi ≥ d.

By defini-

i=1Max(pi,(1−pi)) ]. Now we can iteratively search

?

i

log(

In this way, we can get d arbitrarily close to the optimal value

in a bounded number of steps.

3 Algorithms and the Implementation

In this section, we first examine a simple MPE algorithm and

then show how to enhance it with some advanced techniques.

3.1

The na¨ ıve Algorithm 1 is a simple modificationof the classic

DPLL search. First if the formulais empty(alreadysatisfied),

DPLL-MPE returns the optimal value (e.g., sum or product)

ofweightsofunassignedvariables,whichbecomespartofthe

current value; if the formula is UNSAT, DPLL-MPE returns

0 by definition; otherwise it selects a variable to branch, re-

cursively solves each branch and then returns the best value,

which is the better one found in the two branches.

Unlike DPLL for SAT where the search halts when a SAT

leaf is found,DPLL-MPEperformsan exhaustivesearchover

all possible SAT leaves for the optimal value. It can be very

slow without proper pruning, and that is why branch-and-

bound algorithms are widely used for many similar optimiza-

tion tasks including MAX-SAT and weighted CSP.

DPLL for MPE

Algorithm 1 DPLL-MPE

DPLL-MPE(φ) // returns MPE of CNF formula φ

if φ is empty, return optimal value of unassigned variables

if φ has an empty clause, return 0

select an unassigned variable v ∈ φ to branch

return Max(DPLL-MPE(φ|v=0) ⊕ weight(¬v) ,

DPLL-MPE(φ|v=1) ⊕ weight(v))

Algorithm 2 MPE-SAT

MPE-SAT(φ,lb) // returns MPE of CNF formula φ

if φ is empty, return optimal value of unassigned vars

if φ has an empty clause, do nogood learning and return 0

do dynamic component detection: solve each separately

do cache lookup: reuse previously computed values

do dynamic bounding: if E(φ) ≤ lb return 0 // pruning

select an unassigned literal v ∈ φ by branching heuristics

lresult = MPE-SAT(φ|v=0,lb ? weight(¬v))

update lb according to lresult

rresult = MPE-SAT(φ|v=1,lb ? weight(v))

result = Max(lresult ⊕ weight(¬v),rresult ⊕ weight(v))

do caching: AddToCache(φ, result)

return result

3.2Branch-and-Bound and Decomposition

Branch-and-boundis the underlying mechanism for most ex-

haustive search algorithms that find an optimal solution. The

branch-and-boundalgorithm maintains a global best solution

found so far, as a lower bound. If the estimated upper bound

of a node is not better than the lower bound, the node is

pruned and the search continues with other branches.

Previous research has shown that decomposition and

caching techniques are critical for such exhaustive search to

be efficient [Darwiche, 2002; Bacchus et al., 2003; Sang et

al., 2004; Marinescu and Dechter, 2005]. However, with dy-

namic decomposition the simple form of branch-and-bound

must be modified. During the search, a problem may decom-

pose into several independent sub-problems (components)

that, for efficiency, one would like to analyze separately. The

branch-and-boundalgorithmmustincludea wayofallocating

portions of the global bounds to the individual components.

3.3MPE-SAT

To address the above issues, we develop MPE-SAT, a

new decomposition-based branch-and-bound algorithm with

dynamic decomposition and caching.

DPLL-MPE with the following function blocks. Since there

are a number of similarities with the related AND/OR tree

search algorithm [Marinescu and Dechter, 2005], we briefly

compare our methods with that algorithm.

Dynamic Component Detection A connected component

detection is performed dynamically for every non-trivial φ

in the search. Since components of φ are independent sub-

problems with disjoint variables, they are solved separately

and then their results are combined to get the result for φ

(though Algorithm 2 does not show details of these obvi-

ous steps due to space limitation). (In AND/OR tree search,

components are determined statically using the pseudo tree

constructed before the search.)

Caching and Cache lookup When the value of a com-

ponent is known, the component with its value is stored in

a hash table (caching) for later reuse (cache lookup), which

avoids repeated computation. A component to store can be

its correspondingclauses or a short signatureof the clauses to

save space. Even when the exact value of a component is un-

known because of pruning in its subtree, a proper bound can

be cached for reuse too. The purpose of this bound caching

MPE-SAT extends

IJCAI-07

175

Page 4

is to save the partial work already done for a component that

is to be pruned. A cached bound can be used as an estimated

upper bound of the component for pruning and it is updated

whenever a tighter bound or the exact value of the same com-

ponent is found. (AND/OR tree search caches the context

instead of the component itself.)

Dynamic Bounding The parameterlb, initially ∞ or given

by local search, is the lower bound for φ when φ is created.

E(φ) is an upper bound estimation of the true value of φ,

which can be simply ⊕v∈φMax(weight(v),weight(¬v)), a

cachedboundora resultbyspecial computation(as described

in section 3.4). If E(φ) is at most lb, the current branch is

pruned for it will not yield a better result. Note that for a

subproblem, lb for its right branch may be better than lb for

its left branch, because solving the left branch may improve

the previous lb. When a sub-problem (component) is being

solved, only local information is needed for pruning; i.e., the

bound from its parent and the bounds from sibling compo-

nents, which are updated dynamically. A parent’s lb is imme-

diately broken and passed into its sub-problems for pruning

(top-down). For example, if sub-problemS splits into S1and

S2then lbS1= lbS? E(S2). and lbS2= lbS? E(S1).

However, since S2is solved after S1, lbS2should be dynam-

ically updated with the exact value of S1replacing E(S1).

(AND/OR tree searchuses dynamicboundingas well but col-

lects bounds from sub-problems (bottom-up).)

Branching Heuristics Any dynamic heuristic good for

DPLL search will work, and it turns out that decomposition-

based heuristics are often very useful (as discussed in section

3.4). (AND/OR tree search uses the statically-constructed

pseudo-tree heuristic, which also aims at decomposition.)

Nogood Learning The well-known conflict-driven clause

learningtechniqueforsatisfiability testing, e.g.,[Zhanget al.,

2001], can be directly used for CNF-based MPE. Learned

clauses implicitly prune the infeasible search space.

Comparison Since the top-down scheme passes the best

known lower bound to a sub-problem once it is available,

MPE-SAT may examine fewer nodes than AND/OR tree

does when pruning occurs. MPE-SAT benefits from nogood

learning that dynamically changes its variable ordering (with

VSIDS or VSADS heuristic), while nogood learning is likely

less useful for the static pseudo-tree variable ordering. The

dynamic componentdetection in MPE-SAT is more powerful

than the static detection in AND/OR tree search because the

latter may miss some decomposition due to dynamic effects;

however, the overhead of the former is much higher. Finally,

the more expensive component caching in MPE-SAT is more

powerful than context caching in AND/OR tree search, be-

cause different contexts may lead to the same component.

3.4The Implementation

Theproblemofmodelcounting(countingthenumberofsolu-

tionsofaCNF formula)sharesmanyfeatureswithMPE,both

requiring exhaustive search. In DPLL-MPE if we replace the

max operation by sum (and the optimal value of a SAT leaf is

one) we will get a na¨ ıve model countingalgorithm. Using the

weighted model counting system Cachet [Sang et al., 2004]

as a platform, we have implemented the MPE-SAT algorithm

and the following to better support it.

Component Processing Components are processed in a

depth-first order and the search stays within a component un-

til it is finished. This component processing strategy is well

suited to dynamic bounding for sibling components, but it

is different from that for model counting. In Cachet, once

a component is found SAT during search, the work on the

rest of that component will be temporarily suspended and an

unexploited component (if available) will be processed next.

That strategy works well for finding UNSAT components as

soon as possible, which is good for model counting; but in

MPE-SAT we want to continueworkingona SAT component

until it is fully done, because the known value of a finished

component yields better lower bounds for its siblings when

they are checked for pruning.

Optimal Solution Retrieval In order to get the optimal

solution as well as the optimal value, we need to maintain

all partial solutions associated with all the active components

on the current search path, from which we can compose the

optimal solutionat backtracking. The optimalpartial solution

of a component must be cached together with its exact value.

Branching Heuristics The dynamic branching heuristics

for SAT and model counting such as VSIDS, VSADS and

EUPC[Moskewiczet al., 2001;Sang et al., 2005a]workwell

for MPE too. These heuristics aim at maximizing the effect

of unit propagationor avoiding the infeasible search space by

learning from conflicts. However for MAX-SAT problems,

we have found that the dtree-based semi-dynamic branch-

ing heuristic [Huang and Darwiche, 2003; Darwiche, 2002;

2004]is often better, because in those problemsunit propaga-

tionsandconflicts thatguidedynamicheuristics arenolonger

available whereas structural decomposition based heuristics

are affected less. The dtree program by [Huang and Dar-

wiche, 2003]computes a static variable group orderingbased

on dtree decomposition [Darwiche, 2002], which is fed

to MPE-SAT. The semi-dynamic branching heuristic makes

choices by dynamic heuristic for variables in the same group,

but prefers variables in a group with higher priority and the

group priorities are determined statically by dtree. The time

forrunningdtreeis usually insignificantcomparedto the time

for solving the problem. A nice property of dtree is that after

each group of variables is instantiated (from high to low pri-

ority), the problem is guaranteed to decompose. However, if

a problemhas a large tree-width, the sizes of the high priority

groups by dtree can be so large that the search space blows

up before the problem decomposes.

Upper Bound Computation We are able to extend the

UP heuristic [Li et al., 2005] to weighted MAX-SAT in our

solver. Computing an upper bound on the weight of the satis-

fied clauses of formula φ is equivalent to computing a lower

bound on the weight of violated clauses of φ. The weight of

violated clauses of φ can be estimated as follows:

CostLB = 0

for each unit clause of φ

Simplify φ by setting the current unit clause to true

if there is an empty clause (conflict)

increment CostLB by the minimum weight of the

empty clause and the clauses for deriving it, and

remove clauses for deriving the empty clause from φ

CostLB is the lower bound of violated clauses at the end.

IJCAI-07

176

Page 5

We alsoadopta trickfrompreviousMAX-SATsolversthat

when the value of a known solution and the current estimated

value differ only by one, unit clauses are safely propagated.

4 Experimental Results

We tested with both CNF-based MPE and MAX-SAT.

The CNF-based MPE problems are either from random

3-CNF or structured CNF formulas with random literal

weights (equivalent to weighted MAX-SAT), or trans-

lated from Bayesian networks (special because of the

ad-hoc Bayesian-network-to-CNF encoding).

SAT problems are structured ones used in previous liter-

ature and fault diagnosis problems generated from stan-

dard circuit benchmarks that are challenging for many

solvers.More details of these problems can be found at

www.cs.washington.edu/homes/sang/benchmarks.htm

We used the following state-of-the-art solvers:

Toolbar [de Givry et al., 2003; 2005]: an exact weighted

CSP solverthatintegratesefficientalgorithmsformaintaining

various levels of local consistency. It is a generic solver for

weightedCSP andweightedMAX-SAT.We usedversion3.0.

UP [Li et al., 2005] : an exact branch-and-bound MAX-

SAT solver using unit propagation and distinguishing inde-

pendent conflicts for powerful lower bound computation.

MaxSatz [Li et al., 2006] : an exact branch-and-bound

MAX-SAT solver extending UP with sophisticated lower

bound computation techniques. Highly optimized for MAX-

SAT, it was the winner of the 2006 MAX-SAT evaluation.

PB2 [Aloul et al., 2002] : a pseudo Boolean SAT solver

that takes linear constraints. It can prove the optimality of

encoded MAX-SAT problems. Basically, an auxiliary vari-

able is added for each clause and there is a linear constraint

limiting the sum of these added variables to the given bound.

AoTree[Marinescu and Dechter, 2005]: the AND/OR tree

implementation that works for MPE of Bayesian networks

and weighted CSP.

MPE-SAT: our solver that implements the MPE-SAT al-

gorithm. It is for CNF-based MPE and weighted MAX-SAT.

All experiments were done on a Linux machine with 2.8

GHz Pentium 4 CPU and 4 GB memory, except that we ran

AoTreeona Windowsmachinewith 2.8GHz Pentium4 CPU

and 1.5 GB memory. The runtime cutoff is 600 seconds.

Since not all solvers apply to the same domains, for each do-

main, we show the results only for the solvers that apply.

The MAX-

0.01

0.1

1

10

100

1000

1.8 2.2 2.6 3 3.4 3.8 4.2

time (sec)

clause/var ratio

Random MPE (100 variables)

mpe-sat

toolbar

pb2

Figure 1: MPE of random 3-CNF (median runtime)

Problems #vars #clausesToolbarPB2 MPE-SAT

ra

rb

rc

1236

1854

2472

252

150

304

11416

11324

17942

766

370

578

30

X

X

17

X

X

0.04

1.2

10

5.5

3.5

X

0.18

0.72

3.9

0.21

0.28

15

2bitcomp6

2bitmax6

rand1

Figure 2: MPE of circuit CNF and runtime in seconds.

Problems#Node Induced widthAoTree MPE-SAT

75-12

90-15

75-15

90-25

90-30

144

225

225

625

900

19

23

25

41

47

20

412

X

X

X

0.47

0.1

0.56

5.5

68

Figure 3: MPE of grid Bayesian networks and runtime in seconds.

The first domain is MPE on satisfiable random 3-CNF for-

mulas with randomweights between 1 and 1000 on each pos-

itive literal and 0 weight on each negative literal. The prob-

lems were convertedto weightedMAX-SATvia the encoding

in section 2 (introducingonly positiveunit clauses). Since we

use + as the combination operator ⊕ for MPE here, a direct

translation to PBSAT is adding a linear constraint where the

weighted sum of all positive literals is at least a given bound.

In principle we should run PB2 iteratively to optimize this

bound, but we just set the bound as opt (for proving SAT)

and opt + 1 (for proving UNSAT), because PB2 is not effi-

cientenoughonthisdomain. (Thevalueofoptwas thatfound

by other solvers.) For MPE-SAT, we used the weight-based

dynamic heuristic, where variable selections with good unit-

propagated weights are preferred before a solution is found

(to get a good bound early) and bad unit-propagated weights

are preferred afterwords (to get prunings early).

In Figure 1, each point represents the median runtime on

100 instances. On the PB2 curve, the data point of ratio 2.6

is actually a timeout (median > 600 seconds). Compared to

the other two, PB2 is very inefficient at low ratios, frequently

timed out. However, as the problem gets more and more

constrained with ratio increasing towards 4.2, PB2 improves

significantly. MPE-SAT has a similar trend: it is about two

times slower than Toolbar at low ratios, but gains a dramatic

speedup at high ratios. Apparently at high ratios MPE-SAT

and PB2 benefit a lot from clause learning by the underlying

SAT engine, which prunes most infeasible search space. The

curve of Toolbar is rather flat before ratio 4.2. For low ratio

under-constrainedproblems, Toolbar prunes the search space

very effectively using advanced bounding techniques; how-

ever, without nogood learning, it is not effective at pruning

using the constraints and so does poorly on well-constrained

high ratio problems. This effect is amplified with 200 vari-

ables and ratio 4.2: Toolbar often cannot solve an instance in

an hour but MPE-SAT can solve it in a few seconds.

Figure 2 shows the results of MPE on structured circuit

CNF formulas with random variable weights. Clearly most

problems are easy to MPE-SAT but hard or non-solvable to

Toolbar. We also ran PB2 with a na¨ ıve binary search for the

optimal value. PB2 works fine on all problems but one. It

appears that CNF-based MPE suits MPE-SAT and PB2 better

than Toolbar, which is optimized for weighted CSP.

In Figure 3, we compared with AND/OR tree search on

IJCAI-07

177