MAC 5789

Laboratório de Inteligência Artificial 

2006

Projeto de Planejamento SAT



Professora: Leliane Nunes de Barros



Artigos recomendados
 


Projeto

FASE 1

Data de entrega: 17 de Maio de 2006

Essa fase será trivial e foi proposta para que os alunos testem o Sat-solver, utilizado no primeiro dessa disciplina, para resolver problemas de planejamento SAT. Além disso, essa fase servirá para que os alunos tenham um primeiro contato com uma CNF para planejamento.
A CNF que será usada nesta fase é a de planejamento para o Jantar Surpresa (já totalmente codificada para o Sat-solver nos slides da primeira aula).
É importante que o aluno experimente a CNF SatPlan fazendo testes para diferentes problemas, i.e.,  testar se a saida gerada pelo seu Sat-solver é de fato um plano solução para o problema de entrada.

O que deve ser entregue?

Executar o SatPlan para pelo menos 2 problemas diferentes do Jantar Surpresa, além do problema que já está codificado. A
sua saida deve ser descrita pelas PROPOSIÇÕES do domínio Jantar Surpresa e NÃO por números e asteriscos.

Entregar pelo Panda um arquivo contendo:

FASE 2

Data de entrega: 22 de Maio de 2006

  pick-up ( ?x - block )   o agente pega um bloco de cima da mesa e o segura
  put-down ( ?x - block )   o agente coloca o bloco que está segurando em cima da mesa 
  stack ( ?x - block ?y - block )   o agente coloca o bloco que está segurando em cima de outro bloco 
  unstack ( ?x - block ?y - block )   o agente pega um bloco de cima de outro bloco e o segura

Clique aqui para ver a especificação PDDL das ações do Mundo dos Blocos.
Clique aqui para ver as especificações PDDL de problemas para o Mundo dos Blocos.


Parser de PDDL para ações proposicionais:

O parser  schema2ground.pl  foi construído pelo meu ex-aluno de mestrado,  Aldebaran Perseke.
Esse parser transforma ações PDDL para um dado problema, no seguinte formato (sem variáveis):

<nome da ação>
<lista de precondições/proposições separadas por ";">
<lista de efeitos/proposições separadas por ";" com negações indicadas por "~">

Vamos chamar esse formato de ações Strips-proposicionais. Exemplo de uma ação Strips-proposicional para o Mundo dos Blocos:

stack_a_b
holding_a;clear_b
~holding_a;~clear_b;clear_a;handempty;on_a_b



O que deve ser entregue?

Construir um parser que transforma um conjunto de ações Strips-proposicionais em uma CNF SatPlan.
Para economizar tempo, você encontra aqui as ações Strips-proposicionais, geradas pelo parser schema2ground.pl, para um conjunto de problemas do



FASE 3


Data de entrega: 5 de Junho de 2006
Implementar o algoritmo de construção do grafo de planejamento (aqui) com a extração da cláusula de mutex.

Entregar: relatório final contendo uma análise comparativa entre o SatPlan e o BLACKBOX.
Para essa análise serão disponibilizados outros dois domínios de teste além do Mundo dos Blocos.


RELATÓRIO  FINAL

Formato do relatório

                 



Links Importantes

Chaff  -  o melhor Sat-solver da atualidade.

BLACKBOX  -   Página oficial do planejador que está sendo construido para a Fase 3 desse projeto. A versão mais atual do BLACKBOX utiliza o Chaff + uma variedade de "golpes baixos" : -), especialmente projetados para ganhar a competição de planejamento.

ICAPS 2004  -  International Conference on Automated Planning & Schedulling. Nesse site você encontra links para o site da competição.



Observações



FASE 1: testes para diferentes  problemas do Jantar Surpresa

Note que a CNF já inclui uma descrição de estado inicial e de estado
objetivo, como mostra a cópia abaixo:

==============================================
Estado Inicial:
lixo(1) ^ maos_limpas(1) ^ silencio(1) ^ ~jantar(1) ^ ~presente(1)

Estado Objetivo:
~lixo(4) ^ jantar(4) ^ presente(4)
==============================================

Vocês podem "brincar" com o SatPlan criando novos problemas, isto é, com
novas listas para o Estado Inicial e Estado Objetivo e me entregar os
planos gerados para cada problema criado.