<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>The Birth of a WASP: ⋆ Preliminary Report on a New ASP Solver</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Carmine Dodaro</string-name>
          <email>carminedodaro@gmail.com</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mario Alviano</string-name>
          <email>alviano@mat.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolfgang Faber</string-name>
          <email>faber@mat.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nicola Leone</string-name>
          <email>leone@mat.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Francesco Ricca</string-name>
          <email>ricca@mat.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Marco Sirianni</string-name>
          <email>sirianni@mat.unical.it</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Dipartimento di Matematica, Universita` della Calabria</institution>
          ,
          <addr-line>87030 Rende</addr-line>
          ,
          <country country="IT">Italy</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>We present a new ASP solver for ground ASP programs that builds upon related techniques, originally introduced for SAT solving, which have been extended to cope with disjunctive logic programs under the stable model semantics. We describe the key components of this solving strategy, namely: learning, restarts, heuristics based on look-back concepts, and backjumping. At the same time, we introduce a new heuristics based on a mixed approach between lookback and look-ahead techniques. Moreover, we present the results of preliminary experiments that we conducted in order to assess the impact of these techniques on both random and structured instances (used also in the last ASP Competition 2011). In particular, we compared our system with both DLV and ClaspD.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        Answer Set Programming (ASP) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] is a declarative programming paradigm which has
been proposed in the area of non-monotonic reasoning and logic programming. The
idea of ASP is to represent a given computational problem by a logic program whose
answer sets correspond to solutions, and then use a solver to find them [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        The ASP language considered here allows disjunction in rule heads and
nonmonotonic negation in rule bodies. These features make ASP very expressive; all problems in
the second level of the polynomial hierarchy are indeed expressible in ASP [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
Therefore, ASP is strictly more expressive than SAT (unless P = N P ). Despite the intrinsic
complexity of the evaluation of ASP, after twenty years of research many efficient ASP
systems have been developed (e.g. [
        <xref ref-type="bibr" rid="ref10 ref11 ref4 ref5 ref6 ref7 ref8 ref9">4–11</xref>
        ]). The availability of robust implementations
made ASP a powerful tool for developing advanced applications in the areas of
Artificial Intelligence, Information Integration, or Knowledge Management; for example,
ASP has been used in applications for team-building [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], semantic-based information
extraction [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], and e-tourism [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. These applications of ASP have confirmed the
viability of the use of ASP. Nonetheless, the interest in developing more effective and faster
systems is still a crucial and challenging research topic, as witnessed by the results of
the ASP Contests series [
        <xref ref-type="bibr" rid="ref15 ref16 ref17">15–17</xref>
        ].
⋆ Partly supported by Regione Calabria and EU under POR Calabria FESR 2007-2013 and
within the PIA project of DLVSYSTEM s.r.l., and by MIUR under the PRIN project LoDeN.
We also thank the anonymous reviewers for their valuable comments.
      </p>
      <p>
        This paper provides a contribution in the aforementioned context. In particular, we
provide a preliminary report on the development of a new ASP solver for propositional
programs called wasp. The new system is inspired by several techniques that were
originally introduced for SAT solving, like the Davis-Putnam-Logemann-Loveland (DPLL)
backtracking search algorithm [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], clause learning [
        <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
        ], backjumping [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ],
restarts [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], and conflict-driven heuristics [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] in the style of Berkmin [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. The
mentioned SAT-solving methods have been adapted and combined with state-of-the-art
pruning techniques adopted by modern native disjunctive ASP systems [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In
particular, the role of Boolean Constraint Propagation in SAT-solvers (based on the simple unit
propagation inference rule) is taken by a procedure combining a set of inference rules.
Those rules combine an extension of the well-founded operator for disjunctive programs
with a number of techniques based on ASP program properties (see, e.g., [
        <xref ref-type="bibr" rid="ref26">26</xref>
        ]).
Moreover, wasp uses a new branching heuristics tailored for ASP programs, which is based
on a mixed approach between Berkmin-like heuristics and look-ahead, which takes into
account minimality of answer sets (a requirement not present in SAT solving). Finally,
stable model checking, which is a co-NP-complete problem for disjunctive logic
programs, is efficiently implemented relying on the rewriting method of [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ], by calling
Minisat [
        <xref ref-type="bibr" rid="ref28">28</xref>
        ] as suggested by [
        <xref ref-type="bibr" rid="ref29">29</xref>
        ].
      </p>
      <p>
        In the following, after briefly introducing ASP, we describe the new system wasp.
We start from the solving strategy and present the design choices regarding propagation,
constraint learning, restarts, and the new heuristics. Moreover, we present the results
of some experiments conducted for assessing the impact of these techniques, on both
random and structured instances; some of these instances had been used in the last
ASP Competition [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ]. In particular, we compared our system with both DLV and
ClaspD. The obtained results are encouraging: the new prototype system is already
competitive with state-of-the-art solvers, even if there is still room for improvements in
both the implementation (e.g., through the optimization and tuning of data structures
and heuristic parameters), and in the supported language features (notably aggregates
and weak constraints).
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Preliminaries</title>
      <p>In this paper we consider propositional programs, so an atom p is a member of a
countable set A. A literal is either an atom p (a positive literal), or an atom preceded by the
negation as failure symbol not (a negative literal). A rule r is of the form
p1 ∨ · · · ∨ pn :- q1, . . . , qj , not qj+1, . . . , not qm
(1)
where p1, . . . , pn, q1, . . . , qm are atoms and n ≥ 0, m ≥ j ≥ 0. The disjunction p1 ∨
· · · ∨ pn is the head of r, while the conjunction q1, . . . , qj , not qj+1, . . . , not qm is
the body of r. Moreover, H(r) denotes the set of head atoms, while B(r) denotes the set
of body literals. We also use B+(r) and B−(r) for denoting the set of atoms appearing
in positive and negative body literals, respectively, and At(r) for the set H(r)∪B+(r)∪
B−(r). A rule r is normal (or disjunction-free) if |H(r)| ≤ 1, positive (or
negationfree) if B−(r) = ∅, a fact if both B(r) = ∅ and |H(r)| = 1, a constraint if |H(r)| = 0.
A program P is a finite set of rules; if all rules in it are positive (resp. normal), then P
is a positive (resp. normal) program.</p>
      <p>Let L denote the complement of a literal L, i.e., a = not a and not a = a for an
atom a. We extend this to sets of literals and will use S for denoting {L | L ∈ S}. An
interpretation I is a subset of A ∪ A. An interpretation I is total if for each a ∈ A either
a ∈ I or not a ∈ I ; otherwise, I is partial. An interpretation I is inconsistent if there
exists a ∈ A such that {a, not a} ⊆ I ; otherwise, I is consistent. An interpretation thus
associates each ASP structure (atom, literal, head or body) with a truth value in the set
{T , F , U }, which extends to H (r) and B(r) in the standard way.</p>
      <p>An interpretation I satisfies a rule r ∈ P if H (r) is true w.r.t. I whenever B(r) is
true w.r.t. I , while I violates r if H (r) is false but B(r) is true. A total interpretation I
is a model of a program P if I satisfies all the rules in P . Given an interpretation I for
a program P , the reduct of P w.r.t. I , denoted by P I , is obtained by deleting from P
all the rules r with B−(r) ∩ I 6= ∅, and then by removing all the negative literals from
the remaining rules. The semantics of a program P is given by the set AS (P ) of the
answer sets (or stable models) of P , where a total interpretation M is an answer set (or
stable model) for P if and only if M is a subset-minimal model of P M .
3</p>
    </sec>
    <sec id="sec-3">
      <title>Model Generator</title>
      <p>In this section we sketch the main model generator function MG (cf. Fig. 1), which
is able to perform learning and restart techniques. MG is similar to the Davis-Putnam
procedure in SAT solvers. For reasons of presentation, we have considerably simplified
the procedure in order to focus on its main ideas. For example, the version described
here computes only one answer set, but modifying it to compute all or n stable models
is straightforward.</p>
      <p>In the sequel, P will refer to the input program. Initially, the MG function is invoked
with I = ∅, and bj level = −1 (but it will become 0 immediately), and the global
variable numberOfConflicts is set to 0. MG returns true if the program P has an answer
set, and sets I to the computed answer set; otherwise it returns false.</p>
      <p>
        MG first calls a function Propagate, which extends I with those literals that can be
deterministically inferred, and keeps track of the reason of each inference by building a
representation of the so-called implication graph [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ]. Propagate is similar to unit
propagation as employed by SAT solvers, but exploits the peculiarities of ASP for making
further inferences (e.g., it uses the knowledge that every answer set is a minimal model).
Propagate, described in more detail in Section 3.1, returns false if an inconsistency (or
conflict) is detected (i.e., the complement of a true literal is inferred to be true), true
otherwise.
      </p>
      <p>
        If Propagate returns true and no undefined atom is left in I , MG invokes CheckModel
to verify that the current total interpretation is also an answer set; the CheckModel
function implements the techniques described in [
        <xref ref-type="bibr" rid="ref27">27</xref>
        ]. If the stability check succeeds, MG
returns true. 1 If Propagate returned true but I is still partial, an undefined literal L is
selected according to a heuristic criterion and MG is recursively called. The atom L
corresponds to a branching variable in SAT solvers.
      </p>
      <sec id="sec-3-1">
        <title>1 This is a co-NP-complete task in case of general disjunctive ASP programs.</title>
        <p>If Propagate returns false, function ResolveConflict is called, which calculates the
Unique Implication Point (UIP) of the implication graph (see Section 3.1), and exploits
it to learn a constraint representing the inconsistency (see Section 3.2), which is added
to the input program. As a by-product, ResolveConflict returns the recursion level to go
back to (backjumping) in order to continue the search in the first branch of the search
that is free of the just-detected conflict.</p>
        <p>
          After a certain number of conflicts, ResolveConflict may decide to restart the entire
search, if the total number of conflicts found during the search reached a certain
threshold. It is important to note that after each restart MG works on a program composed
of the original input program and the learned constraints. Our restart policy is based on
the sequence of thresholds (32, 32, 64, 32, 32, 64, 128, . . . ) introduced in [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ].
        </p>
        <p>If the recursive call returned true, MG just returns true as well. If it returned false,
the corresponding branch is inconsistent, bj level is set to the recursion level to
backtrack or backjump to. Now, if bj level is less than the current level, this indicates a
backjump, and we return. If not, then we have reached the level to go to, and the search
continues.</p>
        <p>bool MG (Interpretation&amp; I, int&amp; bj level )
int curr level = ++ bj level;
if ( ! Propagate( I ) )
bj level = ResolveConflict();
return false;
if ( “no atom is undefined in I” )
if ( CheckModel( I ) ) return true;
else
bj level = ResolveConflict();
return false;
Select an undefined atom A using a heuristic;
if ( MG( I ∪ {A}, bj level ) ) return true;
if (bj level &lt; curr level) return false;
if ( MG( I ∪ {not A}, bj level ) ) return true;
if (bj level &lt; curr level) return false;
return false;
int ResolveConflict()
int level = calculateFirstUIP();
learning();
if(inRestartSequence(numberOfConflict)) return 0;
return level;</p>
        <p>Fig. 1. Computation of answer sets
3.1</p>
        <sec id="sec-3-1-1">
          <title>Propagation</title>
          <p>WASP implements a number of deterministic inference rules for pruning the search
space during the computation of stable models. These inference rules are named
forward inference, Kripke-Kleene negation, contraposition for true heads, contraposition
for false heads and well-founded negation. All of these inference rules are briefly
described in this section.</p>
          <p>During the propagation of deterministic inferences, implication relationships among
atoms are stored in a graph G named Implication Graph. This graph has a node ha, ti
for each atom a and truth value t such that a has been assigned t. Each node of the
graph is associated with a decision level, which is set to the level of the backtracking
tree when t is assigned to a. Moreover, G has a directed arc connecting a node ha, ti
to a node ha′ , t′ i whenever ha, ti is one of the reasons that lead to the derivation of the
truth value t′ for the atom a′ . Note that G will contain at most one node for each atom
of the program, unless a conflict is derived. The way of building G is described below.
Forward Inference. This is essentially modus ponens. When the body of a rule r is
true w.r.t. the current partial interpretation, and all but one of the head atoms of r are
false and the remaining one is undefined, then there is only one way to satisfy r, by
deriving the remaining head atom as true.</p>
          <p>Concerning the Implication Graph G, it is updated as follows. Let r be of the form
(1) and let pi be the undefined atom in H(r). The following elements are added to
G: a node hpi, T i; arcs (hqk, T i, hpi, T i) (k = 1, . . . , j); arcs (hqk, F i, hpi, T i) (k =
j + 1, . . . , m); arcs (hpk, F i, hpi, T i) (k = 1, . . . , n and k 6= i).</p>
          <p>Kripke-Kleene Negation. This derives negative information by using supportedness,
the fact that each atom a which is true in a stable model M must occur in at least one
rule r such that B(r) is true w.r.t. M and a is the only atom in H(r) which is true w.r.t.
M . Hence, atoms with no candidate supporting rules can be derived to be false. So, if
all of the rules r such that a ∈ H(r) are satisfied because of a false body literal or
because of a true head atom different from a, atom a is inferred as false.</p>
          <p>Concerning G, a node ha, F i is introduced. Moreover, for each rule r with a ∈
H(r), let L be the first literal (in chronological order of derivation) that satisfied r. If
L ∈ B+(r), an arc (hL, F i, ha, F i) is added to G; otherwise, if L ∈ H(r), an arc
(hL, T i, ha, F i) is added to G; otherwise, L ∈ B−(r) and thus an arc (hL, T i, ha, F i)
is added to G.</p>
          <p>Contraposition for True Heads. Supportedness is also used by this inference rule:
If an atom a that has been derived as true has only one candidate supporting rule r,
the truth of all literals in B(r) and the falsity of all atoms in H(r) different from a are
inferred.</p>
          <p>Concerning G, the following new nodes and arcs are introduced: hb, T i (for each
b ∈ B+(r)); hb, F i (for each b ∈ B−(r) ∪ H(r) \ {a}); for each new node hb, vi
an arc (ha, T i, hb, vi). Moreover, for each rule r′ such that a ∈ H(r′ ), let L be the
first literal (in chronological order of derivation) that satisfied r′ . If L ∈ B+(r′ ), an
arc (hL, F i, hb, vi) is added to G, otherwise, if L ∈ B−(r′ ) ∪ H(r′ ) \ {a}, an arc
(hL, T i, hb, vi) is added to G; this is done for each new node hb, vi introduced by the
application of the inference rule for r.</p>
          <p>Contraposition for False Heads. This inference rule is essentially modus tollens.
When for a rule r all head atoms are false, the only way to satisfy r is by having a false
body. In case all but one body literals of r are true, falsity of the remaining L is inferred.</p>
          <p>Concerning G, a node ha, vi is added, where a is the atom in L and v = F if L = a
or v = T if L = not a. Moreover, the following arcs are added to G: (hb, F i, ha, vi)
(for each b ∈ H(r) ∪ B−(r) \ {a}; (hb, T i, ha, vi) (for each b ∈ B+(r) \ {a}).
Well-founded Negation. Unfounded sets are sets of unsupported or self-supporting
atoms, that is, atoms that can have supporting rules only if their own truth is assumed.
It is well-known that unfounded sets are disjoint from stable models, which allows for
assuming the falsity of all the atoms that belong to some unfounded set. Hence, after the
propagation process has been carried out, wasp determines the set X of all the atoms
belonging to some unfounded set and derives the falsity of these atoms; if this set is
empty, the rule does not apply.</p>
          <p>In order to model such a lack of external supporting rules, a number of nodes and
arcs is added to G. For each a ∈ X, a node ha, F i is added. Arcs are introduced
according to the following schema: Let C be the set of atoms in X that were previously
derived as true, and let c be a randomly selected atom in C. For each a ∈ X \ C, an arc
(ha, F i, hc, F i) is added to G. Moreover, for each b ∈ C \ {c} and for each rule r such
that b ∈ H(r), let L be the first literal (in chronological order of derivation) that satisfied
r. If L ∈ B+(r), an arc (hL, F i, hc, F i) is added to G; otherwise, if L ∈ H(r), an arc
(hL, T i, hc, F i) is added to G; otherwise, L ∈ B−(r) and thus an arc (hL, T i, hc, F i)
is added to G.
3.2</p>
        </sec>
        <sec id="sec-3-1-2">
          <title>Constraint Learning</title>
          <p>
            Constraint learning means acquiring information that avoids arriving again at a conflict
that was already encountered during the search. Our learning schema is based on the
concept of the first Unique Implication Point (UIP) [
            <xref ref-type="bibr" rid="ref24">24</xref>
            ]. A node n in the Implication
Graph is a UIP for a decision level d iff all paths from the literal chosen at the level d
to a conflict atom pass through n. Intuitively, a UIP is the most concise reason for the
conflict of a certain decision level. We calculate the first UIP only for the decision level
of the conflict. By definition the chosen literal is always a UIP, but since several UIPs
may exist, we calculate the UIP closest to the conflict, the first UIP. After each conflict
at the decision level d, a constraint is learned that contains the first UIP and all atoms
of lower levels that are connected to a node between the first UIP and the conflict.
          </p>
          <p>
            Since the number of learned constraints may become exponential in the size of the
program, we adopt the standard technique of expiring learned constraints. Our policy
is similar to Minisat’s [
            <xref ref-type="bibr" rid="ref28">28</xref>
            ]: Each learned constraint has an activity value, measuring
how much it is involved in conflicts. If a learned constraint has recently been used for
propagation, we do not delete it. If the number of learned constraints is greater than one
third of the input program, then we delete half of the learned constraints. Moreover, we
also delete all learned constraints with an activity value lower than a threshold value.
          </p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Heuristics</title>
      <p>Clearly, a crucial issue in the Model Generator function in Fig. 1 is the selection of a
literal when all inferences have been made and there are still undefined atoms. It is clear
that the correctness of the algorithm reported in Fig. 1 does not depend on the strategy
in which this selection is made, but making a “good” choice is very important for
practical efficiency. However, strategies which perform very well on some domains may
perform very bad for other domains, and of course an optimal strategy seems unlikely
to be found. For this reason, some heuristic must be adopted; the quality of the adopted
heuristic can often only be assessed empirically.</p>
      <p>Heuristics can be classified in two main classes, look-ahead based and look-back
based. Look-ahead heuristics estimate the effects of assigning a specific truth value to a
given undefined atom, for any truth value and for a set of undefined atoms (which might
also be the set of all undefined atoms). Once the effects of all candidate assumptions
have been estimated, a look-ahead heuristic selects the most promising undefined atom
and truth value according to some function. Look-back heuristics, instead, rely on the
information on conflicts derived in the computation so far.</p>
      <p>
        The heuristic implemented in wasp is based on a mixed approach. In fact, a
lookback approach is used for selecting an undefined atom and, in some cases, a look-ahead
step is performed for choosing the truth value for the selected atom. More specifically,
statistics on previously detected conflicts are analyzed and atoms that have caused most
conflicts are preferred. Also the “age” of conflicts is taken into account in the selection
process, and more recent conflicts are given greater importance. This approach has
already been adopted in the context of SAT, for example in the BerkMin solver [
        <xref ref-type="bibr" rid="ref31">31</xref>
        ]. In
this sense, our heuristic could be seen as an extension of the heuristic implemented in
BerkMin to the framework of ASP.
      </p>
      <p>In the remainder of this section, we will provide a few additional details on the
strategy adopted by wasp for selecting undefined atoms and truth values to be assumed
during the computation of stable models.</p>
      <p>A counter cl(L) is associated with each literal L. Initially, all of these counters are
set to zero. When a new constraint is learned, counters for all literals occurring in the
constraint are increased by one. In this way, wasp keeps track of those literals occurring
more frequently in learned constraints. Moreover, counters are also updated during the
computation of the First UIP: If a literal L is traversed in the implication graph, the
associated counter cl(L) is increased by one. In this way, those literals that mainly
caused the derivation of a conflict are identified. Finally, every 100 conflicts, all these
counters are divided by 4 (this is an experimentally determined parameter), which gives
more importance to recently active literals. Our heuristic will first select an atom and
then a truthvalue for this atom. To this end, we will use cv(a) := cl(a) + cl(not a), for
each propositional atom a.</p>
      <p>Learned constraints are stored in chronological order. The atom selection is first
restricted to those undefined atoms that occur in the first (if any) learned constraint r
with undefined body. Among those, the atom with the highest cv(·) value is chosen.
In case of ties, the atom removing the highest number of supporting rules is selected2.
2 An atom removes a supporting rule if it makes the body of r false or the head of r true
If two or more atoms remove the same number of supporting rules, the first processed
atom is chosen. In this way, the chances of achieving a conflict increases, and this
may help the learning process. If no learned constraints with undefined body exist,
the undefined atom with the highest cv(·) value is selected. In case of ties, the first
processed atom is selected. If there are no learned constraints, e.g. in the beginning of
the solving process, the atom occurring in most rules is picked.</p>
      <p>After selecting an atom a according to the strategy described above, wasp chooses
a truth value for a. For this purpose, we only distinguish two cases, namely whether a
learned constraint r with undefined body exists or not. If a learned constraint r with
undefined body exists, additional counters are considered for choosing a truth value for a.
In particular, a counter gcl(L) is associated with each literal L for estimating the global
contribution of L to all of the conflicts derived during the computation. For each literal
L, gcl(L) is initially set to zero and increased whenever cl(L) is increased. The
difference to cl(L) is that gcl(L) is never decreased, that is, gcl(L) is unchanged when cl(L)
is divided by 4. Thus, in this case wasp assumes the truth of a if gcl(a) &gt; gcl(not a);
otherwise, if gcl(a) ≤ gcl(not a), the falsity of a is assumed. It is important to
emphasize that this counter is not used when the atom removing the highest number of
supporting rules was chosen. In fact, in this case the literal removing the highest
number of supporting rules is picked. In the other case, that is, if all learned constraints have
false bodies, a look-ahead step is performed and both a and not a are propagated (i.e.,
the function Propagate is invoked). The literal appearing in more rules is propagated
before the other one. During these propagations, wasp estimates the impact of the two
assumptions on the computation of answer sets. In particular, wasp counts the number
of inferred atoms and the number of rules that have been satisfied by the two
propagations. The truth of a is then assumed if the impact of the propagation of a is greater than
the impact of the propagation of not a, while a is assumed to be false in other case, that
is, if the impact of the propagation of not a is greater than the impact of the
propagation of a. If the impact is equal then a is assumed to be false. It is important to note that
when a conflict is derived in one of the two propagations, a deterministic inference is
determined. That is, if a conflict is derived during the propagation of a, the falsity of a
is determined, while the truth of a is determined whenever a conflict is derived during
the propagation of not a.</p>
      <p>Example 1. We will now provide an example of the way our heuristic works. In the
example, we will consider the following rules r1–r4 and learned constraints c1–c2 (listed
in chronological order):
r1 :
r2 :</p>
      <p>a :- c.
a ∨ b :- d.</p>
      <p>r3 :
r4 :
a ∨ c :- e.
e ∨ b :- c.</p>
      <p>c1 :
c2 :
:- a, b.
:- a, not c, d.</p>
      <p>Moreover, let us assume a partial interpretation I1 = {a, not b} and the following
counter values: cl(a) = 2, cl(not a) = 2, cl(b) = 1, cl(not b) = 0, cl(c) = 1,
cl(not c) = 2, cl(d) = 3 and cl(not d) = 0.</p>
      <p>Note that constraint c1 is satisfied because b is false. Thus, the first learned constraint
(according to the chronological order) which is not satisfied is c2. Indeed, two undefined
literals occur in the body of c2, namely not c and d. We then consider the counters
cv(c) = cl(c) + cl(not c) and cv(d) = cl(d) + cl(not d), which are both equal to 3.
The heuristics then examines the removal of supporting rules:</p>
      <p>Two supporting rules would be removed (r1 and r4) by setting c false, and one
supporting rule (r3) would be removed by setting c true, for a total of 3 supporting
rules removed. Concerning d, one supporting rule (r2) would be removed by setting d
false, and no rules would be removed by setting d true, for a total of 1 supporting rule
removed. Therefore c removes more supporting rules than d, and therefore our heuristic
will choose c and it first will be set to false.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Experiments</title>
      <p>In this section we report the results of an experimental analysis we carried out in order
to assess the performance of wasp. As a comparison, we also ran the suite of our
benchmarks on two state-of-the-art ASP solvers, namely DLV and ClaspD;3 a discussion on
the difference between wasp and these two systems is provided in Section 6.</p>
      <p>The machine used for the experiments is a two-processor Intel Xeon “Woodcrest”
(quad core) 3GHz machine with 4MB of L2 Cache and 4GB of RAM, running Debian
GNU Linux 4.0. As our ASP system focuses on the Model Generation phase, only
the time for evaluating ground programs (previously produced by the DLV instantiator
from the original non-ground instances) have been considered. In the following, we
briefly describe both benchmark problems and data.
5.1</p>
      <sec id="sec-5-1">
        <title>Benchmark Problems and Data</title>
        <p>
          In our experiments, we considered problems from the most recent ASP Competition
[
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] and other problems which have already been employed for assessing performance
of the ASP solver DLV [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ]. Our experiments consist of 36 instances in 15 different
domains. The instances and encodings are those that were used in the competitions
or in the other publicly available suites. In the following we describe the benchmark
problems.
        </p>
        <p>Labyrinth. Ravensburger’s Labyrinth game deals with guiding an avatar through a
dynamically changing labyrinth to certain fields. A solution is represented by pushes of
the labyrinth’s rows and columns such that the avatar can reach the goal field (which
changes its location when pushed) from its starting field (which also changes its location
when pushed) by a move along some path after each push.</p>
        <p>Knight-tour. Given a chessboard, the problem is to find a tour for a knight piece that
starts at any square, travels all squares, and comes back to the origin, following the
knight move rules of chess.</p>
        <p>Graph coloring. Given an undirected graph and a set of n colors, we are interested in
checking whether there is an assignment of colors to nodes such that no adjacent nodes
share the same color.</p>
        <sec id="sec-5-1-1">
          <title>3 Winners of the disjunctive tracks in the last ASP Competitions [15–17].</title>
          <p>
            Maze-Generation. A maze is an m × n grid, in which each cell is empty or a wall
and two distinct cells on the edges are indicated as entrance and exit, satisfying the
following conditions: (1) each cell on the edge of the grid is a wall, except entrance
and exit that are empty; (2) there is no 2 × 2 square of empty cells or walls; (3) if two
walls are on a diagonal of a 2 × 2 square, then not both of their common neighbors are
empty; (4) no wall is completely surrounded by empty cells; (5) there is a path from the
entrance to every empty cell. The problem has been proved to be NP-complete in [
            <xref ref-type="bibr" rid="ref32">32</xref>
            ].
Strategic Companies. Strategic companies is a well-known N P NP -complete
problem that has often been used for system comparisons, also in the previous ASP
Competitions. In the Strategic Companies problem, a collection C = c1, . . . , cm of companies
is given, for some m ≥ 1. Each company produces some goods in a set G, and each
company ci in C is possibly controlled by a set of owner companies Oi (where Oi is
a subset of C, for each i = 1, . . . , m). In this context, a set C′ of companies (i.e., a
subset of C) is a strategic set if it is minimal among all the sets satisfying the following
conditions: (i) Companies in C’ produce all goods in G; (ii) if Oi is a subset of C′ , the
associated company ci must belong to C′ (for each i = 1, . . . , m). We considered a
random instance having 7500 companies and 22500 products.
2-QBF. The problem consists of checking the validity of a quantified boolean formula
Φ = ∃X∀Y φ, where X and Y are disjoint sets of propositional variables and φ = C1 ∨
. . . ∨ Ck is a DNF on variables X and Y . In our benchmark, we used the transformation
from 2-QBF to ASP presented in [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ], which is based on a reduction presented in [
            <xref ref-type="bibr" rid="ref33">33</xref>
            ].
The instance considered has 1000 universal variables, 20 existential variables, 10000
clauses, and is a 5-DNF.
          </p>
          <p>
            Prime Implicants. In Boolean logic, an implicant is a ”covering” (sum term or product
term) of one or more minterms (a product term in which each of the n variables appears
once) in a sum of products, or, maxterms (a sum term in which each of the n variables
appears once) in a product of sums, of a boolean function. Formally, a product term P
in a sum of products is an implicant of the Boolean function F if P implies F . A prime
implicant of a function is an implicant that cannot be covered by a more general (more
reduced - meaning with fewer literals) implicant. The instance we considered consists
of 180 variables and 774 clauses.
3-Colorability. This well-known problem asks for an assignment of three colors to the
nodes of a graph, in such a way that adjacent nodes always have different colors. One
simplex graph was generated with the Stanford GraphBase library [
            <xref ref-type="bibr" rid="ref34">34</xref>
            ], by using the
function simplex(600, 600, −2, 0, 0, 0, 0). Another ladder graph was generated having
11998 edges, and 8000 nodes.
          </p>
          <p>
            Hamiltonian Cycle. A classical NP-complete problem in graph theory, which can
be expressed as follows: given a directed graph G = (V, E) and a node a ∈ V of
this graph, does there exist a path in G starting at a and passing through each node
in V exactly once? One random graph was generated with the Stanford GraphBase
library [
            <xref ref-type="bibr" rid="ref34">34</xref>
            ], by using the function random graph(85, 700, 0, 0, 0, 0, 0, 1, 1, 33), having
700 edges and 85 nodes; the other instances has been generating using the function
random graph(80, 456, 0, 0, 0, 0, 0, 1, 1, 33), having 456 edges and 80 nodes.
Blocks World. Blocks world is one of the most famous planning domains in artificial
intelligence. We have a set of cubes (blocks) sitting on a table. The goal is to build
one or more vertical stacks of blocks. The catch is that only one block may be moved
at a time: it may either be placed on the table or placed atop another block. Because
of this, any blocks that are, at a given time, under another block cannot be moved.
The four instances considered are by Esra Erdem and taken from the ccalc homepage
(http://www.cs.utexas.edu/users/tag/cc/).
3SAT. The satisfiability problem (SAT) is a decision problem, whose instance is a
propositional formula. The question is: given the formula, is there some assignment of
T and F values to the variables that will make the entire expression true? SAT is the
best-known NP-complete problem. 3-satisfiability is a special case of SAT, where each
formula is a CNF in which each clause contains exactly three literals. We considered
two random instances with 280 variables and 1204 clauses.
          </p>
          <p>Towers of Hanoi. The Towers of Hanoi (ToH) problem has three pegs and n disks.
Initially, all n disks are on the left-most peg. The goal is to move all n disks to the
rightmost peg with the help of the middle peg. The rules are: (1) move one disk at a time;
(2) only the top disk on a peg can be moved; (3) a larger disk cannot be placed on top
of a smaller one. The instance we considered has 6 disks, and we check whether a plan
of length 64 exists.</p>
          <p>Ramsey Numbers. The Ramsey number ramsey(k, m) is the least integer n such
that, no matter how the edges of the complete undirected graph (clique) with n nodes
are colored using two colors, say red and blue, there is a red clique with k nodes (a
red k-clique) or a blue clique with m nodes (a blue m-clique).The encoding of this
problem consists of one rule and two constraints. For the experiments, the problem was
considered of deciding whether, for k = 3, m = 7, n = 21, and for k = 4, m = 6,
n = 26, n is the Ramsey number ramsey(k, m).
n-Queens. The 8-queens puzzle is the problem of putting eight chess queens on an
8x8 chessboard such that none of them is able to capture any other using the standard
chess queen’s moves. The n-queens puzzle is the more general problem of placing n
queens on an nxn chessboard (n ≥ 4). The instance considered is for n = 23.
Timetabling. The problem is determining a timetable for some university lectures that
have to be given in one week to some groups of students. The timetable must respect a
number of given constraints concerning availability of rooms, teachers, and other issues
related to the overall organization of the lectures.
5.2</p>
        </sec>
      </sec>
      <sec id="sec-5-2">
        <title>Experimental Results</title>
        <p>The results of our experiment are summarized in Table 1, reporting, for each
considered instance the execution times in seconds elapsed by each considered system. For
each instance of the benchmark problems, we allowed a maximum of 600 seconds of
execution time. Timeouts are indicated by means of the word TIME in Table 1. In the
last rows we report, for each system, the total number of solved instances, the average
execution time for solving all the 36 considered instances (timeouts are counted 600s
each), and the number of instances in which each solver resulted to be the fastest.</p>
        <p>
          Overall, the results of the preliminary experimental analysis are encouraging: the
performance of wasp is comparable to ClaspD (same number of wins and cumulative
average time), and it is often faster than DLV (only 9 wins vs 15 of wasp and ClaspD).
In more detail, for the Labyrinth problem wasp was able to solve four instances out
of five in the allowed time, while the other systems solved all five instances; the
system is always outperformed by the competitors, except for one instance in which it is
the best performer. Regarding the Knight Tour problem, wasp always outperforms the
competitor systems, solving the hardest instance (on which DLV timed out) in only
7, 44 seconds compared to 179, 48 seconds for ClaspD. Concerning the Graph
Coloring problem, wasp was slower than ClaspD, but solved one instance more than DLV.
Also for the Maze Generation benchmarks, wasp was slightly slower than ClaspD, but
always outperformed DLV. Considering the other benchmarks, wasp outperformed the
other two ASP solvers on 2QBF, Ramsey Numbers, N-Queens, School Timetabling,
3Colorability, and Towers of Hanoi. In the remaining benchmarks, the system remains
competitive, with the single exception of Strategic Companies. For this, we hypothesize
that a reason might be that wasp does not implement yet a model-checking-driven
backjumping technique, which proved to be very effective on this particular benchmark [
          <xref ref-type="bibr" rid="ref35">35</xref>
          ].
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Related Work and Conclusion</title>
      <p>
        In this paper we provided a preliminary report on a new ASP solver for propositional
programs called wasp. The new system is inspired by several techniques that were
originally introduced for SAT solving, like the Davis-Putnam-Logemann-Loveland (DPLL)
backtracking search algorithm [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], clause learning [
        <xref ref-type="bibr" rid="ref19 ref20">19, 20</xref>
        ], backjumping [
        <xref ref-type="bibr" rid="ref21 ref22">21, 22</xref>
        ],
restarts [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ], and conflict-driven heuristics [
        <xref ref-type="bibr" rid="ref24">24</xref>
        ] in the style of Berkmin [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]. Actually,
some of the techniques adopted in wasp, including backjumping and look back
heuristics were first introduced for Constraint Satisfaction [
        <xref ref-type="bibr" rid="ref21 ref22 ref36">21, 22, 36</xref>
        ] and successively
successfully applied in SAT [
        <xref ref-type="bibr" rid="ref24 ref25 ref37 ref38">37, 38, 25, 24</xref>
        ] and QBF solving [
        <xref ref-type="bibr" rid="ref39 ref40 ref41 ref42">39–42</xref>
        ]. Some of these
techniques were already adapted in modern non-disjunctive ASP solvers like Smodelscc [
        <xref ref-type="bibr" rid="ref43 ref44">43,
44</xref>
        ], Clasp [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ], and solvers supporting disjunction like CModels3 [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], GnT [
        <xref ref-type="bibr" rid="ref45">45</xref>
        ], and
DLV [
        <xref ref-type="bibr" rid="ref46 ref47">46, 47</xref>
        ].
      </p>
      <p>
        Concerning other ASP solvers, we differ from non-native solvers like Cmodels3 [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ],
in the sense that we do not rely on a rewriting into a propositional formula and an
external SAT solver, but use native ASP techniques. Among native solvers, similarities
with DLV [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] can be found in the propagation rules, in the computation of the
greatest unfounded set, and in the model checking technique. However, we clearly differ
from DLV as it does not implement many of the look-back techniques borrowed from
CP and SAT. The prototypical version of DLV presented in [
        <xref ref-type="bibr" rid="ref46">46</xref>
        ] and extended in [
        <xref ref-type="bibr" rid="ref47">47</xref>
        ],
implements backjumping and some forms of look back heuristics, but it does not
include clause learning, restarts, and does not use an implication graph for determining
the reasons of the conflicts. Similar considerations hold for GnT [
        <xref ref-type="bibr" rid="ref45">45</xref>
        ], which, as DLV,
implements a systematic backtracking without learning and look-ahead heuristics.
      </p>
      <p>
        Comparing our system with ClaspD (a disjunction-supporting version built upon
Clasp) more similarities can be found, as it includes similar techniques, e.g.
backjumping, clause learning, restarts, and look-back heuristics. There are nonetheless several
differences with wasp. First of all, wasp performs the unfounded set checking by means
of the well-founded operator, while ClaspD relies on the computation of loop formulas.
Moreover, ClaspD implements an alternative version of the implication graph that is
more similar to SAT solvers, since it relies on unit propagation of nogoods (minimality
is handled via loop formula learning). Furthermore, ClaspD, as wasp, adopts a
branching heuristics based on Berkmin [
        <xref ref-type="bibr" rid="ref25">25</xref>
        ]; however, wasp extends the original Berkmin
heuristics by exploiting a lookahaed technique in place of the “two” function
calculating the number of binary clauses in the neighborhood of literal L, together with an
additional criterion based on minimality of answer sets. In particular, to deal with the
case of two atoms with the same heuristic value, wasp chooses the atom that introduces
the maximum number of unsatisfied supporting rules.
      </p>
      <p>It is worth pointing out that the implementation of wasp is still in a preliminary
phase, yet the results obtained up to now are encouraging. Our system is able to compete
with the state-of-the-art solvers, and even outperform them in some of the considered
benchmarks.</p>
      <p>
        Concerning future work, we plan to extend the prototypical system by introducing
new language constructs such as aggregates [
        <xref ref-type="bibr" rid="ref48 ref49">48, 49</xref>
        ] and weak constraints [
        <xref ref-type="bibr" rid="ref50">50</xref>
        ], which
are currently missing from wasp. Moreover, the current implementation can be
improved in several respects: parameter tuning of the heuristics, fine tuning of the source
code, a model-checking-driven backjumping [
        <xref ref-type="bibr" rid="ref35">35</xref>
        ] as well as support for multi-threading
are also planned.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Gelfond</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lifschitz</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Classical Negation in Logic Programs</article-title>
          and
          <source>Disjunctive Databases. NGC 9</source>
          (
          <year>1991</year>
          )
          <fpage>365</fpage>
          -
          <lpage>385</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Lifschitz</surname>
          </string-name>
          , V.:
          <article-title>Answer Set Planning</article-title>
          . In: ICLP'
          <fpage>99</fpage>
          ,
          <string-name>
            <surname>Las</surname>
            <given-names>Cruces</given-names>
          </string-name>
          , New Mexico, USA, The MIT Press (
          <year>1999</year>
          )
          <fpage>23</fpage>
          -
          <lpage>37</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mannila</surname>
          </string-name>
          , H.:
          <article-title>Disjunctive Datalog</article-title>
          .
          <source>ACM TODS 22</source>
          (
          <year>1997</year>
          )
          <fpage>364</fpage>
          -
          <lpage>418</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfeifer</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scarcello</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>The DLV System for Knowledge Representation and Reasoning</article-title>
          .
          <source>ACM TOCL 7</source>
          (
          <year>2006</year>
          )
          <fpage>499</fpage>
          -
          <lpage>562</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Simons</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Niemela¨,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Soininen</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>Extending and Implementing the Stable Model Semantics</article-title>
          .
          <source>AI</source>
          <volume>138</volume>
          (
          <year>2002</year>
          )
          <fpage>181</fpage>
          -
          <lpage>234</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers</article-title>
          .
          <source>In: AAAI-2002</source>
          , Edmonton, Alberta, Canada, AAAI Press / MIT Press (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Babovich</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Cmodels-2: Sat-based answer sets solver enhanced to non-tight programs</article-title>
          . http://www.cs.utexas.edu/users/tag/cmodels.html (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaufmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Conflict-driven answer set solving</article-title>
          .
          <source>In: IJCAI</source>
          <year>2007</year>
          ,
          <article-title>(</article-title>
          <year>2007</year>
          )
          <fpage>386</fpage>
          -
          <lpage>392</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Janhunen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Niemela¨,
          <string-name>
            <given-names>I.</given-names>
            ,
            <surname>Seipel</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Simons</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>You</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.H.</surname>
          </string-name>
          :
          <article-title>Unfolding Partiality and Disjunctions in Stable Model Semantics</article-title>
          .
          <source>ACM TOCL 7</source>
          (
          <year>2006</year>
          )
          <fpage>1</fpage>
          -
          <lpage>37</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Lierler</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Disjunctive Answer Set Programming via Satisfiability</article-title>
          .
          <source>In: LPNMR'05. LNCS 3662</source>
          , (
          <year>2005</year>
          )
          <fpage>447</fpage>
          -
          <lpage>451</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Drescher</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grote</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kaufmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          , Ko¨nig,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Ostrowski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Schaub</surname>
          </string-name>
          ,
          <string-name>
            <surname>T.</surname>
          </string-name>
          :
          <article-title>Conflict-Driven Disjunctive Answer Set Solving</article-title>
          .
          <source>In: Proc. of KR</source>
          <year>2008</year>
          , Sydney, Australia, AAAI Press (
          <year>2008</year>
          )
          <fpage>422</fpage>
          -
          <lpage>432</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grasso</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lio</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iiritano</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
          </string-name>
          , N.:
          <article-title>Team-building with Answer Set Programming in the Gioia-Tauro Seaport</article-title>
          .
          <source>TPLP. CUP</source>
          (
          <year>2011</year>
          ) To appear.
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Manna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ruffolo</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oro</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          :
          <article-title>The HiLeX System for Semantic Information Extraction. Transactions on Large-Scale Data and Knowledge-Centered Systems</article-title>
          . Berlin/Heidelberg (
          <year>2011</year>
          ) To appear.
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dimasi</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grasso</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ielpa</surname>
            ,
            <given-names>S.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Iiritano</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.:</given-names>
          </string-name>
          <article-title>A Logic-Based System for e-Tourism. FI</article-title>
          . IOS Press 105 (
          <year>2010</year>
          )
          <fpage>35</fpage>
          -
          <lpage>55</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Namasivayam</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schaub</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Truszczyn´ski,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>The first answer set programming system competition</article-title>
          .
          <source>In: LPNMR'07. LNCS 4483</source>
          , (
          <year>2007</year>
          )
          <fpage>3</fpage>
          -
          <lpage>17</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Denecker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vennekens</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bond</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gebser</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          , Truszczyn´ski,
          <string-name>
            <surname>M.:</surname>
          </string-name>
          <article-title>The second answer set programming competition</article-title>
          .
          <source>In: Proc. of LPNMR '09</source>
          , Berlin, Heidelberg, (
          <year>2009</year>
          )
          <fpage>637</fpage>
          -
          <lpage>654</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Calimeri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ianni</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bria</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Catalano</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cozza</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Febbraro</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Manna</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martello</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Panetta</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Perri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reale</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santoro</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sirianni</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Terracina</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veltri</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>The Third Answer Set Programming Competition: Preliminary Report of the System Competition Track</article-title>
          .
          <source>In: Proc. of LPNMR11</source>
          .,
          <string-name>
            <surname>LNCS</surname>
          </string-name>
          (
          <year>2003</year>
          )
          <fpage>388</fpage>
          -
          <lpage>403</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Davis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Logemann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Loveland</surname>
            ,
            <given-names>D.:</given-names>
          </string-name>
          <article-title>A Machine Program for Theorem Proving</article-title>
          .
          <source>Communications of the ACM</source>
          <volume>5</volume>
          (
          <year>1962</year>
          )
          <fpage>394</fpage>
          -
          <lpage>397</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madigan</surname>
            ,
            <given-names>C.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moskewicz</surname>
            ,
            <given-names>M.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Efficient Conflict Driven Learning in Boolean Satisfiability Solver</article-title>
          .
          <source>In: ICCAD</source>
          <year>2001</year>
          .
          <article-title>(</article-title>
          <year>2001</year>
          )
          <fpage>279</fpage>
          -
          <lpage>285</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Pipatsrisawat</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Darwiche</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On Modern Clause-Learning Satisfiability Solvers</article-title>
          .
          <source>JAIR</source>
          <volume>44</volume>
          (
          <year>2010</year>
          )
          <fpage>277</fpage>
          -
          <lpage>301</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Gaschnig</surname>
          </string-name>
          , J.:
          <article-title>Performance measurement and analysis of certain search algorithms</article-title>
          .
          <source>PhD thesis</source>
          , CMU (
          <year>1979</year>
          )
          <article-title>Tech</article-title>
          .
          <source>Report CMU-CS-79-124.</source>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Prosser</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Hybrid Algorithms for the Constraint Satisfaction Problem</article-title>
          .
          <source>Computational Intelligence</source>
          <volume>9</volume>
          (
          <year>1993</year>
          )
          <fpage>268</fpage>
          -
          <lpage>299</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Gomes</surname>
            ,
            <given-names>C.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Selman</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kautz</surname>
            ,
            <given-names>H.A.</given-names>
          </string-name>
          :
          <article-title>Boosting Combinatorial Search Through Randomization</article-title>
          .
          <source>In: Proceedings of AAAI/IAAI</source>
          <year>1998</year>
          , AAAI Press (
          <year>1998</year>
          )
          <fpage>431</fpage>
          -
          <lpage>437</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Moskewicz</surname>
            ,
            <given-names>M.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Madigan</surname>
            ,
            <given-names>C.F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Chaff:
          <article-title>Engineering an Efficient SAT Solver</article-title>
          .
          <source>In: DAC</source>
          <year>2001</year>
          (
          <year>2001</year>
          )
          <fpage>530</fpage>
          -
          <lpage>535</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Goldberg</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novikov</surname>
          </string-name>
          , Y.:
          <article-title>BerkMin: A Fast and Robust Sat-Solver</article-title>
          .
          <source>In: Design, Automation and Test in Europe Conference and Exposition (DATE</source>
          <year>2002</year>
          ), Paris, France, IEEE Computer Society (
          <year>2002</year>
          )
          <fpage>142</fpage>
          -
          <lpage>149</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfeifer</surname>
          </string-name>
          , G.:
          <article-title>Pushing Goal Derivation in DLP Computations</article-title>
          .
          <source>In: LPNMR'99. LNCS 1730</source>
          , (
          <year>1999</year>
          )
          <fpage>177</fpage>
          -
          <lpage>191</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Koch</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfeifer</surname>
          </string-name>
          , G.:
          <article-title>Enhancing Disjunctive Logic Programming Systems by SAT Checkers</article-title>
          .
          <source>AI</source>
          <volume>15</volume>
          (
          <year>2003</year>
          )
          <fpage>177</fpage>
          -
          <lpage>212</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28. Ee´n, N., So¨rensson, N.:
          <article-title>An Extensible SAT-solver</article-title>
          .
          <source>In: Theory and Applications of Satisfiability Testing</source>
          , 6th International Conference,
          <string-name>
            <surname>SAT</surname>
          </string-name>
          <year>2003</year>
          .,
          <string-name>
            <surname>LNCS</surname>
          </string-name>
          (
          <year>2003</year>
          )
          <fpage>502</fpage>
          -
          <lpage>518</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Veltri</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : DLVC:
          <article-title>Enhanced Model Checking in DLV</article-title>
          .
          <source>In: Proceedings of Logics in Artificial Intelligence</source>
          ,
          <string-name>
            <surname>JELIA</surname>
          </string-name>
          <year>2010</year>
          .
          <article-title>(</article-title>
          <year>2010</year>
          )
          <fpage>365</fpage>
          -
          <lpage>368</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Luby</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sinclair</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zuckerman</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Optimal speedup of las vegas algorithms</article-title>
          .
          <source>Inf. Process. Lett</source>
          .
          <volume>47</volume>
          (
          <year>1993</year>
          )
          <fpage>173</fpage>
          -
          <lpage>180</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Goldberg</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Novikov</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Berkmin: A fast and robust sat-solver</article-title>
          .
          <source>Discrete Appl</source>
          . Math.
          <volume>155</volume>
          (
          <year>2007</year>
          )
          <fpage>1549</fpage>
          -
          <lpage>1561</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Alviano</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The Maze Generation Problem is NP-complete</article-title>
          .
          <source>In: Proc. of ICTCS '09</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Eiter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gottlob</surname>
          </string-name>
          , G.:
          <article-title>On the Computational Cost of Disjunctive Logic Programming: Propositional Case</article-title>
          .
          <source>AMAI 15</source>
          (
          <year>1995</year>
          )
          <fpage>289</fpage>
          -
          <lpage>323</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          34.
          <string-name>
            <surname>Knuth</surname>
            ,
            <given-names>D.E.</given-names>
          </string-name>
          :
          <article-title>The Stanford GraphBase : A Platform for Combinatorial Computing</article-title>
          . ACM Press, New York (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          35.
          <string-name>
            <surname>Pfeifer</surname>
          </string-name>
          , G.:
          <article-title>Improving the Model Generation/Checking Interplay to Enhance the Evaluation of Disjunctive Programs</article-title>
          .
          <source>In: LPNMR-7. LNCS 2923</source>
          , (
          <year>2004</year>
          )
          <fpage>220</fpage>
          -
          <lpage>233</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          36.
          <string-name>
            <surname>Dechter</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Frost</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Backjump-based backtracking for constraint satisfaction problems</article-title>
          .
          <source>AI</source>
          <volume>136</volume>
          (
          <year>2002</year>
          )
          <fpage>147</fpage>
          -
          <lpage>188</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          37.
          <string-name>
            <surname>Bayardo</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schrag</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Using CSP Look-back Techniques to Solve Real-world SAT Instances</article-title>
          .
          <source>In: Proceedings of the 15th National Conference on Artificial Intelligence (AAAI97)</source>
          . (
          <year>1997</year>
          )
          <fpage>203</fpage>
          -
          <lpage>208</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          38.
          <string-name>
            <surname>Silva</surname>
            ,
            <given-names>J.P.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sakallah</surname>
            ,
            <given-names>K.A.</given-names>
          </string-name>
          :
          <article-title>GRASP: A Search Algorithm for Propositional Satisfiability</article-title>
          .
          <source>IEEE Transaction on Computers</source>
          <volume>48</volume>
          (
          <year>1999</year>
          )
          <fpage>506</fpage>
          -
          <lpage>521</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          39.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Conflict Driven Learning in a Quantified Boolean Satisfiability Solver</article-title>
          .
          <source>In: Proc. of ICCAD</source>
          <year>2002</year>
          .
          <article-title>(</article-title>
          <year>2002</year>
          )
          <fpage>442</fpage>
          -
          <lpage>449</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          40.
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malik</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Towards a Symmetric Treatment of Satisfaction and Conflicts in Quantified Boolean Formula Evaluation</article-title>
          . In: CP 2002.
          <article-title>NY</article-title>
          , USA, (
          <year>2002</year>
          )
          <fpage>200</fpage>
          -
          <lpage>215</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          41.
          <string-name>
            <surname>Giunchiglia</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Narizzano</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tacchella</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Backjumping for Quantified Boolean Logic Satisfiability</article-title>
          .
          <source>AI</source>
          <volume>145</volume>
          (
          <year>2003</year>
          )
          <fpage>99</fpage>
          -
          <lpage>120</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref42">
        <mixed-citation>
          42.
          <string-name>
            <surname>Letz</surname>
          </string-name>
          , R.:
          <article-title>Lemma and Model Caching in Decision Procedures for Quantified Boolean Formulas</article-title>
          .
          <source>In: TABLEAUX 2002. Denmark</source>
          , (
          <year>2002</year>
          )
          <fpage>160</fpage>
          -
          <lpage>175</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref43">
        <mixed-citation>
          43.
          <string-name>
            <surname>Ward</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schlipf</surname>
            ,
            <given-names>J.S.</given-names>
          </string-name>
          :
          <article-title>Answer Set Programming with Clause Learning</article-title>
          .
          <source>In: LPNMR-7. LNCS 2923</source>
          , (
          <year>2004</year>
          )
          <fpage>302</fpage>
          -
          <lpage>313</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref44">
        <mixed-citation>
          44.
          <string-name>
            <surname>Ward</surname>
          </string-name>
          , J.:
          <article-title>Answer Set Programming with Clause Learning</article-title>
          .
          <source>PhD thesis</source>
          , Ohio State University, Cincinnati, Ohio, USA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref45">
        <mixed-citation>
          45.
          <string-name>
            <surname>Janhunen</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          , Niemela¨,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Gnt - a solver for disjunctive logic programs</article-title>
          .
          <source>In: LPNMR-7. LNCS 2923</source>
          ,
          <string-name>
            <surname>Fort</surname>
            <given-names>Lauderdale</given-names>
          </string-name>
          , Florida, USA, (
          <year>2004</year>
          )
          <fpage>331</fpage>
          -
          <lpage>335</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref46">
        <mixed-citation>
          46.
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
          </string-name>
          , N.:
          <article-title>A Backjumping Technique for Disjunctive Logic Programming</article-title>
          .
          <source>AI Communications</source>
          <volume>19</volume>
          (
          <year>2006</year>
          )
          <fpage>155</fpage>
          -
          <lpage>172</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref47">
        <mixed-citation>
          47.
          <string-name>
            <surname>Maratea</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ricca</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
          </string-name>
          , N.:
          <article-title>Look-back techniques and heuristics in dlv: Implementation, evaluation and comparison to qbf solvers</article-title>
          .
          <source>Journal of Algorithms in Cognition, Informatics and Logics</source>
          <volume>63</volume>
          (
          <year>2008</year>
          )
          <fpage>70</fpage>
          -
          <lpage>89</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref48">
        <mixed-citation>
          48.
          <string-name>
            <surname>Pelov</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Denecker</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bruynooghe</surname>
          </string-name>
          , M.:
          <article-title>Well-founded and Stable Semantics of Logic Programs with Aggregates</article-title>
          .
          <source>TPLP 7</source>
          (
          <year>2007</year>
          )
          <fpage>301</fpage>
          -
          <lpage>353</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref49">
        <mixed-citation>
          49.
          <string-name>
            <surname>Faber</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfeifer</surname>
          </string-name>
          , G.:
          <article-title>Semantics and complexity of recursive aggregates in answer set programming</article-title>
          .
          <source>AI</source>
          <volume>175</volume>
          (
          <year>2011</year>
          )
          <fpage>278</fpage>
          -298
          <string-name>
            <given-names>Special</given-names>
            <surname>Issue: John McCarthy's Legacy</surname>
          </string-name>
          .
        </mixed-citation>
      </ref>
      <ref id="ref50">
        <mixed-citation>
          50.
          <string-name>
            <surname>Buccafurri</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leone</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rullo</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Enhancing Disjunctive Datalog by Constraints</article-title>
          .
          <source>IEEE TKDE 12</source>
          (
          <year>2000</year>
          )
          <fpage>845</fpage>
          -
          <lpage>860</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>