<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">The Birth of a WASP: Preliminary Report on a New ASP Solver ⋆</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Carmine</forename><surname>Dodaro</surname></persName>
							<email>carminedodaro@gmail.com</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Matematica</orgName>
								<orgName type="institution">Università della Calabria</orgName>
								<address>
									<postCode>87030</postCode>
									<settlement>Rende</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Mario</forename><surname>Alviano</surname></persName>
							<email>alviano@mat.unical.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Matematica</orgName>
								<orgName type="institution">Università della Calabria</orgName>
								<address>
									<postCode>87030</postCode>
									<settlement>Rende</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Wolfgang</forename><surname>Faber</surname></persName>
							<email>faber@mat.unical.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Matematica</orgName>
								<orgName type="institution">Università della Calabria</orgName>
								<address>
									<postCode>87030</postCode>
									<settlement>Rende</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Nicola</forename><surname>Leone</surname></persName>
							<email>leone@mat.unical.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Matematica</orgName>
								<orgName type="institution">Università della Calabria</orgName>
								<address>
									<postCode>87030</postCode>
									<settlement>Rende</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Francesco</forename><surname>Ricca</surname></persName>
							<email>ricca@mat.unical.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Matematica</orgName>
								<orgName type="institution">Università della Calabria</orgName>
								<address>
									<postCode>87030</postCode>
									<settlement>Rende</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">Marco</forename><surname>Sirianni</surname></persName>
							<email>sirianni@mat.unical.it</email>
							<affiliation key="aff0">
								<orgName type="department">Dipartimento di Matematica</orgName>
								<orgName type="institution">Università della Calabria</orgName>
								<address>
									<postCode>87030</postCode>
									<settlement>Rende</settlement>
									<country key="IT">Italy</country>
								</address>
							</affiliation>
						</author>
						<title level="a" type="main">The Birth of a WASP: Preliminary Report on a New ASP Solver ⋆</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">7A12427F9224A284046894A6D4F99591</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T15:42+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><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></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="1">Introduction</head><p>Answer Set Programming (ASP) <ref type="bibr" target="#b0">[1]</ref> 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 <ref type="bibr" target="#b1">[2]</ref>.</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 <ref type="bibr" target="#b2">[3]</ref>. 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. <ref type="bibr" target="#b3">[4]</ref><ref type="bibr" target="#b4">[5]</ref><ref type="bibr" target="#b5">[6]</ref><ref type="bibr" target="#b6">[7]</ref><ref type="bibr" target="#b7">[8]</ref><ref type="bibr" target="#b8">[9]</ref><ref type="bibr" target="#b9">[10]</ref><ref type="bibr" target="#b10">[11]</ref>). 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 <ref type="bibr" target="#b11">[12]</ref>, semantic-based information extraction <ref type="bibr" target="#b12">[13]</ref>, and e-tourism <ref type="bibr" target="#b13">[14]</ref>. 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 <ref type="bibr" target="#b14">[15]</ref><ref type="bibr" target="#b15">[16]</ref><ref type="bibr" target="#b16">[17]</ref>.</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 <ref type="bibr" target="#b17">[18]</ref>, clause learning <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b19">20]</ref>, backjumping <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22]</ref>, restarts <ref type="bibr" target="#b22">[23]</ref>, and conflict-driven heuristics <ref type="bibr" target="#b23">[24]</ref> in the style of Berkmin <ref type="bibr" target="#b24">[25]</ref>. The mentioned SAT-solving methods have been adapted and combined with state-of-the-art pruning techniques adopted by modern native disjunctive ASP systems <ref type="bibr" target="#b3">[4]</ref>. 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., <ref type="bibr" target="#b25">[26]</ref>). 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 <ref type="bibr" target="#b26">[27]</ref>, by calling Minisat <ref type="bibr" target="#b27">[28]</ref> as suggested by <ref type="bibr" target="#b28">[29]</ref>.</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 <ref type="bibr" target="#b16">[17]</ref>. 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).</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="2">Preliminaries</head><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</p><formula xml:id="formula_0">p 1 ∨ • • • ∨ p n :-q 1 , . . . , q j , not q j+1 , . . . , not q m (<label>1</label></formula><formula xml:id="formula_1">)</formula><p>where p 1 , . . . , p n , q 1 , . . . , q m are atoms and n ≥ 0, m ≥ j ≥ 0. The disjunction p 1 ∨ • • • ∨ p n is the head of r, while the conjunction q 1 , . . . , q j , not q j+1 , . . . , not q m 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</p><formula xml:id="formula_2">H(r)∪B + (r)∪ B − (r). A rule r is normal (or disjunction-free) if |H(r)| ≤ 1, positive (or negation- free) if B − (r) = ∅, a fact if both B(r) = ∅ and |H(r)| = 1, a constraint if |H(r)| = 0.</formula><p>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. 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 = ∅, 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 .</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3">Model Generator</head><p>In this section we sketch the main model generator function MG (cf. Fig. <ref type="figure" target="#fig_0">1</ref>), 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 <ref type="bibr" target="#b23">[24]</ref>. 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 <ref type="bibr" target="#b26">[27]</ref>. If the stability check succeeds, MG returns true. <ref type="foot" target="#foot_0">1</ref> 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><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 <ref type="bibr">(32, 32, 64, 32, 32,</ref>   </p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.1">Propagation</head><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 a, t 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 a, t to a node a ′ , t ′ whenever a, t 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.</p><p>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 p i be the undefined atom in H(r). The following elements are added to G: a node p i , T ; arcs</p><formula xml:id="formula_3">( q k , T , p i , T ) (k = 1, . . . , j); arcs ( q k , F , p i , T ) (k = j + 1, . . . , m); arcs ( p k , F , p i , T ) (k = 1, . . . , n and k = i).</formula><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 a, F 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.</p><formula xml:id="formula_4">If L ∈ B + (r), an arc ( L, F , a, F ) is added to G; otherwise, if L ∈ H(r), an arc ( L, T , a, F ) is added to G; otherwise, L ∈ B − (r) and thus an arc ( L, T , a, F ) is added to G.</formula><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: b,</p><formula xml:id="formula_5">T (for each b ∈ B + (r)); b, F (for each b ∈ B − (r) ∪ H(r) \ {a}); for each new node b, v an arc ( a, T , b, v ). 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 ( L, F , b, v ) is added to G, otherwise, if L ∈ B − (r ′ ) ∪ H(r ′ ) \ {a}, an arc ( L, T , b, v</formula><p>) is added to G; this is done for each new node b, v 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 a, v 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:</p><formula xml:id="formula_6">( b, F , a, v ) (for each b ∈ H(r) ∪ B − (r) \ {a}; ( b, T , a, v ) (for each b ∈ B + (r) \ {a}).</formula><p>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 a, F 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 ( a, F , c, F ) 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.</p><formula xml:id="formula_7">If L ∈ B + (r), an arc ( L, F , c, F ) is added to G; otherwise, if L ∈ H(r), an arc ( L, T , c, F ) is added to G; otherwise, L ∈ B − (r) and thus an arc ( L, T , c, F ) is added to G.</formula></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="3.2">Constraint Learning</head><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) <ref type="bibr" target="#b23">[24]</ref>. 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 <ref type="bibr" target="#b27">[28]</ref>: 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><p>Clearly, a crucial issue in the Model Generator function in Fig. <ref type="figure" target="#fig_0">1</ref> 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. <ref type="figure" target="#fig_0">1</ref> 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 <ref type="bibr" target="#b30">[31]</ref>. 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 selected 2 .</p><p>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 r 1 -r 4 and learned constraints c 1 -c 2 (listed in chronological order): Note that constraint c 1 is satisfied because b is false. Thus, the first learned constraint (according to the chronological order) which is not satisfied is c 2 . Indeed, two undefined literals occur in the body of c 2 , 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 (r 1 and r 4 ) by setting c false, and one supporting rule (r 3 ) would be removed by setting c true, for a total of 3 supporting rules removed. Concerning d, one supporting rule (r 2 ) 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5">Experiments</head><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;<ref type="foot" target="#foot_1">3</ref> 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.1">Benchmark Problems and Data</head><p>In our experiments, we considered problems from the most recent ASP Competition <ref type="bibr" target="#b16">[17]</ref> and other problems which have already been employed for assessing performance of the ASP solver DLV <ref type="bibr" target="#b3">[4]</ref>. 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. 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></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Maze-Generation.</head><p>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; <ref type="bibr" target="#b4">(5)</ref> there is a path from the entrance to every empty cell. The problem has been proved to be NP-complete in <ref type="bibr" target="#b31">[32]</ref>.</p><p>Strategic Companies. Strategic companies is a well-known N P N P -complete problem that has often been used for system comparisons, also in the previous ASP Competitions. In the Strategic Companies problem, a collection C = c 1 , . . . , c m of companies is given, for some m ≥ 1. Each company produces some goods in a set G, and each company c i in C is possibly controlled by a set of owner companies O i (where O i 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 O i is a subset of C ′ , the associated company c i must belong to C ′ (for each i = 1, . . . , m). We considered a random instance having 7500 companies and 22500 products.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>2-QBF.</head><p>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 φ = C 1 ∨ . . . ∨ C k is a DNF on variables X and Y . In our benchmark, we used the transformation from 2-QBF to ASP presented in <ref type="bibr" target="#b3">[4]</ref>, which is based on a reduction presented in <ref type="bibr" target="#b32">[33]</ref>. 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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>3-Colorability.</head><p>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 <ref type="bibr" target="#b33">[34]</ref>, 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 <ref type="bibr" target="#b33">[34]</ref>, 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.</p><p>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/).</p><p>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;</p><p>(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.</p><p>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.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="5.2">Experimental Results</head><p>The results of our experiment are summarized in Table <ref type="table" target="#tab_1">1</ref>, 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 <ref type="table" target="#tab_1">1</ref>. 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. 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 <ref type="bibr" target="#b34">[35]</ref>.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head n="6">Related Work and Conclusion</head><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 <ref type="bibr" target="#b17">[18]</ref>, clause learning <ref type="bibr" target="#b18">[19,</ref><ref type="bibr" target="#b19">20]</ref>, backjumping <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22]</ref>, restarts <ref type="bibr" target="#b22">[23]</ref>, and conflict-driven heuristics <ref type="bibr" target="#b23">[24]</ref> in the style of Berkmin <ref type="bibr" target="#b24">[25]</ref>. Actually, some of the techniques adopted in wasp, including backjumping and look back heuristics were first introduced for Constraint Satisfaction <ref type="bibr" target="#b20">[21,</ref><ref type="bibr" target="#b21">22,</ref><ref type="bibr" target="#b35">36]</ref> and successively successfully applied in SAT <ref type="bibr" target="#b36">[37,</ref><ref type="bibr" target="#b37">38,</ref><ref type="bibr" target="#b24">25,</ref><ref type="bibr" target="#b23">24]</ref> and QBF solving <ref type="bibr" target="#b38">[39]</ref><ref type="bibr" target="#b39">[40]</ref><ref type="bibr" target="#b40">[41]</ref><ref type="bibr" target="#b41">[42]</ref>. Some of these tech-niques were already adapted in modern non-disjunctive ASP solvers like Smodels cc <ref type="bibr" target="#b42">[43,</ref><ref type="bibr" target="#b43">44]</ref>, Clasp <ref type="bibr" target="#b7">[8]</ref>, and solvers supporting disjunction like CModels3 <ref type="bibr" target="#b9">[10]</ref>, GnT <ref type="bibr" target="#b44">[45]</ref>, and DLV <ref type="bibr" target="#b45">[46,</ref><ref type="bibr" target="#b46">47]</ref>.</p><p>Concerning other ASP solvers, we differ from non-native solvers like Cmodels3 <ref type="bibr" target="#b9">[10]</ref>, 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 <ref type="bibr" target="#b3">[4]</ref> 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 <ref type="bibr" target="#b45">[46]</ref> and extended in <ref type="bibr" target="#b46">[47]</ref>, 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 <ref type="bibr" target="#b44">[45]</ref>, 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. ing, 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 <ref type="bibr" target="#b24">[25]</ref>; 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 <ref type="bibr" target="#b47">[48,</ref><ref type="bibr" target="#b48">49]</ref> and weak constraints <ref type="bibr" target="#b49">[50]</ref>, 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 <ref type="bibr" target="#b34">[35]</ref> as well as support for multi-threading are also planned.</p></div><figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_0"><head>Fig. 1 .</head><label>1</label><figDesc>Fig. 1. Computation of answer sets</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" xml:id="fig_1"><head>r 1 :</head><label>1</label><figDesc>a :-c. r 3 : a ∨ c :-e. c 1 : :-a, b. r 2 : a ∨ b :-d. r 4 : e ∨ b :-c. c 2 : :-a, not c, d. Moreover, let us assume a partial interpretation I 1 = {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.</figDesc></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_0"><head>return false; if ( MG( I ∪ {not A}, bj level ) ) return true; if (bj level &lt; curr level) return false; return false; int ResolveConflict</head><label></label><figDesc>64, 128, . . . ) introduced in<ref type="bibr" target="#b29">[30]</ref>. 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.</figDesc><table><row><cell>bool MG (Interpretation&amp; I, int&amp; bj level )</cell></row><row><cell>int curr level = ++ bj level;</cell></row><row><cell>if ( ! Propagate( I ) )</cell></row><row><cell>bj level = ResolveConflict();</cell></row><row><cell>return false;</cell></row><row><cell>if ( "no atom is undefined in I" )</cell></row><row><cell>if ( CheckModel( I ) ) return true;</cell></row><row><cell>else</cell></row><row><cell>bj level = ResolveConflict();</cell></row><row><cell>return false;</cell></row><row><cell>Select an undefined atom A using a heuristic;</cell></row><row><cell>if ( MG( I ∪ {A}, bj level ) ) return true;</cell></row><row><cell>if (bj level &lt; curr level)</cell></row></table><note>() int level = calculateFirstUIP(); learning(); if(inRestartSequence(numberOfConflict)) return 0; return level;</note></figure>
