Extracting Minimum Unsatisfiable Cores with a ... - Semantic Scholar

64 downloads 30401 Views 154KB Size Report
School of Computer Science, National University of Defense Technology .... sense that removing them will repair the infeasibility. .... obtained from the validation and verification of automotive product configura- .... University of Michigan. Press ...
Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm Jianmin Zhang, Sikun Li, and Shengyu Shen School of Computer Science, National University of Defense Technology 410073 ChangSha, China {jmzhang, skli, syshen}@nudt.edu.cn

Abstract. Explaining the causes of infeasibility of Boolean formulas has practical applications in various fields. We are generally interested in a minimum explanation of infeasibility that excludes irrelevant information. A smallest-cardinality unsatisfiable subset, called a minimum unsatisfiable core, can provide a succinct explanation of infeasibility and is valuable for applications. However little attention has been concentrated on extraction of minimum unsatisfiable cores. In this paper, we propose an efficient greedy genetic algorithm to derive an exact or nearly exact minimum unsatisfiable core. It takes advantage of the relationship between maximal satisfiability and minimum unsatisfiability. We report experimental results on practical benchmarks, as compared with the branch-and-bound algorithm and the ant colony optimization.

1

Introduction

Explaining the causes of unsatisfiability of Boolean formulas is a key requirement in many practical applications, such as artificial intelligence, formal verification and electronic design. A paradigmatic example is repairing inconsistent knowledge from a knowledge base [1]. Additional examples include SAT-based model checking on predicate abstraction, where analysis of unsatisfiability is an essential step for ensuring completeness of bounded model checking [2], and fixing wire routing in FPGAs [3]. Many real-world problems can be formulated as constraint satisfaction problems, which can be translated into Boolean formulas in conjunctive normal form (CNF). Modern Boolean satisfiability (SAT) solvers are able to determine whether a formula is satisfiable or not. When a formula is unsatisfiable, it is often required to find an unsatisfiable core (UC), that is, a small unsatisfiable subformula (US) of the original formula. Localizing an unsatisfiable core is necessary to determine the underlying reasons for the failure. It is desirable to find a minimal unsatisfiable core, but checking minimal unsatisfiability is a very hard problem known to be DP -complete [4]. We are usually interested in a minimal or minimum explanation of infeasibility. A minimum unsatisfiable core provides a more succinct explanation of infeasibility and is more valuable 

This work is supported by the National Science Foundation of China (NSFC) under grant No. 60603088.

A. Sattar and B.H. Kang (Eds.): AI 2006, LNAI 4304, pp. 847–856, 2006. c Springer-Verlag Berlin Heidelberg 2006 

848

J. Zhang, S. Li, and S. Shen

than a minimal unsatisfiable core. However, existing works have little concern regarding extraction of minimum unsatisfiable cores. In this paper, we tackle the problem of finding a minimum unsatisfiable core from considerable real-world formulas by a compounded greedy and genetic algorithm. We develop the relationship between maximal satisfiability and minimal unsatisfiability [10,11], and present the relationship between maximal satisfiability and minimum unsatisfiability: a minimum UC is the minimum hitting set of the complements of maximal satisfiable subformulas. Our algorithm is able to compute an exact or nearly exact minimum unsatisfiable core from a Boolean formula. First, we derive the complements of maximal satisfiable subsets. The complement sets consist of the clauses not included in some maximal satisfiable subformula. Then, we extract a minimum unsatisfiable core by computing the minimum hitting set of those complement sets. The paper is organized as follows. The next section surveys the related work on computing unsatisfiable cores. Section 3 introduces the basic definitions and notations used throughout the paper. Section 4 proposes the relationship between maximal satisfiability and minimum unsatisfiability. Section 5 presents our algorithm for extracting a minimum unsatisfiable core from CNF formulas. Section 6 shows and analyzes results for the well-known DaimlerChrysler’s problem instances. Finally, Section 7 concludes this paper.

2

Related Work

