planejamento
DESCRIPTION
Planejamento. Viviane Torres da Silva [email protected] http://www.ic.uff.br/~viviane.silva/2010.1/isma. Planos. As tarefas associadas aos planos são: Planejamento: criação de planos Seleção de planos Execução dos planos Planejamento - PowerPoint PPT PresentationTRANSCRIPT
Planejamento
Viviane Torres da Silva
http://www.ic.uff.br/~viviane.silva/2010.1/isma
Planos
As tarefas associadas aos planos são:– Planejamento: criação de planos– Seleção de planos– Execução dos planos
Planejamento– A criação dos planos é feita a partir de um conjunto de sub-passos (ou
ações)
Objetivos
Estado inicial
Ações
Planejamento Seleção Execuçãop{i} p
Representações
Representação de estados:– Infeliz ^ Triste estado de uma pessoa
– Acima(B,A) estado do bloco B
Representação de objetivos:– É um estado especial, estado futuro que se deseja alcançar
– Ex.: Feliz ^ Contente
– Ex.: Acima (B,Mesa)
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,Mesa) ^ Acima(_,B) ^ MesaLivre
– Pós-condições: Acima(B,Mesa) ^ ¬ MesaLivre
A
B
A B
A
B
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
Ambiente
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,C) ^ Livre(A) ^ ¬ Acima(B,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,Mesa) ^ Livre(A) ^ ¬ Acima(B,A)
Algoritmos de Planejamento
Busca para frente Busca para trás
A B
C D
A DC
BEstado inicial:
Objetivo:
Acima(B,A)Livre(B)Livre(C)Livre(D)
Acima(C,A)Acima(D,B)Livre(D)Livre(C)
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
Mover(C,Mesa,A)Mover(C,Mesa,B)Mover(C,Mesa,D)Mover(D,Mesa,A)Mover(D,Mesa,C)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)
…
…
Exemplo
A DC
B
Acima(B,A)Livre(B)Livre(C)Livre(D)
A B
C D
Mover(B,A,C)Mover(B,A,D)Mover(C,Mesa,B)Mover(C,Mesa,D)Mover(D,Mesa,C)Mover(D,Mesa,B)MoverParaMesa(B,A)
MoverParaMesa(B,A)
Livre(A)Livre(B)Livre(C)Livre(D)
Mover(C,Mesa,A)
Acima(C,A)Livre(B)Livre(C)Livre(D)
…
Acima(C,A)Acima(D,B)Livre(C)Livre(D)
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
A B
C D
Acima(C,A)Acima(D,B)Livre(C)Livre(D)
Move(D,Mesa,B)Move(D,C,B)Move(C,Mesa,A)Move(C,D,A)
Move(D,Mesa,B)
Acima(C,A)Livre(B)Livre(C)Livre(D)
A B
C
D
MoveParaMesa(B,D)MoveParaMesa(B,C)MoveParaMesa(D,B)MoveParaMesa(D,C)Move(C,Mesa,A)Move(C,B,A)Move(C,D,A)
Move(C,Mesa,A)
A DC
B
Livre(A)Livre(B)Livre(C)Livre(D)
…Acima(B,A)Livre(B)Livre(C)Livre(D)
Ordenação parcial dos planos
Trabalhar com uma abordagem que considere que existem vários sub-objetivos independentes
Solucionar cada um como um sub-plano
Combinar os sub-planos
É possível escolher os sub-objetivos mais importantes para começar
Ex.: Planejar uma viagem de avião de Rio a Madrid1. Encontrar um vôo de Rio a Madrid2. Verificar como chegar da nossa casa até o aeroporto3. Verificar como chegar do aeroporto de Madrid ao hotel
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. Determinar quais ações podem ser executadas em paralelo e introduzir ponto de sincronização
3. 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)