Planejamento Viviane Torres da Silva viviane silvaic uff

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

Planejamento Viviane Torres da Silva viviane. [email protected] uff. br http: //www. ic. uff. br/~viviane. silva/ismapi

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: – Ex: Infeliz ^ Triste estado de uma pessoa

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

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: e 1 Ø Estado objetivo (final): e 10 Ø Conjunto de

Exemplo Estado inicial: e 1 Ø Estado objetivo (final): e 10 Ø Conjunto de ações disponíveis: {a 1, a 2, a 3, b 1, b 2, . . . } Ø a 1 e 2 estado final ação estado inicial a 2 e 2 f 1 a 3 f 1 b 1 f 2 estado inicial a 1 b 2 a 4 e 1 e 2 e 3 ……. . a 2 b 2 e 4 a 4 e 5 … e 9 b 10 estado final e 10 b 10 e 9 e 3 f 1 a 3 e 8 e 4 f … 2 e 7 e 5 e 3 e 6 Plano: {a 1, b 2, a 4, …, b 10}

Ambiente precisa ter as seguintes características. . . Ø Observável: podemos observar o estado

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

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

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

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,

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) Move. Para. Mesa(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 Move. Para. Mesa(B, 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) 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 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: e 1, estado objetivo (final): e 10 Ø Conjunto de ações

Exemplo Estado inicial: e 1, estado objetivo (final): e 10 Ø Conjunto de ações disponíveis: {a 1, a 2, a 3, b 1, b 2, . . . } Ø a 1 e 2 a 2 e 2 f 1 a 3 f 1 f 2 b 1 e 2 e 3 b 2 e 3 e 4 a 4 e 4 … e 5 e 9 b 10 e 10 a 1 b 1 Plano final: {a 1, b 2, a 4, …, b 10} Ø Sub-estados: {e 2, e 3, e 4, …, e 9} Ø b 2 a 4 e 2 e 10 b 10 e 9 e 3 e 8 e 4 e 7 e 5 e 2 = sub-estado inicial b 1 b 2 e 3 sub-plano 1={b 1, b 2, a 4} e 4 a 4 e 5 = sub-estado objetivo ……. . e 1 a 1 sub-plano 1 e 1 ……. . e 2 e 5 a 5 e 10 e 6 sub-plano 2 a 5 Plano final: {a 1, sub-plano 1, a 5, sub-plano 2} e 6

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

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)