The problem of finding an unsatisfiable core has been addressed rather frequently in the last few years, owing to its increasing importance in numerous fields. In [5], a method of adaptive core search is employed to find a small UC. This technique succeeds in finding small, but not minimal unsatisfiable cores for the problem instances. Additional algorithm is based on the ability of modern SAT solvers to produce resolution refutations [6], and it is able to obtain a small unsatisfiable subformula, with no guarantee that the size of the subformula is minimal. Another approach that allows for finding small, but not necessarily minimal unsatisfiable cores is called AMUSE [7]. A different algorithm that guarantees minimality is MUP [8], which is a prover of minimal unsatisfiability, as opposed to an unsatisfiable core extractor. Experimental work on computing the unsatisfiable cores can be grouped into algorithms that find small or minimal UCs and those that find minimum UCs. Most of above methods mainly extract the small or minimal unsatisfiable cores from Boolean formulas. In the recent past, some research has considered the harder problem of finding the minimum unsatisfiable core. In [9], an approach is proposed to derive a minimum unsatisfiable core. This algorithm enumerates all possible subsets of a formula and checks which are unsatisfiable but all of whose subsets are satisfiable. In this way, it can find the solution exactly, but the technique is unlikely to scale well, due to the extreme size of its search space. Furthermore, its experimental results are obtained on small benchmarks.

Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm

849

Recently, the strong relationship between maximal satisfiability and minimal unsatisfiability has been exploited to develop a technique for finding all minimal unsatisfiable subformulas [10,11] and for finding a minimum unsatisfiable core [12]. In [12], the authors present a branch-and-bound algorithm that utilizes iterative maximal satisfiability solutions to generate lower and upper bounds on the size of the smallest-cardinality minimal UC, and branch on specific subformulas to find it. It can tackle considerable practical problem instances. This algorithm is the best previous approach we are aware of for extracting a minimum unsatisfiable core from a constraint set. In section 6, our approach will be compared with this branch-and-bound algorithm on the same benchmarks.

3

Preliminaries

Resolution is a proof system for CNF formulas with the following rule: (A ∨ x)(B ∨ ¬x) . (A ∨ B)

(1)

Where A, B denote the disjunctions of literals, and (A ∨ x), (B ∨ ¬x) are the resolving clauses, and (A ∨ B) is the resolvent. The resolvent of the clauses x and ¬x is the empty clause (⊥). Every application of the resolution rule is called a resolution step. A sequence of resolution steps is that each one uses the result of the previous step as one of the resolving clauses of the current step. It is wellknown that a CNF formula is unsatisfiable if it is possible to generate an empty clause by a finite sequence of resolution steps from the original clauses. The set of original clauses involved in the derivation of the empty clause is referred to as the unsatisfiable core. Definition 1. (Unsatisfiable Core). Given a formula ϕ, ψ is an unsatisfiable core for ϕ iff ψ is an unsatisfiable formula and ψ ⊆ ϕ. That is, an unsatisfiable subformula can be defined as any subset of the original formula which is unsatisfiable. It is obvious that there may exist many different unsatisfiable cores, with different numbers of clauses, for the same problem instance, such that some of these cores are the subsets of others. Definition 2. (Minimal Unsatisfiable Core). Given an unsatisfiable core ψ for a formula ϕ, ψ is a minimal unsatisfiable core iff removing any clause ω ∈ ψ from ψ implies that ψ − {ω} is satisfiable. For Boolean formulas in CNF, an unsatisfiable core is minimal if it becomes satisfiable whenever any of its clauses is removed. A minimal unsatisfiable core is irreducible, in other words, all of its proper subsets are satisfiable. There have been many different contributions to research on minimal UCs extraction. Definition 3. (Minimum Unsatisfiable Core). Consider the set of all unsatisfiable cores for a formula ϕ : {ψ1 , . . . , ψj }. Then, ψk ∈ {ψ1 , . . . , ψj } is a minimum unsatisfiable core iff ∀ ψi ∈ {ψ1 , . . . , ψj }, 1 ≤ i ≤ j : |ψk | ≤ |ψi |.

850

J. Zhang, S. Li, and S. Shen

That is to say, a minimum unsatisfiable core has the smallest cardinality of all unsatisfiable subsets of a formula. According to the definition, one may conclude that any unsatisfiable formula has at least one minimum unsatisfiable core. Whereas, existing works have paid little attention to the extraction of minimum unsatisfiable cores. We should note that in many cases the size of a minimal unsatisfiable core may be much larger than the size of a minimum unsatisfiable core, because the minimal UCs probably contain many redundant clauses which cannot be found by simple resolution rules.

