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 Vítor Santos Costa

2011

Assessing the Effect of 2D Fingerprint Filtering on ILP-Based Structure-Activity Relationships Toxicity Studies in Drug Design

Authors
Camacho, R; Pereira, M; Costa, VS; Fonseca, NA; Simoes, CJV; Brito, RMM;

Publication
5TH INTERNATIONAL CONFERENCE ON PRACTICAL APPLICATIONS OF COMPUTATIONAL BIOLOGY & BIOINFORMATICS (PACBB 2011)

Abstract
The rational development of new drugs is a complex and expensive process. A myriad of factors affect the activity of putative candidate molecules in vivo and the propensity for causing adverse and toxic effects is recognised as the major hurdle behind the current "target-rich, lead-poor" scenario. Structure-Activity Relationship studies, using relational Machine Learning algorithms, proved already to be very useful in the complex process of rational drug design. However, a typical problem with those studies concerns the use of available repositories of previously studied molecules. It is quite often the case that those repositories are highly biased since they contain lots of molecules that are similar to each other. This results from the common practice where an expert chemist starts off with a lead molecule, presumed to have some potential, and then introduces small modifications to produce a set of similar molecules. Thus, the resulting sets have a kind of similarity bias. In this paper we assess the advantages of filtering out similar molecules in order to improve the application of relational learners in Structure-Activity Relationship (SAR) problems to predict toxicity. Furthermore, we also assess the advantage of using a relational learner to construct comprehensible models that may be quite valuable to bring insights into the workings of toxicity.

2011

On the Portability of Prolog Applications

Authors
Wielemaker, J; Costa, VS;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES

Abstract
The non-portability of Prolog programs is widely considered one of the main problems facing Prolog programmers. Although since 1995, the core of the language is covered by the ISO standard 13211-1, this standard has not been sufficient to support large Prolog applications. As an approach to address this problem, since 2007, YAP and SWI-Prolog have established a basic compatibility framework. The aim of the framework is running the same code on Edinburgh-based Prolog systems rather than having to migrate an application. This article describes the implementation and evaluates this framework by studying how it can be used on a number of libraries and an important application.

2010

Chess Revision: Acquiring the Rules of Chess Variants through FOL Theory Revision from Examples

Authors
Muggleton, S; Paes, A; Costa, VS; Zaverucha, G;

Publication
INDUCTIVE LOGIC PROGRAMMING

Abstract
The game of chess has been a major testbed for research in artificial intelligence, since it requires focus on intelligent reasoning. Particularly, several challenges arise to machine learning systems when inducing a model describing legal moves of the chess, including the collection of the examples, the learning of a model correctly representing the official rules of the game, covering all the branches and restrictions of the correct moves, and the comprehensibility of such a model. Besides, the game of chess has inspired the creation of numerous variants, ranging from faster to more challenging or to regional versions of the game. The question arises if it is possible to take advantage of an initial classifier of chess as a starting point to obtain classifiers for the different variants. We approach this problem as an instance of theory revision from examples. The initial classifier of chess is inspired by a FOL theory approved by a chess expert and the examples are defined as sequences of moves within a game. Starting from a standard revision system, we argue that abduction and negation are also required to best address this problem. Experimental results show the effectiveness of our approach.

2010

Predicting the Start of Protein alpha-Helices Using Machine Learning Algorithms

Authors
Camacho, R; Ferreira, R; Rosa, N; Guimaraes, V; Fonseca, NA; Costa, VS; de Sousa, M; Magalhaes, A;

Publication
ADVANCES IN BIOINFORMATICS

Abstract

2010

On the Implementation of the CLP(BN) Language

Authors
Costa, VS;

Publication
PRACTICAL ASPECTS OF DECLARATIVE LANGUAGES, PROCEEDINGS

Abstract
The last few years have seen great interest in developing models that can describe real-life large-scale structured systems. A popular approach is to address these problems by using logic to describe the patterns or structure of the problems, and by using a calculus of probabilities to address the uncertainty so often found in real life situations. The CLP(BN) language is an extension of Prolog that allows the representation, inference, and learning of bayesian networks. The language was inspired on Koller's Probabilistic Relational Models, and is close to other probabilistic relational languages based in Prolog, such as Sato's PRISM. We present the implementation of CLP(BN), showing how bayesian networks are represented in CLP(BN) and presenting the implementation of three different inference algorithms: Gibbs Sampling, Variable Elimination, and Junction Trees. We show that these algorithms can be implemented effectively by using a matrix library and a graph manipulation library, and study how the system performs on real-life applications.

2009

On Just in Time Indexing of Dynamic Predicates in Prolog

Authors
Costa, VS;

Publication
PROGRESS IN ARTIFICIAL INTELLIGENCE, PROCEEDINGS

Abstract
Prolog is the most; well-known and widely used logic programming language. A large number of Prolog applications maintains information by asserting and retracting clauses from the database. Such dynamic predicates raise a number of issues for Prolog implementations, such as what are the semantics of a procedure where clauses can be retracted and asserted while the procedure is being executed. One advantage of Logical Update semantics is that it allows indexing. In this paper, we discuss how one call implement just-in-time indexing with Logical Update semantics. Our algorithm is based on two ideas: stable structure and fragmented index trees. By stable structure one means that we define a structure for the indexing tree that not change, even as we assert and as we retract clauses. Second, by fragmented index tree we mean that the indexing tree will be built in such a way that the updates will be local to each fragment. The algorithm was implemented and results indicate significant speedups and reduction of memory usage in test applications.

  • 21
  • 34