Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Vítor Santos Costa is active.

Publication


Featured researches published by Vítor Santos Costa.


Proceedings of the National Academy of Sciences of the United States of America | 2015

Human pluripotent stem cell-derived neural constructs for predicting neural toxicity

Michael P. Schwartz; Zhonggang Hou; Nicholas E. Propson; Jue Zhang; Collin J. Engstrom; Vítor Santos Costa; Peng Jiang; Bao Kim Nguyen; Jennifer M. Bolin; William T. Daly; Yu Wang; Ron Stewart; C. David Page; William L. Murphy; James A. Thomson

Significance Stem cell biology, tissue engineering, bioinformatics, and machine learning were combined to implement an in vitro human cellular model for developmental neurotoxicity screening. Human pluripotent stem cell-derived neural tissue constructs with vascular networks and microglia were produced with high sample uniformity by combining precursor cells on synthetic hydrogels using standard culture techniques. Machine learning was used to build a predictive model from changes in global gene expression for neural constructs exposed to 60 toxic and nontoxic training chemicals. The model correctly classified 9 of 10 additional chemicals in a blinded trial. This combined strategy demonstrates the value of human cell-based assays for predictive toxicology and should be useful for both drug and chemical safety assessment. Human pluripotent stem cell-based in vitro models that reflect human physiology have the potential to reduce the number of drug failures in clinical trials and offer a cost-effective approach for assessing chemical safety. Here, human embryonic stem (ES) cell-derived neural progenitor cells, endothelial cells, mesenchymal stem cells, and microglia/macrophage precursors were combined on chemically defined polyethylene glycol hydrogels and cultured in serum-free medium to model cellular interactions within the developing brain. The precursors self-assembled into 3D neural constructs with diverse neuronal and glial populations, interconnected vascular networks, and ramified microglia. Replicate constructs were reproducible by RNA sequencing (RNA-Seq) and expressed neurogenesis, vasculature development, and microglia genes. Linear support vector machines were used to construct a predictive model from RNA-Seq data for 240 neural constructs treated with 34 toxic and 26 nontoxic chemicals. The predictive model was evaluated using two standard hold-out testing methods: a nearly unbiased leave-one-out cross-validation for the 60 training compounds and an unbiased blinded trial using a single hold-out set of 10 additional chemicals. The linear support vector produced an estimate for future data of 0.91 in the cross-validation experiment and correctly classified 9 of 10 chemicals in the blinded trial.


acm sigplan symposium on principles and practice of parallel programming | 1991

Andorra I: a parallel Prolog system that transparently exploits both And-and or-parallelism

Vítor Santos Costa; David H. D. Warren; Rong Yang

Andorra-I is an experimental parallel Prolog system that transparently exploits both dependent and-parallelism and or-parallelism. It constitutes the first implementation of the Basic Andorra model, a parallel execution model for logic programs in which determinate goals are executed before other goals. This model, besides combining two of the most important forms of implicit parallelism in logic programs, also provides a form of implicit coroutining. This means that Andorra-I not only supports standard Prolog but also provides the capabilities of flat committed-choice languages such as Parlog and GHC. We give an overview of the main problems in the implementation of Andorra-I: the design of its engine and of the preprocessor that generates code to recognise determinate goals. We then present performance data for our implementation. This data shows that Andorra-I, an interpreter, has a single-processor performance similar to the comparable sequential system, C-Prolog, while on multiple processors Andorra-I is able to obtain good *This work was supported by ESPRtTproject 2471 (“PEPMA”). Permission to copy without fee all or part of this material is granted provided that the copies are not made or distributed for direct commercial advantage, the ACM copyright notice and the title of the publication and its date appear, and notice is given that copying is by permission of the Association for Computing Machinery. To copy otherwise, or to republish, requires a fee and/or specific permission. 01991 ACM 0-89791-390-6191 /000410083 . ..


Theory and Practice of Logic Programming | 2011

On the implementation of the probabilistic logic programming language problog

Angelika Kimmig; Bart Demoen; Luc De Raedt; Vítor Santos Costa; Ricardo Rocha

1 .50 speedups fmm both and-parallelism and or-parallelism. In suitable cases, the speedup obtained from exploiting both forms of parallelism combined is better than that obtainable from exploiting either kind alone.


Theory and Practice of Logic Programming | 2012

The yap prolog system

Vítor Santos Costa; Ricardo Rocha; Luís Damas

The past few years have seen a surge of interest in the field of probabilistic logic learning and 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 probabilities. These facts are treated as mutually independent random variables that indicate whether these facts 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, and evaluate their performance in the context of large networks of biological entities.


inductive logic programming | 2008

CLP(BN): constraint logic programming for probabilistic knowledge

Vítor Santos Costa; David C. Page; James Cussens

Yet Another Prolog (YAP) is a Prolog system originally developed in the mid-eighties and that has been under almost constant development since then. This paper presents the general structure and design of the YAP system, focusing on three important contributions to the Logic Programming community. First, it describes the main techniques used in YAP to achieve an efficient Prolog engine. Second, most Logic Programming systems have a rather limited indexing algorithm. YAP contributes to this area by providing a dynamic indexing mechanism, or just-in-time indexer. Third, a important contribution of the YAP system has been the integration of both or-parallelism and tabling in a single Logic Programming system.


