desenvolvimento de sistemas baseados em conhecimento planejamento em ambientes incertos

38
Desenvolvimento de Desenvolvimento de Sistemas Baseados em Sistemas Baseados em Conhecimento Conhecimento Planejamento em Ambientes Incertos

Upload: manoela-candal-garrau

Post on 07-Apr-2016

222 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Desenvolvimento de Sistemas Desenvolvimento de Sistemas Baseados em ConhecimentoBaseados em Conhecimento

Planejamento em Ambientes Incertos

Page 2: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Roteiro

• Indeterminação do ambiente e suas soluções

• Planejamento Condicional

• Monitoramento da execução com replanejamento

• Planejamento contínuo (situado)

Page 3: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Ambientes: Informação

• Ambientes observáveis, estáticos e deterministas

• Como se planeja nestes casos?– Planejar e depois executar de “olhos vendados”

• Que técnicas se aplicam?– Busca em espaço de estados (STRIPS)– POP– Planejamento hierárquico– Escalonamento (tempo+recurso)

Page 4: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Ambientes: Informação

• Que incerteza há em ambientes não observáveis, dinâmicos ou não deterministas?

• Informação incompleta– Parcialmente observável, não determinista ou ambos– Modelo do mundo fraco, mas correto!

» Ex. a porta do banheiro está aberta ou fechada? Minhas chaves podem abri-la ou não?

• Informação incorreta– O mundo não casa com o modelo dele

» Ex. Eu vou na garage pegar o carro para ir ao trabalho, mas o carro foi roubado

Page 5: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Ambientes: Graus de Indeterminação

• Indeterminação Limitada (bounded indeterminacy) – Percepções são parciais e/ou ações têm efeitos imprevisíveis mas

as conseqüências podem ser listadas» Ex. jogar a moeda (cara ou coroa)

• Soluções – Planejamento/busca sem sensor (sensorless)– Planejamento condicional

Page 6: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Ambientes: Graus de Indeterminação

• Indeterminação Ilimitada (unbounded indeterminacy)– Conjunto de pré-condições ou efeitos desconhecidos é grande

demais» Domínios dinâmicos como economia, estratégia militar,...

• Soluções– Monitoramento da execução com replanejamento – Planejamento contínuo

Page 7: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Soluções: visão intuitiva

• Exemplo para comparar soluções– Estado inicial: uma cadeira, uma mesa e algumas latas de tinta,

tudo com cores desconhecidas– Estado final: cadeira e mesa com a mesma cor

Page 8: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Soluções para Indeterminação Limitada

• Caso do “Sensorless problem”: agente sem sensores!

• Planejamento sem sensor (sensorless planning)– Constrói planos seqüenciais normais (execução sem percepção),

mas considera todas as circunstâncias independentemente do estado inicial

» Ex. Médico ao dar antibiótico de largo espectro

• Noção importante: Coerção!– Agir para forçar o mundo para estados desejáveis

Page 9: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Exemplos...

• Cadeira+Mesa– Abrir uma lata e pintar cadeira e mesa com ela (mesmo que algum

dos móveis já esteja com esta cor)

• Aspirador versão 1.0: sem sensor– Início: {1,2,3,4,5,6,7,8}, Objetivo => {7,8}– Dir => {2,4,6,8}, Esq => {1,3,5,6}, Sugar => {4,5,7,8}– Solução: [Dir, Sugar, Esq, Sugar]

Page 10: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Soluções para Indeterminação Limitada

• Caso do Problema Contingencial– o ambiente parcialmente observável ou efeito das ações

desconhecido => nova informação após cada ação• Planejamento conditional

– Constrói, a priori, um plano (fixo) com diferentes ramificações para diferentes contingentes.

– Percebe o ambiente para saber que ramo seguir• Plano Cadeira+Mesa

Percebe as cores da cadeira e da mesaSe iguais, então termina

senão, percebe rótulos das latas se houver alguma com a mesma cor de um dos mobiliários, então aplica-a ao outroCaso contrário, pinta ambos com a mesma cor.

Page 11: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Soluções para Indeterminação Ilimitada

