PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema * porque. - ppt carregar
PublicouManoela Ferreiro Alterado mais de 6 anos atrás
Apresentação em tema: "PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema * porque."— Transcrição da apresentação:
2 PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE
3 Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema * porque usa a lógica para representar operadores declarativamente e composicionalmente * restrição da lógica da 1a ordem com cálculo das situações * restrito demais para domínios complexos de muitas aplicações reais * necessidade de achar um melhor compromisso expressividade/eficiência * aumentar formalismo e relaxar algumas restrições
4 Limitações de POP-STRIPS * Planejamento a um único nível de granularidade: de POP-STRIPS para POP-HAD-STRIPS * Precondições e efeitos não contextuais: de POP-STRIPS para POP-DUNC * Representação do tempo: de POP-STRIPS para POP-TI-STRIPS * Representação de recursos globalmente limitados: de POP-STRIPS para POP-RC-STRIPS * As aplicações reais mais complexas requerem: POP-TIRC-HAD-DUNC! :)
5 Decomposição Hierárquica: Planejar com refinamento incremental * Hierarquia de operadores abstratos: não direitamente executáveis (não primitivos) com várias decomposições em termos de ações menos abstratas * Construir POP inicial ao maior nível de abstração * Recursivamente decompor ações abstratas * Até POP final conter apenas de ações primitivas * Verificar consistência global do POP final * Sub-POPs largamente independentes: espaço de busca reduzido conhecimento composicional uso e reuso de sub-POPs pre-fabricados ou já planejados
6 Decompose(o,p) Decompose(Construction, Plan(STEPS:{S 1 :Build(Foundation),S 2 :Build(Frame), S 3 : Build(Roof), S 4 :Build(Walls), S 5 : Build(Interior)} Orderings:{S 1 <S 2 <S 3 <S 5, S 2 <S 4 <S 5 }, Bindings:{}, Links:{S 1 Foundation S 2, S 2 Frame S 3, S 2 Frame S 4, S 3 Roof S 5, S 4 Walls S 5 })) Exemplo de operador não primitivo
7 Exemplo de decomposição hierárquica Build House Obtain Permit Hire Builder Pay Builder Construction Decomposes to Build Frame Build Roof Build Walls Build Interior Build Foundation Decomposes to
8 Function POP-DH(plan,operators,methods) return plan inputs: plan, an abstract plan with start and goal steps( and possibly other steps) loop do if Solution?(plan) then return plan S need, c Select-Sub-Goal(plan) Choose-Operator(plan,operators,S need,c) S nomprim Select-Nonprimitive(plan) Choose-Decomposition((plan,methods,S nonprim ) Resolve-Threats(plan) end POP-HD-SCRIPT
9 Solução abstrata x primitiva * P solução abstrata para O, se P decomposição consistente e completa de O a um nível de abstração dado, i.e., se 1. P é internamente consistente. 2. todo efeito de O é atingido por pelo menos 1 passo de P. 3. toda pré-condição dos passos de P é satisfeita por um passo em P ou ser uma das pré-condições de O * P solução primitiva para O, se P verifica 1, 2, 3 e também: 4. todo passo de P é primitivo
10 Propriedades necessárias para garantir POP- HD mais eficiente do que POP * Downward solution property (DSP): P solução abstrata => P abstração de pelo menos uma solução primitiva P1 * Upward solution property (USP): P plano abstrato inconsistente => P abstração de nenhuma solução primitiva P1 * Ação principal: sub-ação A1 de ação abstrata A conectada a todas as pré-condições e efeitos de A
11 Propriedades necessárias para garantir POP- HD mais eficiente do que POP * DSP e USP nem sempre verificadas * Toda decomposição de toda ação abstrata contém uma única ação principal => USP verificada * DSP ou USP verificada => pior caso da busca para uma solução primitiva drasticamente reduzida * Mesmo quando DSP ou USP não são verificadas, detalhar soluções abstratas em primeiro ainda é uma boa heurística
12 efeito ~watch de GiveComb ameaça precond watch de GiveChain efeito ~hair de GiveChain ameaça precond hair de GiveComb Upward solution property: contra-exemplo
13 Busca e decomposição hierárquica * Consistente incompleto * Consistente completo * Downward Solution Property * Inconsistente * X: pode ser podado * Upward Solution Property X X XXXX XXX XXXXXX
14 Decomposição e compartilhamento * Maioria das decomposições das ações abstratas independentes umas das outras * Mas as vezes a única solução primitiva envolve compartilhamento de ações entre decomposições * 2 possibilidades: quando escolher decomposição de uma ação abstrata, verificar oportunidades e restrições de compartilhamento escolher decomposição sem compartilhamento, e depois usar regras de revisão (chamadas críticas) para tornar o plano primitivo resultante em uma solução com ações corretamente compartilhadas
15 Exemplo da necessidade de compartilhar Curtir lua de mel & fazer bebê Casar-se Ir para lua de mel Ter bebê Curtir Lua-de-mel & fazer bebê Casar-se & ir para lua-de-mel Casar-se & ter um bebê
16 De POP-HD-STRIPS para POP-HAD STRIPS * 2 formas ortogonais de planejamento hierárquico: hierarquia de ações de vários níveis de abstração para decomposição hierarquia de precondições de vários níveis de prioridade para aproximação * Podem ser combinadas para reduzir busca: começar por planos completos e consistentes embora abstratos e aproximativos * Exemplo de operador com precondições a 3 níveis de prioridades: Op(Action:Buy(x), Effect:Have(x) ^ ¬Have(Money), Precond:1:Sells(store,x) 2:At(store) 3:Have(Money)) * Hierarquia de aproximação ! Ação principal UDP verificada
17 De POP-STRIPS para POP-DUNC: estender precondições * em POP-STRIPS, apenas conjunções de literais positivos * em POP-DUNC: negativas (no lugar de apenas positivas) disjuntivas (no lugar de apenas conjuntivas) implicações universalmente quantificadas (no lugar de apenas literais)
18 De POP-STRIPS para POP-DUNC: estender efeitos * em POP-STRIPS, apenas conjunções de literais (os negativos com semântica de hipótese de mundo fechado) * em POP-DUNC: condicionais (no lugar de sempre verificados) disjuntivos (no lugar de apenas conjuntivos) implicações universalmente quantificadas (no lugar de apenas literais) * Efeitos disjuntivos tornam o ambiente não deterministico.
19 Exemplo de efeito condicional Op (Action: Move(b,x,y), Precond: On(b,x) Clear(b) Clear(y), Effect: On(b,y) Clear(x) On(b,x) Clear(y)) Op (Action: MoveToTable(b,x), Precond: On(b,x) Clear(b), Effect: On(b,Table) Clear(x) On(b,x)) Op (Action: Move(b,x,y), Precond: On(b,x) Clear(b) Clear(y), Effect: On(b,y) Clear(x) On(b,x) Clear(y) when y Table)
20 Efeitos condicionais e ameaças * Efeitos condicionais introduzem uma nova forma de ameaça: efeito da forma ~c when p ameaça potencial para link causal Si - - c --> Sj quando c e c unificam-se * Solução: instanciar de c com valor proibindo tal unificação -- confrontação
21 Implicações universalmente quantificadas * Precondições com quantificador universal, ex, x Block(x) n(x,b) * Efeitos com quantificador universal, ex., Op (Action: Carry(bag,x,y), Precond: Bag(bag) At(bag,x), Effect: At(bag,y) At(bag,x) i Item(i) (At(i,y) At(i,x)) when In(i,bag)) Quantificação restrita a domínios finitos definidos em extensão no estado inicial: x T(x) C(x) C(x 1 )... C(x n ) * Garante não trazer de volta toda a complexidade da lógica da 1a ordem
22 Restrições de recursos * Pesquisa Operacional (PO): busca linearização ótima de POP manualmente construídos * PO integrada à IA permite construir planos ótimos com respeito a recursos limitados automaticamente * De POP-STRIPS para POP-RC-STRIPS: Representações das precondições e efeitos enriquecida por uma ontologia de medidas (cf. seção 8.4) Testes aritméticos nas precondições Atribuição aritmética nos efeitos Algoritmo com novo passo verificando restrições aritméticas (cf. seção 3.7)
23 Restrições temporais * Tempo = recurso com propriedades particulares: ligado à ordem de execução paralelismo permite compartilhamento não subtrativo não há operador de abastecimento de tempo * De POP-STRIPS para POP-TR-STRIPS: Representação das precondições, efeitos e ações enriquecida por uma ontologia temporal (ex, a de Allen da seção 8.4) Algoritmo com novo passo verificando restrições temporais
24 Aplicações práticas de planejamento * Construção de prédios: SIPE * Escalonamento de tarefas industriais TOSCA (Hitachi) ISIS (Whestinghouse) * Construção, integração e verificação de espaçonaves: Optimum-AIV (Agência Espacial Europea) * Planejamento para Missões Espaciais Voyager, Telescópio espacial Hubble (NASA) ERS-1 (Agência Espacial Europea)
25 Exercícios * Codificar operador move(B,X,Y) usando predicados on(B,X), clear(B) e block(X) nas precondições e efeitos em: POP-STRIPS cálculo das situações * Codificar mesmo operador sem o predicado clear em: POP-DUNC cálculo das situações
Carregar ppt "PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema * porque."