Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 [email protected].
Transcript of Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 [email protected].
![Page 2: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/2.jpg)
Roteiro
Blackbox– SATPLAN versus Graphplan– Blackbox– Blackbox : Funcionamento– Prática
Referências
![Page 3: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/3.jpg)
Blackbox
Satplan + Graphplan
![Page 4: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/4.jpg)
Satplan versus Graphplan
De acordo com [Kautz e Selman], comparações entre o SATPLAN e o Graphplan mostram que nenhum deles é estritamente superior.
SATPLAN é mais rápido no domínio de logística complexa, os dois algoritmos têm desempenho igual no problema do mundo dos blocos.
Graphplan é mais rápido em outros domínios.
![Page 5: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/5.jpg)
Arquitetura BlackboxPDDL
Camada STRIPS
Construtor
do Grafo
Tradutor Fórmula Lógica
WalkSAT SATz RelSAT Compact
Plano PDDL
Plano PDDL
![Page 6: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/6.jpg)
Satplan versus Graphplan
Os dois algoritmos possuem uma importante semelhança
Ambos trabalham em duas fases: Primeiro criam um estrutura proposicional (no
Graphplan um grafo de planejamento, no SATPLAN uma fórmula bem formada CNF)
Em seguida fazem uma busca sobre essa estrutura, instanciando as variáveis da formulação do problema de planejamento
![Page 7: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/7.jpg)
Blackbox
Converte problemas especificados usando a camada básica de PDDL correspondendo a STRIPS para problemas de satisfatibilidade.
O front-end usa graphplan. Flexibilidade no uso de vários algoritmos
(WalkSAT, SATz e o algoritmo original de Graphplan)
Linguagem STRIPS-style em PDDL (Planning Domain Definition Language)
![Page 8: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/8.jpg)
Blackbox
Com o Blackbox é possível usar o algoritmo walksat (Selman, Kautz, and Cohen 1994) por 60 segundos, e se isso falhar, o algoritmo satz (Li and Anbulagan 1997) for 1000 segundo.
![Page 9: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/9.jpg)
Blackbox: Funcionamento
Um problema de planejamento especificado em STRIPS é convertido em grafo de planejamento
O grafo de planejamento é convertido em uma CNF bem formada
A CNF bem formada é resolvida por um das SAT engines disponíveis.
![Page 10: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/10.jpg)
Blackbox: Funcionamento
A sentença bem formada CNF gerada pelo grafo de planejamento pode ser bem menor do que a gerada diretamente a partir de sentenças em STRIPS
Introduz o uso do "randomized complete search methods" (adicionando um fator aleatório na busca heurística e reiniciando o algoritmo após um determinado número de backtrackings)
![Page 11: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/11.jpg)
Prática
Copie para o mesmo diretório os seguintes arquivos:
– www.cin.ufpe.br/~jv/blackbox.exe– www.cin.ufpe.br/~jv/cygwin1.dll– www.cin.ufpe.br/~jv/domain.pddl – www.cin.ufpe.br/~jv/prob004-log-a.pddl
![Page 12: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/12.jpg)
Prática
O Blackbox trabalha com um arquivo de operações e um arquivo de fatos.
– Abra o arquivo domain.pddl (Este é o arquivo de definição de domínio e operações)
![Page 13: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/13.jpg)
Domain.pddl
Tipado: (:types PACKAGE TRUCK LOCATION AIRPLANE CITY AIRPORT)
Predicados e Variáveis:– (:predicates (at ?obj ?loc) ...
Ações com parâmetros, pré-condições e efeitos: (:action LOAD-TRUCK :parameters(?obj – PACKAGE ...
![Page 14: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/14.jpg)
Domain.pddl
Ações:– LOAD-TRUCK ; LOAD-AIRPLANE ; UNLOAD-TRUCK ;
UNLOAD-AIRPLANE ; DRIVE-TRUCK ; FLY-AIRPLANE ; Exemplo completo:(:action FLY-AIRPLANE
:parameters(?airplane - AIRPLANE ?loc-from - AIRPORT ?loc-to - AIRPORT)
:precondition(at ?airplane ?loc-from)
:effect(and (not (at ?airplane ?loc-from)) (at ?airplane ?loc-to)))
![Page 15: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/15.jpg)
O arquivo de fatos
O Blackbox trabalha com um arquivo de operações e um arquivo de fatos.
– Abra o arquivo prob004-log-a.pddl (Este é o arquivo de fatos)
![Page 16: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/16.jpg)
Prob004-log-a.pddl
Define a situação inicial– 8 objetos do tipo PACKAGE– 2 aviões– 3 cidades– 3 caminhões– 3 locais– 3 aeroportos/locais
• (either LOCATION AIRPORT)
![Page 17: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/17.jpg)
Prob004-log-a.pddl
Define a situação inicial:– (:init (in-city pgh-po pgh)...
Define o objetivo
(:goal (and
(at package1 bos-po)
(at package2 bos-airport) ...
![Page 18: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/18.jpg)
Algumas opções do Blackbox
-t <integer> especifica um número fixo de unidades de tempo
-step <n> incrementa grafo de planejamento para tamanho <n>
-noskip não pula o graphplan solver -noopt pára assim que uma solução é encontrada
![Page 19: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/19.jpg)
Opções avançadas do Blackbox
– BLACKBOX -solver <SPEC> { -then <SPEC> }* sequência de resolvedores, onde:
– <SPEC> { -maxit N } { -maxsec F } <COMMAND> {solver specific options}, onde
– <COMMAND> == graphplan || satz || walksat || relsat || compact
– maxsec F == executa o resolvedor por F segundos
– maxit N = = executa o resolvedor N iterações
![Page 20: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/20.jpg)
Executando o planejador
O Blackbox trabalha com um arquivo de operações e um arquivo de fatos.
– Digite na linha de comando:– blackbox -o domain.pddl -f prob004-log-a.pddl– A opção -o indica o arquivo de operações e a
opção -f o arquivo de fatos.– Lembre-se! Todos os arquivos que você copiou
devem estar em um mesmo diretório.
![Page 21: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/21.jpg)
Executando o Blackbox
Examinando o arquivo de saída:
– blackbox -o domain.pddl -f prob004-log-a.pddl > out.txt
![Page 22: Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br.](https://reader036.fdocumentos.tips/reader036/viewer/2022062512/552fc145497959413d8e0f5f/html5/thumbnails/22.jpg)
Referências
[Kautz e Selman], Unifying STRIPS and SAT with BLACKBOX. Disponível para download em: http://citeseer.ist.psu.edu/kautz99unifying.htmlAIMA capítulos 11 e 12 (livro texto da disciplina)
Site do Blackboxhttp://www.cs.washington.edu/homes/kautz/satplan/blackbox/