Planejamento
Viviane Torres da Silva
[email protected]
http://www.ic.uff.br/~viviane.silva/isma
Planos

As tarefas associadas aos planos são:
– Planejamento: criação de planos
– Seleção de planos
– Execução dos planos
Objetivos
Estado inicial
Ações

Planejamento
p{i}
Seleção
p
Execução
Planejamento
– A criação dos planos é feita a partir de um conjunto de sub-passos (ou
ações)
Representações

Representação de estados:
– Ex: Infeliz ^ Triste estado de uma pessoa
– Ex: Acima(B,A)
estado do bloco B

B
A
Representação de objetivos:
– É um estado especial, estado futuro que se deseja alcançar
– Ex.: Feliz ^ Contente
A
– Ex.: Acima (B,Mesa), Livre(B), Livre(A)

Representação de ações:
– É descrita por suas pré-condições e suas pós-condições
– Ex: Mover (B,A,Mesa)
– Pré-condições: Acima(B,A) ^ Livre(B) ^ Livre(Mesa)
– Pós-condições: ¬Acima(B,A) ^ Acima(B,Mesa) ^ ¬ Livre(Mesa)
B
B
A
Representações

Uma ação pode ser executada em qualquer estado no qual o
conjunto de pré-condições da ação seja verdadeiro

Depois da execução da ação, suas pós-condições refletem o
estado do ambiente

Um plano é uma seqüência de ações que quando executado a
partir de um estado inicial resulta em um estado final que
alcance o objetivo
Exemplo
Estado inicial: e1
 Estado objetivo (final): e10
 Conjunto de ações disponíveis: {a1, a2, a3, b1, b2, ...}

a1
e1
e2
estado final
ação
estado inicial
a2
e2
f1
a3
f1
b1
f2
estado inicial
a1
b1
b2
a4
e1
e2
e2
e3
……..
a2
b2
e4
a4
e4
e5
…
e9
b10
e10
estado final
e10
b10
e9
e3
f1 a
3
e8
e4
f
…2
e7
e5
e3
e6
Plano: {a1, b1, b2, a4, …, b10}
Ambiente precisa ter as seguintes características...

Observável: podemos observar o estado das entidades no
ambiente

Determinista: sabemos qual é a conseqüência da execução de
uma ação

Estático: ambiente se modifica somente quando o agente
executa uma tarefa

Discreto: número fixo e finito de ações e objetos
Exemplo: O mundo dos blocos

Só um único bloco pode estar diretamente acima de outro
bloco
Um robô pode pegar um único bloco de cada vez e mover o
bloco para outra posição
O robô não pode pegar um bloco que leve outro em cima

Objetivo: colocar os blocos em uma determinada posição


Exemplo: O mundo dos blocos

Estados:
– Acima(B,A): B está acima de A (A pode ser a mesa)
– Livre(C): C não tem nenhum bloco acima

Ações:
– Mover(B,A,C): Mover B de A para C
• Precondições: Acima(B,A) ^ Livre(B) ^ Livre(C)
• Póscondições: ¬ Acima(B,A) ^ Acima(B,C) ^ Livre(A) ^ ¬ Livre(C)
– MoverParaMesa(B,A): Mover B de A para a mesa
• Precondição: Acima(B,A) ^ Livre(B)
• Póscondições: ¬ Acima(B,A) ^ Acima(B,Mesa) ^ Livre(A)
Algoritmos de Planejamento
Busca para frente
 Busca para trás

Estado inicial: Acima(B,A)
Acima(A,Mesa)
Acima(C,Mesa)
Acima(D,Mesa)
Livre(B)
Livre(C)
Livre(D)
Objetivo: Acima(C,A)
Acima(D,B)
Acima(A,Mesa)
Acima(B,Mesa)
Livre(D)
Livre(C)
B
A
C
D
C
D
A
B
Busca para frente

Quais são as ações aplicadas ao estado atual que podem gerar o
objetivo?

Começamos considerando o estado inicial

Selecionamos as ações que podem ser aplicadas a partir do
estado inicial
– As ações aplicadas são aquelas cujas pré-condições são subconjunto do
estado inicial
– As pós-condições da ação aplicada gera o próximo estado

Aplicamos o passo anterior até encontrar o objetivo
– O objetivo deve ser o estado representado nas pós-condições das ações
Exemplo
B
A
Acima(B,A)
Acima(A,Mesa)
Acima(C,Mesa)
Acima(D,Mesa)
Livre(B)
Livre(C)
Livre(D)
Acima(A,Mesa)
Acima(D,Mesa)
Livre(B)
Livre(C)
Livre(D)
Acima(B,Mesa)
Acima(C,A)
C
D
Mover(B,A,C)
Mover(B,A,D)
Mover(C,Mesa,B)
MoverParaMesa(B,A)
Mover(C,Mesa,D)
Mover(D,Mesa,C)
Mover(D,Mesa,B)
MoverParaMesa(B,A)
Mover(D,Mesa,B)
Acima(A,Mesa)
Acima(C,Mesa)
Acima(D,Mesa)
Livre(B)
Livre(C)
Livre(D)
Acima(B,Mesa)
Livre(A)
Acima(A,Mesa)
Livre(C)
Livre(D)
Acima(B,Mesa)
Acima(C,A)
Acima(D,B)
Mover(C,Mesa,A)
Mover(C,Mesa,B)
Mover(C,Mesa,D)
…
Mover(D,Mesa,A)
Mover(D,Mesa,C)
Mover(C,Mesa,A)
Mover(D,Mesa,B)
Mover(B,Mesa,A)
Mover(B,Mesa,C)
Mover(B,Mesa,D)
…
Mover(A,Mesa,B)
Mover(A,Mesa,C)
Mover(A,Mesa,D)
C
D
A
B
Busca para trás

