Métodos de programação dinâmica para solução de problemas de planejamento probabilístico

Documentos relacionados
Renato S. P. Coelho, Dra. Leliane Nunes de Barros

IA - Planejamento II

Processo de Decisão Markoviano com Transição Valorada por Conjunto modelado como um Jogo Alternado de Soma Zero

Programa: Ciência da Computação Orientadora: Prof ạ Dr ạ Leliane Nunes de Barros

IA - Planejamento I. Professor Paulo Gurgel Pinheiro. 11 de Novembro de 2010

Aprendizado por Árvores de Decisão

Busca Heurística - Informada

Projeto de Escalonamento Alocação de médicos

Inteligência Artificial

3 Aprendizado por reforço

lnteligência Artificial Introdução ao Processo Decisório de Markov

Análise e Projeto de Algoritmos

Planejamento para fundições: uma aplicação do método das K-melhores mochilas. 1 Introdução

Aprendizado por reforço em lote para o problema de tomada de decisão em processos de venda

Inteligência Artificial - IA. Resolução de problemas por meio de busca

9 Conclusões e Sugestões para Trabalhos Futuros

Planejamento probabilístico como busca num espaço de transição de estados

MPE(S)- Metodologias de Planeamento e Escalonamento Planning and Scheduling Methodologies

Programação Dinâmica I SCC0210 Algoritmos Avançados (2/2011) Lucas Schmidt Cavalcante

Branch and Bound - Ramicar e Limitar

Aprendizado por Reforço

Tópicos Especiais em Otimização

3. Resolução de problemas por meio de busca

Inteligência Artificial

Busca com informação e exploração. Inteligência Artificial. Busca pela melhor escolha. Romênia com custos em km. Busca com informação (ou heurística)

Metodologia de inversão

Jogos markovianos alternados sob incerteza. Fábio de Oliveira Franco

Resolução de Problemas: Busca Heurística

Busca com informação e exploração. Inteligência Artificial

UMA INTRODUÇÃO AOS ALGORITMOS GENETICOS

Técnicas Inteligência Artificial

3. Resolução de problemas por meio de busca

PROCESSOS DE DECISÃO MARKOVIANOS COM PROBABILIDADES IMPRECISAS: UMA SOLUÇÃO COM PROGRAMAÇÃO EM DOIS NÍVEIS 1

Aula 14. Aula de hoje. Aula passada

5 VNS com Filtro e Reconexão por Caminhos

Métodos Numéricos. Professor Tenani - 9 de Agosto de 2015

Inteligência Artificial

6 Aplicação do Modelo de Geração de Cenários

Tópicos Especiais: Inteligência Artificial BUSCA COM INFORMAÇÃO E EXPLORAÇÃO

Prof. Lorí Viali, Dr. PUCRS FAMAT: Departamento de Estatística. Curso: Engenharia de Produção

Considere a função f(x). Para algum x a f (x) pode não existir. Suponha que. Max f(x) s. a a x b

1. Computação Evolutiva

Busca Heurística. Profa. Josiane M. P. Ferreira

Algoritmos e Estruturas de Dados II

Algoritmos Genéticos

Resumo. Como um agente busca de seqüência de ações para alcançar seus objetivos.

3 Filtro de Kalman Discreto

lnteligência Artificial

3 Trabalhos Relacionados

INF 1771 Inteligência Artificial

Planejamento probabilístico usando programação dinâmica assíncrona e fatorada. Mijail Gamarra Holguin

Lista de Exercícios 07 Introdução à Ciência de Computação II (SCC0201/501)

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Jogos. Geralmente o oponente tentará, na medida do possível, fazer o movimento menos benéfico para o adversário.

Busca em Espaço de Estados a

