cin-ufpe 1 planejamento e ação planejando e agindo em ambientes incertos
TRANSCRIPT
1CIn-UFPE
Planejamento e Ação
Planejando e agindo em ambientes incertos
2CIn-UFPE
Roteiro
Indeterminação do ambiente e suas soluções
Planejamento Condicional
Monitoramento da execução com replanejamento
Planejamento contínuo (situado)
CIn-UFPE
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...• POP• Planejamento hierárquico (inclui POP)• Escalonamento (POP+tempo+otimização)
CIn-UFPE
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 abrí-la ou não?
Informação incorreta• O mundo não casa com o modelo dele
– Ex. Eu acredito que minhas chaves vão abra porta, mas ela está com ferrolho
5CIn-UFPE
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
6CIn-UFPE
Ambientes: Graus de Indeterminação
Indeterminação ilimitada (unbounded indeterminacy)
• Conjunto de pré-condições ou efeitos desconhecidos ou grande demais
– Domínios dinâmicos como economia, estratégia militar,...
Soluções• Monitoramento da execução com replanejamento • Planejamento contínuo
7CIn-UFPE
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• Possível de ser resolvido com planejamento clássico?
Não!!!
8CIn-UFPE
Soluções para indeterminação limitada
Caso do “Sensorless problem” (cap 3 do AIMA): 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
9CIn-UFPE
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 tabajara versão 1.0: sem sensor• Início: {1,2,3,4,5,6,7,8}• Direita => {2,4,6,8}, Sugar => {4,8},...• Solução: [dir, suga, esq, suga]
10CIn-UFPE
Soluções para indeterminação limitada
Caso do Problema Contingencial (cap. 3 AIMA)• 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+MesaPercebe 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.
11CIn-UFPE
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
12CIn-UFPE
Soluções para indeterminação ilimitada
Planejamento contínuo (situado)• Capaz de abandonar e formular objetivos, pois, em vez
de alcançar o objetivo e parar, deve persistir vivendo!!!• 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!
13CIn-UFPE
Planejamento Condicional
Ambientes completamente observáveis + efeitos imprevisíveis das ações
Ambientes parcialmente observáveis
14CIn-UFPE
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 Tabajara 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)• Passos condicionais: para testar na execução
– If <AtL> CleanL then Right else Suck
15CIn-UFPE
Exemplo do aspirador tabajara 2.0
Estados (totalmente acessível)• Inicial: AtR CleanL CleanR• Final (objetivo): AtL CleanL CleanR
Segundo passo• Como aninhar condições => plano = árvore...• Buscar uma solução• Mas que tipo de árvore?
And-Or Tree State nodes (agente)
Chance nodes (natureza)
OR
OR OR
ANDAND
AND ANDAND AND
17CIn-UFPE
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”
A solução no caso seria o plano...[Left, if AtL CleanL CleanR then [] else Suck]
Ou, no caso de planejar no espaço de planos• descrição parcial do estado por linguagem mais
expressiva[Left, if CleanL then [] else Suck]
18CIn-UFPE
Similaridade com Jogos
Jogos contra um adversário (no caso, a natureza): jogos contra a natureza
• Ganhar independente do que a natureza aprontar...
Solução: Min-Max, mas• Max = OR: qualquer ação • Min= AND: todas as conseqüências• Retorno: plano condicional
19CIn-UFPE
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
planning
Exemplo Estado de crença
Aspirador Tabajara alternativo• Deixa, as vezes, sujeira
quando sai de uma posição limpa
• Não sabe se há sujeira no quadrado ao lado
Acreditava que esq estava suja
Acreditava que esq estava limpa
21CIn-UFPE
Ainda algumas questões...
Representação dos estados de crença• descrição completa
– Crença A = {(atR CleanR CleanL), (atR CleanR CleanL)}
• descrição incompleta... – Crença A = atR CleanR
• Mundo fechado...
Como perceber um ambiente• Sensores automáticos (olha tudo o tempo todo) ou
sensores ativos (só quando é decidido)
22CIn-UFPE
Monitoramento da execução e replanejamento
Para lidar com ambientes mais realistas!
CIn-UFPE
Monitoramento+replanejamento
Monitoramento da execução • Checar as percepções para ver se tudo está indo de
acordo com o plano (pois sempre há 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
CIn-UFPE
Monitoramento+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...
?
25CIn-UFPE
Monitoramento+replanejamento
Reparo e continuação (Repair and continuation)• Em vez de replanejar tudo, encontrar um conserto...
Exemplo (planejamento em estado de espaço)• 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
26CIn-UFPE
Exemplo Pintura
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]
27CIn-UFPE
Exemplo Pintura
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
Obs• Funciona naturalmente como um laço que verifica se
ficou ok e caso contrário refaz
28CIn-UFPE
Monitoramento+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
29CIn-UFPE
Monitoramento+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!
30CIn-UFPE
Outras limitações de monit+replan
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 funciona em tempo real• Na há limites para o tempo gasto em replanejar
Não pode formular novos objetivos
31CIn-UFPE
Planejamento Contínuo (Situado)
CIn-UFPE
Agente de Planejamento Situado
Não é um mero resolvedor de problemas• O plano é viver...
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
33CIn-UFPE
Exemplo
Mundo dos blocos• Plano POP condicional• Mundo observável (mas funciona igual)• 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
Plano Inicial
Início
Mover (C,D)
Estado Inicial
ABE
CF
DG
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)
Objetivo
ABE G
CD
F
Supondo que nada acontece enquanto se planeja, o plano é rapidamente encontrado com POP... Ele será executado em seguida!
Mas eis que de repente... antes da execução.. a natureza intervém
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)
Um agente externo
Estado Inicial
ABE
CF
DG
Plano incompleto!
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)
Estendendo um link causal
Plano completo mas redundante!
A
BE
CF G
D
Estado Inicial 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)
A
BE
CF G
D
Estado Inicial Objetivo
ABE G
CD
F
Eliminando passos redundantes
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)
Mas o agente é desastrado...
A
BE
CF G
D
Estado Inicial
Coloca C em cima de A ao invés de D
ABE F G
DC
Novo Estado Inicial Objetivo
ABE G
CD
F
CIn-UFPE
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)
Adicinando um novo passo...
ABE F G
DC
Novo Estado Inicial Objetivo
ABE G
CD
F
CIn-UFPE
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)
Finalmente, o agente situado pode buscar um novo objetivo
Estado inicial
ABE G
CD
F
CIn-UFPE
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 contigê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???
CIn-UFPE
No mundo real...
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
43CIn-UFPE
Bibliografia
Livro AIMA cap. 12