Você está na página 1de 2

1.

6 Da Teoria para a Prtica: Implementando um Primeiro Agente


No final de cada captulo deste livro, os estudantes so sugeridos a realizar alguma
atividade prtica relacionada com o contedo apresentado. Neste captulo discutido
um ambiente chamado Mundo Wumpus, onde o aluno pode implementar um agente
de modo que ele realize o objetivo esperado. No momento o aluno pode implementar
um simples agente reativo, o qual pode ser evoludo no decorrer do curso.
1.6.1 Descrio do Mundo Wumpus
O diagrama sequinte (Figura 1.7) ilustra o Mundo Wumpus, o qual configurado como
uma matriz 4x4 representando o espao de uma caverna. Nesta caverna existe um
mostro, chamado Wumpus, buracos e barras de ouro. O objetivo do agente entrar na
caverna, e recolher todas as barras de ouro sem cair no buraco ou encontrar o Wumpus.
O agente no tem como saber o que existe nas posies vizinhas da sua posio atual.
Porm, se em uma das posies vizinhas existir um buraco, ele sentir uma brisa. Se ele
estiver vizinho ao Wumpus, ele perceber um fedor. Apesar de perceber tais sensaes,
o agente no sabe em qual vizinhana est a fonte desta sensao.

Figura 1.7. Exemplo de uma configurao do mundo Wumpus

No exemplo da figura anterior, o agente perceberia a brisa vindo do buraco, mas no


saberia se este buraco est na posio 1B ou 2A. Diferentemente, o agente s perceber
o brilho das barras de ouro se ele estiver na mesma posio de tais barras. Desta forma,
existe um raciocnio simples que deve ser levado em conta de modo que o agente no
caia nos buracos e encontre as barras de outro sem se deparar com o Wumpus.
1.6.2 Ambiente de Simulao
Uma rpida procura na Web retorna diversos ambientes de simulao para este
proplema. Neste exerccio sugerido um ambiente extremamente simples desenvolvido
por um aluno da University of Illinois at Chicago e replicado no ambiente da disciplina
com o nome Wumpus Simulador.
O aluno deve baixar este arquivo e descompactar o seu contedo em um diretrio
qualquer. Ento o seguinte comando Java deve ser utilizado para compilar o simulador:
javac WorldApplication.java

Aps compilado, o seguinte comando executa a aplicao:


java WorldApplication
Uma srie de informaes mostrada na tela, onde os elementos do ambiente so
representados da seguinte maneira:
Elemento Grfico
A
>
V
<

Significado
Agente olhando para o norte
Agente olhando para o leste
Agente olhando para o sul
Agente olhando para o oeste

Elemento Grfico
G
P
W
*

Significado
Barra de ouro (Gold)
Buraco (Pit)
Wumpus vivo
Wumpus morto

Se observarmos o comportamento do agente em toda a execuo, podemos perceber que


tal comportamento no inteligente. De fato, o cdigo foi feito de modo que o agente
escolha uma ao aleatria entre as opes disponveis e execute tal ao. Tais aes
so: andar para frente, virar a direita, virar a esquerda, recolher objeto e atirar. A classe
AgentFunction.java a responsvel por escolher a ao do agente aps a leitura das
percepes. Em cada ciclo o agente pode receber cinco percepes diferentes: bump
(coliso) o agente bateu em uma das quatro paredes da caverna, glitter (brilho) existe
uma barra de ouro na posio atual, breeze (brisa) existe um buraco em uma posio
vizinha, stench (mau cheiro), o Wumpus est em uma posio vizinha e scream (grito) o
Wumpus foi morto.
O cdigo da classe AgentFunction.java mostra como podemos obter tais percepes.
Porm, tais percepes no so utilizadas no raciocnio do agente porque ele sempre
escolhe uma ao de forma aleatria. Desta forma, nossa atividade se destina a
acrescentar algum cdigo que d uma inteligncia reativa ao agente. Para isso podemos
utilizar comandos do tipo if para simular o comportamento de regras condio-ao.
Aps alterar o cdigo, avalie se seu agente tem um comportamento mais racional e
prximo das decises tomadas por um humano.

Você também pode gostar