<figure xmlns="http://www.tei-c.org/ns/1.0" type="table" xml:id="tab_1"><head>Table 1 .</head><label>1</label><figDesc>Benchmark Results on ASP competition suite</figDesc><table><row><cell>Problem</cell><cell cols="2">wasp DLV ClaspD</cell><cell>Problem</cell><cell cols="2">wasp DLV ClaspD</cell></row><row><cell>LABYRINTH-1 LABYRINTH-2 LABYRINTH-3</cell><cell cols="2">0,39 0,02 299,74 3,17 65,84 0,03 415,14 56,19 113,04</cell><cell>PRIMEIMPL 3COL-SIMPLEX 3COL-LADDER</cell><cell cols="2">3,24 1,33 23,02 33,58 TIME 0,21 2,29 91,24 34,08</cell></row><row><cell>LABYRINTH-4</cell><cell cols="2">TIME 25,76 561,93</cell><cell>HAMCYCLE-RANDOM</cell><cell>5,29 1,50</cell><cell>2,52</cell></row><row><cell>LABYRINTH-5</cell><cell cols="2">14,47 29,15 490,04</cell><cell>HAMCYCLE-FREE</cell><cell>106,89 31,37</cell><cell>0,47</cell></row><row><cell>KNIGHT-TOUR-1</cell><cell>0,07 0,21</cell><cell>0,15</cell><cell>BLOCKS-WORLD-1</cell><cell>224,09 6,48</cell><cell>1,92</cell></row><row><cell>KNIGHT-TOUR-2</cell><cell>0,14 1,64</cell><cell>0,34</cell><cell>BLOCKS-WORLD-2</cell><cell>340,84 11,84</cell><cell>1,75</cell></row><row><cell>KNIGHT-TOUR-3</cell><cell>0,65 14,45</cell><cell>2,84</cell><cell>BLOCKS-WORLD-3</cell><cell>0,76 8,87</cell><cell>1,67</cell></row><row><cell>KNIGHT-TOUR-4</cell><cell cols="2">0,67 56,31 10,56</cell><cell>BLOCKS-WORLD-4</cell><cell>129,28 11,05</cell><cell>0,83</cell></row><row><cell>KNIGHT-TOUR-5</cell><cell cols="2">7,44 TIME 179,48</cell><cell>3SAT-1</cell><cell cols="2">78,31 9,59 65,84</cell></row><row><cell cols="2">GRAPH-COLOURING-1 153,67 TIME</cell><cell>3,05</cell><cell>3SAT-2</cell><cell>31,07 5,43</cell><cell>0,06</cell></row><row><cell cols="3">GRAPH-COLOURING-2 TIME TIME TIME</cell><cell>TOWERS-OF-HANOI</cell><cell cols="2">3,81 8,46 437,55</cell></row><row><cell>MAZE-GENERATION-1</cell><cell>0,28 0,93</cell><cell>0,79</cell><cell>RAMSEY-1</cell><cell cols="2">3,03 9,84 24,01</cell></row><row><cell cols="2">MAZE-GENERATION-2 46,84 104,47</cell><cell>1,76</cell><cell>RAMSEY-2</cell><cell cols="2">4,87 15,74 40,28</cell></row><row><cell cols="2">MAZE-GENERATION-3 47,37 261,57</cell><cell>3,94</cell><cell>23-QUEENS</cell><cell>0,10 41,10</cell><cell>0,54</cell></row><row><cell cols="2">MAZE-GENERATION-4 94,17 TIME</cell><cell>9,64</cell><cell>SCHOOL-TIMETABLING</cell><cell cols="2">7,45 61,09 224,93</cell></row><row><cell cols="3">MAZE-GENERATION-5 123,40 TIME 23,49 STRATCOMP 179,06 2,33 5,71 2QBF 0,11 3,31 0,92</cell><cell cols="3">TOTAL SOLVED WEIGHTED AVERAGE 98,08 108,87 98,17 34 31 34 WINS 15 9 15</cell></row></table></figure>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="1" xml:id="foot_0">This is a co-NP-complete task in case of general disjunctive ASP programs.</note>
			<note xmlns="http://www.tei-c.org/ns/1.0" place="foot" n="3" xml:id="foot_1">Winners of the disjunctive tracks in the last ASP Competitions<ref type="bibr" target="#b14">[15]</ref><ref type="bibr" target="#b15">[16]</ref><ref type="bibr" target="#b16">[17]</ref>.</note>
		</body>
		<back>

			<div type="funding">
