Anda di halaman 1dari 5

Mtodos de programao dinmica para soluo de problemas de planejamento probabilstico

Renato Schattan Pereira Coelho e Leliane Nunes de Barros (Orientadora)


Universidade de So Paulo (USP), Brasil

M2 - Um estado inicial s0 S 1 M3 - Um conjunto no vazio de estados meta, SG S M4 - Os estados em SG so absorventes, ou seja,

fena@cecm.usp.br, leliane@ime.usp.br

1. Introduo
Quando estudamos a tomada automtica de deciso um problema comum o de ir de uma congurao inicial do mundo para uma congurao desejada com o menor custo esperado. Se queremos resolver um problema deste tipo costumamos usar um modelo chamado de caminho estocstico mnimo (Shortest Stochastic Path - SSP). Este modelo baseado nos Processos markovianos de deciso (Markov Decision Processes - MDP), com algumas diferenas 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 resoluo 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 ttica eciente para atualizao assncrona do valor dos estados. A partir desta ttica, surgem dois algoritmos: o Labeled RealTime Dynamic Programming (LRTDP), que apresenta uma maneira interessante de marcar os estados para aumentar a velocidade de convergncia do algoritmo e o Bounded Real-Time Dynamic Programming (BRTDP), que utiliza duas heursticas para ajudar na escolha dos estados que devem ser atualizados e para saber quando a poltica convergiu.

as aes tomadas nestes estados no tm custo e no levam para estados fora deste conjunto

M5 - Um conjunto de aes A e subconjuntos de aes A(s) denidos para todos os estados sS M6 - Distribuies de probabilidades P (|s, a) sobre os estados pertencentes a S dado que uma ao a A(s) foi tomada no estado s S . M7 - Um custo, c(a, s), no negativo associado a se executar a ao a no estado s M8 - Os estados so totalmente observveis

Neste modelo, o tempo discreto e o agente deve escolher uma ao em cada instante do tempo. Tambm importante, para garantir propriedades dos algoritmos, que todos os estados tenham uma probabilidade no nula de alcanar algum estado meta. Dado este modelo, o objetivo do agente escolher, para cada estado alcanvel a partir dos estados iniciais, a ao que minimiza o valor esperado dos caminhos at algum estado meta. Isto equivale a criar uma poltica, ou seja, uma funo : S A que associa a cada estado a melhor ao. Dado um problema modelado desta maneira podemos calcular recursivamente o custo esperado da execuo de uma poltica a partir de um estado at a meta (V (s))2 como:
V (s) = c( (s), s) + P (s |s, (s)) V (s )
s S

2. Caminho estocstico mnimo


