The KR system dlv: Progress report, comparisons and benchmarks

12

Transcript of The KR system dlv: Progress report, comparisons and benchmarks

The KR System dlv: Progress Report, Comparisons andBenchmarksThomas EiterInstitut f�ur InformatikUniversit�at Gie�enArndtstrasse 2, D-35392Gie�en, Germany Nicola LeoneInstitut f�urInformationssystemeTU WienA-1040 Wien, Austria Cristinel MateisInstitut f�urInformationssystemeTU WienA-1040 Wien, AustriaGerald PfeiferInstitut f�urInformationssystemeTU WienA-1040 Wien, Austria Francesco ScarcelloISI-CNR, c/o DEISUniversit�a della CalabriaI-87030 Rende, ItalyAbstractdlv is a knowledge representationsystem, based on disjunctive logicprogramming, which o�ers front-ends to several advanced KR for-malisms. The system has been de-veloped since one year at the Tech-nical University of Vienna in an on-going project funded by the AustrianScience Funds. After a report on thecurrent state of the art in the im-plementation of dlv and of its ap-plication front-ends, the paper com-pares dlv with other knowledge rep-resentation systems. Both a quali-tative and a quantitative comparisonare carried out. The �rst comparesthe representational power of the sys-tems (intended as the ability to rep-resent problems in a natural and sim-ple fashion). The latter compares theperformances of the systems. The dlvsystem turns out to be very power-

ful from the knowledge representationside and, on the other hand, quitegood also in computational power.Keywords: Implemented KR&RSystems: Reports, Comparisons,Evaluations.1 INTRODUCTIONThe extension of logic programming by dis-junction and true negation has been pointedout as a necessary requirement for knowledgerepresentation [16, 2]. This view has been con-�rmed by results which prove that without dis-junction, the expressive capability of logic pro-gramming is limited such that relevant prob-lems can not be expressed [12, 7]. Moreover,disjunction has been recognized as an impor-tant feature for a declarative KR language,which allows to express knowledge in a simpleand natural way. For example, the rule

genotype(P,T1) v genotype(P,T2) :-parent(C,P), heterozygot(C,T1,T2).from a blood group knowledge base1 may ex-press that the genotype of a parent P of a per-son C is either T1 or T2, if C is heterozygotwith types T1 and T2.After a body of work on the theoretical foun-dations, more recently implementations of non-monotonic reasoning systems have been tack-led [19, 9, 1, 23]. The dlv system is an e�ortin this vein, which aims at providing a KR toolbased on disjunctive logic programming (DLP)under the stable model semantics [15, 16, 21]and, for true negation, under the answer set se-mantics [16]. The system supports front-endsto KR applications, and can serve as a declar-ative knowledge programming language.The general approach to the system has beendescribed in [13]. In this paper, we describethe state of the art of the implementation andpresent a quantitative and qualitative com-parison to similar KR systems. Our resultslook promising and show that the current im-plementation is competitive among the fastestsystems. Moreover, by its supreme expressivecapability, dlv embodies the most convenientand powerful KR system among those consid-ered here.2 SYSTEM OVERVIEWThe system architecture is shown in Figure 1.The internal system language is function-freeDLP with true negation [16] and integrity con-straints. The kernel is an e�cient engine forcomputing all or some stable models of a pro-gram. Various frontends, i.e. translators forspeci�c applications into the internal language,have been developed on top of it (cf. Sec-tion 3). A Graphical User Interface (GUI) pro-vides convenient access to both the system andits front-ends.The heart of the system is the Query Proces-sor (QP). It controls the system execution1Courtesy of Dietmar Seipel.

