Batched Evaluation of Linear Tabled Logic Programs

Miguel Areias1 and Ricardo Rocha1

  1. CRACS & INESC TEC and Faculty of Sciences, University of Porto
    Rua do Campo Alegre, 1021/1055, 4169-007 Porto, Portugal
    {miguel-areias,ricroc}@dcc.fc.up.pt

Abstract

Logic Programming languages, such as Prolog, provide a highlevel, declarative approach to programming. Despite the power, flexibility and good performance that Prolog systems have achieved, some deficiencies in Prolog’s evaluation strategy - SLD resolution - limit the potential of the logic programming paradigm. Tabled evaluation is a recognized and powerful technique that overcomes SLD’s susceptibility in dealing with recursion and redundant sub-computations. In a tabled evaluation, there are several points where we may have to choose between different tabling operations. The decision on which operation to perform is determined by the scheduling algorithm. The two most successful tabling scheduling algorithms are local scheduling and batched scheduling. In previous work, we have developed a framework, on top of the Yap Prolog system, that supports the combination of different linear tabling strategies for local scheduling. In this work, we propose the extension of our framework to support batched scheduling. In particular, we are interested in the two most successful linear tabling strategies, the DRA and DRE strategies. To the best of our knowledge, no other Prolog system supports both strategies simultaneously for batched scheduling. Our experimental results show that the combination of the DRA and DRE strategies can effectively reduce the execution time for batched evaluation.

Key words

logic programming, linear tabling, scheduling

Digital Object Identifier (DOI)

https://doi.org/10.2298/CSIS121129066A

Publication information

Volume 10, Issue 4 (October 2013)
Special Issue on Advances in Model Driven Engineering, Languages and Agents
Year of Publication: 2013
ISSN: 1820-0214 (Print) 2406-1018 (Online)
Publisher: ComSIS Consortium

Full text

DownloadAvailable in PDF
Portable Document Format

How to cite

Areias, M., Rocha, R.: Batched Evaluation of Linear Tabled Logic Programs. Computer Science and Information Systems, Vol. 10, No. 4, 1775-1797. (2013)