PLANEJADORES PRÁTICOS

24
PLANEJADORES PRÁTICOS PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE

description

PLANEJADORES PRÁTICOS. Jacques Robin DI-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 - PowerPoint PPT Presentation

Transcript of PLANEJADORES PRÁTICOS

Page 1: PLANEJADORES PRÁTICOS

PLANEJADORES PRÁTICOSPLANEJADORES PRÁTICOS

Jacques RobinDI-UFPE

Page 2: PLANEJADORES PRÁTICOS

Planejamento de Ordem Parcial (POP) Planejamento de Ordem Parcial (POP) com linguagem STRIPScom 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

Page 3: PLANEJADORES PRÁTICOS

Limitações de POP-STRIPSLimitaçõ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! :)

Page 4: PLANEJADORES PRÁTICOS

Decomposição Hierárquica:Decomposição Hierárquica:Planejar com refinamento incrementalPlanejar 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

Page 5: PLANEJADORES PRÁTICOS

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:{S1 Foundation S2, S2 Frame S3, S2 Frame S4,

S3 Roof S5, S4 Walls S5}))

Exemplo de operador não primitivoExemplo de operador não primitivo

Page 6: PLANEJADORES PRÁTICOS

Exemplo de decomposição hierárquicaExemplo de decomposição hierárquicaBuildHouse

Obtain Permit

Hire Builder

Pay Builder

Construction

Decomposes to

Build Frame

Build Roof

Build Walls

Build Interior

Build Foundation

Decomposes to

Page 7: PLANEJADORES PRÁTICOS

Function POP-DH(plan,operators,methods) return planinputs: plan, an abstract plan with start and goal steps( and possibly other steps)loop do

if Solution?(plan) then return planSneed, c Select-Sub-Goal(plan)

Choose-Operator(plan,operators,Sneed,c)

Snomprim Select-Nonprimitive(plan)

Choose-Decomposition((plan,methods,Snonprim)

Resolve-Threats(plan)end

POP-HD-SCRIPTPOP-HD-SCRIPT

Page 8: PLANEJADORES PRÁTICOS

Solução abstrata x primitivaSoluçã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., se1. 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

Page 9: PLANEJADORES PRÁTICOS

Propriedades necessárias para garantir Propriedades necessárias para garantir POP-HD mais eficiente do que POP 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

Page 10: PLANEJADORES PRÁTICOS

Propriedades necessárias para garantir Propriedades necessárias para garantir POP-HD mais eficiente do que POPPOP-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

Page 11: PLANEJADORES PRÁTICOS

•efeito ~watch de GiveComb ameaça precond watch de GiveChain•efeito ~hair de GiveChain ameaça precond hair de GiveComb

Upward solution property: contra-Upward solution property: contra-exemploexemplo

Page 12: PLANEJADORES PRÁTICOS

Busca e decomposição hierárquicaBusca e decomposição hierárquica

Consistente incompleto Consistente completo

Downward Solution Property

Inconsistente X: pode ser podado

Upward Solution Property

X

X

X X X X

X X X

XX X XXX

Page 13: PLANEJADORES PRÁTICOS

Decomposição e compartilhamentoDecomposiçã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

Page 14: PLANEJADORES PRÁTICOS

Exemplo da necessidade de compartilharExemplo da necessidade de compartilhar

Curtir lua de mel & fazer bebê

Casar-seIr para lua

de mel Ter bebê

Curtir Lua-de-mel & fazer bebê

Casar-se & ir para lua-de-mel

Casar-se &

ter um bebê

Page 15: PLANEJADORES PRÁTICOS

De POP-HD-STRIPSDe POP-HD-STRIPSpara POP-HAD STRIPSpara 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

Page 16: PLANEJADORES PRÁTICOS

De POP-STRIPS para POP-DUNC: estender De POP-STRIPS para POP-DUNC: estender precondiçõesprecondiçõ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)

Page 17: PLANEJADORES PRÁTICOS

De POP-STRIPS para POP-DUNC: estender De POP-STRIPS para POP-DUNC: estender efeitosefeitos

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.

Page 18: PLANEJADORES PRÁTICOS

Exemplo de efeito condicionalExemplo 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 yTable)

Page 19: PLANEJADORES PRÁTICOS

Efeitos condicionais e ameaçasEfeitos 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

Page 20: PLANEJADORES PRÁTICOS

Implicações universalmente Implicações universalmente quantificadasquantificadas

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(x1) ... C(xn)

Garante não trazer de volta toda a complexidade da lógica da 1a ordem

Page 21: PLANEJADORES PRÁTICOS

Restrições de recursosRestriçõ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)

Page 22: PLANEJADORES PRÁTICOS

Restrições temporaisRestriçõ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

Page 23: PLANEJADORES PRÁTICOS

Aplicações práticas de planejamentoAplicaçõ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)

Page 24: PLANEJADORES PRÁTICOS

ExercíciosExercí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