O documento resume brevemente a história do planejamento automático, apresentando os principais sistemas desenvolvidos ao longo das décadas, como STRIPS, GraphPlan e SATPlan. Discute também as técnicas de representação do conhecimento e busca de planos, mostrando como cada sistema resolve problemas de planejamento.
2. Sequência da Apresentação
● Histórico
● O problema do planejamento
● Busca no espaço de estados
● Representação do conhecimento
● GraphPlan
● SatPlan
● Conclusão
● Perguntas?
3. Histórico
● Nos anos 60 as principais pesquisas em IA
estavam focadas no desenvoltimento de
solucionadores gerais: GPS e QA3.
● Nos anos 70, Filkes e Nilson apresentaram
o sistema STRIPS que deu origem Éra
Classica do Planejamento Automático.
4. Histórico
● Novos sistemas de planejamento como
ABSTRIPS, NOAH e NONLIN foram
apresentados para contornar as restrições
de STRIPS.
● Durante os anos 80 a área de planejamento
automático progrediu pouco.
5. Histórico
● A década de 90 foi marcada por grandes
avanços na área de planejamento
automático com o surgimento dos
planejadores GRAPHPLAN e SATPLAN.
● Em 1998 foi criada a linguagem de definição
de domínios de problemas - PDDL.
6. Histórico
● A partir de 1998 várias competições
internacionais surgiram com o intuito de
premiar os melhores sistema de
planejamento automático, tais como:
○ Competição Internacional de Planejamento (IPC)
○ Conferência Européia de Planejamento (ECP)
○ Conferência Internacional de Planejamento e
Escalonamento (ICAPS)
7. Histórico
● A última edição da IPC ocorreu este ano em
Atibaia, São Paulo.
● Atualmente as pesquisas em planejamento
automático estão voltadas sobre o conceito
de escalonamento automático.
8. Histórico
● Planejamento automático tem sido estudado
em diversos centros de ensino e pesquisa:
○ Nasa: desenvolveu um ambiente de planejamento
automático voltado para missões espaciais - ASPEN
○ INPE: junto com institutos europeus vem estudando
planejamento automático para testes espaciais -
SPAAS
○ UFC: Planejamento automático voltada a
administração de recursos hídricos no Estado do
Ceará
○ Petrobras: em parceria com a USP está estudando
9. O problema do Planejamento
● Planejamento é o processo de escolher um
conjunto de ações que quando executadas
em uma determinada sequência satisfazem
um conjunto de objetivos.
● Planejamento automático é a área da IA
responsável por estudar este processo
através do uso do computador.
10. O problema do Planejamento
● Planejamento Automático agrega
conhecimento de outras áreas da IA e
Computação:
○ Engenharia do conhecimento
○ Lógica
○ Busca
11. O problema do Planejamento
● A modelagem do domínio abstrai um
conjunto de fatores, tais como: tempo,
custo, recursos e pessoas envolvidas.
● Problemas de Planejamento Automático
pertencem a classe NP-Completo.
12. O problema do Planejamento
● Formalmente, um problema de
planejamento clássico é a tripla:
P = <T,s0,G>
onde:
○ T = sistema de transição de estados
○ s0 = estado inicial
○ G = conjunto de metas
13. O problema do Planejamento
● T, por sua vez é a seguinte tripla:
T = <S,A,y>
onde:
○ S = {s0,s1,...,sn} é o conjunto de estados
○ A = {a0,a1,...,am} é o conjunto de ações
○ y = S x A -> S é a função de transição de estados
Um plano P é formado por uma sequência
linear de ações que satisfaz G, tal que:
○ s1 = y(s0,ai), s2 = y(s1,aj), ..., sn = y(sn-1,ak)
○ P = {ai,aj,...,ak} e sn pertence a G
14. O problema do Planejamento
● Instância do mundo de blocos:
16. Busca no Espaço de Estados
● Busca para frente inicia-se pelo estado
inicial do problema e traça por uma
sequência de ações que alcance o
objetivo do problema.
18. Busca no Espaço de Estados
● Busca para trás inicia-se pelo conjunto G e
traça uma sequência de ações que alcance
o estado inicial do problema.
19. Representação do Conhecimento
● Quesito de grande importância no
desenvolvimento de um plano.
● Técnicas de representação do
conhecimento são empregadas na
modelagem do domínio de problemas.
20. Representação do Conhecimento
● A modelagem do domínio pode ser realizada
através da Teoria de conjuntos, Variáveis de
Estado e pela Representação clássica.
● As principais linguagens de descrição de
domínios da Representação clássica são:
○ Cálculo Situacional
○ STRIPS
○ PDDL
21. STRIPS
● STRIPS é uma linguagem formal derivada
da lógica de primeira ordem usada para
decompor problemas de planejamento
automático em condições lógicas.
● Em STRIPS um problema é a tripla:
<s0,L,O,G>
Onde:
○ L é o conjunto de literais
○ O é o conjunto de operadores
○ G conjunto de objetivos
22. STRIPS
● Um operador O possui a seguinte estrutura:
O: nome((a0,a1,...an),PRE,ADD,DEL)
● Um estado si é representado por uma
conjunção de n literais verdadeiros:
23. STRIPS
● Como exemplo, considere a seguinte
instância do mundo de blocos:
Literais:
○ Sobre(x,y): x está sobre y
○ Livre(x): não há outro bloco sobre x
○ Segurando(x): o robô está segurando x
○ Mão-livre: o robô não está segurando algum bloco
○ Sobre-a-mesa(x): o bloco x está sobre a mesa
28. STRIPS: Busca pelo Plano
● A aplicação do operador:
○ Desempilhar((A,B),
PRE: Sobre(A,B) ^ livre(A) ^ Mão-vazia
ADD: Segurando(A) ^ Livre(B)
DEL: Sobre(A,B) ^ Mão-vazia
sobre o estado:
s0: Sobre(A,B) ^ Sobre-a-mesa(B) ^ Mão-vazia ^ Livre
(A)
gera o novo estado:
○ s1: Segurando(A) ^ Livre(B) ^ Sobre-a-mesa(B) ^
Livre(A)
29. STRIPS: Busca pelo Plano
● Sobre o estado s1 aplica-se o operador
Largar(A) que gera o estado s3:
s3: Sobre-a-mesa(A) ^ Livre(A) ^ Mão-vazia ^ Livre(B) ^
Sobre-a-mesa(B)
● Sobre o estado s3 aplica o operador Pegar
(B) que gera o estado s4:
○ S4: Sobre-a-mesa(A) ^ Livre(A) ^ Segurando(B) ^
Livre(B)
30. STRIPS: Busca pelo Plano
● Sobre o estado s4 aplica-se o operador
Empilhar(B,A) que gera o estado s4:
○ s4: Sobre(B,A) ^ Livre(B) ^ Mão-vazia ^ Sobre-a-
mesa(A)
31. STRIPS: Busca pelo Plano
● O Plano gerado é a seguinte sequência de
operadores:
○ Desempilhar(A,B) -> Largar(A) -> Pegar(B) ->
Empilhar(B,A)
32. GRAPHPLAN
● É uma técnica que busca por um plano
através de uma estrutura de grafo chamada
de grafo de planejamento.
● O grafo de planejamento consiste em uma
sequência de camadas onde cada camada
corresponde a um passo na busca do plano.
33. GRAPHPLAN
● Uma camada de literais é formada por
todos os literais que poderiam ser
verdadeiros nesse passo.
● Uma camada de ações é formada por todas
as ações que poderiam ter suas
precondições satisfeitas nesse passo.
37. GRAPHPLAN
● Duas ações são mutuamente exclusivas se
uma ou mais condições forem satisfeitas:
○ Uma ação nega o efeito da outra.
○ Um dos efeitos de uma ação é a negação de uma
precondição de uma outra ação.
38. GRAPHPLAN
● Dois literais são mutuamente exclusivas se
uma ou mais condições forem satisfeitas:
○ Um litral é a negação do outro.
○ Ações que alcaçam um par de literais são
mutuamente exclusivas.
39. GRAPHPLAN
● Busca pelo plano:
O algoritmo do GRAPH PLAN funciona em
duas fases:
■ 1ª: expandir o grafo de planejamento.
■ 2ª: tentar extrair um plano do grafo de
planejamento expandido.
40. GRAPHPLAN
● A fase de extração é realizada somente
quando todos os literais do objetivo estão
presente na atual camada e se não existem
vínculos de exclusão mútua entre qualquer
par de literais.
● O processo de expansão pára somente se
uma solução seja encontrada ou que se
verifique que não é possível extraír um
plano do grafo.
41. GRAPHPLAN
● A prova de que um plano não poderá ser
extraído é verificado quando:
○ Literais aumentam monotonicamente.
○ Ações aumentam monotonicamente.
○ Número de exclusões mútuas diminuem
monotonicamente.
42. GRAPHPLAN
● Extração do plano:
○ Busca inicia a partir da camada final.
○ A cada camada k selecionar um conjunto de ações
que não possuem relação de exclusão mútua.
○ As precondições das ações selecionadas na
camada k se tornam o objetivos a serem alcançados
pelas ações da camada k-1.
○ Se a camada inicial é alcançada então existe um
plano.
46. SATPLAN
● É uma técnica de planejamento que consiste
em reduzir uma instância de planejamento
automático ao problema da satisfazitilidade
booleana (SAT).
47. SATPLAN
● O problema da satisfazibilidade booleana
consiste em testar se uma senteça lógica F
em sua forma normal conjuntiva (CNF) é
satisfazível, por exemplo:
○ F = (p v q v r) ^ (¬p v ¬ r)
○ p = 0, q = 1 e r = 0 então F = 1.
● Ou seja, consiste em encontrar um conjunto
C de valores verdade que satisfaça F:
○ C = {p=0, q=1, r=0}
48. SATPLAN
● A redução segue os seguintes passos:
○ para i=0 até Tmax
○ F = reduzir a instância de planejamento a SAT
○ Se F é satisfazível
○ Então extraír um plano P do conjunto de
○ valores verdade que satisfaz F
○ Retorne P
○ Fim Se
Onde Tmax é um valor que delimita o
comprimento do plano.
49. SATPLAN
● Caso a fórmula lógica F correspondente a
instância de planejamento seja satisfazível
então um plano poderá ser extraído desta
fórmula.
● O plano é formado pelas proposições,
correspondentes as ações, assinadas como
verdadeiras.
51. SATPLAN
● A redução de uma instância de
planejamento consiste no seguinte conjunto
de axiomas:
Onde:
AES é o conjunto de axiomas de estados
sucessores.
AP é o conjunto de axiomas de precondições.
AE e o conjunto de axiomas de exclusão.
52. SATPLAN
● Considere o seguinte problema:
Um robô precisa se movimentar da célula A
para a célula B.
Literais:
○ EM(x): o robô está na célula x.
Ações:
○ Mover((x,y), PRE: EM(x), ADD: EM(y), DEL: EM(x))
53. SATPLAN
● A codificação do estado inicial:
Esta(A,0) ^ ¬Esta(B,0)
● Codificação de G:
Esta(B,n) ^ ¬Esta(A,n)
54. SATPLAN
● Axiomas de Estados Sucessores:
Esta(A,1) <--> Mover(B,A,0) v ( Esta(A,0)
¬Mover(A,B,0))
Esta(B,1) <--> Mover(A,B,0) v ( Esta(B,0)
¬Mover(B,A,0))
58. Conclusões
● Problemas de planejamento são complexos.
● A complexidade está tanto na representação
do conhecimento quando no
desenvolvimento de algoritmos.
● A complexidade aumenta conforme o
número de literais e ações.
59. Conclusões
● SATPLAN e GRAPHPLAN foram os grandes
responsáveis pelo sucesso nas pesquisas
em planejamento automático.
● Anos depois outros planejadores foram
propostos tendo como base as técnicas do
SATPLAN e GRAPHPLAN
○ MEDIC
○ BLACKBOX
60. Conclusões
● GRAPHPLAN vs SATPLAN
○ Não existe nenhuma prova formal de que um seja
melhor do que o outro.
○ Ambos são velozes.
○ Resolvem problemas complexos.