Rule ordering in bottom-up fixpoint evaluation of logic programs
Ramakrishnan, R.
Srivastava, D.
Sudarshan, S.
Dept. of Comput. Sci., Wisconsin Univ., Madison, WI;
This paper appears in: Knowledge and Data Engineering, IEEE Transactions on
Publication Date: Aug 1994
Volume: 6,
Issue: 4
On page(s): 501-517
ISSN: 1041-4347
References Cited: 26
INSPEC Accession Number: 4762961
Digital Object Identifier: 10.1109/69.298169
Current Version Published: 2002-08-06
Abstract
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
Index
Terms
Available to subscribers and IEEE members.
References
Available to subscribers and IEEE members.
Citing Documents
Available to subscribers and IEEE members.