• Monitoramento da execução com replanejamento– Usa qualquer uma das técnicas precedentes para construir o

plano, mas– Monitora a execução para ver se o plano pode ter sucesso no

atual estado ou precisa ser revisto– Replaneja no caso de algo estar errado

• Como se aplica ao exemplo da Cadeira+Mesa?• Plano

– Se por acaso a pintura deixou alguma cor antiga aparecendo, repintar a mobília em questão

Page 12: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Soluções para Indeterminação Ilimitada

• Planejamento contínuo (situado)– Capaz de abandonar e formular novos objetivos– Capaz de tratar eventos inesperados, mesmo durante a

construção do plano

• Exemplo Cadeira+Mesa– Se alguém está jantando, adia a pintura para o outro dia!

Page 13: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Condicional

• Usado quando temos:– Ambientes completamente observáveis + efeitos imprevisíveis das

ações – Ambientes parcialmente observáveis

Page 14: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Condicional

• Ambientes completamente observáveis– O agente sabe seu estado atual, mas se o ambiente for não determinista,

ela não saberá o efeito de suas ações• Ex. Aspirador versão 2.0:

– às vezes... suja o destino quando se move para lá– às vezes... suja se sugar em um local limpo

• Plano condicional: Como construí-lo? • Primeiro passo: estender STRIPS...

– Efeitos disjuntivos: ação com um ou mais efeitos» Action(Left, Precond: AtR, Effect: AtL AtR)

