sexta-feira, 15 de maio de 2015

Inteligência Artificial - Mundo Wumpus


O mundo de Wumpus é um problema didático onde o objetivo é encontrar um monte de ouro em uma de 16 salas possíveis. Para isso o agente deve evitar as salas que contém poços sem fundo e a sala onde está o Wumpus. O ambiente do mundo de Wumpus contém:

  • Wumpus, que é monstro que devora qualquer guerreiro que entrar em sua caverna.
  • Malha 4x4 de cavernas conectadas por passagens.
  • Ouro em alguma caverna.
  • Buracos sem fundo nos quais cairá qualquer um que vagar por esta caverna, exceto o Wumpus.
  • O agente pode matar o Wumpus, porém possui apenas uma flecha para fazer isso.
  • O agente sempre começa no quadrado identificado como [1,1] voltado para a direita.
  • As posições do Wumpus, ouro e poços são escolhidas ao acaso.
O agente que vasculhará o mundo de Wumpus em busca do ouros possui as seguintes características:

  • Sensores fedor (cavernas adjacentes ao Wumpus, exceto diagonal), brisa (cavernas adjacentes a um poço, exceto diagonal), brilho (cavernas onde existe ouro), choque (ao caminhar para uma parede).
  • Agente não conhece a configuração do ambiente.
Minha "solução" para o problema é para uma malha de 6x6, o agente comeca de uma posicao escolhida pelo testador e este pode escolher também a quantidade de Wumpus e Buracos. O caçador no meu caso verifica sempre as cavernas adjacentes e verifica os seguintes casos:
  • Se a caverna que ele se encontra é vazia, toas as adjacentes são seguras.
  • Se a caverna que ele se encontra tem fedor ou brisa ele só se move caso a caverna adjacente for fedor ou brisa.
  • Caso estas não forem satisfeitas ele fará uma escolha aleatória (sorteio).
Não é uma solução que verificará sempre a melhor ação para todos os casos mas já é um "quebra galho"

LINK PARA DOWNLOAD DO CÓDIGO: MundoWumpus

Inteligência Artificial - Perceptron

O perceptron é um tipo de rede neural artificial inventada em 1957 no Cornell Aeronautical Laboratory por Frank Rosenblatt. Ele pode ser visto como o tipo mais simples de um classificador linear.




O código que estarei disponibilizando, é uma rede perceptron simples que treina portas AND, OR, IMPLICAÇÃO, da lógica simples. com as alterações corretas é possível utilizar o código para casos mais interessantes.
LINK PARA DOWNLOAD DO CÓDIGO: AlgoritmoPerceptron