• Nenhum resultado encontrado

Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Capítulo 11

N/A
N/A
Protected

Academic year: 2021

Share "Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity) Capítulo 11"

Copied!
34
0
0

Texto

(1)

Planeamento

Baseado nos slides de Tom Lenarts (IRIDIA) e Lin Zuoquan(PeckingUniversity)

Capítulo 11

(2)

Planeamento

Enquadramento

Linguagens para planeamento

Planeamento com procura em espaço de estados

Planeamento de ordem parcial

Grafos em planeamento

Planeamento com lógica proposicional

Análise das abordagens para planeamento

(3)

O que é planeamento?

(4)

O que é planeamento?

 acção ou efeito de planear ou de

planificar;trabalho de preparação para qualquer empreendimento, no qual se estabelecem os objectivos, as etapas, os prazos e os meios para a sua

concretização;estabelecimento de um

plano (PRIBERAM);

(5)

Problema do Planeamento

Geração de sequências de acções para realizar tarefas e atingir objectivos

Estados, acções e objectivos

Procura de soluções num espaço abstracto de planos

Aplicações práticas

Operações militares

Jogos

Exploração de espaço

...

(6)

Agentes de Planeamento

 Capítulo 3: agentes baseados em procura

 Capítulo 10: agentes baseados em lógica

 Neste capítulo: problemas de planeamento (clássicos) complexos

Problemas clássicos: ambientes completamente observáveis, determinísticos, estáticos (mudança ocorre apenas quando o agente actua) e discretos (em tempo, acção, objectos e efeitos)

Problemas não clássicos: parcialmente observáveis e estocásticos

(7)

Agente Planeador

 Recebe uma percepção e devolve uma acção

Na prática determina um plano e vai devolvendo uma acção do plano de cada vez

 Tem um contador de tempo

Cada acção corresponde a um instante de tempo

 Comunica com uma Base de Conhecimento

Para aceder ao estado actual

Para ter acesso à descrição das acções

Para formular o objectivo em cada instante de tempo

Para actualizar o estado em função de cada acção

(8)

Procura vs. Planeamento

 Algoritmo de procura para comprar leite e pão é

claramente ineficiente…

(9)

Planeamento

Enquadramento

Linguagens para planeamento

Planeamento com procura em espaço de estados

Planeamento de ordem parcial

Grafos em planeamento

Planeamento com lógica proposicional

Análise das abordagens para planeamento

(10)

Linguagem de planeamento

 A representação de um problema de planeamento - estados, acções e objectivos - deve permitir que um algoritmo de planeamento seja capaz de

explorar a estrutura lógica do problema

(11)

Linguagem de planeamento

 E o que é uma boa linguagem?

Uma linguagem suficientemente expressiva para descrever uma grande variedade de problemas

Uma linguagem suficientemente restritiva para

permitir que algoritmos eficientes operem sobre ela

(12)

Linguagem STRIPS

 Linguagem STRIPS (STanford Reasearch

Institute Problem Solver) – representação básica

(13)

Características gerais da linguagem STRIPS (1)

Representação de estados

Decomposição do mundo em condições lógicas e

representação de um estado como uma conjunção de literais positivos

Literais proposicionais:

Pobre ∧ Desconhecido

Literais sem variáveis e sem funções: Em(Avião1, Melbourne) ∧ Em(Avião2, Sydney)

Assumir que o mundo é fechado: as condições que não

são mencionadas são falsas

(14)

Características gerais da linguagem STRIPS (2)

Representação de objectivos

Estados parcialmente especificados e representados como uma conjunção de literais positivos sem variáveis

Rico Famoso

Um objectivo é satisfeito se o estado contém todos os literais do objectivo

Rico Famoso Miserável

(15)

Características gerais da linguagem STRIPS (3)

 Representação de acções

Acção = PRÉ-CONDIÇÃO + EFEiTO

Um esquema de acção (ou operador) representa um

conjunto de acções que podem ser derivadas por

instanciação das variáveis

(16)

Características gerais da linguagem STRIPS (4)

Tipicamente, um esquema de acção contém:

Nome da acção e lista de parâmetros

Ex: Voar(a, origem, destino)

Pré-condição (conj. de literais sem funções): o que tem de ser verdadeiro para a acção ser executada

Ex: PRÉ-CONDIÇÃO: Em(a,origem) Avião(a) Aeroporto(origem) Aeroporto(destino)

Efeito (conj. de literais sem funções): o que é verdadeiro (P) e o que é falso (¬P) após a acção ser executada

Conjunto de literais pode ser separado em lista de adições e lista de remoções

Ex: ¬Em(a, origem) Em (a, destino)

(17)

STRIPS: exemplo de operador

