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

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

CIn-UFPE 1 Planejamento Clássico Conceitos básicos POP-STRIPS Limitações e abordagens mais avançadas.

Apresentações semelhantes


Apresentação em tema: "CIn-UFPE 1 Planejamento Clássico Conceitos básicos POP-STRIPS Limitações e abordagens mais avançadas."— Transcrição da apresentação:

1

2 CIn-UFPE 1 Planejamento Clássico Conceitos básicos POP-STRIPS Limitações e abordagens mais avançadas

3 CIn-UFPE 2 Plano nPlano: seqüência ordenada de ações Exemplo de problema: obter banana, leite e uma furadeira 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. nPlanejamento clássico: Só ambientes completamente... Acessíveis Deterministas estáticos (só muda com ação do agente) discretos (tempo, ações, objetos e efeitos) finitos

4 CIn-UFPE 3 Agente Planejador Simples 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 4 Resol. de Problemas (RP) x Planejamento nRepresentação em RP Ações /operadores: programas que geram o estado sucessor Estados : descrição completa –problemático em ambientes inacessíveis Objetivos: função de teste e heurística Planos: totalmente ordenados e criados incrementalmente a partir do estado inicial –Ex. posições das peças de um jogo 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

6 Exemplo em RP 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...

7 CIn-UFPE 6 Limitações da RP 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

8 CIn-UFPE 7 Planejamento: idéias principais nAproveitar 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 resolvedor de problemas!

9 CIn-UFPE 8 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

10 CIn-UFPE 9 STRIPS (STanford Research Institute Problem Solver) Linguagem específica para planejamento

11 CIn-UFPE 10 STRIPS nEstados: conjunção de literais positivos sem variáveis –Inicial: At(Home) –Hipótese do mundo fechado: Have(Milk) ^ Have(Bananas) –Final: At(Home) ^ Have(Milk) ^ Have(Bananas) ^ Have(Drill) Objetivos: conjunção de literais e possivelmente variáveis –At(Home) ^ Have(Milk) ^ Have(Bananas) ^ Have(Drill) –At(x)^ Sells(x, Milk) nAções: Descritor da ação: predicado lógico Pré-condição: conjunção de literais positivos Efeito: conjunção de literais (positivos ou negativos)

12 CIn-UFPE 11 Exemplo de ações em STRIPS nOperador para ir de um lugar para outro –Op(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 12 Exemplo de ações em STRIPS nSemântica: como ações afetam estados O operador O é aplicável a um estado S, se precond (O) s O Resultado da ação a em um estado s é s, que é igual a s a não ser por algum literal P ou P que foi adicionado ou retirado de s, respectivamente Strip assumption –se P já existe em s, ele não é duplicado e se o efeito negativo ( P) não existe em s, ele é ignorado Solução –Seqüência de ações que quando executada desde o estado inicial leva ao objetivo

14 CIn-UFPE 13 Tipos de Planejadores nControle Progressivo: estado inicial -> objetivo Regressivo: objetivo -> estado inicial –mais eficiente (há menos caminhos partindo do objetivo do que do estado inicial) –problemático se existem múltiplos objetivos nEspaços de busca Espaço de situações (como na resolução de problemas) Espaço de planos (planos parciais) –mais flexível –evita engajamento prematuro

15 CIn-UFPE 14 Planejamento com busca

16 CIn-UFPE 15 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

17 CIn-UFPE 16 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

18 CIn-UFPE 17 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

19 CIn-UFPE 18 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?

20 CIn-UFPE 19 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: {} )

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

22 CIn-UFPE 21 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...

23 CIn-UFPE 22 Linearização do exemplo dos sapatos

24 CIn-UFPE 23 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)

25 CIn-UFPE 24 POP (Partial-Order Planner) Algoritmo específico para planejamento (casado com a linguagem STRIPS)

26 CIn-UFPE 25 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

27 CIn-UFPE 26 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

28 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

29 CIn-UFPE 28 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

30 CIn-UFPE 29 Ameaça - soluções S1S1S1S1 S3S3S3S3 S2S2S2S2 c c S1S1S1S1 S3S3S3S3 S2S2S2S2 c c Promotion Demotion

31 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

32 CIn-UFPE 31 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

33 CIn-UFPE 32 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

34 CIn-UFPE 33 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))

35 CIn-UFPE 34 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

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

37 CIn-UFPE 36 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)

38 CIn-UFPE 37 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)

39 CIn-UFPE 38 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)

40 CIn-UFPE 39 Aplicações nConstrução de prédios: SIPE nEscalonamento de tarefas industriais TOSCA (Hitachi) ISIS (Whestinghouse) nConstrução, integração e verificação de espaçonaves: Optimum-AIV (Agência Espacial Europea) nPlanejamento para Missões Espaciais Voyager, Telescópio espacial Hubble (NASA) ERS-1 (Agência Espacial Europea) netc.

41 CIn-UFPE 40 Limitações de POP-STRIPS nPlanejamento a vários níveis de granularidade: de POP-STRIPS para POP-HAD-STRIPS nPrecondições e efeitos contextuais: de POP-STRIPS para POP-DUNC nRepresentação do tempo: de POP-STRIPS para POP-TI-STRIPS nRepresentação de recursos globalmente limitados: de POP-STRIPS para POP-RC-STRIPS nAs aplicações reais mais complexas requerem: POP-TIRC-HAD-DUNC! :)

42 CIn-UFPE 41 Res. de Problemas x Planejamento nDiferenças fundamentais Representação de ações e objetivos Forma de construir soluções 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


Carregar ppt "CIn-UFPE 1 Planejamento Clássico Conceitos básicos POP-STRIPS Limitações e abordagens mais avançadas."

Apresentações semelhantes


Anúncios Google