4) { while ($ads2 == $ads1) { $ads2 = rand(1, $slides); } } $ads3 = rand(1, $slides); if ($slides > 4) { while (($ads3 == $ads2) || ($ads3 == $ads1)) { $ads3 = rand(1, $slides); } } ?>
INF1771 - INTELIGÊNCIA ARTIFICIAL  
LISTA DE EXERCÍCIOS 5  
Aluno:  
1. Considere o problema do mundo dos blocos:  
É possível utilizar os predicados On(x, y) e Clear(x) para descrever os estados do mundo.  
On(x, y) diz que o bloco x está sobre o bloco y e Clear(x) diz que a parte superior do bloco  
x não tem nenhum bloco. Utilizando a linguagem STRIPS, defina:  
a) Estado inicial do problema.  
b) Estado objetivo do problema.  
c) Os operadores:  
put-on(x,y) empilhar um bloco x sobre um bloco y.  
put-table(x) coloca o bloco x sobre a mesa.  
2
. A linguagem STRIPS foi originalmente desenvolvida para controlar um robô chamado  
"
Shakey". Na figura abaixo você pode ver uma versão do mundo de Shakey. O mundo de  
Shakey é composto por quatro salas ao longo de um corredor. Cada sala tem uma porta e  
um interruptor de luz. Shakey pode se mover de um local para outro, empurrar objetos,  
subir em objetos e ligar interruptores de luz. Shakey precisa subir em uma caixa para  
poder ligar um interruptor de luz.  
a) Descreva o estado inicial do mundo da forma como ele é representado na figura.  
b) Utilizando a linguagem STRIPS, descreva as seguintes ações especificando as pré-  
condições e os efeitos resultantes das ações:  
Ir(x, y) Movimenta o Shakey da posição x para a posição y. É necessário que  
Shakey esteja na posição x, e que x e y sejam posições na mesma sala.  
Empurar(b, x, y) Move o objeto b da posição x para posição y na mesma sala.  
Somente as caixas podem ser movidas.  
Subir(b) Sobe em cima do objeto b. Somente se pode subir em cima de caixas. É  
necessário estar na mesma posição que a caixa.  
Descer(b) Desce de cima do objeto b.  
LigarLuz(s) Liga o interruptor de luz. É necessário estar no mesmo local que o  
interruptor e em cima de uma caixa.  
DesligaLuz(s) Desliga o interruptor de luz. É necessário estar no mesmo local que  
o interruptor e em cima de uma caixa.  
c) Construa um plano com as ações criadas no exercício b, no qual Shakey liga o  
interruptor da sala 2.  
3
. Descreva os problemas dos exercícios anteriores utilizando a linguagem PDDL (Planning  
Domain Definition Language). Utilize o planejador disponibilizado na página do curso para  
verificar a definição do problema e realizar o processo de busca. Em seguida, para ambos  
os exercícios, responda as seguintes questões com base nos resultados produzidos pelo  
planejador:  
a) Qual é o plano encontrado pela busca progressiva?  
b) Qual é o plano encontrado pela busca regressiva?  
c) Qual estratégia de busca apresenta o melhor resultado? Compare o tempo  
necessário para encontrar uma solução, o número de nós expandidos, e a  
coerência do plano encontrado.