4

Maximal Satisfiability and Minimum Unsatisfiability

Our approach is on the basis of the relationship between maximal satisfiability and minimum unsatisfiability. Firstly, we review the relationship between maximal satisfiability and minimal unsatisfiability. The definitions of a satisfiable subformula and a maximal satisfiable subformula are shown as follows: Definition 4. (Satisfiable Subformula). Consider a formula ϕ, φ is a satisfiable subformula for ϕ iff φ is a satisfiable formula and φ ⊆ ϕ. Definition 5. (Maximal Satisfiable Subformula). Given a satisfiable subformula φ for a formula ϕ, φ is a maximal satisfiable subformula iff adding any clause ω ∈ {ϕ − φ} into φ implies that φ ∪ {ω} is unsatisfiable. We should note the relationship between maximal satisfiability and minimal unsatisfiability. From the above definition, every maximal satisfiable subformula (MSS) is a subset of the original formula in that it is satisfiable and is not augment any more. In general, given any MSS of an unsatisfiable formula, those clauses which are not in the MSS represent a correction to the formula in the sense that removing them will repair the infeasibility. Therefore, we define a “CoMSS” as the complement set of an MSS. This complementary view of MSSes provides the essential link to minimal UCs. The existence of any minimal UC causes the formula unsatisfiable. Therefore, to correct the infeasibility by removing clauses, at least one clause from each minimal UC must be removed so as to neutralize all of the minimal UCs. A CoMSS of a CNF formula is a set of clauses whose removal makes the formula satisfiable, thus each CoMSS must contain at least one clause from every minimal unsatisfiable core. Definition 6. (Minimal Hitting Set). Suppose C= {S1 , . . . , Sn } is a collection of sets. Then H is a hitting set of C iff H ⊆ 1≤i≤n Si , and H ∩ Si = ∅ for each i with 1 ≤ i ≤ n. H is a minimal hitting set iff ∀ R ⊂ H : R is not a hitting set. From the definition, A hitting set is a set that contains at least one element from each set in the collection. Then we can draw a conclusion that a CoMSS of a formula is a hitting set of the collection of all minimal UCs. Further, a CoMSS is a hitting set of the minimal UCs with the restriction that it is irreducible, that is, it is a minimal hitting set. According to the commutative relationship

Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm

851

between the minimal UC and the CoMSS, one can infer that each minimal UC is a minimal hitting set of the CoMSSes. However, what is the relationship between the minimum unsatisfiable core and the CoMSS? First, we should clarify the relationship between the minimum UC and the minimal UC. It is easy to conclude that a minimum unsatisfiable core must be a minimal unsatisfiable core. The property of smallest cardinality of a minimum UC entails the irreducibility required to be a minimal UC. Lemma 1. A minimal unsatisfiable core for a formula ϕ is a minimal hitting set of the complements of maximal satisfiable subformulas for ϕ. Definition 7. (Minimum Hitting Set). Given a collection C of sets and the set of all hitting sets of C : {H1 , . . . , Hj }, then Hk ∈ {H1 , . . . , Hj } is a minimum hitting set iff ∀ Hi ∈ {H1 , . . . , Hj }, 1 ≤ i ≤ j : |Hk | ≤ |Hi |. We have already arrived at the conclusion that each minimal UC of a CNF formula is a minimal hitting set of the collection of CoMSSes. Thus a minimum UC is also a minimal hitting set of CoMSSes. According to the above definition, it is obvious that a minimum hitting set of a collection of sets must be a minimal hitting set of those sets. The smallest cardinality of a minimum hitting set ensures the irreducibility, in other words, its proper subsets are not hitting sets. However, a minimum hitting set is the smallest minimal hitting set, and is must not be reduced any more. Furthermore, a minimum unsatisfiable core is the smallest-cardinality minimal UC with the constraint that it cannot be any smaller. Consequently, we can infer the following conclusion: Lemma 2. A minimum unsatisfiable core for a formula ϕ is a minimum hitting set of the complements of maximal satisfiable subformulas for ϕ. We illustrate the relationship. For example, the CNF formula is ϕ = (x1 ) ∧ (¬x2 ) ∧ (¬x1 ∨ x2 ) ∧ (¬x2 ∨ x3 ) ∧ (¬x3 ) .

