Results 1 
5 of
5
Efficient BottomUp Evaluation Of Logic Programs
 THE STATE OF THE ART IN COMPUTER SYSTEMS AND SOFTWARE ENGINEERING
, 1992
"... In recent years, much work has been directed towards evaluating logic programs and queries on deductive databases by using an iterative bottomup fixpoint computation. The resulting techniques offer an attractive alternative to Prologstyle topdown evaluation in several situations. They are sound ..."
Abstract

Cited by 42 (4 self)
 Add to MetaCart
In recent years, much work has been directed towards evaluating logic programs and queries on deductive databases by using an iterative bottomup fixpoint computation. The resulting techniques offer an attractive alternative to Prologstyle topdown evaluation in several situations. They are sound and complete for positive Horn clause programs, are wellsuited to applications with large volumes of data (facts), and can support a variety of extensions to the standard logic programming paradigm. We present the basics of database query evaluation and logic programming evaluation, and then discuss bottomup fixpoint evaluation. We discuss an approach based upon using a program transformation ("Magic Templates") to restrict search, followed by fixpoint computation using a technique ("Seminaive evaluation") that avoids repeated inferences. The program transformation technique focuses the fixpoint evaluation, which is a forwardchaining strategy, by propagating bindings in the goal in a ma...
TopDown vs. BottomUp Revisited
 In Proceedings of the International Logic Programming Symposium
, 1991
"... Ullman ([Ull89a, Ull89b]) has shown that for the evaluation of safe Datalog programs, bottomup evaluation using Magic Sets optimization has time complexity less than or equal to a particular topdown strategy, Queuebased Rule Goal Tree (QRGT) evaluation. This result has sometimes been incorrectly i ..."
Abstract

Cited by 18 (6 self)
 Add to MetaCart
Ullman ([Ull89a, Ull89b]) has shown that for the evaluation of safe Datalog programs, bottomup evaluation using Magic Sets optimization has time complexity less than or equal to a particular topdown strategy, Queuebased Rule Goal Tree (QRGT) evaluation. This result has sometimes been incorrectly interpreted to mean that bottomup evaluation beats topdown evaluation for evaluating Datalog programstopdown strategies such as Prolog (which does no memoing, and uses last call optimization) can beat both QRGT and bottomup evaluation on some Datalog programs. In this paper we compare a Prolog evaluation based on the WAM model (using last call optimization) with a bottomup execution based on Magic Templates with Tail Recursion optimization ([Ros91]), and show the following: (1) Bottomup evaluation makes no more inferences than Prolog for rangerestricted programs. (2) For a restricted class of programs (which properly includes safe Datalog) the cost of bottomup evaluation is never ...
Unlimp  Uniqueness as a Leitmotiv for Implementation
, 1992
"... . When evaluation in functional programming languages is explained using calculus and/or term rewriting systems, expressions and function definitions are often defined as terms, that is as trees. Similarly, the collection of all terms is defined as a forest, that is a directed, acyclic graph where ..."
Abstract

Cited by 5 (2 self)
 Add to MetaCart
. When evaluation in functional programming languages is explained using calculus and/or term rewriting systems, expressions and function definitions are often defined as terms, that is as trees. Similarly, the collection of all terms is defined as a forest, that is a directed, acyclic graph where every vertex has at most one incoming edge. Concrete implementations usually drop the last restriction (and sometimes acyclicity as well), i.e. many terms can share a common subterm, meaning that different paths of subterm edges reach the same vertex in the graph. Any vertex in such a graph represents a term. A term is represented uniquely in such a graph if there are no two different vertices representing it. Such a representation can be established by using hashconsing for the creation of heap objects. We investigate the consequences of adopting uniqueness in this sense as a leitmotiv for implementation (called Unlimp), i.e. not allowing any two different vertices in a graph to represent ...
Within ARM's Reach: Compilation of LeftLinear Rewrite Systems via Minimal Rewrite Systems
, 1997
"... A new compilation technique for leftlinear term rewriting systems is presented, where rewrite rules are transformed into socalled minimal rewrite rules. These minimal rules have such a simple form that they can be viewed as instructions for an abstract rewriting machine (ARM). ..."
Abstract

Cited by 3 (1 self)
 Add to MetaCart
A new compilation technique for leftlinear term rewriting systems is presented, where rewrite rules are transformed into socalled minimal rewrite rules. These minimal rules have such a simple form that they can be viewed as instructions for an abstract rewriting machine (ARM).
Lazy Structure Sharing for Query Optimization
, 1993
"... We study lazy structure sharing as a tool for optimizing equivalence testing on complex data types. We investigate a number of strategies for a restricted case of the problem and provide upper and lower bounds on their performance (how quickly they effect ideal configurations of our data structure). ..."
Abstract
 Add to MetaCart
We study lazy structure sharing as a tool for optimizing equivalence testing on complex data types. We investigate a number of strategies for a restricted case of the problem and provide upper and lower bounds on their performance (how quickly they effect ideal configurations of our data structure). In most cases, the bounds provide nontrivial improvements over the naive lineartime equivalencetesting strategy that employs no optimization. 1 Supported by a Fannie and John Hertz Foundation fellowship, National Science Foundation Grant No. CCR8920505, and the Center for Discrete Mathematics and Theoretical Computer Science (DIMACS) under NSFSTC8809648. 2 Dept. of Computer Science and Automation, Indian Institute of Science, Bangalore 560012, India. Work completed while at Princeton University and DIMACS and supported by DIMACS under NSFSTC8809648. 3 Also affiliated with NEC Research Institute, 4 Independence Way, Princeton, NJ 08540. Research at Princeton University partially sup...