The Community for Technology Leaders
RSS Icon
Subscribe
Issue No.04 - August (1994 vol.6)
pp: 501-517
ABSTRACT
<p>Logic programs can be evaluated bottom-up by repeatedly applying all rules, in "iterations", until the fixpoint is reached. However, it is often desirable-and, in some cases, e.g. programs with stratified negation, it is even necessary to guarantee the semantics-to apply the rules in some order. We present two algorithms that apply rules in a specified order without repeating inferences. One of them (GSN) is capable of dealing with a wide range of rule orderings, but with a little more overhead than the well-known seminaive algorithm (which we call BSN). The other (PSN) handles a smaller class of rule orderings, but with no overheads beyond those in BSN. We also demonstrate that by choosing a good ordering, we can reduce the number of rule applications (and thus the number of joins). We present a theoretical analysis of rule orderings and identify orderings that minimize the number of rule applications (for all possible instances of the base relations) with respect to a class of orderings called fair orderings. We also show that though nonfair orderings may do a little better on some data sets, they can do much worse on others. The analysis is supplemented by performance results.</p>
INDEX TERMS
deductive databases; query processing; logic programming; program compilers; bottom-up fixpoint evaluation; logic programs; semantics; GSN; rule ordering; BSN; PSN; base relations; fair orderings; performance results; control expression; cyclic ordering; deductive database; query evaluation
CITATION
R. Ramakrishnan, D. Srivastava, S. Sudarshan, "Rule Ordering in Bottom-Up Fixpoint Evaluation of Logic Programs", IEEE Transactions on Knowledge & Data Engineering, vol.6, no. 4, pp. 501-517, August 1994, doi:10.1109/69.298169
23 ms
(Ver 2.0)

Marketing Automation Platform Marketing Automation Tool