o Em salas adjacentes a um poço, exceto diagonal, o agente sente uma
brisa;
o Em salas adjacentes a um morcego gigante, exceto diagonal, o agente
ouve os gritos do morcego;
o Em salas onde existe ouro o agente percebe o brilho do ouro;
o Ao caminhar contra uma parede o agente sente um impacto. As laterais
do labirinto são paredes;
o Quando o Wumpus morre o agente ouve um grito;
O labirinto possui os seguintes elementos:
•
o 2 Wumpus;
o 4 Poços;
o 3 Pedras de ouro;
o 2 Morcegos;
•
•
•
•
A posição inicial dos elementos do labirinto deve ser sorteada aleatoriamente no
inicio do programa.
O agente não pode ter acesso as informações do mapa que foi gerado para o
labirinto.
O jogo acaba quando o agente sair do labirinto ou quando ele morrer devorado
pelo Wumpus ou ao cair em um poço.
Ao entrar em uma sala onde existe um morcego, o agente é carregado pelo
morcego para um lugar aleatório do labirinto, podendo ser um local seguro, um
poço, a sala de um Wumpus ou a sala onde existe outro morcego. Ou seja, o
local onde o agente será teleportado deve ser sorteado. Após levar o agente, o
morcego retorna para a sala onde ele estava originalmente.
Nos slides das aulas anteriores existem vários exemplos do mundo de Wumpus,
inclusive algumas regras em lógica de primeira ordem que podem ser traduzidas
para Prolog.
•
Requisitos:
•
•
•
O programa deve ser implementado em C ou C++ utilizando a biblioteca do
SWI-Prolog que permite acessar diretamente o Prolog.
O Prolog deve ser utilizado somente para representar o conhecimento do agente,
a interface visual e demais controles devem ser implementados em C/C++.
Deve existir uma maneira de visualizar os movimentos do agente, mesmo que a
interface seja bem simples. Podendo até mesmo ser uma matriz desenhada e
atualizada no console.
•
•
O programa deve exibir um log das consultas e inserções realizadas na base de
conhecimento Prolog.
O programa também deve exibir a pontuação do agente enquanto ele executa as
ações. Assim como a pontuação final.