(18)

Semântica da linguagem

Como é que as acções afectam os estados?

Uma acção é aplicável em qualquer estado que satisfaça a pré-condição

Aplicabilidade de uma acção pode envolver uma substituição θ para as variáveis na PRÉ-CONDIÇÃO

Estado:

Em(A1,JFK) Em(A2,SFO) Avião(A1) Avião(A2) Aeroporto(JFK)

Aeroporto(SFO)

Satisfaz as PRE-CONDIÇÕES:

Em(a,origem) Avião(a) Aeroporto(origem) Aeroporto(destino) Fazendo (por exemplo)

θ

={a/A1,origem/JFK,destino/SFO}

Logo a acção Voar(A1,JFK,SFO) é aplicável.

(19)

Semântica da linguagem

O resultado de executar uma acção a num estado s é um estado s’

em que

s’ é o mesmo que s excepto

Qualquer literal positivo P no efeito de a é adicionado a s’

Ex: Em(a, SFO)

Qualquer literal negativo ¬P no efeito de a faz remover P de s’

Ex: Em(a, JFK)

Continuando com o exemplo anterior

Em(A1,JFK) Em(A2,SFO) Avião(A1) Avião(A2) Aeroporto(JFK)

Aeroporto(SFO)

Por aplicação de Voar(A1,JFK,SFO), obtém-se

Em(A1,SFO) Em(A2,SFO) Avião(A1) Avião(A2) Aeroporto(JFK)

Aeroporto(SFO)

(20)

Semântica da linguagem

Em STRIPS assume-se o seguinte: (para representar ausência de mudança)

Qualquer literal que NÃO esteja no efeito permanece inalterado

(21)

Semântica da linguagem

Estamos agora em codições de definir o que é uma solução para um problema de planeamento:

é uma sequência de acções que a partir do estado inicial conduz a um estado objectivo

(22)

STRIPS: transporte aéreo de carga

O problema envolve carregar e descarregar cargas de

aviões que voam de um lado para outro

(23)

STRIPS: transporte aéreo de carga

Estado Inicial:

Início(Em(C1, SFO) Em(C2,JFK) Em(A1,SFO) Em(A2,JFK) Carga(C1) Carga(C2) Avião(A1) Avião(A2) Aeroporto(JFK) Aeroporto(SFO))

Objectivo (levar a carga C1 para JFK e a carga C2 para SFO):

Objectivo(Em(C1,JFK) Em(C2,SFO))

(24)

STRIPS: transporte aéreo de carga

Acções (c: carga, a:avião, l:local (aeroporto)):

Acção(Carregar(c,a,l)

PRÉ-CONDIÇÃO: Em(c,l) Em(a,l) Carga(c) Avião(a) Aeroporto(l) EFEITO: ¬Em(c,l) Dentro(c,a))

Acção(Descarregar(c,a,l)

PRÉ-CONDIÇÃO: Dentro(c,a) Em(a,l) Carga(c) Avião(a) Aeroporto(l)

EFEITO: Em(c,l) ¬Dentro(c,a)) Acção(Voar(a,origem,destino)

PRÉ-CONDIÇÃO: Em(a,origem) Avião(a) Aeroporto(origem) Aeroporto(destino)

EFEITO: ¬ Em(a,origem) Em(a,destino))

(25)

STRIPS: transporte aéreo de carga

[Possível solução:

Carregar(C1,A1,SFO), Voar(A1,SFO,JFK), Descarregar(C1,A1,JFK), Carregar(C2,A2,JFK), Voar(A2,JFK,SFO), Descarregar(C2,A2,SFO)]

(26)

Expressividade e extensões

STRIPS é uma linguagem muito simples

Só literais positivos nos estados

Assume mundo fechado

Efeito P∧¬Q significa inserir P e remover Q

Não há variáveis nos objectivos

Objectivos são conjunções

Efeitos são conjunções

Não suporta igualdade

Não suporta tipos

Símbolos de função não são permitidos: implicam um

número infinito de estados e acções

(27)

Linguagem ADL

 ADL (Action Description Language)

 Não é tão restritiva como a linguagem STRIPS

 Permite o uzo de disjunção, negação e

quantificadores

(28)

Expressividade e extensões

Características da ADL

Literais positivos e negativos nos estados

Assume mundo aberto

Efeito P∧¬Q significa inserir P e ¬Q e apagar ¬P e Q

Variáveis quantificadas nos objectivos

Objectivos com conjunções e disjunções

Existência de efeitos condicionais (e.g. P:E significa que P é efeito só se E for verdadeiro)

Suporta igualdade

Variáveis podem ter tipos

