+ All Categories
Home > Documents > Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus...

Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus...

Date post: 23-Mar-2021
Category:
Upload: others
View: 2 times
Download: 0 times
Share this document with a friend
32
Journal on Satisfiability, Boolean Modeling and Computation 4 (2008) 117-148 Whose side are you on? * Finding solutions in a biased search-tree Marijn J.H. Heule [email protected] Hans van Maaren [email protected] Department of Software Technology, Delft University of Technology, The Netherlands Abstract We introduce a new jump strategy for look-ahead based satisfiability (Sat) solvers that aims to boost their performance on satisfiable formulae, while maintaining their behavior on unsatisfiable instances. Direction heuristics select which Boolean value to assign to a decision variable. They are used in various state-of-the-art Sat solvers and may bias the distribution of solutions in the search-tree. This bias can clearly be observed on hard random k-Sat formulae. While alternative jump / restart strategies are based on exploring a random new part of the search-tree, the proposed one examines a part that is more likely to contain a solution based on these observations. Experiments with - so-called distribution jumping - in the march ks Sat solver, show that this new technique boosts the number of satisfiable formulae it can solve. More- over, it proved essential for winning the satisfiable crafted category during the Sat 2007 competition. Keywords: direction heuristics, jumping strategy, look-ahead SAT solvers Submitted October 2007; revised January 2008; published May 2008 1. Introduction Various state-of-the-art satisfiability (Sat) solvers use direction heuristics to predict the sign of the decision variables: These heuristics choose, after the selection of the decision variable, which Boolean value is examined first. Direction heuristics are in theory very powerful: If always the correct Boolean value is chosen, satisfiable formulae would be solved without backtracking. Moreover, existence of perfect direction heuristics (computable in polynomial time) would prove that P = NP . On some families these heuristics bias the location of solutions in the search-tree. Given a large family with many satisfiable instances, this bias can be measured on small instances. The usefulness of this depends on what we call the bias-extrapolation property: Given the direction heuristics of a specific solver, the observed bias on smaller instances extrapolates * This paper is an extended version of: Marijn J.H. Heule and Hans van Maaren. Whose side are you on? Finding solutions in a biased search-tree. Proceedings of Guangzhou Symposium on Satisfiability In Logic-Based Modeling (2006), 82-89. Supported by the Dutch Organization for Scientific Research (NWO) under grant 617.023.611. c 2008 Delft University of Technology and the authors.
Transcript
Page 1: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Journal on Satisfiability, Boolean Modeling and Computation 4 (2008) 117-148

Whose side are you on?∗

Finding solutions in a biased search-tree

Marijn J.H. Heule† [email protected]

Hans van Maaren [email protected]

Department of Software Technology,

Delft University of Technology,

The Netherlands

Abstract

We introduce a new jump strategy for look-ahead based satisfiability (Sat) solvers thataims to boost their performance on satisfiable formulae, while maintaining their behavioron unsatisfiable instances.

Direction heuristics select which Boolean value to assign to a decision variable. Theyare used in various state-of-the-art Sat solvers and may bias the distribution of solutionsin the search-tree. This bias can clearly be observed on hard random k-Sat formulae.While alternative jump / restart strategies are based on exploring a random new part ofthe search-tree, the proposed one examines a part that is more likely to contain a solutionbased on these observations.

Experiments with - so-called distribution jumping - in the march ks Sat solver, showthat this new technique boosts the number of satisfiable formulae it can solve. More-over, it proved essential for winning the satisfiable crafted category during the Sat 2007competition.

Keywords: direction heuristics, jumping strategy, look-ahead SAT solvers

Submitted October 2007; revised January 2008; published May 2008

1. Introduction

Various state-of-the-art satisfiability (Sat) solvers use direction heuristics to predict the signof the decision variables: These heuristics choose, after the selection of the decision variable,which Boolean value is examined first. Direction heuristics are in theory very powerful: Ifalways the correct Boolean value is chosen, satisfiable formulae would be solved withoutbacktracking. Moreover, existence of perfect direction heuristics (computable in polynomialtime) would prove that P = NP.

On some families these heuristics bias the location of solutions in the search-tree. Givena large family with many satisfiable instances, this bias can be measured on small instances.The usefulness of this depends on what we call the bias-extrapolation property: Given thedirection heuristics of a specific solver, the observed bias on smaller instances extrapolates

∗ This paper is an extended version of: Marijn J.H. Heule and Hans van Maaren. Whose side are you

on? Finding solutions in a biased search-tree. Proceedings of Guangzhou Symposium on SatisfiabilityIn Logic-Based Modeling (2006), 82-89.

† Supported by the Dutch Organization for Scientific Research (NWO) under grant 617.023.611.

c©2008 Delft University of Technology and the authors.

Page 2: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

to larger ones. Notice that this notion depends on the action of a particular solver on thefamily involved: i.e. a solver with random direction heuristics may also satisfy the biasextrapolation property, but not in a very useful way - probably, there is no bias at all. Incase the estimated bias shows a logical pattern, it could be used to consider a jumpingstrategy that adapts towards the distribution of the solutions. We refer to this strategy asdistribution jumping.

Other jump strategies have been developed for Sat solvers. The most frequently usedtechnique is the restart strategy [4]: If after some number of backtracks no solution hasbeen found, the solving procedure is restarted with a different decision sequence. Thisprocess is generally repeated for an increasing number of backtracks. This technique couldfix an ineffective decision sequence. A disadvantage of restarts is its potential slowdownof performance on unsatisfiable instances, especially on look-ahead Sat solvers. However,conflict driven Sat solvers on average improve their performance using restarts.

Another jumping strategy is the random jump [10]. Instead of jumping all the wayto the root of the search-tree, this technique jumps after some backtracks to a randomlevel between the current one and the root. This technique could fix a wrongfully chosensign of some of the decision variables. By storing the subtrees that have been visited theperformance on unsatisfiable instances is only slightly reduced for look-ahead Sat solvers.

Both these techniques are designed to break free from an elaborate subtree in which thesolver is ”trapped”. Our proposed technique not only jump out of such a subtree but alsotowards a subtree with a high probability of containing a solution. Unlike restart strate-gies, random jumping and distribution jumping only alter the signs of decision variables.Therefore, for look-ahead Sat solvers, the performance on unsatisfiable formulae does notinfluence (besides some minor overhead) costs. Yet, for conflict driven Sat solvers theperformance on unsatisfiable instances is affected, as well.

The outline of this paper is as follows: Section 2 introduces the direction heuristicsused in complete (DPLL based) Sat solvers. In each step, these solvers select a decisionvariable (decision heuristics). Whether to first visited the positive branch (assigning thedecision variable to true) or the negative branch (assigning the decision variable to false) isdetermined by these direction heuristics. These heuristics can heavily influence the perfor-mance on satisfiable benchmarks. In case conflict clauses are added, the performance onunsatisfiable instances is affected, as well.

Section 3 studies the influence of existing direction heuristics. More specific, we askourselves the question: Given a (complete) Sat solver and a benchmark family, is thedistribution of solutions in the search-tree biased (not uniform)? A possible bias is causedby the direction heuristics used in the Sat solver. We offer some tools to visualize, measureand compare the possible bias for different Sat solvers on hard random k-Sat formulae.We selected this family of formulae because it is well studied and one can easily generatemany hard instances for various sizes.

The bias we observe, can intuitively be explained: Since the direction heuristics discussedin this paper aim to select the heuristically most satisfiable subtree (referred to as the left

branch) first, a bias towards the left branches is expected and observed. Near the root of thesearch-tree, the considered (reduced) formulae are larger and more complex compared tothose lower in the tree. Therefore, it is expected that the effectiveness of direction heuristics

118

Page 3: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

improves (and thus the bias towards the left branches increases) in nodes deeper in the tree- which is also observed.

Section 4 discusses the possibilities to capitalize on a given / observed bias. We focuson the observed bias of look-ahead Sat solvers k-Sat formulae. We developed a newjump strategy, called distribution jumping, which visits subtrees in decreasing (observed)probability of containing a solution. We show that using the proposed (generalized) orderof visiting subtrees - compared to visits them in chronological order - results in a significantspeed-up in theory.

We implemented this new technique in march ks and Section 5 offers the results. Theseresults show performance gains on random k-Sat formulae. On many satisfiable structuredbenchmarks improvements were observed, as well. Due to this technique, the look-aheadSat solver march ks won the satisfiable crafted family of the Sat 2007 competition. Finallysome conclusions are drawn in Section 6.

2. Direction heuristics

All state-of-the-art complete Sat solvers are based on the DPLL architecture [2]. Thisrecursive algorithm (see Algorithm 1) first simplifies the formula by performing unit prop-agation (see Algorithm 2) and checks whether it hits a leaf node. Otherwise, it selects adecision variable xdecision and splits the formula into two subformulae where xdecision is forced- one for positive (denoted by F(xdecision = 1)) and one for negative (F(xdecision = 0)).

Algorithm 1 DPLL( F )

1: F := UnitPropagation( F )2: if F = ∅ then

3: return satisfiable

4: else if empty clause ∈ F then

5: return unsatisfiable

6: end if