Quais são os estados a partir dos quais aplicando uma ação se
gera o objetivo?

Começamos considerando o estado final, o objetivo

Selecionamos as ações que podem ter sido aplicadas para gerar
o objetivo
– As ações aplicadas são aquelas cujas pós-condições geram uma das
condições do objetivo
– Somente consideramos ações relevantes, as que sabemos que podem
chegar ao objetivo
– As pré-condições da ação aplicada definem o próximo estado

Aplicamos o passo anterior até encontrar o estado inicial
Exemplo
C
D
C
A
B
A
Acima(A,Mesa)
Acima(B,Mesa)
Acima(C,A)
Acima(D,B)
Livre(C)
Livre(D)
Acima(A,Mesa)
Acima(B,Mesa)
Livre(C)
Livre(D)
Acima(D,Mesa)
Livre(B)
Acima(C,Mesa)
Livre(A)
Move(D,Mesa,B)
Move(D,C,B)
Move(D,Mesa,B)
Move(C,Mesa,A)
Move(C,D,A)
MoveParaMesa(B,A)
B
Acima(A,Mesa)
Acima(B,Mesa)
Acima(C,A)
Livre(C)
Livre(D)
Acima(D,Mesa)
Livre(B)
Acima(A,Mesa)
Livre(C)
Livre(D)
Acima(D,Mesa)
Livre(B)
Acima(C,Mesa)
Acima(B,A)
D
MoveParaMesa(B,D)
MoveParaMesa(B,C)
Move(C,Mesa,A)
MoveParaMesa(D,B)
MoveParaMesa(D,C)
Move(C,Mesa,A)
Move(C,B,A)
Move(C,D,A)
B
A
C
D
Ordenação parcial dos planos

Trabalhar com uma abordagem que considere que existem
vários sub-objetivos independentes

Cada sub-objetivo será tratado por um sub-plano
Combinar os sub-planos para alcançar o objetivo



É possível escolher os sub-objetivos mais importantes para
começar
Ex.: Planejar uma viagem de avião de casa no Rio ao hotel
em Madrid
1. Encontrar um vôo de Rio a Madrid
2. Verificar como chegar da nossa casa até o aeroporto
3. Verificar como chegar do aeroporto de Madrid ao hotel
Exemplo
Estado inicial: e1,
estado objetivo (final): e10
 Conjunto de ações disponíveis: {a1, a2, a3, b1, b2, ...}

a1


e1
e2
a2
e2
f1
a3
f1
f2
b1
e2
e3
b2
e3
e4
a4
e4
…
e5
e9
b10
e10
a1
b1
Plano final: {a1, b1, b2, a4, …, b10}
Sub-estados: {e2, e3, e4, …, e9}
b2
a4
e2
e10
b10
e9
e3
e8
e4
e7
e5
e2 = sub-estado inicial
b1
b2 e3 sub-plano1={b1, b2, a4}
e4
a4
e5 = sub-estado objetivo
……..
e1
a1
sub-plano1
e1
……..
e2
e5
a5
e10
e6
sub-plano2
a5
Plano final: {a1, sub-plano1, a5, sub-plano2}
e6
Exemplo: Colocar os sapatos

Objetivo: ter os sapatos postos
– Sub-objetivos: ter a meia direita posta, ter a meia esquerda posta, ter o
sapado direito posto e ter o sapato esquerdo posto

Ações:
– Colocar a meia direita
– Colocar a meia esquerda
– Calçar o sapato direito
– Calçar o sapato esquerdo

Existe uma ordem entre meia e sapado mas não existe ordem
entre esquerda e direita
– Colocar a meia esquerda tem que vir antes de calçar o sapato esquerdo
– Mas não é necessário executar exatamente antes
Quando consideramos organizações

Agentes na organização interagem para alcançar objetivos da
organização
Existem três tipos de planejamento:
 Planejamento centralizado para sistemas multi-agentes
– Um único agente faz o planejamento para os demais agentes

Coordenação centralizada dos planos parciais (ou sub-planos)
– Cada agente faz o planejamento de sub-planos para alcançar seus objetivos
individuais
– Um coordenador central tenta coordenar a execução dos sub-planos

Planejamento distribuído
– Não existe um coordenador central
– Os agentes negociam para coordenar suas ações e solucionar problemas
Planejamento centralizado para SMA

As tarefas que o agente tem que executar quando está
planejando para um conjunto de agentes ou para um único
agente são similares
1.
Ver o plano como um diagrama de estados acíclicos
(os estados são as ações)
2.
3.
Determinar quais ações podem ser executadas em paralelo e
introduzir ponto de sincronização
Distribuir a execução das ações para os vários agentes
Coordenação centralizada de planos parciais

Cada agente tem um objetivo e é capaz de criar seu próprio
plano e de executá-lo

Cada plano é enviado a um coordenador central

O coordenador:
– Sincroniza a execução de todos os sub-planos
– Encontra os conflitos
– Elimina os conflitos (arrumando as ações ou determinando os pontos de
sincronização)
Download

Planejamento