<div xmlns="http://www.tei-c.org/ns/1.0"><p>⋆ 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></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Classical Negation in Logic Programs and Disjunctive Databases</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gelfond</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Lifschitz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">NGC</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="365" to="385" />
			<date type="published" when="1991">1991</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<analytic>
		<title level="a" type="main">Answer Set Planning</title>
		<author>
			<persName><forename type="first">V</forename><surname>Lifschitz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">ICLP&apos;99</title>
				<meeting><address><addrLine>Las Cruces, New Mexico, USA</addrLine></address></meeting>
		<imprint>
			<publisher>The MIT Press</publisher>
			<date type="published" when="1999">1999</date>
			<biblScope unit="page" from="23" to="37" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title level="a" type="main">Disjunctive Datalog</title>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><surname>Mannila</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM TODS</title>
		<imprint>
			<biblScope unit="volume">22</biblScope>
			<biblScope unit="page" from="364" to="418" />
			<date type="published" when="1997">1997</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">The DLV System for Knowledge Representation and Reasoning</title>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Perri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Scarcello</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM TOCL</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="499" to="562" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Extending and Implementing the Stable Model Semantics</title>
		<author>
			<persName><forename type="first">P</forename><surname>Simons</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Niemelä</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Soininen</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI</title>
		<imprint>
			<biblScope unit="volume">138</biblScope>
			<biblScope unit="page" from="181" to="234" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">ASSAT: Computing Answer Sets of a Logic Program by SAT Solvers</title>
		<author>
			<persName><forename type="first">F</forename><surname>Lin</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhao</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">AAAI-2002</title>
				<meeting><address><addrLine>Edmonton, Alberta, Canada</addrLine></address></meeting>
		<imprint>
			<publisher>AAAI Press / MIT Press</publisher>
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b6">
	<monogr>
		<author>
			<persName><forename type="first">Y</forename><surname>Babovich</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Maratea</surname></persName>
		</author>
		<ptr target="http://www.cs.utexas.edu/users/tag/cmodels.html" />
		<title level="m">Cmodels-2: Sat-based answer sets solver enhanced to non-tight programs</title>
				<imprint>
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b7">
	<analytic>
		<title level="a" type="main">Conflict-driven answer set solving</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gebser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Kaufmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Neumann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schaub</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">IJCAI 2007</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="page" from="386" to="392" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b8">
	<analytic>
		<title level="a" type="main">Unfolding Partiality and Disjunctions in Stable Model Semantics</title>
		<author>
			<persName><forename type="first">T</forename><surname>Janhunen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Niemelä</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Seipel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Simons</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">H</forename><surname>You</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ACM TOCL</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="1" to="37" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b9">
	<analytic>
		<title level="a" type="main">Disjunctive Answer Set Programming via Satisfiability</title>
		<author>
			<persName><forename type="first">Y</forename><surname>Lierler</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LPNMR&apos;05</title>
				<imprint>
			<date type="published" when="2005">2005</date>
			<biblScope unit="volume">3662</biblScope>
			<biblScope unit="page" from="447" to="451" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b10">
	<analytic>
		<title level="a" type="main">Conflict-Driven Disjunctive Answer Set Solving</title>
		<author>
			<persName><forename type="first">C</forename><surname>Drescher</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gebser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Grote</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Kaufmann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>König</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ostrowski</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schaub</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of KR 2008</title>
				<meeting>of KR 2008<address><addrLine>Sydney, Australia</addrLine></address></meeting>
		<imprint>
			<publisher>AAAI Press</publisher>
			<date type="published" when="2008">2008</date>
			<biblScope unit="page" from="422" to="432" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b11">
	<monogr>
		<title level="m" type="main">Team-building with Answer Set Programming in the Gioia-Tauro Seaport</title>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Grasso</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Manna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">V</forename><surname>Lio</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Iiritano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
	<note>TPLP. CUP. To appear</note>