7: ldecision := SelectDecisionLiteral( F )8: if DPLL( F(ldecision = 1) ) = satisfiable then

9: return satisfiable

10: else

11: return DPLL( F(ldecision = 0) )12: end if

Algorithm 2 UnitPropagation(F)

1: while F does not contain an empty clause and unit clause y exists do

2: satisfy y and simplify F3: end while

4: return F

119

Page 4: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

The search-tree of a DPLL based Sat solver can be visualized as a binary search-tree.Figure 1 shows such a tree with decision variables drawn in the internal nodes. Edges showthe type of each branch. A black leaf refers to a unsatisfiable dead end, while a white leafindicates that a satisfying assignment has been found. An internal node is colored blackin case both its children are black, and white otherwise. For instance, if we look at depth4 of this search-tree, three nodes are colored white meaning that at depth 4 there exist 3subtrees containing a solution.

Two important heuristics emerge for this splitting: variable selection heuristics anddirection heuristics. Both heuristics are merged in the procedure SelectDecisionLiteral.Variable selection heuristics aim to select a decision variable in each recursion step yieldinga relatively small search-tree. Direction heuristics aim to find a satisfying assignment asfast as possible by choosing which subformula - F(xdecision = 0) or F(xdecision = 1) - toexamine first. In theory, direction heuristics could be very powerful: If one always predictsthe correct direction, all satisfiable formulae will be solved in a linear number of decisions.

Traditionally, Sat research tends to focus on variable selection heuristics. Exemplaryof the lack of interest in direction heuristics is its use in the conflict-driven Sat solverminisat [3]: While this solver is the most powerful on a wide range of instances, it alwaysbranches negatively - computes F(xdecision = 0) first. An explanation for the effectivenessof this heuristic may be found to the general encoding of most (structural) Sat formulae.Also, these direction heuristics are more sophisticated then they appear: Choosing thesame sign consequently is - even on random formulae - much more effective than a randomselection [9].

Two well-known methods to select the decision literal are the one-sided and two-sidedJeroslow-Wang heuristics [6]. Both compute for each literal l the following measurement:

J(l) =∑

l∈Ci

2−|Ci|

Using the one-side Jeroslow-Wang heuristic, the literal with highest J(l) is selected asdecision literal. The two-sided Jeroslow-Wang heuristic first selects the variable xi withthe highest J(xi) + J(¬xi) as decision variable. Then it selects the positive branch ifJ(xi) ≥ J(¬xi), otherwise the negative branch is preferred.

Throughout this paper, we will discuss only Sat solving techniques that do not addglobal constraints such a conflict clauses. So, only chronological backtracking is considered.Also, given a Sat solver and a certain formula, the complete search-tree will always beidentical: Visiting (leaf)nodes in a different order will not affect the binary representationas shown in Figure 1. In case the formula is satisfiable, the order in which (leaf)nodes arevisited only influences the fraction of the search-space that has to be explored to find a(first) solution.

We will focus on the direction heuristics used in look-ahead Sat solvers. This choice ismotivated by the strong performance of these solvers on random k-Sat formulae (the oneswe selected for our experiments). These solvers spend a lot of reasoning in selecting thedecision literal. Meanwhile, they also aim to detect forced variables (variables that mustbe assigned to a certain value to avoid a conflict). By assigning these forced variables theformula shrinks which yields a smaller search-tree.

120

Page 5: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

positive left branch

positive right branch

negative left branch

positive right branch

x8

x1

x5

x3

x5

x7

x1

x8

x3

x7

x8

x9

x3

x6

x2

x3

x7

x5

x6

x2

x1

x6

x9

x7

x2

x4

x3

x1

x2

x5

x9

x1

Figure 1. Complete binary search-tree (DPLL) for a formula with nine variables (x1, . . . , x9).

The decision variables are shown inside the internal nodes. A node is colored black if all child

nodes are unsatisfiable, and white otherwise. The type of edge shows whether it is visited first (left

branch), visited last (right branch), its decision variable is assigned to true (positive branch), or its

decision variable is assigned to false (negative branch).

121

Page 6: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

A similar direction heuristic as the Jeroslow-Wang heuristics is used in the look-aheadSat solver kcnfs1.. It aims selecting the most satisfiable branch. It compares the differenceof occurrences between xdecision and ¬xdecision. However, occurrences are not weighted asthe Jeroslow-Wang heuristics. The larger of these two satisfies more clauses in which thedecision variable occurs and is therefore preferred.

The look-ahead Sat solver march ks bases its direction heuristics on the reduction causedby the decision variable [5]. The reduction from F to F(xdecision = 0) and from F toF(xdecision = 1) is measured by the number of clauses that are reduced in size without beingsatisfied. In general, the stronger this reduction the higher the probability the subformula isunsatisfiable. Therefore, march ks always branches first on the subformula with the smallestreduction.

Oliver Kullmann proposes direction heuristics (used in his look-head OKsolver) basedon the subformula (F(xdecision = 0) or F(xdecision = 1)) with the lowest probability that arandom assignment will falsify a random formula of the same size [7]. Let Fk denote theset of clauses in F of size k. It prefers either F(xdecision = 0) or F(xdecision = 1) for whichthe following is smallest: ∑

k≥2

−|Fk| · ln(1 − 2−k) (1)

3. Observed bias on random k-Sat formulae

This section studies the effectiveness of existing direction heuristics of Sat solvers based onthe DPLL architecture. Here we will provide a large study of different solvers on random k-Sat formulae with different sizes and densities. The main motivation to use these formulaeis that one can easily create many instances of different sizes and hardness. Therefore, thisfamily of formulae seems an obvious candidate to test whether the direction heuristics usedin some Sat solvers satisfy the bias-extrapolation property. We focus on the hard randomk-Sat instances - near the (observed) phase transition density. The concepts introduced inthis section are developed to offer some insights in the effectiveness of direction heuristics.

3.1 Distribution of solutions

We determined the bias of the distribution of solutions amongst the various subtrees usingthe following experiment: Consider all the subtrees Td,i which are at depth d. Assumingthat the search-tree is big enough, there are 2d of these subtrees. Given a set of satisfiableformulae, what is the probability that a certain subtree contains a solution? Let the leftbranch in a node denote the subformula - either F(xi = 0) or F(xi = 1) - which a solverdecides to examine first. Consequently, we refer to the right branch as the latter examinedsubformula.

Subtrees are numbered from left to right starting with Td,0 (see Figure 2 for an examplewith d = 3). We generated sets of random k-Sat formulae for various sizes of the numberof variables (denoted by n) and for different densities (clause-variable ratio, denoted by ρ).For each set, 10.000 formulae (satisfiable and unsatisfiable) were generated from which wediscarded the unsatisfiable instances.

1. SAT 2004 competition version

122

Page 7: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

b

b

b

b

T3,0

b

T3,1

b

b

T3,2

b

T3,3

b

b

b

T3,4

b

T3,5

b

b

T3,6

b

T3,7

Figure 2. A search-tree with jump depth 3 and 8 subtrees Ti

Definition: The satisfying subtree probability Psat(d, i) denotes - for a given Sat solver anda set of satisfiable benchmarks - the fraction of satisfiable instances that have at least onesolution in Td,i.

Definition: The satisfying subtree mean µsat(d) denotes - for a given Sat solver and a setof satisfiable benchmarks - the average number of subtrees at depth d that have at leastone solution.

We compute µsat(d) as

µsat(d) =2d−1∑

i=0

Psat(d, i) (2)

By definition Psat(0, 0) = 1 and µsat(0) = 1. Because formulae could have solutions in bothTd,2i and Td,2i+1, µsat(d) is increasing (for increasing d). Or more formal:

Psat(d, 2i) + Psat(d, 2i + 1) ≥ Psat(d − 1, i) , and thus (3)

µsat(d) ≥ µsat(d − 1) (4)

Given a Sat solver and a set of satisfiable benchmarks, we can estimate for all 2d subtreesTd,i the probability Psat(d, i). A histogram showing the Psat(12, i) values using march ks onthe test set with n = 350 and ρ = 4.26 is shown in Figure 3. We refer to such a plot as tothe solution distribution histogram. The horizontal axis denotes the subtree index i of T12,i,while the vertical axis provides the satisfying subtree probability.

