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
Interest
Topics
Details

Details

  • Name

    Vítor Santos Costa
  • Cluster

    Computer Science
  • Role

    Senior Researcher
  • Since

    01st January 2009
007
Publications

2022

Online Learning of Logic Based Neural Network Structures

Authors
Guimaraes, V; Costa, VS;

Publication
INDUCTIVE LOGIC PROGRAMMING (ILP 2021)

Abstract
In this paper, we present two online structure learning algorithms for NeuralLog, NeuralLog+OSLR and NeuralLog+OMIL. NeuralLog is a system that compiles first-order logic programs into neural networks. Both learning algorithms are based on Online Structure Learner by Revision (OSLR). NeuralLog+OSLR is a port of OSLR to use NeuralLog as inference engine; while NeuralLog+OMIL uses the underlying mechanism from OSLR, but with a revision operator based on Meta-Interpretive Learning. We compared both systems with OSLR and RDN-Boost on link prediction in three different datasets: Cora, UMLS and UWCSE. Our experiments showed that NeuralLog+OMIL outperforms both the compared systems on three of the four target relations from the Cora dataset and in the UMLS dataset, while both NeuralLog+OSLR and NeuralLog+OMIL outperform OSLR and RDNBoost on the UWCSE, assuming a good initial theory is provided.

2022

Data Type Inference for Logic Programming

Authors
Barbosa, J; Florido, M; Costa, VS;

Publication
LOGIC-BASED PROGRAM SYNTHESIS AND TRANSFORMATION (LOPSTR 2021)

Abstract
In this paper we present a new static data type inference algorithm for logic programming. Without the need for declaring types for predicates, our algorithm is able to automatically assign types to predicates which, in most cases, correspond to the data types processed by their intended meaning. The algorithm is also able to infer types given data type definitions similar to data definitions in Haskell and, in this case, the inferred types are more informative, in general. We present the type inference algorithm, prove it is decidable and sound with respect to a type system, and, finally, we evaluate our approach on example programs that deal with different data structures.

2022

Online Learning of Logic Based Neural Network Structures

Authors
Guimaraes, V; Costa, VS;

Publication
INDUCTIVE LOGIC PROGRAMMING (ILP 2021)

Abstract

2022

Data Type Inference for Logic Programming

Authors
Barbosa, J; Florido, M; Costa, VS;

Publication
Logic-Based Program Synthesis and Transformation - Lecture Notes in Computer Science

Abstract

2022

Fifty Years of Prolog and Beyond

Authors
KÖRNER, P; LEUSCHEL, M; BARBOSA, J; COSTA, VS; DAHL, V; HERMENEGILDO, MV; MORALES, JF; WIELEMAKER, J; DIAZ, D; ABREU, S; CIATTO, G;

Publication
Theory and Practice of Logic Programming

Abstract
Abstract Both logic programming in general and Prolog in particular have a long and fascinating history, intermingled with that of many disciplines they inherited from or catalyzed. A large body of research has been gathered over the last 50 years, supported by many Prolog implementations. Many implementations are still actively developed, while new ones keep appearing. Often, the features added by different systems were motivated by the interdisciplinary needs of programmers and implementors, yielding systems that, while sharing the “classic” core language, in particular, the main aspects of the ISO-Prolog standard, also depart from each other in other aspects. This obviously poses challenges for code portability. The field has also inspired many related, but quite different languages that have created their own communities. This article aims at integrating and applying the main lessons learned in the process of evolution of Prolog. It is structured into three major parts. First, we overview the evolution of Prolog systems and the community approximately up to the ISO standard, considering both the main historic developments and the motivations behind several Prolog implementations, as well as other logic programming languages influenced by Prolog. Then, we discuss the Prolog implementations that are most active after the appearance of the standard: their visions, goals, commonalities, and incompatibilities. Finally, we perform a SWOT analysis in order to better identify the potential of Prolog and propose future directions along with which Prolog might continue to add useful features, interfaces, libraries, and tools, while at the same time improving compatibility between implementations.

Supervised
thesis

2021

Detection of Encrypted Malware Command and Control Traffic

Author
Carlos António de Sousa Costa Novo

Institution
UP-FCUP

2020

Probabilistic Logic-based Models For Gene Regulatory Networks

Author
António José Santos Freitas Gonçalves

Institution
UP-FCUP

2020

NeuralLog: a Neural Logic Language

Author
Victor Augusto Lopes Guimarães

Institution
UP-FCUP

2020

Predictive Analytics for Dependent Data

Author
Mariana Rafaela Figueiredo Ferreira de Oliveira

Institution
UP-FCUP

2020

Exascale computing with custom Linear Mixed Model kernels and GPU accelerators for Genomic Wide Association Studies and personalized medicine

Author
Christopher David Harrison

Institution
UP-FCUP