Otimização em Colônias de Formigas. Prof. Eduardo R. Hruschka (Slides adaptados dos originais elaborados pelo Prof. André C. P. L. F.

Problema do Caminho Mínimo

Introdução aos Algoritmos Genéticos

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Aula 12: Programação Inteira

Técnicas de Projeto de Algoritmos

Teoria da Computação. Complexidade computacional classes de problemas

Métodos de Busca Informada (best first search) Capítulo 4 Parte I

ALGORITMOS AVANÇADOS UNIDADE I Análise de Algoritmo - Notação O. Luiz Leão

Recursividade, Tentativa e Erro

Redes de Computadores III / /

Uma Introdução à Busca Tabu André Gomes

Inteligência Artificial. Estratégias de Busca Outros. Huei Diana Lee

ESTATÍSTICA COMPUTACIONAL

Otimização por Colônia de Formigas (ACO)

DESENVOLVIMENTO DE UM MÓDULO DE PROGRAMAÇÃO LINEAR NO PROGRAMA OPTIMI

INF 1771 Inteligência Artificial

Aprendizado por Reforço

Pesquisa Operacional Introdução. Profa. Alessandra Martins Coelho

Algoritmos para resolução de problemas de minimização irrestrita

Teoria dos Grafos Aula 22

Universidade de São Paulo - USP. Instituto de Física de São Carlos - IFSC. Programação de Alto Desempenho. Prática 1. André de Freitas Smaira

3. Resolução de problemas por meio de busca

Vários modelos: um SAD pode incluir vários modelos, cada um representando uma parte diferente do problema de tomada de decisão Categorias de modelos

Inteligência Computacional

Agentes baseados em metas Capítulo 3 Parte I

Marina Andretta. 17 de setembro de Baseado no livro Numerical Optimization, de J. Nocedal e S. J. Wright.

7 Desempenho dos Algoritmos de uma Classe de Usuários em Relação à Distribuição que Representa o Tempo de Permanência do Usuário na Célula

6 Estudo de Casos: Valor da Opção de Investimento em Informação por Aproximação com Números Fuzzy 6.1. Introdução

Modelagem e Análise de Sistemas de Computação Aula 20

Modelos matemáticos para resolução de problemas de afectação de operações a recursos produtivos

Busca Cega (Exaustiva) e Heurística. Busca Aula 2

Inteligência Artificial - IA

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.1

Busca com informação e exploração. Capítulo 4 Russell & Norvig Seção 4.2 e 4.3

Redes Neurais (Inteligência Artificial)

Visão Geral Definições Resultados. Mecanismos Online. Fabio Alexandre Campos Tisovec

Complexidade de Tempo e Espaço

An adaptive Metropolis algorithm

Transparências de apoio à lecionação de aulas teóricas. c 2012, 2011, 2009, 1998 José Fernando Oliveira, Maria Antónia Carravilla FEUP

Buscas Informadas ou Heurísticas - Parte I

Juliana Kaizer Vizzotto. Universidade Federal de Santa Maria. Disciplina de Teoria da Computação

Transcrição:

Métodos de programação dinâmica para solução de problemas de planejamento probabilístico Renato Schattan Pereira Coelho e Leliane Nunes de Barros (Orientadora) Universidade de São Paulo (USP), Brasil fena@cecm.usp.br, leliane@ime.usp.br 1. Introdução Quando estudamos a tomada automática de decisão um problema comum é o de ir de uma conguração inicial do mundo para uma conguração desejada com o menor custo esperado. Se queremos resolver um problema deste tipo costumamos usar um modelo chamado de caminho estocástico mínimo (Shortest Stochastic Path - SSP). Este modelo é baseado nos Processos markovianos de decisão (Markov Decision Processes - MDP), com algumas diferenças que o tornam mais interessante computacionalmente e mais natural para modelar este tipo de problema. Neste artigo revisaremos os algoritmos que representam o estado da arte na resolução deste tipo de problema e apontaremos o caminho que está sendo seguido nesta pesquisa. A base para os algoritmos é o Real-Time Dynamic Programming (RTDP), que apresenta uma tática eciente para atualização assíncrona do valor dos estados. A partir desta tática, surgem dois algoritmos: o Labeled Real- Time Dynamic Programming (LRTDP), que apresenta uma maneira interessante de marcar os estados para aumentar a velocidade de convergência do algoritmo e o Bounded Real-Time Dynamic Programming (BRTDP), que utiliza duas heurísticas para ajudar na escolha dos estados que dever atualizados e para saber quando a política convergiu. 2. Caminho estocástico mínimo Baseado em um modelo muito conhecido, o dos MDPs (uma boa descrição deste modelo pode ser encontrada em [7]), foi criado um modelo chamado SSP, que nos dá uma base formal para os problemas em que estamos interessados (ir de um conjunto de estados a outro com o menor custo esperado). Este modelo tem as seguintes características [2]: M1 - Um conjunto de estados (S) nito ou contável M2 - Um estado inicial s 0 S 1 M3 - Um conjunto não vazio de estados meta, S G S M4 - Os estados em S G são absorventes, ou seja, as ações tomadas nestes estados não têm custo e não levam para estados fora deste conjunto M5 - Um conjunto de ações A e subconjuntos de ações A(s) denidos para todos os estados s S M6 - Distribuições de probabilidades P ( s, a) sobre os estados pertencentes a S dado que uma ação a A(s) foi tomada no estado s S. M7 - Um custo, c(a, s), não negativo associado a se executar a ação a no estado s M8 - Os estados são totalmente observáveis Neste modelo, o tempo é discreto e o agente deve escolher uma ação em cada instante do tempo. Também é importante, para garantir propriedades dos algoritmos, que todos os estados tenham uma probabilidade não nula de alcançar algum estado meta. Dado este modelo, o objetivo do agente é escolher, para cada estado alcançável a partir dos estados iniciais, a ação que minimiza o valor esperado dos caminhos até algum estado meta. Isto equivale a criar uma política, ou seja, uma função π : S A que associa a cada estado a melhor ação. Dado um problema modelado desta maneira podemos calcular recursivamente o custo esperado da execução de uma política a partir de um estado até a meta (V π (s)) 2 como: V π (s) = c(π(s), s) + P (s s, π(s)) V π (s ) O valor ótimo de um estado (V (s)) é o único ponto xo da equação de Bellman [9]: V (s) = min (c(a, s) + s S P (s s, a) V (s )) 1 Podemos estender a denição para um conjunto não vazio de estados S 0 S, sem grandes mudanças nos algoritmos. 2 Neste texto, para simplicar, chamaremos o custo esperado de um caminho a partir de um estado até a meta de valor de um estado. 95

Assim, a política ótima (π (s)) é dada por: π (s) = argmin(c(a, s) + P (s s, a) V (s )) s S Pela denição, V π (s) = V (s) = 0, para todo estado pertencente a S G. Este valor pode ser usado como base da recursão no cálculo dos valores dos outros estados. Abaixo veremos os algoritmos que são considerados como estado da arte para a resolução de problemas neste modelo. Todos eles 3. Programação dinâmica em tempo real A base para os algoritmos que representam o estado da arte na resolução de SSPs é o Real-Time Dynamic Programming (RTDP) [1], que é uma maneira eciente de atualizar os valores dos estados de maneira assíncrona. Como utilizaremos os valores dos estados muitas vezes, todos os algoritmos utilizam a técnica de programação dinâmica, armazenando o último valor calculado para um estado em V π (s). A idéia básica do RTDP é fazer várias simulações da execução da política e atualizar o valor dos estados ao mesmo tempo em que a política é atualizada. A política escolhida pelos algoritmos é a política gulosa (π V ), dada por: Se os valores dos estados forem inicializados de maneira correta, um número sucientemente grande de simulações nos deixará com V π (s) = V (s). No artigo original [1] não se deniu uma condição de parada para esta técnica, entretanto, para que pudesser realizadas comparações com outros algoritmos, considera-se que o algoritmo pára quando o estado inicial já convergiu. A convergência de um estado será discutida adiante. 4. Programação dinâmica em tempo real com marcações O que torna o RTDP tão poderoso é também sua grande falha. Escolher o estado que terá seu valor atualizado de acordo com P ( s, a) faz com que o valor de V π (s) se aproxime rapidamente de V (s). Entretanto, a convergência do algoritmo é muito lenta, dado que os estados que têm pouca probabilidade de serem alcançados demoram para ter seu valor atualizado e, consequentemente, demoram para convergir. A maneira encontrada pelo Labeled Real-Time Dynamic Programming (LRTDP) [2] para aumentar a velocidade de convergência do RTDP é marcar como resolvidos os estados que já tenham um valor sucientemente próximo ao valor ótimo. Para isto utilizamos o erro de Bellman, denido como: π V := argmin(c(a, s) + P (s s, a) V π (s )) s S Cada simulação começa no estado inicial e pára quando chega a algum estado meta. Dado um estado, o próximo estado a ser visitado é dado diretamente por P ( s, π V (s)). O valor de V π (s) é atualizado de acordo com a nova política antes de se passar para o próximo estado. Esta maneira de escolher quais estados terão seu valor atualizado é muito poderosa porque os estados que inuenciam mais no valor da esperança são atualizados mais vezes. Este algoritmo tem algumas propriedades interessantes [1]: Cada uma das simulações termina em um número nito de passos. Se os valores de V π (s) forem monotônicos e admissíveis (menores que V (s)) quando inicializados, essas propriedades se mantêm ao longo das atualizações dos valores de V π (s). As atualizações de um estado não diminuem o valor de V π (s). E(s) := V π (s) min (c(a, s)+ P (s s, a) V π (s )) que representa a diferença entre o valor armazenado para um estado e o novo valor que será obtido através da escolha gulosa de ação. Embora para SSPs não haja uma maneira fácil de calcular a distância entre o valor ótimo de um estado e o valor atual a partir do erro de Bellman, ele nos indica quando a função não está variando muito. Assim, o LRTDP marca os estados como resolvidos quando o erro de Bellman é menor do que algum ɛ > 0 para o estado e para todos os estados alcançáveis a partir dele através da política gulosa. Se, ao nal da execução do algoritmo, o valor encontrado para os estados estiver muito longe do valor ótimo, podemos rodar novamente o algoritmo com um ɛ menor que o inicial. A existência de loops impossibilita uma tática mais intuitiva, que marque os estados como resolvidos quando os seus sucessores já tiverem sido marcados, uma vez que este esquema deixaria de marcar alguns estados que já tivessem convergido. Para tentar marcar um estado como resolvido o LRTDP usa o método checksolved 1. Esse método 96

faz uma busca em profundidade nos estados que podem ser alcançados, através da política gulosa, a partir do estado que se está testando. Quando visitamos um estado temos três situações possíveis: o estado pode ser um estado meta, o erro de Bellman do estado pode ser menor ou igual a ɛ ou o erro de Bellman pode ser maior do que ɛ. Quando a busca encontra um estado meta ela termina a busca naquele ramo e muda de ramo. Quando a busca encontra estados que tenham o erro de Bellman menor ou igual a ɛ ela põe seus sucessores em uma pilha e continua a busca naquele ramo. E quando a busca encontra um estado que tenha o erro de Bellman maior do que ɛ o algoritmo sabe que o estado estudado não convergiu, mas por questões de eciência ele continua a busca em outro ramo. Assim, após uma chamada à checksolved temos duas possibilidades: ou nenhum dos estados visitados tinha o erro de Bellman maior do que ɛ e então, por denição, o estado e todos os seus sucessores convergiram e poder marcados ou existia pelo menos um estado com erro de Bellman maior do que ɛ e, quando os valores dos estados forem atualizados na ordem reversa em que foram visitados, pelo menos um estado (o que tinha erro de Bellman maior do que ɛ) terá seu valor modicado em mais do que ɛ. Dessa maneira, podemos resolver um SSP simplesmente chamando a função checksolved para o estado inicial até que ele tenha convergido. Este método não fará mais do que ɛ 1 s S V (s) h(s) chamadas à função checksolved, em que h(s) é a heurística utilizada para inicializar os valores de V π (s). Entretanto, como o estado inicial está muito longe da meta, ele demora para convergir e não podemos marcar os outros estados como resolvidos até que ele tenha convergido. Assim, não aproveitamos o esquema de rotulação dos estados. Por esta razão o LRTDP implementa um outro método (LRTDPTrial 2) que é muito similar às simulações realizadas pelo RTDP. Existem duas diferenças: os estados visitados são guardados em uma pilha e, quando a simulação atinge um estado meta ou um estado que já tenha convergido,a simulação pára e chama-se o método checksolved para os estados, enquanto eles são desempilhados. Quando algum estado retorna falso outra simulação é iniciada. Utilizando estes dois métodos temos uma maneira eciente de vericar se os estados já convergiram e conseguimos aumentar a velocidade de convergência do algoritmo, já que os estados com pouca probabilidade de serem alcançados serão visitados nas chamadas à checksolved. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Algoritmo 1: checksolved Entrada: Um SSP, ɛ,s Saída: Verdadeiro se s tiver convergido, falso c.c. resposta = verdadeiro aberto = P ilhav azia fechado = P ilhav azia se s.m arcado então aberto.push(s) enquanto aberto P ilhav azia faça s = aberto.pop() f echado.push(s) //verica o erro de Bellman se s.erro(a) > ɛ então resposta = falso continue //expande o estado a = s.acaogulosa() para todo s tal que P (s s, a) > 0 faça se s.marcado e Em(s, aberto f echado) então aberto.push(s ) m para todo se resposta = verdadeiro então //marca os estados alcançáveis a partir da política gulosa para todo s fechado faça s.m arcado = verdadeiro m para todo senão enquanto fechado P ilhav azia faça s = fechado.pop() s.update() Resultado: resposta 97

Algoritmo 2: RTDPTrial Entrada: Um SSP, ɛ,s visitados = P ilhav azia enquanto s.m eta() faça //põe o estado na pilha visitados.push(s) //simula a execução da política gulosa e atualiza o estado a = s.acaogulosa() s.update() s = s.escolhap roximoestado(a) enquanto visitados P ilhav azia faça s = visitados.pop() se checksolved(s, ɛ) então break 1 2 3 4 5 6 7 8 9 10 11 12 13 5. Programação dinâmica em tempo real com limitantes A principal característica do Bounded Real-Time Dynamic Programming (BRTDP) [8] é manter duas heurísticas do valor do estado, uma inferior (V L (s), similar à V π (s)) e uma superior (V U (s)). Utilizando estas duas heurísticas e analisando a diferença entre elas o algoritmo consegue: melhorar a maneira de selecionar os estados que terão seus valores atualizados, facilitar a vericação da distância entre o valor da heurística e o valor ótimo do estado e diminuir o número de estados que precisar visitados. Neste algoritmo o conceito de convergência de um estado é diferente do utilizado no LRTDP. Neste caso, consideramos que um estado convergiu quando a diferença entre a heurística superior e a inferior é menor do que algum ɛ > 0. Neste caso sabemos que quando um estado convergiu a nossa estimativa do valor do estado não tem um erro maior do que ɛ em relação ao valor ótimo. O BRTDP utiliza um algoritmo muito parecido com o do RTDP. A sua principal função é uma simulação da execução da política gulosa (em relação à heurística inferior). Entretanto, a escolha do próximo estado a ser atualizado é feita através do valor normalizado de P (s s, a) (V U (s ) V L (s )) e a simulação pára quando se atinge um estado meta ou quando se atinge um estado que já tenha convergido. O algoritmo pára de fazer simulações quando o estado inicial já convergiu, ou seja, V U (s 0 ) V L (s 0 ) < ɛ. As atualizações de V U (s) e V L (s) são feitas da mesma maneira que as atualizações de V π (s), isto é: V U (s) = min (c(a, s) + P (s s, a) V U (s )) V L (s) = min (c(a, s) + P (s s, a) V L (s )) Assim como no RTDP e no LRTDP as atualizações dos estados preservam a monotonicidade e a admissibilidade das heurísticas, o que nos mostra que o algoritmo pára após um número nito de simulações e que ele não precisa visitar todos os estados em S e, muitas vezes, também não precisa visitar todos os estados alcançáveis a partir de s 0 seguindo a política gulosa (principalmente quando há uma probabilidade muito baixa de transição para estes estados) [8]. O ponto fraco deste algoritmo é o cálculo da heurística superior. É muito fácil calcular uma heurística inferior para V (s), por exemplo, tomando h(s) = 0 ou h(s) = min c(a, s). Entretanto, o cálculo de uma heurística superior pode fazer com que o algoritmo tenha que visitar todo o espaço de estados [8]. Assim, muitas vezes o custo de se calcular uma heurística superior é maior do que os ganhos de se utilizar o BRTDP. 6. Considerações nais Neste artigo mostramos um modelo muito interessante, o SSP, que modela de maneira eciente os problemas nos quais queremos ir de uma conguração inicial a uma conguração nal do mundo com o menor custo esperado. Modelar o problema desta maneira possibilita que, muitas vezes, nem todos os estados do mundo sejam visitados, gerando uma grande economia de tempo em relação aos resolvedores de MDPs. Entretanto, frequentemente temos diculdades em modelar um problema com probabilidades precisas de transição. Por isso, nesta iniciação cientíca o aluno está estudando um modelo recentemente criado [5] que estende o SSP ao possibilitar que sejam fornecidos intervalos de probabilidade para as transições entre estados. Durante a iniciação cientíca pretendemos adaptar o LRTDP para que ele resolva problemas deste novo modelo SSPST (Shortest Stochastic Path with Set Transitions ). O RTDP apresenta uma técnica muito importante e atualmente bastante difundida para escolher quais estados devem ter seu valor atualizado. Entretanto, esta mesma tática faz com que ele tenha uma convergência demorada. Assim, se quisermos impor um limite curto de tempo para processamento, o RTDP pode nos dar uma resposta melhor que os outros algoritmos, mas se quisermos uma resposta ótima (ou 98

sub-ótima) o RTDP levará mais tempo do que os outros algoritmos. O LRTDP se aproveita da técnica do RTDP e implementa uma função que marca os estados como resolvidos para que eles não preciser visitados novamente. Essa função gera um pequeno overhead e, por isso, o LRTDP costuma devolver políticas um pouco piores do que o RTDP, quando o tempo de execução é curto. Entretanto, a velocidade de convergência é extremamente maior do que a do RTDP. O BRTDP tem três propriedades interessantes: a facilidade de vericar se um estado convergiu ou não; o número reduzido de estados que precisar visitados (mesmo quando comparado com o RTDP e o LRTDP que também não precisam visitar todo o espaço de estados); e a técnica aprimorada de seleção de estados que dever atualizados, que favorece os estados sobre os quais se tem pouca informação, além dos que têm grande probabilidade de serem alcançados. Apesar destas propriedades, o custo de se calcular uma heurística superior pode facilmente fazer com que o algoritmo deixe de ser interessante quando comparado com os outros. Esta pesquisa conta com o apoio da FAPESP através do processo 2008/04728-0. [9] Richard E. Bellman, Dynamic Programming, Princeton University Press, 1957. [10] Stuart Russel and Peter Norvig, Articial Intelligence: A Modern Approach, Prentice Hall, Englewood Clis, New Jersey, 1995. Referências [1] Andrew G. Barto, Steven J. Bradtke, and Satinder P. Singh, Learning to Act Using Real-Time Dynamic Programming, Articial Intelligence 72 (1995), 81138. [2] Blai Bonet and Héctor Gener, Labeled RTDP: Improving the Convergence of Real-Time Dynamic Programming, International Conference on Automated Planning and Scheduling, 2003, pp. 1221. [3] Craig Boutilier, Thomas Dean, and Steve Hanks, Decision-Theoretic Planning: Structural Assumptions and Computational Leverage, Journal of Articial Intelligence Research 11 (1999), 194. [4] Dana S. Nau, Malik Ghallab, and Paolo Traverso, Automated Planning: Theory and Practice, Morgan Kaufmann Publishers, 2004. [5] Felipe W. Trevizan, Fabio G. Cozman, and Leliane N. Barros, Planning under Risk and Knightian Uncertainty, International Joint Conference on Articial Intelligence, 2007, pp. 20232028. [6] Felipe W. Trevizan, Um modelo unicado para planejamento sob incerteza, Instituto de Matemática e Estatística, São Paulo, 2006. [7] Martin L. Puterman, Markov Decision Processes - Discrete Stochastic Dynamic Programming, John, Wyley and Sons, Inc., 1994. [8] H. Brendan McMahan, Maxim Likhachev, and Georey J. Gordon, Bounded Real-Time Dynamic Programming: RTDP with monotone upper bounds and performance guarantees, International Conference on Machine Learning, 2005, pp. 569576. 99