150 likes | 255 Views
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
E N D
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 Construtor do grafo Grafo de planejamento Tradutor Fórmula Lógica CNF 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ínio • Requirements: strips, equality, typing, ADL; • Predicades: PREDICATE_NAME [? A1 ? A2 … ?An]; • Action: parameters, precondition, effect; • Definição do problema • Objects; • 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)
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: 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/