EP2

SEGUNDO EXERCÍCIO PROGRAMA

Esse EP2 será composto de duas tarefas:

TAREFA 1 [PLANEJAMENTO COMO BUSCA NO ESPAÇO DE ESTADOS]: uso do A* desenvolvido no EP1 com BDDs para resolver problemas do Mundo dos Blocos com operadores proposicionais.

TAREFA 2 [PLANEJAMENTO COMO BUSCA NO ESPAÇO DE PLANOS]: uso do planejador UCPOP para resolver problemas do Mundo dos Blocos com operadores clássicos (com variáveis).



TAREFA 1

PLANEJAMENTO COMO BUSCA NO ESPAÇO DE ESTADOS


Nessa primeira tarefa vocês usarão o método de busca A* implementado no EP1 levando em consideração as seguintes recomendações:

1. Vocês resolverão problemas de planejamento no domínio do Mundo dos Blocos como uma busca heurística no espaço de estados.

2. Serão dadas: uma lista P de problemas para o Mundo dos Blocos (contendo estado inicial e descrição do estado meta) e uma lista de operadores proposicionais O para o Mundo dos Blocos para cada problema em P.

3. Vocês deverão usar estruturas do tipo BDD para representar: os operadores proposicionais, os estados do mundo e a descrição de meta. Além disso, vocês deverão usar operações básicas entre BDDs (de uma biblioteca pública) para:
- verificar a satisfação de pré-condições de operadores nos estados;
- calcular o estado sucessor resultante da aplicação de um operador (eliminado os efeitos negativos e adicionando os efeitos positivos);
- verificar a satisfação do estado meta e
- calcular um valor para h(s) no A*.

4. Vocês poderão encontrar bibliotecas de BDDs em C, C++ e Java nos seguintes endereços:

- BuDDy
- CMU_library
- JavaBDD
- CUDD

5. Arquivos de problemas e operadores para essa fase serão colocados no Moodle.



TAREFA 2

PLANEJAMENTO COMO BUSCA NO ESPAÇO DE PLANOS


Nessa tarefa, vocês simplesmente terão que executar os mesmos problemas resolvidos na Fase 1, usando o planejador UCPOP, disponível na Internet.
Os operadores serão agora descritos na forma clássica, isto é, com variáveis. Porém, será preciso descreve-los na linguagem exigida pelo UCPOP.
O UCPOP usa uma linguagem mais expressiva para descrever problemas de planejamento do que a representação clássica vista em sala de aula. Cabe a vocês escreverem os operadores nessa linguagem.

Arquivos de problemas e operadores para essa fase serão colocados no Moodle.



Relatório Final

No relatório final, além de vocês descreverem os detalhes das técnicas empregadas, as implementações, bem como os experimentos, vocês deverão fazer uma análise comparando os resultados das duas tarefas.

Last modified: Wednesday, 29 December 2010, 8:59 PM