Inverse Q UICK X PLAIN vs. M AX SAT — A Comparison in Theory and Practice Rouven Walter1 and Alexander Felfernig2 and Wolfgang Küchlin1 Abstract. We compare the concepts of the I NV QX algorithm the MCS of minimum cardinality; (ii) the Inverse Q UICK X PLAIN for computing a Preferred Minimal Diagnosis vs. Partial Weighted (I NV QX) algorithm (also denoted as FAST D IAG) [4] delivers a pre- M AX SAT in the context of Propositional Logic. In order to restore ferred minimal diagnosis w.r.t. a total order on the user requirements. consistency of a Constraint Satisfaction Problem w.r.t. a strict total Both approaches can be considered as an optimal repair suggestion order of the user requirements, I NV QX identifies a diagnosis. Partial w.r.t. their definition of optimum. In this paper, we study both ap- Weighted M AX SAT aims to find a set of satisfiable clauses with the proaches by giving the following contributions: maximum total weight. It turns out that both concepts have similari- ties, i.e., both deliver a correction set. We point out these theoretical 1. We point out theoretical similarities and suggest an improvement commonalities and prove the reducibility of both concepts to each for I NV QX. other, i.e., both problems are FPNP -complete, which was an open 2. We show that both problems, the computation of a preferred min- question. We evaluate the performance on problem instances based imal diagnosis (I NV QX) and the computation of an MCS of min- on real configuration data of the automotive industry from three dif- imum cardinality (MaxSAT), are reducible to each other and that ferent German car manufacturers and we compare the time and qual- both are FPNP -complete. ity tradeoff. 3. We provide experimental evaluations based on real automotive configuration data. 1 Introduction To the best of our knowledge, it has not been proven before, that Constraint programming is successfully applied in many different ar- the computation of a preferred minimal diagnosis in the context of eas, e.g., planning, scheduling, and configuration. Besides the usage Propositional Logic is FPNP -hard. of Constraint Satisfaction Problem (CSP) based knowledge bases, The remainder of the paper is structured as follows: Section 2 in- the usage of the more restrictive Propositional Logic has been suc- troduces the formal background. Section 3 discusses related work. In cessfully established in the context of automotive configuration and Section 4 and Section 5 we introduce both approaches (M IN UNSAT verification [11]. and I NV QX) and give an overview of solving techniques, respec- In many practical use cases the knowledge base can become over- tively. Section 6 points out the theoretical relationships and Section 7 constrained, e.g., by overly restrictive rules or user requirements. In shows how to reduce one problem to the other. In Section 8 we the context of automotive configuration the knowledge base can be- present experimental evaluations. Finally, Section 9 concludes the come over-constrained, too [23]. A typical situation would be a cus- paper. tomer configuring a car up to his wishes conflicting with the knowl- edge base. Another typical situation would be an engineer given the task that new features should be constructable for an existing type 2 Preliminaries series by now which were not constructable before. In both situa- tions we would like to have an automatic reasoning procedure for Within the scope of this paper we focus on Propositional Logic over assistance in order to restore consistency. the standard operators ¬, ∧, ∨, →, ↔ with constants ⊥ and >, rep- One approach to restore consistency is to guide the user by com- resenting false and true, respectively. For a Boolean formula ϕ we puting minimal unsatisfiable cores (conflicts), which can be consid- denote its evaluation by kϕkv ∈ {0, 1} for a variable assignment v. ered as a problem explanation. However, more than one conflict is A Boolean formula is in CNF normal form iff it consists of a conjunc- involved in general. Another approach is to try to satisfy as many of tion of clauses, where a clause is a disjunction of literals. A literal is a the constraints as possible, i.e., finding a maximal satisfiable subset variable or its negation. A formula in CNF can be interpreted as a set (MSS) or, the opposite, finding a minimum correction subset (MCS) of clauses and further a clause can be interpreted as a set of literals. which can be considered as a repair suggestion. The constraints of an The NP-complete SAT problem asks whether a Boolean formula is MCS have to be removed or altered in order to restore consistency. satisfiable or not. An MCS can be calculated in different ways: (i) M AX SAT is a generalization of the well-known SAT problem and computes Definition 1. (MSS/MCS) Let ϕ be a set of clauses. A set ψ ⊆ ϕ is a Maximal Satisfiable Subset (MSS) iff ψ is satisfiable and every 1 Symbolic Computation Group, WSI Informatics, Universität Tübingen, ψ 0 ⊆ ϕ with ψ ⊂ ψ 0 is unsatisfiable. Germany, www-sr.informatik.uni-tuebingen.de 2 Institute for Software Technology, Graz University of A set ψ ⊆ ϕ is a Minimal Correction Subset (MCS) iff ϕ − ψ is Technology, Graz, Austria, www.felfernig.eu, email: satisfiable and for all ψ 0 ⊆ ϕ with ψ 0 ⊂ ψ the set difference ϕ − ψ 0 alexander.felfernig@ist.tugraz.at is unsatisfiable. 97 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria The definition of an MSS (resp. MCS) can be naturally extended 4 Preferred Minimal Diagnosis by taking into account a set of hard clauses which have to be satisfied. Clearly, for a given MSS (resp. MCS) ψ of ϕ, the complement The definition of a Preferred Minimal Diagnosis (PMD) used in [4] ϕ − ψ is an MCS (resp. MSS) of ϕ. is in the context of a Constraint Satisfaction Problem (CSP). We will Analogous to [16] we introduce the following definitions: recap the essential definitions briefly. Let CKB and CR be sets of CSP constraints. The set CKB (resp. CR ) represents the constraints Definition 2. (L- and A-Preference) Let < be a strict total order over of the knowledge base (resp. the user requirements). a set ϕ = {c1 , . . . , cm } of clauses with ci < ci+1 for 1 ≤ i < m, i.e., clause ci is preferred to clause ci+1 . Definition 3. (CR Diagnosis) Let (CKB , CR ) be a CR diagnosis We define the lexicographical order wπ(j) j=i+1 Hard := CKB then the strict total ordering <π with cπ(1) < . . . < cπ(m) with Soft := CR CKB = Hard and CR = {cπ(1) , . . . , cπ(m) } is a reduction to the weight(ci ) := m − (i − 1) A-preferred MCS problem. With this weight assignment, the most preferred clause is assigned to Proof. The reduction is correct since (1) it preserves the order of weight m, the next one to weight m − 1 and so on. The lexicograph- the soft clauses w.r.t. their weights and (2) the weights are in such ical order will be imitated somewhat but not sufficiently to be exact. a relation that for each clause cπ(i) a M IN UNSAT solution will try The greater the distances of the weights of consecutive constraints ci to satisfy cπ(i) before satisfying all clauses cπ(i+1) , . . . , cπ(m) and and ci+1 the better the approximation gets. Above we set the distance so will a solution of A-preferred MCS due to the strict total clause to 1. In Subsection 7.1 we will show how to determine distances that ordering. help to reach an exact reduction. The transformation can be done in polynomial time, too. We can check whether such a permutation can be found by: (1) Sorting soft clauses c1 , . . . , cm in ascending order w.r.t. their weights Example 2. Consider CR with x ∨ y < ¬x < ¬y < x < z. for complexity O(m log m), (2) Iterating through the sorted list and The A-preferred MCS is ∆ = {¬y, x}, but M IN UNSAT({(x ∨ checking each clause ci whether the inequality holds for complexity y, 5), (¬x, 4), (¬y, 3), (x, 2), (z, 1)}) = 4, because ¬x with weight O(m). 4 is less than clauses x and ¬y with weights 2 + 3 = 5. The property of Proposition 1 is sufficient but not necessary. There are other classes of M IN UNSAT instances without this property which are reducible in polynomial time, too. 7 Reduction Example 3. Soft = {(x1 , m), . . . , (xm , 1)}, i.e., a descend- In this section we will show how to polynomially reduce one problem ing weight for each clause. We assume atMost(x1 , . . . , xm ) ⊆ to each other and finally see that both problems are FPNP -complete Hard, i.e., at most one soft clause is allowed to be true. and are therefore equally hard to solve. M IN UNSAT will try to satisfy the clause with the highest weight. The A-preferred MCS problem with the strict total ordering x1 < 7.1 From A-preferred MCS to M IN UNSAT . . . < xm will be a diagnosis which contains clauses except for the most preferred one in the ordering which can be satisfied un- Let (CKB , CR ) be an A-preferred MCS problem with CR = der Hard. Since at most one of the clauses can be true, the result {c1 , . . . , cm } and a total strict order s.t. c1 < . . . < cm . We can is the same. Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 100 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria Next we will show the newly result that actually any M IN UNSAT Table 1. Statistics about the considered POFs instance is polynomially reducible to the A-preferred MCS problem, i.e., the A-preferred MCS is FPNP -hard. Rules Families Theorem 1. The A-preferred MCS problem is FPNP -hard. POF #Var. Qty. Avg. #Var. Qty. Avg. #Var. Proof. Consider the Maximum Satisfying Assignment (MSA) prob- M1_1 996 11,627 5.9 188 6.3 lem: For a Boolean formula ϕ over the variables x1 , . . . , xn find a M1_2 612 4,465 5.3 174 5.3 satisfying assignment with the lexicographical maximum of the word M2_1 483 495 4.3 60 8.7 x1 · · · xn ∈ {0, 1}n or 0 if not satisfiable. This problem is FPNP - M3_1_1 1,772 2,074 33.8 35 56.7 complete as proved in [10]. M3_1_2 1,586 1,496 4.6 35 48.9 We can polynomially reduce the MSA problem to the A-preferred M3_1_3 1,993 2,281 32.9 35 61.6 MCS problem: M3_2_1 2,087 2,430 34.0 42 57.2 M3_3_1 880 1,137 19.6 31 29.3 CKB := Tseitin(ϕ) M3_3_2 884 1,121 55.1 31 29.4 CR := {{x1 }, . . . , {xn }} M3_3_3 885 1,198 47.8 31 29.4 < := x1 , . . . , xn 8.1 Benchmark Data Since the Tseitin-transformed formula Tseitin(ϕ) has the same models on the set of the original variables x1 , . . . , xn as the For our benchmarks we use test instances based on real automotive original formula ψ (see Remark 1), our reduction is sound. Let configuration data from three different major German car manufac- APreMCS(CKB , CR ) be the solution of the constructed A-preferred turers. The configuration model of constructable cars is given as a MCS problem w.r.t. the order <−1 . Using Proposition 12 of [16], the product overview formula (POF) in Propositional Logic [11]. A POF corresponding L-preferred MSS, which is ϕ−APreMCS(CKB , CR ) is satisfiable and each satisfying assignment represents a valid con- w.r.t. the order <, is the solution for the MSA problem. Therefore, figurable car. If the POF is over-constrained (unsatisfiable), then no the A-preferred MCS problem is FPNP -hard. cars are constructable. We denote a POF by Mx_y_z, where each x is a different car manufacturer, each y is a different type series and Corollary 1. The A-preferred MCS problem is FPNP -complete. each z is a different model type. Each satisfying variable assignment Proof. The A-preferred MCS problem is FPNP -hard (Theorem 1) is a constructable car configuration. Table 1 shows statistics about and in FPNP [16]. each used POF instance. Column #Var. shows the total variable num- ber of each instance. Rules are Boolean formulas (not necessarily Remark 4. With similar arguments one can prove that the L- clauses) describing the dependencies between components. Column preferred MSS problem is FPNP -complete, too. Assuming P 6= NP, Qty. shows the number of rules and column Avg. #Var. shows the then FPNP[log n] ⊂ FPNP holds [10]. Hence FPNP -complete prob- average number of variables of a rule. Families are groups of compo- lems are strictly harder than problems in FPNP[log n] . nents where usually one element has to be chosen, e.g., one motor has Theorem 1 negatively answers the open question whether com- to be chosen of the family of motors. But the condition of a family puting L-preferred MSSes and A-preferred MCSes could be in depends on the car manufacturer. Column Qty. shows the number of FPNP[log n] or not stated in Remark 1 in [16]. families and column Avg. #Var. shows the average number of com- ponents of a family. A practical encoding of a M IN UNSAT problem instance as an A- We consider two use cases of re-configuration problems (see [23] preferred MCS problem could be to encode each soft clause as an for a detailed description of use cases regarding optimization and re- unit clause with variable si (similiar to Remark 1) and to build the configuration in the context of automotive configuration): binary representation of the sum: X • Re-Configuration of Selections: The constraints of the POF are wi · si = 2l+1 · cl+1 + . . . + 20 · c0 considered as hard constraints. We choose soft user requirements i (variables) at random. Where wi is the weight of the unit soft clause {si }. Then, design Since not all user requirements are consistent w.r.t. the POF in an adder-network of this sum with the output variables cl+1 , . . . , c0 general, such a random selection easily gets inconsistent. The goal and set CR := {cl+1 , . . . , c0 }. The strict total order is given by the is to optimize the user selections. order of the coefficients of the binary representation from the most By this use case we try to realistically imitate a user behavior when significant bit cl+1 to the least significant bit c0 . Set CKB is the union configuring a custom car. of the set of the hard clauses, the encoding of the soft clauses as unit • Re-Configuration of Rules: The constraints of the POF are con- clause and the encoding of the adder-network of the sum. We will sidered as soft constraints. We choose user requirements (vari- not go into more detail in this work. ables) at random. Similarly to the previous use case, such a random user selection easily leads to inconsistency. But in contrast to the previous use 8 Experimental Evaluation case, we want to optimize the POF constraints instead of the user We evaluate both problems, the A-preferred MCS problem and the selections. M IN UNSAT problem, with real industrial datasets from the auto- By this use case we try to realistically imitate, for example, an motive domain. In the next subsections we describe the benchmark engineering situation where new hard requirements are given and data and the considered use cases in more detail, afterwards we de- the corresponding engineer wants to be guided by an optimized scribe the used solver settings and finally discuss the results. repair suggestion to adjust the rules. 101 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria Table 2. Results of M IN UNSAT use case “Re-Configuration of Selections” (in seconds) 30% 50% 70% Problem WPM1 msu4 LSB IQB IQBO WPM1 msu4 LSB IQB IQBO WPM1 msu4 LSB IQB IQBO M1_1 3.19 1.33 0.51 0.47 0.48 t/o 4.97 0.50 0.55 0.49 t/o 47.96 0.51 0.62 0.50 M1_2 2.13 0.04 0.24 0.23 0.20 0.77 0.05 0.23 0.23 0.22 5.20 0.08 0.25 0.24 0.24 M2_1 0.10 0.53 0.09 0.07 0.09 0.11 0.75 0.08 0.07 0.08 0.12 1.08 0.08 0.07 0.08 M3_1_1 1.13 0.53 0.89 1.01 0.89 1.19 0.75 0.95 1.00 1.00 1.24 1.08 0.91 0.98 1.04 M3_1_2 0.12 0.05 0.09 0.07 0.09 0.11 0.07 0.08 0.07 0.08 0.12 0.08 0.08 0.08 0.08 M3_1_3 1.34 0.63 1.16 1.08 1.17 1.36 0.96 1.19 1.09 1.17 1.43 1.30 1.18 1.11 1.15 M3_2_1 1.38 0.71 1.13 1.03 1.16 1.39 0.92 1.21 1.07 1.47 1.48 1.40 1.43 1.05 1.24 M3_3_1 0.88 0.46 1.00 0.75 1.16 0.87 0.45 0.88 0.75 0.94 0.90 0.61 0.89 0.79 0.89 M3_3_2 1.59 0.78 1.60 1.43 1.62 1.57 0.90 1.41 1.46 1.45 1.69 1.41 1.59 1.76 1.46 M3_3_3 1.34 0.63 1.22 1.23 1.18 1.25 0.93 1.18 1.23 1.18 1.31 0.88 1.20 1.22 1.21 Table 3. Results of M IN UNSAT use case “Re-Configuration of Rules” (in seconds) 30% 50% 70% Problem WPM1 msu4 LSB IQB IQBO WPM1 msu4 LSB IQB IQBO WPM1 msu4 LSB IQB IQBO M1_1 10.98 t/o 80.45 13.01 4.97 48.15 t/o 79.33 22.16 8.01 31.69 t/o 79.26 25.25 9.32 M1_2 3.24 35.08 7.43 1.78 0.72 4.24 89.95 7.36 2.47 0.89 5.88 64.91 7.10 3.23 1.13 M2_1 0.20 0.11 0.25 0.15 0.16 0.19 0.19 0.25 0.18 0.15 0.23 0.34 0.25 0.19 0.16 M3_1_1 1.88 13.35 9.36 1.97 1.85 2.17 41.86 9.49 2.30 2.04 1.89 14.00 9.13 2.42 2.18 M3_1_2 0.39 0.59 1.48 0.41 0.27 0.50 4.98 1.54 0.55 0.33 0.33 2.15 1.56 0.51 0.34 M3_1_3 2.11 23.69 12.95 2.25 2.08 2.44 59.11 12.32 2.75 2.37 2.17 32.55 12.51 2.84 2.57 M3_2_1 2.40 36.57 11.47 2.56 2.22 2.37 71.15 14.16 2.99 2.50 2.29 65.02 13.95 3.17 2.70 M3_3_1 1.10 2.07 5.14 1.24 1.22 1.18 10.80 5.24 1.49 1.36 1.09 5.26 5.18 1.44 1.36 M3_3_2 2.04 5.92 7.78 2.08 2.10 2.03 14.19 8.76 2.38 2.27 3.08 8.11 8.54 2.30 2.48 M3_3_3 1.58 4.62 6.41 1.79 1.78 1.61 5.54 6.72 1.89 1.83 1.57 6.41 6.73 2.00 1.98 Additionally, we considered three different levels of the user selec- assume a uniform distribution of the soft formulas to simulate the in- tions: 30%, 50% and 70%. Each level represents the percentage of teraction of the user. For each POF, each use case and each percent- components chosen from the families, where 100% are all families. age level we created 10 instances to get a reasonable distribution. By this distinction we want to compare the performance impact of less configured cars in contrast to highly configured cars. A more 8.2 Implementation Techniques detailed description of these use cases can be found in [22]. On the M IN UNSAT side we used the following solvers for our eval- uation: Table 4. Avg. approx. quality of “Re-Config. of Selections” • MSU 4: An unsat core-guided approach with iterative SAT calls using a reduced number of blocking variables [15]. Problem 30% 50% 70% • WPM1: An unsat core-guided with iterative SAT calls, see Algo- M1_1 93.39 % 93.60 % 91.78 % rithm 2 and [1]. In each iteration a new blocking variable will be M1_2 95.79 % 95.94 % 95.76 % added to each soft clause within the unsat core. M2_1 100 % 99.47 % 98.79 % M3_1_1 99.43 % 99.29 % 97.61 % Whereas for the A-preferred MCS side we used: M3_1_2 100 % 100 % 97.49 % M3_1_3 99.67 % 100 % 96.62 % • LSB: Linear search with backbone improvement plus usage of the M3_2_1 100 % 98.21 % 96.43 % in-/decremental SAT-Solving interface. M3_3_1 99.57 % 99.44 % 99.17 % • IQB: Basic I NV QX with backbone improvement plus usage of M3_3_2 100 % 97.56 % 98.85 % the first part of Remark 2. M3_3_3 100 % 95.64 % 97.62 % • IQBO: Optimized I NV QX with backbone improvement plus full usage of Remark 2. Avg. 98.79 % 97.92 % 97.01 % Solver MSU 4 is an external one due to [15]. All other solvers were We consider two problem categories: implemented on top our uniform logic framework, which we use for commercial applications within the context of automotive configu- • Category I: M IN UNSAT ration. Our SAT solver provides an inc-/decremental interface. We • Category II: A-preferred MCS maintain two versions (Java and .NET) and decided to implement the solvers in C# using .NET 4.0. For M IN UNSAT the weights were chosen between 1 to 10 by ran- Our experiments were run on the following settings: Processor: dom and for A-preferred MCS the order was chosen by random. We Intel Core i7-3520M, 2.90 GHz; Main memory: 8GB. All our .NET Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 102 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria Table 6. Results of A-preferred MCS use case “Re-Configuration of Selections” (in seconds) 30% 50% 70% Problem WPM1 msu4 LSB IQB IQBO WPM1 msu4 LSB IQB IQBO WPM1 msu4 LSB IQB IQBO M1_1 0.76 2.15 0.41 0.41 0.44 – – 0.42 0.47 0.49 – – 0.52 0.56 0.52 M1_2 0.36 0.64 0.18 0.20 0.21 – – 0.19 0.22 0.19 – – 0.26 0.23 0.22 M2_1 0.10 0.05 0.06 0.06 0.06 0.11 0.04 0.06 0.06 0.05 0.11 0.06 0.06 0.07 0.05 M3_1_1 1.20 0.62 0.75 0.81 0.72 1.34 0.88 0.82 0.89 0.73 1.18 1.10 0.76 0.91 0.85 M3_1_2 0.10 0.05 0.06 0.06 0.06 0.11 0.06 0.06 0.06 0.06 0.11 0.08 0.06 0.07 0.06 M3_1_3 1.27 0.69 0.86 0.94 0.86 1.48 0.73 0.87 1.00 0.85 1.42 1.23 0.93 1.03 0.88 M3_2_1 1.31 0.84 0.76 0.98 0.85 1.33 1.10 0.85 0.96 0.84 1.39 1.44 0.93 0.99 0.93 M3_3_1 0.86 0.84 0.59 0.64 0.56 0.88 0.56 0.65 0.65 0.62 0.90 0.64 0.63 0.67 0.67 M3_3_2 1.63 0.83 1.08 1.19 1.07 1.59 1.13 1.07 1.15 1.08 1.62 1.08 1.10 1.17 1.09 M3_3_3 1.28 0.66 0.91 0.93 0.88 1.26 0.86 0.86 0.96 0.92 1.27 1.18 0.93 0.98 0.94 Table 7. Results of A-preferred MCS use case “Re-Configuration of Rules” (in seconds) 30% 50% 70% Problem LSB IQB IQBO LSB IQB IQBO LSB IQB IQBO M1_1 77.00 10.69 3.65 73.83 17.95 6.14 73.75 19.90 7.31 M1_2 6.40 1.54 0.56 6.30 1.81 0.67 5.96 2.12 0.81 M2_1 0.22 0.14 0.11 0.22 0.15 0.12 0.22 0.18 0.14 M3_1_1 8.41 1.88 1.62 8.10 2.05 1.63 8.35 2.12 1.71 M3_1_2 1.36 0.33 0.20 1.33 0.46 0.24 1.38 0.49 0.28 M3_1_3 11.03 1.95 1.69 11.04 2.34 1.94 11.53 2.35 2.07 M3_2_1 9.87 2.20 1.79 12.48 2.51 2.11 12.12 2.69 2.14 M3_3_1 4.24 1.19 1.02 4.29 1.31 1.08 4.46 1.34 1.16 M3_3_2 6.79 2.01 1.66 7.25 2.06 1.79 7.05 2.10 1.95 M3_3_3 5.41 1.61 1.42 5.65 1.68 1.55 5.70 1.79 1.61 based algorithms run under Windows 7 while MSU 4 runs under Ubuntu 12.04. 8.3 Results For all of the following result tables, each table entry shows the av- erage time in seconds a solver needed to solve 10 different instances of the considered use case and POF. We set a timeout (t/o) of 600 Table 5. Avg. approx. quality of “Re-Configuration of Rules” seconds. Each table is separated in three levels (30%, 50% and 70%) which is the percentage of families where user selections were made from. Problem 30% 50% 70% M1_1 99.90 % 99.91 % 99.93 % 8.3.1 Category I: Partial Weighted M IN UNSAT M1_2 99.94 % 99.94 % 99.86 % M2_1 99.82 % 99.56 % 99.70 % Table 2 and Table 3 show the results of both use cases, respectively. M3_1_1 100 % 99.98 % 100 % MSU 4 performs well on the first use case, whereas IQBO performs M3_1_2 100 % 99.96 % 99.99 % most often best on the second use case. M3_1_3 99.98 % 99.99 % 99.99 % Table 4 and Table 5 show the average approximation quality of the M3_2_1 100 % 99.99 % 99.97 % A-preferred MCS approaches used as M IN UNSAT approximation M3_3_1 99.95 % 99.89 % 99.99 % (cf. Subsection 6.1), which turns out to be quite good. Percentage p M3_3_2 99.96 % 99.94 % 99.97 % is calculated as follows: M3_3_3 99.97 % 99.98 % 99.95 % ( m wi ) − approxOpt P p = Pi=1 Avg. 99.95 % 99.91 % 99.94 % ( m i=1 wi ) − exactOpt Where approxOpt is the optimum of the A-preferred MCS solver and exactOpt is the optimum of the M IN UNSAT solver. 8.3.2 Category II: A-preferred MCS Table 6 does not contain entries for M1_1 and M1_2 in the columns 50% and 70% because the encoding of the weights exceeds the 103 Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria native long data type. The MaxSAT competition format3 permits [4] Alexander Felfernig, Monika Schubert, and Christoph Zehentner, ‘An efficient diagnosis algorithm for inconsistent constraint sets’, Artifi- a top weight lower than 263 . Table 7 is missing an evaluation for cial Intelligence for Engineering Design, Analysis, and Manufacturing, M IN UNSAT solvers for the same reason. 26(1), 53–62, (February 2012). For instances where an encoding is possible, both M IN UNSAT [5] Zhaohui Fu and Sharad Malik, ‘On solving the partial MAX-SAT prob- solvers can keep up with the native A-preferred MCS solvers. IQBO lem’, in Theory and Applications of Satisfiability Testing—SAT 2006, performs significantly better than IQB for the second use case. eds., Armin Biere and Carla P. Gomes, volume 4121 of Lecture Notes in Computer Science, 252–265, Springer Berlin Heidelberg, (2006). [6] Federico Heras, António Morgado, and João Marques-Silva, ‘Core- guided binary search algorithms for maximum satisfiability’, in AAAI, 9 Conclusions and Future Work eds., Wolfram Burgard and Dan Roth, pp. 36 – 41. AAAI Press, (Au- gust 2011). In this work, we compared the problem of finding a minimal pre- [7] Federico Heras, António Morgado, and João Marques-Silva, ‘An empir- ferred diagnosis (A-preferred MCS in the context of Propositional ical study of encodings for group MaxSAT’, in Canadian Conference Logic) with the problem of finding a diagnosis of minium cardinal- on AI, eds., Leila Kosseim and Diana Inkpen, volume 7310 of Lecture Notes in Computer Science, pp. 85–96. Springer, (2012). ity (M IN UNSAT in the context of Propositional Logic). We proved [8] Federico Heras, António Morgado, and João Marques-Silva, ‘Lower the FPNP -hardness of the A-preferred MCS problem and therefore bounds and upper bounds for MaxSAT’, in Learning and Intelligent showed, that both problems are equally hard to solve and reducible Optimization – 6th International Conference, LION 6, Paris, France, to each other. January 16-20, 2012, Revised Selected Papers, eds., Youssef Hamadi Both optimization approaches (A-preferred MCS and and Marc Schoenauer, volume 7219 of Lecture Notes in Computer Sci- ence, pp. 402–407. Springer Berlin Heidelberg, (2012). M IN UNSAT) complement each other. For use cases which [9] Ulrich Junker, ‘QUICKXPLAIN: Preferred explanations and relax- can be expressed as an A-preferred MCS problem one should use ations for over-constrained problems’, in Proceedings of the 19th Na- I NV QX as solving engine. For the other use cases, one should use tional Conference on Artificial Intelligence, pp. 167–172. AAAI Press M IN UNSAT. / The MIT Press, (2004). [10] Mark W. Krentel, ‘The complexity of optimization problems’, Journal For instances where M IN UNSAT is not able to find the solution of Computer and System Sciences, 36(3), 490–509, (June 1988). in within a reasonable time or where fast responses are needed, we [11] Wolfgang Küchlin and Carsten Sinz, ‘Proving consistency assertions can fall back to I NV QX if an approximated answer is reasonable for for automotive product data management’, Journal of Automated Rea- the considered use case. soning, 24(1–2), 145–163, (2000). We evaluated the performance of both problems with benchmarks [12] Adrian Kügel, ‘Improved exact solver for the weighted MAX-SAT problem’, in POS-10. Pragmatics of SAT, ed., Daniel Le Berre, vol- based on real automotive configuration data. We assumed a uniform ume 8 of EasyChair Proceedings in Computing, pp. 15–27. EasyChair, distribution of the soft formulas to simulate the interaction of the (2012). user. These benchmarks can be improved by choosing a more realis- [13] Chu Min Li and Felip Manyà, ‘MaxSAT, hard and soft constraints’, in tic distribution of the soft formulas. Handbook of Satisfiability, eds., Armin Biere, Marijn Heule, Hans van Maaren, and Toby Walsh, volume 185 of Frontiers in Artificial Intelli- For an exhaustive evaluation of both problems, we need to con- gence and Applications, chapter 19, 613–631, IOS Press, (2009). sider more complex benchmark data, e.g. unsatisfiable instances of [14] João Marques-Silva, Federico Heras, Mikoláš Janota, Alessandro the SAT4 or MaxSAT5 competitions. Also, we need to evaluate all Previti, and Anton Belov, ‘On computing minimal correction subsets.’, solvers based on the same SAT solving engine, i.e. M INI SAT [3], in in IJCAI, ed., Francesca Rossi, pp. 615–622. IJCAI/AAAI, (2013). order to build up an uniform environment. [15] João Marques-Silva and Jordi Planes, ‘Algorithms for maximum satis- fiability using unsatisfiable cores’, in Proceedings of the Conference on Another interesting evaluation could be the reduction of the Design, Automation and Test in Europe, DATE ’08, pp. 408–413. IEEE, M IN UNSAT problem to an A-preferred MCS problem by using an (2008). adder-network encoding as described in Subsection 7.2. With such an [16] João Marques-Silva and Alessandro Previti, ‘On computing preferred encoding, we could use every A-preferred MCS solver, like I NV QX, MUSes and MCSes’, in Theory and Applications of Satisfiability Test- ing – SAT 2014, eds., Carsten Sinz and Uwe Egly, volume 8561 of to solve M IN UNSAT problem instances. Lecture Notes in Computer Science, pp. 58–74. Springer International I NV QX and M IN UNSAT in their original form compute only a Publishing, (July 2014). single diagnosis. Both approaches can be extended to compute a set [17] Carlos Mencı́a and João Marques-Silva, ‘Efficient relaxations of over- of all diagnoses. We plan to investigate the relationship of these ex- constrained CSPs’, in 2014 IEEE 26th International Conference on tensions and to evaluate them, too. Tools with Artificial Intelligence, pp. 725–732. IEEE, (2014). [18] António Morgado, Federico Heras, Mark H. Liffiton, Jordi Planes, and João Marques-Silva, ‘Iterative and core-guided MaxSAT solving: A survey and assessment.’, Constraints, 18(4), 478–534, (2013). REFERENCES [19] Christos M. Papadimitriou, Computational complexity, Addison- Wesley, Reading, Massachusetts, 1994. [1] Carlos Ansótegui, Maria Luisa Bonet, and Jordi Levy, ‘Solving [20] David A. Plaisted and Steven Greenbaum, ‘A structure-preserving (weighted) partial MaxSAT through satisfiability testing’, in Theory clause form translation’, Journal of Symbolic Computation, 2(3), 293– and Applications of Satisfiability Testing - SAT 2009, ed., Oliver Kull- 304, (September 1986). mann, volume 5584 of Lecture Notes in Computer Science, 427–440, [21] Grigorii S. Tseitin, ‘On the complexity of derivations in the proposi- Springer Berlin Heidelberg, (2009). tional calculus’, Studies in Constructive Mathematics and Mathemati- [2] Josep Argelich and Felip Manyà, ‘Exact Max-SAT solvers for over- cal Logic, Part II, 115–125, (1968). constrained problems.’, Journal of Heuristics, 12(4–5), 375–392, [22] Rouven Walter and Wolfgang Küchlin, ‘ReMax – a MaxSAT aided (September 2006). product configurator’, in Proceedings of the 16th International Configu- [3] Niklas Eén and Niklas Sörensson, ‘An extensible SAT-solver’, in The- ration Workshop, eds., Alexander Felfernig, Cipriano Forza, and Albert ory and Applications of Satisfiability Testing—SAT 2003, eds., Enrico Haag, pp. 59–66, Novi Sad, Serbia, (September 2014). Giunchiglia and Armando Tacchella, volume 2919 of Lecture Notes in [23] Rouven Walter, Christoph Zengler, and Wolfgang Küchlin, ‘Applica- Computer Science, 502–518, Springer Berlin Heidelberg, (2004). tions of MaxSAT in automotive configuration’, in Proceedings of the 3 www.maxsat.udl.cat/13/requirements/index.html 15th International Configuration Workshop, eds., Michel Aldanondo 4 http://www.satcompetition.org/ and Andreas Falkner, pp. 21–28, Vienna, Austria, (August 2013). 5 www.maxsat.udl.cat Juha Tiihonen, Andreas Falkner and Tomas Axling, Editors 104 Proceedings of the 17th International Configuration Workshop September 10-11, 2015, Vienna, Austria