Planejamento e Execução

Slides:



Advertisements
Apresentações semelhantes
ESTRUTURA DE DADOS Professor: Marcelo Mendes Turma: MBI-1
Advertisements

Renata S.S. Guizzardi Inteligência Artificial – 2007/02
Introdução a Algoritmos
Linguagens de Programação para SMA Viviane Torres da Silva
Planejamento Viviane Torres da Silva
Planejamento Viviane Torres da Silva
gerador de código intermediário
Aula 8 Contratos.
Casos de Uso.
LINGUAGEM DE PROGRAMAÇÃO ORIENTADA A OBJETOS INSTRUÇÕES DE CONTROLE – PARTE I Prof. Thiago Pereira Rique
Rational Unified Process(RUP)
Agentes Baseados em Conhecimento
Busca Online Alexandra Barros Geber Ramalho. Busca Offine x Busca Online Busca Offline (ou planejamento clássico) –Computa a solução (do estado inicial.
Agentes Baseados em Conhecimento
PLANEJADORES PRÁTICOS Jacques Robin DI-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema * porque.
Luiz A M Palazzo Abril de 2010
SISTEMAS DE INFORMAÇÃO Inteligência Artificial 2011/01
Contratos Modelagem Funcional.
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
O Portal do Estudante de Computação
INF 1771 – Inteligência Artificial
Especificação de Requisitos de Software com Casos de Uso
Aula prática 13 Orientação a Objetos – C++ Parte 1
CIn-UFPE 1 Estendendo o Planejamento Clássico para Aplicações do Mundo Real Tempo, prazos e recursos.
Aula prática - análise contextual
Linguagem de Programação I Parte III
INTRODUÇÃO – LOGICA E ALGORITMOS
INF 1771 – Inteligência Artificial Aula 12 – Planejamento Edirlei Soares de Lima.
LINGUAGENS DE PROGRAMAÇÃO PROF. DANIELA PIRES
INF 1771 – Inteligência Artificial
INF 1771 – Inteligência Artificial
Introdução e Busca Cega
Planejamento Rodrigo Barros de Vasconcelos Lima
CIn-UFPE 1 Planejamento e Ação Planejando e agindo em ambientes incertos.
Sistemas Especialistas
ALGORITMOS.
Fase de Concepção (Início, Planejamento)
Algoritmo e Programação
ARQUITETURA DE COMPUTADORES II
Formação Técnica em Administração Modulo de Padronização e Qualidade
Gestão Farmacêutica – Organizar e Ciclo PDCA
Analise Semântica aula-10-analise-semântica.pdf.
Programação de PIC em C Exposição das funções básicas para
Planejamento Hierárquico Jacques Robin CIn-UFPE Planejamento de Ordem Parcial (POP) com linguagem STRIPS * mais expressivo que resolução de problema.
Comandos de Condição Aula 1 1. Introdução Até agora, todos os algoritmos que fizemos têm um fluxo de execução único. As instruções executadas são sempre.
Resolução de Problemas
Processos de Software.
Processos de Software.
Fase de Concepção Levantamento de Requisitos, Organização de Requisitos, Planejamento dos Ciclos Iterativos.
Modelando Sistemas em UML
Linguagens de Programação
Resolução de Problemas de Busca
Teste de Software 14: Geração de teste baseado em modelos: MBT
1 Introdução aos Agentes Inteligentes Resolução de Problemas de Busca Flávia Barros.
Casos de Uso Tarciane Andrade
Modelo de Análise e Projeto
Complexidade de Computação Katia Guimarães. Avaliando a Qualidade de um Algoritmo É preciso ter bem definido –O que é dado de entrada e –O que é esperado.
Fase de Concepção (Início, Planejamento)
Modelação Aula T15 Modelação Conceptual de Sistemas Revisão do Comportamento OCL – Object Constraint Language José Borbinha.
Engenharia de Software
Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos.
Introdução aos Agentes Inteligentes Tipos de Problemas de Busca Flávia Barros.
Programação para Web I AULA 4 ESTRUTURAS DE CONTROLE.
RUP – Rational Unified Process Márcia Seabra Cabral Prof. Augusto Sampaio Centro de Informática - UFPE.
Laço ou loop e repetição
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
CONDICIONAL IF Desenvolvido pelo Mestrando Rodrigo Moreira Barreto – VHLab (Virtual Humans Simulation Laboratory – PUCRS) 1 Desenvolvido por: Rodrigo Moreira.
PLANEJAMENTO ESTRATÉGICO
Transcrição da apresentação:

Planejamento e Execução Jacques Robin (DI-UFPE) Fernanda Marques Simone Correia

Conteúdo Planejamento Condicional Replanejamento Execução e geração de um plano condicional. Extensão da linguagem Replanejamento Monitoramento: ação x execução Planejamento situado Extensões e Discussões Planejamento condicional x replanejamento Coerção e abstração.

Introdução POP e POP-TIRC-HAD-DUNC: Em ambientes mais desafiadores: Funcionam quando: Ambiente acessível, estático, determinístico Conhecimento completo e correto Só perceber, depois só planejar, depois agir cegamente Em ambientes mais desafiadores: Abordagens: 1. Planejamento condicional 2. Monitoriamento da execução 3. Planejamento situado Perceber, depois juntamente planejar, perceber e agir

1. Planejamento condicional Plano condicional: representa conjunto de planos, um para cada possível situação de execução Ações de Efetuação x Ações de Percepção: objetivo ação de efetuação: alterar ambiente objetivo ação de percepção: alterar conhecimento do ambiente (ex, checar o preço de algum objeto). Ação de percepção pode: ter efeitos colaterais no ambiente desencadear sub-plano com ações de efetuação

2. Monitoramento da execução Começar execução com plano completo e correto dados conhecimento e suposições inicialmente disponíveis Usar percepções durante a execução para adquirir conhecimento complementar e verificar suposições Replanejar fim do plano para se adequar as situações não antecipadas. Ex., o agente descobre não ter $ suficiente para comprar todos os itens.

Conserto de um pneu vazio: operadores, objetivo, condições iniciais - Op(Action: Remove(x), Precond: On(x), Effect: Off(x)^ClearHub(x)^notOn(x)) - Op(Action: PutOn(x), Precond: Off(x)^ClearHub(x), Effect: On(x)^notClearHub(x)^not Off(x)) - Op(Action: Inflate(x), Precond: Intact(x)^ Flat(x), Effect: Inflated(x)^notFlat(x)) Objetivo: On(x)^Inflated(x) Condições iniciais: Inflated(Spare)^Intact(Spare)^Off(Spare)^On(Tire1)^ Flat(Tire1)

Concerto de um pneu vazio: planos POP: [Remove(Tire1). PutOn(Spare)] Conhecimento incompleto: Intact(Tire1) Planejador condicional (CPOP): If(Intact(Tire1), [Inflate(Tire1)], [Remove(Tire1), PutOn(Spare)]) Mais eficiente do que POP

Execução de um plano condicional Condição é verificada na BC e deve ser conhecida naquele ponto do plano Conhecimento = BC inicial + deduções a partir das seqüências de percepções e ações Para plano condicional ser executável: inserção de ações de percepção testando as condições Ex,: Ação de percepção = CheckTire (x) Novo Operador : Op(Action: CheckTire(x), Precond: Tire(x), Effect: KnowsWhether(“Intact(x)”))

Construir um plano condicional Contexto = condições necessárias para executar os passos condicionais Inflate(Tire1), contexto: Intact(Tire1) Propagação de contexto Passos condicionais e links condicionais Contexto x Precondição: precondição: associada a uma ação contexto: associado a uma possível instanciação do plano condicional

Geração do Plano Start Finish Finish Start Inflate(Tire1) On(Tire1) Flat(Tire1) Inflated(Spare) On(x) Inflated(x) Start Finish ( true ) On(Tire1) On(Tire1) Flat(Tire1) Inflated(Spare) Finish Start Inflated(Tire1) (true) Flat(Tire1) Intact(Tire1) Inflate(Tire1)

Finish Start Finish Start Finish Finish On(Tire1) On(Tire1) Flat(Tire1) Inflated(Spare) On(Tire1) Finish Start Inflated(Tire1) Intact(Tire1) Flat(Tire1) Intact(Tire1) Inflate(Tire1) Check(Tire1) On(x) Inflated(x) Finish Intact(Tire1) Intact(Tire1) Not Intact(Tire1) On(Tire1) On(Tire1) Flat(Tire1) Inflated(Spare) Start Finish Intact(Tire1) Flat(Tire1) Intact(Tire1) Iflate(Tire1) Check(Tire1) Intact(Tire1) Intact(Tire1) On(Spare) Inflated(Spare) Finish NotIntact(Tire1)

Plano completo: alguma ameaça? On(Tire1) Flat(Tire1) Inflated(Spare) On(Tire1) Inflated(Tire1) Start Finish (Intact(Tire1)) Flat(Tire1) Intact(Tire1) Inflate(Tire1) (Intact(Tire1)) On(Spare) Intact(Tire1) Finish Check(Tire1) Inflated(Spare) NotIntact(Tire1) (NotIntact(Tire1)) Remove(Tire1) PutOn(Spare) (NotIntact(Tire1)) (NotIntact(Tire1))

Estendendo a linguagem de planejamento Percepção não binária, ex.: Color(x,c) Planos parametrizados com variável de execução. ex., [SenseColor(table), KnowsWhat(“Color(table, c)”), GetPaint(c), Paint(Chair,c)]. Variáveis de execução Não se unificam entre si, nem com constantes, apenas com variáveis de planejamento Loops: ex,: While (Knows(“UnevenColor(chair)”), [Paint(chair, c), CheckColor(chair)]) Planejamento condicional e programação automática

E se as coisas não saírem como planejadas? Monitoramento da Ação: Verificação, com percepção, das pre-condições do próximo passo Monitoramento da Execução: Verificação, com percepção, das pré-condições do segmento de plano restante. Condições de lidar com pré-condições: não planejadas já satisfeitas Ex., robô dirigindo carro

Detecção das falhas do plano 2 tipos de causas de falhas: Não determinismo ou inacessibilidade enumerável ex., abrir lata de tinta (normal, vazia, derrame) pode usar C-POP-D Não determinismo ou inacessibilidade não enumerável ex., dirigir, planejamento econômico requer replanejamento

Replanejamento Q A P R Fim Início Agora Escolher a melhor continuação Verificar as precondições Executar Q A P R Fim Início Agora

Replanejamento Q A P R A’ P’ Fim Início Agora Escolher a melhor continuação Verificar as precondições Executar Q A P R A’ P’ Fim Início Agora

Replanejamento Q A P R A’ P’ Q’ Fim Início Agora Escolher a melhor continuação Verificar as precondições Executar Q A P R A’ P’ Q’ Fim Início Agora Q = R + P ( Plano inicial ) Q’= R + P’ ( Plano Final )

Ex: Pintar cadeira da mesma cor da mesa Pega( Tinta) n/ Tem ( tinta )

Ex: Pintar cadeira da mesma cor da mesa Pega( Tinta) Pinta n/ Tem ( tinta ) Cor ( cadeira ) <> Cor ( mesa) e Tem (tinta)

Ex: Pintar cadeira da mesma cor da mesa Pega( Tinta) Pinta Fim n/ Tem ( tinta ) Cor ( cadeira ) <> Cor ( mesa) e Tem (tinta) Cor (cadeira) = Cor (mesa) (100%) Verifica

Ex: Pintar cadeira da mesma cor da mesa Pega( Tinta) Pinta Fim n/ Tem ( tinta ) Cor ( cadeira ) <> Cor ( mesa) e Tem (tinta) Cor (cadeira) = Cor (mesa) (100%) Verifica Comportamento de loop emergente da interação (re)planejador-ambiente sem conceito de loop da linguagem de planejamento pode servir de base para aprendizagem

Ex: Pintar cadeira da mesma cor da mesa Pega( Tinta) Pinta Fim Cor ( cadeira ) <> Cor ( mesa) e Tem (tinta) Cor (cadeira) = Cor (mesa) (100%) Verifica n/ Tem ( tinta ) Replaneja: P = {fim} --> P’ = {pinta,verifica,fim} P’ = {pinta,verifica,fim} --> P’’ = {pega(tinta),pinta, verifica,fim}

Agente de Planejamento Situado Gera um plano inicial Logo começa a executá-lo mesmo incompleto Continua planejando durante a execução, intercalando: execução de passos (de percepção e efetuação) refinamento e ajuste do plano diante de defeitos e mudanças não antecipadas no ambiente.

Ex: Mundo dos blocos C D B E C F D G B E G A A F Estado Inicial Objetivo Op(Ação: Mover(x, y), Precond: Limpo(x)^Limpo(y)^EmCima(x, z) Efeito: EmCima(x,y)^Limpo(z)^~EmCima(x, z)^~Limpo(y)

Plano Inicial B E C F D G A Estado Inicial Mover (C,D) Início Fim EmCima (C,F) Limpo (C) Limpo (D) Mover (C,D) NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,G) Limpo (A) Limpo (C) Limpo (D) Limpo (B) EmCima (C,D) EmCima (D,B) Início Fim EmCima (D,G) Limpo (D) Limpo (B) Mover (D,B)

Eis que de repente... D A próxima ação seria: Mover (D, B), mas as pré-condições Limpo (B) ^ EmCima (D,G) não são mais válidas B E C F G A EmCima (C,F) Limpo (C) Limpo (D) Mover (C,D) NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G) EmCima (C,D) EmCima (D,B) Início Fim EmCima (D,y) Limpo (D) Limpo (B) Mover (D,B)

