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

2009

Relational Models for Tabling Logic Programs in a Database

Authors
Costa, P; Rocha, R; Ferreira, M;

Publication
APPLICATIONS OF DECLARATIVE PROGRAMMING AND KNOWLEDGE MANAGEMENT

Abstract
Resolution strategies based on tabling are considered to be particularly effective in Logic Programming. Unfortunately, when faced with applications that compute large and/or many answers, memory exhaustion is a potential problem. In such cases, table deletion is the most common approach to recover space. In this work, we propose a different approach, storing tables into a relational database. Subsequent calls to stored tables import answers from the database, rather than performing a complete re-computation. To validate this approach, we have extended the YapTab tabling system, providing engine support for exporting and importing tables to and from the MySQL RDBMS. Three different relational models for data storage and two recordset retrieval strategies are compared.

2009

One Table Fits All

Authors
Costa, J; Rocha, R;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES

Abstract
Tabling is all implementation technique that overcomes some limitations of traditional Prolog systems in dealing with redundant sub-computations and recursion. The performance of tabled evaluation largely depends on the implementation of the table space. Arguably, the most successful data structure for tabling is tries. However, while tries are efficient for variant based tabled evaluation, they are limited ill their ability to recognize and represent repeated answers for different calls. In this paper, we propose a new design for the table space where tabled subgoal calls and/or answers are stored only once in a common global trie instead of being spread over several different tries. Our preliminary experiments using the YapTab tabling system show very promising reductions on memory usage.

2008

Global Storing Mechanisms for Tabled Evaluation

Authors
Costa, J; Rocha, R;

Publication
LOGIC PROGRAMMING, PROCEEDINGS

Abstract
Arguably. the most successful data, structure for tabling is tries. However, while tries are very efficient for variant based tabled evaluation, they are limited in their ability to recognize and represent, repeated terms in different tabled calls or/and answers. lit this paper, we propose a new design for the table space where tabled terms are stored in a common global trie instead of being spread over several different tries.

2008

On the Efficient Execution of ProbLog Programs

Authors
Kimmig, A; Costa, VS; Rocha, R; Demoen, B; De Raedt, L;

Publication
LOGIC PROGRAMMING, PROCEEDINGS

Abstract
The past few years have seen a surge of interest in the field of probabilistic logic learning or statistical relational learning. In this endeavor, many probabilistic logics have been developed. ProbLog is a recent probabilistic extension of Prolog motivated by the mining of large biological networks. In ProbLog, facts can be labeled with mutually independent probabilities that they belong to a randomly sampled program. Different kinds of queries can be posed to ProbLog programs. We introduce algorithms that allow the efficient execution of these queries, discuss their implementation on top of the YAP-Prolog system, bind evaluate their performance in the context of large networks of biological entities.

2008

ILP - Just Trie it

Authors
Camacho, R; Fonseca, NA; Rocha, R; Costa, VS;

Publication
INDUCTIVE LOGIC PROGRAMMING

Abstract
Despite the considerable success of Inductive Logic Programming (ILP), deployed ILP systems still have efficiency problems when applied to complex problems. Several techniques have been proposed to address the efficiency issue. Such proposals include query transformations, query packs, lazy evaluation and parallel execution of ILP systems, to mention just a few. We propose a novel technique that avoids the procedure of deducing each example to evaluate each constructed clause. The technique takes advantage of the two stage procedure of Mode Directed Inverse Entailment (MDIE) systems. In the first stage of a MDIE system, where the bottom clause is constructed, we store not only the bottom clause but also valuable additional information. The information stored is sufficient to evaluate the clauses constructed in the second stage without the need for a theorem prover. We used a data structure called Trie to efficiently store all bottom clauses produced using all examples (positive and negative) as seeds. The technique was implemented and evaluated using two well known data sets from the ILP literature. The results are promising both in terms of execution time and accuracy.

2005

On applying tabling to inductive logic programming

Authors
Rocha, R; Fonseca, N; Costa, VS;

Publication
MACHINE LEARNING: ECML 2005, PROCEEDINGS

Abstract
Inductive Logic Programming (ILP) is an established subfield of Machine Learning. Nevertheless, it is recognized that efficiency and scalability is a major obstacle to an increased usage of ILP systems in complex applications with large hypotheses spaces. In this work, we focus on improving the efficiency and scalability of ILP systems by exploring tabling mechanisms available in the underlying Logic Programming systems. Tabling is an implementation technique that improves the declarativeness and performance of Prolog systems by reusing answers to subgoals. To validate our approach, we ran the April ILP system in the YapTab Prolog tabling system using two well-known datasets. The results obtained show quite impressive gains without changing the accuracy and quality of the theories generated.

  • 14
  • 19