Monkey

Descrição do Problema

Código Fonte

Casos de Teste

 

 

Descrição do Problema

Há uma sala onde se encontra um macaco posicionado na porta da sala, uma caixa do lado da janela e uma banana fixada no centro do teto da sala. O objetivo é que o macaco, utilizando a caixa, seja capaz de apanhar a banana.

 

Código Fonte

 %----------- Buscas ---------------------------------------------

 

Neste ponto se localiza as buscas de Largura e Profundidade cuja descrição

pode ser vista acessando sua página respectiva através da página principal.

Dessa forma é facilitada a visualização do trecho específico referente ao problema.

 

% ---------- Representação de Estados para o Problema ----------

 

% A ordem das respectivas posições relacionadas aos estados são: [macaco,macaco,caixa,macaco com relação a banana]

 

% Estado Inicial

estado_inicial([porta,chao,janela,sem_banana]).

 

% Estado Final

[centro,sobre_caixa,centro,com_banana] e_a_meta.

 

 

% Operações possíveis/permitidas para mudanças de estado.

 

operacao(pegar) transforma [centro,sobre_caixa,centro,sem_banana] em [centro,sobre_caixa,centro,com_banana].

 

operacao(subir) transforma [X,chao,X,B] em [X,sobre_caixa,X,B].

 

operacao(empurrar) transforma [X1,chao,X1,B] em [X2,chao,X2,B].

 

operacao(andar) transforma [X1,chao,Y,B] em [X2,chao,Y,B].

 

Casos de Teste

Resolução por busca em largura

| ?- resolva_bl.

Estado inicial: [porta,chao,janela,sem_banana].

 

andar: [janela,chao,janela,sem_banana].

 

empurrar: [centro,chao,centro,sem_banana].

 

subir: [centro,sobre_caixa,centro,sem_banana].

 

pegar: [centro,sobre_caixa,centro,com_banana].

 

yes

Resolução por busca em profundidade

| ?-

# 0.05 seconds to consult macaco.pl [d:\users\jaque\ia\]

| ?- resolva_bp.

Estado inicial: [porta,chao,janela,sem_banana].

 

andar: [janela,chao,janela,sem_banana].

 

empurrar: [centro,chao,centro,sem_banana].

 

subir: [centro,sobre_caixa,centro,sem_banana].

 

pegar: [centro,sobre_caixa,centro,com_banana].

 

yes