Symboli Tehniques in Satisability Solving Guoqiang Pan and Moshe Y. Vardi Department of Computer Siene, Rie University, Houston, USA (fgqpan,vardigs.rie.edu) Reent work has shown how to use BDDs for satisability solving. The idea of this approah, whih we all symboli quantier elimination, is to view an instane of propositional satisability as an existentially quantied propositional formula. Satisability solving then amounts to quantier elimination; one all quantiers have been eliminated we are left with either 1 or 0. Our goal in this work is to study the eetiveness of symboli quantier elimination as an approah to satisability solving. To that end, we ondut a diret omparison with the DPLL-based ZCha, as well as evaluate a variety of optimization tehniques for the symboli approah. In omparing the symboli approah to ZCha, we evaluate salability aross a variety of lasses of formulas. We nd that no approah dominates aross all lasses. While ZCha dominates for many lasses of formulas, the symboli approah is superior for other lasses of formulas. One we have demonstrated the viability of the symboli approah, we fous on optimization tehniques for this approah. We study tehniques from onstraint satisfation for nding a good plan for performing the symboli operations of onjuntion and of existential quantiation. We also study various variable-ordering heuristis, nding that while no heuristi seems to dominate aross all lasses of formulas, the maximum-ardinality searh heuristi seems to oer the best overall performane. Abstrat. Keywords: Satisability, Binary Deision Diagram, Symboli Deision Proedure 1. Introdution Propositional-satisability solving has been an ative area of researh throughout the last 40 years, starting from the resolution-based algorithm in [24℄ and the searh-based algorithm in [23℄. The latter approah, referred to as the DPLL approah, has sine been the method of hoie for satisability solving. In the last ten years, muh progress has been made in developing highly optimized DPLL solvers, leading to eÆient solvers suh as ZCha [45℄ and BerkMin [33℄, all of whih use advaned heuristis in hoosing variable splitting order, in performing eÆient Boolean onstraint propagation, and in onit-driven learning to prune unneessary searh branhes. These solvers are so eetive that they are used as generi problem solvers, where problems suh as A preliminary version of the paper was presented in SAT'04. Supported in part by NSF grants CCR-9988322, CCR-0124077, CCR-0311326, IIS-9908435, IIS9978135, EIA-0086264, ANI-0216467, and by BSF grant 9800096. 2005 Kluwer Aademi Publishers. Printed in the Netherlands. pvsat05.tex; 3/05/2005; 16:09; p.1 2 bounded model heking [8℄, planning [39℄, sheduling [20℄, and many others are typially solved by reduing them to satisability problems. Another suessful approah to propositional reasoning is that of deision diagrams, whih are used to represent propositional funtions. An instane of the approah is that of ordered Boolean deision diagrams (BDDs) [12℄, whih are used suessfully in model heking [14℄ and planning [17℄. A BDD representation also enables easy satisability heking, whih amounts to deiding whether it is dierent than the empty BDD [12℄. Sine deision diagrams usually represent the set of all satisfying truth assignments, they inur a signiant overhead over searh tehniques that fous on nding a single satisfying assignment [19℄. Thus, published omparisons between searh and BDD tehniques [40, 55℄ used searh to enumerate all satisfying assignments. The onlusion of that omparison is that no approah dominates; for ertain lasses of formulas searh is superior, and for other lasses of formulas BDDs are superior. Reent work has shown how to use BDDs for satisability solving rather than enumeration [50℄. The idea of this approah, whih we all symboli quantier elimination, is to view an instane of propositional satisability as an existentially quantied propositional formula. Satisability solving then amounts to quantier elimination; one all quantiers have been eliminated we are left with either 1 or 0. This enables us to apply ideas about existential quantier elimination from model heking [49℄ and onstraint satisfation [26℄. The fous in [50℄ is on expeted behavior on random instanes of 3-SAT rather than on eÆieny. In partiular, only a minimal eort is made to optimize the approah and no omparison to searh methods is reported. Nevertheless, the results in [50℄ show that BDD-based algorithms behave quite dierently than searh-based algorithms, whih makes them worthy of further investigation. (Other reent approahes reported using deision diagrams in satisability solving [15, 22, 29, 46℄. We disuss these works later). Our goal in this paper is to study the eetiveness of symboli quantier elimination as an approah to satisability solving. To that end, we ondut a diret omparison with the DPLL-based ZCha, as well as evaluate a variety of optimization tehniques for the symboli approah. In omparing the symboli approah to ZCha we use a variety of lasses of formulas. Unlike, however, the standard pratie of omparing solver performane on benhmark suites [42℄, we fous here on salability. That is, we fous on salable lasses of formulas and evaluate how performane sales with formula size. As in [55℄ we nd that no approah dominates aross all lasses. While ZCha dominates pvsat05.tex; 3/05/2005; 16:09; p.2 3 for many lasses of formulas, the symboli approah is superior for other lasses of formulas. One we have demonstrated the viability of the symboli approah, we fous on optimization tehniques. The key idea underlying [50℄ is that evaluating an existentially quantied propositional formula in onjuntive-normal form requires performing several instanes of onjuntion and of existential quantiation. The goal is to nd a good plan for these operations. We study two approahes to this problem. The rst is Bouquet's method (BM) of [50℄ and the seond is the buketelimination (BE) approah of [26℄. BE aims at reduing the size of the support set of the generated BDDs through quantier elimination and it has the theoretial advantage of being, in priniple, able to attain optimal support set size, whih is the treewidth of the input formula [28℄. Nevertheless, we nd that for ertain lasses of formulas BM is superior to BE. The key to good performane in both BM and BE is in hoosing a good variable order for quantiation and BDD order. Finding an optimal order is by itself a diÆult problem (omputing the treewidth of a given graph is NP-hard [4℄), so one has to resort to various heuristis, f. [41℄. No heuristi seems to dominate aross all lasses of formulas, but the maximal-ardinality-searh (MCS) heuristi seems to oer the best overall performane. Finally, we ontrast our symboli solvers with two other solvers, using the MCS variable order. We re-implemented ZRes, the ZDDbased multi-resolution approah of [15℄, and ZCha, the DPLL-based solver of [45℄ to use the MCS variable order. The goal is to have a omparison of the dierent tehniques, using the same variable order. See further disussion below. We start the paper with a desription of symboli quantier elimination as well as the BM approah in Setion 2. We then desribe the experimental setup in Setion 3. In Setion 4 we ompare ZCha with BM and show that no approah dominates aross all lasses of formulas. In Setion 5 we ompare BM with BE and study the impat of various variable-ordering heuristis. In Setion 6 we ompare our BDD-based algorithm with A ZDD-based algorithm based on ZRes[15℄ and ompare the dynami variable deision order used in ZCha with a strutural-guided stati variable order. We onlude with a disussion in Setion 7. pvsat05.tex; 3/05/2005; 16:09; p.3 4 2. Bakground A binary deision diagram (BDD) is a rooted direted ayli graph that has only two terminal nodes labeled 0 and 1. Every non-terminal node is labeled with a Boolean variable and has two outgoing edges labeled 0 and 1. An ordered binary deision diagram (BDD) is a BDD with the onstraint that the input variables are ordered and every path in the BDD visits the variables in asending order. We assume that all BDDs are redued, whih means that where every node represents a distint logi funtion. BDDs onstitute an eÆient way to represent and manipulate Boolean funtions [12℄, in partiular, for a given variable order, BDDs oer a anonial representation. Cheking whether a BDD is satisable is also easy; it requires heking that it diers from the predened onstant 0 (the empty BDD). We used the CUDD pakage for managing BDDs [53℄. The support set of a BDD is the set of variables labeling its internal nodes. In [19, 55℄, BDDs are used to onstrut a ompat representation of the set of all satisfying truth assignments of CNF formulas. The input formula ' is a onjuntion 1 ^ : : : ^ m of lauses. The algorithm onstruts a BDD Ai for eah lause i . (Sine a lause exludes only one assignments to its variables, Ai is of linear size.) A BDD for the set of satisfying truth assignment is then onstruted inrementally; B1 is A1 , while Bi+1 is the result of apply(Bi ; Ai ; ^), where apply(A; B; Æ) is the result of applying a Boolean operator Æ to two BDDs A and B . Finally, the resulting BDD Bm represents all satisfying assignments of the input formula. We an apply existential quantiation to a BDD B : (9x)B = apply(B jx 1; B jx 0; _); where B jx restrits B to truth assignments that assign the value to the variable x. Note that quantifying x existentially eliminates it from the support set of B . The satisability problem is to determine whether a given formula 1 ^ : : : ^ m is satisable. In other words, the problem is to determine whether the existential formula (9x1 ) : : : (9xn)(1 ^ : : : ^ m ) is true. Sine heking whether the nal BDD Bm is equal to 0 an be done by CUDD in onstant time, it makes little sense, however, to apply existential quantiation to Bm . Suppose, however, that a variable xj does not our in the lauses i+1 ; : : : ; m . Then the existential formula an be rewritten as (9x1 ) : : : (9xj 1)(9xj +1 ) : : : (9xn )((9xj )(1 ^ : : : ^ i ) ^ (i+1 ^ : : : ^ m )): Pursuing this rewriting strategy as aggressively as possible, we proess the lauses in the order 1 ; : : : ; n , quanting variables existentially as pvsat05.tex; 3/05/2005; 16:09; p.4 5 soon as possible (that is, a variable is quantied as soon as it does not our anymore in the unproesses lauses). We refer to this as early quantiation of variables. Note that dierent lause orders may indue dierent orders of variable quantiation. Finding a good lause order is a major fous of this paper. This motivates the following hange in the earlier BDD-based satisability-solving algorithm [50℄: after onstruting the BDD Bi , quantify existentially variables that do not our in the lauses i+1 ; : : : ; m . In this ase we say that the quantier 9x has been eliminated. The omputational advantage of quantier elimination stems from the fat that reduing the size of the support set of a BDD typially (though not neessarily) results in a redution of its size; that is, the size of (9x)B is typially smaller than that of B . In a nutshell, this method, whih we desribe as symboli quantier elimination, eliminates all quantiers until we are left with the onstant BDD 1 or 0. Symboli quantier elimination was rst applied to SAT solving in [34℄ (under the name of hiding funtions ) and tried on random 3-SAT instanes. The work in [50℄ studied this method further, and onsidered various optimizations. The main interest there, however, is in the behavior of the method on random 3-SAT instanes, rather in its omparison to DPLL-based methods.1 So far we proessed the lauses of the input formula in a linear fashion. Sine the main point of quantier elimination is to eliminate variables as early as possible, reordering the lauses may enable us to do more aggressive quantiation. That is, instead of proessing the lauses in the order 1 ; : : : ; m , we an apply a permutation and proess the lauses in the order (1) ; : : : ; (m) . The permutation should be hosen so as to minimize the number of variables in the support sets of the intermediates BDDs. This observation was rst made in the ontext of symboli model heking, f. [13, 9, 32, 36℄. Unfortunately, nding an optimal permutation is by itself a diÆult optimization problem, motivating heuristi approahes. A partiular heuristi that was proposed in the ontext of symboli model heking in [49℄ is that of lustering. In this approah, the lauses are not proessed one at a time, but several lauses are rst partitioned into several lusters. For eah luster C we rst apply onjuntion to all the BDDs of the lauses in the C to obtain a BDD BC . The lusters are then ombined, together with quantier elimination, as desribed earlier. Heuristis are required both for lustering the lauses and ordering the lusters. Bouquet proposed the following heuristi in [11℄ (the fous 1 Note that symboli quantier elimination provides pure satisability solving; the algorithm returns 0 or 1. To nd a satisfying truth assignment when the formula is satisable, the tehnique of self-reduibility an be used, f. [5℄. pvsat05.tex; 3/05/2005; 16:09; p.5 6 there is on enumerating prime impliants). Consider some order of the variables. Let the rank (from 1 to n) of a variable x be rank(x), let the rank rank(`) of a literal ` be the rank of its underlying variable, and let the rank rank() of a lause be the maximum rank of its literals. The lusters are the equivalene lasses of the relation dened by: 0 i rank () = rank (0 ). The rank of a luster is the rank of its lauses. The lusters are then ordered aording to inreasing rank. For example, given the set of lauses fx1 _:x2 ; x1 _ x3 ; :x2 _ x3 ; x3 _ x4 g, The lusters are C1 = fg; C2 = fx1 _:x2 g; C3 = fx1 _ x3 ; :x2 _ x3 g; C4 = fx3 _ x4 g. Satisability solving using symboli quantier elimination is a ombination of lustering and early quantiation. We keep a set of ative variables as we onjoin lusters, in the order C1 ; : : : ; Cn . Starting from an empty set, after eah luster Ci is proessed, we add all the variables that our in Ci to the ative set. Then, a variable that does not our in all Cj s where j > i an be removed from the ative set and eliminated via early quantiation. So, we are omputing 9Xn : : : (9X2(((9X1 )C1 ) ^ C2 ) : : : ^ Cn), where the quantied variable set Xi onsists of the ative variables that an be quantied early after Ci is proesses. (CUDD allows quantifying several variables in funtion all.) When we use Bouquet's lustering, the method is referred to in [50℄ as Bouquet's Method, whih we abbreviate here is as BM. For the example above, the BM quantiation shedule is 9x3x4((9x1 x2((C1 ^ C2) ^ C3)) ^ C4). We still have to hose a variable order. An order that is often used in onstraint satisfation [25℄ is the \maximum ardinality searh" (MCS) order of [54℄, whih is based on the graph-theoreti struture V of the formula. The graph assoiated with a CNF formula ' = i i is G' = (V; E ), where V is the set of variables in ' and an edge fxi ; xj g is in E if there exists a lause k suh that xi and xj our in k . We refer to G' as the Gaifman graph of '. MCS ranks the verties from 1 to n in the following way: as the next vertex to rank, selet the vertex adjaent to the largest number of previously ranked verties (ties an be broken in various ways). The variable order used for the BDDs in the omparisons unless otherwise mentioned is the inverse of the MCS order2 (See Setion 5.2 for exeptions). 2 Using the MCS order or its inverse as the BDD variable order exhibits little performane dierene, so the inverse is preferred beause the BE approah presented in Setion 5.1 is easier to implement on the inverse order. pvsat05.tex; 3/05/2005; 16:09; p.6 7 3. Experimental setup We ompare symboli quantier elimination to ZCha aross a variety of lasses of formulas. Unlike the standard pratie of omparing solver performane on benhmark suites [42℄, our fous here is not on simple time omparison, but rather on salability. That is, we fous on salable lasses of formulas and evaluate how performane sales with formula size. We are interested in seeing whih method sales better, i.e., polynomial vs. exponential salability, or dierent degrees of exponential salability. Our test suite inludes both random and nonrandom formulas (for random formulas we took 60 samples per ase and reported median time). Experiments were performed using x86 emulation on the Rie Terasale Cluster3, whih is a large Linux luster of Itanium II proessors with 4GB of memory eah. Our test suite inludes the following lasses of formulas: Random 3-CNF: We hose uniformly k 3-lauses over n variables. The density of an instane is dened as k=n. We generate instanes at densities 1.5, 6, 10, and 15, with up to 200 variables, to allow omparison for both under-onstrained and over-onstrained ases. (It is known that the satisability threshold of suh formulas is around 4.25 [52℄). Random aÆne 3-CNF: AÆne 3-CNF formulas belongs to a polyno- mial lass as lassied by Shaefer [51℄. Here, they are generated in the same way as random 3-CNF formulas, exept that the onstraints are not 3-lauses, but parity equations in the form of l1 l2 l3 = 14 . Eah onstraint is then onverted into four lauses l1 _ l2 _ l3 ; :l1 _:l2 _ l3 ; :l1 _ l2 _:l3 ; l1 _:l2 _:l3 , yielding CNF formulas. The satisability threshold of suh formula is found empirially to be around density (number of equations divided by number of variables) 0.95. We generate instanes of density 0.5 and 1.5, with up to 400 variables. Random bionditionals: Bionditional formulas, also known as Urqu- hart formulas, form a lass of aÆne formulas that have provably exponential resolution proofs. A bionditional formula has the form l1 $ (l2 $ (: : : (lk 1 $ lk ) : : :)), where eah li is a positive literal. Suh a formula is valid if either all variables our an even number of times or all variables our an odd number of times [56℄. 3 http://www.iti.rie.edu/rt/ 4 This is equivalent to just hoosing three variables and generate x1 x2 x3 = p where p = 0 or p = 1 with equal probability. pvsat05.tex; 3/05/2005; 16:09; p.7 8 We generate valid formulas with up to 100 variables, where eah variable ours 3 times on average. Random hains: The lasses desribed so far all have an essentially uniform random Gaifman graph, with no underlying struture. To extend our omparison to strutured formulas, we generate random hains [27℄. In a random hain, we form a long hain of random 3-CNF formulas, alled subtheories. (The hain struture is reminisent to the struture typially seen in satisability instanes obtained from bounded model heking [8℄ and planning [39℄.) We use a similar generation parameters as in [27℄, where there are 5 variables per sub-theory and 5-23 lauses per sub-theory, but that we generate instanes with a muh bigger number of sub-theories, saling up to > 20000 variables and > 4000 sub-theories. Nonrandom formulas: As in [55℄, we onsidered a variety of formulas with very spei salable struture: The n-Rooks problem (satisable). The n-Queens problem (satisable for n > 3). The pigeon-hole problem with n + 1 pigeons and n holes (unsatisable). The mutilated-hekerboard problem, where an n n board with two diagonal orner tiles removed is to be tiled with 1 2 tiles (unsatisable). 4. Symboli vs. searh approahes Our goal in this setion is to address the viability of symboli quantier elimination. To that end we ompare the performane of BM against ZCha5, a leading DPLL-based solver aross the lasses of formulas desribed above, with a fous on salability. For now, we use the MCS variable order. In Figure 1A and 1B, we an see that BM is not very ompetitive for random 3-CNF formulas. At density 1.5, ZCha sales polynomially, while BM sales exponentially. At density 6.0 and at higher densities, both methods sale exponentially, but ZCha sales exponentially better. (Note that above density 6.0 both methods sale better as the density inreases. This is onsistent with the experimental results in [19℄ and [50℄.) A similar pattern emerges for random aÆne formulas, 5 ZCha version 2004.5.13 pvsat05.tex; 3/05/2005; 16:09; p.8 20 18 18 16 16 log running time(ms) 20 14 12 BM,density=10 BM,density=15 ZChaff,density=10 ZChaff,density=15 14 12 10 2 10 2 log running time(ms) 9 8 6 4 2 0 8 6 BM,density=1.5 BM,density=6.0 ZChaff,density=1.5 ZChaff,density=6.0 50 4 100 Variables 150 200 Figure 1. Random 3-CNF A. 2 0 50 100 Variables 150 B. 200 18 16 BM,density=0.5 BM,density=1.5 ZChaff,density=0.5 ZChaff,density=1.5 12 10 2 log running time(ms) 14 8 6 4 2 0 50 100 150 200 Variables 250 300 350 400 Figure 2. Random 3-AÆne see Figure 2. Again, ZCha sales exponentially better than BM. (Note that both methods sale exponentially at the higher density, while it is known that aÆne satisability an be determined in polytime using Gaussian elimination [51℄.) The piture hanges for bionditional formulas, as shown in Figure 3A. Again, both methods are exponential, but BM sales exponentially better than ZCha. (This result is onsistent with the nding in [15℄, whih ompares searh-based methods to ZDD-based multiresolution.) 16 20 BM ZChaff 18 15 14 log2 running time(ms) 13 14 12 12 11 10 2 log running time(ms) 16 10 8 6 9 4 8 2 10 BM ZChaff 20 30 40 50 60 Variables 70 80 90 100 A. 7 2 10 Figure 3. A) Random Bionditionals B) Random Chains 3 10 Variables 4 10 B. pvsat05.tex; 3/05/2005; 16:09; p.9 10 20 20 BM ZChaff 16 14 14 log Running Time 16 12 12 10 2 10 8 8 6 6 4 4 2 2 4 6 8 10 12 14 16 18 20 N Figure 4. A) n-Rooks B) n-Queens 2 0 A. 20 50 100 150 200 N2 250 300 350 400 B. 20 BM ZChaff 18 BM ZChaff 18 16 14 14 log Running Time 16 12 12 10 2 10 2 log Running Time BM ZChaff 18 2 log Running Time 18 8 6 6 4 2 2 8 4 4 6 8 10 12 N 14 16 18 20 A. 2 2 4 6 8 10 12 N Figure 5. A) Pigeon Hole B) Mutilated Chekerboard 14 16 18 20 B. For random hains, see Figure 3B, whih uses a log-log sale. Both methods sale polynomially on random hains. (Beause density for the most diÆult problems hange as the size of the hains sales, we seleted here the hardest density for eah problem size.) Here BM sales polynomially better than ZCha. Note that for smaller instanes ZCha outperforms BM, whih justies our fous on salability rather than on straightforward benhmarking. Finally, we ompare BM with ZCha on the non-random formulas of [55℄. The n-Rooks problem is a simpler version of n-Queens problem, where the diagonal onstraints are not used. For n-Rooks, the results are as in Figure 4A. This problem have the property of being globally onsistent, i.e., any onsistent partial solution an be extended to a solution [25℄. Thus, the problem is trivial for searh-based solvers, as no baktraking is need. In ontrast BM sales exponentially on this problem. For n-Queens, see Figure 4B, BM sale exponentially in n2 , while ZCha seems to have better salability. Again, a dierent piture emerges when we onsider the pigeon-hole problem and the mutilatedhekerboard problem, see Figure 5A and Figure 5B. On both problems both BM and ZCha sale exponentially, but BM sales exponentially better than ZCha. pvsat05.tex; 3/05/2005; 16:09; p.10 11 As in [55℄, who ompared BDDs and DPLL for solution enumeration, we nd that no approah dominates aross all lasses. While ZCha dominates for many lasses of formulas, the symboli approah is superior for other lasses of formulas. This suggests that the symboli quantier elimination is a viable approah and deserves further study. In the next setion of this work we fous on various optimization strategies for the symboli approah. 5. Optimizations So far we have desribed one approah to symboli quantier elimination. There are, however, many hoies one needs to make to guide an implementation. The order of variables is both used to guide lustering and quantier elimination, as well as to order the variables in the underlying BDDs. Both lustering and luster proessing an be performed in several ways. In this setion, we investigate the impat of hoies in lustering, variable order, and quantier elimination in the implementation of symboli algorithms. Our fous here is on measuring the impat of variable order on BDD-based SAT solving; thus, the running time for variable ordering, whih is polynomial for all algorithms, is not ounted in our gures. 5.1. Cluster Ordering As argued earlier, the purpose of quantier elimination is to redue support-set size of intermediate BDDs. What is the best redution one an hope for? This question has been studied in the ontext of onstraint satisfation. It turns out that the optimal shedule of onjuntions and quantier eliminations redues the support-set size to one plus the treewidth of the Gaifman graph of the input formula [21℄. The treewidth of a graph is a measure of how lose this graph is to being a tree [28℄. Computing the treewidth of a graph is known to be NP-hard, whih is why heuristi approahes are employed [41℄. It turns out that by proessing lusters in a dierent order we an attain the optimal support-set size. Reall that BM proesses the lusters in order of inreasing ranks. Buket elimination (BE), on the other hand, proesses lusters in order of dereasing ranks [26℄. Maximal support-size set of BE with respet to optimal variable order is dened as the indued width of the input instane, and the indued width is known to be equal to the treewidth [26, 30℄. Thus, BE with respet to optimal variable order is guaranteed to have polynomial running time for input instanes of logarithmi treewidth, sine this guarantees a polynomial upper bound pvsat05.tex; 3/05/2005; 16:09; p.11 20 18 18 16 16 log running time(ms) 20 14 12 14 12 10 2 10 2 log running time(ms) 12 8 6 8 6 BM,density=1.5 BM,density=6.0 BE,density=1.5 BE,density=6.0 4 2 0 50 100 Variables 150 BM,density=10 BM,density=15 BE,density=10 BE,density=15 4 200 A. 2 0 Figure 6. Clustering Algorithms - Random 3-CNF 50 100 Variables 150 200 B. 18 16 12 10 2 log running time(ms) 14 8 6 4 BM,density=0.5 BM,density=1.5 BE,density=0.5 BE,density=1.5 2 0 50 100 150 200 Variables 250 300 350 400 Figure 7. Clustering Algorithms - Random AÆne on BDD size. For BE, sine the maximum-ranked variable in eah luster an not our in any lower-ranked lusters, omputing a quantiation shedule from the ontents of the lusters is not neessary. As eah luster is proessed, the maximum-ranked variable is eliminated. For example, for the formula presented in Setion 2, the quantiation shedule would be 9x1 ((9x2 ((9x3 ((9x4 C4 ) ^ C3)) ^ C2 )) ^ C1 ), with one variable eliminated per luster proessed. As shown, using the inverse of variable rank as the BDD variable order allows us to always eliminate the top variable in the BDD. We now ompare BM and BE with respet to MCS variable order (MCS is the preferred variable order also for BE). The results for the omparison on random 3-CNF formulas is plotted in Figure 6A and 6B. We see that the dierene between BM and BE is density dependent, where BE exels in the low-density ase, whih have low treewidth, and BM exels in the high-density ases, whih has high treewidth. A similar density dependent behavior is shown for the aÆne ase in Figure 7. The dierene of the two shemes on bionditional formulas is quite small as shown in Figure 8A. For hains, see Figure 8B. Beause the number of variables for these formulas are large, the ost of omputing the quantiation shedule gives BE an edge over BM. pvsat05.tex; 3/05/2005; 16:09; p.12 13 16 20 BM BE BM BE 18 15 log2 running time(ms) 14 14 13 12 12 10 11 2 log running time(ms) 16 8 10 6 9 4 2 10 20 30 40 50 60 Variables 70 80 90 100 8 2 10 A. 3 4 10 Variables 10 B. 20 18 18 16 16 14 14 log Running Time 20 12 10 BM BE 12 10 2 2 log Running Time Figure 8. Clustering Algorithms - A) Random Bionditionals B) Random Chains 8 8 6 6 4 2 2 4 BM BE 4 6 8 10 12 14 16 18 20 N A. 2 0 50 100 150 200 N 250 300 350 400 Figure 9. Clustering Algorithms - A) n-Rooks B) n-Queens B. On most onstruted formulas, the piture is similar to the highdensity random ases, where BM dominates, exept for mutilatedhekerboard formulas, where BE has a slight edge. (Note that treewidth for mutilated hekerboard problems grows only at O(n) ompared to O(n2 ) for other onstruted problems.) We plot the performane omparison for n-rook formulas in Figure 9A, n-queens formulas in Figure 9B, pigeon-hole formulas in Figure 10A, and mutilated hekerboard problems in Figure 10B. 20 20 BM BE BM BE 18 16 14 14 log Running Time 16 12 10 12 10 2 2 log Running Time 18 8 8 6 6 4 4 2 4 6 8 10 12 N 14 16 18 20 A. 2 2 4 6 8 10 12 14 16 18 20 N Figure 10. Clustering Algorithms - A) Pigeon Hole B) Mutilated Chekerboard B. pvsat05.tex; 3/05/2005; 16:09; p.13 14 1.8 4.5 1.4 4 1.2 3.5 BE BM 3 1 Density Density 5 BE BM 1.6 0.8 2.5 2 0.6 1.5 0.4 1 0.2 0.5 0 0 10 20 30 Variables 40 50 A. 0 0 10 20 30 Variables Figure 11. Clustering Algorithms A) Density=1.5 B) Density=6.0 40 50 B. To understand the dierene in performane between BM and BE, we study their eet on intermediate BDD size. BDD size for a random 3-CNF instane depends ruially on both the number of variables and the density of the instane. Thus, we ompare the eet of BM and BE in terms of these measures for the intermediate BDDs. We apply BM and BE to random 3-CNF formulas with 50 variables and densities 1.5 and 6.0. We then plot the density vs. the number of variables for the intermediate BDDs generated by the two luster-proessing shemes. The results are plotted in in Figure 11A and Figure 11B. Eah plotted point orresponds to an intermediate BDD, whih reets the lusters proessed so far. As an be noted from the gures, BM inreases the density of intermediate results muh faster than BE. This dierene is quite dramati for high-density formulas. The relation between density of random 3CNF instane and BDD size has been studied in [19℄, where it is shown that BDD size peaks at around density 2.0, and is lowest when the density is lose to 0 or the satisability threshold. This enables us to oer an possible explanation to the superiority of BE for low-density instanes and the superiority of BM for high-density instanes. For formulas of density 1.5, the density of intermediate results is smaller than 2.0 and BM's inreased density results in larger BDDs. For formulas of density 6.0, BM rosses the threshold density 2.0 using a smaller number of variables, and then BM's inreased density results in smaller BDDs. The general superiority of BM over BE suggests that minimizing support-set size ought not to be the dominant onern. BDD size is orrelated with, but not dependent on, support-set size. More work is required in order to understand the good performane of BM. Our explanation argues that, as in [3℄, BM rst deals with the most onstrained subproblems, therefore reduing BDD-size of intermediate results. While the performane of BE an be understood in terms of pvsat05.tex; 3/05/2005; 16:09; p.14 15 treewidth, we still lak, however, a fundamental theory to explain the performane of BM. 5.2. Variable Ordering In this setion, we study the eets of the variable order on the performane of symboli algorithms. We only present results for BM, sine the piture is similar for BE. The variable order for the BDD representation is again the inverse of the variable order for lustering. As mentioned earlier, when seleting variables, MCS has to break ties, whih happens quite often. One an break ties by hoosing (from those variables that have the maximum ardinality to ranked variables as MCS requires) the variable with minimal degree to unseleted variables [50℄ or the variable with the maximal degree to unseleted variables [6℄. (Another hoie to break ties uniformly at random, but this hoie is expensive to implement, sine it is diÆult to hoose an element uniformly at random from a heap.) We ompare these two heuristis with an arbitrary tie-breaking heuristi, in whih we simply selet the top variable in the heap. The results are shown in Figure 12A for random 3-CNF formulas. For high density formulas, tie breaking made no signiant dierene, but least-degree tie breaking is markedly better for the low density formulas. This seems to be appliable aross a variety of lass of formulas and even for dierent orders and algorithms. MCS typially has many hoies for the lowest-rank variable. In Koster et. al. [41℄, it is reommended to start from every vertex in the graph and hoose the variable order that leads to the lowest treewidth. This is easily done for instanes of small size, i.e. random 3-CNF or aÆne problems; but for strutured problems, whih ould be muh larger, the overhead is too expensive. Sine min-degree tie-breaking worked quite well, we used the same idea for initial variable hoie. In Figure 12B, we see that our assumption is well-founded, that is, the benet of hoosing the best initial variable ompared to hoosing a min-degree variable is negligible. For larger problems like the hains or the bigger onstruted problems, the additional overhead of trying every initial variable would be prohibitive, so we used the low-degree seed in all ases. Algorithms for BDD variable ordering in the model-heking systems are often based on iruit strutures, for example, some form of iruit traversal [31, 43℄ or graph evaluation [16℄. These tehniques are not appliable here, sine the formulas are provided in CNF and the original iruit struture is lost. MCS is just one possible vertex-ordering heuristis. Other heuristis have been studied in the ontext of treewidth approximation. In pvsat05.tex; 3/05/2005; 16:09; p.15 20 18 18 16 16 log running time(ms) 20 14 12 14 12 10 2 10 2 log Running Time(ms) 16 8 density=1.5, max tie−breaker density=1.5, min tie−breaker density=1.5, arbitary tie−breaker density=6, max tie−breaker density=6, min tie−breaker density=6, arbitary tie−breaker 6 4 2 0 50 100 Order 150 8 6 Best width seed,density = 1.5 Best width seed,density=6.0 Lowest degree seed,density = 1.5 Lowest degree seed,density=6.0 4 200 A. 2 0 50 100 Variables 150 200 20 18 18 16 16 log Running Time(ms) 20 14 12 B. 14 12 10 2 10 2 log Running Time(ms) Figure 12. A) Variable Ordering Tie-breakers B) Initial Variable Choie 8 density=1.5, MCS density=1.5, MIW density=1.5, MF density=1.5, LEXP density=1.5, LEXM 6 4 2 0 50 100 Order 150 8 density=6, MCS density=6, MIW density=6, MF density=6, LEXP density=6, LEXM 6 4 200 A. 2 0 50 100 Order 150 200 B. Figure 13. Vertex Order Heuristis - Random 3-CNF A) Density=1.5 B) Density=6 [41℄ two other vertex-ordering heuristis that based on loal searh are studied: LEXP and LEXM. Both LEXP and LEXM are based on lexiographi breadth-rst searh, where andidate variables are lexiographially ordered with a set of labels, and the labels are either the set of already hosen neighbors (LEXP), or the set of already hosen verties reahable through lower-ordered verties (LEXM). Both algorithms try to generate vertex orders where a triangulation would add a small amount of edges, thus reduing treewidth. In [25℄, Dehter also studied heuristis like Min-Indued-Width (MIW) or Min-Fill (MF), whih are greedy heuristis based on hoosing the vertex that have the least number of indued neighbors (MIW) or the vertex that would add the least number of indued edges (MF). In Figure 13A and 13B, we ompare variable orders onstruted from MCS, LEXP, LEXM, MIW, and MF for random 3-CNF formulas. For high-density ases, MCS is learly superior. For low-density formulas, LEXP has a small edge, although the dierene is quite minimal. Aross the other problem lasses (for example, pigeon-hole formulas as in Figure 14A and mutilated hekerboard as in Figure 14B), MCS uniformly appears to be the best order, being the most onsistent and generally the top performer. Interestingly, while other heuristis like MF often yield better treewidth, MCS still yields better runtime performane. pvsat05.tex; 3/05/2005; 16:09; p.16 17 20 18 16 20 MCS MIW MF LEXP LEXM 18 16 12 10 10 8 8 2 14 12 2 14 6 6 4 4 2 2 4 6 8 10 12 14 16 18 20 2 2 A. MCS MIW MF LEXP LEXM 4 6 8 10 12 14 16 18 20 B. Figure 14. Vertex Order Heuristis - A) Pigeon Hole B) Mutilated Chekerboard 20 18 18 16 log running time(ms) 14 14 12 10 12 10 2 2 log running time(ms) 16 8 6 6 BM−EQ,density=1.5 BM−EQ,density=6.0 BM−no EQ,density=1.5 BM−no EQ,density=6.0 4 2 0 8 50 100 Variables 150 BE−EQ,density=1.5 BE−EQ,density=6.0 BE−no EQ,density=1.5 BE−no EQ,density=6.0 4 200 A. 2 0 Figure 15. Quantier Elimination-Random 3-CNF 50 100 Variables 150 200 B. This indiates that minimizing treewidth need not be the dominant onern; the dominant onern is minimizing BDD size. (BDD size seems more losely related to pathwidth [10℄, rather than treewidth. We speulate that MCS is a better order for pathwidth minimization.) 5.3. Quantifier Elimination So far we argued that quantier elimination is the key to the performane of the symboli approah. In general, reduing support-set size does result in smaller BDDs. It is known, however, that quantier elimination may inur non-negligible overhead and may not always redue BDD size [12℄. To understand the role of quantier elimination in the symboli approah, we reimplemented BM and BE without quantier elimination. Thus, we do onstrut a BDD that represent all satisfying truth assignments, but we do that aording to the lustering and luster proessing order of BM and BE. In Figure 15A and 15B, we plotted the running time of both BM and BE, with and without quantier elimination on random 3-CNF formulas. We see that there is a trade-o between the ost and benet of quantier elimination. For low-density instanes, where there are many solutions, the improvement from quantier elimination is lear, but for high-density instanes, quantier elimination results in no improvement pvsat05.tex; 3/05/2005; 16:09; p.17 18 20 18 BM−EQ BM−no EQ 20 18 16 14 12 12 10 10 2 log2 Running Time 16 14 8 8 6 6 4 2 2 4 4 6 8 10 12 14 16 N 18 20 A. 2 2 BM−EQ BM−no EQ 4 6 8 10 12 14 16 N 18 20 B. Figure 16. Quantier Elimination - A) Pigeon Hole B) Mutilated Chekerboard (while not reduing BDD size). For BE, where the overhead of quantier elimination is lower, quantier elimination improves performane very signiantly at low density, although at high density there is a slight slow down. On the other hand, quantier elimination is important for the onstruted formulas, for example, for the pigeon-hole formulas in Figure 16A and the mutilated hekerboard formulas in Figure 16B. 6. Comparison with other approahes In the previous setion, we onduted a omprehensive omparison of the impat of dierent parameters on the BDD-based symboli approah. Next, we expand our fous to alternate approahes, rst by omparing the BDD-based symboli quantier elimination with ZDDbased multi-resolution, then ompare the strutural variable order we used with the default dynami variable order in the ontext of ZCha. 6.1. BDDs vs. ZDDs So far we used symbolially represented sets of truth assignments. An alternate approah is to use deision diagrams to represent sets of lauses instead of sets of assignments. ZRes [15℄ is a symboli implementation of the diretional resolution algorithm in [24, 27℄. The approah is also referred to as multi-resolution, sine the algorithm arries out all resolutions over a variable in one symboli step. Sine individual lauses are usually sparse with respet to the set of variables, ZRes [15℄ used ZDDs [44℄, whih typially oer a higher ompression ratio then BDDs for the sparse spaes. Eah propositional literal ` is represented by a ZDD variable v` (thus a propositional variable an be represented by two ZDD variables), and lause sets are represented as follows: The empty lause is represented by the terminal node 1. pvsat05.tex; 3/05/2005; 16:09; p.18 19 The empty set ; is represented by the terminal node 0. Given a set C of lauses and a literal ` whose ZDD variable v` is lowest in a given variable order, we split C into two subsets: C` = f j 2 C; ` 2 g and C 0 = C C` . Given ZDDs representing C 00 = f j _ ` 2 C` g and C 0 , a ZDD representing C would be rooted at v` and have ZDDs for C 00 and C 0 as its left and right hildren. This representation is the dual of using ZDDs to represent Irredundant Sum of Produts (ISOPs) of Boolean funtions [44℄. We use two set operations on sets of lauses: (1) is the rossprodut operator, where for two lause sets C and D, C D = f j 90 2 C; 900 2 D; = 0 [ 00 g, and (2) + is subsumption-free union, so if both C and D are subsumption free, and 2 C + D, then there is no 0 2 C + D where 0 . Multi-resolution is implemented using on ofators: given a ZDD f , fx+ (resp. fx ) is the ZDDs orresponding to the positive ofator on the ZDD variable vx (resp., v:x , so fx+ = fa j a _ x 2 f g and fx = fa j a _ :x 2 f g. Now fx+ fx (after removing tautologies) represents the set of all resolvents of f on x, whih has to be ombined using + with fx0 , whih is the ZDD for the lauses not ontaining x. ZRes eliminates variables using multi-resolution one by one until either the empty lause is generated, in whih ase the formula is unsatisable, or all variables have been eliminated, in whih ase the formula is satisable. To failitate a fair omparison between ZRes and our BDD-based solver, we used the multi-resolution ode used in [15℄ under our buketelimination framework and used the same variable and elimination order as the BDD-based algorithms. This an be seen as a omparison of the ompression apability of ZDD-based lause sets versus BDD-based solutions sets representations, sine at omparable stages of the two algorithms (say, before variable xi is eliminated), the data strutures represents the same Boolean funtion. As an optimization, a simple form of unit preferene is implemented for the ZDD-based multiresolution, sine unit lauses an be easily deteted in the ZDD-based lause set representation and resolved out-of-order. The results for the 3-CNF and aÆne satisability ases are plotted in Figures 17A, 17B, and 18. We see that the dierenes between the two approahes are again density dependent. Just like the dierenes between BE and BM, ZDD-based multi-resolution is more eÆient at low density and less eÆient at high density. This an be related to the ompression ratio ahieved by the two representations at dierent densities, where the lause set representation is far more eÆient at low densities. For the high-density ase, the lause set representation starts pvsat05.tex; 3/05/2005; 16:09; p.19 20 18 20 16 18 16 log running time(ms) 12 10 8 14 12 10 2 2 log running time(ms) 14 6 4 BE,density=10 BE,density=15 MRes,density=10 MRes,density=15 8 6 BE,density=1.5 BE,density=6.0 MRes,density=1.5 MRes,density=6.0 2 0 50 4 100 Variables 150 200 Figure 17. Random 3-CNF A. 2 0 50 100 Variables 150 200 B. 16 BE,density=0.5 BE,density=1.5 MRes,density=0.5 MRes,density=1.5 14 10 8 2 log running time(ms) 12 6 4 2 0 50 100 150 200 Variables 250 300 350 400 Figure 18. Random 3-AÆne to show its shortomings. High-density problems typially have a large number of lauses and few solutions, lause-set representation is less eÆient in this ase. This is espeially evident for the unsatisable ase, where if BDDs are used, unsatisability an be deteted immediately, but if lause sets are used, detetion is delayed until an empty lause is generated. Next we examine the other lasses of formulas in Figure 19A, 19B, 20A, 20B, 21A, and 21B. In all ases, the BDD-based approah is superior to the ZDD-based approah.6 An explanation for the superiority of the BDD-based approah an be provided in terms of the ost of the quantier-elimination operation. Complexity of deision-diagram algorithms an be measured in the number of ahe look-ups that the algorithm performs. Quantifying out a single variable uses the BDD \or" operation, whih has a proven O (n2 ) upper bound on the number of ahe look-ups [12℄. The same annot be said for the ZDD multi-resolution operation used to quantify out a single variable, where the number of ahe look-ups an be 6 There exists other ZDD-based approahes for hard-for-resolution problems, for example, CASSAT [46℄, whih exhibits polynomial running time on pigeon-hole formulas [47℄. A omparison against these approahes would be a future diretion of this researh. pvsat05.tex; 3/05/2005; 16:09; p.20 21 20 20 BE MRes BE MRes 18 18 log2 running time(ms) 16 14 12 14 10 2 log running time(ms) 16 12 8 6 10 4 2 10 20 30 40 50 60 Variables 70 80 90 100 8 2 10 A. 3 4 10 Variables 10 Figure 19. A) Random Bionditionals B) Random Chains 20 20 BE MRes 18 BE MRes 18 16 14 14 log Running Time 16 12 12 10 2 10 2 log Running Time B. 8 8 6 6 4 4 2 5 6 7 8 9 N 10 11 12 13 2 0 A. 50 100 150 200 N2 250 300 350 400 Figure 20. A) n-Rooks B) n-Queens B. exponential in the width of the input ZDDs. Empirially, the number of ahe lookups an be 1-2 orders of magnitude larger than the size of the output ZDD. This is the main ontribution to the performane hit taken by the ZDD-based algorithm. In [48℄ we ompared BDD-based and ZDD-based approahes to QBF solving, showing that ZDD-based multi-resolution has a lear edge. Sine QBF problems are required to be under-onstrained propositionally (otherwise they would be easily unsatisable due to the universal quantiers), the extra ompression of the ZDD-based lause-set rep20 20 BE MRes BE MRes 18 16 14 14 log Running Time 16 12 10 12 10 2 2 log Running Time 18 8 8 6 6 4 4 2 2 4 6 8 10 12 N 14 16 18 20 A. 2 2 4 6 8 10 12 N Figure 21. A) Pigeon Hole B) Mutilated Chekerboard 14 16 18 20 B. pvsat05.tex; 3/05/2005; 16:09; p.21 22 20 20 18 ZChaff,density=1.5 ZChaff−MCS,density=1.5 BE,density=1.5 18 16 log running time(ms) 14 12 10 14 12 10 2 log2 running time(ms) 16 ZChaff,density=6.0 ZChaff−MCS,density=6.0 BM,density=6.0 8 8 6 6 4 4 2 0 50 100 Variables 150 200 A. 2 0 50 100 Variables 150 200 150 200 Figure 22. Variable Order - Random 3-CNF (1) 20 18 20 ZChaff,density=10 ZChaff−MCS,density=10 BM,density=10 18 ZChaff,density=15 ZChaff−MCS,density=15 BM,density=15 16 log running time(ms) 16 14 12 10 14 12 10 2 log2 running time(ms) B. 8 8 6 6 4 4 2 0 50 100 Variables 150 200 A. 2 0 50 100 Variables Figure 23. Variable Order - Random 3-CNF (2) B. resentation would apply, explaining the superiority of the ZDD-based approah. 6.2. Struture-Guided Variable Order for Searh In Setion 5, we showed that the hoie of variable order is important to the performane of BDD-based satisability solvers. We showed that MCS variable order oers good algorithmi performane aross a variety of input formulas. In ontrast, most searh-based algorithm use a dynami variable order, based on the lauses visited or generated during the searh proedure, for example, the VSIDS heuristi used in ZCha [45℄. To oer a more diret omparison between searhbased and symboli methods, we re-implemented ZCha with the MCS variable order and ompared its performane with ZCha and with the symboli solvers. (See [1, 37℄ for earlier work on struture-guided variable order for searh-based methods.) We ompared here the performane of ZCha with the default (VSIDS) variable order, ZCha with MCS variable order, and the BDD-based solvers (for eah formula lass we hose the best solver between BM and BE). The results for random formulas are shown in Figures 22A, 22B, 23A, 23B, 24A, 24B, 25A, and 25B, and the results for onstruted pvsat05.tex; 3/05/2005; 16:09; p.22 23 20 18 20 ZChaff,density=0.5 ZChaff−MCS,density=0.5 BM,density=0.5 18 16 log running time(ms) 14 12 10 14 12 10 2 log2 running time(ms) 16 ZChaff,density=1.5 ZChaff−MCS,density=1.5 BM,density=1.5 8 8 6 6 4 4 2 0 50 100 150 200 Variables 250 300 350 400 A. 2 0 50 100 150 200 Variables 250 300 350 400 Figure 24. Variable Order - Random AÆne 20 20 ZChaff ZChaff−MCS BE 18 B. 18 ZChaff ZChaff−MCS BE 16 log2 running time(ms) 12 10 2 log running time(ms) 16 14 8 14 12 10 6 8 4 2 10 20 30 40 50 60 Variables 70 80 90 100 6 2 10 A. 3 4 10 Variables 10 Figure 25. Variable Order - A) Random Bionditional B) Random Chains 16 20 18 B. ZChaff ZChaff−MCS BM ZChaff ZChaff−MCS BM 14 16 log Running Time 12 10 2 10 2 log Running Time 12 14 8 8 6 6 4 4 2 2 4 6 8 10 12 14 16 18 20 N 2 0 A. 50 100 150 200 N2 250 300 350 400 Figure 26. Variable Order - A) n-Rooks B) n-Queens 20 20 ZChaff ZChaff−MCS BM 18 16 14 14 log Running Time 16 12 ZChaff ZChaff−MCS BE 12 10 2 10 2 log Running Time 18 B. 8 6 6 4 2 2 8 4 4 6 8 10 12 N 14 16 18 20 A. 2 2 4 6 8 10 12 14 16 N Figure 27. Variable Order - A) Pigeon Hole B) Mutilated Chekerboard 18 20 B. pvsat05.tex; 3/05/2005; 16:09; p.23 24 formulas are shown in Figures 26A, 26B, 27A, and 27B. In general, the struture-guided variable order is inferior in terms of performane to dynami variable order (VSIDS). For easy problems, the overhead of pre-omputing the variable order is quite signiant. The performane loss should not be entirely attributed to the overhead though, sine we also observed an inrease in the number of impliations performed. Thus, dynami variable order is, in general, a better algorithmi hoie. Nevertheless, for most formulas, there is no exponential gap in saling between the two variable-order heuristis. Also, replaing VSIDS by MCS did not hange the relationship between ZCha and the BDD-based solvers. The dierene in performane between searh-based and symboli approahes is larger than the dierene between stati and dynami deision order for ZCha. In none of the ases did the stati variable order hange the relative piture between searh and symboli approahes. This shows the general superiority of searh-based vs. symboli tehniques annot be attributed to the use of dynami variable order. 7. Disussion Satisability solvers have made tremendous progress over the last few years, partly driven by frequent ompetitions, f. [42℄. At the same time, our understanding of why extant solvers perform so well is lagging. Our goal in this paper is not to present a new ompetitive solver, but rather to all for a broader researh agenda in satisability solving. We showed that a symboli approah an outperform a searh-based approah in ertain ases, but more researh is needed before we an have robust implementations of the symboli approah. Reent works have suggested other symboli approahes to satisability solving, e.g., ompressed BFS searh in [46℄ and BDD representation for non-CNF onstraint in the framework of DPLL searh in [22, 29, 38℄. These works bolster our all for a broader researh agenda. Suh an agenda should build onnetions with two other suessful areas of automated reasoning, namely model heking [18℄ and onstraint satisfation [25℄. Furthermore, suh an agenda should explore hybrid approahes, ombining searh and symboli tehniques, f. [22, 29, 35, 38, 46℄. One hybrid approah that has shown promise is that of the QBF solver Quantor [7℄, where quantier elimination is applied until the formula beome propositional, then a searh-based solver takes over. As an extension to this work, we an experiment with other variableorder heuristis, for example, MINCE [1℄, FORCE [2℄, or the ones proposed in [37℄, all of whih are also struturally based. Another diretion pvsat05.tex; 3/05/2005; 16:09; p.24 25 for development is to take a ombination of density-dependent heuristis and strutural heuristis and apply them to hybrid BDD-based SAT solvers like CirCUs [38℄ or the approah presented in [22℄. Aknowledgements We would like to thank Enrio Giunhiglia for proposing the experiments on strutural-guided variable order for searh. Referenes 1. Aloul, F., I. Markov, and K. Sakallah: 2001, `MINCE: A Stati Global VariableOrdering for SAT and BDD'. In: Pro. IEEE 10th International Workshop on Logi and Synthesis. pp. 281{286. 2. Aloul, F., I. Markov, and K. Sakallah: 2003, `FORCE: a fast and easy-toimplement variable-ordering heuristi'. In: Pro. of the 13th ACM Great Lakes Symposium on VLSI 2003. pp. 116{119. 3. Amir, E. and S. MIlraith: June 2001, `Solving Satisability using Deomposition and the Most Constrained Subproblem'. In: LICS Workshop on Theory and Appliations of Satisability Testing (SAT 2001). 4. Arnborg, S., D. Corneil, and A. Proskurowski: 1987, `Complexity of nding embeddings in a k-tree'. SIAM J. Alg. Dis. Math 8, 277{284. 5. Balazar, J.: 1990, `Self-reduibility'. J. Comp. and Sys. Si. 41(3), 367{388. 6. Beatty, D. and R. Bryant: 1994, `Formally verifying a miroproessor using a simulation methodology'. In: Pro. 31st Design Automation Conferene. pp. 596{602. 7. Biere, A.: 2004, `Resolve and Expand'. In: Pro. 7th Int. Conf. on Theory and Appliations of Satisability Testing (SAT 2004). pp. 238{246. 8. Biere, A., C. A, E. Clarke, M. Fujita, and Y. Zhu: 1999, `Symboli Model Cheking using SAT Proedures instead of BDD'. In: Pro. 36th Conf. on Design Automation. pp. 317{320. 9. Blok, M., C. Gropl, H. Preu, H. L. Proomel, and A. Srivastav: 1997, `EÆient ordering of state variables and transition relation partitions in symboli model heking'. Tehnial report, Institute of Informatis, Humboldt University of Berlin. 10. Bodlaender, H. and T. Kloks: 1996, `EÆient and onstrutive algorithms for the pathwidth and treewidth of graphs'. J. Algorithms 21, 358{402. 11. Bouquet, F.: 1999, `Gestion de la dynamiite et enumeration d'impliants premiers, une approhe fondee sur les Diagrammes de Deision Binaire'. Ph.D. thesis, Universite de Privene, Frane. 12. Bryant, R.: 1986, `Graph-based Algorithms for Boolean Funtion Manipulation'. IEEE Trans. on Comp. Vol. C-35(8), 677{691. 13. Burh, J., E. Clarke, and D. Long: 1991, `Symboli model heking with partitioned transition relations'. In: VLSI 91, Pro. IFIP TC10/WG 10.5 International Conferene on Very Large Sale Integration, Edinburgh, Sotland, 20-22 August, 1991. pp. 49{58. pvsat05.tex; 3/05/2005; 16:09; p.25 26 14. Burh, J., E. Clarke, K. MMillan, D. Dill, and L. Hwang: 1992, `Symboli Model Cheking: 1020 States and Beyond'. Information and Computation 98(2), 142{170. 15. Chatali, P. and L. Simon: 2000, `Multi-Resolution on Compressed Sets of Clauses'. In: Twelfth International Conferene on Tools with Artiial Intelligene (ICTAI'00). pp. 2{10. 16. Chung, P., I. Hajj, and J. Patel: 1993, `EÆient Variable Ordering Heuristis for Shared ROBDD'. In: Pro. 1993 IEEE Int. Symp. on Ciruits and Systems (ISCAS93). pp. 1690{1693. 17. Cimatti, A. and M. Roveri: 2000, `Conformant Planning via Symboli Model Cheking'. J. of AI Researh 13, 305{338. 18. Clarke, E., O. Grumberg, and D. Peled: 1999, Model Cheking. MIT Press. 19. Coarfa, C., D. D. Demopoulos, A. San Miguel Aguirre, D. Subramanian, and M. Vardi: 2003, `Random 3-SAT: The Plot Thikens'. Constraints pp. 243{261. 20. Crawford, J. and A. Baker: 1994, `Experimental results on the appliation of satisability algorithms to sheduling problems'. In: Pro. 12th Nat. Conf. on Artiial Intelligene, Vol. 2. pp. 1092{1097. 21. Dalmau, V., P. Kolaitis, and M. Vardi: 2002, `Constraint Satisfation, Bounded Treewidth, and Finite-Variable Logis'. In: Proeedings of 8th Int. Conf. on Priniples and Pratie of Constraint Programming (CP 2002). pp. 310{326. 22. Damiano, R. F. and J. H. Kukula: 2003, `Cheking satisability of a onjuntion of BDDs'. In: Pro. 40th Design Automation Conferene (DAC 2003). pp. 818{823. 23. Davis, M., G. Logemann, and D. Loveland: 1962, `A mahine program for theorem proving'. J. ACM 5, 394{397. 24. Davis, S. and M. Putnam: 1960, `A omputing proedure for quantiation theory'. J. ACM 7, 201{215. 25. Dehter, R.: 2003, Constraint Proessing. Morgan Kaufmann. 26. Dehter, R. and J. Pearl: 1987, `Network-based heuristis for onstraintsatisfation problems'. Artiial Intelligene 34, 1{38. 27. Dehter, R. and I. Rish: 1994, `Diretional Resolution: The Davis-Putnam Proedure, Revisited'. In: KR'94: Priniples of Knowledge Representation and Reasoning. pp. 134{145. 28. Downey, R. and M. Fellows: 1999, Parametrized Complexity. Springer-Verlag. 29. Frano, J., M. Kouril, J. Shlipf, J. Ward, S. Weaver, M. Dranseld, and W. Vaneet: 2003, `SBSAT: a State-based, BDD-based satisability solver'. In: Pro. 6th Int. Conf. on Theory and Appliations of Satisability Testing (SAT 2003). pp. 398{410. 30. Freuder, E.: 1990, `Complexity of k-tree strutured onstraint satisfation problems'. In: Pro. 8th Nat. Conf. on Artiial Intelligene. pp. 4{9. 31. Fujita, M., H. Fujisawa, and N. Kawato: 1988, `Evaluation and Improvements of Boolean Comparison Method Based on Binary Deision Disgrams'. In: Pro. IEEE/ACM Int. Conf. on Computer-Aided Design (ICCAD-88). pp. 2{5. 32. Geist, D. and H. Beer: 1994, `EÆient Model Cheking by Automated Ordering of Transition Relation Partitions'. In: Pro. 6th Int. Conf. on Computer Aided Veriation (CAV 1994). pp. 299{310. 33. Goldberg, E. and Y. Novikov: 2002, `BerkMin: A Fast and Robust SAT Solver'. In: Pro. Design Automation and Test in Europe (DATE 2002). pp. 142{149. 34. Groote, J. F.: 1996, `Hiding Propositional Constants in BDDs'. FMSD 8, 91{96. pvsat05.tex; 3/05/2005; 16:09; p.26 27 35. Gupta, A., Z. Yang, P. Ashar, L. Zhang, and S. Malik: 2001, `Partition-based deision heuristis for image omputation using SAT and BDDs'. In: Pro. IEEE/ACM Int. Conf. on Computer-Aided Design (ICCAD-01). pp. 286{292. 36. Hojati, R., S. C. Krishnan, and R. K. Brayton: 1996, `Early Quantiation and Partitioned Transition Relations'. In: Pro. 1996 Int. Conf. on Computer Design (ICCD '96). pp. 12{19. 37. Huang, J. and A. Darwihe: 2003, `A Struture-Based Variable Ordering Heuristi for SAT'. In: Pro. 18th Int. Joint Conf. on Artiial Intelligene (IJCAI 2003). pp. 1167{1172. 38. Jon, H. and F. Somenzi: 2004, `CirCUs : Hybrid Satiability solver'. In: Pro. of the 7th Int. Conf. on Theory and Appliations of Satisability Testing (SAT 2004). pp. 47{55. 39. Kautz, H. and B. Selman: 1992, `Planning as satisability'. In: Pro. 10th Eur. Conf. on AI (ECAI 92). pp. 359{363. 40. Khurshid, S., D. Marinov, I. Shlyyakhter, and D. Jakson: 2003, `A Case for EÆient Solution Enumeration'. In: Pro. 6th Int. Conf. on Theory and Appliations of Satisability Testing (SAT 2003). pp. 272{286. 41. Koster, A., H. Bodlaender, and S. van Hoesel: 2001, `Treewidth: Computational Experiments'. Tehnial report, Konrad-Zuse-Zentrum fur Informationstehnik Berlin. 42. Le Berre, D. and L. Simon: 2003, `The essentials of the SAT'03 Competition'. In: Pro. 6th Int. Conf. on Theory and Appliations of Satisability Testing (SAT 2003). pp. 452{467. 43. Malik, S., A. Wang, R. Brayton, and A. Sangiovanni Vinentelli: 1988, `Logi Veriation using Binary Deision Diagrams in a Logi Synthesis Environment'. In: Pro. IEEE/ACM Int. Conf. on Computer-Aided Design (ICCAD-88). pp. 6{9. 44. Minato, S.: 1996, Binary Deision Diagrams and Appliations to VLSI CAD. Kluwer. 45. Moskewiz, M., C. Madigan, Y. Zhao, L. Zhang, and S. Malik: 2001, `Cha: Engineering an EÆient SAT Solver'. In: Pro. of 39th Design Automation Conferene (DAC 2001). pp. 530{535. 46. Motter, D. B. and I. L. Markov: 2002a, `A Compressed Breadth-First Searh for Satisability'. In: Pro. 4th Int. Workshop on Algorithm Engineering and Experiments (ALENEX 2002), Vol. 2409 of Leture Notes in Computer Siene. pp. 29{42. 47. Motter, D. B. and I. L. Markov: 2002b, `On Proof Systems Behind EÆient SAT Solvers'. In: Pro. of 5th Int. Symp. on the Theory and Appliations of Satisability Testing (SAT 2002). pp. 206{213. 48. Pan, G. and M. Y. Vardi: 2004, `Symboli Deision Proedures for QBF'. In: Proeedings of 10th Int. Conf. on Priniples and Pratie of Constraint Programming (CP 2004). pp. 453{467. 49. Ranjan, R., A. Aziz, R. Brayton, B. Plessier, and C. Pixley: 1995, `EÆient BDD algorithms for FSM synthesis and veriation'. In: Pro. of IEEE/ACM Int. Workshop on Logi Synthesis. 50. San Miguel Aguirre, A. and M. Y. Vardi: 2001, `Random 3-SAT and BDDs: The Plot Thikens Further'. In: Pro. of the 7th Int. Conf. Priniples and Pratie of Constraint Programming (CP 2001). pp. 121{136. 51. Shaefer, T.: 1978, `The Complexity of Satisability Problems'. In: Pro. of the 10th annual ACM symposium on Theory of omputing(STOC'78). pp. 216{226. pvsat05.tex; 3/05/2005; 16:09; p.27 28 52. Selman, B., D. G. Mithell, and H. J. Levesque: 1996, `Generating Hard Satisability Problems'. Artiial Intelligene 81(1-2), 17{29. 53. Somenzi, F.: 1998, `CUDD: CU Deision Diagram pakage'. http://vlsi.olorado.edu/~fabio/CUDD/. 54. Tarjan, R. E. and M. Yannakakis: 1984, `Simple linear-time algorithms to tests hordality of graphs, tests ayliity of hypergraphs, and seletively redue ayli hypergraphs'. SIAM Journal on Computing 13(3), 566{579. 55. Uribe, T. E. and M. E. Stikel: 1994, `Ordered Binary Deision Diagrams and the Davis-Putnam Proedure'. In: 1st Int. Conf. on Constraints in Computational Logis. pp. 34{49. 56. Urquhart, A.: 1995, `The Complexity of Propositional Proofs'. the Bulletin of Symboli Logi 1, 425{467. pvsat05.tex; 3/05/2005; 16:09; p.28