150 likes | 304 Views
Planejamento Hierárquico. Jacques Robin CIn-UFPE. 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
E N D
Planejamento Hierárquico Jacques Robin CIn-UFPE
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
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! :)
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
Exemplo de operador não primitivo Decompose(o,p) Decompose(Construction, Plan(STEPS:{S1:Build(Foundation),S2:Build(Frame), S3: Build(Roof), S4:Build(Walls), S5: Build(Interior)} Orderings:{S1<S2<S3<S5, S2<S4<S5}, Bindings:{}, Links:{S1Foundation S2, S2Frame S3, S2Frame S4, S3Roof S5, S4Walls S5}))
Decomposes to Obtain Permit Pay Builder Construction Hire Builder Decomposes to Build Roof Build Foundation Build Frame Build Interior Build Walls Exemplo de decomposição hierárquica BuildHouse
POP-HD-SCRIPT 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 Sneed, c Select-Sub-Goal(plan) Choose-Operator(plan,operators,Sneed,c) Snomprim Select-Nonprimitive(plan) Choose-Decomposition((plan,methods,Snonprim) Resolve-Threats(plan) end
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 é satisfeitapor 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
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
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
Upward solution property: contra-exemplo • efeito ~watch de GiveComb ameaça precond watch de GiveChain • efeito ~hair de GiveChain ameaça precond hair de GiveComb
Consistente incompleto Consistente completo Downward Solution Property Inconsistente X: pode ser podado Upward Solution Property X X X X X X X X X X X X X X X Busca e decomposição hierárquica
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
Curtir lua de mel & fazer bebê Ir para lua de mel Casar-se Ter bebê Exemplo da necessidade de compartilhar Curtir Lua-de-mel & fazer bebê Casar-se & ir para lua-de-mel Casar-se & ter um bebê
De POP-HD-STRIPSpara POP-HAD STRIPS • 2 formas ortogonais de planejamento hierárquico: • hierarquia de açõesdevários níveis de abstração para decomposição • hierarquia de precondições de vários níveis deprioridadepara 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