Baseado em um modelo muito conhecido, o dos MDPs (uma boa descrio 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 caractersticas [2]:
M1 - Um conjunto de estados (S ) nito ou con-

O valor timo de um estado (V (s)) o nico ponto xo da equao de Bellman [9]:
V (s) = min (c(a, s) +
aA(s) sS

P (s |s, a) V (s ))

tvel

1 Podemos estender a denio para um conjunto no vazio de estados S0 S , sem grandes mudanas 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 poltica tima ( (s)) dada por:


(s) = argmin(c(a, s) +
aA(s) sS

Se os valores dos estados forem inicializados

P (s |s, a) V (s ))

de maneira correta, um nmero sucientemente grande de simulaes nos deixar com V (s) = V (s).

Pela denio, V (s) = V (s) = 0, para todo estado pertencente a SG . Este valor pode ser usado como base da recurso no clculo dos valores dos outros estados. Abaixo veremos os algoritmos que so considerados como estado da arte para a resoluo de problemas neste modelo. Todos eles

No artigo original [1] no se deniu uma condio de parada para esta tcnica, entretanto, para que pudessem ser realizadas comparaes com outros algoritmos, considera-se que o algoritmo pra quando o estado inicial j convergiu. A convergncia de um estado ser discutida adiante.

3. Programao dinmica em tempo real


A base para os algoritmos que representam o estado da arte na resoluo de SSPs o Real-Time Dynamic Programming (RTDP) [1], que uma maneira eciente de atualizar os valores dos estados de maneira assncrona. Como utilizaremos os valores dos estados muitas vezes, todos os algoritmos utilizam a tcnica de programao dinmica, armazenando o ltimo valor calculado para um estado em V (s). A idia bsica do RTDP fazer vrias simulaes da execuo da poltica e atualizar o valor dos estados ao mesmo tempo em que a poltica atualizada. A poltica escolhida pelos algoritmos a poltica gulosa (V ), dada por:
V := argmin(c(a, s) +
aA(s) sS

4. Programao dinmica em tempo real com marcaes


O que torna o RTDP to poderoso tambm 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 convergncia do algoritmo muito lenta, dado que os estados que tm pouca probabilidade de serem alcanados 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 convergncia do RTDP marcar como resolvidos os estados que j tenham um valor sucientemente prximo ao valor timo. Para isto utilizamos o erro de Bellman, denido como:
E (s) := |V (s) min (c(a, s)+
aA(s) s S

P (s |s, a) V (s ))

P (s |s, a)V (s ))|

Cada simulao comea no estado inicial e pra quando chega a algum estado meta. Dado um estado, o prximo estado a ser visitado dado diretamente por P (|s, V (s)). O valor de V (s) atualizado de acordo com a nova poltica antes de se passar para o prximo estado. Esta maneira de escolher quais estados tero seu valor atualizado muito poderosa porque os estados que inuenciam mais no valor da esperana so atualizados mais vezes. Este algoritmo tem algumas propriedades interessantes [1]:
Cada uma das simulaes termina em um

nmero nito de passos.

Se os valores de V (s) forem monotnicos e admissveis (menores que V (s)) quando inicial-

izados, essas propriedades se mantm ao longo das atualizaes dos valores de V (s).

As atualizaes de um estado no diminuem o valor de V (s).

que representa a diferena entre o valor armazenado para um estado e o novo valor que ser obtido atravs da escolha gulosa de ao. Embora para SSPs no haja uma maneira fcil de calcular a distncia entre o valor timo de um estado e o valor atual a partir do erro de Bellman, ele nos indica quando a funo no 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 alcanveis a partir dele atravs da poltica gulosa. Se, ao nal da execuo 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 existncia de loops impossibilita uma ttica 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 mtodo checkSolved 1. Esse mtodo

96

faz uma busca em profundidade nos estados que podem ser alcanados, atravs da poltica gulosa, a partir do estado que se est testando. Quando visitamos um estado temos trs situaes possveis: 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 pe 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 no convergiu, mas por questes de ecincia ele continua a busca em outro ramo. Assim, aps uma chamada checkSolved temos duas possibilidades: ou nenhum dos estados visitados tinha o erro de Bellman maior do que e ento, por denio, o estado e todos os seus sucessores convergiram e podem ser 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 funo checkSolved para o estado inicial at que ele tenha convergido. Este mtodo no far mais do que 1 sS V (s) h(s) chamadas funo checkSolved, em que h(s) a heurstica utilizada para inicializar os valores de V (s). Entretanto, como o estado inicial est muito longe da meta, ele demora para convergir e no podemos marcar os outros estados como resolvidos at que ele tenha convergido. Assim, no aproveitamos o esquema de rotulao dos estados. Por esta razo o LRTDP implementa um outro mtodo (LRTDPTrial 2) que muito similar s simulaes realizadas pelo RTDP. Existem duas diferenas: os estados visitados so guardados em uma pilha e, quando a simulao atinge um estado meta ou um estado que j tenha convergido,a simulao pra e chama-se o mtodo checkSolved para os estados, enquanto eles so desempilhados. Quando algum estado retorna falso outra simulao iniciada. Utilizando estes dois mtodos temos uma maneira eciente de vericar se os estados j convergiram e conseguimos aumentar a velocidade de convergncia do algoritmo, j que os estados com pouca probabilidade de serem alcanados sero visitados nas chamadas checkSolved.

Algoritmo 1: checkSolved Entrada: Um SSP, ,s Sada: Verdadeiro se s tiver convergido, falso


1 resposta = verdadeiro 2 aberto = P ilhaV azia 3 f echado = P ilhaV azia 4 se s.M arcado ento aberto.push(s) 5 enquanto aberto = P ilhaV azia faa 6 s = aberto.pop() 7 f echado.push(s) 8 //verica o erro de Bellman 9 se s.erro(a) > ento 10 resposta = f also 11 continue 12 m se 13 //expande o estado 14 a = s.acaoGulosa() 15 para todo s tal que P (s |s, a) > 0 faa 16 se s .M arcado e Em(s , aberto 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

c.c.

m se m para todo se resposta = verdadeiro ento

f echado) ento aberto.push(s )

//marca os estados alcanveis a partir da poltica gulosa

para todo s f echado faa


s.M arcado = verdadeiro

m para todo m se seno enquanto f echado = P ilhaV azia faa m enqto m se m enqto Resultado: resposta
s = f echado.pop() s.update()

97

1 visitados = P ilhaV azia 2 enquanto s.M eta() faa 3 //pe o estado na pilha 4 visitados.push(s) 5 //simula a execuo da poltica 6 7 8 9 10 11 12 13

Algoritmo 2: RTDPTrial Entrada: Um SSP, ,s

V U (s) = min (c(a, s) +


aA(s) s S

P (s |s, a) V U (s )) P (s |s, a) V L (s ))
s S