and { together with the integrated frontends{ it performs pre-processing of the input andpost-processing of the generated models, re-spectively. Upon startup, QP reads the (non-ground) program and passes it to the Rulesand Graphs Handler (RGH), which splits itinto subprograms. These subprograms arethen, together with facts from a database (Or-acle or Access �les), submitted to the Intelli-gent Grounding Module, which e�ciently gen-erates a subset of the grounded input programwhich has the same stable models, but is muchsmaller in general. (For strati�ed programs,for example, the Grounding already computesthe single stable model.)QP then again invokes RGH, which gen-erates two partitionings into components ofthe grounded program. They are used bythe Model Generator (MG) and the ModelChecker, and enable a modular program evalu-ation. This often yields a tremendous speedup.Then, the heart of the computation is per-formed by the Model Generator and ModelChecker. Roughly, the Model Generator pro-duces some \candidates" stable models, whosestability is veri�ed by the Model Checker.The generation of the stable models of a pro-gram LP relies on a monotonic operator WLP[17] that extends to the disjunctive case thewell-founded operator of [26]. It is de�ned interms of a proper notion of unfounded set. In-tuitively, an unfounded set for a disjunctiveprogram P w.r.t. an interpretation I is a setof positive literals that de�nitely cannot be de-rived from P assuming the facts in I [17].Brie y, the algorithm works as follows.W!LP (;) is �rst computed, which is containedin every stable model. If W!LP (;) is a to-tal model, it is returned as the unique stablemodel. Otherwise, moving from W!LP (;) to-wards the stable models, a conjunction of lit-erals (called possibly-true conjunction in [17]),the truth of which allows to infer new atoms,is assumed true. The computation proceeds byiteratively applying the in ationary version of

HandlerRules and GraphsIntelligent

Grounding

GroundProgram

DependencyGraphs

Model Generator

Model Checker

Access

EDB

File System

EDB

Oracle

EDB

Query Processor

Extended DLP SQL3Translator Translator

Command - line

GUI

Reiter’s Diagnosis

Abductive Diagnosis

BraveReasoning

CautiousReasoning

Figure 1: The System Architecture of dlvthe immediate consequence operator, until ei-ther a total model of LP is reached or two con-tradictory literals are generated. In the lattercase, backtracking is performed; in the formercase, the Model Checker is invoked.The Model Checker (MC) veri�es whetherthe model at hand is a stable model. This taskis very hard in general, because checking thestability of a model is well known to be co-NP-complete (cf. [12]). However, recent studies [3,4, 17] unveiled that minimal model checking |the hardest part of stable model checking| canbe e�ciently performed for the relevant class ofhead-cycle-free (HCF) programs [3].The MC satis�es the above complexitybounds. Indeed (a) it terminates in polyno-mial time on every HCF program; and (b) it al-ways runs in polynomial space and single expo-nential time. Moreover, even on general (non-HCF) programs, the MC limits the ine�cientpart of the computation to the modules that

are not HCF (Note that it may well happenthat only a very small part of the program isnot HCF).Finally, once a stable model has been found,control is returned to QP, which performs post-processing and possibly invokes the MG to lookfor further models.More details on the basic algorithms im-plemented in the system can be found in[17, 13, 10]. For space reasons, we can not de-scribe here ongoing re�nements.3 THE APPLICATIONFRONT-ENDS3.1 THE NATIVE dlv INTERFACEThe native interface of the system o�ers thefull power of the internal language of dlv:function-free disjunctive logic programs ex-tended by allowing both integrity constraints

and true negation [16]. As will be evidentin Section 4, the presence of these constructsmakes our language well suited to easily repre-sent a wide range of problems in a natural andhighly declarative way.A dlv rule has the following form:L1 _ : : : _ Lk : � Lk+1; : : : ; Lm;not Lm+1; : : : ; not Lnwhere 1 � k � m � n and each Li is a literal,i.e., an atom a(t1,...,to) or its \classical"negation :a(t1,...,to), a being the predicatename of that atom, and each ti (1 � i � o)being either a constant or a variable. The con-vention on names is the one of Prolog.A constraint is like a rule with k = 0 andn � 1. A dlv program P is a pair < R;C >,where R is a set of dlv rules and C a set of con-straints. A stable model of P is any consistentanswer set of R [16] satisfying all constraintsin C.3.2 BRAVE AND CAUTIOUSREASONINGThe frontends for brave and cautious reason-ing are an extension of the native interface de-scribed above. In addition to the program, theuser also speci�es a query, which is essentiallythe body of a rule followed by a question mark:b1,: : :, bm, not bm+1,: : :, not bn ?where each bi (1 � i � n) is a ground literal.The brave reasoning frontend is invoked bythe -FB command line option. If the query Qevaluates to true in at least one stable modelM , then the system replies: \Q is bravely true,evidenced by M", i.e., returns a stable modelthat witnesses this fact; otherwise the answeris \Q is bravely false".Similarly, the cautious frontend is invoked by-FC, and the system answers \Q is cautiouslytrue" if and only if Q is true in all stable mod-els. In case of negative answer, we get: \Q iscautiously false, evidenced by M", where M isa stable model witnessing the falsity of Q.

3.3 DIAGNOSIS FRONTENDSdlv provides two kind of diagnosis frontends:the abductive diagnosis frontend [20, 11], andthe Reiter's diagnosis frontend [22].Our frontend for abductive diagnosis cur-rently supports three di�erent modes: gen-eral diagnosis, where all diagnoses are com-puted, subset minimal diagnosis2, and singlefailure diagnosis. These modes are invokedby the command line options -FD, -FDmin and-FDsingle, respectively.The diagnostic theory obeys the syntax de-scribed in Section 3.1. Hypothesis (resp. ob-servations) are lists of atoms (resp. literals)separated by a dot (.) and are stored in �leswhose names carry the extension .hyp (resp..obs).Basically, the diagnostic frontend works asfollows: After reading the input, disjunctiverules for guessing possible diagnosis candidatesare generated from the hypotheses, while theobservations become constraints that forbidthe generation of inconsistent diagnoses. In thecase of subset minimal diagnosis, further rulesare added for pruning non-minimal solutions.Finally, the grounding (and subsequently theMG etc.) are invoked, and for each reportedstable model, the corresponding diagnosis is re-turned.Example 1 (Network Diagnosis) Supposethat machine a is online in the computer net-work below, but we observe it cannot reachmachine e. Which machines are o�ine? Thiscan be easily modelled as a diagnosis problem,where the theory isreaches(X;X) : � node(X); not offline(X):reaches(X;Z) : � reaches(X;Y );connected(Y; Z);not offline(Z):and the observations and hypotheses are re-spectivelynot offline(a). not reaches(a,e).2For positive non-disjunctive theories only.

a

b

c d

e

f

Figure 2: Computer networkandoffline(a).offline(b).offline(c).offline(d).offline(e).offline(f).The frontend for consistency-based diagno-sis as described by Reiter [22] works similarly.The command line options are -FR, -FRmin and-FRsingle, respectively.3.4 FURTHER FRONTENDSThe system has a SQL3-frontend based on thecurrent working draft for the standard. It sup-ports recursive query processing such as thebill-of-materials problem.Other frontends are currently under way. Wehave started work on a frontend for inheritancereasoning based on the approach in [14]; a fron-tend for extended logic programs with prefer-ences as in [5] will be tackled in the near future.4 COMPARISONS ANDBENCHMARKSIn this section, we compare dlv with twoprominent and e�ective recent systems for non-monotonic reasoning, DeReS [9] and Smodels[19] on a diversi�ed collection of benchmarkproblems. Basically, we follow the method-ology for testing nonmonotonic systems sug-gested in TheoryBase [8].

4.1 OVERVIEW OF THECOMPARED KR SYSTEMSSmodels [19] has been recently recognized asthe best system to compute stable models fornormal (i.e., non-disjunctive) logic programs[25]. Upon request, the system returns the sta-ble models of the input program. Smodels sup-ports a kind of brave reasoning by allowing theuser to specify a set of atoms that must belongto every returned stable model. It is also pos-sible to specify a maximum number of desiredstable models. Thus, Smodels also supportsnondeterministic semantics: by selecting onlyone stable model, we look for any nondeter-ministically chosen stable model of the givenprogram.DeReS [9] is a KR system implementing clas-sical default logic. It supports several basicreasoning tasks such as testing whether exten-sions exist, and �nding one or all extensions.If the input theory amounts to a logic pro-gram, DeReS computes its stable models andsupports queries on membership of an atomin some or all stable models. DeReS handlesonly propositional theories. Thus, no uniformproblem representation for varying backgroundfacts is supported. A preliminary instantiationis needed to emulate programs with variables.4.2 ENCODING OF BENCHMARKPROBLEMSNext we present several problems, drawn fromdi�erent domains, for comparing the KR sys-tems. Some examples have been repeatedlyused for system evaluation. However, we alsopresent some novel benchmark problems whichare challenging for KR Systems.Ancestor. Given the parent relationshipparent( ; ), �nd the genealogy tree of each per-son in the database.This is a classical deductive database exam-ple, which has been used to compare the perfor-mances of several DDB systems. We considerit to test the suitability of the systems for han-

dling DDB applications and double recursion.For each system, the encoding looks like:ancestor(X,Y) :- parent(X,Y).ancestor(X,Y) :- ancestor(X,U),ancestor(U,Y).Graph 3-colorability. Given a graph, rep-resented by facts of the form node( ) andedge( , ), assign each node one of three colorssuch that no two adjacent nodes have the samecolor.3-colorability is a classical NP-completeproblem, which has been used as a benchmarkproblem for DeReS [19] and Smodels [9]. Indlv, the problem can be encoded in a very easyand natural way by means of disjunction andconstraints:col(X,r)_ col(X,g)_ col(X,b) : � node(X).:- edge(X,Y), col(X,C), col(Y,C).The disjunctive rule nondeterministicallychooses a color for each node X in the graph;the constraint enforces that the choices are le-gal.In Smodels, the problem can be easily encodedas well, but we cannot use either constraints ordisjunction, which must be simulated by un-strati�ed negation.col(X; r) : � node(X); not col(X; g);not col(X; b):col(X; g) : � node(X); not col(X; r);not col(X; b):col(X; b) : � node(X); not col(X; g);not col(X; r):bad : � edge(X;Y ); col(X;C);col(Y;C); not bad:Evidently, dlv allows for a more elegant prob-lem representation.The encoding used for DeReS is �3col as de-scribed in [8]. For space reasons, we can notlist this encoding here.Prime Implicants. Find the prime impli-cants of a propositional CNF formula � =

Vni=1(di1 _ : : :_dici), where the di;j are literalsover the variables x1; : : : ; xm.Recall that a prime implicant of � is a con-sistent conjunction I of literals such that I j= �and for no subformula I 0 of I we have I 0 j= �.As easily seen, a prime implicant exists if andonly if � is satis�able. Thus, �nding a primeimplicant of � subsumes the satis�ability prob-lem for �.The representation in dlv is natural and sim-ple. Here, true negation in the language playsa key role. we have a literal translation of �into a dlv program P :d11 _ : : : _ d1c1 : : : : dn1 _ : : : _ dncn :It is easy to see that the stable models of P (cf.Section 3) correspond 1-1 to the prime impli-cants of �.Smodels has no true negation nor disjunc-tion. We thus rewrite P to a normal logicprogram as follows.First, each literal :xi is re-placed by a new atom x0i, and a constraintbad : � xi; x0i; not bad :is added, which enforces that no stable modelcan contain both xi and x0i, for any 1 � i � m.Then any disjunctive rule corresponding to thei-th clause (1 � i � n)di1 _ : : : _ dici :is replaced by ci non-disjunctive rulesdil : � not di1; : : : ; not di(l�1);not di(l+1); : : : ; not dici :where 1 � l � ci.For DeReS, the input theory for � has beengenerated by taking the ground instance forthe Smodels program, which is then translatedinto default rules using the translation whichmaps a rule A : �B1; : : : ; Bn; not C1; : : : ; not Ckinto the default B1^���^Bn : notC1;:::;notCkA .Strategic Companies. The strategic com-panies problem is from [7]; it is, to the bestof our knowledge, the only �P2 -complete KR

problem from the business domain. No exper-imental results for any �P2 -complete KR prob-lems are known.Brie y, a holding owns companies, each ofwhich produces some goods. Moreover, severalcompanies may have jointly control over an-other company. Now, some companies shouldbe sold, under the constraint that all goods canbe still produced, and that no company is soldwhich would still be controlled by the holdingafter the transaction. A company is strategic, ifit belongs to a strategic set, which is a minimalset of companies satisfying these constraints.Those sets are expressed by the following nat-ural program:strategic(C1) v strategic(C2) :-produced_by(P,C1,C2).strategic(C) :-controlled_by(C,C1,C2,C3),strategic(C1),strategic(C2),strategic(C3).Here strategic(C) means that C is strate-gic, produced by(P;C1; C2) that product Pis produced by companies C1 and C2,and controlled by(C;C1; C2; C3) that C isjointly controlled by C1; C2 and C3; we haveadopted here from [7] that each product isproduced by at most two companies and eachcompany is jointly controlled by at most threeother companies.The problem is to �nd out the set of allstrategic companies (i.e., under brave reason-ing, for which C the fact strategic(C) istrue).Note that this problem can not be expressedby a �xed normal logic program uniformly onall collections of facts produced by(p; c1; c2)and controlled by(c; c1; c2; c3) (unless NP =�P2 , an unlikely event). The only system ca-pable of this problem besides ours is DeReS,provided that a default theory is constructedad hoc by instantiation for an instance.For DeReS, we have translated the above dlvprogram into a default theory based on the

translation tr1 [18] (which is appropriate forour purposes). We have also tried a variant ofthe translation which uses CWA defaults.Smodels and similar systems can not expressStrategic Companies. They must use, bycurrent methods, ad hoc programs for partic-ular instances, which need in general exponen-tial time for construction.4.3 EXPERIMENTAL RESULTSThe results of our experiments are displayed inFigure 6. They were run on a SUN Ultra 1/143under Solaris 2.5.1, using gcc 2.7.2. The inputsfor Prime Implicants and Strategic Com-panies were randomly generated; all systemsreceived the same random input.Since DeReS cannot handle non-ground the-ories, we generated ground theories using theTheoryBase tool [8]. The time for this ground-ing is not included in the �gures, as it is di�-cult to assess. It is based on disk saving, whichtakes on average about one minute total timefor larger theories, of which about 15% is CPUtime. Thus, the actual total time for DeReS ishigher.For Ancestor, we used instances in whichthe ancestor relation is as depicted in Figure 3.The x-axis of the diagram in Figure 6 showsthe number n of people, while the y-axis showsthe total time. It appears that both dlv andSmodels show a similar time behavior, butSmodels has a steeper increase; for 250 people,dlv is doing about 25% faster than Smodels.Note thatAncestor is mainly a grounding andforward chaining benchmark; as DeReS has novariables, it is not considered here.For Graph 3-Colorability, we have con-sidered two classes of graphs, namely laddergraphs and simplex graphs (see Figure 4 andFigure 5). The results (see Figure 6) showthat Smodels and dlv have a similar behav-ior, but the increase for dlv is slower; for lad-der graphs, it runs about 40% faster and forsimplex graphs, about 50% faster; moreover, itscales up better to large graphs. DeReS is com-

Figure 3: Parent relationFigure 4: Ladder Graphparable to dlv, but could only handle instancesup to about 1100 nodes resp. 650 nodes in to-tal, while the system capacity was exceededon larger ones. If auxiliary �les generated byTheoryBase (whose purpose is not evident) areremoved, then DeReS is running considerablyslower on both problems.For Prime Implicants, we have randomlygenerated CNF formulas on n variables usingthe system of Selman and Kautz [24], wherethe ratio between the number of clauses andthe number of variables is 4.3 (these tend tobe hard SAT instances).Here, Smodels has unbeatable performancewhich nearly parallels the x-axis. dlv has rea-sonable performance up to n = 25, but thenthe time increases rapidly. (Note that we donot have a smooth curve, since the instancesare random.) This may be explained by cur-rent weaknesses of dlv in backtracking in theprocess of model generation. The implementa-tion of intelligent backtracking strategies andmodular evaluation is under way (and will be

Figure 5: Simplex Graphcompleted soon), which will improve the per-formance signi�cantly. Surprisingly, DeReShas very long running time with steep increase,which is not plotted here. We have no expla-nation for this.For Strategic Companies, we have gener-ated two kinds of tests, each with instances forn companies and 3n products.For the �rst test, whose results are reportedin the left graph, we uniform randomly chosethe produced by and the controlled by re-lations, where each company is controlled bya single joint consortium obeying the obviousconstraint that no company can control itself.In the second test, reported in the right graph,each company is controlled by one to �ve com-panies (Two consortia have to have at least onemember in common), where again the actualnumber of companies is uniform randomly cho-sen. On average there are 1.5 controlled byrelations per company.As mentioned above, Strategic Compa-nies is a problem which cannot be representedin Smodels, and in DeReS only via preliminaryinstantiation. The results for dlv are interest-ing. Up to roughly 50 companies, the evalu-ation in the �rst case is very fast, and thenthe running time increases similar as in case ofPrime Implicants. In the second case per-formances are somewhat worse and it seemsthat very hard instances can be met even withfewer companies. We believe that further simi-lar tests may prove useful to better understand

the complex nature of �P2 -hard problems.For DeReS, we observed very long runningtimes with steep increase, and only small in-stances could be handled. The results are notincluded in the �gure.5 DISCUSSION ANDCONCLUSIONThe encoding of benchmark problems in thevarious KR systems, reported in the previoussection, highlights quite clearly that dlv is themost powerful system from the perspective ofknowledge representation power.All problems we considered are representedin dlv in a simpler and more natural fash-ion than in the other systems. This resultcon�rms the usefulness of extending logic pro-gramming by disjunction, true negation and in-tegrity constraints. Roughly, disjunction andintegrity constraints allowed an elegant andhighly declarative encoding of 3-Colorability,and true negation played a key role for the rep-resentation of Prime Implicants. Moreover,the encoding of Strategic Companies waspossible only thanks to the presence of disjunc-tion (indeed, this problem can not be solved bySmodels).Even if dlv is young (the project started onlyone year ago), and still misses some optimiza-tion techniques (that are currently under de-velopment), on average it compared positivelyto the other systems also from the viewpoint ofe�ciency. Indeed, dlv showed the best perfor-mances on Ancestor and on 3-Coloring forsimplex graphs; it was evidently slower only inthe case of Prime Implicants (and, even inthis case, only compared to Smodels).Importantly, dlv was the only system ableto handle Strategic Companies. This exam-ple is important since it de�nitely requires theuse of disjunction in knowledge representation,and can not be expressed without. Thus, theexperimental results that we obtained are alsointeresting from the respect what running time

behaviors the need for disjunction as a mod-elling construct may invoke. As it appeared,up to some realistic instance size, the problemcould be handled in reasonable time. This indi-cates that the expressive power of our dlv sys-tem is quite convenient: We may express theproblem on all possible inputs, without bother-ing about restrictions on the problem instanceunder which we can write a program (like inSmodels), while the actual running time on in-stances is still acceptable. Further experimentsin this direction will be taken.The experiments show that DeReS can bepro�tably used when it can exploit the encod-ing provided by TheoryBase. Indeed, on both"3-coloring" examples (where we used the The-oryBase encoding for DeReS) the system wascomparable to dlv. However, without the The-oryBase encoding (that was not available onPrime Implicants and Strategic Compa-nies) the system was very slow. Moreover,even on 3-Coloring, it was not able handlelarge instances.In our opinion, this is because DeReS isa propositional system and has been thoughtto be used with TheoryBase. Smodels con-�rmed to be a very solid implementation ofthe stable model semantics for normal (non-disjunctive) programs. OnAncestor and both3-Coloring its performances were comparableto dlv (only slightly worse), and Smodels wasthe most e�cient system on Prime Impli-cants. The latter problem evidences that dlvis not yet e�cient on all domains and that theongoing work on modular evaluation and intel-ligent backtracking is de�nitely needed to makethe system very solid.Currently, we are improving the systemalong the lines of [10], in particular, the ModelGenerator, which will boost the performanceon problems like Prime Implicant and prob-lems with unstrati�ed negation. Another im-portant ongoing activity concerns the devel-opment of e�cient data structures that willsupport linear time implementation of our dis-

junctive operators. Moreover, we are workingalso on linguistic extensions, adding weak con-straints to the system [6]. This will increasethe expressive power of the system beyond�P2 , which enables us to represent problems ofhigher complexity (in particular, diagnostic ex-amples). Furthermore, these constraints allowfor a more natural problem representation inmany cases. In addition, we are pursuing thedevelopment of further KR frontends, whichexploit dlv as a declarative knowledge repre-sentation system.For up-to-date information and a downloadof the system as well as some further ex-amples, please visit the project homepage athttp://www.dbai.tuwien.ac.at/proj/dlv/.AcknowledgementsThe work was partially supported by FWF(Austrian Science Funds) under the projectP11580-MAT \A Query System for Disjunc-tive Deductive Databases" and by the ItalianMURST under the project for Italy-Austria co-operation Advanced Formalisms and Systemsfor Nonmonotonic Reasoning.The authors are deeply indebted toWolfgangFaber, who designed and implemented the au-tomated benchmark tool for dlv, and helpedin conducting the experiments.References[1] C. Aravindan, J. Dix, and I. Niemel�a.Dislop: A research project on disjunctivelogic programming. AI Communications,10(3/4):151{165, 1997.[2] C. Baral and M. Gelfond. Logic Pro-gramming and Knowledge Representa-tion. Journal of Logic Programming,19/20:73{148, 1994.[3] R. Ben-Eliyahu and R. Dechter. Propo-sitional Semantics for Disjunctive LogicPrograms. Annals of Mathematics andArti�cial Intelligence, 12:53{87, 1994.

[4] R. Ben-Eliyahu and L. Palopoli. Reason-ing with Minimal Models: E�cient Algo-rithms and Applications. In ProceedingsFourth International Conference on Prin-ciples of Knowledge Representation andReasoning (KR-94), pages 39{50, 1994.[5] G. Brewka. Preferred Answer Sets. In Pro-ceedings Workshop on Logic Programmingand Knowledge Representation, at ILPS'97, Port Je�erson, October 1997.[6] F. Buccafurri, N. Leone, and P. Rullo.Strong and Weak Constraints in Disjunc-tive Datalog. In Proceedings of the 4th In-ternational Conference on Logic Program-ming and Non-Monotonic Reasoning (LP-NMR '97), Dagstuhl, Germany, July 1997.[7] M. Cadoli, T. Eiter, and G. Gottlob. De-fault Logic as a Query Language. IEEETransactions on Knowledge and Data En-gineering, 9(3):448{463, May/June 1997.[8] P. Cholewi�nski, V. W. Marek, A. Miki-tiuk, and M. Truszczy�nski. Experimentingwith Nonmonotonic Reasoning. In Pro-ceedings of the 12th International Confer-ence on Logic Programming (ICLP-95),pages 267{281, Shonan Village Center,Japan, June 1995. MIT Press.[9] P. Cholewi�nski, V. W. Marek, andM. Truszczy�nski. Default Reasoning Sys-tem DeReS. In Proceedings of Interna-tional Conference on Principles of Knowl-edge Representation and Reasoning (KR'96), Cambridge, Massachusetts, USA,1996.[10] S. Citrigno, T. Eiter, W. Faber, G. Got-tlob, C. Koch, N. Leone, C. Mateis,G. Pfeifer, and F. Scarcello. The dlvSystem: Model Generator and Applica-tion Frontends. In Proceedings of the 12thWorkshop on Logic Programming (WLP'97), Research Report PMS-FB10, pages128{137, M�unchen, Germany, September1997. LMU M�unchen.

0 50 100 150 2000

100

200

300

400

[s]

of(number

time

Graph size nodes)

Tot

alE

xecu

tion

dlvsmodels

0 500 1000 15000

50

100

150

200

250

300

[s]

sizeGraph

time

(number

Exe

cutio

nT

otal

nodes)ofdlvsmodelsDeReSResults for Ancestor Results for 3-COL Ladder Graphs

0 200 400 600 800 1000 12000

50

100

150

200

250

300

[s]

sizeGraph

time

(number

Exe

cutio

nT

otal

nodes)ofdlvsmodelsDeReS

10 15 20 25 30 35 400

100

200

300

400

500

[s]

ofProblem size (number variables)

Exe

cutio

nT

otal

time

smodelsdlv

*Results for 3-COL Simplex Graphs Results for Prime Implicants

20 30 40 50 600

100

200

300

400

(Number of companies)

Tot

alE

xecu

tion

time

[s]

0 10 20 30 400

100

200

300

400

(Number of companies)

Tot

alE

xecu

tion

time

[s]

Results for Strategic Companies Results for Strategic CompaniesFigure 6: Experimental Results

[11] T. Eiter, G. Gottlob, and N. Leone. Ab-duction From Logic Programs: Seman-tics and Complexity. Theoretical Com-puter Science, 189(1{2):129{177, Decem-ber 1997.[12] T. Eiter, G. Gottlob, and H. Mannila.Disjunctive Datalog. ACM Transactionson Database Systems, 22(3):315{363, Sep-tember 1997.[13] T. Eiter, N. Leone, C. Mateis, G. Pfeifer,and F. Scarcello. A Deductive Sys-tem for Nonmonotonic Reasoning. InJ. Dix, U. Furbach, and A. Nerode, edi-tors, Proceedings of the 4th InternationalConference on Logic Programming andNonmonotonic Reasoning (LPNMR '97),number 1265 in Lecture Notes in AI(LNAI), Berlin, 1997. Springer.[14] M. Gelfond and A. Gabaldon. FromFunctional Speci�cations to Logic Pro-gramms. In Proceedings of the Inter-national Logic Programming Symposium(ILPS '97), pages 355{369, 1997.[15] M. Gelfond and V. Lifschitz. The StableModel Semantics for Logic Programming.In Logic Programming: Proceedings FifthIntl Conference and Symposium, pages1070{1080, Cambridge, Mass., 1988. MITPress.[16] M. Gelfond and V. Lifschitz. ClassicalNegation in Logic Programs and Disjunc-tive Databases. New Generation Comput-ing, 9:365{385, 1991.[17] N. Leone, P. Rullo, and F. Scarcello. Dis-junctive stable models: Unfounded sets,�xpoint semantics and computation. In-formation and Computation, 135(2):69{112, June 1997.[18] W. Marek and M. Truszczy�nski. Stablesemantics for logic programs and defaulttheories. In Proceedings NACLP-89. MITPress, 1989.

[19] I. Niemel�a and P. Simons. E�cient Imple-mentation of the Well-founded and StableModel Semantics. In Proceedings of the1996 Joint International Conference andSymposium on Logic Programming, pages289{303, Bonn, Germany, Sept. 1996.[20] D. Poole. Explanation and Prediction: AnArchitecture for Default and AbductiveReasoning. Computational Intelligence,5(1):97{110, 1989.[21] T. C. Przymusinski. Stable Semantics forDisjunctive Programs. New GenerationComputing, 9:401{424, 1991.[22] R. Reiter. A Theory of Diagnosis FromFirst Principles. Arti�cial Intelligence,32:57{95, 1987.[23] D. Seipel and H. Th�one. DisLog { ASystem for Reasoning in Disjunctive De-ductive Databases. In Proceedings Inter-national Workshop on the Deductive Ap-proach to Information Systems and Data-bases (DAISD'94), 1994.[24] B. Selman and H. Kautz, 1997. URLftp.research.att.com/dist/ai.[25] M. Truszczy�nski. Automated reasoningwith non-monotonic logics (invited talk).In Proceedings of the 4th InternationalConference on Logic Programming andNon-Monotonic Reasoning (LPNMR '97),pages 112{114, 1997.[26] A. van Gelder, K. Ross, and J. Schlipf.The Well-Founded Semantics for GeneralLogic Programs. Journal of the ACM,38(3):620{650, 1991.