Fundamentos Lógicos da IA - 2023-1
UnB-\(\gamma\)
Table of Contents
1. Mundo de Wumpus
1.1. Funcionamento
O agente inicia em uma posição e direção desconhecidas. A posição inicial é sempre vazia, não contendo poço, wumpus ou ouro.
Em cada rodada do jogo, o usuário recebe pela entrada padrão uma
string com cinco caracteres, representando os sensores do agente.
Os caracteres mostram se um sensor está ativo (1) ou não (0).
const char *input = "00000"; char tem_cheiro = input[0]; char tem_brisa = input[1]; char tem_brilho = input[2]; char bateu_na_parede = input[3]; char wumpus_gritou = input[4];
10010 -> Cheiro & Bateu na parede. 01101 -> Brisa & Brilho & Wumpus gritou.
Para jogar o jogo, o usuário deve escrever, na saída padrão, o ação que deseja executar na rodada. Os comandos são compostos por somente um caractere:
l← rotacionar 90° para a esquerda (-1 ponto).r← rotacionar 90° para a direita (-1 ponto).m← andar para frente (-1 ponto).s← atira a flecha (-10 pontos).e← desiste do mapa.p← pega o ouro (+1000 pontos se houver ouro na posição).
Se mover para uma posição onde existe um Wumpus ou um Poço, o jogador
morre e perde 1000 pontos.
A flecha, quando atirada, se move em linha reta até o final do mapa. Caso o Wumpus seja atingido, ele morre e o sensor de grito é ativado por um turno.
1.2. Exemplos de Mapa
1.2.1. Exemplo 1
####### #.....# #>....# #G..P.# #P....# #W....# #######
A solução mais eficiente para esse mapa é a sequência de movimentos r
m p. Nessa solução, o jogador rotaciona para a direita (-1 ponto), se
move (-1 ponto) e pega o ouro (+1000 pontos). Portanto, o jogador
termina o jogo com +998 pontos.