(2)

The solutions of satisfiability and unsatisfiability are listed in Table 1. Each clause is encoded by its place in the sequence. For instance, the third clause (¬x1 ∨ x2 ) is named “3”. There are four maximal satisfiability subsets and four corresponding complements of the MSSes. The two minimal unsatisfiable subformulas are the minimal hitting set of the CoMSSes. Obviously, the minimum unsatisfiable core is the minimum hitting set of the CoMSSes. Table 1. The SAT and UNSAT Solutions of ϕ Maximal satisfiable subformulas Complements of MSSes Minimal unsatisfiable cores Minimum unsatisfiable core

{2, 3, 4, 5} {1, 2, 4, 5} {1, 3, 5} {1, 3, 4} {1} {3} {2, 4} {2, 5} {1, 2, 3} {1, 3, 4, 5} {1, 2, 3}

852

5

J. Zhang, S. Li, and S. Shen

Extracting the Minimum Unsatisfiable Core

One naive method to compute a minimum UC is to generate all minimal UCs and then select the smallest one. This approach cannot be extend in that the number of minimal UCs of a formula can be exponential in the number of its variables. To solve this problem efficiently, we present a compounded greedy and genetic algorithm to compute a minimum unsatisfiable core, utilizing the relationship between maximal satisfiability and minimum unsatisfiability. The genetic algorithm, originally introduced in [13], is a heuristic optimization method inspired by the mechanics of natural evolution, including survival of the fittest, reproduction and mutation. A population of potential solutions are refined iteratively by employing a strategy of Darwinian evolution and natural selection. This type of heuristic approach has been applied in many different fields, such as combinational optimization, self-adaptive controlling, machine learning, etc. The principle of an evolutionary mechanism has been proven to be a good framework for combinatorial optimization problems. We combine this approach with a greedy algorithm to solve the problem of the minimum UC extraction from CNF formulas. First of all, some definitions used in this algorithm, including the genetic operators, are introduced as follows: Genetic encoding. The binary vector describes the chromosome code of CoMSSes. The sets are encoded as {x1 , x2 , . . . , xm }, where xi = 0 or 1, 1 ≤ i ≤ m. The binary vectors are called chromosomes, and each bit is called a gene, and all of the chromosomes are called the population. For example, if one set of CoMSSes is S = {1, 3, 4, 7}, then the corresponding binary genes are 1011001. Fitness function. The fitness function is defined as f (S) = HS /|S|, where HS denotes the number of sets hit by all of the elements in S, and |S| represents the cardinality of the set S. Crossover operator. We use the single point crossover strategy. Suppose that S1 = {x1 , x2 , . . . , xm } and S2 = {y1 , y2 , . . . , ym } are two chromosomes, and we select a random integer number k, 1 ≤ k ≤ m, then S3 and S4 are the crossover offspring of S1 and S2 , such that S3 = {si | if i ≤ k, si ∈ S1 , else si ∈ S2 }, S4 = {si | if i ≤ k, si ∈ S2 , else si ∈ S1 }. Mutation operator. Suppose a chromosome S1 = {x1 , x2 , . . . , xm }, and we select a random integer number k, 1 ≤ k ≤ m, then S2 is the mutation offspring of S1 , such that S2 = {si | if i = k, si = ¬xi , else si = xi }. Inversion operator. Suppose a chromosome S1 = {x1 , . . . , xk , xk+1 , . . . , xl−1 , xl , . . . , xm }, where k and l are two random numbers, 1 ≤ k < l ≤ m, then S2 is the inversion offspring of S1 , such that S2 = {x1 , . . . , xl , xl−1 , . . . , xk+1 , xk , . . . , xm }. Selection operator. Roulette wheel selection strategy are adopted. All chromosomes are evaluated by fitness function. We choose those that hit more sets and have smaller cardinality than others. The proposed algorithm proceeds as follows:

Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm

