Inteligência Artificial

Documentos relacionados
lnteligência Artificial

lnteligência Artificial Planejamento

PCS 3438 / PCS 3838 Inteligência Artificial

Geração de Planos (Planning) May 14, 2015

INF 1771 Inteligência Artificial

istemas Inteligentes, Start Start Initial State LeftShoeOn, RightShoeOn Goal State Finish Finish

Prof. Dr. Jaime Simão Sichman Prof. Dra. Anna Helena Reali Costa

Planejamento. CAP Inteligência Artificial. INPE Período I/2004

Capítulo 5 Planejamento no espaço de planos

INF 1771 Inteligência Artificial

Planejamento. CAP Inteligência Artificial. INPE Período I/2006

IA - Planejamento I. Professor Paulo Gurgel Pinheiro. 11 de Novembro de 2010

Planejamento de Ordem Parcial

Planejamento de Ordem Parcial

Inteligência Artificial. Inteligência Artificial

Planejamento de Decomposição Hierárquica. Capítulo 12

istemas Inteligentes,

Planeamento com procura em espaço de estados

Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online)

Planejamento de Ordem Parcial. (ou planejamento como busca no espaço de planos) Revisão baseada no livro AIMA. Leliane Nunes de Barros

INF 1771 Inteligência Artificial

Planeamento Clássico

Planejamento em Inteligência Artificial Capítulo 4 Planejamento como busca no Espaço de Estados

Inteligência Artificial Capítulo 4. Planejamento em. Espaço de Estados

INF 1771 Inteligência Artificial

Planejamento 1. Capítulo 11

Universidade Estadual de Maringá Departamento de Informática Disciplina Inteligência Artificial Profa. Josiane

INF 1771 Inteligência Artificial

Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Capítulo 11

Planejamento em Inteligência Artificial

Exercícios de Procura e Planeamento 2013/2014

PROCURA E PLANEAMENTO

LINGUAGEM C: COMANDOS DE REPETIÇÃO

Inteligência Artificial - IA. Resolução de problemas por meio de busca

Programação de Computadores IV. Introdução a Algoritmos SLIDES CEDIDOS POR Bruno Marques

Descrição do Mundo de Wumpus. Inteligência Artificial

INF 1771 Inteligência Artificial

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof.

Inteligência Artificial

Inteligência Artificial

Inteligência Artificial

PROCURA E PLANEAMENTO

Planeamento em Robótica

Planejamento & Escalonamento O algoritmo FF-métrico. Aldebaran Perseke 3 de abril de 2003

Algoritmos Lógica e Programação Prof. Me. Adelson Felipe Dias Nogueira

Inteligência Artificial Taguspark

Algoritmos e Técnicas. Lógica de Programação. É a técnica de encadear pensamento para atingir determinado objetivo.

Introdução à Inteligência Artificial MAC MAC 415. Exercício Programa 1 Busca

Algoritmos - 5. Alexandre Diehl. Departamento de Física - UFPel

PROCURA E PLANEAMENTO

Planejamento em IA. Blackbox Graphplan + SATplan. Leliane Nunes de Barros

Aula 4B. Lógica e Algoritmos. Profª. Fabiany

Introdução à Lógica de Programação

lnteligência Artificial

Problemas e Estratégias. March 31, 2016

RESOLUÇÃO DE PROBLEMAS POR MEIO DE BUSCA (PARTE 1) *Capítulo 3 (Russel & Norvig)

Inteligência Artificial - IA

PROBLEMAS COMUNS EM MODELOS DE TAREFA E INTERAÇÃO

Inteligência Artificial

Resolução de Problemas através de Busca. Prof. Júlio Cesar Nievola PPGIA - PUC-PR

INTELIGÊNCIA ARTIFICIAL

Inteligência Artificial

Resolução de problemas por meio de busca. Capítulo 3 Inteligência Artificial Sistemas de Informação

Árvores binárias de busca

Baseado nos slides de Tom Lenarts (IRIDIA) Planeamento. Capítulo 11 Online

Inteligência Artificial. Resolução de problemas por meio de algoritmos de busca. Aula II Algoritmos básicos de busca cega

PCS 2428 / PCS 2059 lnteligência Artificial. Cálculo de Situações. Agente Baseado em Conhecimento. Agente Baseado em Lógica de Predicados

AULA 02. OBJETIVO: Desenvolvimento e solução de Algoritmos. LÓGICA DE PROGRAMAÇÃO

É neste ponto que entra o conceito de lógica de programação.

Aula 1 - Introdução Cleverton Hentz

