Ferramentas de Planejamento em IA
description
Transcript of Ferramentas de Planejamento em IA
Ferramentas de Planejamento em IA
Blackbox Planner
Exemplos de Ferramentas
• CI Space Planning– Modelagem do problema em STRIPS– Demonstração no domínio dos blocos– http://www.cs.ubc.ca/labs/lci/CIspace/Version4/planning/index.html
• O-Plan: Arquitetura de Planejamento– Modelagem do problema em TF (Task Formalism)– Demonstração em um domínio de busca e salvamento– http://oplan.aiai.ed.ac.uk/oplan/web-demo/index.html
• Paradocs: planejamento temporal– Planejamento baseado em restrições temporais (paper)– Demonstração no domínio de veículos não tripulados (vídeo)
Blackbox - Funcionamento
Representação em PDDL
Camada STRIPS
Grafo de planejamento
CNF
Construtor do grafo
Tradutor Fórmula Lógica
WalkSAT SATz SATz Compact
Possíveis algoritmos de satisfatibilidade
PDDL
• Planning Domain Description Language• Define duas partes: domínio e problema
– Definição do domínioRequirements: strips, equality, typing, ADL;Predicades: PREDICATE_NAME [? A1 ? A2 … ?An];
Action: parameters, precondition, effect;
– Definição do problemaObjects; Init;Goal;
Grafo de Planejamento
• Usa um algoritmo polinomial para construir um grafo representando todos os possíveis caminhos de um problema de planejamento;
• Não é um grafo de espaço de busca– Os nós representam proposições e ações organizados de forma
alternada.
C N F
• Conjunctive Normal Form– Uma fórmula lógica está em CNF se ela é uma conjunção de
cláusulas, onde cada cláusula é uma disjunção de literais A B A (B C) (A B) (B C B D) (D E) (B C)
– Algoritmos de satisfabilidade buscam encontrar atribuições (T/F) para as variáveis booleanas da fórmula expressa em CNF de modo que toda a fórmula seja verdadeira.
Prática
• Copie para o mesmo diretório os seguintes arquivos:
– www.cin.ufpe.br/~cas/classes/blackbox/blackbox.exe– www.cin.ufpe.br/~cas/classes/blackbox/cygwin1.dll– www.cin.ufpe.br/~cas/classes/blackbox/domain.pddl – www.cin.ufpe.br/~cas/classes/blackbox/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)
• 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
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: Prob004-log-a.pddl
• Abra o arquivo prob004-log-a.pddl (Este é o arquivo de fatos)
• Define a situação inicial– 8 objetos do tipo PACKAGE– 2 aeroportos– 3 cidades– 3 caminhões– 3 locais
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) ...
Executando o Blackbox
• 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 – Ou: – blackbox -o domain.pddl -f prob004-log-a.pddl –g saida.txt
– Página do Blackbox
http://www.cs.washington.edu/homes/kautz/blackbox/