A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

CIn-UFPE 1 Planejamento Clássico Geber Ramalho Jacques Robin Rodrigo Barros.

Apresentações semelhantes


Apresentação em tema: "CIn-UFPE 1 Planejamento Clássico Geber Ramalho Jacques Robin Rodrigo Barros."— Transcrição da apresentação:

1 CIn-UFPE 1 Planejamento Clássico Geber Ramalho Jacques Robin Rodrigo Barros

2 CIn-UFPE 2 Roteiro nConceitos básicos nSTRIPS nPOP

3 CIn-UFPE 3 Plano nO que é um plano? seqüência ordenada de ações nExemplo: Problema: obter banana, leite e uma Furadeira (para fazer uma super vitamina na falta de liquidificador ;-) Plano: ir ao supermercado, ir à seção de frutas, pegar as bananas, ir à seção de leite, pegar uma caixa de leite, ir ao caixa, pagar tudo, ir a uma loja de ferramentas,..., voltar para casa nRepresentação de um plano estados, ações e objetivos nComo funcionaria um planejador clássico? (P)

4 CIn-UFPE 4 Agente Planejador Clássico n3 fases Percepção do ambiente Planejamento (tempo ilimitado) Execução do plano (passo a passo) nAlgoritmo Function Simple-planning-agent (percept) returns action Tell (KB, Make-percept-sentence (percept, t) p := NoPlan. current := State-description (KB,t) If p = NoPlan then G := Ask(KB, Make-a-goal-query(t)) p := Ideal-planner(current, G, KB) If p = NoPlan then action := NoOp else action := First (p) p := Rest (p) Tell (KB, Make-action-sentence (action,t)) return action

5 CIn-UFPE 5 Agente Planejador Clássico nNormalmente usado em ambientes... Acessíveis Deterministas Estáticos (só muda com ação do agente) Discretos (tempo, ações, objetos e efeitos) nMesmo assim, ainda é muito melhor do que a busca Por que? Em que casos? (P)

6 CIn-UFPE 6 Busca x Planejamento nRepresentação em busca Ações /operadores: programas que geram o estado sucessor Estados : descrição completa Objetivos: função de teste e heurística Planos: totalmente ordenados e criados incrementalmente a partir do estado inicial nExemplo do supermercado estado inicial: em casa, sem objetos desejados estado final: em casa com objetos desejados operadores: tudo o que o agente pode fazer heurística: número de objetos ainda não possuídos

7 Exemplo com busca começo Ir ao banco Ir à escola Ir ao supermercado Ir dormir Ler um livro Sentar na cadeira Etc... Pagar contas Assistir aula Pegar dinheiro Levantar Ler um livro Comprar queijo Comprar banana Comprar atum Fim... Onde o bicho pega?

8 CIn-UFPE 8 Limitações da busca nAções irrelevantes (grande fator de ramificação) Pouco conhecimento para guiar a busca (ex. Buy(x) resulta em Have(x)) nDificuldade de encontrar uma boa heurística Dependem muito do domínio nNão tira proveito da decomposição do problema Ex. FedEx (entregar pacotes em diversas cidades) nNão permite abstração dos estados parciais Ex. estou com leite (e com mais X, olhando para Y,...) nConstrói plano a partir do estado inicial, uma ação após a outra nRetorna plano rígido

9 CIn-UFPE 9 STRIPS (STanford Research Institute Problem Solver) Linguagem suficientemente expressiva (e restrita) para representação de problemas de planejamento clássicos Em relação ao estudado, estamos juntando busca (resolução de problemas) com uma representação baseada em lógica

10 CIn-UFPE 10 STRIPS: sintaxe de estados e ações nEstados (L. da 1a ordem): conjunção de literais positivos, sem variáveis e sem funções Não vale:  At(x,y) ou At(Father(Fred), Recife) Hipótese do mundo fechado (ausência = negação) nObjetivos (1a ordem): conjunção de literais positivos sem variáveis nExemplos Inicial: At(Home) –Subtende-se  Have(Milk) ^  Have(Bananas)... Final: At(Home) ^ Have(Milk) ^ Have(Bananas) ^ Have(Drill)

11 CIn-UFPE 11 STRIPS: sintaxe de estados e ações nAções: Descritor da ação: predicado lógico Pré-condições: conjunção de literais positivos sem funções (deve ser verdade para a ação acontecer) Efeitos: conjunção de literais (positivos ou negativos) sem funções nExemplo: voar Action (Fly(p,from,to), PRECOND: At(p,from) ^ Plane(p), Airport(from), Airport(to) EFFECT: ¬ At(p,from) ^ At(p,to))

12 CIn-UFPE 12 Como fica o operador “ir”? nOperador para ir de um lugar para outro –Action (Go(there), PRECOND:At(here) ^ Path(here, there), EFFECT:At(there) ^ ¬ At(here)) Notação alternativa Diferença –Esquema de operador (Classe). Ex. Go –Operador (instância). Ex. Go(Recife) Go(there) At(here), Path(here, there) At(there),  At(here)

13 CIn-UFPE 13 STRIPS: Semântica nAção aplicável Um operador O é aplicável a um estado s, se precond (O)  s (pré-condições satisfeitas) Ex.: Fly(P1, JFK, SFO) aplicável ao estado: At(P1,JFK)  Plane(P1)  Airport(JFK)  Airport(SFO)  At(P2,SFO)  Plane(P2) ... nResultado de uma ação (levando do estado s a s’): Literais positivos do efeito da ação são adicionados ao novo estado s’ Literais negativos são removidos de s’ Ex.: estado após execução de Fly(P1, JFK, SFO): At(P1,SFO)  At(P2,SFO)  Plane(P1)  Plane(P2)  Airport(JFK)  Airport(SFO)

14 CIn-UFPE 14 Semântica de STRIPS nStrip assumption se P já existe em s, ele não é duplicado e se o efeito negativo (  P) não existe em s, ele é ignorado (não precisa adicionar) nSolução Seqüência de ações que quando executada desde o estado inicial leva ao objetivo

15 CIn-UFPE 15 Exercício nFazer descrição STRIPS para transporte de carga por avião de um aeroporto a outro Estado inicial: Objetivo: Ações:

16 CIn-UFPE 16 Exercício (resposta) Init( At(C1, SFO)  At(C2, JFK)  At(P1, SFO)  At(P2, JFK)  Cargo(C1)  Cargo(C2)  Plane(P1)  Plane(P2)  Airport(JFK)  Airport(SFO) ) Goal( At(C1, JFK)  At(C2, SFO)) Action( Load(c, p, a), PRECOND: At(c, a)  At(p, a)  Cargo(c)  Plane(p)  Airport(a) EFFECT:  At(c, a)  In(c, p) ) Action( Unload(c, p, a), PRECOND: In(c, p)  At(p, a)  Cargo(c)  Plane(p)  Airport(a) EFFECT: At(c, a)   In(c, p) ) Action (Fly(p, from, to), PRECOND: At(p, from)  Plane(p)  Airport(from)  Airport(to) EFFECT:  At(p, from)  At(p, to) )

17 CIn-UFPE 17 Mundo dos blocos nO que falar um conjunto de blocos sobre uma mesa a serem empilhados numa certa ordem só se pode mover um bloco se não houver nada em cima dele nVocabulário On(b,x) - bloco b está em cima de x PutOn(b, x, y) - mover b de x para y B C A A B C Estado inicial Estado final

18 CIn-UFPE 18 Mundo dos blocos nProblema 1 como representar em Strips que não há nada sobre um bloco? Não podemos usar  x on(x,b) ou  x  on(x,b) Solução: Clear(x) nOperador Op(ACTION: PutOn(b, x, y), PRECOND: On(b, x) ^ Clear(b) ^ Clear(y) EFFECT: On(b, y) ^ Clear(x) ^  On(b, x) ^  Clear(y))

19 CIn-UFPE 19 Mundo dos Blocos nProblema 2: Clear(Table) ! Cabem mais de um bloco sobre a mesa, logo... Não é preciso testar clear(mesa) e nem modificar clear(mesa) quando novo bloco for posto em cima dela nSolução 2: Op(ACTION: PutOnTable(b, x), PRECOND: On(b, x) ^ Clear(b), EFFECT: On(b, Table) ^ Clear(x) ^  On(b, x)) Redefinir o conceito de Clear(x) para “existe espaço livre em cima de x”

20 CIn-UFPE 20 Sobre as restrições sintáticas de STRIP nObjetivos de uma linguagem mais restrita algoritmos (planners) simples e eficientes nProblema Falta expressividade nEvolução: várias linguagens ADL: Action Description Language PDDL: Planning Domain Definition Language (engloba todas) nExemplo do avião com ADL Action( Fly(p : Plane, from : Airport, to : airport), PRECOND: At(p, from)  (from  to) EFFECT:  At(p, from)  At(p, to) ).

21 CIn-UFPE 21 ADL: Action Description Language STRIPSADL Apenas literais positivos nos estadosLiterais Positivos e Negativos nos estados Hipótese do mundo fechadoHipótese do mundo aberto Efeito P   Q: adicionar P e apagar QEfeito P   Q: adicionar P e  Q e apagar  P e Q Apenas proposições nos objetivosVariáveis quantificadas Objetivos são conjunçõesObjetivos podem ser conjunções e/ou disjunções Efeitos são conjunçõesEfecitos condicionais permitidos: When P:E Não suporta igualdadeSuporta igualdade Não suporta tiposSuporta tipos

22 CIn-UFPE 22 Planejadores

23 Comparação das Abordagens de Resolução de Problemas Problema Resolução de Problema por Meio de Busca Espaço de Estados: Representação em Extensão funcional Busca Problema Planejamento no Espaço de Estado Espaço de Estados: Representação em Intenção da 1 a ordem Busca Planejamento: Ações especificam efeitos e pré- condições. Logo, é possível realizar busca para frente e para trás

24 CIn-UFPE 24 Busca Para Frente no Espaço de Estados nTambém chamado de Planejamento Progressivo nEstado Inicial: estado inicial do problema de planejamento nAções Aplicáveis a um estado são aquelas cujas pré-condições são satisfeitas nAlgoritmos bastante ineficiente Leva em consideração ações irrelevantes –Todas as ações aplicáveis a um estado são consideradas –Ex.: ir para igreja para comprar livro Necessita de uma heurística muito boa

25 CIn-UFPE 25 Busca Para Trás no Espaço de Estados nTambém chamado de Planejamento Regressivo nEstado Inicial: objetivo do problema de planejamento nLeva em consideração apenas ações relevantes: Ações que geram pelo menos um dos literais do objetivo nAções devem ser consistentes: Não “desfazem” nenhum literal desejado !

26 CIn-UFPE 26 Balanço nEm ambos os casos... O plano gerado é rígido o processo de geração é linear, passo a passo! nBusca para frente e para trás são casos particulares de Busca Totalmente Ordenada Ações explorados de maneira estritamente seqüencial Ações críticas para o sucesso ou falha de um plano não são necessariamente as primeiras a serem executadas Não tiram vantagem da decomposição de problemas nTentar usar os melhores dos mundos... Busca regressiva No espaço de planos!!

27 Comparação das Abordagens de Resolução de Problemas Problema Resolução de Problema por Meio de Busca Espaço de Estados: Representação em Extensão funcional Busca Problema Planejamento no Espaço de Estado Espaço de Estados: Representação em Intenção da 1 a ordem Busca Problema POP Espaço de Planos: Representação em Intenção da 1 a ordem Busca

28 CIn-UFPE 28 Partial Order Planning (POP)

29 CIn-UFPE 29 Busca no espaço de planos nIdéia Buscar um plano desejado em vez de uma situação desejada (espécie de meta-busca) parte-se de um plano inicial (parcial), e aplica-se operadores até chegar a um plano final (completo) nPlano inicial passos Start e Finish nPlano final Completo - toda a pré-condição de todo passo é alcançada por algum outro passo Consistente - não há contradições –nos ordenamentos das ações –nas atribuição de variáveis

30 CIn-UFPE 30 Busca no espaço de planos: operadores nOperador de refinamento: restrições ao plano (elimina planos potenciais) adicionar novo passo instanciar variável ordenar passos nOperador de modificação (adicionam novos planos) operadores de revisão (para corrigir planos) operadores de decomposição hierárquica

31 CIn-UFPE 31 nPassos = {S1: operador1,..., Sn: operadorN}, nOrdem = { S1 < Sk < Sn }, o que não significa que entre S1 e Sk não exista outro passo nLigações causais = {Si Sj} efeitos Si = pré-condições de Sj (Não existe nenhum passo entre eles) nBindings = { var = constante, var1 = var2}, nOperador = Op(Ação(x), Precond(y), Efeito(z))c Representações de planos: Linguagem

32 CIn-UFPE 32 Exemplo informal: colocar meias e sapatos nPlano inicial start end (pré-condição: estar com meias e sapatos) nOperadores calçar meia direita (pré-condição: pé direito descalço; efeito: pé direito com meia) calçar sapato direito (pré-condição: pé direito com meia; efeito: pé direto com meia e sapato) calçar meia esquerda... calçar sapato esquerdo... nPlano final? Existem vários possíveis.... Como representar isto? (P)

33 CIn-UFPE 33 Devolta às meias e sapatos nObjetivo: RightShoeOn ^ LeftShoeOn nOperadores –Op(ACTION:RightShoe, PRECOND: RightSockOn, EFFECT: RightShoeOn) –Op(ACTION: RightSock, EFFECT: RightSockOn) –Op(ACTION:LeftShoe, PRECOND: LeftSockOn, EFFECT: LeftShoeOn) –Op(ACTION: LeftSock, EFFECT: LeftSockOn) nPlano inicial Plan(STEPS:{S1: Op(ACTION: Start), S2: Op(ACTION: Finish, PRECOND: RightShoeOn ^ LeftShoeOn)}, ORDERINGS: { S1 < S2 }, BINDINGS: {}, LINKS: {} )

34 CIn-UFPE 34 Plano (de ordem) parcial Left Shoe Right Shoe Left Sock Right Sock LeftSockOnRightSockOn Start Finish LeftShoeOn, RightShoeOn

35 CIn-UFPE 35 Plano final: características nPlano final Completo - toda a pré-condição de todo passo é alcançada por algum outro passo Consistente - não há contradições nos ordenamentos ou nas atribuição de variáveis mas não necessariamente totalmente ordenado e instanciado nOrdem total x Ordem parcial Lista simples com todos os passos um atrás do outro Linearizar um plano é colocá-lo na forma “ordem total” nInstanciação completa de um plano todas variáveis são instanciadas –ex. posso decidir que vou a um supermercado sem dizer qual...

36 CIn-UFPE 36 Linearização do exemplo dos sapatos

37 CIn-UFPE 37 Princípio do menor engajamento nPara que então deixar o plano não totalmente ordenado e instanciado? nPrincípio do menor engajamento (least commitment planning) não faça hoje o que você pode fazer amanhã ordem e instanciação totais são decididas quando necessário evita-se backtracking! nExemplo para objetivo have(Milk), a ação Buy(item, store), se instancia só item => Buy (Milk,store) para as meias/sapatos: botar cada meia antes do sapato, sem dizer por onde começa(esq/dir)

38 CIn-UFPE 38 Funcionamento do POP

39 CIn-UFPE 39 POP nCaracterísticas do POP A inserção de um passo só é considerada se atender uma precondição não atingida Planejador regressivo É correto e completo, assumindo busca em largura ou em profundidade iterativa nIdéia do algoritmo identifica passo com pré-condição (sub-goal) não satisfeita introduz passo cujo efeito é satisfazer esta pré-condição instancia variáveis e atualiza os links causais verifica se há ameaças e corrige o plano se for o caso

40 CIn-UFPE 40 Voltando ao exemplo das compras... nPlano inicial nAções Op(ACTION: Go(there), PRECOND: At(here), EFFECT: At(there)  At(here)) Op(ACTION: Buy(x), PRECOND: At(store) ^ Sells(store, x), EFFECT: Have(x)) Conhecimento a priori do mundo

41 Planejamento Parcial - Exemplo Go(HWS) At(Home) Go(SM) At(Home) At(SM),Sells(HWS,Drill) Buy(Drill)Buy(Bananas)Buy(Milk) Sells(SM, Milk) At(SM), Sells(SM, Bananas) At(HWS), Start Have(Milk),Have(Drill),Have(Bananas), At(Home) Finish Apaga At(Home) Negrito = causal link

42 CIn-UFPE 42 S3S3S3S3 S1S1S1S1 S2S2S2S2 c  c Problema da ameaça nAmeaça ocorre quando os efeitos de um passo põem em risco as pré-condições de outro –no caso anterior, os operadores Go(HWS) e Go(SM) apagam At(Home) nCom testar? O novo passo é inconsistente com condição protegida O passo antigo é inconsistente com nova condição protegida S3 ameaça a condição c estabelecida por de S1 e protegida pelo link causal S1 para S2

43 CIn-UFPE 43 Ameaça - soluções S1S1S1S1 S3S3S3S3 S2S2S2S2  c c S1S1S1S1 S3S3S3S3 S2S2S2S2 c Promotion Demotion

44 Start Go(HWS) Buy(Drill) Go(SM) Buy(Milk)Buy(Ban.)Go(Home) Finish At(Home) At(HWS), Sells(HWS,Drill) At(HWS) At(SM)Sells(SM,Milk)At(SM) At(Home) At(SM)Sells(SM,Ban.) Have(Milk)Have(Ban.)Have(Drill) Planejamento Parcial - Exemplo Outra ameaça: sair da loja de ferramentas sem comprar a Furadeira Resolve a ameaça

45 CIn-UFPE 45 Engenharia do conhecimento nDecidir sobre o que falar nDecidir sobre um vocabulário de condições, operadores e objetos nCodificar os operadores para o domínio nCodificar uma descrição da instância do problema nColocar o problema para o planejador existente e obter os planos

46 CIn-UFPE 46 Voltando ao exemplo dos blocos Executar planejador!

47 CIn-UFPE 47 Mundo dos blocos nInit: On(C,A) On(A,Table) Clear(B) On(B,Table) Clear(C) nGoal: On(A,B) On(B,C) nOperator Op(ACTION: PutOnTable(b, x), PRECOND: On(b, x) ^ Clear(b), EFFECT: On(b, Table) ^ Clear(x) ^  On(b, x)) Op(ACTION: PutOn(b, x, y), PRECOND: On(b, x) ^ Clear(b) ^ Clear(y) EFFECT: On(b, y) ^ Clear(x) ^  On(b, x) ^  Clear(y)) Onde, Clear(x) significa “existe espaço livre em cima de x” B C A A B C Estado inicial Estado final

48 CIn-UFPE 48 Mundo dos Blocos Start On(C,A) On(A,Table) Clear(B) On(B,Table) Clear(C) End On(A,B) On(B,C)

49 CIn-UFPE 49 Mundo dos Blocos Start On(C,A) On(A,Table) Clear(B) On(B,Table) Clear(C) End On(A,B) On(B,C) PutOn(B,C) Clear(B) On(B,z) Clear(C)

50 CIn-UFPE 50 Mundo dos Blocos Start On(C,A) On(A,Table) Clear(B) On(B,Table) Clear(C) End On(A,B) On(B,C) PutOn(B,C) Clear(B) On(B,z) Clear(C) PutOn(A,B) Clear(A) On(A,z) Clear(B) PutOn(A,B) ameaça Clear(B)  Coloca depois de PutOn(B,C)

51 CIn-UFPE 51 Mundo dos Blocos Start On(C,A) On(A,Table) Clear(B) On(B,Table) Clear(C) End On(A,B) On(B,C) PutOn(A,B) Clear(A) On(A,z) Clear(B) PutOn(A,B) ameaça Clear(B)  Coloca depois de PutOn(B,C) PutOnTable(C) On(C,z) Clear(C) PutOn(B,C) Clear(B) On(B,z) Clear(C) PutOn(B,C) ameaça Clear(C)  Coloca depois de PutOnTable(C)

52 CIn-UFPE 52 Resumo..

53 CIn-UFPE 53 Busca x Planejamento nDiferenças fundamentais Representação de ações e objetivos Forma de construir soluções Plano parcial (Dividir para conquistar) BuscaPlanejamento EstadosEstruturas de dadosSentenças lógicas AçõesCódigoPré-condições, efeitos ObjetivoCódigoSentenças lógicas Plano Estrutura (seqüência) de dados Restrições sobre ações

54 CIn-UFPE 54 Planejamento: idéias principais nAproveita a estrutura do problema Nearly decomposable problems: sub-objetivos com relativa independência –Ex. Supermercado (sub-planos leite, Furadeira,...) FedEx (sub-planos cidade x, cidade y,...) Não funciona para Puzzles!!! nLinguagem específica (e eficiente) para representar estados, objetivos e ações Pode conectar diretamente estados (sentenças) e ações (pré- condições + efeitos) –ex. estado: Have (Milk), ação: Buy(milk)=> Have(Milk) combina agente baseado em conhecimento com o agente de busca!

55 CIn-UFPE 55 Planejamento: idéias principais nLiberdade de adicionar ações ao plano quando forem necessárias ordem de planejamento  ordem de execução primeiro, o que é importante : Buy(Milk) diminui fator de ramificação

56 CIn-UFPE 56 Referência Bibliográfica nAIMA, Stuart Russel – Peter Norving Second Edition Seções 11.1, 11.2, 11.3


Carregar ppt "CIn-UFPE 1 Planejamento Clássico Geber Ramalho Jacques Robin Rodrigo Barros."

Apresentações semelhantes


Anúncios Google