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

2015

Batched Evaluation of Full-Sharing Multithreaded Tabling

Authors
Areias, M; Rocha, R;

Publication
LANGUAGES, APPLICATIONS AND TECHNOLOGIES, SLATE 2015

Abstract
Tabling is a technique that overcomes some limitations of traditional Prolog systems in dealing with redundant sub-computations and recursion. When tabling is combined with multithreading, we have the best of both worlds, since we can exploit the combination of higher declarative semantics with higher procedural control. To support this combination, the Yap Prolog system has, at engine level, multiple designs that vary from a No-Sharing design, where each thread allocates fully private tables, to a Full-Sharing (FS) design, where threads share the complete table space. In this work, we propose an extension to the table space data structures, which we named Private Answer Chaining (PAC), as way to support batched scheduling evaluation with the FS design. Batched scheduling is one of the most successful tabling scheduling strategies, known to be useful when a tabled logic program requires an eager propagation of answers and/or do not requires the complete set of answers to be found. Experimental results show that PAC is a good first approach, since with it the FS design remains quite competitive.

2015

SkILL - a Stochastic Inductive Logic Learner

Authors
Côrte Real, J; Mantadelis, T; Dutra, I; Rocha, R; Burnside, E;

Publication
2015 IEEE 14TH INTERNATIONAL CONFERENCE ON MACHINE LEARNING AND APPLICATIONS (ICMLA)

Abstract
Probabilistic Inductive Logic Programming (PILP) is a relatively unexplored area of Statistical Relational Learning which extends classic Inductive Logic Programming (ILP). Within this scope, we introduce SkILL, a Stochastic Inductive Logic Learner, which takes probabilistic annotated data and produces First Order Logic (FOL) theories. Data in several domains such as medicine and bioinformatics have an inherent degree of uncertainty, and because SkILL can handle this type of data, the models produced for these areas are closer to reality. SkILL can then use probabilistic data to extract non-trivial knowledge from databases, and also address efficiency issues by introducing an efficient search strategy for finding hypotheses in PILP environments. SkILL's capabilities are demonstrated using a real world medical dataset in the breast cancer domain.

2015

Thread-Aware Logic Programming for Data-Driven Parallel Programs

Authors
Cruz, F; Rocha, R; Goldstein, SC;

Publication
ICLP (Technical Communications)

Abstract
Declarative programming in the style of functional and logic programming has been hailed as an alternative parallel programming style where computer programs are automatically parallelized without programmer control. Although this approach removes many pitfalls of explicit parallel programming, it hides important information about the underlying parallel architecture that could be used to improve the scalability and efficiency of programs. In this paper, we present a novel programming model that allows the programmer to reason about thread state in data-driven declarative programs. This abstraction has been implemented on top of Linear Meld, a linear logic programming language that is designed for writing graphbased programs. Wepresent several programs that show theflavorofour new programming model, including graph algorithms and a machine learning algorithm. Our goal is to show thatitis possible to take advantage of architectural details without losing the key advantages of logic programming.

2015

On Compiling Linear Logic Programs with Comprehensions, Aggregates and Rule Priorities

Authors
Cruz, F; Rocha, R;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PADL 2015

Abstract
Linear logic programs are challenging to implement efficiently because facts are asserted and retracted frequently. Implementation is made more difficult with the introduction of useful features such as rule priorities, which are used to specify the order of rule inference, and comprehensions or aggregates, which are mechanisms that make data iteration and gathering more intuitive. In this paper, we describe a compilation scheme for transforming linear logic programs enhanced with those features into efficient C++ code. Our experimental results show that compiled logic programs are less than one order of magnitude slower than hand-written C programs and much faster than interpreted languages such as Python.

2015

Exploring multi-relational temporal databases with a propositional sequence miner

Authors
Ferreira, CA; Gama, J; Costa, VS;

Publication
PROGRESS IN ARTIFICIAL INTELLIGENCE

Abstract
In this work, we introduce the MuSer, a propositional framework that explores temporal information available in multi-relational databases. At the core of this system is an encoding technique that translates the temporal information into a propositional sequence of events. By using this technique, we are able to explore the temporal information using a propositional sequence miner. With this framework, we mine each class partition individually and we do not use classical aggregation strategies, like window aggregation. Moreover, in this system we combine feature selection and propositionalization techniques to cast a multi-relational classification problem into a propositional one. We empirically evaluate the MuSer framework using two real databases. The results show that mining each partition individually is a time-and memory-efficient strategy that generates a high number of highly discriminative patterns.

2015

Machine Learning and Knowledge Discovery in Databases - European Conference, ECML PKDD 2015, Porto, Portugal, September 7-11, 2015, Proceedings, Part I

Authors
Appice, A; Rodrigues, PP; Costa, VS; Soares, C; Gama, J; Jorge, A;

Publication
ECML/PKDD (1)

Abstract

  • 109
  • 207