Skip to main content Accessibility help
×
Home

Efficient instance retrieval of subgoals for subsumptive tabled evaluation of logic programs

  • FLÁVIO CRUZ (a1) and RICARDO ROCHA (a1)

Abstract

Tabled evaluation is an implementation technique that solves some problems of traditional Prolog systems in dealing with recursion and redundant computations. Most tabling engines determine if a tabled subgoal will produce or consume answers by using variant checks. A more refined method, named call subsumption, considers that a subgoal A will consume from a subgoal B if A is subsumed by (an instance of) B, thus allowing greater answer reuse. We recently developed an extension, called Retroactive Call Subsumption, that improves upon call subsumption by supporting bidirectional sharing of answers between subsumed/subsuming subgoals. In this paper, we present both an algorithm and an extension to the table space data structures to efficiently implement instance retrieval of subgoals for subsumptive tabled evaluation of logic programs. Experiments results using the YapTab tabling system show that our implementation performs quite well on some complex benchmarks and is robust enough to handle a large number of subgoals without performance degradation.

Copyright

References

Hide All
Chen, W. and Warren, D. S. 1996. Tabled evaluation with delaying for general logic programs. Journal of the ACM 43 (1), 2074.
Cruz, F. and Rocha, R. 2010. Retroactive subsumption-based tabled evaluation of logic programs. In Proc. of European Conference on Logics in Artificial Intelligence. Lecture Notes in Artificial Intelligence, vol. 6341. Springer-Verlag, 130142.
Johnson, E. 2000. Interfacing a tabled-WAM engine to a tabling subsystem supporting both variant and subsumption checks. In Proc. of Conference on Tabulation in Parsing and Deduction, 155–162.
Johnson, E., Ramakrishnan, C. R., Ramakrishnan, I. V. and Rao, P. 1999. A space efficient engine for subsumption-based tabled evaluation of logic programs. In Proc. of Fuji International Symposium on Functional and Logic Programming. Lecture Notes in Computer Science, vol. 1722. Springer-Verlag, 284300.
Ramakrishnan, I. V., Rao, P., Sagonas, K., Swift, T. and Warren, D. S. 1999. Efficient access mechanisms for tabled logic programs. Journal of Logic Programming 38 (1), 3154.
Rao, P., Ramakrishnan, C. R. and Ramakrishnan, I. V. 1996. A thread in time saves tabling time. In Proc. of Joint International Conference and Symposium on Logic Programming. The MIT Press, 112126.
Rao, P., Sagonas, K., Swift, T., Warren, D. S. and Freire, J. 1997. XSB: A system for efficiently computing well-founded semantics. In Proc. of International Conference on Logic Programming and Non-Monotonic Reasoning. Lecture Notes in Computer Science, vol. 1265. Springer-Verlag, 431441.
Rocha, R., Silva, F. and Santos Costa, V. 2000. YapTab: A tabling engine designed to support parallelism. In Proc. of Conference on Tabulation in Parsing and Deduction, 77–87.
Rocha, R., Silva, F. and Santos Costa, V. 2005. On applying or-parallelism and tabling to logic programs. Theory and Practice of Logic Programming 5 (1–2), 161205.
Yang, G. and Kifer, M. 2000. Flora: Implementing an efficient Dood system using a tabling logic engine. In Proc. of Computational Logic. Lecture Notes in Computer Science, vol. 1861. Springer-Verlag, 10781093.

Keywords

Efficient instance retrieval of subgoals for subsumptive tabled evaluation of logic programs

  • FLÁVIO CRUZ (a1) and RICARDO ROCHA (a1)

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 0 *
Loading metrics...

Abstract views

Total abstract views: 0 *
Loading metrics...

* Views captured on Cambridge Core between <date>. This data will be updated every 24 hours.

Usage data cannot currently be displayed