Вы находитесь на странице: 1из 32

INF 1771 Inteligncia Artificial

Aula 12 Planejamento

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

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

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
Start
Conflito At(Home)

At(Home)

At(Home)

Go(HWS)

Go(SM)

At(HWS), Sells(HWS,Drill)

At(SM), Sells(SM, Milk)

Buy(Drill)

Buy(Milk)

Have(Drill),

At(SM), Sells(SM, Bananas)

Buy(Bananas)

Have(Milk), Have(Bananas), At(Home)

Finish

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
At(Home)

Go(HWS)

At(HWS), Sells(HWS,Drill)

Resolve o conflito

At(HWS)

Go(SM)

Buy(Drill)
At(SM) Sells(SM,Milk)

At(SM) Sells(SM,Ban.)

Buy(Milk)

Buy(Ban.)

Have(Drill) Have(Milk)

Have(Ban.) At(Home)

Finish

At(SM)

Go(Home)

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.

Вам также может понравиться