Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

download Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

of 8

Transcript of Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    1/8

    Exemplo da Execução de um

    Agente Aleatório

    Mundo Wumpus

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    2/8

    Introdução

    • O agente trazido no pacote que foi descompactado é controlado pela classe AgentFunction.java. Esta classe escolhe uma ação de forma aleatória. Desta forma,

    ele é um agente sem inteligência. As ações que ele pode escolher são:1. Andar para frente,

    2. Virar a direita,

    3. Virar a esquerda

    4. Recolher objeto

    5. Atirar

    Para escolher uma dessas ações, o agente pode utilizar as percepções. Porexemplo, se o agente percebe um brilho (glitter), então ele sabe que o outro estáao seu alcance e deve realizar a ação 4 (recolher objeto).

    • O agente trazido no pacote não utiliza nenhuma percepção para decidir por umaação. Quando você for implementar inteligência no seu agente, você deve utilizaras pecepções. Tais percepções e os seus significados são:

     – Bump: bati em uma parede;

     – Glitter (brilho): tem ouro onde eu estou;

     – Breeze (brisa): tem um buraco em algum dos espaços vizinhos;

     – stench (fedor): o wumpus está em algum espaço vizinho;

     – Scream (grito): ao atirar a flecha, eu acertei e matei o Wumpus.

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    3/8

    Entendendo o código Indica qual percepcão é verdadeirana posição atual do agente. Por

    exemplo, se breeze == true, então o

    agente percebeu uma brisa que

    indica um buraco em um dosquadrantes vizinhos.

    Esse if deve ser quebrado para que as

    pecepções sejam tratadas da maneira

    adequada. Um agente reativo seria

    implementado com diversos:

    if percepção then ação

    Essa função simplesmente retorna um

    valor aleatório entre 0 e 7. Digamos que

    ele retorna 2. Então teremosreturn actionTable[2]

    Olhando o construtor AgentFunction(),

    vemos que actionTable[2] foi inicializado

    com a ação Action.GO_FORWARD. Ou seja,

    andar o agente um passo para frente.

    Em cada step do simulador,

    a função process é chamada

    e esse código executado

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    4/8

    Ao executar o simulador, uma sequência parecida com a ilustrada a seguir é mostrada:

    A B C D

    1

    2

    3

    4

    Ao executar o simulador, a

    primeira ilustração apenasindica o momento inicial

    do ambiente. O agente

    está na posição 1D

    olhando para a direita. O

    time step é 0 e nenhuma

    percepção foi observada.

    No step 1, o agente

    tentou realizar uma ação

    de andar para frente (GO-

    FOWARD). Porém ele

    bateu na parede de modo

    que ele recebeu a

    percepção “bump”. 

    No step 2 a função

    aleatória novamente

    escohe a função de andar

    para frente de modo queo agente recebe

    novamente bump como

    percepção. Se o agente

    fosse inteligente, ele já

    saberia que ali existe uma

    parede e não tentaria

    realizar esta ação

    novamente.

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    5/8

    Idem ao anterior no step 3

    Idem ao anterior no step

    4. Isso mostra também

    como essa função

    aleatória as vezes pode

    ser repetitiva. Porém isso

    pode ser considerado uma

    coincidência.

    No step 5 a função

    aleatória retorna a ação

    de pegar (Grab). Essa ação

    só deveria ser realizada se

    o agente percebesse umbrilho. Neste caso, como o

    agente não está no

    quadrante do ouro, nada

    acontece e a situação

    continua a mesma.

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    6/8

    Nos steps 6 e 7, a função aleatória retorna novamente a

    ação de andar pra frente. Já sabemos o resultado!!

    No step 8 o agente vira a esquerda

    de modo que fica olhando para

    cima. Após essa ação, nenhuma

    percepção é recebida.

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    7/8

    Aqui pulamos do step 8 para o 38. O

    agente está na posição 1C e sua última

    ação foi virar a direita. Desta forma

    agora ele olha para

    baixo(anteriormente estava olhando

    para a direita). Neste momento ele

    recebe as percepções brisa (breeze) e

    fedor (stench). Isso indica que em

    algum quadrante vizinho existe um

    buraco e um Wumpus.

    No step 39 a ação realizada foi andar

    para frente. Como o agente estava

    olhando para baixo, então ele andapara baixo e cai no quadrante onde

    tem um buraco e o Wumpus. Ou seja,

    ele morre!

  • 8/17/2019 Exemplo Da Execução de Um Agente Aleatório- MUNDO WUMPUS

    8/8

    DESAFIO

    Será que você é capaz de implementar um agente mais

    inteligente?

    O primeiro passo é tentar implementar um agente reativocom regras if perceção then ação

    Se você tentar essa implementação, verá que um agente

    reativo pode resolver o problema, mas ainda vai encontraralgumas dificuldades para isso!!!