Colors visualize the number of right branches (denoted as #RB) required to reach asubtree: #RB(Td,0) = 0, #RB(Td,1) = 1, #RB(Td,2) = 1, #RB(Td,3) = 2,#RB(Td,4) = 1etc. The figure clearly shows that the distribution is biased towards the left branches:The highest probability is Psat(12, 0) (zero right branches), followed by Psat(12, 2048),Psat(12, 1024), and Psat(12, 256) - all reachable by one right branch.

A solution distribution histogram of Psat(12, i) using kcnfs on the same benchmark set isshown in Figure 4. Similar to the histogram using march ks, the Psat(12, i) values are higherif T (12, i) can be reached in less right branches. However, the high (peak) Psat(12, i) valuesare about 50% higher for march ks than for kcnfs, while the µsat(10) values for both solvers

123

Page 8: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

Psat(1

2,i

)#RB

0

2

4

6

8

10

12

40963584307225602048153610245120

0.12

0.09

0.06

0.03

0

Figure 3. Solution distribution histogram showing Psat(12, i) using march ks on 10.000 random

3-Sat formulae with n = 350 and ρ = 4.26. For this experiment, µsat(12) = 19.534.

does not differ much. So, the low Psat(12, i) values must be higher for kcnfs. This can beobserved in the more dense part down in the histogram. Since the same test set is used,based on the lower peak Psat(12, i) values we can conclude that the direction heuristics usedin kcnfs result in a smaller bias to the left branches on these instances.

Again, we see (Figure 5) a bias towards the left branches if we look at the solutiondistribution histogram of march ks on random 4-Sat formulae near the phase transitiondensity (in this case ρ = 9.9). Also, the high Psat(12, i) values for march ks on random3-Sat are much higher than on random 4-Sat formulae. However, the µsat(12) value ismuch smaller too. So, the lower peaks might be caused by the fewer number of satisfiablesubtrees. Therefore, we cannot easily conclude that the direction heuristics used in march ks

result in a larger bias on random 3-Sat formulae.Appendix A shows solution distribution histograms for various sizes and densities of

random 3-Sat formulae obtained using march ks. First and foremost, we see in all solutiondistribution histograms the characteristic bias towards the left branches. From this observa-tion the claim seems justified that the actions of march ks on random 3-Sat formulae satisfythe bias extrapolation property. Another similarity is that the peak Psat(10, i) values areabout the same size for test sets with the same density. Regarding µsat(10) values, the weobserve that µsat(10) is larger if the number of variables is larger. Also, amongst formulaewith the same ρ, µsat(10) is higher while the the peak Psat(10, i) values are comparable. So,the µsat(10) values are higher because of higher low Psat(10) values. This can be observedin the histograms by the more dense in the lower sections of the plots.

124

Page 9: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

Psat(1

2,i

)#RB

0

2

4

6

8

10

12

40963584307225602048153610245120

0.08

0.06

0.04

0.02

0

Figure 4. Solution distribution histogram showing Psat(12, i) using kcnfs on 10.000 random

3-Sat formulae with n = 350 and ρ = 4.26. For this experiment, µsat(12) = 18.021.

Psat(1

2,i

)

#RB

0

2

4

6

8

10

12

40963584307225602048153610245120

0.03

0.02

0.01

0

Figure 5. Solution distribution histogram showing Psat(12, i) using march ks on 10.000 random

4-Sat formulae with n = 120 and ρ = 9.9. For this experiment, µsat(12) = 4.817.

125

Page 10: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

Psat(1

2,i

)#RB

0

2

4

6

8

10

12

0 512 1024 1536 2048 2560 3072 3584 4096

0

0.05

0.10

0.15

Figure 6. Solution distribution histogram showing Psat(12, i) using the Jeroslow-Wang one-

sided heuristic on 10.000 random 3-Sat formulae with n = 120 and ρ = 4.26.

Psat(1

2,i

)

#RB

0

2

4

6

8

10

12

0 512 1024 1536 2048 2560 3072 3584 4096

0

0.015

0.030

0.045

Figure 7. Solution distribution histogram showing Psat(12, i) using the Jeroslow-Wang two-

sided heuristic on 10.000 random 3-Sat formulae with n = 120 and ρ = 4.26.

126

Page 11: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

We also studied the effectiveness of both Jeroslow-Wang heuristics on random 3-Sat

formulae. It must be noted that these heuristics - without the additional reasoning tech-niques used in state-of-the-art look-ahead solvers - are not very strong on solving thesekind of formulae. Therefore, we had to experiment with much smaller sized instances withn = 120 and ρ = 4.26. Recall that the difference between the these two heuristics isthe selection of the decision variable: The one-sided heuristic selects variable xi such thatmax(J(xi), J(¬xi)) is maximal, while the two-sided heuristic prefers the variable xi with thehighest J(xi) + J(¬xi). Both branch positive if J(xi) ≥ J(¬xi), and negative otherwise.

The results for the one-sided and two-sided Jeroslow-Wang heuristics are shown in Fig-ure 6 and 7, respectively. Comparing these figures, we see that the peak Psat(12,i) values areabout three times larger using the one-sided Jeroslow-Wang heuristic. Notice that the two-sided heuristic selects decision variables xi for which J(xi) and J(¬xi) are more balanced.Selecting balanced decision variables - which is also an important focus of decision variableselection heuristics used in look-ahead Sat solvers - yield in general smaller search-trees.However, focussing on less balanced variables may increases the bias caused by the directionheuristics.

Although the Jeroslow-Wang one-sided heuristic appears to result in a relatively largebias towards the left branches, this heuristic is not very suitable for solving random k-Sat

formulae: The variable selection heuristic results in large search-trees. Therefore, the actualsolving time is much larger compared to those of look-ahead Sat solvers.

3.2 Satisfying subtree bias

We observed that the distribution of solutions (while experimenting with random k-Sat

formulae) is biased towards the left branches due to the direction heuristics used in someSat solvers. Although there is a great deal of resemblance between the various solutiondistribution histograms, the magnitude of the Psat(d, i) values differs. Yet, this magnitudedoes not easily translate into a comparable bias. To express the differences, we introduce ameasurement called the satisfying subtree bias.

Definition: The satisfying subtree bias Bsat(d, i) denotes - for a given Sat solver and a setof satisfiable benchmarks - the normalized fraction of all formulae which have a solution inTd−1, i

2that also have a solution in Td,i.

The satisfying subtree bias Bsat(d, i) is computed as:

Bsat(d, i) =Psat(d, i)

Psat(d, 2b i2c) + Psat(d, 2b i

2c + 1)(5)

For even i, we say that the branch towards Td,i is biased to the left if Bsat(d, i) > 0.5. Incase Bsat(d, i) < 0.5 we call these branches biased to the right. For odd i the complementholds. The larger the difference between Bsat(d, i) and 0.5, the larger the bias.

To compare the effectiveness of direction heuristics of Sat solvers on random k-Sat

formulae, we measured on various depths the average bias towards the left branches. Thisbias for depth d is computed as the sum of all Bsat(d, i) values with i even, divided by thenumber of nonzero Bsat(d − 1, i) values.

127

Page 12: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

aver

age

bia

sto

war

ds

the

left

bra

nch

es

d

0.54

0.56

0.58

0.6

0.62

0.64

0.66

0.68

0.7

0.72

0.74

0.76

1 3 5 7 9 112 4 6 8 10 12

kcnfs, 4-Sat, n = 120, ρ = 9.9kcnfs, 3-Sat, n = 350, ρ = 4.26

march ks, 4-Sat, n = 120, ρ = 9.9march ks, 3-Sat, n = 350, ρ = 4.26march ks, 3-Sat, n = 400, ρ = 4.26

Figure 8. The average (for various d) bias towards the left branches using march ks and kcnfs

on random k-Sat formulae.

Figure 8 shows the average bias and offers some interesting insights: First, we see that,for both march ks and kcnfs, the average bias towards the left branches is comparable forsmall d and in particular d = 1. This can be explained by the fact that the directionheuristics used in both solvers is similar for formulae with no or few binary clauses. Forsmall d on random k-Sat formulae this is the case. Second, the larger d, the larger theaverage bias towards the left branches, - for all solver / test set combinations. This supportsthe intuition that direction heuristics are more effective lower in the search-tree, becausethe formula is reduced and therefore less complex. Third, the direction heuristics used inmarch ks are clearly more effective on the experimented random k-Sat test sets.

Another visualization to compare the effectiveness of direction heuristics are Psat/Bsat

trees. The root of such a tree contains all satisfiable formulae in the given test set. Thenumber in the vertices show the fraction of formulae that still have a solution (the Psat(d, i)values), while the edges are labeled with the Bsat(d, i) values.

Appendix B shows Psat/Bsat trees for march ks, kcnfs, and the Jeroslow-Wang heuristicson random k-Sat formulae. Figure 15 shows such a tree for random 3-Sat with n = 350and ρ = 4.26 using march ks. Again, we see for all d, Psat(d, i) values are higher if T (d, i)can be reached with less right branches. Also, again we see that the Bsat(d, i) towards theleft increases, while d increases. So, the used direction heuristics seem to ”guess” the branchcontaining a solution lower in the search-tree more accurately. Both observations above arealso supported by the other Psat/Bsat trees.

128

Page 13: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

3.3 Finding the first solution

The observed distribution of solutions as well as the bias provide some insight in the ef-fectiveness of the used direction heuristics. Yet, for satisfiable instances we are mainlyinterested in the usefulness of these heuristics to find the first solution quickly.

In order to naturally present the effect of distribution jumping, we first (this subsection)consider the march ks solver without this feature and refer to it as march ks−. More precisely,march ks− visits subtrees in chronological (or depth first) order. We denote chronologicalorder at jump depth d by πchro,d = (0, 1, 2, 3, . . . , 2d − 1). Since other (jump) orders will bediscussed later, all definitions use an arbitrary order at depth d called πj,d.

Definition: The first solution probability Pfirst( πj,d, i ) denotes - for a given Sat solverand a set of satisfiable benchmarks - the probability that while visiting subtrees at depth d

using jump order πj,d, the solver needs to explore more than i subsequent subtrees to findthe first solution (satisfying assignment).

For any πj,d holds Pfirst(πj,d,0) = 1, Pfirst(πj,d,2d) = 0, and Pfirst(πj,d,i) ≥ Pfirst(πj,d,i+1). A

first solution probability plot for a given Sat solver and benchmark family shows the prob-abilities Pfirst(πj,d, i) with i ∈ {0, . . . , 2d}. Figure 9 shows the probability plot for variousrandom 3-Sat formulae solved using march ks−. The order of the test sets in the legendrepresents the order of the probability plots. The shape for the various size and densitieshave many similarities.

Definition: The expected tree size fraction Esize(πj,d) denotes - for a given Sat solver anda set of satisfiable benchmarks - the expected fraction of the complete search-tree whichhas to be explored to solve an instance while visiting subtrees at depth d using jump orderπj,d.

Esize( πj,d ) is computed as:

Esize(πj,d) = 2−d∑

i∈{0,...,2d−1}

Pfirst(πj,d, i) (6)

Notice that Esize(πj,d) is defined for satisfiable formulae; for unsatisfiable formulae thewhole search space has to be explored - hence Esize(πj,d) is trivially 1. Also, Esize(πj,d)correlates with the size of the surface below the first solution probability plot with solver

and jump depth d. Based on Figure 9, we can state that for march ks− the expected treesize fraction Esize(πchro,12) increases if the density increases. This was expected becauseformulae with a higher density have on average fewer solutions; it takes longer to findthe first solution. For test sets with the same density, Esize(πchro,12) is slightly smaller forthose formulae with more variables. Based on these data, no conclusions can be drawnregarding the computational time: Exploring the search-tree requires much more effort forhard random formulae with increased size.

129

Page 14: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

Pfirst(π

chro,1

2,i

)

0

0.2

0.4

0.6

0.8

1

0 512 1024 1536 2048 2560 3072 3584 4096

n = 300, ρ = 4.4n = 350, ρ = 4.4n = 300, ρ = 4.3n = 350, ρ = 4.3n = 400, ρ = 4.3n = 300, ρ = 4.26n = 350, ρ = 4.26n = 400, ρ = 4.26n = 300, ρ = 4.2n = 350, ρ = 4.2n = 400, ρ = 4.2n = 300, ρ = 4.1n = 350, ρ = 4.1

Figure 9. First solution probability plot showing Pfirst(πchro,12, i) on random 3-Sat formulae

using march ks.

4. Distribution jumping

The idea behind distribution jumping arises naturally from the observations made in theprior section: While visiting the subtrees in chronological (or depth first) order, the first so-lution probability plots show some characteristic angels - hinting that the expected tree sizefraction (for satisfiable formulae) is far from optimal. So, could we construct an alternativejump order which visits the subtrees in a (near) optimal order? First we will discuss thepossibilities to optimize the jump order, followed by some thoughts on the optimal jumpdepth.

4.1 Optimizing the jump order

This section deals with the question how to construct a jump order with the (near) minimalexpected tree size fraction. First, we motivate why we focus on the minimization of theexpected tree size fraction. Second, we determine the (close to) minimal Esize(πj,12) forvarious random k-Sat formulae using a greedy algorithm. Third, we construct a generalizedjump order that can be implemented into a Sat solver.

130

Page 15: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

4.1.1 Theoretical speed-up

Why shall we try to optimize the expected tree size fraction? The reason is closely relatedto the theoretical speed-up. The performance gain realized by distribution jumping can beapproximated if the following two restrictions are met:

R1) the size of the subtrees is about equal;