</biblStruct>

<biblStruct xml:id="b12">
	<analytic>
		<title level="a" type="main">The HiLeX System for Semantic Information Extraction</title>
		<author>
			<persName><forename type="first">M</forename><surname>Manna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Ruffolo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">E</forename><surname>Oro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Transactions on Large-Scale Data and Knowledge-Centered Sys</title>
				<meeting><address><addrLine>Berlin/Heidelberg</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2011">2011</date>
		</imprint>
	</monogr>
	<note>To appear</note>
</biblStruct>

<biblStruct xml:id="b13">
	<analytic>
		<title level="a" type="main">A Logic-Based System for e-Tourism</title>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Dimasi</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Grasso</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><forename type="middle">M</forename><surname>Ielpa</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Iiritano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Manna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">FI. IOS Press</title>
		<imprint>
			<biblScope unit="volume">105</biblScope>
			<biblScope unit="page" from="35" to="55" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b14">
	<analytic>
		<title level="a" type="main">The first answer set programming system competition</title>
		<author>
			<persName><forename type="first">M</forename><surname>Gebser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Liu</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Namasivayam</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Neumann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">T</forename><surname>Schaub</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Truszczyński</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LPNMR&apos;07. LNCS</title>
				<imprint>
			<date type="published" when="2007">2007</date>
			<biblScope unit="volume">4483</biblScope>
			<biblScope unit="page" from="3" to="17" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b15">
	<analytic>
		<title level="a" type="main">The second answer set programming competition</title>
		<author>
			<persName><forename type="first">M</forename><surname>Denecker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><surname>Vennekens</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Bond</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Gebser</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Truszczyński</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of LPNMR &apos;09</title>
				<meeting>of LPNMR &apos;09<address><addrLine>Berlin, Heidelberg</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
			<biblScope unit="page" from="637" to="654" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b16">
	<analytic>
		<title level="a" type="main">The Third Answer Set Programming Competition: Preliminary Report of the System Competition Track</title>
		<author>
			<persName><forename type="first">F</forename><surname>Calimeri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Ianni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Bria</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Catalano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Cozza</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">O</forename><surname>Febbraro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Manna</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Martello</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><surname>Panetta</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Perri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><surname>Reale</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">C</forename><surname>Santoro</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Sirianni</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Terracina</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Veltri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of LPNMR11., LNCS</title>
				<meeting>of LPNMR11., LNCS</meeting>
		<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="388" to="403" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b17">
	<analytic>
		<title level="a" type="main">A Machine Program for Theorem Proving</title>
		<author>
			<persName><forename type="first">M</forename><surname>Davis</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Logemann</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Loveland</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Communications of the ACM</title>
		<imprint>
			<biblScope unit="volume">5</biblScope>
			<biblScope unit="page" from="394" to="397" />
			<date type="published" when="1962">1962</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b18">
	<analytic>
		<title level="a" type="main">Efficient Conflict Driven Learning in Boolean Satisfiability Solver</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">F</forename><surname>Madigan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">W</forename><surname>Moskewicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Malik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">ICCAD</title>
		<imprint>
			<biblScope unit="page" from="279" to="285" />
			<date type="published" when="2001">2001. 2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b19">
	<analytic>
		<title level="a" type="main">On Modern Clause-Learning Satisfiability Solvers</title>
		<author>
			<persName><forename type="first">K</forename><surname>Pipatsrisawat</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Darwiche</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">JAIR</title>
		<imprint>
			<biblScope unit="volume">44</biblScope>
			<biblScope unit="page" from="277" to="301" />
			<date type="published" when="2010">2010</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b20">
	<monogr>
		<title level="m" type="main">Performance measurement and analysis of certain search algorithms</title>
		<author>
			<persName><forename type="first">J</forename><surname>Gaschnig</surname></persName>
		</author>
		<idno>CMU-CS-79-124</idno>
		<imprint>
			<date type="published" when="1979">1979</date>
		</imprint>
	</monogr>
	<note type="report_type">Tech. Report</note>
