O slideshow foi denunciado.
Seu SlideShare está sendo baixado. ×

Planejamento Automático: Breve Histórico, Strips, GraphPlan e SATPlan

Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Anúncio
Carregando em…3
×

Confira estes a seguir

1 de 62 Anúncio

Mais Conteúdo rRelacionado

Mais recentes (20)

Anúncio

Planejamento Automático: Breve Histórico, Strips, GraphPlan e SATPlan

  1. 1. Planejamento AutomáticoBreve Histórico, Strips, GraphPlan e SATPlan Jhonatan Alves Universidade Federal de Santa Catarina
  2. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 14. O problema do Planejamento ● Instância do mundo de blocos:
  15. 15. O problema do Planejamento ● Possível solução:
  16. 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.
  17. 17. Busca no Espaço de Estados
  18. 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. 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. 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. 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. 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. 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
  24. 24. STRIPS Operadores: ○ Empilhar((x,y), PRE: livre(y) ^ Segurando(x) ADD: Mão-vazia ^ Sobre(x,y) DEL: Livre(y) ^ Segurando(x) ○ Desempilhar((x,y), PRE: Sobre(x,y) ^ livre(x) ^ Mão-vazia ADD: Segurando(x) ^ Livre(y) DEL: Sobre(x,y) ^ Mão-vazia
  25. 25. STRIPS Operadores: ○ Pegar((x), PRE: livre(x) ^ Sobre-a-mesa(x) ^ Mão-vazia ADD: Segurando(x) DEL: Sobre-a-mesa(x) ^ Mão-vazia ○ Largar((x), PRE: Segurando(x) ADD: Sobre-a-mesa(x) ^ Mão-vazia DEL: Segurando(x)
  26. 26. Representação do Conhecimento Estado inicial: ○ Sobre(A,B) ^ Sobre-a-mesa(B) ^ Mão-vazia ^ Livre (A) Objetivo: ○ Sobre(B,A) ^ Sobre-a-mesa(A) ^ Mão-vazia ^ Livre (B)
  27. 27. STRIPS: Busca pelo Plano ○ s_0: Sobre(A,B) ^ Sobre-a-mesa(B) ^ Mão-vazia ^ Livre(A) ○ Empilhar((A,B),PRE: livre(B) ^ Segurando(A), ....) ○ Desempilhar((A,B), PRE: Sobre(A,B) ^ livre(A) ^ Mão-vazia, ...) ○ Pegar((A),PRE: livre(A) ^ Sobre-a-mesa(A) ^ Mão-vazia, ...) ○ Largar((A),PRE: Segurando(A), ...)
  28. 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. 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. 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. 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. 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. 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.
  34. 34. GRAPHPLAN
  35. 35. GRAPHPLAN ○ Empilhar((A,B), PRE: livre(B) ^ Segurando(A) ADD: Mão-vazia ^ Sobre(A,B) DEL: Livre(B) ^ Segurando(A)
  36. 36. GRAPHPLAN ● As linhas em vermelho indicam vínculos de exclusão mútua.
  37. 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. 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. 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. 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. 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. 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.
  43. 43. GRAPHPLAN ● Extração do plano: G:{¬garb, dinner, present}
  44. 44. GRAPHPLAN ● Extração do plano:
  45. 45. GRAPH PLAN ● Extração do plano: Solução: cook -> wrap
  46. 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. 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. 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. 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.
  50. 50. SATPLAN ● Estrutura de um planejador SAT:
  51. 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. 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. 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. 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))
  55. 55. SATPLAN ● Axiomas de precondições: Mover(A,B,0)-> Esta(A,0) Mover(B,A,0) -> Esta(B,0)
  56. 56. SATPLAN ● Axiomas de exclusão: (¬Mover(A,B,0) V ¬Mover(B,A,0))
  57. 57. SATPLAN ● Extraindo a solução: Tmax = 1 ESTA(A,0) ^ ¬ESTA(B,0) ^ 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)) ^ Mover(A,B,0) -> Esta(A,0) ^ Mover(B,A,0) -> Esta(B,0) ^ (¬Mover(A,B,0) V ¬Mover(B,A,0)) ^ Esta(B,1) ^ ¬Esta(A,1)
  58. 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. 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. 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.
  61. 61. Contato jhonatan.alves@posgrad.ufsc.br
  62. 62. Perguntas? Obrigado!

×