V L (s) = min (c(a, s) +


aA(s)

atualiza o estado

gulosa e

m enqto enquanto visitados = P ilhaV azia faa m enqto


s = visitados.pop() se checkSolved(s, )

a = s.acaoGulosa() s.update() s = s.escolhaP roximoEstado(a)

ento break

5. Programao dinmica em tempo real com limitantes


A principal caracterstica do Bounded Real-Time Dynamic Programming (BRTDP) [8] manter duas heursticas do valor do estado, uma inferior (V L (s), similar V (s)) e uma superior (V U (s)). Utilizando estas duas heursticas e analisando a diferena entre elas o algoritmo consegue: melhorar a maneira de selecionar os estados que tero seus valores atualizados, facilitar a vericao da distncia entre o valor da heurstica e o valor timo do estado e diminuir o nmero de estados que precisam ser visitados. Neste algoritmo o conceito de convergncia de um estado diferente do utilizado no LRTDP. Neste caso, consideramos que um estado convergiu quando a diferena entre a heurstica superior e a inferior menor do que algum > 0. Neste caso sabemos que quando um estado convergiu a nossa estimativa do valor do estado no tem um erro maior do que em relao ao valor timo. O BRTDP utiliza um algoritmo muito parecido com o do RTDP. A sua principal funo uma simulao da execuo da poltica gulosa (em relao heurstica inferior). Entretanto, a escolha do prximo estado a ser atualizado feita atravs do valor normalizado de P (s |s, a) (V U (s ) V L (s )) e a simulao pra quando se atinge um estado meta ou quando se atinge um estado que j tenha convergido. O algoritmo pra de fazer simulaes quando o estado inicial j convergiu, ou seja, V U (s0 ) V L (s0 ) < . As atualizaes de V U (s) e V L (s) so feitas da mesma maneira que as atualizaes de V (s), isto :

Assim como no RTDP e no LRTDP as atualizaes dos estados preservam a monotonicidade e a admissibilidade das heursticas, o que nos mostra que o algoritmo pra aps um nmero nito de simulaes e que ele no precisa visitar todos os estados em S e, muitas vezes, tambm no precisa visitar todos os estados alcanveis a partir de s0 seguindo a poltica gulosa (principalmente quando h uma probabilidade muito baixa de transio para estes estados) [8]. O ponto fraco deste algoritmo o clculo da heurstica superior. muito fcil calcular uma heurstica inferior para V (s), por exemplo, tomando h(s) = 0 ou h(s) = minaA(s) c(a, s). Entretanto, o clculo de uma heurstica superior pode fazer com que o algoritmo tenha que visitar todo o espao de estados [8]. Assim, muitas vezes o custo de se calcular uma heurstica superior maior do que os ganhos de se utilizar o BRTDP.

6. Consideraes nais
Neste artigo mostramos um modelo muito interessante, o SSP, que modela de maneira eciente os problemas nos quais queremos ir de uma congurao inicial a uma congurao 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 relao aos resolvedores de MDPs. Entretanto, frequentemente temos diculdades em modelar um problema com probabilidades precisas de transio. Por isso, nesta iniciao cientca o aluno est estudando um modelo recentemente criado [5] que estende o SSP ao possibilitar que sejam fornecidos intervalos de probabilidade para as transies entre estados. Durante a iniciao cientca pretendemos adaptar o LRTDP para que ele resolva problemas deste novo modelo SSPST (Shortest Stochastic Path with Set Transitions ). O RTDP apresenta uma tcnica muito importante e atualmente bastante difundida para escolher quais estados devem ter seu valor atualizado. Entretanto, esta mesma ttica faz com que ele tenha uma convergncia 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 tcnica do RTDP e implementa uma funo que marca os estados como resolvidos para que eles no precisem ser visitados novamente. Essa funo gera um pequeno overhead e, por isso, o LRTDP costuma devolver polticas um pouco piores do que o RTDP, quando o tempo de execuo curto. Entretanto, a velocidade de convergncia extremamente maior do que a do RTDP. O BRTDP tem trs propriedades interessantes: a facilidade de vericar se um estado convergiu ou no; o nmero reduzido de estados que precisam ser visitados (mesmo quando comparado com o RTDP e o LRTDP que tambm no precisam visitar todo o espao de estados); e a tcnica aprimorada de seleo de estados que devem ser atualizados, que favorece os estados sobre os quais se tem pouca informao, alm dos que tm grande probabilidade de serem alcanados. Apesar destas propriedades, o custo de se calcular uma heurstica 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 atravs 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.

Referncias
[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 Hctor Gener, Labeled RTDP: Improv-

ing the Convergence of Real-Time Dynamic Programming, International Conference on Automated Planning
and Scheduling, 2003, pp. 1221.

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.

[3] Craig Boutilier, Thomas Dean, and Steve Hanks,

[6] Felipe W. Trevizan, Um modelo unicado para planejamento sob incerteza, Instituto de Matemtica e Estatstica, So 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: ing, 2005, pp. 569576.

RTDP with monotone upper bounds and performance guarantees, International Conference on Machine Learn-

99

Anda mungkin juga menyukai