woman writing on a whiteboard

Research

I am a pro bono Artificial Intelligence Researcher at LIACC (Artificial Intelligence and Computer Science Laboratory), University of Porto in Portugal. I perform research on the following topics:

  • Intelligent systems & quantum computing
  • Accountability, responsibility and trustworthiness in intelligent systems (ART)
  • Explainable Artificial Intelligence (XAI)
  • Machine learning in general & reinforcement learning in particular
  • Evolutionary computing
  • Autonomy, automation, negotiation and decision taking
  • Distributed systems & multi-agent systems
  • Organisation structure in distributed systems/MAS
  • Agent oriented software engineering

I like to share knowledge and help others to achieve their potential. That is the reason why most of my research is done while supervising students in their thesis and help them reach their goals. The research projects listed below are examples of the research performed.

I am passionate about space exploration and I believe that AI already is, and will be even more, a huge contribution to this endeavour. I want to contribute to a more useful, responsible and trustworthy artificial intelligence.

To see a list of publications, including, papers and books, please consult the Publication menu.

Research Projects

woman in white shirt using silver macbook
Inferring User Preferences by Analyzing their Behavior on Streaming Platforms Using Inverse Reinforcement Learning
We used Inverse Reinforcement Learning (IRL) to infer user preferences on a social network or streaming platform. It is complicated to tell a computer what we do or do not like, human nature is complicated and programming a reward function that tries to address it would be tedious and prone to errors. However, there is a possibility that by observing a user’s behavior an IRL model could come up with a reward function that predicts its preferences.
Spotify’s API was used to specify the group of inputs we want to analyse and then observe the user’s behavior over a period of time.
The data collected and the shown results can then be used for a plethora of goals. It can improve user recommendations on the platform and improve the overall app’s experience, it can enhance advertising algorithms and lead to a better understanding of what the user really wants. This work can also be extended to further areas of studies. Analyzing users’ behavior with this type of algorithm can be used to predict how people interact with many types of web platforms and enhance the overall user-experience.
Main Author: António Pedro Dantas
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Machine Learning – Inverse Reinforcement learning, Reinforcement learning
Technology & Tools: Javascript, Python
Code Repository (Open Source): https://github.com/antoniopedrodantas/spotify-recommender-system
flight schedule screen turned on
Replanning Flight Schedules Using Quantum Computing
This work focuses on the Aircraft Recovery Problem (ARP), which involves decisions concerning aircraft to flight assignments in situations where unforeseen events have disrupted the existing flight schedule. One of the main difficulties of solving the ARP is the overall complexity since a single disruption may cause a chain effect that can disrupt many other subsequent flights. Computing the total solution space is not feasible for today’s classical computers due to the number of possible solutions and constraints while trying to minimize the impact of the disruption.
The Quadratic Unconstrained Binary Optimization (QUBO) model has been one of the primary options for solving optimization problems using Quantum Computing, with different companies such as IBM, D-wave and Microsoft building quantum computers dedicated to solving it.
In this study, the ARP was modeled as a QUBO and was solved by classical and hybrid solvers, comparing the final operational cost and resulting flight plan. Actual data from a major airline, was used to analyze the performance of the implementation in a real-case scenario. The implementation was compared to another previous classical implementation of an ARP solution in terms of execution time and the resulting operational plan.
This study concluded that modeling the ARP as a QUBO proved efficient and feasible. Solving the QUBO with hybrid computers provided a quick, feasible and low-cost solution.
Main Author: André Mamprin Mori
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Quantum intelligent systems, Quantum computing,
Technology & Tools: IBM Quantum Experience, OpenQASM, Qiskit, Python, Jupyter notebooks
Code Repository (Open Source): https://github.com/andremmori/msc-thesis
king chess piece
Quantum Reinforcement Learning Applied to Games
We combined quantum computing with reinforcement learning and studied its application to a board game to assess the benefits that it can introduce, namely its impact on the learning efficiency of an agent. The domain of board games provided a deterministic environment with perfect information, where we could focus on the learning process. After implementing the quantum algorithm, we performed an analysis of its performance and compared its results against a classical approach. We concluded that the proposed quantum exploration policy improved the convergence rate of the agent and promoted a more efficient exploration of the state space.
Main Author: Miguel Alexandre Brandão Teixeira
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Quantum intelligent systems, Quantum computing, Machine Learning (Reinforcement learning)
Technology & Tools: IBM Quantum Experience, OpenQASM, Qiskit, Python, Jupyter notebooks
Code Repository (Open Source): https://github.com/ajmcastro/quantum-reinforcement-learning.git
miniature airplane and hand of person over drawn map
Using Quantum Computing to Solve the Tail Assignment Problem
The problem was set as a Quadratic Unconstrained Binary Optimisation (QUBO) model, using two different techniques and was solved using a classical and two hybrid solvers. Tests were run based on extractions from real-world data, analysing the performance of the implementation in terms of time, scalability, and quality (i.e., the lowest operational costs) of the obtained solutions.
Main Author: Luís Noites Martins
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Quantum intelligent systems, Quantum computing, Quantum Annealer, Scheduling, Optimisation
Technology & Tools: D-Wave, Python
Code Repository (Open Source): https://github.com/ajmcastro/quantum-tail-assignment.git
Generic Q-Negotiation Protocol
We introduce an adaptive protocol for multi-attribute negotiation in a cooperative distributed problem solving environment with agents that are willing to cooperate but, at the same time, with some degree of self-interestedness and rationality. The agents are able to adapt their strategies during bid formulation, due to the inclusion of a Q-Learning algorithm. Our model is multidimensional where each agent represents and possesses expertise about a dimension and the set of the dimensions represents the complete solution of the problem. This protocol supports agents of two types (organiser and respondent), assuming different roles with different problem solving methods and bid strategies. Results show that the protocol gives better integrated solutions that are closer to the optimal one.
Main Author: António J. M. Castro
Supervisors: Eugénio Oliveira and Ana Paula Rocha
Research Topics: Multi-agent systems, Negotiation, Autonomy, Decision making, Machine learning (Reinforcement learning)
Technology & Tools: Java, Jade, MySQL
Code Repository: TBA
Human-in-the-Loop and Learning in Automatic Negotiation
Using reinforcement learning in automatic negotiation for the software agents to learn how to win the negotiation in an environment simultaneously cooperative and competitive. Additionally, the human-in-the-loop was introduced as a way of evaluating the winning deals. The goal was to improve the reaction of the system to the needs of the real context where the systems was being used as well as to reduce the social (user) reluctance regarding the use of an automatic system.
Main Author: Paula Francisca Ferreira Teixeira
Supervisors: Eugénio Oliveira, Ana Paula Rocha and António J. M. Castro
Research Topics: Multi-agent systems, Negotiation, Autonomy, Decision making, Machine learning (Reinforcement learning)
Technology & Tools: Java, Jade, MySQL
Code Repository: TBA
retro cassette tape with small flower
Learning with the Past – Supporting Automatic Negotiation
A new methodology called Case-based Reasoning for Dynamic Distributed Environments (CBR-DDE) was introduced, based on the Case-based Reasoning (CBR) methodology. The goal was to obtain solutions (the outcome of the automatic negotiation) that decrease the average response time of the system to a new disruption problem, increasing its degree of trustworthiness, while maintaining the level of quality of the solutions presented.
Main Author: José Pedro Sobreiro Furtado da Silva
Supervisors: Eugénio Oliveira, Ana Paula Rocha and António J. M. Castro
Research Topics: Multi-agent systems, Negotiation, Autonomy, Decision making, Machine learning (Case-based reasoning)
Technology & Tools: Java, Jade, MySQL
Code Repository: TBA
silhouette of person in airport
Argumentation in the Resolution of Passenger Problems
A negotiation protocol with arguments was introduced allowing humans to interact with software agents to achieve the best deal when facing a disruption. The argumentation process includes an argument structure, with claims and reasons, and reasoning behaviours, especially in the software agent (in this case representing the airline company interests). The software agent understands the human arguments and formulate new arguments to rebut the received ones, presenting counterproposals.
Main Author: Jorge Filipe Monteiro Lima
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Multi-agent systems, Negotiation, Argumentation
Technology & Tools: Ionic2, Java, Jade, Jetty, Servlets, Rest API, MongoDB
Code Repository: TBA
female engineer planning dam
PORTO An Improvement to GAIA
We propose an improvement to the GAIA methodology called PORTO. This methodology includes the following phases: requirements analysis, analysis, architectural and detail design, implementation, testing and validation. It is the result of its application to the analysis, design and development of the MASDIMA – Multi-Agent System for Disruption Management. We present each phase of the methodology using as an example the MASDIMA system. This will allow the reader to better understand the concepts together with the proposed methodology.
Main Author: Antonio J. M. Castro
Supervisors: Eugénio Oliveira, Ana Paula Rocha and António J. M. Castro
Research Topics: Agent-oriented software engineering, Multi-agent systems
Technology & Tools: UML, AUML, GAIA, Porto
Code Repository: TBA
photo of coconut trees on seashore
Travel Recommendation using Reinforcement Learning
The goal was to recommend flights to passengers, based on a destination selected by the passenger and considering the airline interests, which was to fulfil empty seats in every flight. Seven reinforcement learning approaches were made and compared to three collaborative filtering methods (item-based, user-based and matrix factorisation) using real data from a European airline.
Main Author: Pedro Miguel Herdeiro Vaz de Moura
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Recommendation, Machine learning (reinforcement learning),
Technology & Tools: Android studio, Python, R, Django, MySQL
Code Repository: TBA
window view of airplane
Predictive Analysis of Flight Times
Prediction of the aircraft movement times, namely, taxi-in, taxi-out, airtime and block time. These predicted times are expected to produce more accurate data and are to be used in an OCC (operational control center) decision support system to replace the use of scheduled or OCC-estimated times. The models were trained on data from a European Airline air traffic activity from 2013 to 2018, along with scraped weather data retrieved from Iowa Environmental Mesonet. The data was analysed and refactored, along with some feature engineering. After extensive experiments, the most successful models were built, making use of a stack of linear estimators with gradient boosting as meta-estimator.
Main Author: Afonso Manuel Maia Lopes Salgado de Sousa
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Machine learning (prediction), Regression
Technology & Tools: Python
Code Repository (Open Source): https://github.com/ajmcastro/flight-time-prediction.git
animal tree lizard reptile
Evolutionary Computation Methods applied to Airline Operations
Particle Swarm Optimisation, Ant Colony Optimisation and Genetic Algorithms were studied and developed to solve the aircraft recovery problem when solving disruption in the AOCC. A comparison was made with two previously implemented algorithms, namely, Hill Climbing and Simulated Annealing. An Artificial Bee Colony (ABC) algorithm was also developed for the optimisation of the Flight Schedule problem when faced with disruptions.
Main Author: António José Ferreira de Castro Moura
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Evolutionary computing, Optimisation
Technology & Tools: Java
Code Repository: TBA
bees producing honey on honeycombs in yard
Artificial Bee Colony Algorithm for Solving the Flight Disruption Problem
We developed an Artificial Bee Colony (ABC) optimisation algorithm, firstly introduced by in 2005 and proposed for optimising numerical problems. ABC is the swarm-based meta-heuristic algorithm inspired by intelligent behaviour of honey bee colonies. ABC has been applied on solving the flight disruption problem, by swapping aircraft and/or cancelling/delaying flights, and its performance has been shown through experimentation. The environment and data for experiments are provided by MASDIMA, Multi-Agent System for DIsruption Management.
Main Author: Tanja Šarčević
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Evolutionary computing, Optimisation
Technology & Tools: Java, MySQL
Code Repository (Open Source): https://github.com/ajmcastro/artificial-bee-colony-flight-schedule.git
turned on monitor displaying frequency graph
Crew and Aircraft Electronic Market
An electronic market modelled as a multi-agent system where airlines can negotiate and lease each other the required resources when solving disruption problems. The negotiation occurs in several rounds, where qualitative comments made by the buyer agent on proposals sent by the sellers enables these to learn how to calculate new proposals using a case-based reasoning (CBR) methodology.
Main Author: Luis Brochado Pinto dos Reis
Supervisors: Ana Paula Rocha and António J. M. Castro
Research Topics: Electronic markets, Multi-agent systems, Negotiation, Machine learning (Case-based reasoning)
Technology & Tools: Java, MySQL
Code Repository: TBA
close up photography of yellow green red and brown plastic cones on white lined surface
Impact of the Organisational Structure on Operations Management
We have done the first simulation of a real airline operations control scenario, involving human actors, existing computerised systems, time and spatial location, operational activities and reasoning processes. Besides the faithful modelling of airline entities, it used pre- and post-real operational data to better reproduce workflow inception and disruption handling. Along with operational performance assessment, the conducted research also delved into the decision-making practices of the Airline Operational Control Centre specialists, performing a comparison between empirical probabilistic action and tangible solutions obtained through operational records analysis. The usage of learning techniques was demonstrated as a mean to optimize the reasoning accuracy within the simulation. In terms of tools, Brahms (BDI agents), a human-centered multi-agent environment was used to implement and simulate the conceptual representation of the airline operational entities.
Main Author: Nuno Machado
Supervisors: António J. M. Castro and Eugénio Oliveira
Research Topics: Organisation structure, Multi-agent systems, Simulation, BDI agents
Technology & Tools: HTML5, Brahms, Java, Netty,
Code Repository: TBA