853

1. Find all complements of maximal satisfiable subformulas for a formula ϕ; 2. Recode the clause number in CoMSSes to make the sets more compressed; 3. Adopt a greedy algorithm to derive two good near minimum unsatisfiable cores as the initial parents. We incrementally solve this problem, removing solutions as they are found to continue the search until all have been found; 4. Encode the sets of CoMSSes as binary vector and obtain the binary genes; 5. Apply the genetic operators, including crossover, mutation and inversion, to the selected parents, in order to give birth to the offspring; 6. Recombine the offspring and current parents to form a new population, and employ the selection operator to choose the best solutions as the new parents; 7. If the upper limit of iterations is reached, or the minimum unsatisfiable cores remain the same size for 10 successive offspring, stop and report the best solution found. Otherwise go to the step 5. We note that the greedy algorithm has fast convergence, but often leads to local optimum. The genetic algorithm is a global evolutionary searching method, but its local convergent speed is slow. We combine the greedy algorithm and the genetic algorithm to make up for the shortage of each other. Firstly, we adopt the greedy algorithm to quickly obtain a few initial approximate optimal solutions. Then the genetic algorithm is used to compute the better near minimum unsatisfiable cores, taking advantage of its convergence to the global optimum. To evaluate the efficiency of the greedy genetic algorithm, we implement an ant colony optimization in comparison with our approach. The ant colony algorithm, initially introduced in [14], is a cooperative heuristic searching algorithm inspired by the ethological study on the behavior of ants. The ant colony algorithm for deriving a minimum UC proceeds as follows: 1. The first two steps are the same as those of the greedy genetic algorithm; 2. Associate each clause i in the CoMSSes with a pheromone τi , which is a global heuristic indicating the favorableness for ants to select the next element; the pheromone on each clause is initially set by the value τ0 ; 3. Each of m ants selects the first clause at random and crawls over the sets to incrementally find a minimum UC denoted by Mk , where k = 1, . . . , m. Every ant decides its successor element based on the following probability: ⎧ α β ⎪ ⎨  [τi (t)] • [ηi (t)] if i ∈ N, α β (3) pi (t) = n∈N [τi (t)] • [ηi (t)] ⎪ ⎩ 0 otherwise. Where N denotes the set of clauses which are not yet present in the solution and hit at least one remainder subset, and ηi is a local heuristic indicating the number of sets hit by the clause i. Extensive experimental studies show that the best values for three parameters are α = 1, β = 3 and ρ = 0.5; 4. Evaluate the unsatisfiable core Mk generated by each ant. The quality of UCs is measured by its size |Mk |, that is, the number of clauses it contains; 5. Update the pheromone trails on the clauses using the following equation:

854

J. Zhang, S. Li, and S. Shen

τi (t + 1) =

⎧ m  ⎪ ⎨ (1 − ρ)τi (t) + (C − |Mk |) if Mk is a U C, ⎪ ⎩

k=1

(1 − ρ)τi (t)

(4)

otherwise,

where 0 < ρ < 1 is the evaporation coefficient of pheromone, and C is the total number of clauses. 6. If the limit of iterations is reached, stop and report the best solution found. Otherwise go to step 4.

6

Experimental Results

