Abstract
A useful optimization technique called memoization that uses a dynamic programming approach to computation in which intermediate results are saved and later reused to avoid redundant work is presented. The application of this principle to Horn-clause programming is explored. The table in which the intermediate results of computation are saved is known as an extension table since the set of tuples that satisfy a predicate, its extension, is stored in the table. Because of the nondeterminism in logic programming, an extension-table facility improves the termination and completeness characteristics of depth-first evaluation methods in the presence of recursion, and thus the consequences of memoizing in a relational system are much more far-reaching than in functional environments.
Original language | English (US) |
---|---|
Title of host publication | Unknown Host Publication Title |
Publisher | IEEE |
Pages | 264-272 |
Number of pages | 9 |
ISBN (Print) | 0818607998 |
State | Published - Dec 1 1987 |
Externally published | Yes |
ASJC Scopus subject areas
- Engineering(all)