– Efeitos condicionais: efeito depende do estado onde a ação foi executada» Action(Suck, Precond:, Effect: (when AtLeft: CleanL) (when AtRight, CleanR)

Page 15: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

.

• .

And-Or Tree State nodes (agente)

Chance nodes (natureza)

Estado inicial

Objetivo

OR

OR OR

ANDAND

AND ANDAND AND

Page 16: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Condicional

• Solução em uma And-Or tree– A solução é uma sub-árvore

» Cujas folhas são todas iguais ao objetivo» Que especifica uma ação a cada nó de estado» Que inclui todas as conseqüências dos nós de “azar”.

Page 17: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Condicional

• Ambientes parcialmente observáveis e não deterministas– Os testes condicionais (percepções) nem sempre funcionam...

» Ex. aspirador só sabe se tem sujeira no quarto em que está– Belief state (estado de crença):

» Ao invés de estado único, deve-se lidar explicitamente com a ignorância para sempre estar consciente do que se sabe (ou do que não se sabe)!

» Representado como um conjunto de estados (possíveis)

• Solução – Grafos And-Or em estados de crença– Combina planejamento condicional com sersorless

Page 18: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Condicional

Estado de crença

Aspirador alternativo• Deixa, as vezes, sujeira

quando sai de uma posição limpa

• Não sabe se há sujeira no quadrado ao lado

Page 19: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Condicional

• Representação dos estados de crença– descrição completa

» Crença A = {(atR CleanR CleanL), (atR CleanR CleanL)}

• Representação das açõesAction(Left, Precond: AtR,

Effect: AtL (AtL when CleanL: CleanL))

Page 20: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento

• Monitoramento da execução – Checar as percepções para ver se tudo está indo de acordo com o

plano (lidar com imprevistos)

• Dois tipos de monitoramento– Monitoramento da ação: para ver se a próxima é aplicável

» Ex. a porta está fechada– Monitoramento do plano: ver se o plano ainda é viável

» Ex. não tem mais $ suficiente

• Replanejamento– Se algo inesperado acontece, pedir ao planejador um novo plano

ou tentar reparar o plano antigo

Page 21: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento

• Exemplo:– Aspirador que quando se desloca para lugar limpo suja-o– Basta não se preocupar com isto...

» Plano [Left]» Se não dá para executar Finish (tem sujeira), replaneja e encontra o

plano [Suck]

• A estratégia monitoramento + replanejamento pode ser aplicada em tudo– Ambiente total ou parcialmente acessível– Espaço de estados ou de planos– Planos condicionais ou não...

?

Page 22: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento

• Reparo e continuação (Repair and continuation)– Em vez de replanejar tudo, encontrar um conserto...

• Exemplo– Whole plan = plano inteiro (inicial), S= start, G = goal– Plan = plano que resta– O agente deveria chegar em E mas foi para O (action monitoring)– Então tenta encontrar um plano que leve de O a qualquer ponto de

WholePlan

Page 23: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento

• Exemplo: de cadeira azul, mesa verde, lata de tinta azul e lata de tinta vermelha para tudo pintado da mesma cor

• Formalmente– Init (Color(Chair,Blue) Color(Table,Green) PaintCan(BC),

ContainsColor(BC,Blue), PaintCan(RC), ContainsColor(RC,Red))– Goal (Color(Chair, x) Color(Table, x))– Action (Paint (object,color)

PRECOND: HavePaint(color)EFFECT: Color(object,color))

– Action (Open (can)PRECOND: PaintCan(can) ContainsColor(can,color) EFFECT: HavePaint(color))

• A solução seria– [Start; Open(BC); Paint(Table,Blue); Finish]

Page 24: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento

• Execução/reparo– Agente executa Start; Open(BC); Paint(Table,Blue)– Mas, antes de executar Finish, ele verifica que esqueceu uma

mancha verde na mesa...– Neste caso, Repair = [] (já que não conhece a ação pinta

mancha), e retoma plano inteiro (inicial) em Paint(Table,Blue), Finish

• Observação– Funciona naturalmente como um laço que verifica se ficou ok e

caso contrário refaz

Page 25: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento

• Porém, ...as vezes monitoramento de ação não é o bastante– Só detecta a falha tarde demais porque verifica, a cada passo,

somente se o próximo é executável– Exemplo: decidir pintar tudo de vermelho

» depois de pintar a cadeira, descobrir que não tem tinta suficiente para a mesa

– É preciso, em qualquer estado, detectar falhas que inviabilizem o resto do plano

Page 26: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento

• Monitorando plano– Verifica, a cada passo, as pré-condições para o sucesso do plano

inteiro» Exceto as pré-condições que serão alcançadas por outros passos do

plano remanescente– Com isto, corta a execução de planos “amaldiçoados” o mais cedo

possível– Entretanto, problemático em ambientes parcialmente acessíveis

» Agente pode não detectar coisas que estão dando errado» Pode-se perder mais tempo verificando todas as condições do futuro

plano do que agindo– Solução: escolher as verificações relevantes e torcer para tudo

dar certo» mantendo monitoramento das ações sempre!

Page 27: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Monitoramento da execução e replanejamento (outras limitações)

• Não há garantias formais – que o plano será concebido e executado com sucesso

• Dificuldade em distinguir problemas difíceis de “fúteis” (s/ solução)– O agente ficar bloqueado

» Ex. tentando abrir a porta do quarto com a chave errada– Soluções

» Tentar aleatoriamente reparos diferentes para ver se dá sorte» Aprendizagem por reforço

• Não pode formular novos objetivos

Page 28: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Não é um mero resolvedor de problemas• Diferenças básicas

– Cria plano incrementalmente (dentro de limites de tempo)– Pode começar a executar um plano mesmo incompleto– Continua planejando durante a execução– Pode mudar de objetivo

• Ou seja, é capaz de intercalar *continuamente* – Execução de passos (de percepção e efetivação)– Monitoramento– Replanejamento

Page 29: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Exemplo no mundo dos blocos– Action: Mover (x, y), “mover x para cima de y” PRECOND: Limpo(x) Limpo(y) EmCima(x,z) EFFECT: EmCima (x,y) Limpo(z) EmCima(x,z) Limpo(y)– O agente escolheu o objetivo abaixo

Estado Inicial

ABE

CF

DG

Objetivo

ABE G

CD

F

Page 30: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Supondo que nada acontece enquanto se planeja, o plano é rapidamente encontrado com POP... Ele será executado em seguida!

Início

Mover (C,D)

Mover (D,B)

Fim

NaMesa (A)EmCima (B,E)EmCima (C,F)EmCima (D,G)Limpo (A)Limpo (C)Limpo (D)Limpo (B)

EmCima (D,G)Limpo (D)Limpo (B)

EmCima (C,F)Limpo (C)Limpo (D)

EmCima (C,D)EmCima (D,B)

Estado Inicial

ABE

CF

DG

Objetivo

ABE G

CD

F

Page 31: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Imagine agora que um evento externo da natureza ocorra...

Estado Inicial

ABE

CF

DG A

BE

CF G

D

Novo Estado Inicial

Início

Mover (C,D)

Mover (D,B)

Fim

NaMesa (A)EmCima (B,E)EmCima (C,F)EmCima (D,B)Limpo (A)Limpo (C)Limpo (D)Limpo (G) EmCima (D,y)

Limpo (D)Limpo (B)

EmCima (C,F)Limpo (C)Limpo (D)

EmCima (C,D)EmCima (D,B)

Plano incompleto!

Page 32: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Estendendo um link causal

Estado Inicial

ABE

CF

DG

Objetivo

ABE G

CD

F

Início

Mover (C,D)

Mover (D,B)

Fim

NaMesa (A)EmCima (B,E)EmCima (C,F)EmCima (D,B)Limpo (A)Limpo (C)Limpo (D)Limpo (G) EmCima (D,y)

Limpo (D)Limpo (B)

EmCima (C,F)Limpo (C)Limpo (D)

EmCima (C,D)EmCima (D,B)

Plano completo mas redundante!

Page 33: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Eliminando passos redundantes

Estado Inicial

ABE

CF

DG

Objetivo

ABE G

CD

F

Início

Mover (C,D)

Fim

NaMesa (A)EmCima (B,E)EmCima (C,F)EmCima (D,B)Limpo (A)Limpo (C)Limpo (D)Limpo (G)

EmCima (C,F)Limpo (C)Limpo (D)

EmCima (C,D)EmCima (D,B)

Page 34: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Mas o agente é desastrado e coloca C em cima de A ao invés de D durante a execução

Estado Inicial

ABE

CF

DG

Objetivo

ABE G

CD

FABE F G

DC

Novo Estado Inicial

Início Fim

NaMesa (A)EmCima (B,E)EmCima (C,A)EmCima (D,B)Limpo (F)Limpo (C)Limpo (D)Limpo (G)

EmCima (C,D)EmCima (D,B)

Page 35: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Adicionando um novo passo

Objetivo

ABE G

CD

FABE F G

DC

Novo Estado Inicial

Início

Mover (C,D)

Fim

NaMesa (A)EmCima (B,E)EmCima (C,A)EmCima (D,B)Limpo (F)Limpo (C)Limpo (D)Limpo (G)

EmCima (C,A)Limpo (C)Limpo (D)

EmCima (C,D)EmCima (D,B)

Page 36: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Planejamento Contínuo (Situado)

• Finalmente o agente situado pode buscar um novo objetivo

Estado inicialA

BE G

CD

F

Início Fim

NaMesa (A)EmCima (B,E)EmCima (C,D)EmCima (D,B)Limpo (A)Limpo (C)Limpo (D)Limpo (G)

EmCima (C,D)EmCima (D,B)

Page 37: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

No Mundo Real...

• Combina-se várias abordagens de planejamento– Ex. Fabricantes de carro -> pneu estepe e air bag = planos

condicionais de furos e batidas– Para motoristas, são possibilidades => replanejamento

• Cria-se planos condicionais só para as contingências que trazem graves conseqüências– Ex. Em um Rally, vale a pena assegurar o estepe e air bag

• Mesmo este super-agente, tem ainda defeitos???– Sim... os agentes estudados não sabem encontrar um

compromisso entre probabilidade de sucesso e custo da construção de um plano

» Decision-theoretical Agents

Page 38: Desenvolvimento de Sistemas Baseados em Conhecimento Planejamento em Ambientes Incertos

Implementação 4 (I4)

• Título do problema: – Problema de Logística

• Objetivo: – abaixo:

• Tecnologia a ser usada: – PDDL (Planning Domain Description Language)