Extendendo um link causal D B E C F G A EmCima (C,F) Limpo (C) Limpo (D) Mover (C,D) NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G) EmCima (C,D) EmCima (D,B) Início Fim EmCima (D,Y) Limpo (D) Limpo (B) Mover (D,B)

Eleminando passos redundantes D B E C F G A EmCima (C,F) Limpo (C) Limpo (D) Mover (C,D) NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G) EmCima (C,D) EmCima (D,B) Início Fim

Um Agente Aloprado... D C B E F G A Início Fim NaMesa (A) EmCima (B,E) EmCima (C,A) EmCima (D,B) Limpo (F) Limpo (C) Limpo (D) Limpo (G) EmCima (C,D) EmCima (D,B) Início Fim

Adicinando um novo passo... D C B E F G A EmCima (C,A) Limpo (C) Limpo (D) Mover (C,D) NaMesa (A) EmCima (B,E) EmCima (C,A) EmCima (D,B) Limpo (F) Limpo (C) Limpo (D) Limpo (G) EmCima (C,D) EmCima (D,B) Início Fim

C Finalmente: D B E F G A Início Fim plano revisado final completo e correto agente situado procura ovo objetivo D B E F G A NaMesa (A) EmCima (B,E) EmCima (C,D) EmCima (D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G) EmCima (C,D) EmCima (D,B) Início Fim

Planejamento condicional x replanejamento (# passos) Planejamento Condicional: # condições = e Replanejamento: planos frágeis nem sempre podem ser completados Um sistema híbrido Conclusão: deve-se considerar probabilidades e custos dos resultados.

Outros métodos para contornar a incerteza: coerção e agregação forçar o mundo a um estado conhecido. ex., Objetivo: Color(Chair,c)^Color(Table,c) Solução: pintar a cadeira e a mesa com mesma tinta Objetivo de manutenção: proibir coerção de algumas propriedades de alguns objetos ex., Color(Chair,c)^Color(Table,c)^Maintain(Color(Table,x)) Agregação: agrupar objetos de comportamento individual não determinístico em classes de comportamento global determinístico

Abstração, arquitetura híbridas e multi-agentes Ambiente Determinístico Agente Planejador Simbólico Declarativo Grau de Abstração Ambiente Não-Determinístico Agente Reativo Simbólico Procedimental ou Sub-Simbólico