quarta-feira, 13 de outubro de 2010

Hierarchical Reinforcement Learning: Learning Sub-goals and State-Abstraction

Ao fim de 1 ano de trabalho este é o resultado final da minha dissertação de Mestrado. Coloquei-a  no SlideShare para que seja possível a sua pré-visualização. Foi escrita em LateX utilizando o TeXShop.


Podem efectuar o download da versão PDF aqui (Dissertação). De seguida um excerto do Resumo.
Neste trabalho, apresentamos um novo método que permite a um agente descobrir e criar abstracções temporais de forma autónoma. Essas abstracções são baseadas na framework das Options. O nosso método é baseado no conceito de que para alcançar o objectivo, o agente deve passar por determinados estados. Ao longo do tempo estes estados vão começar a diferenciar-se dos restantes, e serão identificados como sub-objectivos úteis. Poderão ser utilizados pelo agente para criar novas abstracções temporais, cujo objectivo é ajudar a atingir esses objectivos secundários. Para detectar sub-objectivos, o nosso método cria intersecções entre os vários caminhos que levam ao objectivo principal.

segunda-feira, 20 de setembro de 2010

Math4Kids - Apresentação SAPO Codebits



Esta foi a nossa apresentação do Math4Kids no concurso de programação decorrido no SAPO Codebits. Para quem não conhece o formato do concurso, em 24 horas cada equipa tinha que desenvolver um projecto, e apresenta-lo em 90 segundos. No fim desse curto prazo, os restantes concorrentes podiam efectuar votações positivas ou negativas de modo a escolher os vencedores do concurso.

Os restantes projectos podem ser visualizados no site do Codebits.

sexta-feira, 2 de julho de 2010

Radial Colorz



O meu último projecto é um widget para testar a memória e a velocidade de reacção. O objectivo é memorizar a sequência de esferas coloridas que surge no ínicio de cada nível e recriá-la.

Para fazer isso basta clicar numa das esferas que é enviada para a caixa ao centro do ecrã. Ao enviares as esferas para o centro tenta apanhar os power-ups que vão surgindo, alinha a esfera que vais colocar na caixa com o power-up que pretendes apanhar rodando o círculo das esferas.

Foi desenvolvido para a plataforma Nokia WRT utilizando JavaScript, HTML e CSS. Está disponível para download gratuito na plataforma de Widgets da Sapo. Os ícones Orbz são da autoria do designer Miloš Mirković que amavelmente os disponibilizou.

quinta-feira, 3 de junho de 2010

Realidade Aumentada - Shake Menus



Aplicação desenvolvida em C++ utilizando OpenGL e um algoritmo de seguimento de uma marca, onde um gesto de agitar é utilizado para despoletar eventos como activar um menu e selecionar um item. Um trabalho desenvolvido na área de Realidade Aumentada.

sexta-feira, 14 de maio de 2010

Lego MindStorms with Q-Learning



Projecto desenvolvido na cadeira de Robótica em que o objectivo é fazer com que o robô aprenda de uma forma autónoma como chegar ao rectângulo cor-de-rosa.

Foi utilizado o algoritmo de Aprendizagem por Reforço, Q-Learning.

Inicialmente programado num Simulador (Simbad) para simplificar a fase de testes e mais tarde transferimos o código desenvolvido em Java e a aprendizagem obtida off-line para o robô.

Verificamos que realmente aprendeu ;)

O robô possui os seguintes sensores:

  • 2 Sensores para detectar a cor do chão.
  • 1 Bússola para saber a orientação do robô.
  • 1 Sensor ultra-sónico para detectar a existência de obstáculos.  
E dois motores, um para cada roda.


Foi um desafio muito interessante lidar com os vários problemas que advém da imprecisão de alguns sensores e das condições de teste do cenário.

segunda-feira, 12 de abril de 2010

Math4Kids

Neste projecto iremos descrever uma abordagem ao conceito de aprender a brincar, mais especificamente, facultar simples conceitos matemáticos para crianças numa faixa etária dos 5 aos 7 anos através da interacção com um jogo de computador. Pretende-se fundir o factor de divertimento com a aprendizagem de uma forma inovadora de modo a ilustrar o potencial pedagógico dos jogos ao desenvolver uma aplicação que funcione como uma ferramenta auxiliar no ensino e na aprendizagem da matemática durante a Educação Pré-Escolar de forma interactiva estimulando na criança múltiplas competências.

Ficam aqui algumas imagens do jogo:




Podemos afirmar que os jogos possuem um potencial de educação tremendo, já que permitem às crianças explorarem ideias em mundos virtuais, acumularem experiência e ficarem absorvidas por disciplinas que no contexto normal das aulas, no ensino como o conhecemos, não representam uma área de interesse nem de lazer.

Podem efectuar o download do jogo em Math4Kids depois basta extrair o ficheiro e iniciar a instalação apenas para o sistema operativo Windows.
No seguimento deste projecto foi criado um artigo  disponível em (Aprender Conceitos de Matemática Brincando) submetido na conferência Artech 2010 na qual vou fazer uma pequena apresentação no dia 23 de Abril.

sábado, 20 de março de 2010

Lego MindStorms



Versão inicial do robô utilizado na cadeira de robótica que vai ter o objectivo de procurar um objecto, após encontrar o objecto deve pegar no mesmo e leva-lo a uma localização específica.

Utiliza sensores ultra-sónicos e sensores de cores.

Deve aprender a fazer isto tudo de forma autónoma através de aprendizagem por reforço.

terça-feira, 9 de fevereiro de 2010