ia aula 12 planejamento

32
INF 1771 – Inteligência Artificial Aula 12 – Planejamento Edirlei Soares de Lima

Upload: alessandra-cristina-villela-pruesse

Post on 09-Sep-2015

227 views

Category:

Documents


8 download

DESCRIPTION

.

TRANSCRIPT

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