Cookies
O website necessita de alguns cookies e outros recursos semelhantes para funcionar. Caso o permita, o INESC TEC irá utilizar cookies para recolher dados sobre as suas visitas, contribuindo, assim, para estatísticas agregadas que permitem melhorar o nosso serviço. Ver mais
Aceitar Rejeitar
  • Menu
Publicações

Publicações por Ricardo Rocha

2009

One Table Fits All

Autores
Costa, J; Rocha, R;

Publicação
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

Autores
Costa, J; Rocha, R;

Publicação
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

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

Publicação
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

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

Publicação
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

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

Publicação
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.

2007

On improving the efficiency and robustness of table storage mechanisms for tabled evaluation

Autores
Rocha, R;

Publicação
Practical Aspects of Declarative Languages

Abstract
Most of the recent proposals in tabling technology were designed as a means to improve some practical deficiencies of current tabling execution models that reduce their applicability in particular applications. The discussion we address in this paper was also motivated by practical deficiencies we encountered, in particular, on the table storage mechanisms used for tabling support. To improve such mechanisms, we propose two new implementation techniques that make tabling models more efficient when dealing with incomplete tables and more robust when recovering memory from the table space. To validate our proposals, we have implemented them in the YapTab tabling system as an elegant extension of the original design.

  • 15
  • 19