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) 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) 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 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 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 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 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 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] 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 mesa Se 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 outro Caso contrário, pinta ambos com a mesma cor. 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 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! Planejamento Condicional • Usado quando temos: – Ambientes completamente observáveis + efeitos imprevisíveis das ações – Ambientes parcialmente observáveis 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) Estado inicial And-Or Tree . Objetivo State nodes (agente) Chance nodes (natureza) • . OR AND AND OR OR AND AND AND AND 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”. 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 Planejamento Condicional Aspirador alternativo • Deixa, as vezes, sujeira quando sai de uma posição limpa • Não sabe se há sujeira no quadrado ao lado Estado de crença 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ções Action(Left, Precond: AtR, Effect: AtL (AtL when CleanL: CleanL)) 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 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... 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 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] 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 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 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! 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 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 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 A B E C F D G Estado Inicial A C D B E F Objetivo G Planejamento Contínuo (Situado) • Supondo que nada acontece enquanto se planeja, o plano é rapidamente encontrado com POP... Ele será executado em seguida! C D A B E C F D G A Estado Inicial EmCima (C,F) Limpo (C) Limpo (D) Início NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,G) Limpo (A) Limpo (C) Limpo (D) Limpo (B) B E G Objetivo Mover (C,D) EmCima (C,D) EmCima (D,B) EmCima (D,G) Limpo (D) Limpo (B) F Mover (D,B) Fim Planejamento Contínuo (Situado) • Imagine agora que um evento externo da natureza ocorra... A B E C F Estado Inicial EmCima (C,F) Limpo (C) Limpo (D) Início NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G) D G A D B E G Novo Estado Inicial Mover (C,D) EmCima (C,D) EmCima (D,B) EmCima (D,y) Limpo (D) Limpo (B) C F Fim Plano incompleto! Mover (D,B) Planejamento Contínuo (Situado) C D • Estendendo um link causal A B E C F D G A Estado Inicial EmCima (C,F) Limpo (C) Limpo (D) Início NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G) B E G Objetivo Mover (C,D) EmCima (C,D) EmCima (D,B) EmCima (D,y) Limpo (D) Limpo (B) F Mover (D,B) Fim Plano completo mas redundante! Planejamento Contínuo (Situado) C D • Eliminando passos redundantes A B E C F D G A Estado Inicial EmCima (C,F) Limpo (C) Limpo (D) Início NaMesa (A) EmCima (B,E) EmCima (C,F) EmCima (D,B) Limpo (A) Limpo (C) Limpo (D) Limpo (G) B E F G Objetivo Mover (C,D) EmCima (C,D) EmCima (D,B) Fim Planejamento Contínuo (Situado) • Mas o agente é desastrado e coloca C em cima de A ao invés de D durante a execução A B E C F D G Estado Inicial Início NaMesa (A) EmCima (B,E) EmCima (C,A) EmCima (D,B) Limpo (F) Limpo (C) Limpo (D) Limpo (G) C A D B E C D F G Novo Estado Inicial A B E F G Objetivo EmCima (C,D) EmCima (D,B) Fim Planejamento Contínuo (Situado) • Adicionando um novo passo C A D B E C D F G A Novo Estado Inicial EmCima (C,A) Limpo (C) Limpo (D) Início NaMesa (A) EmCima (B,E) EmCima (C,A) EmCima (D,B) Limpo (F) Limpo (C) Limpo (D) Limpo (G) B E F G Objetivo Mover (C,D) EmCima (C,D) EmCima (D,B) Fim Planejamento Contínuo (Situado) C D • Finalmente o agente situado pode buscar um novo objetivo A B E F G Estado inicial Início 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) Fim 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 Implementação 4 (I4) • Título do problema: – Problema de Logística • Objetivo: – abaixo: • Tecnologia a ser usada: – PDDL (Planning Domain Description Language)