View
231
Download
8
Embed Size (px)
DESCRIPTION
.
Citation preview
Inteligncia Artificial - Planejamento
INF 1771 Inteligncia Artificial
Aula 12 Planejamento
Edirlei Soares de Lima
LOGO
Introduo
Agentes vistos anteriormente:
Agentes baseados em busca.
Busca cega;
Busca heurstica;
Busca local;
Agentes baseados em lgica.
Lgica proposicional;
Lgica de primeira ordem;
Prolog;
LOGO
Introduo
Planejamento consiste na tarefa de apresentar uma sequncia de aes para alcanar um determinado objetivo.
Ir(Mercado), Comprar(Biscoito), Ir(Farmcia), Comprar(Remdio), Ir(Casa)
Dado um objetivo, um agente planejador deve ser capaz de construir um plano de ao para chegar ao seu objetivo.
Aps planejar, o agente deve executar as aes do plano uma a uma.
LOGO
Funcionamento de um Agente Planejador
Inicialmente um agente planejador gera um objetivo a alcanar.
Constri um plano para atingir o objetivo a partir do estado atual do ambiente.
Executa o plano do comeo ao fim.
Gera um novo objetivo com base no novo estado do ambiente.
LOGO
Planejamento
Em planejamento clssico o ambiente do problema possui as seguintes caractersticas:
Observvel;
Determinstico;
Finito;
Esttico;
LOGO
5
Resoluo de Problemas X Planejamento
Algoritmos de busca tendem a tomar aes irrelevantes.
Grande fator de ramificao.
Pouco conhecimento para guiar a busca.
Planejador no considera aes irrelevantes.
Faz conexes diretas entre estados (sentenas) e aes (pr-condies + efeitos)
Objetivo: Ter(Leite).
Ao: Comprar(Leite) => Ter(Leite)
LOGO
Resoluo de Problemas X Planejamento
Em problemas do mundo real difcil definir uma boa heurstica para algoritmos de busca heurstica.
Um planejador tem acesso a representao explcita do objetivo.
Objetivo: conjuno de sub-objetivos que levam ao objetivo final.
Heurstica nica: nmero de elementos da conjuno no-satisfeitos.
LOGO
Resoluo de Problemas X Planejamento
Algoritmos de busca no tiram proveito da decomposio do problema.
Planejadores aproveitam a estrutura do problema. possvel decompor com facilidade sub-objetivos.
Exemplo: Ter(A) Ter(B) Ter(C) Ter(D)
LOGO
Linguagem STRIPS
Linguagem formal para a especificao de problemas de planejamento.
Representao de estados: conjuno de literais positivos sem variveis.
Inicial: Em(Casa)
Final: Em(Casa) ^ Ter(Leite) ^ Ter(Bananas) ^ Ter(Furadeira)
Hiptese do mundo fechado: qualquer condio no mencionada em um estado considerada negativa.
Exemplo: Ter(Leite) ^ Ter(Bananas) ^ Ter(Furadeira)
LOGO
Linguagem STRIPS
Objetivos: conjuno de literais e possivelmente variveis:
Em(Casa) ^ Ter(Leite) ^ Ter(Bananas) ^ Ter(Furadeira)
Em(x) ^ Vende(x, Leite)
Aes so especificadas em termos de pr-condies e efeitos:
Descritor da ao: predicado lgico
Pr-condio: conjuno de literais positivos
Efeito: conjuno de literais (positivos ou negativos)
LOGO
Linguagem STRIPS
Operador para ir de um lugar para outro:
Ao(Ir(Destino),
Pr-condio Em(Partida) ^ Caminho(Partida, Destino),
Efeito Em(Destino) ^ Em(Partida))
LOGO
Exemplo Transporte Areo de Carga
Incio(Em(C1, SFO) ^ Em(C2,JFK) ^ Em(A1,SFO) ^ Em(A2,JFK) ^ Carga(C1)
^ Carga(C2) ^ Avio(A1) ^ Avio(A2) ^ Aeroporto(JFK) ^ Aeroporto(SFO))
Objetivo(Em(C1,JFK) ^ Em(C2,SFO))
Ao(Carregar(c,a,l)
PR-CONDIO: Em(c,l) ^ Em(a,l) ^ Carga(c) ^ Avio(a) ^ Aeroporto(l)
EFEITO: Em(c,l) ^ Dentro(c,a))
Ao(Descarregar(c,a,l)
PR-CONDIO: Dentro(c,a) ^ Em(a,l) ^ Carga(c) ^ Avio(a) ^ Aeroporto(l)
EFEITO: Em(c,l) ^ Dentro(c,a))
Ao(Voar(a,de,para)
PR-CONDIO: Em(a,de) ^ Avio(a) ^ Aeroporto(de) ^ Aeroporto(para)
EFEITO: Em(a,de) ^ Em(a,para))
LOGO
Tipos de Planejadores
Formas de Buscas de Planos:
Progressivo: estado inicial -> objetivo.
Regressivo: objetivo -> estado inicial.
mais eficiente (h menos caminhos partindo do objetivo do que do estado inicial)
Espaos de busca:
Espao de situaes: Funciona da mesma forma que na resoluo de problemas por meio de busca.
Espao de planos: planos parciais.
mais flexvel.
LOGO
Busca em Espao de situaes
A busca em espao de situaes ineficiente devido a ela no considerar o problema das aes irrelevantes. Todas as opes de aes so testadas em cada estado.
Isso faz com que a complexidade do problema cresa muito rapidamente.
Soluo? Busca no espao de planos parciais (planejamento de ordem parcial).
LOGO
Planejamento de Ordem Parcial
Subdiviso do problema.
Ordem de elaborao do plano flexvel.
Compromisso mnimo.
Adiar decises durante a procura.
O planejador de ordem parcial pode inserir duas aes em um plano sem especificar qual delas deve ser executada primeiro.
LOGO
Exemplo dos Sapatos
Inicio()
Objetivo(SapatoDireitoCalado^SapatoEsquerdoCalado)
Ao(SapatoDireito,
PRECOND: MeiaDireitaCalada,
EFFECT: SapatoDireitoCalado)
Ao(MeiaDireita,
EFFECT: MeiaDireitaCalada)
Ao(SapatoEsquerdo,
PRECOND: MeiaEsquerdaCalada,
EFFECT: SapatoEsquerdoCalado)
Ao(MeiaEsquerda,
EFFECT: MeiaEsquerdaCalada)
LOGO
Exemplo dos Sapatos
Um planejador de ordem parcial deve ser capaz de chegar a duas sequncias de aes:
MeiaDireita seguido por SapatoDireito;
MeiaEsqueda seguido por SapatoEsquerdo.
As duas sequncias podem ser combinadas para produzir o plano final.
LOGO
Exemplo dos Sapatos
Plano de Ordem Parcial
LOGO
Exemplo dos Sapatos
Plano de Ordem Total
LOGO
Planejamento de Ordem Parcial
O planejamento de ordem parcial pode ser implementado como uma busca no espao de ordem parcial de planos.
Idia:
Busca-se um plano desejado em vez de uma situao desejada (meta-busca).
Parte-se de um plano inicial (parcial) e aplica-se 2 tipos de operadores at chegar a um plano final (completo)
Plano Final:
Completo: todas as pr-condies de todas as aes so alcanada por meio de alguma outra ao.
Consistente: no h contradies.
LOGO
Planejamento de Ordem Parcial
Operador de refinamento:
adicionar novo passo;
instanciar varivel;
ordenar passos;
Operador de modificao:
operadores de reviso (para corrigir planos);
operadores de decomposio hierrquica;
LOGO
Planejamento de Ordem Parcial
Na estratgia de compromisso mnimo a ordem e instanciaes totais so decididas quando necessrio.
Exemplo:
Para objetivo Ter(Leite), a ao Comprar(Produto, Loja), instancia-se somente item: Comprar(Leite, Loja)
Para o problema de colocar meias e sapatos: colocar cada meia antes do sapato, sem dizer por onde comear (esquerda ou direita)
LOGO
Planejamento de Ordem Parcial
Planos so definidos por 4 componentes:
Aes/Passos:
Ao(x, Precondio y, Efeito z)
Restries de Ordenao:
S1 < Sk < Sn, o que no significa que entre S1 e Sk no exista outro passo
Vnculos Causais: {Si c Sj}
Efeitos da ao Si = pr-condies da ao Sj. No existe nenhum passo entre eles que negue a pr-condio c.
Pr-condies Abertas:
No alcanada por nenhuma ao do plano.
LOGO
Exemplo dos Sapatos
Objetivo: SapatoDireitoCalado ^ SapatoEsquerdoCalado
Operadores:
Ao(SapatoDireito, PRECOND: MeiaDireitaCalada, EFFECT: SapatoDireitoCalado)
Ao(MeiaDireita, EFFECT: MeiaDireitaCalada)
Ao(SapatoEsquerdo, PRECOND: MeiaEsquerdaCalada, EFFECT: SapatoEsquerdoCalado)
Ao(MeiaEsquerda, EFFECT: MeiaEsquerdaCalada)
Plano Inicial:
Plano(Passos:{S1: Operador(Ao: Inicio), S2: Operador(Ao: Fim, Precondio: SapatoDireitoCalado ^ SapatoEsquerdoCalado)}, ORDENAO: { S1 < S2 }, VINCULOS: {}, PRECONDIES_ABERTAS: {})
LOGO
Planejamento de Ordem Parcial
Caractersticas do planejamento de ordem parcial:
A insero de um passo s considerada se ele atender uma precondio no atingida.
O planejador regressivo.
correto e completo, assumindo busca em largura ou em profundidade iterativa
Idia do algoritmo:
Identificar um passo com a pr-condio (sub-goal) no satisfeita.
Introduzir um passo cujo efeito satisfaz a pr-condio.
Instanciar variveis e atualizar as ligaes causais.
Verificar se h conflitos e corrigir o plano se for o caso.
LOGO
Exemplo
Plano Inicial:
Aes:
Op(ACTION: Go(there),
PRECOND: At(here),
EFFECT: At(there) At(here))
Op(ACTION: Buy(x),
PRECOND: At(store) Sells(store, x),
EFFECT: Have(x))
26
LOGO
Exemplo
Go(HWS)
At(Home)
Go(SM)
At(Home)
At(SM),
Sells(HWS,Drill)
Buy(Drill)
Buy(Bananas)
Buy(Milk)
Sells(SM, Milk)
At(SM),
Sells(SM, Bananas)
At(HWS),
Start
Have(Milk),
Have(Drill),
Have(Bananas),
At(Home)
Finish
Conflito At(Home)
LOGO
Conflito em Planejamento de Ordem Parcial
Um conflito ocorre quando os efeitos de uma ao pem em risco as pr-condies de outra ao.
No caso anterior, os operadores Go(HWS) e Go(SM) apagam At(Home).
LOGO
Soluo de Conflitos
Demotion e Promotion
LOGO
Exemplo
Start
Go(HWS)
Buy(Drill)
Go(SM)
Buy(Milk)
Buy(Ban.)
Go(Home)
Finish
At(Home)
At(HWS), Sells(HWS,Drill)
At(HWS)
At(SM)
Sells(SM,Milk)
At(SM)
At(Home)
At(SM)
Sells(SM,Ban.)
Have(Milk)
Have(Ban.)
Have(Drill)
Resolve o conflito
LOGO
Exemplo
Plano de Ordem Parcial
LOGO
Aplicaes de Planejamento
Qualquer problema que necessite de passos/aes para chegar a um determinado objetivo.
Exemplos:
Robs que realizam tarefas.
Personagens de jogos direcionados a objetivos.
Gerao de histrias para storytelling interativo.
LOGO