</biblStruct>

<biblStruct xml:id="b21">
	<analytic>
		<title level="a" type="main">Hybrid Algorithms for the Constraint Satisfaction Problem</title>
		<author>
			<persName><forename type="first">P</forename><surname>Prosser</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Computational Intelligence</title>
		<imprint>
			<biblScope unit="volume">9</biblScope>
			<biblScope unit="page" from="268" to="299" />
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b22">
	<analytic>
		<title level="a" type="main">Boosting Combinatorial Search Through Randomization</title>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">P</forename><surname>Gomes</surname></persName>
		</author>
		<author>
			<persName><forename type="first">B</forename><surname>Selman</surname></persName>
		</author>
		<author>
			<persName><forename type="first">H</forename><forename type="middle">A</forename><surname>Kautz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of AAAI/IAAI 1998</title>
				<meeting>AAAI/IAAI 1998</meeting>
		<imprint>
			<publisher>AAAI Press</publisher>
			<date type="published" when="1998">1998</date>
			<biblScope unit="page" from="431" to="437" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b23">
	<analytic>
		<title level="a" type="main">Chaff: Engineering an Efficient SAT Solver</title>
		<author>
			<persName><forename type="first">M</forename><forename type="middle">W</forename><surname>Moskewicz</surname></persName>
		</author>
		<author>
			<persName><forename type="first">C</forename><forename type="middle">F</forename><surname>Madigan</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Zhao</surname></persName>
		</author>
		<author>
			<persName><forename type="first">L</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Malik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">DAC</title>
		<imprint>
			<biblScope unit="volume">2001</biblScope>
			<biblScope unit="page" from="530" to="535" />
			<date type="published" when="2001">2001</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b24">
	<analytic>
		<title level="a" type="main">BerkMin: A Fast and Robust Sat-Solver</title>
		<author>
			<persName><forename type="first">E</forename><surname>Goldberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Novikov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Design, Automation and Test in Europe Conference and Exposition (DATE 2002)</title>
				<meeting><address><addrLine>Paris, France</addrLine></address></meeting>
		<imprint>
			<publisher>IEEE Computer Society</publisher>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="142" to="149" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b25">
	<analytic>
		<title level="a" type="main">Pushing Goal Derivation in DLP Computations</title>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LP-NMR&apos;99</title>
				<imprint>
			<date type="published" when="1999">1999</date>
			<biblScope unit="volume">1730</biblScope>
			<biblScope unit="page" from="177" to="191" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b26">
	<analytic>
		<title level="a" type="main">Enhancing Disjunctive Logic Programming Systems by SAT Checkers</title>
		<author>
			<persName><forename type="first">C</forename><surname>Koch</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="177" to="212" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b27">
	<analytic>
		<title level="a" type="main">An Extensible SAT-solver</title>
		<author>
			<persName><forename type="first">N</forename><surname>Eén</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Sörensson</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Theory and Applications of Satisfiability Testing, 6th International Conference, SAT 2003</title>
				<imprint>
			<date type="published" when="2003">2003</date>
			<biblScope unit="page" from="502" to="518" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b28">
	<analytic>
		<title level="a" type="main">DLV C : Enhanced Model Checking in DLV</title>
		<author>
			<persName><forename type="first">M</forename><surname>Maratea</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Veltri</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of Logics in Artificial Intelligence</title>
				<meeting>Logics in Artificial Intelligence</meeting>
		<imprint>
			<date type="published" when="2010">2010. 2010</date>
			<biblScope unit="page" from="365" to="368" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b29">
	<analytic>
		<title level="a" type="main">Optimal speedup of las vegas algorithms</title>
		<author>
			<persName><forename type="first">M</forename><surname>Luby</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Sinclair</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Zuckerman</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Process. Lett</title>
		<imprint>
			<biblScope unit="volume">47</biblScope>
			<biblScope unit="page" from="173" to="180" />
			<date type="published" when="1993">1993</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b30">
	<analytic>
		<title level="a" type="main">Berkmin: A fast and robust sat-solver</title>
		<author>
			<persName><forename type="first">E</forename><surname>Goldberg</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Y</forename><surname>Novikov</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Discrete Appl. Math</title>
		<imprint>
			<biblScope unit="volume">155</biblScope>
			<biblScope unit="page" from="1549" to="1561" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b31">
	<analytic>
		<title level="a" type="main">The Maze Generation Problem is NP-complete</title>
		<author>
			<persName><forename type="first">M</forename><surname>Alviano</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ICTCS &apos;09</title>
				<meeting>of ICTCS &apos;09</meeting>
		<imprint>
			<date type="published" when="2009">2009</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b32">
	<analytic>
		<title level="a" type="main">On the Computational Cost of Disjunctive Logic Programming: Propositional Case</title>
		<author>
			<persName><forename type="first">T</forename><surname>Eiter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Gottlob</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AMAI</title>
		<imprint>
			<biblScope unit="volume">15</biblScope>
			<biblScope unit="page" from="289" to="323" />
			<date type="published" when="1995">1995</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b33">
	<monogr>
		<title level="m" type="main">The Stanford GraphBase : A Platform for Combinatorial Computing</title>
		<author>
			<persName><forename type="first">D</forename><forename type="middle">E</forename><surname>Knuth</surname></persName>
		</author>
		<imprint>
			<date type="published" when="1994">1994</date>
			<publisher>ACM Press</publisher>
			<pubPlace>New York</pubPlace>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b34">
	<analytic>
		<title level="a" type="main">Improving the Model Generation/Checking Interplay to Enhance the Evaluation of Disjunctive Programs</title>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LPNMR-7</title>
				<imprint>
			<date type="published" when="2004">2923. 2004</date>
			<biblScope unit="page" from="220" to="233" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b35">
	<analytic>
		<title level="a" type="main">Backjump-based backtracking for constraint satisfaction problems</title>
		<author>
			<persName><forename type="first">R</forename><surname>Dechter</surname></persName>
		</author>
		<author>
			<persName><forename type="first">D</forename><surname>Frost</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI</title>
		<imprint>
			<biblScope unit="volume">136</biblScope>
			<biblScope unit="page" from="147" to="188" />
			<date type="published" when="2002">2002</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b36">
	<analytic>
		<title level="a" type="main">Using CSP Look-back Techniques to Solve Real-world SAT Instances</title>
		<author>
			<persName><forename type="first">R</forename><surname>Bayardo</surname></persName>
		</author>
		<author>
			<persName><forename type="first">R</forename><surname>Schrag</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the 15th National Conference on Artificial Intelligence (AAAI-97)</title>
				<meeting>the 15th National Conference on Artificial Intelligence (AAAI-97)</meeting>
		<imprint>
			<date type="published" when="1997">1997</date>
			<biblScope unit="page" from="203" to="208" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b37">
	<analytic>
		<title level="a" type="main">GRASP: A Search Algorithm for Propositional Satisfiability</title>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">P M</forename><surname>Silva</surname></persName>
		</author>
		<author>
			<persName><forename type="first">K</forename><forename type="middle">A</forename><surname>Sakallah</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE Transaction on Computers</title>
		<imprint>
			<biblScope unit="volume">48</biblScope>
			<biblScope unit="page" from="506" to="521" />
			<date type="published" when="1999">1999</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b38">
	<analytic>
		<title level="a" type="main">Conflict Driven Learning in a Quantified Boolean Satisfiability Solver</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Malik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proc. of ICCAD</title>
				<meeting>of ICCAD</meeting>
		<imprint>
			<date type="published" when="2002">2002. 2002</date>
			<biblScope unit="page" from="442" to="449" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b39">
	<analytic>
		<title level="a" type="main">Towards a Symmetric Treatment of Satisfaction and Conflicts in Quantified Boolean Formula Evaluation</title>
		<author>
			<persName><forename type="first">L</forename><surname>Zhang</surname></persName>
		</author>
		<author>
			<persName><forename type="first">S</forename><surname>Malik</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">CP 2002</title>
				<meeting><address><addrLine>NY, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="200" to="215" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b40">
	<analytic>
		<title level="a" type="main">Backjumping for Quantified Boolean Logic Satisfiability</title>
		<author>
			<persName><forename type="first">E</forename><surname>Giunchiglia</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Narizzano</surname></persName>
		</author>
		<author>
			<persName><forename type="first">A</forename><surname>Tacchella</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI</title>
		<imprint>
			<biblScope unit="volume">145</biblScope>
			<biblScope unit="page" from="99" to="120" />
			<date type="published" when="2003">2003</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b41">
	<analytic>
		<title level="a" type="main">Lemma and Model Caching in Decision Procedures for Quantified Boolean Formulas</title>
		<author>
			<persName><forename type="first">R</forename><surname>Letz</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">TABLEAUX 2002</title>
				<meeting><address><addrLine>Denmark</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2002">2002</date>
			<biblScope unit="page" from="160" to="175" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b42">
	<analytic>
		<title level="a" type="main">Answer Set Programming with Clause Learning</title>
		<author>
			<persName><forename type="first">J</forename><surname>Ward</surname></persName>
		</author>
		<author>
			<persName><forename type="first">J</forename><forename type="middle">S</forename><surname>Schlipf</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LPNMR-7</title>
				<imprint>
			<date type="published" when="2004">2923. 2004</date>
			<biblScope unit="page" from="302" to="313" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b43">
	<monogr>
		<title level="m" type="main">Answer Set Programming with Clause Learning</title>
		<author>
			<persName><forename type="first">J</forename><surname>Ward</surname></persName>
		</author>
		<imprint>
			<date type="published" when="2004">2004</date>
			<pubPlace>Cincinnati, Ohio, USA</pubPlace>
		</imprint>
		<respStmt>
			<orgName>Ohio State University</orgName>
		</respStmt>
	</monogr>
	<note type="report_type">PhD thesis</note>
