Planejamento Viviane Torres da Silva viviane silvaic uff

  • Slides: 19
Download presentation
Planejamento Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane.

Planejamento Viviane Torres da Silva viviane. silva@ic. uff. br http: //www. ic. uff. br/~viviane. silva/isma

Planos Ø As tarefas associadas aos planos são: – Planejamento: criação de planos –

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: – Infeliz ^ Triste – Acima(B, A) Ø estado

Representações Ø Representação de estados: – Infeliz ^ Triste – Acima(B, A) Ø estado de uma pessoa 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) Ø 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) ^ Mesa. Livre – Pós-condições: Acima(B, Mesa) ^ ¬ Mesa. Livre B B A

Representações Ø Uma ação pode ser executada em qualquer estado no qual o conjunto

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

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

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

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) – Mover. Para. Mesa(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 Ø Estado inicial: Acima(B,

Algoritmos de Planejamento Busca para frente Ø Busca para trás Ø Estado inicial: Acima(B, A) Livre(B) Livre(C) Livre(D) Objetivo: Acima(C, A) Acima(D, B) Livre(D) Livre(C) B A C D A B

Busca para frente Ø ¿Quais são as ações aplicadas ao estado atual que podem

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 C Acima(B, A) Livre(B) Livre(C) Livre(D) Acima(C, A) Livre(B) Livre(C) Livre(D)

Exemplo B A C Acima(B, A) Livre(B) Livre(C) Livre(D) Acima(C, A) Livre(B) Livre(C) Livre(D) D Mover(B, A, C) Mover(B, A, D) Mover(C, Mesa, B) Mover. Para. Mesa(B, A) Mover(C, Mesa, D) Mover(D, Mesa, C) Mover(D, Mesa, B) Mover. Para. Mesa(B, A) … Acima(C, A) Acima(D, B) Livre(C) Livre(D) Livre(A) Livre(B) Livre(C) Livre(D) 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(C, 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

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(C, A) Acima(D, B) Livre(C) Livre(D) Livre(A)

Exemplo C D C A B A Acima(C, A) Acima(D, B) Livre(C) Livre(D) Livre(A) Livre(B) Livre(C) Livre(D) Move(D, Mesa, B) Move(D, C, B) Move(D, Mesa, B) Move(C, Mesa, A) Move(C, D, A) … D B Acima(C, A) Livre(B) Livre(C) Livre(D) Move. Para. Mesa(B, C) Move(C, Mesa, A) Move. Para. Mesa(D, B) Move. Para. Mesa(D, C) Move(C, Mesa, A) Move(C, B, A) Move(C, D, A) Acima(B, A) Livre(B) Livre(C) Livre(D) B A C D

Ordenação parcial dos planos Ø Trabalhar com uma abordagem que considere que existem vários

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 Madrid Ø 1. Encontrar um vôo de Ria a Madrid 2. Verificar como chegar da nossa casa até o aeroporto 3. Verificar como chegar do aeroporto de Madrid ao hotel

Exemplo: Colocar os sapatos Ø Objetivo: ter os sapatos postos – Sub-objetivos: ter a

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

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 sub-planos para alcançar seus objetivos individuais – Um coordenador central tenta coordenar a execução dos sub-planos

Quando consideramos organizações Ø Planejamento distribuído – Não existe um coordenador central – Os

Quando consideramos organizações Ø 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

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) 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 2.

Coordenação centralizada de planos parciais Ø Cada agente tem um objetivo e é capaz

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)