R2) the jump depth is much smaller than the size of subtrees.

Due to R1 the expected computational costs of each subtree is equal and R2 marginalizesthe overhead costs - getting from one subtree to another - of the distribution jumpingtechnique. Using march ks, the search-trees for hard random k-Sat appear to be quitebalanced (satisfying R1). Given a relatively small jump depth (satisfying R2) the speed-upcould be computed. However, R1 and R2 are probably hard to meet for more structuredformulae. Given a large set of satisfiable benchmarks, we can compute the theoreticalspeed-up caused by distribution jumping πj,d:

S(πj,d) :=Esize(πchro,d)

Esize(πj,d)(7)

4.1.2 Greedy jump order.

For jump depth d there exist 2d! jump orders in which subtrees can be visited. This makes ithard to compute the optimal jump order. We denote the optimal jump order πopt,d(test set),the πj,d for which Esize(πj,d) is minimal for the test set using a given Sat solver. Becauseπopt,d(test set) is hard to compute, we focused on an approximation.

Any πopt,d(test set) has the property that it is progressive: Given a Sat solver andbenchmark set, we call πj,d a progressive jump order if the probability that the first solutionis found at the i-th visited subtree according to πj,d (Pfirst(πj,d, i + 1) − Pfirst(πj,d, i)) isdecreasing.

A πj,d that is not progressive can be easily improved with respect to a smaller expectedtree size fraction: If the probability is not decreasing for a certain i, then swap the order inwhich the i-th and i + 1-th subtrees are visited according to that πj,d in order to obtain aπj,d

∗ which has a smaller expected tree size fraction. Any πj,d can be made progressive byapplying a finite number of those swaps.

Out of the 2d! possible jump orders, probably only a small number is progressive. Weassume that other progressive jump orders of a given test set have an expected tree sizefraction close to the minimal one. Therefore, we developed a greedy algorithm which com-putes for a given Sat solver and test set a progressive jump order called πgreedy,d(test set).Consider the following algorithm:

1. Start with an empty jump order and a set of satisfiable benchmarks.

2. Select the subtree Td,i in which most formulae have at least one solution. In case of atie-break we select the one with the smallest i. The selected subtree is the next to bevisited in the greedy jump order.

3. All formulae that have at least one solution in the selected subtree (of step 2) areremoved from the set.

131

Page 16: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

4. Repeat the steps 2 and 3 until all formulae of the set are removed.

We computed the greedy jump order for various random k-Sat test sets (denoted byRk,n,ρ) using march ks. The results are shown in Table 1. Columns two to five show theorder in which T12,i’s should be visited according to the greedy orders based on differenthard random k-Sat formulae. To clearly present also the #RB(T12,i) values within theorder, only the indices i are shown. These are printed in binary representation with bold1’s (right branches). E.g., in Table 1 T12,1024 is shown as 010000000000.

Table 1. πgreedy,12(k, n, ρ) computed for random 3-Sat (n ∈ {300, 305, 400}, ρ = 4.26) and

4-Sat (n = 120, ρ = 9.9). The index of the greedy jump orders is shown in binary representation.

πchro,12 πgreedy,12(R3,300,4.26) πgreedy,12(R3,350,4.26) πgreedy,12(R3,400,4.26) πgreedy,12(R4,120,9.9)

0 000000000000 000000000000 000000000000 0000000000001 100000000000 100000000000 100000000000 0010000000002 010000000000 010000000000 001000000000 0100000000003 001000000000 000100000000 000100000000 0001000000004 000010000000 001000000000 010000000000 1000000000005 000000100000 000000100000 000010000000 0100100000006 000100000000 000010000000 000000010000 0000001000007 000001000000 101000000000 000001000000 0000100000008 110000000000 000000001000 100001000000 0000000100009 100001000000 100100000000 101000000000 11000000000010 100010000000 000000010000 100001000000 10010000000011 000000010000 110000000000 000000100000 10100000000012 010100000000 011000000000 110000000000 10001000000013 000000001000 000000000010 000000001000 00000000010014 100001000000 100010000000 010010000000 01010000000015 001100000000 000001000000 001100000000 01000100000016 101000000000 100000010000 001010000000 00011000000017 100100000000 100001000000 100100000000 00110000000018 000110000000 010001000000 011000000000 00000100000019 000000000001 001000010000 000010100000 010000100000. . . . . . . . . . . . . . .

An interesting trait that can be observed from the πgreedy,12(Rk,n,ρ) jump orders is thatthey spoil the somewhat perfect pictures presented in Section 3. Recall that in the solutiondistribution histograms all subtrees which can be reached in a single right branch showhigher peaks than all subtrees reachable with two (or more) right branches. Here, weobserve a similar tendency. Yet, T12,1, T12,2, T12,4, T12,8 seem far less important than forinstance T12,3072 (110000000000). So, based on the greedy jump orders we can concludethat for optimal performance, Td,i should not solely be visited in increasing number of rightbranches. In other words, the Psat(d, i) values are not a perfect tool for constructing theideal jump order.

132

Page 17: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

4.1.3 Generalized jump order.

Since we only computed πgreedy,12 (only for jump depth 12) and the order is slightly differentfor the different experimented data-sets, a more generalized permutation is required for theactual implementation. Although the greedy jump orders are our best approximation ofthe optimal jump order, we failed to convert them to a generalized jump order. Instead, wecreated a generalized jump order based on two prior observations: First, subtrees reachablein less right branches have a higher probability of containing a solution (see section 3.1).Second, among subtrees which are reachable in the same number of right branches, thosewith right branches near the root have a higher probability of containing a solution (seesection 3.2).