</biblStruct>

<biblStruct xml:id="b44">
	<analytic>
		<title level="a" type="main">Gnt -a solver for disjunctive logic programs</title>
		<author>
			<persName><forename type="first">T</forename><surname>Janhunen</surname></persName>
		</author>
		<author>
			<persName><forename type="first">I</forename><surname>Niemelä</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">LPNMR-7. LNCS 2923</title>
				<meeting><address><addrLine>Fort Lauderdale, Florida, USA</addrLine></address></meeting>
		<imprint>
			<date type="published" when="2004">2004</date>
			<biblScope unit="page" from="331" to="335" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b45">
	<analytic>
		<title level="a" type="main">A Backjumping Technique for Disjunctive Logic Programming</title>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">AI Communications</title>
		<imprint>
			<biblScope unit="volume">19</biblScope>
			<biblScope unit="page" from="155" to="172" />
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b46">
	<analytic>
		<title level="a" type="main">Look-back techniques and heuristics in dlv: Implementation, evaluation and comparison to qbf solvers</title>
		<author>
			<persName><forename type="first">M</forename><surname>Maratea</surname></persName>
		</author>
		<author>
			<persName><forename type="first">F</forename><surname>Ricca</surname></persName>
		</author>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">Journal of Algorithms in Cognition, Informatics and Logics</title>
		<imprint>
			<biblScope unit="volume">63</biblScope>
			<biblScope unit="page" from="70" to="89" />
			<date type="published" when="2008">2008</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b47">
	<analytic>
		<title level="a" type="main">Well-founded and Stable Semantics of Logic Programs with Aggregates</title>
		<author>
			<persName><forename type="first">N</forename><surname>Pelov</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Denecker</surname></persName>
		</author>
		<author>
			<persName><forename type="first">M</forename><surname>Bruynooghe</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">TPLP</title>
		<imprint>
			<biblScope unit="volume">7</biblScope>
			<biblScope unit="page" from="301" to="353" />
			<date type="published" when="2007">2007</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b48">
	<analytic>
		<title level="a" type="main">Semantics and complexity of recursive aggregates in answer set programming</title>
		<author>
			<persName><forename type="first">W</forename><surname>Faber</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">G</forename><surname>Pfeifer</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">John McCarthy&apos;s Legacy</title>
				<imprint>
			<date type="published" when="2011">2011</date>
			<biblScope unit="volume">175</biblScope>
			<biblScope unit="page" from="278" to="298" />
		</imprint>
	</monogr>
	<note>Special Issue</note>
</biblStruct>

<biblStruct xml:id="b49">
	<analytic>
		<title level="a" type="main">Enhancing Disjunctive Datalog by Constraints</title>
		<author>
			<persName><forename type="first">F</forename><surname>Buccafurri</surname></persName>
		</author>
		<author>
			<persName><forename type="first">N</forename><surname>Leone</surname></persName>
		</author>
		<author>
			<persName><forename type="first">P</forename><surname>Rullo</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="j">IEEE TKDE</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="page" from="845" to="860" />
			<date type="published" when="2000">2000</date>
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