To experimentally evaluate the effectiveness of our algorithm, we have selected 22 problem instances from the well-known DC family [15]. These instances are obtained from the validation and verification of automotive product configuration data and encode different consistency properties of the configuration data base which is used to configure DaimlerChrysler’s Mercedes car lines. The size of 22 instances ranges from 4496 to 8686 clauses and 1608 to 1909 variables. Our algorithm to extract a minimum unsatisfiable core is implemented in C++ . For generating all of the minimal UCs we use the algorithms in [10]. All experiments were conducted on a 1.6 GHz Athlon machine having 1 GB memory and running the Linux operating system. The limit time was 600 seconds. The experimental results are listed in Table 2. Table 2 gives the total number of minimal unsatisfiable subsets contained in each formula (MUSes), the number of clauses in the minimum unsatisfiable core (min), the number of clauses in the largest minimal unsatisfiable core (max), and the average size of all minimal unsatisfiable cores (ave). Table 2 also shows the runtime in seconds of the branchand-bound algorithm (BaB time) on a 2 GHz Pentium 4 Linux machine with 1GB RAM [12]. Furthermore, Table 2 provides the runtime in seconds (ACO time) of the ant colony optimization and the number of clauses (ACO size) in the derived minimum unsatisfiable core. The last two columns present the runtime in seconds (GGA time) and the size of the minimum unsatisfiable core (GGA size) extracted by the greedy genetic algorithm. There are four instances where we failed to find all of the minimal UCs within the timeout. Therefore, their average sizes cannot be calculated and left blank in Table 2. Table 2 illustrates that the greedy genetic algorithm strongly outperforms the branch-and-bound algorithm which is the best known approach, usually by about one order of magnitude. Our algorithm can find the exact minimum UCs for most formulas. A few minimum UCs extracted by the algorithm have one or two clauses more than the smallest-cardinality unsatisfiable core. Although two algorithms run on different processors, the performance of 1.6 GHz Athlon is generally inferior to the performance of 2 GHz Pentium. Moreover, this table also shows that the greedy genetic algorithm works better than the ant colony optimization, and both algorithms conduct on the same machine. From this table, we may observe the following. For all problem instances, the percentage of clauses in the minimum UCs is quite small, in most cases less

Extracting Minimum Unsatisfiable Cores with a Greedy Genetic Algorithm

855

than 1%. Consequently, localizing a minimum unsatisfiable core is necessary to determine the underlying reasons for the failure. Further, the size of minimum UCs is much smaller than the size of the largest minimal UCs and the average size of all minimal UCs for many formulas. In some cases, the number of clauses in the minimum UC is half or one third of the number of clauses in the largest minimal UCs. Therefore, as compared with minimal UCs, a minimum UC provides a more succinct explanation of infeasibility and is more valuable for practical applications. Moreover, all minimal UCs of some problem instances cannot be found within a reasonable time limit, and thus it is unadvisable to find all of the minimal UCs for some formulas. In many cases, extracting all minimal unsatisfiable cores is intractable for complicated problem instances. Table 2. Performance Results on Benchmarks Benchmarks C220 C220 C220 C220 C220 C210 C210 C208 C208 C208 C208 C202 C202 C202 C202 C202 C208 C170 C170 C170 C170 C168

7

MUSes min max

FV SZ 65 103442 FV SZ 46 >566210 FV RZ 14 80 FV RZ 13 6772 FV RZ 12 80272 FW RZ 59 15 FS RZ 40 15 FA UT 3255 52736 FA UT 3254 17408 FA SZ 87 12884 FA SZ 120 2 FW SZ 123 3 FW RZ 57 1 FS SZ 122 1 FS SZ 121 4 FS RZ 44 >125207 FA RZ 43 >20940 FR SZ 96 >99155 FR SZ 92 1 FR SZ 58 218692 FR RZ 32 32768 FW UT 851 102

23 17 11 10 11 140 140 40 40 18 34 36 213 33 22 18 8 53 131 46 227 8

40 ≥64 18 27 35 173 173 74 74 27 34 38 213 33 24 ≥53 ≥28 ≥80 131 63 228 16

ave 35.1 14.5 21.5 26.5 156.8 156.8 60.3 59.7 22.9 34.0 37.0 213.0 33.0 23.0

131.0 56.4 227.9 14.1

BaB time 18.85 78.44 33.89 33.35 50.58 56.69 36.24 94.59 95.27 15.10 3.80 14.74 58.34 3.84 2.50 131.04 76.88 322.76 15.12 15.329 121.33 59.91

ACO ACO GGA GGA time size time size 2.83 23 1.21 23 16.45 17 12.20 17 1.51 11 0.15 11 1.20 10 0.43 10 2.75 11 0.60 11 7.92 140 0.89 140 7.79 140 0.69 140 16.12 41 1.02 40 13.80 41 0.90 40 3.81 19 0.70 19 1.08 34 0.15 34 1.14 36 0.31 36 3.09 213 1.08 213 1.72 33 0.16 33 1.58 22 0.19 22 48.70 20 16.70 20 59.30 8 22.30 8 20.15 55 14.00 54 1.37 131 0.39 131 3.90 47 0.79 47 6.77 228 0.67 227 1.75 8 0.57 8