Based on these observations, we propose the following jump order: First, visit Td,0,followed by all Td,i’s that can be reached in only one right branch. Continue with all Ti’sthat can be reached in two right branches, etc. All Td,i’s that can be reached in the samenumber of right branches are visited in decreasing order of i. We refer to this permutationas πleft,d.

Table 2 shows the visiting order of the subtrees with πchro,4 and πleft,4. There are only afew similarities between πchro,d and πleft,d: The first and the last subtree (Td,0 and Td,2d−1)have the same position in both jump orders. Also, both πchro,d and πleft,d are symmetric:If subtree Td,i has position j in the order than subtree Td,2d−1−j has position 2d − 1 − j inthat order.

Notice that πchro,d and πleft,d are in some sense complementary: πchro,d starts by visitingsubtrees that have right branches near the leaf nodes, while πleft,d starts by visiting subtreeshaving right branches near the root. Since the next subtree selected by πchro,d is the nearestsubtree, “jumping” is very cheap. A motivation for using πleft,d is that direction heuristicsare more likely to fail near the root of the search tree because at these nodes it is harderto predict the “good” direction. Therefore, subtrees with few right branches of which mostare near the root of the search-tree have a higher probability of containing a solution.

Table 2. Jump orders in which subtrees can be visited with jump depth 4.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15

πchro,4 T4,0 T4,1 T4,2 T4,3 T4,4 T4,5 T4,6 T4,7 T4,8 T4,9 T4,10 T4,11 T4,12 T4,13 T4,14 T4,15

πleft,4 T4,0 T4,8 T4,4 T4,2 T4,1 T4,12 T4,10 T4,9 T4,6 T4,5 T4,3 T4,14 T4,13 T4,11 T4,7 T4,15

Using the data from the experiments on random k-Sat formulae to compute the distri-bution of solutions, we obtained2. the Pfirst(πleft,d, i) and Esize(πleft,d, i) values.

Figure 10 shows the first solution probability plots based on this data for random 3-Sat

test sets of different sizes and densities using march ks− and πleft,12. The lines decreasemuch more rapidly compared to those of Figure 9, also indicating that the expected treesize fraction is much smaller using this jump order. The sequence (from top to bottom)

2. The data was gathered using march ks− while visiting the subtree in chronological order. Because

march ks− uses adaptive heuristics, actual jumping according to πleft,d might result in a slightly different

search-tree and thus may influence the Pfirst(πleft,d, i) and Esize(πleft,) values. Further discussion inSection 5.1

133

Page 18: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

of these lines is about the same for both figures: The larger ρ, the higher the line in thesequence. However, in Figure 10 a larger n does not always result in a lower line.

Pfirst(π

left

,12,i

)

0

0.2

0.4

0.6

0.8

1

0 512 1024 1536 2048 2560 3072 3584 4096

n = 300, ρ = 4.4n = 350, ρ = 4.4n = 300, ρ = 4.3n = 350, ρ = 4.3n = 400, ρ = 4.3n = 300, ρ = 4.26n = 350, ρ = 4.26n = 400, ρ = 4.26n = 300, ρ = 4.2n = 350, ρ = 4.2n = 400, ρ = 4.2n = 300, ρ = 4.1n = 350, ρ = 4.1

Figure 10. First solution probability plot showing Pfirst(πleft,12, i) on random 3-Sat formulae

using march ks−. Please compare to Figure 9.

Table 3 summarizes the results of these tests on all the experimented data. Shown isµsat(d), Esize(πchro,d), Esize(πleft,d) and the theoretical speed-up which is computed usingthese values. The speed-up using march ks− with πleft,d is about a factor 4. On formulaebelow the phase transition density, the speed-up is even greater, while above the phasetransition density it is less. Also, formulae with a higher µsat(d) value have a greater speed-up - although the correlation is much less clear. The speed-up realized by kcnfs with πleft,d

is smaller than by march ks−. A possible explanation is that the direction heuristics usedin kcnfs result in a smaller bias towards the left. Using march ks− with πleft,d, the speed-upon the 4-Sat test set is the smallest. This may be caused by the relatively small µsat(12)value.

4.2 Optimizing the jump depth

Under the assumption that πleft,d is an effective jump order, we now face the question:When to jump? Or more precise: What is the optimal jump depth? For different values ofjump depth d, the leaf nodes of the search-tree are visited in a different order - in contrastto jumping using πchro,d. Therefore, which d is optimal? First, we will try to answer thisquestion from a theoretical viewpoint followed by some practical difficulties.

134

Page 19: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

Table 3. Expected tree size fraction and speed-up for random k-Sat formulae.

solver family n ρ µsat(12) Esize(πchro,12) Esize(πleft,12) S(πleft,12)

march ks− 3-Sat 300 4.1 95.803 0.04965 0.00993 5.00march ks− 3-Sat 300 4.2 29.575 0.11863 0.02727 4.35march ks− 3-Sat 300 4.26 15.775 0.15673 0.03804 4.12march ks− 3-Sat 300 4.3 10.843 0.18026 0.04365 4.13march ks− 3-Sat 300 4.4 5.379 0.23408 0.05456 4.29

march ks− 3-Sat 350 4.1 147.933 0.03934 0.00811 4.85march ks− 3-Sat 350 4.2 40.199 0.10919 0.02510 4.35march ks− 3-Sat 350 4.26 19.534 0.15406 0.03822 4.03kcnfs 3-Sat 350 4.26 18.021 0.16990 0.06113 2.78march ks− 3-Sat 350 4.3 12.925 0.17409 0.04569 3.81march ks− 3-Sat 350 4.4 5.871 0.22971 0.06399 3.59

march ks− 3-Sat 400 4.2 52.906 0.10237 0.02572 3.98march ks− 3-Sat 400 4.26 24.461 0.15047 0.04056 3.71march ks− 3-Sat 400 4.3 15.281 0.17682 0.04715 3.75

march ks− 4-Sat 120 9.9 4.817 0.23514 0.07864 2.99

Notice that

Pfirst(πchro,d, 2i) = Pfirst(πchro,d−1, i) and

Pfirst(πchro,d−1, i + 1) ≤ Pfirst(πchro,d, 2i + 1) ≤ Pfirst(πchro,d−1, i)

So,

2 · Esize(πchro,d−1) − 2−(d−1) · Pfirst(πchro,d−1, 0)

2≤ Esize(πchro,d) ≤

2 · Esize(πchro,d−1)

2

Esize(πchro,d−1) − 2−d ≤ Esize(πchro,d) ≤ Esize(πchro,d−1)

