=Paper=
{{Paper
|id=Vol-2396/paper20
|storemode=property
|title=Empowering ASPQ to Win in QBFEval 2018
|pdfUrl=https://ceur-ws.org/Vol-2396/paper20.pdf
|volume=Vol-2396
|authors=Bernardo Cuteri,Carmine Dodaro,Francesco Ricca
|dblpUrl=https://dblp.org/rec/conf/cilc/CuteriDR19
}}
==Empowering ASPQ to Win in QBFEval 2018==
Empowering ASPQ to Win in QBFEval 2018 Bernardo Cuteri1 , Carmine Dodaro2 , and Francesco Ricca1 1 University of Calabria, Italy - lastname@mat.unical.it 2 University of Genoa, Italy - dodaro@dibris.unige.it Abstract. Answer Set Programming (ASP) is an established logic-based pro- gramming paradigm which has been successfully applied for solving complex problems since it features efficient implementations. In previous work we showed how to obtain ASPQ, a fairly effective 2QBF solver, by just resorting to state of the art ASP solvers. In this work we describe how we have optimized it to ex- ploit some unexpressed potential of its solving strategy. The resulting empowered solver won the Hard Instances Track in the 2018 QBFEval. Keywords: Answer Set Programming · Quantified Boolean Formulas · Hard In- stances 1 Introduction Answer Set Programming (ASP) [23] is a declarative programming paradigm that has been developed in the field of logic programming and nonmonotonic reasoning. The idea of ASP is to represent a given computational problem by means of a logic program whose stable models [36] (or answer sets) correspond to the desired solutions, and then to use an ASP solver to actually compute the stable models. Indeed, a robust solving technology has been developed [40, 2, 24, 31–35, 9, 10, 17–19, 43, 42, 38, 37], and use- ful extensions of the ASP semantics have been introduced [3, 14, 15, 6, 11]. As a matter of fact, ASP has been used in numerous scientific applications ranging from Artificial Intelligence [20, 29, 12, 1, 8]; Bioinformatics [25]; Databases [22, 41]; and Game The- ory [16, 7]. Moreover, ASP is attracting increasing interest also beyond the scientific community, and counts already some successful application in industrial products [26, 27, 39]. ASP has become a popular choice for solving complex problems since it com- bines an expressive language with efficient implementations. Indeed, the results of the latest ASP Competition series [24] witness the continuous improvements achieved in the field of ASP solving. The core language of ASP, which features disjunction in rule heads and nonmono- tonic negation in rule bodies, can be used to solve all problems at the second level of the polynomial hierarchy. Given the large progress measured in the last few years in ASP solving, it is natural to ask whether this solving technology can applied profitably also for solving 2QBFs, the canonical problem for the second level of the polynomial hierarchy. Actually, we implemented a quite effective ASP-based 2QBF solver called ASPQ [13]. We obtained it reusing for a pragmatic goal a well-known theoretical result by Eiter and Gottlob. Indeed, to prove that answer set existence for a disjunctive logic programs is hard for the second level fo the polynomial hierarchy Eiter and Gottlob provided a reduction from 2QBF in [28]. In ASPQ this transformation is implemented efficiently to actually solve an instance of 2QBF Φ by obtaining the corresponding ASP program T eg (Φ) and then solving it with an ASP solver. Actually, ASPQ first calls CLASP , and if after a time threshould a solution cannot be found, it calls WASP . This is to exploit a somehow non overlapping behavior of the two solvers, that are based on different answer set checking techniques. ASPQ demonstrated to be a valid solver since the first participation in QBFEval [44]. Indeed, ASPQ entered as non-competitive par- ticipant the 2016 QBF Evaluation and obtained a fairly acceptable result in the 2QBF track, obtaining (virtually) the fifth place, thus performing better than various native QBF solvers. In 2017, we just updated the binaries of the ASP solvers to the last ver- sion, and fixed a bug of the script that did not allow in 2016 to exploit the entire time limits (the solver self-killed itself at 600 seconds), and ASPQ reached the fourth place at the 2QBF track. In this paper we describe how we have optimized it to better exploit the two state of the art ASP solvers used as internal engines. The resulting empowered version reached the fourth place in the 2QBF Track and won the Hard Instances Track in the 2018 QBFEval. The paper is structured as follows: In section 2 we overview quantified boolean formulas; in Section 3 we recall the ASP language; in Section 4 we describe the Eiter and Gottlob transformation; in Section 5 we describe the main algorithm of our solver; in Section 6 we comment on the performance of ASPQ at the 2018 QBFEval; we draw the conclusion in Section 7. 2 Quantified Boolean Formulas In this section, we introduce the logic of Quantified Boolean Formulas (QBFs), where variables can be existentially or universally quantified. Hence, QBF extends proposi- tional logic, where all variables are existentially quantified, and the satisfiability prob- lem comes from NP-complete to PSPACE-complete [45]. We start to introduce syntax and semantics of QBFs. 2.1 Syntax A variable x is an element of a set Γ of propositional letters and a literal l is a variable (e.g., x) or the negation of a variable (e.g., ¬x). We denote by |l| the variable occurring in the literal l, and by ¬l the complement of l , i.e., ¬l = x, if l = ¬x, and ¬l = ¬x, if l = x. Given a natural number k > 0, a k-clause is a disjunction of k literals, and a propositional formula of arity k is a conjunction of k-clauses. A quantified Boolean formula Φ is an expression of the form Q1 x1 . . . Qn xn F (1) where, for each i = 1, . . . , n, xi is a variable, Qi is either an existential quantifier, that is Qi = ∃ or a universal quantifier, that is Qi = ∀, and F is a propositional formula in the variables x1 , ..., xn , called the matrix of Φ. We say that l is an existential literal, if |l| = xi and Qi = ∃, for some i = 1, . . . , n, otherwise we say that l is a universal literal. Finally, whenever there is 1 ≤ k ≤ n such that, Q1 = . . . = Qk = ∃, and Qk+1 = . . . = Qn = ∀, we say that Φ is a 2QBF formula. 2.2 Semantics First, given a literal l and a QBF formula of the form Φ = QxΨ , where Ψ is a QBF for- mula, we denote by Φl the QBF formula obtained from Ψ by removing all the conjuncts in which l occurs, and removing ¬l from the others. Moreover, we say that a clause is contradictory, whenever it does not contain existential literals. Let Φ be a QBF formula of the form (1). We define the semantics of a QBF formula recursively as follows. If F contains a contradictory clause, then Φ is false; if F has no conjuncts, then Φ is true; if Φ = ∃xΨ , and Φx or Φ¬x are true, then Φ is true; if Φ = ∀xΨ , and Φx and Φ¬x are true, then Φ is true. The QBF satisfiability problem (QSAT) is to decide whether a given QBF formula is true or false. Example 1. Consider the 2QBF formula Φ = ∃x∀yF, where F = (x ∨ y) ∧ (¬x ∨ ¬y). Therefore, Φx = ∀y(¬y) and Φ¬x = ∀y(y). Then, from Φx , we obtain (Φx )y = () and (Φx )¬y = 0; / and from Φ¬x , we obtain (Φ¬x )y = 0/ and (Φ¬x )¬y = (). Hence, since (Φx )¬y is false and (Φx )¬y is true, thus Φx is false; and since (Φ¬x )y is true and (Φ¬x )¬y is false, thus Φ¬x is also false. Therefore, we can conclude that Φ is false. Example 2. Consider the 2QBF formula Φ = ∃x∀yF, where F = (x ∨ y) ∧ (x ∨ ¬y). Therefore, Φx = ∀y0/ and Φ¬x = ∀y(y) ∧ (¬y). Then, in particular, Φx is true. Therefore, we can already conclude that Φ is true. 3 Answer Set Programming Answer Set Programming (ASP) [23] is a programming paradigm developed in the field of nonmonotonic reasoning and logic programming. In this section we overview the syntax and the semantics of ASP. 3.1 Syntax Following the traditional grounding view [36], we concentrate on programs over a propositional signature Λ . A disjunctive rule r is of the form a1 ∨ ... ∨ al ← b1 , ..., bm , not bm+1 , ..., not bn , (2) where all ai and b j are atoms (from Λ ) and l ≥ 0, n ≥ m ≥ 0 and l +n > 0; not represents negation-as-failure, also known as default negation. The set H(r) = {a1 , ..., al } is the head of r, while B+ (r) = {b1 , ..., bm } and B− (r) = {bm+1 , . . . , bn } are the positive body and the negative body of r, respectively; the body of r is B(r) = B+ (r) ∪ B− (r). We denote by At(r) = H(r) ∪ B(r) the set of all atoms occurring in r. A rule r is a fact, if B(r) = 0/ (we then omit ←); a constraint, if H(r) = 0; / normal, if |H(r)| ≤ 1; and pos- itive, if B− (r) = 0. / A (disjunctive logic) program P is a finite set of disjunctive rules. P is called normal [resp. positive] if each r ∈ P is normal [resp. positive]. Finally, we S denote by At(P) = r∈P At(r) the set of all atoms occurring in the program P. 3.2 Semantics Any set I ⊆ Λ is called interpretation. An interpretation I is a model of a program P (denoted by I |= P) if, and only if, for each rule r ∈ P, I ∩ H(r) 6= 0/ if B+ (r) ⊆ I and B− (r) ∩ I = 0/ (denoted by I |= r). A model M of P is minimal if, and only if, no model M 0 ⊂ M of P exists. We denote by MM(P) the set of all minimal models of P. Given an interpretation I, we denote by PI the so-called Gelfond-Lifschitz reduct [36] of P with respect to I, that is the set of rules a1 ∨ ... ∨ al ← b1 , ..., bm , obtained from rules r ∈ P of form (2), such that B− (r) ∩ I = 0./ An interpretation I is called answer set (or stable model) of P, whenever I ∈ MM(PI ). Finally, we denote by AS(P) the set of all answer sets of P. A program P such that AS(P) 6= 0/ is called coherent, otherwise it is called incoherent. Example 3. Consider the disjunctive logic program P = {a ← c, not b; b ∨ c ← not d}. Therefore, the set of all minimal model of P is given by MM(P) = {{d}, {b}, {a, c}}. Instead, the set of all answer sets is AS(P) = {{b}, {a, c}}. Hence, P is a coherent logic program. Note that I = {d} is not an answer set of P, since I is not a minimal model of PI = {a ← c}. Example 4. Consider the logic program a ← d, not b; d ← not e; PΦ = . b ← not c; c ← not a Therefore, the set of all minimal model of P is given by MM(P) = {{a, c, d}, {a, b, d}, {a, b, e}, {b, c, d}, {c, e}}. However, {a, b, e} and {c, e} are not answer sets of P, as the rule d ← not e is deleted in the reduct, and e can not belong to a minimal model of the reduct. Moreover, P{a,c,d} = {a; d}; P{a,b,d} = {b; d}; and P{b,c,d} = {c; d}. Therefore, also {a, c, d}, {a, b, d}, and {b, c, d} are not answer sets of P. Thus, P is an incoherent logic program. 4 Encoding 2QBF in ASP In this section, we introduce the translation from 2QBFs to logic programs proposed by Eiter and Gottlob [28] to prove the Σ2P -hardness of checking whether a disjunctive logic program has some answer set. To describe the translation, let Φ = ∃X∀Y F be a quantified boolean formula, where we may assume that X = {x1 , . . . , xe }, Y = {y1 , . . . , ya } and F = D1 ∨ . . . ∨ Dm , such that Di = Li,1 ∧ . . . ∧ Li,a+e and Li, j are literals over X ∪ Y . For every atom z ∈ X ∪ Y , we introduce a fresh atom z0 , and we set σ (z) = z and σ (¬z) = z0 . Finally, we introduce one more fresh atom, say w, and define a disjunctive logic program PΦ consisting of the following rules: z ∨ z0 ∀ z ∈ X ∪Y y ← w and y0 ← w ∀ y∈Y w ← σ (Li,1 ), . . . , σ (Li,a+e ) ∀ i = 1, . . . , m w ← not w Eiter and Gottlob in [28] proved the following result. Theorem 1. Let Φ be a 2QBF formula. Then, Φ is true if, and only if, PΦ is coherent. We enlighten the translation described above through two examples. Example 5. Consider the 2QBF formula Φ = ∃x∀y∀z((x ∧ y) ∨ (x ∧ ¬y ∧ ¬z) ∨ (¬y ∧ z)). Therefore, the corresponding logic program is x ∨ x0 ; y ∨ y0 ; z ∨ z0 ; y0 ← w; y ← w; z ← w; 0 z ← w; PΦ = w ← x, y; w ← x, y0 , z0 ; w ← y0 , z; w ← not w Hence, PΦ has as unique answer set {x, y, y0 , z, z0 , w}, corresponding to set x to true in Φ. So that, according to Theorem 1, Φ is true. Example 6. Consider the 2QBF formula Φ = ∃x∃y∀z((x ∧ ¬z) ∨ (¬x ∧ y ∧ ¬z)). Therefore, the corresponding logic program is x ∨ x0 ; y ∨ y0 ; z ∨ z0 ; z0 ← w; z ← w; PΦ = 0 0 0 w ← x, z ; w ← x , y, z ; w ← not w Hence, PΦ is incoherent. Indeed, there are only two choices to infer w, {x, z0 } and {x0 , y, z0 }. Therefore, an interpretation candidate must contain one of the two sets. In both cases, it cannot be an answer set. Indeed, we have three candidate models: I1 = {x, y, z, z0 , w}; I2 = {x, y0 , z, z0 , w}; and I3 = {x0 , y, z, z0 , w}. However, none can be an an- swer set. Indeed, {x, y, z} is a minimal model of PI1 ; {x, y0 , z} is a minimal model of PI2 ; and {x0 , y, z} is a minimal model of PI3 . In conclusion, according to Theorem 1, Φ is false. 5 The ASPQ 2QBF Solver We first present the ASPQ main algorithm, and then introduce a result that allowed us to optimize ASPQ performance. Algorithm 1: ASPQ-main Input : A 2-QBF formula Φ Output: SAT or UNSAT 1 begin 2 Tbloqqer := 120s; Tclasp := 60s // QBFEval settings; 3 Φ := BLOQQER (Tbloqqer , Φ); 4 if Φ = > then return SAT; // solved by bloqqer 5 if Φ = ⊥ then return UNSAT; // solved by bloqqer 6 Π := QDimacs2ASP(Φ); // encode the logic program 7 res := CLASP (Tclasp , Π ); // run clasp for Tclasp seconds 8 if res = UNKNOWN then res := WASP (Π ); // run wasp if unsolved 9 if res = COHERENT then return UNSAT; 10 if res = INCOHERENT then return SAT; 11 return UNKNOWN; 5.1 Main Algorithm The main algorithm implemented in ASPQ is reported as Algorithm 1. The input for- mula Φ is first simplified by the preprocessor BLOQQER [21], which replaces Φ by a (usually) smaller equisatisfiable formula. The simplification process can take significant time in case of huge formulas. Hence, tool is allowed to run for at most Tbloqqer seconds. Φ is not modified if BLOQQER exceeds the allotted time. Note that BLOQQER might be able to simplify the formula up to solving it. In that case, it (conventionally) returns a tautology for SAT formulas or a contradiction for UNSAT. This case is exploited to ter- minate immediately the computation and return the result. Otherwise, Φ is encoded as a propositional ASP program Π as detailed in Section 4. The program Π is subsequently provided as input of the ASP solver CLASP [30], which is executed for Tclasp seconds. If CLASP is not able to find an answer set within the allotted time, then WASP [5] is executed without time limits. The reason for using two solvers is to find in the observa- tion that CLASP and WASP employ different strategies for solving disjunctive programs (see [4, 30] for details), which may solve different sets of instances. The system varies its performance for different selections of Tbloqqer , Tclasp , and Twasp , in the following we describe a strategy to optimize this choice. 5.2 Optimizing the evaluation We now abstract the ASPQ algorithm considering a setting in which more than two solvers have to be run in sequence, to draw a result that holds also in a more general setting. Let {S1 , . . . , Sn } be a set of n solvers, {inst1 , . . . , instm } a set of m instances, T j the j maximal execution time given to the solver S j , and tinst k the execution time to solve the instance instk by solver S j . Given a topological ordering S = (S1 , . . . , Sn ) to run the solvers in series, we denote by m j the number of solved instances by solver S j with respect to the topological or- dering S, i.e., the number of instances solved by S j and not by Si , for each i < j. Let {inst1j , . . . , instmj j } be the set of instances solved by solver S j with respect to S. Note that S can be seen as a new solver. Assume that T = T1 +. . .+Tn is the maximal execution time given to the solver S. Hence, the total number of solved instances by S is given by M = m1 + . . . + mn . We denote by TS the total execution time to solve the M instances by S. Hence, the following result holds. Theorem 2. Let (S1 , . . . , Sn ) be a topological ordering to run the solvers in series. Then, ! n mk n n k TS = ∑ ∑ tinst k + ∑ T j−1 ∑ mi . h k=1 h=1 j=2 i= j Proof. We give a constructive proof. Clearly, to solve instances in {inst11 , . . . , inst1m1 }, 1 1 the solver S spends the same time of the solver S1 . Hence, tinst 1 + . . . + tinst1 . Then, to 1 m1 solve instances in {inst21 , . . . , inst2m2 }, the solver S spends the time of the solver S2 to which is added the maximal execution time given to the solver S1 , that is T1 . Hence, 2 ) + . . . + (T + t 2 (T1 + tinst 2 ) = T1 m2 + (tinst 2 2 1 inst2 2 + . . . + tinst2 ). At the end, to solve 1 m2 1 m2 instances in {instn1 , . . . , instnmn }, the solver S spends the time of the solver Sn to which is added the maximal execution time given to the solvers S1 , S2 , ..., Sn−1 , that is T1 + . . . + Tn−1 . Hence, (T1 + . . . + Tn−1 +tinstn ) + . . . + (T + . . . + T n n 1 n−1 +tinstnm ) = (T1 + . . . + 1 n n Tn−1 )mn + (tinst n n + . . . + tinstn ). 1 mn We have applied the result stated in Theorem 2 to optimize the performance of ASPQ . In particular, we have selected the time thresholds to minimize TS on a pre- liminary experiment, and then used the result to configure the solver. The details are provided in the next section. 6 Implementation and Performance Assessment In this section we describe the implementation of ASPQ and then we narrate the his- tory of optimization of our system. Finally we comment on the official results of the 2QBFEvaluation where ASPQ performed well in the 2QBF Track and won the Hard Instances Track. 6.1 Implementation ASPQ was implemented as a bash script that calls its four main modules implemented in separate commands, namely: Bloqqer, QDimacs2ASP, WASP and CLASP. The bash script follows faithfully Algorithm 1. Bloqqer, WASP and CLASP are called as external processes, and were obtained by downloading and compiling the sources from the re- spective websites. The QDimacs2ASP component is a genuine Java implementation of the Eiter-Gottlob transformation presented in Section 4 that takes as input an instance of 2QBF in the standard QDIMACS format used in QBFEvaluations, and outputs a grouns ASP program in lparse format. Time measurement are implemented resorting Solver Solved Instances depqbfvariants-QxQBH 266 CADET 263 predyndep 261 ASPQ v.3 258 CAQE-hqspre 253 ghostq-cegar 253 CAQE-bloqqer-qdo 249 CAQE-bloqqer 246 ASPQ v.2 240 PortfolioDepQBFGhostQRaReQSQute 240 RAReQS 239 Qute-random 231 Qute-opt500 230 Qute-default 229 CUED2 227 CUED3 227 heretiq-simple 208 heretiq-cube 206 ghostq-plain 176 ijtihad 161 iProver-HQSpre-Bloqqer 148 depqbfvariants-qdo 73 Table 1. QBFEval 2018 Official Results of the 2QBF Track. to the standard time command, that interrupts the execution of a subprocess if the com- putation exceeds the maximum allotted time. The intermediate results, produced by Bloqqer and QDimacs2ASP are stored in temporary files, that are destroyed once the system ends the computation. Tbloqqer , Tclasp , and Twasp can be specified by modifying the three corresponding variables declared in the main bash script. The resulting imple- mentation can be easily updated with newer versions of the internal components, and one can easily modify the maximum time thresholds by just editing the script with a text editor. 6.2 Optimizing ASPQ ASPQ entered the 2016 QBFEval in the 2QBF track as non competing system (it was submitted two days after the official solver submission deadline). We set Tbloqqer = 60s, so that preprocessing never occupies more than 10% of the allotted time (the timeout was set by the organizers to 600s); and we set Tclasp = 120s. This choice is motivated by the results of a preliminary experiment on the QBF instances used in ASP competitions, where CLASP solved the majority of instances within this time. After this experience, for QBFEval 2017 the timeout was increased to 900 seconds by the organizers, and we have updated the executables (with newer versions of Bloqqer, CLASP and WASP) and Fig. 1. A snaphot of the official results of the Hard Instances Track. submitted the system with Tbloqqer = 125s resulting in ASPQ v.2. The new setting was suggested by observing that Bloqqer processing is always beneficial for our system, and it terminates almost always in less than 125s in the QBFEval instances selected in 2016. An ugly bug limiting the execution to (the old timeout of) 600s influenced ASPQ v.2 performance in 2017. Thus, in 2018 we have fixed the bug and submitted both a fixed version of ASPQ (v.2) and a new one where we have optimized the thresholds by running once a python procedure that optimizes TS of Theorem 2. We used as base the results obtained running each single component solver paired with Bloqqer, configured with different heuristics and choices of partial checks configurations (for the details on these parameters see [30, 5]), when run on the instances of QBFEval 2016 and 2017. The resulting optimized version uses Tbloqqer = 125s, Tclasp = 850s, where CLASP uses its default parameters, and WASP was configured with the --forward-partialchecks option. 6.3 Results in 2018 QBF Evaluation ASPQ entered both the 2QBF track and the Hard Instances Track of QBFEval 2018. 2QBF Track. The results in the 2QBF track are summarized in Table 1, reporting the list of participants ordered by the number of solved instances (reported in a sep- arate column). This elaboration has been done on the official results published in the QBFEval 2018 website. The optimized ASPQ v.3 reached the fourth place in the com- petition, solving only three, five and eight instances less than predyndep, CADET, and depqbfvariants-QxQBH occupying the first three places, respectively. The unoptimized (but fixed) ASPQ v.2 solved 18 instances less than ASPQ v.3 occupying the 9th place. All in all the optimization criterion presented in this paper allowed to improve significantly our solver, and the resulting performance is basically aligned with the best options. It is worth noting that, all the other systems are based on native methods for solving QBF, whereas our implementation resorts to a translation, nonetheless it results to be very competitive. Hard Instances Track. The results in the Hard Instances track are summarized in Fig- ure 1, reporting a snapshot of the official slides presented at SAT 2018. Despite being able to solve only 2QBF instances (the track included also instances with more than two quantifiers) ASPQ v.3 could solve the majority of instances, more than twice as much as the solver in second position. Recall that, the Hard instances Track contained selected instances that no QBF solver could solve in previous edition from the CNF Track. This is an unexpected but impressive result that confirms the effectiveness of the optimized implementation of ASPQ and the efficiency of the ASP solvers employed by our system. 7 Conclusion Answer Set Programming is an established logic-based programming paradigm that can be used to solve complex problems. ASP solving technology has steadily improved in the last few years, as demonstrated by ASP Competitions. Since the introduction of the first version of ASPQ, it was clear that ASP solving technology can be used fruitfully to solve 2QBF instances [13]. Indeed, ASPQ obtained fairly acceptable result in the 2QBF track in 2016 and 2017 editions of QBFEval [44]. The solver demonstrates that it is reasonable to exploit the capabilities of state of the art ASP solvers for solving 2QBF instances. Nonetheless, the first versions of ASPQ did not exploit completely the potential maximum performance of its architecture. In this paper, we describe how we have optimized ASPQ by tuning two main parameters of the algorithm. The resulting empowered solver significantly outperformed previous version and also won the Hard Instances Track in the 2018 QBFEval. As far as future work is concerned, we are considering to tune our system by ex- ploring the usage of the many different heuristics implemented by ASP solvers. References 1. Adrian, W.T., Manna, M., Leone, N., Amendola, G., Adrian, M.: Entity set expansion from the web via ASP. In: ICLP-TC. OASICS, vol. 58, pp. 1:1–1:5 (2017) 2. Alviano, M., Amendola, G., Dodaro, C., Leone, N., Maratea, M., Ricca, F.: Evaluation of dis- junctive programs in WASP. In: LPNMR. LNCS, vol. 11481, pp. 241–255. Springer (2019) 3. Alviano, M., Amendola, G., Peñaloza, R.: Minimal undefinedness for fuzzy answer sets. In: AAAI 2017. pp. 3694–3700 (2017) 4. Alviano, M., Dodaro, C., Faber, W., Leone, N., Ricca, F.: WASP: A native ASP solver based on constraint learning. In: LPNMR. LNCS, vol. 8148, pp. 54–66. Springer (2013) 5. Alviano, M., Dodaro, C., Leone, N., Ricca, F.: Advances in WASP. In: LPNMR. LNCS, vol. 9345, pp. 40–54. Springer (2015) 6. Amendola, G.: Dealing with incoherence in ASP: split semi-equilibrium semantics. In: DWAI@AI*IA. CEUR Workshop Proceedings, vol. 1334, pp. 23–32. CEUR-WS.org (2014) 7. Amendola, G.: Preliminary results on modeling interdependent scheduling games via answer set programming. In: RiCeRcA@AI*IA. CEUR Workshop Proceedings, vol. 2272 (2018) 8. Amendola, G.: Solving the stable roommates problem using incoherent answer set programs. In: RiCeRcA@AI*IA. CEUR Workshop Proceedings, vol. 2272 (2018) 9. Amendola, G., Dodaro, C., Faber, W., Leone, N., Ricca, F.: On the computation of paraco- herent answer sets. In: AAAI’17. pp. 1034–1040 (2017) 10. Amendola, G., Dodaro, C., Faber, W., Pulina, L., Ricca, F.: Algorithm selection for paraco- herent answer set computation. In: JELIA. LNCS, vol. 11468, pp. 479–489. Springer (2019) 11. Amendola, G., Dodaro, C., Faber, W., Ricca, F.: Externally supported models for efficient computation of paracoherent answer sets. In: AAAI. pp. 1720–1727. AAAI Press (2018) 12. Amendola, G., Dodaro, C., Leone, N., Ricca, F.: On the application of answer set program- ming to the conference paper assignment problem. In: AI*IA. LNCS, vol. 10037, pp. 164– 178. Springer (2016) 13. Amendola, G., Dodaro, C., Ricca, F.: ASPQ: an asp-based 2qbf solver. In: QBF@SAT. CEUR Workshop Proceedings, vol. 1719, pp. 49–54 (2016) 14. Amendola, G., Eiter, T., Fink, M., Leone, N., Moura, J.: Semi-equilibrium models for para- coherent answer set programs. Artif. Intell. 234, 219–271 (2016) 15. Amendola, G., Eiter, T., Leone, N.: Modular paracoherent answer sets. In: JELIA’14. pp. 457–471 (2014) 16. Amendola, G., Greco, G., Leone, N., Veltri, P.: Modeling and reasoning about NTU games via answer set programming. In: IJCAI. pp. 38–45 (2016) 17. Amendola, G., Ricca, F., Truszczynski, M.: Generating hard random boolean formulas and disjunctive logic programs. In: IJCAI. pp. 532–538. ijcai.org (2017) 18. Amendola, G., Ricca, F., Truszczynski, M.: A generator of hard 2qbf formulas and asp pro- grams. In: KR. AAAI Press (2018) 19. Amendola, G., Ricca, F., Truszczynski, M.: Random models of very hard 2qbf and disjunc- tive programs: An overview. In: ICTCS. CEUR Workshop Proceedings (2018) 20. Balduccini, M., Gelfond, M., Watson, R., Nogueira, M.: The USA-Advisor: A Case Study in Answer Set Planning. In: LPNMR. LNCS, vol. 2173, pp. 439–442. Springer (2001) 21. Biere, A., Lonsing, F., Seidl, M.: Blocked clause elimination for QBF. In: CADE. LNCS, vol. 6803, pp. 101–115. Springer (2011) 22. Bravo, L., Bertossi, L.E.: Logic programs for consistently querying data integration systems. In: IJCAI. pp. 10–15 (2003) 23. Brewka, G., Eiter, T., Truszczynski, M.: Answer set programming at a glance. Commun. ACM 54(12), 92–103 (2011) 24. Calimeri, F., Gebser, M., Maratea, M., Ricca, F.: Design and results of the Fifth Answer Set Programming Competition. Artif. Intell. 231, 151–181 (2016) 25. Campeotto, F., Dovier, A., Pontelli, E.: A declarative concurrent system for protein structure prediction on GPU. J. Exp. Theor. Artif. Intell. 27(5), 503–541 (2015) 26. Dodaro, C., Gasteiger, P., Leone, N., Musitsch, B., Ricca, F., Shchekotykhin, K.: Combin- ing Answer Set Programming and domain heuristics for solving hard industrial problems (Application Paper). TPLP 16(5-6), 653–669 (2016) 27. Dodaro, C., Leone, N., Nardi, B., Ricca, F.: Allotment problem in travel industry: A solution based on ASP. In: RR. LNCS, vol. 9209, pp. 77–92. Springer (2015) 28. Eiter, T., Gottlob, G.: On the computational cost of disjunctive logic programming: Proposi- tional case. Ann. Math. Artif. Intell. 15(3-4), 289–323 (1995) 29. Gaggl, S.A., Manthey, N., Ronca, A., Wallner, J.P., Woltran, S.: Improved answer-set pro- gramming encodings for abstract argumentation. TPLP 15(4-5), 434–448 (2015) 30. Gebser, M., Kaminski, R., Kaufmann, B., Romero, J., Schaub, T.: Progress in clasp Series 3. In: LPNMR. LNCS, vol. 9345, pp. 368–383. Springer (2015) 31. Gebser, M., Leone, N., Maratea, M., Perri, S., Ricca, F., Schaub, T.: Evaluation techniques and systems for answer set programming: a survey. In: IJCAI’18. pp. 5450–5456 (2018) 32. Gebser, M., Maratea, M., Ricca, F.: The Design of the Sixth Answer Set Programming Com- petition. In: LPNMR’15. pp. 531–544 (2015) 33. Gebser, M., Maratea, M., Ricca, F.: What’s hot in the answer set programming competition. In: AAAI. pp. 4327–4329. AAAI Press (2016) 34. Gebser, M., Maratea, M., Ricca, F.: The design of the seventh answer set programming competition. In: Balduccini, M., Janhunen, T. (eds.) LPNMR. LNCS, vol. 10377, pp. 3–9. Springer (2017) 35. Gebser, M., Maratea, M., Ricca, F.: The sixth answer set programming competition. Journal of Artif. Intell. Res. 60, 41–95 (2017) 36. Gelfond, M., Lifschitz, V.: Classical Negation in Logic Programs and Disjunctive Databases. New Generation Comput. 9(3/4), 365–386 (1991) 37. Giunchiglia, E., Leone, N., Maratea, M.: On the relation among answer set solvers. Ann. Math. Artif. Intell. 53(1-4), 169–204 (2008) 38. Giunchiglia, E., Maratea, M.: On the Relation Between Answer Set and SAT Procedures (or, Between cmodels and smodels). In: ICLP. LNCS, vol. 3668, pp. 37–51 (2005) 39. Grasso, G., Leone, N., Manna, M., Ricca, F.: ASP at work: Spin-off and applications of the DLV system. In: Logic Programming, Knowledge Representation, and Nonmonotonic Reasoning. LNCS, vol. 6565. Springer (2011) 40. Lierler, Y., Maratea, M., Ricca, F.: Systems, engineering environments, and competitions. AI Magazine 37(3), 45–52 (2016) 41. Manna, M., Ricca, F., Terracina, G.: Taming primary key violations to query large inconsis- tent data via ASP. TPLP 15(4-5), 696–710 (2015) 42. Maratea, M., Pulina, L., Ricca, F.: A multi-engine approach to answer-set programming. TPLP 14(6), 841–868 (2014) 43. Maratea, M., Ricca, F., Faber, W., Leone, N.: Look-back techniques and heuristics in DLV: implementation, evaluation, and comparison to QBF solvers. J. Algorithms 63(1-3), 70–89 (2008) 44. Marin, P., Narizzano, M., Pulina, L., Tacchella, A., Giunchiglia, E.: Twelve years of QBF evaluations: QSAT is pspace-hard and it shows. Fundam. Inform. 149(1-2), 133–158 (2016) 45. Stockmeyer, L.J., Meyer, A.R.: Word problems requiring exponential time: Preliminary re- port. In: STOC. pp. 1–9. ACM (1973)