blackbox, aclp e parcplan ferramentas de planejamento em ia jairson vitorino, 26 de novembro...
TRANSCRIPT
![Page 1: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/1.jpg)
Blackbox, ACLP e ParcPlan
Ferramentas de Planejamento em IA
Jairson Vitorino, 26 de [email protected]
![Page 2: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/2.jpg)
Roteiro
Blackbox– SATPLAN versus Graphplan– Blackbox– Blackbox : Funcionamento– Prática
ACLP– ACLP: Definições– Exemplos do Blocks world– ACLP: Prática
PARCPLAN– Sintaxe básica– Exemplo do Mundo dos blocos– Algoritmo de planejamento ParcPlan– ParcPlan: Prática
Referências
![Page 3: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/3.jpg)
Blackbox
Satplan + Graphplan
![Page 4: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/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, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/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, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/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, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/7.jpg)
FuncionamentoPDDL
Camada STRIPS
Construtor
do Grafo
Tradutor Fórmula Lógica
WalkSAT SATz RelSAT Compact
Plano PDDL
Plano PDDL
?
![Page 8: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/8.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 9: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/9.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.
O nome Blackbox refere-se ao fato de que o gerador de planos não “sabe” nada sobre os resolvedores SAT, e vice versa. Cada um é uma “caixa preta" para o outro.
![Page 10: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/10.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 11: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/11.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
Os relacionamentos mutex do grafo podem ser traduzidas diretamente em cláusulas negativas binárias (facilitando o trabalho das SAT engines)
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 12: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/12.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 13: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/13.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 14: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/14.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 15: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/15.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 16: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/16.jpg)
O arquivo de fatos
O Blackbox trabalha com um arquivo de operações e um arquivo de fatos.
– Abra no word o arquivo prob004-log-a.pddl (Este é o arquivo de fatos)
![Page 17: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/17.jpg)
Prob004-log-a.pddl
Define a situação inicial– 8 objetos do tipo PACKAGE– 2 aeroportos– 3 cidades– 3 caminhões– 3 locais– 3 aeroportos/locais
• (either LOCATION AIRPORT)
![Page 18: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/18.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 19: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/19.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 20: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/20.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 21: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/21.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 22: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/22.jpg)
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
![Page 23: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/23.jpg)
ACLP
Abductive Contraint Logic Programming
![Page 24: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/24.jpg)
ACLP
Combina raciocínio abdutivo com resolução de restrições
Raciocínio abdutivo: redução automática da representação abstrata do problema e objetivos para um linguagem de tarefas de mais baixo nível (CLP).
Implementado em Eclipse
![Page 25: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/25.jpg)
ACLP: Definições
Um programa abdutivo: uma tripla <P,A,IC>
– Onde P é um programa lógico normal– A é um conjunto de predicados abdutíveis – IC é um conjunto de restrições de
integridade.
![Page 26: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/26.jpg)
Planejamento Abdutivo em ACLP: exemplo do blocks world
P (programa lógico normal)planning([]).
planning([on(X,Y,T)|Rest]):- on(X,Y,T), planning(Rest).
on(X,Y,T) :- initially(X,Y,T0), T0 #<= T, not moved(X,T0,T).on(X,Y,T) :- T1 #>0, T1 #<= T, not moved(X,T1,T),
move(X,Y,T1).
moved*(X,T1,T2) :- Y::1..22, Y ## X, T1 #< T2, between1(T9,T1,T2), move(X,Y,T9).
* Equivalente ao clipped do event calculus
![Page 27: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/27.jpg)
Planejamento Abdutivo em ACLP: exemplo do blocks world
A (predicados abdutíveis):{move(-,-,-)}
IC Restrições de integridade:ic:- move(X,Y,T), initially(Z,X,T1), not moved(Z,T1,T).
ic:- move(X,Y,T), move(Z, X1, T1), T \== T1, not moved(Z,T1,T), T#>=T1 #/\ X #= X1.
ic:- move(X,Y,T), number(Y), initially(Z,Y,T1), not moved(Z,T1,T). ic:- move(X,Y,T), move(Z,Y1,T1), T \== T1, not moved(Z,T1,T), T #>= T1 #/\ Y #= Y1.
ic:- move(X,Y,T), initially(Z,Y1,T1), not moved(Z,T1,T), Y#=Y1.
Mais exemplos em : http://www.cs.ucy.ac.cy/aclp/examples.html
![Page 28: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/28.jpg)
ACLP: Prática
Copie os seguintes arquivos:http://www.cin.ufpe.br/~jv/aclp/aclp_16May00.plhttp://www.cin.ufpe.br/~jv/aclp/plan_main.plhttp://www.cin.ufpe.br/~jv/aclp/initial15blocks.pl
No mesmo diretório que você copiou estes arquivos execute o Eclipse (versão 4.1)/home/robocup/program_files/linux/eclipse/bin/i386_linux/eclipse
No prompt do Eclipse digite:[aclp_16May00].
![Page 29: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/29.jpg)
ACLP: Prática
Abra os arquivos:http://www.cin.ufpe.br/~jv/aclp/plan_main.plhttp://www.cin.ufpe.br/~jv/aclp/initial15blocks.pl
Observe o estado inicial do mundo do blocos no arquivo initial15blocks.pl
No prompt do Eclipse digite:compile (plan_main).compile (initial15blocks).
![Page 30: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/30.jpg)
ACLP: Prática
Para executar um programa em ACLP pode se usar o predicado aclp_solve (+Goal)
Copie a seguinte linha (query 1 do arquivo initial15block.pl):
cputime(X), T :: 1..50, aclp_solve(planning([on(6, 11, T), on(7, 3, T), on(3, 6, T)])), cputime(Y), CPUTIME is Y - X.
Observe o resultado e compare com o resultado previsto no arquivo initial15block.pl
![Page 31: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/31.jpg)
Trying abducible: move(6, 11, T1)Trying abducible: move(7, Y, T9)Trying abducible: move(8, Y, T9)Trying abducible: move(9, Y, T9) Accepted abducible: move(9, Y, T9) Accepted abducible: move(8, Y, T9) Accepted abducible: move(7, Y, T9) Accepted abducible: move(6, 11, T1)Move 6 to 11 done.Trying abducible: not_moved(7, T1, T) Accepted abducible: not_moved(7, T1, T)Move 7 to 3 done.Trying abducible: not_moved(3, T1, T) Accepted abducible: not_moved(3, T1, T)Trying abducible: move(3, 6, T1)Trying abducible: move(3, Y, T9)Trying abducible: move(7, Y, T9)Trying abducible: move(7, 3, T1) Accepted abducible: move(7, 3, T1)Move 7 to 3 done.Trying abducible: not_moved(3, T1, T) Accepted abducible: not_moved(3, T1, T)Trying abducible: move(3, 6, T1) Accepted abducible: move(3, 6, T1)Move 3 to 6 done.
Solution =
move(3, 6, 5)
not_moved(3, 5, 6)
move(7, 3, 6)
not_moved(7, 6, 6)
move(9, 19, 1)
move(8, 9, 2)
move(7, 8, 3)
move(6, 11, 4)
not_moved(6, 4, 6)
T = 6
CPUTIME = 0.62
Y = 1.01
X = 0.39 More? (;)
yes.
![Page 32: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/32.jpg)
ParcPlan
![Page 33: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/33.jpg)
ParcPlan
Planejador Temporal Sobre Restrições de Recursos
Ações, propriedades e objetivos são indexadas a intervalos de tempo
Execução de ações em paralelo Estratégia de busca: baseada em resolução
de restrição e least commitment Soluções geradas usam o menor número de
ações para atingir os seus objetivos
![Page 34: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/34.jpg)
Lembrete
Q@[start,end) propriedade (ação) Q ocorre durante o intervalo de tempo: [start,end)
![Page 35: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/35.jpg)
Exemplo do mundo dos blocos
![Page 36: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/36.jpg)
Exemplo do mundo dos blocosmove é uma relação de quatro argumentos, especificada em termos de condições, efeitos, e restrições.
![Page 37: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/37.jpg)
ParcPlan: Prática
Copie os seguintes arquivos:http://www.cin.ufpe.br/~jv/parcplan/parcplan.tar.gzExtraia os arquivos
No diretório que bw_demo execute o Eclipse (versão 4.1)/home/robocup/program_files/linux/eclipse/bin/i386_linux/
eclipse
No prompt do Eclipse digite: [parcplan].
![Page 38: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/38.jpg)
ParcPlan: Prática
Abra o arquivo block101047.pl: Um problema é definido por um predicado
problem/3, cujo formato é: problem(ProblemNo,InitialState,GoalState). InitialState e GoalState são listas de propriedades on/2 e clear/1. Os números 1..99 definem blocos. Os números 100..999 definem posições da mesa.
![Page 39: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/39.jpg)
ParcPlan: Prática
Ainda no arquivo block101047.pl Examine o problema 1:
– problem(1, [clear(110), clear(109), clear(108), clear(3), clear(106), clear(6), clear(104), clear(103), clear(102), clear(101), on(3, 4), on(4, 9), on(9, 8), on(8, 2), on(2, 1), on(1, 107), on(6, 5), on(5, 7), on(7, 10), on(10, 105)], [on(6, 8), on(8, 9), on(9, 3), on(3, 109), on(2, 10), on(10, 1), on(1, 5), on(5, 4), on(4, 7), on(7, 102)]).
![Page 40: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/40.jpg)
ParcPlan: Prática
PROBLEMA 1Parte 1 (Initialstate) do predicado Problem
[clear(110), clear(109), clear(108), clear(3), clear(106), clear(6), clear(104), clear(103), clear(102), clear(101), on(3, 4), on(4, 9), on(9, 8), on(8, 2), on(2, 1), on(1, 107), on(6, 5), on(5, 7), on(7, 10), on(10, 105)],
![Page 41: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/41.jpg)
ParcPlan: Prática
PROBLEMA 1Parte 2 (GoalState) do predicado Problem
[on(6, 8), on(8, 9), on(9, 3), on(3, 109), on(2, 10), on(10, 1), on(1, 5), on(5, 4), on(4, 7), on(7, 102)]
![Page 42: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/42.jpg)
ParcPlan: Prática
No prompt do Eclipse digite: [block101047].
Para resolver um problema determinado problema é necessário dar o número do problema e número de braços disponíveis: plan(ProblemNumber,ArmsAvailable),
Para resolver o problema 1 usando 10 braços digite no prompt do Eclipse:
plan (1,10).
![Page 43: Blackbox, ACLP e ParcPlan Ferramentas de Planejamento em IA Jairson Vitorino, 26 de novembro jv@cin.ufpe.br](https://reader036.vdocuments.net/reader036/viewer/2022062502/5706384b1a28abb8238f6029/html5/thumbnails/43.jpg)
Referências
[Kautz e Selman], Unifying STRIPS and SAT with BLACKBOX. Disponível para download em: http://citeseer.nj.nec.com/38115.html
AIMA capítulos 11 e 12 (livro texto da disciplina) Site do Blackbox
http://www.cs.washington.edu/homes/kautz/blackbox/ Site do ACLP
http://www.cs.ucy.ac.cy/aclp/index.html [Liatsos V., Richards B.] Least Commitment An optimal planning strategy (1997) Site do O-Plan
http://www.aiai.ed.ac.uk/~oplan/release/index.html#doc [Tate, Dabble and Dalton] O-Plan: a Knowledge Based Planner and its
Application to Logistics.(disponível para download no site do O-Plan)