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 CRACS

2007

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

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

Publication
Logic Programming, Proceedings

Abstract

2007

Efficient and scalable induction of logic programs using a deductive database system

Authors
Ferreira, M; Fonseca, NA; Rocha, R; Scares, T;

Publication
Inductive Logic Programming

Abstract
A consequence of ILP systems being implemented in Prolog or using Prolog libraries is that, usually, these systems use a Prolog internal database to store and manipulate data. However, in real-world problems, the original data is rarely in Prolog format. In fact, the data is often kept in Relational Database Management Systems (RDBMS) and then converted to a format acceptable by the ILP system. Therefore, a more interesting approach is to link the ILP system to the RDBMS and manipulate the data without converting it. This scheme has the advantage of being more scalable since the whole data does not need to be loaded into memory by the ILP system. In this paper we study several approaches of coupling ILP systems with RDBMS systems and evaluate their impact on performance. We propose to use a Deductive Database (DDB) system to transparently translate the hypotheses to relational algebra expressions. The empirical evaluation performed shows that the execution time of ILP algorithms can be effectively reduced using a DDB and that the size of the problems can be increased due to a non-memory storage of the data.

2007

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

Authors
Rocha, R;

Publication
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.

2007

Selected papers from SBLP 2007: The 11th Brazilian Symposium on Programming Languages J.UCS special issue

Authors
Bigonha, RS; Musicante, MA; Pardo, A; Garcia, A; Martini, A; Moreira, AF; De Melo, ACV; Du Bois, AR; Santos, A; Camarao, C; Rubira, C; Braga, C; Naumann, D; Haeusler, EH; De Carvalho Junior, FH; Cafezeiro, I; Palsberg, J; Jeuring, J; Saraiva, J; Guimaraes, J; Labra, J; Fiadeiro, JL; Figueiredo, L; Barbosa, LS; Menezes, LC; Maia, M; De Valente, MTO; Bigonha, MAS; Benton, N; Rodriguez, N; Borba, P; Mosses, PD; Lins, RD; Cerqueira, R; Lima, RM; Ierusalimschy, R; Rigo, S; De Schneider, SM; Soares, S; Dascalu, S; Thompson, S; Vene, V; Costa, V; Iorio, VD;

Publication
JOURNAL OF UNIVERSAL COMPUTER SCIENCE

Abstract

2007

Inferring regulatory networks from time series expression data and relational data via inductive logic programming

Authors
Ong, IM; Topper, SE; Page, D; Costa, VS;

Publication
Inductive Logic Programming

Abstract
Determining the underlying regulatory mechanism of genetic networks is one of the central challenges of computational biology. Numerous methods have been developed and applied to the important but complex task of reverse engineering regulatory networks from high-throughput gene expression data. However, many challenges remain. In this paper, we are interested in learning rules that will reveal the causal genes for the expression variation from various relational data sources in addition to gene expression data. Following our previous work where we showed that time series gene expression data could potentially uncover causal effects, we describe an application of an inductive logic programming (ILP) system, to the task of identifying important regulatory relationships from discretized time series gene expression data, protein-protein interaction, protein phosphorylation and transcription factor data about the organism. Specifically, we learn rules for predicting gene expression levels at the next time step based on the available relational data and then generalize the learned theory to visualize a pruned network of important interactions. We evaluate and present experimental results on microarray experiments from Gasch et al on Saccharomyces cerevisiae.

2007

Demand-driven indexing of Prolog clauses

Authors
Costa, VS; Sagonas, K; Lopes, R;

Publication
Logic Programming, Proceedings

Abstract
As logic programming applications grow in size, Prolog systems need to efficiently access larger and larger data sets and the need for any- and multi-argument indexing becomes more and more profound. Static generation of multi-argument indexing is one alternative, but applications often rely on features that are inherently dynamic which makes static techniques inapplicable or inaccurate. Another alternative is to employ dynamic schemes for flexible demand-driven indexing of Prolog clauses. We propose such schemes and discuss issues that need to be addressed for their efficient implementation in the context of WAM-based Prolog systems. We have implemented demand-driven indexing in two different Prolog systems and have been able to obtain non-negligible performance speedups: from a few percent up to orders of magnitude. Given these results, we see very little reason for Prolog systems not to incorporate some form of dynamic indexing based on actual demand. In fact, we see demand-driven indexing as only the first step towards effective runtime optimization of Prolog programs.

  • 164
  • 192