PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema * porque.

Slides:



Advertisements
Apresentações semelhantes
Inteligência Artificial
Advertisements

Introdução a Algoritmos
Planejamento Viviane Torres da Silva
gerador de código intermediário
Prolog: Predicados Built-in 1
MÁQUINAS UNIVERSAIS Fabrício Dias
1 Domínios Finitos A eficiência das programas em domínios finitos (incluindo booleanos) podem ainda ser melhoradas pelo uso de Algoritmos de Propagação.
Cálculo Relacional Datalog não-recursivo
35T56 – Sala 3F4 Bruno Motta de Carvalho DIMAp – Sala 15 – Ramal 227
Modelos Baseados em Agentes
Lógica de Programação Módulo II
Planejamento Clássico
DI - UFPE 1 Constraint Satisfaction Problems (CSP) nConceitos básicos nBusca cega simples e refinada nBusca heurística nCSP iterativo.
Agentes Baseados em Conhecimento
Planejamento e Execução
Programação em lógica e lógica
DI-UFPE Exercício: Banana, Leite e Furadeira incluindo cartão de crédito (CC) nModifique a definição de Buy para que o agente tenha de estar com seu cartão.
APRENDIZAGEM COM CONHECIMENTO A PRIORI
Estruturas de Controle
Planejamento (Cap. 11 do Russell)
Capítulo 2 Representação de Problemas em Planejamento Clássico
Planejamento Hierárquico e Planejamento Reativo
Jacques Robin CIn-UFPE
INF 1771 – Inteligência Artificial
Inteligência Artificial
PRC Bruno Correa.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Protocolo CMB em simulação distribuída
Disciplina: Inteligência Artificial
INF 1771 – Inteligência Artificial
1 Introdução aos Agentes Inteligentes Flávia Barros.
CIn-UFPE 1 Estendendo o Planejamento Clássico para Aplicações do Mundo Real Tempo, prazos e recursos.
Gerenciando Grandes Modelos (aula 10)
Sistemas Distribuídos
INF 1771 – Inteligência Artificial Aula 12 – Planejamento Edirlei Soares de Lima.
INF 1771 – Inteligência Artificial Aula 13 – Hierarchical Task Network (HTN) Edirlei Soares de Lima.
Bags n Servem para armazenar a repetição de elementos n Tal qual conjuntos, a ordem dos elementos não importa n Por isso, também recebem a designação de.
Engenharia do Conhecimento Ernesto Trajano Jacques Robin CIn-UFPE.
Sistemas Distribuídos
Planejamento Rodrigo Barros de Vasconcelos Lima
Distributed Problem Solving and Distributed Planning Aydano Pamponet Giordano Ribeiro Prof. Jacques Robin.
CIn-UFPE 1 Estendendo o Planejamento Clássico para Aplicações do Mundo Real Tempo, prazos e recursos Planejamento hierárquico.
Ontologias Profa. Lillian Alvares
ALGORITMOS Intensivo Janeiro e Fevereiro de 2011
Planejamento Hierárquico e Planejamento em Jogos
Princípios da Programação em Prolog
Lógica para Computação Prof. Celso Antônio Alves Kaestner, Dr. Eng. celsokaestner (at) utfpr (dot) edu (dot) br.
Planejamento Hierárquico Jacques Robin CIn-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema.
Engenharia de Software
Resolução de Problemas
Sistemas Digitais e Automação
Sistemas Especialistas
INF 1771 – Inteligência Artificial
1 Introdução aos Agentes Inteligentes Inventando Funções Heurísticas Flávia Barros.
Resolução de Problemas de Busca
Refinamento Motivação e Objetivos –Tornar especificações mais concretas (mais próximas de uma implementação) que as desenvolvidas inicialmente –Aumentar.
A Linguagem Formal de Especificação VDM-SL
Ferramentas de Planejamento em IA Blackbox Planner.
PDDL: uma linguagem padrão para especificação de problemas e heurísticas de planejamento Jacques Robin CIn-UFPE.
Programação de Computadores - 1
Analise de Algoritmos e Notação Assintótica
Métodos Formais Juan Andrés Mussini.
Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento com Tempo, Prazos e Recursos Planejamento Hierárquico.
Paulo Borba e Augusto Sampaio Departamento de Informática Universidade Federal de Pernambuco Especificação de Sistemas Distribuídos Parte 2.
Casamento de Esquemas IAGO RAPHAEL VASCONCELOS MARINHO.
Aplicação de Métodos Formais no Desenvolvimento de Sistemas Multimídia Distribuídos Cláudia Araújo Ribeiro UFPE Junho/2000.
Planejamento Baseado em Lógica – André Novaes – CIn UFPE 1 Planejamento Baseado em Lógica André Novaes CIn - UFPE.
1 Planejamento Clássico (Planning) Russel, S. Norvig, P.: Inteligência Artificial (segunda edição) 28 SET 09 Igor R M Menezes.
Sistemas de Produção Jacques Robin CIn-UFPE. Roteiro  Definição de um sistemas de produção  Regras de produção  Inferência com regras de produção 
Transcrição da apresentação:

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 * 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

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

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

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

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

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

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

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

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

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ê

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

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)

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.

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)

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

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

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)

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

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)

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