Grafos de Planejamento. iane Nunes de Barros. Adaptado de Lectures Slides of Automated Planning: theory and practice (

2. ALGORITMOS. Unesp Campus de Guaratinguetá

Lógica de Programação

Sumário. Ciência da Computação. Prof. Dr. Leandro Alves Neves. Aula 06. Algoritmos e Programação. Informática II. q Noções de lógica

Introdução a programação Controle de Fluxo

2. Criação de Algoritmos

Problema do Planeamento

PCS Inteligência Artificial

Computação I: Representações de Algoritmos

PPM CONTEÚDO. Lógica de programação Programação para manufatura Sistemas supervisorios PROGRAMAÇÃO PARA MANUFATURA 05/03/2009

Técnicas de Programação

Enunciados dos Exercícios Cap. 2 Russell & Norvig

Otimização Combinatória - Parte 4

Inteligência Computacional

EXPLORANDO GRAFOS 1. Grafos e Jogos uma introdução

Grafos em planeamento

PROCURA E PLANEAMENTO

Planeadores PLANEADORES. Lineares. Eugénio Oliveira/FEUP

Inteligência Artificial. Sistemas Baseados em Conhecimento. Representação de Conhecimento (continuação)

Baseado nos slides de T. Lenarts (IRIDIA), L. Zuoquan(PeckingUniversity) e J.L.Ambite(ISI) Planeamento. Capítulo 11 (disponível online)

Algoritmos Estrutura Condicional

Resolução de Problemas

INE5633 Sistemas Inteligentes

Projeto e Desenvolvimento de Algoritmos

Paradigmas de Projetos de Algoritmos

Algoritmos Tentativa e Erro (Backtracking) Prof.: Jonas Potros

Lógica de Programação I

Buscas Informadas ou Heurísticas - Parte II

Transcrição:

Planejamento:onceitos básicos lnteligência rtificial Planejamento tarefa de apresentar uma seqüência de ações que alcançarão um objetivo é chamada planejamento. Vimos até agora dois exemplos de agentes de planejamento: o agente de resolução de problemas baseado em busca e o agente de planejamento lógico gora, tratamos principalmente com o aumento de escala para problemas complexos de planejamento que derrota as abordagens que vimos até aqui. Veremos uma linguagem para planejamento baseada nas representações proposicional e de primeira ordem de ações 1 2 Planejamento:onceitos básicos - 2 Planejador: objetiva encontrar um plano que permita um agente executar uma tarefa, a partir de uma situação inicial. Plano: seqüência ordenada de ações tarefa: obter banana, leite e uma furadeira plano: ir ao supermercado, ir à seção de frutas, pegar as bananas, ir à seção de leite, pegar uma caixa de leite, ir ao caixa, pagar tudo, ir a uma loja de ferramentas,..., voltar para casa. Busca x planejamento Representação usando busca ções: programas que geram o estado sucessor Estados: descrição completa problemático em ambientes inacessíveis Objetivos: função de teste e heurística Planos: totalmente ordenados e criados incrementalmente a partir do estado inicial Ex. posições das peças de um jogo Exemplo do supermercado estado inicial: em casa sem objetos desejados estado final: em casa com objetos desejados operadores: tudo o que o agente pode fazer heurística: número de objetos ainda não possuídos Exemplo em resolução de problemas usando busca começo Ir ao banco Ir à escola Ir dormir Ler um livro Sentar na cadeira Ir ao supermercado Etc... Pagar contas Pegar dinheiro ssistir aula Levantar Ler um livro omprar queijo omprar banana omprar atum... Fim Limitações desta abordagem Fator de ramificação grande; função heurística apenas escolhe o estado mais próximo do objetivo. Não permite descartar ações a priori; Não permite abstração dos estados parciais; onsidera ações a partir do estado inicial, uma após a outra; Objetivo é testado para cada estado; para cada novo estado, um novo teste idênticoprecisa ser feito. Tudo que o agente pode fazer 1

Planejamento: 3 idéias principais Representação dos estados, objetivos e ações usando LPO (descrições parciais dos estados) pode conectar diretamente estados e ações. Ex. estado: Have (Milk), ação: Buy(milk) Have(Milk) diciona ações ao plano quando forem necessárias ordem de planejamento ordem de execução primeiro, o que é importante : pode-se colocar esta ação no plano, mesmo sem saber como chegar ao supermercado. diminui fator de ramificação Uso da estratégia de dividir-e-conquistar Definição de sub-planos: sub-plano supermercado, sub-plano loja de ferramentas (sub-metas) Relembrando o álculo Situacional Mundo: seqüência de situações ções: provocam mudanças na situação Representação das mudanças no mundo: Result(Forward,S 0 ) = S 1 Result(Turn(Right),S 1 ) = S 2 Result(Forward,S 2 ) = S 3 Planejando com álculo de Situações Estado inicial: sentença lógica t(home, S0) Have(Milk, S0) Have(Bananas, S0) Have(Drill, S0) Estado Objetivo: pergunta lógica (p/ unificação) t(home, S) Have(Milk, S) Have(Bananas, S) Have(Drill, S) Operadores: conjunto de axiomas de estado sucessor a,s Have(Milk, Result(a, s)) [(a = t(supermarket, s) (Have(Milk, s) a Drop(Milk))] Notação Result(a,s) - uma ação executada na situação s; Result (p,s) - seqüência de ações S = Result (p,s0) Planejando com álculo de Situações Reescrevendo o Estado Objetivo: pergunta lógica t(home,result (p, S0)) Have(Milk, Result (p, S0)) Have(Bananas, Result (p, S0)) Have(Drill, Result (p, S0)) Solução: p = [Go(SuperMarket),, Buy(Bananas), Go(HardwareStore),, Go(home)] Limitações Eficiência da inferência em lógica de primeira ordem: não OK! Nenhuma garantia sobre a qualidade da solução ex. pode haver passos redundantes no meio do plano Solução: especializar linguagem (STRIPS) e definir um algoritmo para planejar (POP) STRIPS STRIPS: STanford Research Institute Problem Solver Estados: conjunção de literais sem variáveis Inicial: Pordefault, literal não mencionado é falso (Hipótese do mundo fechado): Have(Milk) ^ Have(Bananas) ^ Have(Drill) Final: ^ Have(Milk) ^ Have(Bananas) ^ Have(Drill) Objetivos: conjunção de literais e possivelmente variáveis ( ) ^ Have(Milk) ^ Have(Bananas) ^ Have(Drill) t(x)^ Sells(x, Milk) ções em STRIPS ções: Descritor da ação: predicado lógico Pré-condição: conjunção de literais positivos Efeito: conjunção de literais (positivos ou negativos) lista de literais a serem adicionadose lista de literais a serem removidos. Operador para ir de um lugar para outro Op( TION: Go(there), PREOND:t(here) ^ Path(here, there), EFFET:t(there) ^ t(here)) DD: t(there) DEL: t(here) Notação alternativa: t(here), Path(here, there) Go(there) t(there), t(here) 2

B B Estado inicial: On(,) lear(b) On(, Table) lear() On(B, Table) Estado final (objetivo): On(,B) lear() On(B, ) On(, Table) ções: PutOn(x,y) P: On(x,z), lear(y), On(x,z), lear(y), lear(x) lear(x) PutOn(x,y) dd: On(x,y), lear(z) On(x,y), lear(z), ~lear(y), ~On(x,z) Del: On(x,z), lear(y) PutOnTable(x) P: On(x,z), lear(x) On(x,z), lear(x) dd: On(x,Table), lear(z) PutOnTable(x) Del: On(x,z) On(x,Table), lear(z), ~On(x,z) Tipos de Planejadores : ontrole Progressivo: estado inicial objetivo Regressivo: objetivo estado inicial mais eficiente (há menos caminhos partindo do objetivo do que do estado inicial) problemático se existem múltiplos objetivos Busca no espaço de planos Espaços de Busca Espaço de situações (nó = estado do mundo) Espaço de planos (nó = plano parcial) mais flexível evita engajamento prematuro Idéia: Buscar nos espaço de planos Buscar um plano desejado em vez de uma situação desejada (espécie de meta-busca) parte-se de um plano inicial (parcial), e aplica-se operadores até chegar a um plano final (completo) Plano inicial passos e Busca no espaço de planos: operadores ondição aberta: é uma pré-condição de um passo ainda não realizado. Operadores para planos parciais: dicionar ligação de uma ação existente para uma condição aberta; dicionar um passo para preencher uma condição aberta; Ordenarum passo com respeito a outro. Gradualmente, evolui de planos incompletos (vagos) para planos completos e corretos Plano (de ordem) parcial LeftShoeOn, RightShoeOn Left Sock LeftSockOn Left Shoe Right Sock RightSockOn Right Shoe LeftShoeOn, RightShoeOn Plano final: características Plano final ompleto- toda pré-condição é preenchida. Uma pré-condição é preenchida iff ela for o efeito de um passo prévio e nenhum passo posterior o desfaz. onsistente - não há contradições nos ordenamentos ou nas atribuição de variáveis mas não necessariamente totalmente ordenado e instanciado. Ordem total x Ordem parcial Ordem total: lista simples com todos os passos, um atrás do outro Linearizar um plano é colocá-lo na forma ordem total Instanciação completa de um plano: quando todas variáveis são instanciadas 3

Linearização do exemplo dos sapatos Princípio do menor engajamento Por quê deixar o plano não totalmente ordenado e instanciado? Princípio do menor engajamento (least commitment planning) não faça hoje o que você pode fazer amanhã ordem e instanciação parcial são decididas quando necessário evita-se backtracking! Exemplo para objetivo have(milk), a ação Buy(item, store) instancia somente o item => Buy (Milk,store) para as meias/sapatos: calçar cada meia antes do sapato, sem dizer por onde começa(esq/dir) POP (Partial Order Planning) Existindo a linguagem (STRIPS), falta o algoritmo.. aracterísticas do POP lgoritmo não determinístico; inserção de um passo só é considerada se atender uma pré-condição não preenchida (aberta); Planejador regressivo (do objetivo para o início); É correto e completo, assumindo busca em largura ou em profundidade iterativa. Idéia do algoritmo identifica passo com pré-condição não satisfeita; introduz passo cujo efeito (causa) é satisfazer esta précondição; instancia variáveis e atualiza os links causais; verifica se há ameaçase corrige o plano, se for o caso. Voltando ao exemplo das compras... Plano inicial ções Op(TION: Go(there), PREOND: t(here), EFFET: t(there) t(here)) Op(TION: Buy(x), PREOND: t(store) ^ Sells(store, x), EFFET: Have(x)) onhecimento a priori do mundo Planejamento Parcial Exemplo (1) Planejamento Parcial Exemplo (2) Sells(HWS, Drill) Sells(SM, Milk) Sells(SM, Bananas) Sells(SM, Milk) Sells (SM, Banana) Sells(HWS,Drill) Sells(HWS,Drill) Sells(SM, Milk) Sells (SM, Banana) Link que denota restrições de ordenamento Have(Drill) Have(Milk) Have(Bananas) Sells(HWS,Drill) Buy(Drill Drill) Vínculo (Link) causal Have(Drill) Have(Milk) Have(Bananas) Sells(SM,Milk) Have(Drill) Have(Milk) Have(Bananas) 4

Planejamento Parcial Exemplo (3) Planejamento Parcial Exemplo (4) Sells(HWS,Drill) Sells(SM, Milk) Sells (SM, Banana) Sells(SM,Milk) Sells(SM,Banana) Sells(SM,Milk) Sells(SM,Banana) Have(Drill) Have(Milk) Have(Bananas) Have(Drill) Have(Milk) Have(Bananas) Planejamento Parcial Exemplo (5) Planejamento Parcial Exemplo (6) t(x) Sells(SM,Milk) Sells(SM,Banana) Sells(SM,Milk) Sells(SM,Banana) Have(Drill) Have(Milk) Have(Bananas) Have(Drill) Have(Milk) Have(Bananas) Planejamento Parcial Exemplo (7) t(x) Go(SM) Have(Drill) Have(Milk) Have(Bananas) Sells(SM,Milk) Sells(SM,Banana) Planejamento Parcial Exemplo (8) Sells(HWS,Drill) paga Sells(SM, Sells(SM, Milk) Go(SM) Sells(SM, Bananas) Buy(Bananas) Have(Drill), Have(Milk), Have(Bananas), PROBLEM: onsidere que a pré-condição t(x) do Go(SM) foi satisfeita através de uma ligação à condição do ; se o agente decidir ir primeiro à HWS, ele não mais poderá sair de casa para ir ao SM, pois adiciona mas também remove!!! (e vice-versa: indo de casa ao SM, não mais consegue ir de casa à HWS) MEÇ (Estar em onflito) 5

Problema da ameaça meaça ocorre quando os efeitos de um passo põem em risco as pré-condições de outro omo testar? O novo passo é inconsistente com condição protegida (vínculo causal) Vínculo causais também são chamados de intervalos de proteção porque protegem a possibilide de c ser negado entre S1 e S2 O passo antigo é inconsistente com nova condição protegida c:t(hws) S1: S2:Buy meaça - soluções S 1 c S 2 S 3 c S3 ameaça a condição c estabelecida por S1 e protegida pelo vínculo causal S1 para S2. meaça S1 tem efeito c que é pré-condição de S2. S3 tem efeito c Demotion S 1 c S 2 S 3 c O U Promotion S 1 c S 2 S 3 c Planejamento Parcial Exemplo (8) paga Go(SM) Planejamento Parcial Exemplo (9) Solução? Sells(HWS,Drill) Sells(SM, Sells(SM, Milk) Sells(SM, Bananas) Buy(Bananas) Have(Drill), Have(Milk), Have(Bananas), Tentativas de solução: 1. Demotion não dá: Go(SM) ficaria antes de??? 2. Promotion: sairia de Home, iria à HWS e, logo em seguida, ao SM, sem comprar o Drill!! (nova ameaça) Sells(HWS,Drill) Sells(SM,Milk) Have(Drill) Have(Milk) Have(Bananas) Go(SM) meaça!! Sells(SM,Banana) Planejamento Parcial Exemplo (10) Plano Final t(hws) Sells(HWS,Drill) t(hws) Go(SM) Exemplo: Troca de Pneu t(sm) Sells(SM,Milk) t(sm) Sells(SM,Banana) t(sm) Go(Home) Have(Milk) Have(Banana) Have(Drill) 6

Troca de Pneu -2 Troca de Pneu - 3 Inconsistência? Em(Sobressalente,hao) inconsistente entre Remover e DeixarDuranteNoite Solução? Troca de Pneu -4 Troca de Pneu 5 Mundo dos blocos Primeira abordagem ção Mover Estado inicial Estado final B B Problema: E se x=mesa ou y=mesa? mesa não fica livre e não precisa estar livre para mover algo para a mesa Solução: criar outra ação MoverParaMesa, além de Mover 7

B B Estado inicial: On(,) lear(b) On(, Table) lear() On(B, Table) Estado final (objetivo): On(,B) lear() On(B, ) On(, Table) ções: PutOn(x,y) P: On(x,z), lear(y), On(x,z), lear(y), lear(x) lear(x) PutOn(x,y) dd: On(x,y), lear(z) On(x,y), lear(z), ~lear(y), ~On(x,z) Del: On(x,z), lear(y) PutOnTable(x) P: On(x,z), lear(x) On(x,z), lear(x) dd: On(x,Table), lear(z) PutOnTable(x) Del: On(x,z) On(x,Table), lear(z), ~On(x,z) On(B,z), lear(b), lear() ~On(B,z), ~lear(), On(B,), lear(z) On(B,z), lear(b), lear() ~On(B,z), ~lear(), On(B,), lear(z) 8

On(,z), lear(b), lear() ~On(,z), ~lear(b), On(,B), lear(z) meaça!! S3: S1: S2: On(,z), lear(b), lear() ~On(,z), ~lear(b), On(,B), lear(z) Demotion: não dá! Promotion: deve ser executado após On(,z), lear(b), lear() On(,z), lear(b), lear() ~On(,z), ~lear(b), On(,B), lear(z) ~On(,z), ~lear(b), On(,B), lear(z) 51 On(,z), lear() PutOnTable() ~On(,z), On(,Table), lear(z) [z ] On(,), lear() PutOnTable() ~On(,), On(,Table), lear() On(,Table), lear(b), lear() On(,Table), lear(b), lear() ~On(,Table), ~lear(b), On(,B), lear(table) ~On(,Table), ~lear(b), On(,B), lear(table) 9

meaça! On(,), lear() PutOnTable() ~On(,), On(,Table), lear() On(,), lear() PutOnTable() ~On(,), On(,Table), lear() On(,Table), lear(b), lear() ~On(,Table), ~lear(b), On(,B), lear(table) S1: S2:PutOnTable() S3: Demotion: não dá! Promotion: S3 após S2 On(,Table), lear(b), lear() ~On(,Table), ~lear(b), On(,B), lear(table) Plano Final (no caso, ordem total!) Exemplo: Transporte de argas PutOnTable() Uma possível solução encontrada via STRIPS e POP STRIPS e DL Nos últimos anos, ficou claro que STRIPS é insuficientemente expressiva para alguns domínios reais e foram desenvolvidas muitas variantes da linguagem. Uma variação importante é a Linguagem de Descrição de ção (DL). Em DL a ação voar poderia ser escrita como: Observe o uso do operador diferente e a notação de p:vião, que é uma abreviação para vião(p). notação diferente não poderia ser escrita de modo sucinto em STRIPS 10

Diferenças entre DL e STRIPS 11