Cookies Policy
The website need some cookies and similar means to function. If you permit us, we will use those means to collect data on your visits for aggregated statistics to improve our service. Find out More
Accept Reject
  • Menu
Publications

Publications by Ricardo Rocha

2011

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

Authors
Cruz, F; Rocha, R;

Publication
THEORY AND PRACTICE OF LOGIC PROGRAMMING

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.

2011

Practical Aspects of Declarative Languages - 13th International Symposium, PADL 2011, Austin, TX, USA, January 24-25, 2011. Proceedings

Authors
Rocha, R; Launchbury, J;

Publication
PADL

Abstract

2006

Handling incomplete and complete tables in tabled logic programs (Extended abstract)

Authors
Rocha, R;

Publication
LOGIC PROGRAMMING, PROCEEDINGS

Abstract

2006

An external module for implementing linear tabling in prolog (Extended abstract)

Authors
Silva, C; Rocha, R; Lopes, R;

Publication
LOGIC PROGRAMMING, PROCEEDINGS

Abstract

2008

An improved continuation call-based implementation of tabling

Authors
de Guzman, PC; Carro, M; Hermenegildo, MV; Silva, C; Rocha, R;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS

Abstract
Tabled evaluation has been proved an effective method to improve several aspects of goal-oriented query evaluation, including termination and complexity. Several "native" implementations of tabled evaluation have been developed which offer good performance, but many of them require significant changes to the underlying Prolog implementation, including the compiler and the abstract machine. Approaches based on program transformation, which tend to minimize changes to both the Prolog compiler and the abstract machine, have also been proposed, but they often result in lower efficiency. We explore some techniques aimed at combining the best of these worlds, i.e., developing an extensible implementation which requires minimal modifications to the compiler and the abstract machine, and with reasonably good performance. Our preliminary experiments indicate promising results.

2007

On applying program transformation to implement suspension-based tabling in Prolog

Authors
Rocha, R; Silva, C; Lopes, R;

Publication
Logic Programming, Proceedings

Abstract

  • 11
  • 19