Conclusions

Explaining the causes of infeasibility of Boolean formulas has practical applications in many fields, such as artificial intelligence, formal verification and electronic design. A smallest-cardinality unsatisfiable subformula, that is a minimum unsatisfiable core, provides a succinct explanation of infeasibility. In this paper, we present the relationship between maximal satisfiability and minimum unsatisfiability. A

856

J. Zhang, S. Li, and S. Shen

greedy genetic algorithm is proposed to extract the exact or nearly exact minimum unsatisfiable core. It utilizes the relationship between maximal satisfiability and minimum unsatisfiability. The experimental results indicate that the greedy genetic algorithm outperforms the branch-and-bound algorithm and the ant colony optimization. The results show that our algorithm efficiently finds the minimum unsatisfiable cores at the cost of occasional augmented size.

References 1. Mazure, L. Sais, and E. Gregoire. Boosting complete techniques thanks to local search methods. Annals of Mathematics and Artificial Intelligence, 22(3-4):319-331, 1998. 2. K. L. McMillan and N. Amla. Automatic abstraction without counterexamples. In Proceedings of the Ninth International Conference on Tools and Algorithms for the Construction and Analysis of Systems (TACAS’03), 2003. 3. G. J. Nam, K. A. Sakallah, and R. A. Rutenbar. Satisfiability-based layout revisited: Detailed routing of complex FPGAs via search-based Boolean SAT. In International Symposium on Field Programmable Gate Arrays (FPGA’99), 1999. 4. C. H. Papadimitriou, and D. Wolfe. The Complexity of Facets Resolved, In Journal of Computer and System Sciences, vol. 37, pp. 2-13, 1988. 5. R. Bruni and A. Sassano. Restoring Satisfiability or Maintaining Unsatisfiability by Finding Small Unsatisfiable Subformulae. In Proceedings of the Workshop on Theory and Application of Satisfiability Testing (SAT’01), 2001. 6. L. Zhang and S. Malik. Extracting small unsatisfiable cores from unsatisfiable Boolean formula. In Proceedings of the Sixth International Conference on Theory and Applications of Satisfiability Testing (SAT’03), 2003. 7. Y. Oh, M. N. Mneimneh, Z. S. Andraus, K. A. Sakallah, and I. L. Markov. AMUSE: a minimally-unsatisfiable subformula extractor. In Proceedings of the 41st Design Automation Conference (DAC’04), 2004. 8. J. Huang. MUP: A minimal unsatisfiability prover. In Proceedings of the Tenth Asia and South Pacific Design Automation Conference (ASP-DAC’05), 2005. 9. I. Lynce and J. P. Marques-Silva. On computing minimum unsatisfiable cores. In Proceedings of the Seventh International Conference on Theory and Applications of Satisfiability Testing (SAT’04), 2004. 10. M. H. Liffiton and K. A. Sakallah. On finding all minimally unsatisfiable subformulas. In Proceedings of the Eighth International Conference on Theory and Applications of Satisfiability Testing (SAT’05), 2005. 11. J. Bailey and P. J. Stuckey. Discovery of Minimal Unsatisfiable Subsets of Constraints Using Hitting Set Dualization. In Proceedings of the Seventh International Symposium on Practical Aspects of Declarative Languages (PADL’05), 2005. 12. M. N. Mneimneh, I. Lynce, Z. S. Andraus, J. P. Marques-Silva, and K. A. Sakallah. A branch and bound algorithm for extracting smallest minimal unsatisfiable formulas. In Proceedings of the Eighth International Conference on Theory and Applications of Satisfiability Testing (SAT’05), 2005. 13. J. H. Holland. Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann Arbor, 1975; MIT Press, Cambridge, second edition, 1992. 14. A. Colorni, M. Dorigo, and V. Maniezzo. Distributed Optimization by Ant Colonies. In Proceedings of the First European Conference on Artificial Life, 1991. 15. SAT benchmarks from Automotive Product Configuration, http://www-sr. informatik.uni-tuebingen.de/∼sinz/DC/.

Suggest Documents