In other words, Esize(πchro,d) is decreasing for increasing d and converges fast. These prop-erties are independent of the used Sat solver3. and the used benchmark family. Figure 11shows how Pfirst(πchro,d, i) (and thus Esize(πchro,d) evolves for increasing d based on 10.000random 3-Sat formulae with n = 400 and ρ = 4.26 using march ks. For these formulae andsolver, Esize(πchro,d) converges to 0.150.

Both properties - decrease and convergence - may not hold for Esize(πleft,d) for somesolver / benchmark family combination. The influence of the jump depth on Esize(πleft,d)depends heavily on the direction heuristics used in a solver. Using march ks on random3-Sat formulae, we observed that Esize(πleft,d) is decreasing for increasing d. However(fortunately), Esize(πleft,d) is still visibly decreasing for increasing d during our experiments(using d ∈ {0, . . . , 12}). This observation is visualized in Figure 12. Consequently thetheoretical speed-up of using march ks with distribution jumping based on πleft,d instead ofmarch ks− improves while increasing d.

3. Assuming that subtrees are visited in chronological order and no restarts are performed

135

Page 20: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

This is also the main conclusion of Table 4 - showing the influence of the jump depthon Esize(πchro,d), Esize(πleft,d) and the theoretical speed-up. Notice also that Esize(πchro,0)= Esize(πleft,0) and Esize(πchro,1) = Esize(πleft,1). While using march ks on random 3-Sat

formulae with n = 400 and ρ = 4.26, Esize(πleft,d) < Esize(πchro,d) during the experiments(i.e. for d ∈ {2, . . . , 12}).

Table 4. The influence of the jump depth denoted as d on Esize(πchro,d), Esize(πleft,d) and the

expected speed-up S(πleft,d) on random 3-Sat formulae with 400 variables and density 4.26.

d Esize(πchro,d) Esize(πleft,d) S(πleft,d)

0 1.000 1.000 1.0001 0.571 0.571 1.0002 0.357 0.347 1.0293 0.252 0.231 1.0894 0.200 0.165 1.2155 0.175 0.128 1.3736 0.163 0.102 1.5897 0.156 0.085 1.8378 0.153 0.072 2.1259 0.152 0.062 2.44010 0.151 0.054 2.79011 0.151 0.048 3.17312 0.151 0.041 3.713

So, based on the theoretical speed-up, the optimal value for the jump depth is probablyd = ∞. In other words, theoretically jumping between the leaf nodes of the search-treeresults in the largest performance gain.

However, in practice, two kinds of overhead exist: First, the cost of jumping. Whilesolving, march ks spends most time to determine for each node the decision variable and todetect forced variables. Compared to these calculations, the cost of jumping (backtrackingto the nearest parent node and descending in the tree) for one subtree to another is relativelycheap. Therefore, the overhead of jumping is marginal.

On the other hand, because the cost of obtaining the decision variable and forced literalsis huge, one would like to remember this information. Therefore, these data should be storedfor nodes that will be visited more than once (i.e. those nodes at depth ≤ d). That willcost a lot of memory and time if d is large.

To reduce the cost of overhead, we therefore decided to use a jump depth in such waythat only a fraction of the nodes need to be stored: In the first phase of solving (before thefirst jump) the average depth of the search-tree is estimated: The jump depth is set to be7 levels above this average. Using this heuristic only about 1 in 100 nodes is stored.

136

Page 21: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

Pfirst(π

chro,d

,i)

0

0.2

0.4

0.6

0.8

1

2d−3 2d−2 2d−1 2d0

d = 0d = 1d = 2d = 3d = 4d = 5d = 6d = 7d = 8d = 9

d = 10d = 11d = 12

Figure 11. Influence of the jump depth d on the first solution probability Pfirst(πchro,d, i) using

march ks on 10.000 random 3-Sat formulae with n = 400 and ρ = 4.26.

Pfirst(π

left

,d,i

)

0

0.2

0.4

0.6

0.8

1

2d−3 2d−2 2d−1 2d0

d = 0d = 1d = 2d = 3d = 4d = 5d = 6d = 7d = 8d = 9

d = 10d = 11d = 12

Figure 12. Influence of the jump depth d on the first solution probability Pfirst(πleft,d, i) using

march ks on 10.000 random 3-Sat formulae with n = 400 and ρ = 4.26.

137

Page 22: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

5. Results

Distribution jumping is one of the main new features in the march Sat solver resulting inversion march ks which participated at the Sat 2007 competition: The technique is imple-mented as discussed above. First, using the dynamic jump depth heuristic d is computed.Second, the solver jumps using πleft,d.

5.1 Random 3-SAT

To examine the actual speed-up resulting from distribution jumping, we run both march ks−

and march ks on 10.000 random 3-Sat formulae with n = 400 and ρ = 4.26. The results areshown in Figure 13. On most of these instances, the adaptive jump depth for march ks wasset to 15. On satisfiable formulae, the performance of march ks is much better. Althoughmarch ks− is faster on several instances, on average it takes about 3.5 times more effortto compute the first solution. Regarding the extremes: The largest performance gain on asingle instance is a factor 744 (from 81.94 to 0.11 seconds), while the largest performanceloss is a factor 37 (from 35.52 to 0.95 seconds).

log

tim

e(s

)m

arch

ks−

log time (s) march ks

0.01

0.1

1

10

100

1000

0.01 0.1 1 10 100 1000

UNSAT

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

uu

u

uu

uu

u

u

u

u

u

u

u

u

u

u

u

u

u uu

uu uu

u

u

uuu

u u

u

u

u

u

u

u

u

u

u

u

u

uuu

u

uuu

u

u

u

uu

u

u

u

u

u

u

u

u

u

u

uu

u u

u

u

uu

u

u

u

u

u

u

u

uu

u

u

u

u

uu

uuu uu

u

u

u

u

u

uu

u

u

u uu

u uuu uu

u

uu

u

u

u

uu

u

uu

u

u

u

u

u

u

u u

u

u

u

u

u

uuu u

u

u

u

u

u

u

u

u

u

u

u

uu

u

u

u

uuu

u

u

u

uu

u

uu u

u

u

u u

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

uu

u

u

uu

u

u

u

uu

uu

u

u

u

u u

u

u

u

u

u

uuu

u

uu u

u

u

uu

uu

u

u

u

u

u

uu u

u

u

u

u

u

u

u u

u

u

u

u

uu

u

u

uu

u

uu

u

uuu

u

u

u

u

u

u

uu

u

u

u

u

u

uu

uu

u

u

u

u

u u

u u

u

u u

u

u

u

u

u

uuu

uu

u

u

uu

u

u

uu

u

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u u

u

u

u

uu

u

u

u

u

u

uuuu

uuu uu

u

u

u

u

u

u

uuuu

u

u

u

u

u

u

u uu

u

u

u u

uu

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

uu

u u

u

u u

u u

uu

uu

uu

u

u

u

u

uu

u

u

u

u

u

u

u

uuu

u

u

u

uuu

u

uuuu

u

u

u

uu

u

uuuu

u

u

u

uuu

u

u

uu

u

u

u

u

uu

u

uu

u

u u

u u

u

uu

u

u uu

u

u

u

u

u

u uu u

u

u

u

uuu

u

u

uu

uu

u

u

u

uu

u

u

uu

u

u

u

uu

u

u

uuu

u

u

u

u

u

u

u

u

u

u

u

uuu

uu

uuu

uu

uu u

u uu

u

u

u

u

u u

uu

u

u uu

u

u

u

uu

u

u

u

u

uu

u

u

u uu

u

u

uu

uu

uu

uu

u

uu

u

u

u

u

uu

u

u u

u

u u

u

u

u

u

u

u

u

u

u

uu

u

u

u

u

u

u

uu

u

u

u

u

u

uu

u

uu

u

u u

uu

uu

u

uu

u uu

u

u

u

u

u

u

uuu

u

u

u

u

u u

u

u

u

u

uu

u

u

u uu

uuu

u

uu

u

u

u

uu

u

u

u

u u

u

u

u

uu

u

u

u

u

u

u

u

u

u

u

u

uu

u

u

u

u

u

u

u

u

u u uuu

u

u

u

u

u

u

u

u

u

u

uuu u

u

u

u

u

u

u

u

u uu u

uu

u

u

u

u

u

u

u

uu

u

u

uuu

u

u

uu

u

u

u

uu

u

uu u

uu

u

uu

u

u

u

u u

u

uu

uu

uu u

u

uu

u

u

u

u

u

u

u

u

u

uu

u

uuu uu

u

uu

u

u

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

uu

uu u

u

uu

u

u

u

u

u

uu

u

uu u

u

uu

u u

u

u

u

u

uu

u u

u

u

u u

u

uu

uu

uu

u uu

uu

uu u

u

u

u

u

u

uu

uu

u

u

uu u

u

u

uu

u

uu

u

u

u u

u

u

u

u

u

u

u

uu

u

uuu

u

u

u

u

u

u

u

u

u

u

u

u

u u

u

u

uu

u

u

u

u

u

u uu

u

u

u

u

u

u

u

uu

u

u

u

u

u

uu

u

u

u

u

u

u

u

u

u

u

u uu

u

u

uu

u

u u

u

uu

u

u

u u

u

u

u

uu

u

uu

u

u

u uuu

u

u

u

uu

u

u

u

u

u uu

uu

u

uu

uu

u

u u u

u

u

u

u

u u

u

u

uuu

u

u

u

u

u

u

u

u

u

u

uu

u

u

u

u

u

u

u

u

u

uu

uu

u

uu

uuu

u

u

uu

u

u

uu

u

uuu

u

u u

u u

uu

uu

uu u

u

u

uu uu

u u

u

u u

u

u

u

uu

uu

uu

u

u

uu

u u

u

uu

u

u

u

u

u

u

u

u u

u

uu

uu

u

u

u

u

u

u

u

u

u

u uuuu

u

u

u

u

u

u

u uu

uu

uu

uu

u

u

uu

u

u

u

uu

u

u

u

u

u

u

u

u

u

uu

u

u

u

u

uu

u

u

u

u

uu

u

u u u

u

u

u

u

uuu

uu

uu

u

u

u

u

u

uu

u

u

u

u

u

u

uu

uu

u

u

u

u u

uu

u

u

u

u

u

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u

uu

u

u

uuu

uu

u

u

u

u

u

u

u

u

u

u

uu

uu

u

u

u

uu

u

u

u

u

uu

u

u

u

u

u

uu

u

u

u

uuu

u

u

u

u

u

u

u

uuu u

u

uu

u

u

uu

u

u

uu

u

u

u u

u

u

uu

u

u

u

u

u

u

u

u

uu

u

u

u

uu

u

uu

u

u

uu

uu

u

u

u

uu

uuu

u

u u

u

u

uu

u

u

u

uu

u

u uuu

u

u

u

uu

u

u

u

u

u

uu

u

u

uu

uu

u u

u

uu

u

u

u

u

uu

u

u

uu

u

u

u

u u

u

u

u

uu

u

u

u

u

u u

u

u

u

u

u

u

u

u

uu uu

uu

u

u

u

uu u

u

uu

u

u

uu

u

uu

u

u

uu

u

u

uu

u

uu

u

u uu

uu

uuuu

u

u

u

uu u

u

uu

u

u

u

u

u

u

u

u

u

u

uu

u

u

u

u

uu

u

u

uu

uu

u

uuu

u

u

u

u

u

u

u

u

u

u

u

u

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

u u

u

u

u

u

uu

u

u uuu

u

u

uu

uuu

u

u

u

uu

u

uu

u

u

uuu

u

u

u

u

u

u

u

u

u

u

uu u u

uuu

u

u

u

u

u

u

u

uu

uuu

u

u

u

u

u

u

uuu u

u

uu

uuu

u

u

uu

uu

u

u

u

u

u

u

u

u

u

uu

u

uu

u

u

u

u

u

u

u

u

uu

u

u

u uu u

uu

uu

uuuu uu uuu

u

u u

u

u

uuu u

u

u

u

uu

u

uu

u u uu

u

uu

uu

u

u

u

u

u

u

u

uu

u

uu

u

u

u

u

u

u

u u

u

u

u

u

uu

u

u

u

u

u

u

uu

uuu

u

u

u uu

u

u

u

u

uu

u

u

u

u

u

uu

uu

u

u

u

u

u

u

u

u

uu

u

u

u

u

u

u

u

u

u

u

u

u

u

u

uu

u

u

u

u

uu

u

u

u

uu uu

u

u

u

u

u uu

uu

u

uuu

u

u

uu

u

u

uu

u

u

u

u

uu u

u

uu

uu

u

u

u

u

uu

u

u

u

u

u

u

uu

uu uu

uu

u

uu

u

u

u

u

u

uu

u

uu uuuu

u

u u

u

u

u

u

u

u

uuuu

uu

u

u

uu

u

u u

u

uu

u

u

u

u

uu

u

u

u

uu

u

u

uuuu

u

u

uu

u

uuuu

u

u

SAT

b

b

b

b

b

b

b

bb

b

b

b b

b

b

b

b

b

b

b

bb

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

bb

b b

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

bb

b

b b

b

b

b

bb

b

b

bb

b

b

bb

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b b

b

b

bb

b

b

b

b

b

b

b

bb

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

bb b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

bb

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b

bb

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

bb

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

bb

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

bb

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

bb

b bb

b

b

b

b

b b

b

b

b

bb

b

b b

bb

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

bb

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b b

b

bb

b

b

bb

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

bb

bb

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b b

b

b

b bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

bb

b

b

b

b

b

b

b b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

b

bb

b

b

b

b

b

bb

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

b

bb

b

bb

b

b

b

b

b b

bb

b

b

b

bb

b

b

b

b

b

b

b

b

b

Figure 13. Performance comparison (in seconds and logscale) between march ks− and march ks

on 10.000 random 3-Sat formulae with n = 400 and ρ = 4.26

138

Page 23: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

The performance of march ks− and march ks on unsatisfiable instances is comparable.Due to the use of some adaptive heuristics in these Sat solvers, they may not explore exactlythe same search-tree. It appears that this could result in a computational cost difference ofabout 10 % in favor of either march ks− or march ks. The overhead costs in march ks areonly marginally.

Table 5. Number of solved instances within a timeout of 600 seconds

march ks− march ks R+AdaptNovelty+

n ρ #Sat #Unknown #Sat #Unknown #Sat #Unknown

600 4.0 86 14 100 0 100 0

700 4.0 75 25 100 0 100 0

600 4.1 73 27 100 0 100 0

700 4.1 15 85 90 10 100 0

Large random 3-Sat formulae with density 4.26 appeared still hard for our currentimplementation. So, for our experiments we generated random 3-Sat formulae for fourdifferent sizes - 600 and 700 variables both at density 4.0 and 4.1 - to test the improvementof march ks. We compared the performance of our solvers with R+AdaptNovelty+ [1] - anincomplete (local search) solver which appeared the strongest on these kind of formulaeduring the Sat 2005 competition [8]. In general, incomplete Sat solvers are dominant onsatisfiable random formulae, but they fail to compete (with complete Sat solvers) on moststructured satisfiable instances.

Table 5 shows the results of this experiment. The progress from march ks− to march ks

is clear. However, R+AdaptNovelty+ is still more successful on these instances.

5.2 SAT Competition 2007

March ks participated at the SAT Competition 2007. It won the satisfiable crafted cat-egory and several other awards. Especially in the former category, distribution jumpingcontributed to the success of the solver. Moreover, without this feature it would not havewon.

Four hard crafted benchmarks connm-ue-csp-sat-n800-d-0.02 (connamacher),QG7a-gensys-ukn005, QG7a-gensys-brn004, and QG7a-gensys-brn100 (quasigroup) arenot solved by march ks without distribution jumping in 12 hours. However, the competitionversion which includes this feature solves these instances in 306, 422, 585, 3858 seconds,respectively. The dynamic jump depth heuristic selects d = 12 for the connamacher instanceand d = 26 for the quasigroup instances. The solutions were found with only one or two rightbranches (above the jump depth). Various other solvers were able to solve the quasigroupinstances within the 1200 seconds timeout. However, the connamacher instance was onlysolved by march ks and satzilla.

Two other hard crafted benchmarks, ezfact64-3 and ezfact64-6, both factorizationproblems, where solved by march ks in the second round in 3370 and 2963 seconds, respec-tively. Only minisat was also able to solve ezfact64-3, while ezfact64-6 was exclusivelysolved by march ks. Without distribution jumping, solving these instances requires abouttwice the computational time. Since the timeout in the second round was 5000 seconds,

139

Page 24: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

march ks− would not have solved them. Therefore, if march ks− would have participatedin the Sat 2007 competition - instead of march ks - it would not have won the craftedsatisfiable category, because it would not have solved these six benchmarks.

6. Conclusions

We observed that both march ks and kcnfs bias on random k-Sat formulae - due to the useddirection heuristics - the distribution of solutions towards the left branches. We introduceda measurement called the satisfying subtree bias Bsat to quantify the bias. Using Bsat thebias of the direction heuristics used in different solvers can be compared.

To capitalize on these observations we developed the new jumping strategy distribution

jumping. While alternative jump strategies examine a random new part of the search-tree,our proposed method jumps towards a subtree that has a high probability of containing asolution.

Distribution jumping has been implemented in march ks. With this new feature, the Sat

solver can solve significantly more satisfiable random k-Sat formulae without hurting itsperformance on unsatisfiable instances. Despite the progress, march ks is still outperformedby incomplete solvers on these benchmarks.

Yet, also the performance of march ks is improved on satisfiable structured formulae.Apparently, distribution jumping is applicable outside the experimented domain. Thanksto this new technique, march ks won the satisfiable crafted category of the Sat 2007 Com-petition.

The usefulness of distribution jumping could be even further increased by better di-rection heuristics: The more biased the distribution of solutions, the larger the expectedspeed-up. Also, the results of the greedy jump orders suggest that there is an opportunityto improve the generalized jump order.

Acknowledgments

The authors would like to thank Stephan van Keulen for computing and obtaining mostdata used in this paper.

References

[1] Anbulagan, Duc Nghia Pham, John K. Slaney, and Abdul Sattar. Old resolution meetsmodern SLS. In Manuela M. Veloso and Subbarao Kambhampati, editors, AAAI, pages354–359. AAAI Press / The MIT Press, 2005.

[2] Martin Davis, George Logemann, and Donald Loveland. A machine program fortheorem-proving. Commun. ACM, 5(7):394–397, 1962.

[3] Niklas Een and Niklas Sorensson. An extensible SAT-solver. In Enrico Giunchiglia andArmando Tacchella, editors, SAT, 2919 of Lecture Notes in Computer Science, pages502–518. Springer, 2003.

140

Page 25: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

[4] Carla P. Gomes, Bart Selman, and Nuno Crato. Heavy-tailed distributions in com-binatorial search. In Gert Smolka, editor, CP, 1330 of Lecture Notes in Computer

Science, pages 121–135. Springer, 1997.

[5] Marijn J.H. Heule and Hans van Maaren. March dl: Adding adaptive heuristics and anew branching strategy. Journal on Satisfiability, Boolean Modeling and Computation,2:47–59, 2006.

[6] Robert G. Jeroslow and Jinchang Wang. Solving propositional satisfiability problems.Ann. Math. Artif. Intell., 1:167–187, 1990.

[7] Oliver Kullmann. Investigating the behaviour of a SAT solver on random formulas.Technical Report CSR 23-2002, University of Wales Swansea, Computer Science ReportSeries (http://www-compsci.swan.ac.uk/reports/2002.html), October 2002. 119pages.

[8] Daniel LeBerre and Laurent Simon. Preface special volume on the SAT 2005 competi-tions and evaluations, 2006. Journal on Satisfiability, Boolean Modeling and Compu-tation 2.

[9] Dimos Mpekas, Michiel van Vlaardingen, and Siert Wieringa. The first steps to ahybrid SAT solver, 2007. MSc report, SAT@Delft.

[10] Hantao Zhang. A complete random jump strategy with guiding paths. In Armin Biereand Carla P. Gomes, editors, SAT, 4121 of Lecture Notes in Computer Science, pages96–101. Springer, 2006.

141

Page 26: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

Appendix A. Solution distribution histograms

ρ n = 300 n = 350 n = 400

4.1

µsat(10) = 61.1

10245120

0.4

0.2

0

µsat(10) = 88.6

10245120

0.4

0.2

0

4.2

µsat(10) = 21.1

10245120

0.2

0.1

0

µsat(10) = 27.7

10245120

0.2

0.1

0

µsat(10) = 34.8

10245120

0.2

0.1

0

4.26

µsat(10) = 11.9

10245120

0.16

0.08

0

µsat(10) = 14.4

10245120

0.16

0.08

0

µsat(10) = 17.4

10245120

0.16

0.08

0

4.3

µsat(10) = 8.46

10245120

0.12

0.06

0

µsat(10) = 9.88

10245120

0.12

0.06

0

µsat(10) = 11.4

10245120

0.12

0.06

0

4.4

µsat(10) = 4.43

10245120

0.08

0.04

0

µsat(10) = 4.78

10245120

0.08

0.04

0

Figure 14. Solution distribution plots showing Psat(10, i) (y-axis) of random 3-Sat formulae

with n ∈ {300, 350, 400} and ρ ∈ {4.1, 4.2, 4.26, 4.3, 4.4} using march ks.

142

Page 27: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

Appendix B. Psat/ Bsat trees

#RB

0

1

2

3

4

5

SAT

0.652

0.432

0.367

0.400

0.1790.368

0.0790.3520.0320.333

0.0640.667

0.1450.6480.0590.332

0.1180.668

0.3060.632

0.1470.3660.0570.322

0.1200.678

0.2540.6340.1180.359

0.2110.641

0.551

0.600

0.3000.396

0.1520.3850.0670.350

0.1250.650

0.2430.6150.1120.356

0.2020.644

0.4580.604

0.2390.3830.1100.360

0.1960.640

0.3850.6170.1900.369

0.3240.631

0.856

0.568

0.515

0.409

0.2770.391

0.1360.3770.0570.339

0.1110.661

0.2240.6230.1010.354

0.1840.646

0.4310.609

0.2210.3800.0980.353

0.1800.647

0.3610.6200.1740.366

0.3010.634

0.744

0.591

0.4290.403

0.2150.3780.0980.357

0.1760.643

0.3530.6220.1690.368

0.2910.632

0.6350.597

0.3590.4010.1710.364

0.2980.636

0.5350.5990.2850.386

0.4530.614

Figure 15. Psat/Bsat tree of march ks− running on random 3-Sat with n = 350 and ρ = 4.26.

Psat(d, i) values are shown in the vertices and Bsat(d, i) values are shown on the edges.

143

Page 28: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

#RB

0

1

2

3

4

5

SAT

0.653

0.433

0.386

0.420

0.2050.402

0.0980.3820.0420.366

0.0740.634

0.1580.6180.0770.392

0.1190.608

0.3040.598

0.1460.3730.0660.358

0.1180.642

0.2460.6270.1220.381

0.1980.619

0.533

0.580

0.2990.407

0.1520.3940.0680.360

0.1210.640

0.2340.6060.1120.375

0.1870.625

0.4350.593

0.2280.3920.1130.388

0.1790.612

0.3540.6080.1840.396

0.2800.604

0.856

0.567

0.531

0.426

0.2910.403

0.1400.3770.0620.360

0.1100.640

0.2320.6230.1110.373

0.1860.627

0.4300.597

0.2350.4050.1080.364

0.1890.636

0.3450.5950.1720.382

0.2780.618

0.714

0.574

0.4210.413

0.2220.3970.1060.379

0.1730.621

0.3380.6030.1690.379

0.2760.621

0.5980.587

0.3310.4020.1640.385

0.2630.615

0.4930.5980.2730.405

0.4000.595

Figure 16. Psat/Bsat tree of kcnfs running on random 3-Sat with n = 350 and ρ = 4.26.

Psat(d, i) values are shown in the vertices and Bsat(d, i) values are shown on the edges.

144

Page 29: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

#RB

0

1

2

3

4

5

SAT

0.579

0.423

0.288

0.400

0.1210.361

0.0490.3650.0180.337

0.0350.663

0.0860.6350.0350.362

0.0610.638

0.2140.639

0.0910.3690.0330.332

0.0680.668

0.1560.6310.0580.328

0.1180.672

0.432

0.600

0.2010.385

0.0810.3520.0310.356

0.0570.644

0.1500.6480.0590.350

0.1100.650

0.3210.615

0.1410.3710.0530.338

0.1040.662

0.2380.6290.0980.356

0.1770.644

0.791

0.577

0.433

0.417

0.1990.381

0.0830.3660.0290.313

0.0630.687

0.1440.6340.0560.347

0.1050.653

0.3230.619

0.1450.3820.0560.344

0.1060.656

0.2350.6180.1030.376

0.1710.624

0.606

0.583

0.3080.404

0.1340.3780.0500.327

0.1020.673

0.2210.6220.0890.347

0.1660.653

0.4550.596

0.2140.3870.0890.359

0.1580.641

0.3380.6130.1480.369

0.2540.631

Figure 17. Psat/Bsat tree of march ks− running on random 4-Sat with n = 120 and ρ = 9.9.

Psat(d, i) values are shown in the vertices and Bsat(d, i) values are shown on the edges.

145

Page 30: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

#RB

0

1

2

3

4

5

SAT

0.584

0.427

0.299

0.409

0.1510.430

0.0650.3830.0280.403

0.0410.597

0.1040.6170.0470.403

0.0700.597

0.2010.570

0.0950.4050.0440.420

0.0610.580

0.1390.5950.0670.417

0.0930.583

0.432

0.591

0.2130.413

0.0940.3880.0360.347

0.0680.653

0.1480.6120.0630.375

0.1050.625

0.3030.587

0.1410.3920.0610.383

0.0980.617

0.2180.6080.1070.418

0.1500.582

0.785

0.573

0.429

0.418

0.2140.414

0.0960.3920.0370.355

0.0670.645

0.1480.6080.0640.383

0.1030.617

0.3020.586

0.1460.4120.0730.434

0.0960.566

0.2080.5880.0970.392

0.1500.608

0.598

0.582

0.3030.408

0.1390.3890.0600.386

0.0950.614

0.2180.6110.1000.399

0.1500.601

0.4400.592

0.2080.3910.0880.368

0.1510.632

0.3240.6090.1430.373

0.2400.627

Figure 18. Psat/Bsat tree of kcnfs running on random 4-Sat with n = 120 and ρ = 9.9.

Psat(d, i) values are shown in the vertices and Bsat(d, i) values are shown on the edges.

146

Page 31: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

Whose side are you on?

#RB

0

1

2

3

4

5

SAT

0.440

0.326

0.162

0.296

0.0510.266

0.0150.2650.0050.305

0.0120.695

0.0430.7350.0130.265

0.0360.735

0.1410.7340.0450.279

0.0140.269

0.0380.731

0.1180.7210.0360.261

0.1010.739

0.385

0.704

0.1380.295

0.0440.2770.0140.272

0.0370.728

0.1160.7230.0360.270

0.0980.730

0.3300.7050.1200.296

0.0420.296

0.0990.704

0.2850.7040.1070.312

0.2370.688

0.908

0.674

0.396

0.327

0.1480.302

0.0470.2710.0140.258

0.0400.742

0.1260.7290.0390.267

0.1060.733

0.3410.6980.1250.301

0.0440.298

0.1040.702

0.2920.6990.1060.300

0.2470.700

0.815

0.673

0.3740.341

0.1350.2960.0460.289

0.1140.711

0.3210.7040.1230.309

0.2750.691

0.7250.6590.3290.341

0.1250.307

0.2820.693

0.6360.6590.2710.325

0.5630.675

Figure 19. Psat/Bsat tree of Jeroslow-Wang one-sided heuristic on random 3-Sat with n = 120,

ρ = 4.26. Psat(d, i) values are shown in the vertices and Bsat(d, i) values are shown on the edges.

147

Page 32: Whose side are you on?mheule/publications/JSAT4_7_Heule.pdfWhose side are you on? improves (and thus the bias towards the left branches increases) in nodes deeper in the tree - which

M.J.H. Heule and H. van Maaren

#RB

0

1

2

3

4

5

SAT

0.553

0.398

0.274

0.386

0.1250.376

0.0510.3490.0240.408

0.0340.592

0.0950.6510.0450.398

0.0680.602

0.2070.6240.0950.378

0.0400.366

0.0700.634

0.1560.6220.0700.369

0.1200.631

0.436

0.614

0.2070.379

0.0970.3850.0420.361

0.0740.639

0.1550.6150.0690.363

0.1220.637

0.3390.6210.1600.381

0.0700.366

0.1210.634

0.2600.6190.1170.364

0.2040.636

0.835

0.602

0.453

0.394

0.2220.384

0.1080.3930.0500.387

0.0800.613

0.1670.6070.0750.373

0.1260.627

0.3560.6160.1740.387

0.0770.368

0.1320.632

0.2760.6130.1330.391

0.2070.609

0.697

0.606

0.3650.389

0.1910.4110.0900.391

0.1410.609

0.2730.5890.1290.381

0.2100.619

0.5730.6110.2990.398

0.1430.378

0.2350.622

0.4530.6020.2280.389

0.3590.611

Figure 20. Psat/Bsat tree of Jeroslow-Wang two-sided heuristic on random 3-Sat with n = 120,

ρ = 4.26. Psat(d, i) values are shown in the vertices and Bsat(d, i) values are shown on the edges.

148


Recommended