Acção(Voar(a:Avião, origem:Aeroporto,destino:Aeroporto), PRECONDIÇÃO: Em(a,origem) (origem destino) EFEITO: ¬Em(a,origem) Em(a,destino))

Linguagem + usada (standard): Planning Domain Definition Language (PDDL)

(29)

STRIPS: mundo dos blocos

Um dos cenários mais famosos do planeamento. Um conjunto de blocos empilháveis estão em cima de uma mesa. O objectivo é construir uma pilha específica de blocos.

Por exemplo, tendo os blocos A, B e C em cima da mesa, o objectivo é construir a pilha A B C, em que C é o bloco em cima da mesa.

(30)

STRIPS: mundo dos blocos

Estado inicial:

Início(On(A, Table) On(B,Table) On(C,Table) Block(A) Block(B) Block(C) Clear(A) Clear(B) Clear(C))

Objectivo:

Objectivo(On(A,B) On(B,C))

(31)

STRIPS: mundo dos blocos

Acções:

Acção(Move(b,x,y)

PRÉ-CONDIÇÃO: On(b,x) Clear(b) Clear(y) Block(b) EFEITO: On(b,y) Clear(x) ¬ On(b,x) ¬ Clear(y))

Acção(MoveToTable(b,x)

PRÉ-CONDIÇÃO: On(b,x) Clear(b) Block(b) EFEITO: On(b,Table) Clear(x) ¬ On(b,x))

Notas:

Acções irrelevantes são possíveis: e.g., Move(B,C,C) – problema facilmente resolvido em ADL com

A PRE-CONDIÇÃO PASSAVA A:

PRÉ-CONDIÇÃO: On(b,x) Clear(b) Clear(y) Block(b) b x b y x y Se não existisse o predicado Clear teríamos que usar a linguagem ADL para poder ter literais negativos na PRÉ-CONDIÇÃO (por exemplo, em vez de Clear(b), podia estar x¬On(x, b))

(32)

ADL: pneu sobresselente

O Problema de planeamento em causa é mudar um pneu, supondo que temos um pneu furado e um pneu bom na bagageira.

(33)

ADL: pneu sobresselente

Estado inicial:

Início(Em(Furado, Eixo) Em(Sobresselente,Bagageira)) Objectivo:

Objectivo(Em(Sobresselente,Eixo))

(34)

ADL: pneu sobresselente

Acções:

Acção(Remove(Sobresselente,Bagageira)

PRÉ-CONDIÇÃO: Em(Sobresselente,Bagageira)

EFEITO: ¬Em(Sobresselente,Bagageira) Em(Sobresselente,Chão)) Acção(Remove(Furado,Eixo)

PRÉ-CONDIÇÃO: Em(Furado,Eixo)

EFEITO: ¬Em(Furado,Eixo) Em(Furado,Chão)) Acção(Colocar(Sobresselente,Eixo)

PRÉ-CONDIÇÃO: Em(Sobresselente,Chão) ¬Em(Furado,Eixo) EFEITO: Em(Sobresselente,Eixo) ¬Em(Sobresselente,Chão)) Acção(DeixarDuranteANoite

PRÉ-CONDIÇÃO:

EFEITO: ¬ Em(Sobresselente,Chão) ¬ Em(Sobresselente,Eixo)

¬Em(Sobresselente,Bagageira) ¬ Em(Furado,Chão) ¬ Em(Furado,Eixo) )

Este exemplo está para além do STRIPS: literais negativos na pré-conditição (descrição ADL)

Referências

Documentos relacionados

- Se o estagiário, ou alguém com contacto direto, tiver sintomas sugestivos de infeção respiratória (febre, tosse, expetoração e/ou falta de ar) NÃO DEVE frequentar

Principais fontes de financiamento disponíveis: Autofinanciamento: (corresponde aos fundos Principais fontes de financiamento disponíveis: Autofinanciamento: (corresponde aos

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

◦ Os filtros FIR implementados através de estruturas não recursivas têm menor propagação de erros. ◦ Ruído de quantificação inerente a

Os candidatos reclassificados deverão cumprir os mesmos procedimentos estabelecidos nos subitens 5.1.1, 5.1.1.1, e 5.1.2 deste Edital, no período de 15 e 16 de junho de 2021,

Os instrumentos de pesquisa utilizados serão: Ficha de Rastreamento das Participantes do Estudo, International Consultation on Incontinence Questionnaire – Short Form

Para entender as diferenças nas batidas e levadas do sambistas e chorões de Florianópolis de que nos falam os partícipes do samba nesta cidade, busco apontar

A lâmina de irrigação que supriu a necessidade hídrica da cultura com melhores médias no cultivo de pimenta malagueta foi a N3 50% é a indicada para todas as fases fenológicas