european conference on machine learning | 2005

An integrated approach to learning bayesian networks of rules

Jesse Davis; Elizabeth S. Burnside; Inês de Castro Dutra; David C. Page; Vítor Santos Costa

In Datalog, missing values are represented by Skolem constants. More generally, in logic programming missing values, or existentially quantified variables, are represented by terms built from Skolem functors. The CLP(BN) language represents the joint probability distribution over missing values in a database or logic program by using constraints to represent Skolem functions. Algorithms from inductive logic programming (ILP) can be used with only minor modification to learn CLP(BN) programs. An implementation of CLP(BN) is publicly available as part of YAP Prolog at http://www.ncc.up.pt/~vsc/Yap.


international conference on logic programming | 2008

On the Efficient Execution of ProbLog Programs

Angelika Kimmig; Vítor Santos Costa; Ricardo Rocha; Bart Demoen; Luc De Raedt

Inductive Logic Programming (ILP) is a popular approach for learning rules for classification tasks. An important question is how to combine the individual rules to obtain a useful classifier. In some instances, converting each learned rule into a binary feature for a Bayes net learner improves the accuracy compared to the standard decision list approach [3,4,14]. This results in a two-step process, where rules are generated in the first phase, and the classifier is learned in the second phase. We propose an algorithm that interleaves the two steps, by incrementally building a Bayes net during rule learning. Each candidate rule is introduced into the network, and scored by whether it improves the performance of the classifier. We call the algorithm SAYU for Score As You Use. We evaluate two structure learning algorithms Naive Bayes and Tree Augmented Naive Bayes. We test SAYU on four different datasets and see a significant improvement in two out of the four applications. Furthermore, the theories that SAYU learns tend to consist of far fewer rules than the theories in the two-step approach.


Theory and Practice of Logic Programming | 2005

On applying or-parallelism and tabling to logic programs

Ricardo Rocha; Fernando M. A. Silva; Vítor Santos Costa

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, and evaluate their performance in the context of large networks of biological entities.


principles and practice of declarative programming | 1999

Optimising Bytecode Emulation for Prolog

Vítor Santos Costa

Logic programming languages, such as Prolog, provide a high-level, declarative approach to programming. Logic Programming offers great potential for implicit parallelism, thus allowing parallel systems to often reduce a programs execution time without programmer intervention. We believe that for complex applications that take several hours, if not days, to return an answer, even limited speedups from parallel execution can directly translate to very significant productivity gains. It has been argued that Prologs evaluation strategy – SLD resolution – often limits the potential of the logic programming paradigm. The past years have therefore seen widening efforts at increasing Prologs declarativeness and expressiveness. Tabling has proved to be a viable technique to efficiently overcome SLDs susceptibility to infinite loops and redundant subcomputations. Our research demonstrates that implicit or-parallelism is a natural fit for logic programs with tabling. To substantiate this belief, we have designed and implemented an or-parallel tabling engine – OPTYap – and we used a shared-memory parallel machine to evaluate its performance. To the best of our knowledge, OPTYap is the first implementation of a parallel tabling engine for logic programming systems. OPTYap builds on Yaps efficient sequential Prolog engine. Its execution model is based on the SLG-WAM for tabling, and on the environment copying for or-parallelism. Preliminary results indicate that the mechanisms proposed to parallelize search in the context of SLD resolution can indeed be effectively and naturally generalized to parallelize tabled computations, and that the resulting systems can achieve good performance on shared-memory parallel machines. More importantly, it emphasizes our belief that through applying or-parallelism and tabling to logic programs the range of applications for Logic Programming can be increased.


portuguese conference on artificial intelligence | 1999

YapOr: an Or-Parallel Prolog System Based on Environment Copying

Ricardo Rocha; Fernando M. A. Silva; Vítor Santos Costa

Byte-code representation has been used to implement several programming languages such as Lisp, ML, Prolog, or Java. In this work, we discuss the impact of several emulator optimisations for the Prolog system YAP. YAP obtains performance comparable or exceeding well-known Prolog systems by applying several different styles of optimisations, such as improving the emulation mechanism, exploiting the characteristics of the underlying hardware, and improving the abstract machine itself. We give throughout a detailed performance analysis, demonstrating that low-level optimisations can have a very significant impact on the whole system and across a range of architectures.

Collaboration


Dive into the Vítor Santos Costa's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

David C. Page

University of Wisconsin-Madison

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Nuno A. Fonseca

European Bioinformatics Institute

View shared research outputs
Top Co-Authors

Avatar

Jesse Davis

Katholieke Universiteit Leuven

View shared research outputs
Top Co-Authors

Avatar

Gerson Zaverucha

Federal University of Rio de Janeiro

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Aline Paes

Federal Fluminense University

View shared research outputs
Researchain Logo
Decentralizing Knowledge