Bem-vindo!

Nesta página pode encontrar um pouco sobre mim e sobre o meu percurso académico. Nos conteúdos encontram-se detalhes da experiência profissional e da participação em alguns projectos no âmbito da minha formação, bem como informação sobre os meus interesses e actividades nos tempos livres.

Laboratório de Bases de Dados

GADUP - Gabinete de Actividades Desportivas da Universidade do Porto

Neste trabalho foi desenvolvido um protótipo de um portal para a administração das actividades promovidas pelo GADUP, bem como dos alunos e instrutores que nelas participam.

Tecnologias:

  • PostgreSQL
  • PHP + Smarty

Classificação Classificação: 18 valores Ano Lectivo Ano Lectivo: 2005/2006


Programação em Lógica

O jogo Hexxagon

Utilizando a linguagem Prolog (Sicstus Prolog), foi implementada a inteligência artificial para o jogo Hexxagon. Esta cadeira foi realizada em conjunto com Laboratório de Aplicações de Software.

Problemas de Empacotamento

Utilizando o mesmo paradigma lógico, definir a melhor maneira de agrupa um conjunto de itens de modo a que o espaço total necessário para os guardar seja minimizado. Em certos casos, o espaço disponível para o armazenamento é predeterminado e o objectivo é encaixar o maior número de itens possível nesse espaço

Tecnologias:

  • SICStus Prolog

Classificação Classificação: 16 valores Ano Lectivo Ano Lectivo: 2005/2006


Agentes e Inteligência Artificial Distribuída

Sistema Multi-Agente para recolha de lixo numa cidade

Objectivo

Desenvolver um Sistema Multi-Agente para simulação da recolha de lixonuma cidade, sendo essa recolha realizada por vários camiões cooperativos.

Descrição

O programa deve simular a recolha de lixo realizada por vários camiões (agentes) numa cidade.
Considere a existência de quatro tipos diferentes de lixo: papel, vidro, embalagem e indeterminado. O número de lixeiras dos diferentes tipos, e a sua localização, são dados a especificar pelo utilizador. O número de camiões de lixo dos diferentes tipos, e a localização dos depósitos de lixo também são dados a especificar pelo utilizador.
A edição do mapa representativo da zona da cidade onde será realizada a recolha de lixo, é especificado em termos de estradas (um ou dois sentidos) e cruzamentos. Esta edição pode ser realizada pelo utilizador através de uma interface gráfica, ou em opção, por selecção a partir de ma biblioteca de mapas pré-definidos.
Os camiões de lixo são agentes independentes que cooperam entre si. O comportamento do agente camião obedece às seguintes regras mínimas:
  • o agente possui um limite de visão (de x metros na estrada onde se encontra)
  • o agente possui memória.
  • o agente só consegue recolher o tipo de lixo no qual é especialista.
  • o agente possui capacidade máxima para a recolha de lixo, após o que deve retornar ao depósito para esvaziamento.
  • o agente deve evitar choques com os outros camiões.
  • o agente comunica aos outros informação útil: por exemplo, encontrei lixo do tipo X na posição P, mas não o recolhi (porque não é do seu tipo, ou porque está cheio).
  • o agente, quando se encontra cheio, deve retornar ao depósito pelo caminho mais curto.

Tecnologias:

  • Java
  • Plataforma JADE

Classificação Classificação: 16 valores Ano Lectivo Ano Lectivo: 2006/2007