JKAU: Eng. Sci., Vol. 27 No.1, pp: 19 - 34 (1437 A.H./ 2016 A.D.) Doi: 10.4197/Eng. 27-1.2
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via BooleanEquation Solving A. M. A. Rushdi and W. Ahmad Department of Electrical and Computer Engineering, King Abdulaziz University, P. O. Box 80204, Jeddah 21589, Saudi Arabia
[email protected] Abstract. Boolean Satisfiability (SAT) is the problem of deciding whether a propositional logic formula can be satisfied given suitable value assignments to the variables of the formula. This problem is highly intractable to the extent that the most efficient algorithms for solving it require exponential time in the worst case. Boolean Satisfiability has many applications and emerges frequently in a variety of (occasionally unexpected!) situations. This fact warrants the availability of a handy tool to tackle small instances of Boolean Satisfiability. Such a tool is naturally different from existing sophisticated algorithms that handle large and gigantic instances of SAT. This paper presents a simple introductory exposition of Boolean Satisfiability and provides a method for finding all its solutions, if any, by solving a two-valued Boolean equation. The method requires several steps including the conversion of a product-of-sums expression to a sum-of-products one, rules of intelligent multiplication, use of the branch-and-bound method and the divide-and-conquer strategy, and finally replacing an ordinary sum of products by a disjoint one. The paper demonstrates its method, including all its aforementioned steps, via two detailed examples. Keywords: Boolean Satisfiability (SAT), Boolean-equation solving, Intelligent and matrix multiplication, Disjointness, Divide and conquer, Branch and bound.
formula evaluates to 1, or to prove that no such assignment exists. For n variables, there are 2n possible truth assignments to be checked.
1. Introduction Patel et al.[1] has a serious observation about numerical algorithms, which they emphasize by calling it a "folk theorem." This so called "theorem" states that "If an algorithm is amenable to 'easy' hand calculation, it is probably a poor method if implemented in the finite floating-point arithmetic of a digital computer." The "converse of the folk theorem" states that "Many algorithms that are now considered fairly reliable in the context of finite arithmetic are not amenable to hand calculation." A notable pertinent example that fully supports both the "folk theorem" and its converse is the Boolean Satisfiability (SAT) problem[2-4] to be studied herein. The input for this problem is a two-valued Boolean formula (propositional logic formula), and its output is to find a variable assignment, such that the
The purpose of this paper is to explain a simple method for solving the SAT problem that is easy to understand and to implement via hand calculations. According to the aforementioned "folk theorem", such a simple method is neither appropriate nor intended to handle large problems of Boolean Satisfiability. It is expected to be successful only for small (and perhaps medium) problems. The paper fills an inadvertent gap in the literature, which abounds with sophisticated algorithms[5-16], that are designed to deal with large (gigantic?) SAT problems, but are never suitable for hand calculations. Boolean satisfiability has many applications and emerges in a variety of (unexpected!) situations, a fact that warrants 19
20
A. M. A. Rushdi and W. Ahmad
the availability of a handy tool to tackle small instances of it. The method presented herein provides such a tool, and is expected to be fruitful in understanding and developing existing and future SAT extensions and applications. The method relies on some preprocessing Boolean operations that culminate in the solution of a system of two-valued Boolean equations, or equivalently, the solution of one such equation. Table 1 offers a brief comparison between the proposed exhaustive simple method and the efficient algorithms that were initiated with and influenced by the celebrated Davis-Putnam search strategy[5, 6]. In passing, we note that other candidate tools are also available. For example, Boolean satisfiability could be formulated and solved as a linearprogramming problem[17]. Table 1. A brief comparison between the proposed exhaustive method and the celebrated DavisPutnam strategy that influenced succeeding algorithms. Proposed Exhaustive Method
Davis-Putnam algorithm and its successors.
Number of solutions
All solutions, if any
One solution, if any
Size of the Problem
Small or medium (our second example uses 10 variables and 14 initial clauses)
Large or gigantic (currently up to one million variables and four million initial clauses)
Solution Strategy
Two-valued Boolean-equation solving
Search plus other clever ideas
Advantages
Insight, Pedagogical, Manual solutions for small problems
Computerized solution of extremely large problems
The organization of the rest of this paper is as follows: Section 2 lists certain useful SAT nomenclature, which clarifies important aspects of SAT and adds further justifications for our current work. Section 3 discusses a method of solving two-valued Boolean equations (switching equations), and specializes the solution to the particular case when the
switching function is a CNF equated to 1. Sections 4 and 5 offer exhaustive solutions of the satisfiability problem via Boolean-equation solving. Section 4 presents a Disjoint-Multiply Procedure (DMP) for small satisfiability problems. This DMP is demonstrated via a 5variable 4-clause problem. Section 5 presents a Divide-and-Conquer Strategy (DCS) that can possibly cover medium-sized satisfiability problems. This DCS is demonstrated via a 10variable 14-clause problem. Section 7 concludes the paper.
2. Nomenclature Boolean Satisfiability (SAT): SAT the problem of deciding whether a propositional logic formula can be satisfied given suitable value assignments to the variables of the formula. The SAT problem is the first problem that has been proven to be NP-complete. This means that it is a highly intractable problem, and unless P = NP, all SAT algorithms (and all algorithms for any NP-complete problem) require worst-case exponential time. Since all NP-complete problems are mutually reducible to one another in linear time, a SAT solver can be used to solve other NP-complete problems at a modest extra cost. A Conjunctive Normal Form (CNF): A CNF is a formula consisting of a conjunction (ANDing) of clauses (alterms), each of which consists of a disjunction (ORing) of literals, where a literal is a variable in un-complemented form xi or in a complemented form xi. A CNF is also known as a product-of-sums (pos) expression[2, 3, 18]. A Disjunctive Normal Form (DNF): A DNF is a formula consisting of a disjunction (ORing) of products (terms), each of which consists of a conjunction (ANDing) of literals. A DNF is also known as a sum-of-products (sop) expression[2, 3, 18]. A special case of an sop
21
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via Boolean-Equation Solving
expression is a disjoint (orthogonal) sop expression, which is one in which the ANDing of any two products is 0. A Simple Example of a Satisfiable Formula: The formula has,
in
fact,
is satisfiable. It satisfying truth
several
assignments, namely when c = 1 with a and b being don't cares and when being the complement of
. These are the six
primitive assignments ,
,
,
,
, ,
with a
,
,
,
,
,
,
,
,
and
, , . It is easy to visualize that the 8-cell Karnaugh map for the aforementioned formula is 0-entered only for the cell
,
,
clause or Maxterm ,
,
representing the , and the cell
representing the clause or
Maxterm , and hence this map is 1-entered for the remaining six cells. A Simple Example of an Unsatisfiable Formula: The formula Likewise, the
is unsatisfiable. formula
is unsatisfiable. Any formula containing all the Maxterms of a function is identically 0, and hence is unsatisfiable. An example of such a formula is . If one or more Maxterms are dropped of this formula,
it becomes satisfiable. For example, if we drop the clause
, we obtain ,
which is satisfiable by
,
.
Extensions of SAT: Extensions of SAT are problems that either use the same algorithmic techniques as used in SAT, or use SAT as a core engine[19]. These include Satisfiability Modulo Theories (SMT)[4, 20], maximum satisfiability (MaxSAT)[21], minimum satisfiability (MinSAT)[22], model counting (SAT degree)[23, 24], and Quantified Boolean Formulas (QBF)[25, 26]. The method proposed herein will possibly allow a better understanding of these current extensions, and might be utilized in the development of future ones. SAT Applications: SAT applications include many hard combinatorial problems such as problems that arise in formal verification, artificial intelligence, operations research, biology, cryptology, data mining, machine learning, mathematics, modelchecking of finite-state systems, design debugging, inference in bioinformatics, knowledge-compilation, software model checking, software testing package, management in software distributions, checking of pedigree consistency, test-pattern generation in digital systems, design debugging and diagnosis, identification of functional dependencies in Boolean functions, technology-mapping in logic synthesis, and circuit delay computation[19]. Again, the method proposed herein can help in constructing pedagogical introductions to these applications.
22
A. M. A. Rushdi and W. Ahmad
The International SAT Solver Competition: The SAT Competition is an established series of competitive events aiming at objectively evaluating the progress in stateof-the-art procedures for solving SAT instances[16]. Over the years, the competitions have significantly contributed to the fast progress in SAT-solver technology. A related competitive event for SAT solvers, called SAT-Race, focuses on application benchmarks only. We note that the competitions and races constitute a trick to recruit as many people as possible to work (almost for free) on the highly-intractable SAT problem. The great successes achieved in SAT solving through these competitions and races are further widening the gap (implied by the "folk theorem") across the spectrum of methods. An unforeseen negative side effect of these (otherwise beneficial) endeavors is that few capable persons are left, who might devote time and effort to address small instances of SAT from a pedagogical perspective. 3. Solution of Two-Valued Boolean Equations This section reviews the basic method for solving a two-valued Boolean equation of the form ,
(1)
where is a switching function of n variables X = [X1 X2 …..XN]T . The method is discussed by Trabado et al.[27], Jung[28], Unger[29], Posthoff and Steinbach[30, 31], Steinbach and Posthoff[32, 33], Bochmann et al.[34]. The method relies on the use of disjointing techniques[35-50], i.e., the essence of the method is to convert a DNF form of into the disjoint sum-of product form. Since is typically in CNF form, we address (1) in three stages, namely:
a. Converting from CNF form into a DNF form (If is unsatisfiable, the DNF is 0, the set of solutions for (1) is empty, and no further processing is needed ). b. Converting the DNF form of into a disjoint or orthogonal DNF form. c. Interpreting the disjoint DNF form of as a set of solutions for (1). Now, we explain each of these stages in the following subsections. 3.1 Conversion of CNF into DNF The problem of converting a CNF formula into a DNF formula[51] is frequently encountered in Boolean analysis, e.g., in inverting or complementing a Boolean function[52], or in constructing of a Petrick function as a resolution of the covering problem[18, 53, 54]. For small problems, it is possible to use the Karnaugh map to plot the clauses of the given CNF as implicate loops, and then draw the (prime) implicant loops on the same map to obtain the DNF. In the following, we discuss certain useful algebraic methods that facilitate multiplying the alterms (clauses) of the CNF into terms of a DNF, or more generally multiplying two sum-ofproducts (sop) formulas into a single sop formula. 3.1.1 Intelligent Multiplication Intelligent multiplication is the term used by Brown[55], and Rushdi and Al-Yahya [56] to denote some saving in multiplication operations obtained by deleting absorbed terms. For example, the product (2) is readily simplified, thanks to idempotency ( and the absorption of and in the subsumed term a, namely (3)
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via Boolean-Equation Solving
Formula (3) means that when one multiplies two sop expressions with a certain common part, the result is that common part disjuncted with the product of the remaining parts in the two expressions. A second, less useful, intelligent multiplication rule, cited also by Brown[55] is (4) A novel rule that can be added to the two rules above is . Here and the consensus of covered by
(5) can be deleted since it is and , and hence it is , namely (6)
The rule (5) deals with the product of two sop expressions that have complementary parts. According to the rule, two rather than four terms are obtained. 3.1.2 Multiplication Matrix An economic two-dimensional layout for the multiplication of two sop expressions resembles a multiplication table or matrix[56]. The horizontal keys of this table are the terms of one sop expressions, the vertical keys are the terms of the other sop expression, while the entries are the products of the keys (with idempotency of AND enacted). The product of the two sop expressions is the disjunction of the table entries that remain after deleting absorbable entries (those subsuming other entries of the table). One does not have to compare all entries of the table pairwise for possible subsumptions. If an entry is to be ever absorbed, it is absorbable by an entry in the same row or same column[56, 57]. Therefore, if one hopes to delete a certain entry, it suffices to look for an entry of no more literals that is
23
subsumed by the pertinent entry and occurs in the same row or column. If a multiplication matrix is used to multiply two disjoint sop expressions, then the entries of the table are disjoint. This means that the disjunction of these entries constitute an absorptive formula[55, 56], i.e., an sop formula in which no term subsumes (i.e., is absorbable in) another. However, such an expression might not be minimal. In fact, entries in the same row or the same column might be combined together as will be seen in the examples. 3.1.3 The Branch-and-Bound Method The branch-and-bound method[18, 58, 59] is a set of principles specifying procedures for the solution of constrained-optimization problems. In essence, the branch-and-bound method is an enumerative scheme in which only a small fraction of the possible solutions need actually be enumerated; the remaining solutions being eliminated from consideration through the application of bounds or appropriate stopping criteria. The name 'branch and bound' arises from the two basic operations of (a) Branching, which consists of dividing collections of sets of solutions into subsets, and (b) Bounding, which consists of establishing bounds or stopping criteria [59]. Here, the method relies on using the Boole-Shannon expression[55] , (7) which expresses a (two-valued) Boolean function in terms of its two subfunctions and These subfunctions are obtained by restricting in the expression to 0 and 1, respectively. If is a sop expression of n-variables, the two subfunctions and are functions of at most (n-1) variables, and they are more likely, in the present case, to allow some intelligent multiplication, or even to immediately bound
24
A. M. A. Rushdi and W. Ahmad
the computation by simply arriving at a disjoint sop expression. In passing, we stress that the expansion (7) serves our purpose well. Once the subfunctions in (7) are expressed by disjoint sop expressions, will be also in disjoint sop form, thanks to the fact that it has two disjoint parts, with the first part containing the complemented literal and the second part containing the un-complemented literal .
. The two sides are equal since subsumes , and hence is absorbed in it. The term is the Boolean quotient obtained by restricting through the assignment . 3.3 Interpretation of a Disjoint DNF The outcomes of Section 3.2 is a disjoint DNF form of , namely
3.2 Disjointing of a DNF
= 1,
There are literally hundreds of algorithms that implement the “disjointing” operation of a DNF. The basic idea in disjointing is that if none of the two terms A and B in the sum (A ˅ B) subsumes the other and the two terms are not disjoint, then B can be disjointed with A by the relation[60] , (8) where { } is the set of literals that appear in the term and do not appear in the term . Note that the term is replaced by (1) terms that are disjoint with one another besides being disjoint with [36, 39, 49]. Formula (8) might be seen as an immediate extension of the familiar Reflection Law[18] .
(8a)
A formal proof of (8) is possible via perfect induction over a much reduced truth table that consists of the ( ) orthonormal cases, ,
, ,
,…, and
. For the first cases, the L.H.S. = the R.H.S = . For the last case, the L.H.S. = , while the R.H.S. =
(9)
where the 's are disjoint or orthogonal terms, i.e., terms such that = 0,
1 ≤ i < j ≤ nd.
(10)
Condition (10) occurs if there is at least one variable that appears complemented in one of the two terms and appears uncomplemented in the other. The single equation (9) is exactly equivalent to a set of nd equations, namely {
= 1}
{solutions of ( =1)}. (11)
The solution of each of the nd equations { = 1, 1 ≤ i ≤ nd } in the R.H.S. of (11) is readily obtained if we divide the pertinent variables X into three sets: a. Set Ci of indices j for literals appear complemented in the term Di.
that
b. Set Ui of indices j for literals appear un-complemented in the term Di .
that
c. Set Di of indices j for variables do not appear in the term Di,
that
so that the term Di can be written as = Now each of the equations ( the solution.
,
(12)
= 1) in (11) has
25
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via Boolean-Equation Solving
{
= 1}
Ui ;
{
= 0, j ϵ Ci ;
= 1, j ϵ
unspecified (don't care), j ϵ Di }. (13)
The orthogonality conditions (10) guarantee that the sets of solutions in the R.H.S. of (11) are disjoint, i.e., double solutions cannot exist[33]. Equations (9)-(13) of this subsection are demonstrated in the forthcoming examples. 4. The Disjoint-Multiply Procedure (DMP) The disjoint-multiply procedure depends on the idea that multiplication is a disjointnesspreserving operation, i.e., the product of two disjoint sop expressions is also a disjoint sop expression. This means that the two operations of disjointing and multiplying are commutative, and hence the order of performing them is immaterial. Example 1 This is a 5-variable 4-clause satisfiability problem, taken from Posthoff and Steinbach[33], namely = 1,
(14)
as a common part, and hence we rewritten them in disjoint sop form. (17a) (17b) Note that
and
share a disjointed
common part ( ) and hence their disjoint sop product is obtained via intelligent multiplication (3) as (18) Figure 1 demonstrates the multiplication matrix used to multiply in (16b) with in (18). The result is in a disjoint sop form, consisting of 7 solutions, which can be reduced into 6 by combining the two terms in the third row of the matrix, as shown below. .
(19)
A final set of solutions of the satisfiability problem { = 1} can now be summarized in Table 2 shown below.
where (15a) -
(15b) (15c) (15d) Here, the two clauses and have opposing literals and , and we multiply them via (5) to obtain
-
-
-
-
Fig. 1. Multiplication matrix used to multiply and . Table 2. A set of solutions of (14) , where (-) stands for a don't care condition. Equation form a 0
Variable form b c d 1 0 -
e -
and then disjoint the resulting product via (8), viz.
0
0
-
-
0
-
0
1
0
1
(16b)
1
1
-
1
-
1
1
-
0
1
1
0
-
1
0
(16a)
Note that (16b) is a disjoint sop expression of . The two clauses and have
26
A. M. A. Rushdi and W. Ahmad
The set of solutions in Table 2 is not unique. An alternative set of solutions can be obtained by multiplying and (utilizing the appearance of in and in ), namely,
implicant loops) are usually called probability maps[35, 40], and are said to represent the probability transform or real transform of the pertinent function [62-68].
(20) and then disjoint the resulting product in (20) via (8), viz. (21) and also multiplying and appearance of e in and in
(utilizing the ), namely: (22)
and then disjoint the resulting product in (22) via (8) to obtain
Fig . 2. Multiplication matrix used to multiply and . Table 3. An alternative set of solutions of (14) , where (-) stands for a don't care condition. Equation form
(23) Figure 2 demonstrates the multiplication matrix used to multiply in (21) with in (23). The result is in a disjoint sop form, consisting of 8 solutions, which can be reduced into 5 by combining the two terms in the second column of the matrix, the two terms in the rightmost cells of the first row of the matrix, and the two terms in the second row of the matrix. A final set of solutions of the SAT problem { = 1} can now be summarized in Table 3. We will see shortly that though we managed to obtain apparently different sets of solutions by changing the order of clauses multiplication, these two sets are, in fact, equivalent. Some insight about the current example is possible via the Karnaugh map[18, 61]. Figure 3 represents in (14) in terms of its overlapping implicates S1, S2, S3 and S4, while Figures 4 and 5 represent it in terms of two different sets of disjoint or non-overlapping implicants. These two sets happen to be the solutions of the SAT problem reported in Tables 2 and 3. The Karnaugh maps in Figures 4 and 5 (with disjoint
a 0
Variable form b c 1 0
d -
e -
0
0
-
-
0
-
0
1
0
1
1
1
-
-
1
1
-
-
1
0
5. Divide-and-Conquer Strategy (DCS) The Divide-and-Conquer strategy depends on multiple applications of the BooleShannon expansion, and is illustrated by the following example.
Example 2 Let us consider the following tenvariable SAT problem , (24) where
(25)
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via Boolean-Equation Solving
Fig. 3. Representation of
Fig. 4. Solution of {
in (14) in terms of its overlapping implicates S1, S2, S3 and S4.
= 1} given by Table 2 as a set of six non-overlapping implicants.
a e
e 1
1
1
1
1
1
1
1
1
1
1
1
1
d 1
1
1
1
c
1
b Fig. 5. Solution of {
= 1} given by Table 3 as another set of 5 non-overlapping implicants.
27
28
A. M. A. Rushdi and W. Ahmad
X2
X9
X4 Fig. 6. A VEKM representation of the Boole-Shannon expansion (26).
In the above and are the most frequent variables in so we make a [55] Boole-Shannon expansion about them as follows
zero (no solution),
(29)
zero (no solution), (30) (one solution equivalent to a single primitive one), (31) zero (no solution), (32)
(33) (26) The Boole-Shannon expansion (26) corresponds to a pictorial representation via the Variable-entered Karnaugh map (VEKM)[69-71] shown in Fig. 6. The expansion suggest the following Divide-and-Conquer strategy; Instead of solving a single SAT problem for , one solves eight smaller problems for its sub-functions , …, etc. These solutions can be stated as zero (no solution),
(27)
zero (no solution),
(28)
(seven solutions equivalent to 34 primitive ones), zero (no solution).
(34)
We can now display all possible solutions for the satisfiability problem (24) by entering the R.H.S. of (27)-(34) in place of their L.H.S. in the VEKM of Fig. 6. Note that any entered solution in Fig. 6 needs to be multiplied by its cell product. For example, the solution in (31) should be ( ( (35)
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via Boolean-Equation Solving
29
Note also that a 7-literal solution in (33) corresponds to a single primitive solution. For solutions of fewer literals, the number of primitive solutions doubles for every missing literal. For example, the product has 4 missing literals, and hence corresponds to 24 16 primitive solutions. In retrospect, we note that a complete Boole-Shannon expansion is not really warranted, since the following branch-and-bound expansion suffices (38)
(36)
The third and fourth subfunctions are satisfiable. The single solution in (31) for the third subfunction can be obtained as follows:
This expansion is based on the orthonormal set
which can be represented by a VEKM-like structure, in which cells of similar entries are combined. We now derive the solutions (27)(34) collectively as follows. Note that
(37) is clearly unsatisfiable since it contains all the four Maxterms over and . By contrast, it is quite tedious to show that the second subfunction is unsatisfiable. In fact
(39) The fourth subfunction is
(40) and could be reduced to (33) via the DMP of Sec. 4 as follows (employing rules (3) and (5))
30
A. M. A. Rushdi and W. Ahmad
relies basically on the solution of a two-valued Boolean equation, and involves several preprocessing steps that are easy to comprehend and implement.
. (41) Alternatively, we expand (40) w.r.t. to obtain the equivalent expression
and
The current method provides a new perspective for the SAT problem, and identifies its deep relations with many wellknown Boolean concepts. The method also constructs a pedagogical basis for a better understanding of current SAT extensions and applications as well as future ones. A possible novel extension of the classical (propositional or two-valued Boolean) SAT problem is a SAT problem whose variables belong to "big" Boolean algebras[55, 70, 72-79]. Such a problem could be solved by converting it to a propositional SAT problem, or by using a modified version of our current method. References
.
[1]
Patel, R. V., Laub, A. J. and Van Doreen, P. M., Numerical Linear Algebra Techniques for Systems and Control, IEEE Press, New York, NY, USA (1994).
[2]
Hooker, J., Logic-Based Methods for Optimization: Combining Optimization` and Constraint Satisfaction, John Wiley & Sons, New York, NY, USA (2000).
[3]
Chandru, V. and Hooker, J.N., Optimization Methods for Logical Inference, John Wiley & Sons, New York, NY, USA (1999).
[4]
Biere, A., Heule, M. J. H., van Maaren, H. and Walsh, T., (Editors), Handbook of Satisfiability, Vol. 185, Frontiers in Artificial Intelligence and Applications, IOS Press (2009).
[5]
Davis, M. and Putnam, H., A computing procedure for quantification theory, Journal of the Association of Computing Machinery (JACM), 7 (3): 201–215 (1960).
[6]
Davis, M., Logemann, G. and Loveland, D., A machine program for theorem-proving. Communications of the ACM, 5(7): 394-397 (1962).
(42)
6. Conclusions This paper presented a method for solving small and medium instances of the SAT problem. The method provides pedagogical insight and amenability to hand calculations, both lacking with sophisticated algorithms intended for large and gigantic SAT instances. Typically, a SAT solver provides a single solution to the SAT problem when its answer to the satisfiability question is positive. However, the presented method exhausts all solutions if they exist. The method
[7][ 1] Bryant, R. E., Graph-based algorithms for Boolean function manipulation. IEEE Transactions on Computers, 100 (8): 677-691 (1986). [8]
Selman, B., Levesque, H. J. and Mitchell, D. G., A new method for solving hard satisfiability problems. Proceedings of the AAAI, 92: 440-446 (1992).
[9]
Marques-Silva, J. P. and Sakallah, K. A., GRASP—
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via Boolean-Equation Solving
a new search algorithm for satisfiability, Proceedings of the 1996 IEEE/ACM International Conference on Computer-Aided Design, pp. 220-227 (1997). [10]
Bayardo, Jr., R. J., and Schrag, R., Using CSP lookback techniques to solve real-world SAT instances, Proceedings of the AAAI/IAAI, pp. 203-208, (1997).
[11]
Moskewicz, M. W., Madigan, C. F., Zhao, Y., Zhang, L. and Malik, S., Chaff: Engineering an efficient SAT solver. Proceedings of the 38th ACM Annual Design Automation Conference, pp. 530-535 (2001).
[12]
Goldberg, E. and Novikov, Y., A fast and robust SAT-solver, Discrete Applied Mathematics, 155 (12): 1549-1561 (2002).
[13]
Eén, N. and Sörensson, N., An extensible SATsolver, In: Theory and Applications of Satisfiability Testing, pp. 502-518, Springer, Berlin-Heidelberg, Germany (2004).
[14]
Mahajan, Y. S., Fu, Z. and Malik, S., Zchaff2004,: An efficient sat solver. In Theory and Applications of Satisfiability Testing, pp. 360-375, Springer, BerlinHeidelberg (2005).
[15]
De Moura, L. and Bjørner, N., Z3: An efficient SMT solver. In Tools and Algorithms for the Construction and Analysis of Systems, pp. 337-340. Springer, Berlin-Heidelberg, Germany (2008).
[16]
Järvisalo, M., Le Berre, D., Roussel, O. and Simon, L., The international SAT solver competitions, AI Magazine, 33 (1): 89-92 (2012).
[17]
Maknickas, A. A., Linear Programming Formulation of Boolean Satisfiability Problem, In: G.-C. Yang, et al. (Editors), Transactions on Engineering Technologies, Lecture Notes in Electrical Engineering 275, Springer Science+Business Media, Dordrecht, Germany (2014).
31
(2015). [23]
Biere, A. and Sinz, C. Decomposing SAT problems into connected components, Journal on Satisfiability, Boolean Modeling and Computation, 2: 201-208 (2014).
[24]
Brault-Baron, J., Capelli, F., and Mengel, S., Understanding model counting for β-acyclic CNFformulas, arXiv preprint, arXiv:1405.6043 (2014).
[25][ 2] Lonsing, F., Egly, U. and Van Gelder, A., Efficient clause learning for quantified Boolean formulas via QBF pseudo unit propagation. In: Theory and Applications of Satisfiability Testing–SAT 2013 (pp. 100-115). Springer Berlin Heidelberg (2013). [26]
Narizzano, M., Pulina, L. and Tacchella, A., Report of the third QBF solvers evaluation, Journal on Satisfiability, Boolean Modeling and Computation, 2, 145-164 (2014).
[27]
Trabado, P. P., Lloris-Ruiz, A. and Ortega-Lopera, J., Solution of switching equations based on a tabular algebra, IEEE Transactions on Computers, 42: 591 – 596 (1993).
[28]
Jung, G., Comments on 'Some additions to solution of switching equations based on a tabular algebra', IEEE Transactions on Computers, 44: 1357- 1358 (1995).
[29]
Unger, S. H., Some additions to solution of switching equations based on a tabular algebra, IEEE Transactions on Computers, 43, 365 – 367, (1994).
[30]
Posthoff, C. and Steinbach, B., Logic Functions and Equations Binary Models for Computer Science. Dordrecht, The Netherlands: Springer (2004).
[31]
Posthoff, C. and Steinbach, B., The Solution of Discrete Constraint Problems Using Boolean Models. In J. Filipe; A. Fred; B. Sharp (Editors), Proceedings of the 2nd International Conference on Agents and Artificial Intelligence-ICAART, Valencia, Spain, pp. 978-989 (2010).
[32]
Steinbach, B. and Posthoff, C., Logic Functions and Equations - Examples and Exercises. Springer Science + Business Media B.V (2009).
[33]
Steinbach, B. and Posthoff, C., The solution of combinatorial problems using Boolean equations: New challenges for teaching, Open Mathematical Education Notes. IMVI OMEN, 5: 1-30, (2015).
[18]
Muroga, S., Logic Design and Switching Theory, Wiley, New York, NY, USA (1979).
[19]
Marques-Silva, J., Practical applications of Boolean satisfiability. In 9th IEEE International Workshop on Discrete Event Systems (WODES 2008), pp. 74-80 (2008).
[20]
De Moura, L. and Bjørner, N., Satisfiability modulo theories: Introduction and applications, Communications of the ACM, 54(9), 69-77 (2011).
[21]
Prügel-Bennett, A. and Tayarani-Najaran, M. H. Maximum satisfiability: Anatomy of the fitness landscape for a hard combinatorial optimization problem, IEEE Transactions on Evolutionary Computation, 16(3), 319-338 (2012).
[34]
Bochmann, D., Zakrevskij, A. D. and Posthoff, B. G., Boolesche Gleichungen: Theorie, Anwendungen und Algorithmen (Boolean Equations: Theory, Applications and Algorithms), Sammelband-Verlag, Berlin, Germany (1984).
[22]
Manya, F. and Li, C. M. New Insights into Minimum Satisfiability. In: Handbook of the 5th World Congress and School on Universal Logic, pp. 351-352
[35]
Hurley, R. B., Probability maps, IEEE Transactions on Reliability, R-12 (3): 39-44 (1963).
[36]
Bennetts, R. G., On the analysis of fault trees, IEEE
32
[37]
A. M. A. Rushdi and W. Ahmad
Transactions on Reliability, R-24 (3): 175-185 (1975).
[50]
Abraham, J. A., An improved algorithm for network reliability, IEEE Transactions on Reliability, R-28 (1): 58-61 (1979).
Rushdi, A. M. A. and Alturki, A. M., Reliability of coherent threshold systems, Journal of Applied Sciences, 15(3): 431-443 (2015).
[51]
Miltersen, P. B., Radhakrishnan, J. and Wegener, I., On converting CNF to DNF. Theoretical computer science, 347 (1): 325-335 (2005).
[52]
Rushdi, A.M., Map derivation of the minimal sum of a switching function from that of its complement. Microelectronics and Reliability, 25: 1055-1065 (1985).
[53]
Petrick, S. R., A direct determination of the irredundant forms of a Boolean function from the set of prime implicants, Technical Report AFCRC-TR56-110, Air Force Cambridge Research Center, Cambridge, MA, USA (1956).
[38][ 3] Dotson, W. and Gobien J., A new analysis technique for probabilistic graphs, IEEE Transactions on Circuits and Systems, CAS-26 (10): 855-865 (1979). [39]
Bennetts, R. G., Analysis of reliability block diagrams by Boolean techniques, IEEE Transactions on Reliability, R-31 (2): 159-166 (1982).
[40]
Rushdi, A. M., Symbolic reliability analysis with the aid of variable-entered Karnaugh maps, IEEE Transactions on Reliability, R-32 (2): 134-139 (1983).
[41]
Rushdi, A. M. and Al-Khateeb, D. L., A review of methods for system reliability analysis: A Karnaughmap perspective, Proceedings of the First Saudi Engineering Conference, Jeddah, Saudi Arabia, 1: 57-95 (1983).
[54]
Petrick, S. R., On the minimization of Boolean functions. Proceedings of the International Conference on Information Processing, Paris, p. 195. Published by Oldenbourg, Germany, 1960, pp. 422423 (1960).
[42]
Schneeweiss, W. G., Disjoint Boolean products via Shannon's expansion, IEEE Transactions on Reliability, R-34 (4): 329-332 (1984).
[55]
Brown, F. M., Boolean Reasoning: The logic of Boolean Equations, Kluwer Academic Publishers, Boston, MA, USA (1990).
[43]
Rushdi, A. M. and Goda, A. S., Symbolic reliability analysis via Shannon's expansion and statistical independence, Microelectronics and Reliability, 25 (6): 1041-1053 (1985).
[56]
Rushdi, A. M. and Al-Yahya, H. A., Derivation of the complete sum of a switching function with the aid of the variable-entered Karnaugh map, Journal of King Saud University: Engineering Sciences, 13 (2): 239-269 (2001).
[44]
Heidtmann, K. D., Smaller sums of disjoint products by subproduct inversion. Reliability, IEEE Transactions on, 38 (3), 305-311 (1989).
[57]
[45]
Rushdi, A. M. and AbdulGhani A. A., A comparison between reliability analyses based primarily on disjointness or statistical independence, Microelectronics and Reliability, 33: 965-978 (1993).
Rushdi, A.M.A. and O.M. Ba-Rukab, Map derivation of the closures for dependency and attribute sets and all candidate keys for a relational database, Journal of King Abdulaziz University: Engineering Sciences, 25(2): 3-34 (2014).
[58]
Lawler, E. L. and Wood, D. E., Branch-and-bound methods: A survey, Operations Research, 14 (4): 699719 (1966).
[59]
Mitten, L. G., Branch-and-bound methods: General formulation and properties, Operations Research, 18 (1): 24-34 (1970).
[60]
Rushdi, A. M. and Rushdi, M. A., SwitchingAlgebraic Analysis of System Reliability. Chapter 6 In: M. Ram and P. Davim (Editors), Advances in Reliability and System Engineering, Management and Industrial Engineering Series, Springer International Publishing, Cham, Switzerland, pp: 139-161 (2016).
[61]
Rushdi, A. M., Karnaugh map, Encyclopaedia of Mathematics, Supplement Volume I, M. Hazewinkel (Editor), Boston, Kluwer Academic Publishers, pp. 327-328. Available at http://eom.springer.de/K/k110040.html, (1997).
[62]
Papaioannou, S., G. and W. A. Barrett, The real transform of a Boolean function and its applications,
[46]
Rushdi, A. M. and Ba-Rukab O. M., A doublystochastic fault-tree assessment of the probabilities of security breaches in computer systems, Proceedings of the Second Saudi Science Conference, Part Four: Computer, Mathematics, and Statistics, Jeddah, Saudi Arabia, pp. 1-17, (2005).
[47]
Rushdi, A. M. and Ba-Rukab O. M., Fault-tree modelling of computer system security, International Journal of Computer Mathematics, 82 (7): 805-819 (2005).
[48]
Rushdi, A. M., Partially-redundant systems: Examples, reliability, and life expectancy, International Magazine on Advances in Computer Science and Telecommunications, 1(1): 1-13 (2010).
[49]
Rushdi, A. M. A. and Hassan A. K., Reliability of migration between habitat patches with heterogeneous ecological corridors, Ecological Modelling, 304: 1-10 (2015).
Finding All Solutions of the Boolean Satisfiability Problem, If Any, via Boolean-Equation Solving
[63]
33
Computers & Electrical Engineering, 2 ( 2): 215-224 (1975).
[72]
Kumar, S. K. and M. A. Breuer, Probabilistic aspects of Boolean switching functions via a new transform, Journal of the ACM (JACM), 28 (3): , 502520 (1981).
Rudeanu, S., Boolean Functions and Equations, North-Holland Publishing Company & American Elsevier, Amsterdam, the Netherlands (1974).
[73]
Rudeanu, S., Lattice Functions and Equations, Springer Verlag, London, UK (2001).
[74]
Rushdi, A. M., Efficient solution of Boolean equations using variable-entered Karnaugh maps, Journal of King Abdulaziz University: Engineering Sciences, 15 (1): 105-121 (2004).
[75]
Rushdi, A. M., A comparison of algebraic and map methods for solving general Boolean equations, Journal of Qassim University: Engineering and Computer Sciences, 4 (2): 1-32 (2012).
[64]
Rushdi, A. M., How to hand-check a symbolic reliability expression, IEEE Transactions on Reliability, 32(5): 402-408 (1983).
[65]
Rushdi, A. M., On computing the syndrome of a switching function, Microelectronics and Reliability, 27(4): 703-716 (1987).
[66]
Rushdi, A. M., On computing the spectral coefficients of a switching function, Microelectronics and Reliability, 27(6): 965-979 (1987).
[76]
Heidtmann, K. D., Arithmetic spectrum applied to fault detection for combinational networks, IEEE Transactions on Computers, 40(3): 320-324 (1991).
Rushdi, A. M. and H. M. Albarakati, The inverse problem for Boolean equations, Journal of Computer Science, 8 (12): 2098-2105 (2012).
[77]
Rushdi, A. M. and M. H. general solutions of Boolean entered Karnaugh maps, University: Engineering and (1): 59-71 (2010).
[78]
Rushdi, A. M. and M. H. Amashah, Using variable– entered Karnaugh maps to produce compact parametric general solutions of Boolean equations, International Journal of Computer Mathematics, 88 (15): 3136-3149 (2011).
[79]
Rushdi, A. M. and M. H. Amashah, Purely-algebraic versus VEKM methods for solving big Boolean equations, Journal of King Abdulaziz University: Engineering Sciences, 23 (2): 75-85 (2012).
[67]
[68]
Rushdi, A. M. A. and F. A. M. Ghaleb, The Walsh spectrum and the real Transform of a switching function: A review with a Karnaugh-map perspective, Journal of Qassim University: Engineering and Computer Sciences, 7(2): 73-112 (2015).
[69]
Rushdi, A. M., Improved variable-entered Karnaugh map procedures, Computers and Electrical Engineering, 13 (1): 41-52 (1987).
[70]
Rushdi, A. M., Using variable-entered Karnaugh maps to solve Boolean equations, International Journal of Computer Mathematics, 78 (1): 23-38 (2001).
[71]
Rushdi, A. M. and Al-Yahya, H. A., Further improved variable-entered Karnaugh map procedures for obtaining the irredundant forms of an incompletely-specified switching function, Journal of King Abdulaziz University: Engineering Sciences, 13 (1): 111-152 (2001).
Amashah, Parametric equations via variableJournal of Qassim Computer Sciences, 3
A. M. A. Rushdi and W. Ahmad
34
إيجاد جميع حلول مسألة المشبعية البوالنية ،إن وجدت ،بواسطة حل معادلة بوالنية علي محمد علي رشدي و وليد أحمد قسم الهندسة الكهربائية وهندسة الحاسبات ،كلية الهندسة ،جامعة الملك عبد العزيز ،ص.ب ،80204.جدة ،21589 المملكة العربية السعودية
[email protected] المستخلص .إن المشبعية البوالنية هي مسألة تحديد إمكانية إشباع إحدى صيغ المنطق اإلخباري بتعيين قيم مناسبة للمتغيرات الداخلة في تركيب هذه الصيغة .وتتسم هذه المسألة بكونها غير قابلة للتتبع بصورة مفرطة لدرجة أن أسرع الخوارزميات المستعملة
لحلها يمكن أن تحتاج زمنا أسيا في أسوأ الحاالت .ولمسألة المشبعية البوالنية تطبيقات عديدة ،وهي تنشأ بصورة متكررة في مواطن كثيرة قد تكون غير متوقعة ،األمر الذي يقتضي توفر أداة ميسرة لمعالجة أمثلتها الصغيرة ،إذ إن هذه األداة تختلف بالضرورة عن الخوارزميات المعقدة الموجودة حاليا التي تتناول األمثلة الكبيرة والضخمة .تقدم ورقة البحث هذه شرحا مبسطا لمسألة المشبعية البوالنية وتوفر طريقة إليجاد جميع حلولها ،إن وجدت ،وذلك بحل معادلة بوالنية ثنائية القيمة .وتتطلب هذه الطريقة خطوات عديدة
تشمل تحويل مضروب مجاميع إلى مجموع مضاريب ،وقواعد للضرب الذكي ،وانتفاعا بالضرب المصفوفي ،واستخداما لطريقة
التفرع والتحدد ،واعماال الستراتيجية "فرق تسد" ،فضال عن إبدال مجموع مضاريب عادي بآخر ذي مضاريب متنافيةِ . وتعرض الورقة لطريقتها وما تضمه من الخطوات سالفة الذكر من خالل مثالين توضيحيين تفصيليين. كلمات مفتاحية :المشبعية البوالنية (ش ب ع) ،حل معادلة بوالنية ،الضرب الذكي والمصفوفي ،المنافاة ،فرق تسد ،التفرع والتحدد.