220 likes | 406 Views
Blackbox. Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br. Roteiro. Blackbox SATPLAN versus Graphplan Blackbox Blackbox : Funcionamento Prática Referências. Blackbox. Satplan + Graphplan. Satplan versus Graphplan.
E N D
Blackbox Ferramenta de Planejamento em IA Jairson Vitorino, 06 de maio de 2005 jv@cin.ufpe.br
Roteiro • Blackbox • SATPLAN versus Graphplan • Blackbox • Blackbox : Funcionamento • Prática • Referências
Blackbox Satplan + Graphplan
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.
Arquitetura Blackbox PDDL Camada STRIPS Construtor do Grafo Plano PDDL Tradutor Fórmula Lógica Plano PDDL WalkSAT SATz RelSAT Compact
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
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)
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.
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.
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)
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
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)
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 ...
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)))
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)
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)
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) ...
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
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
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.
Executando o Blackbox • Examinando o arquivo de saída: • blackbox -o domain.pddl -f prob004-log-a.pddl > out.txt
Referências • [Kautz e Selman], Unifying STRIPS and SAT with BLACKBOX. Disponível para download em: http://citeseer.ist.psu.edu/kautz99unifying.html AIMA capítulos 11 e 12 (livro texto da disciplina) • Site do Blackbox http://www.cs.washington.edu/homes/kautz/satplan/blackbox/