• Nenhum resultado encontrado

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
5
0
0

Texto

(1)

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 congu-ração inicial do mundo para uma congucongu-ração de-sejada com o menor custo esperado. Se queremos resolver um problema deste tipo costumamos usar um modelo chamado de caminho estocástico mín-imo (Shortest Stochastic Path - SSP). Este mod-elo é baseado nos Processos markovianos de decisão (Markov Decision Processes - MDP), com algumas diferenças que o tornam mais interessante computa-cionalmente e mais natural para modelar este tipo de problema.

Neste artigo revisaremos os algoritmos que re-presentam 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 algorit-mos é 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 apre-senta uma maneira interessante de marcar os estados para aumentar a velocidade de convergência do al-goritmo e o Bounded Real-Time Dynamic Program-ming (BRTDP), que utiliza duas heurísticas para ajudar na escolha dos estados que devem ser atual-izados 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 con-tável

• M2 - Um estado inicial s0∈ S1

• M3 - Um conjunto não vazio de estados meta, SG⊆ S

• M4 - Os estados em SGsã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. Tam-bém é importante, para garantir propriedades dos algoritmos, que todos os estados tenham uma pro-babilidade não nula de alcançar algum estado meta. Dado este modelo, o objetivo do agente é esco-lher, 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 pode-mos calcular recursivamente o custo esperado da ex-ecução de uma política a partir de um estado até a meta (Vπ(s))2como:

Vπ(s) = c(π(s), s) +X

s0∈S

P (s0|s, π(s)) ∗ Vπ(s0)

O valor ótimo de um estado (V∗(s)) é o único ponto

xo da equação de Bellman [9]: V (s) = min

a∈A(s)(c(a, s) +

X

s∈S0

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

1Podemos estender a denição para um conjunto não vazio

de estados S0⊆ S, sem grandes mudanças nos algoritmos. 2Neste texto, para simplicar, chamaremos o custo

espera-do de um caminho a partir de um estaespera-do até a meta de valor de um estado.

(2)

Assim, a política ótima (π∗(s)) é dada por: π∗(s) = argmin a∈A(s) (c(a, s) + X s∈S0 P (s0|s, a) ∗ V∗(s0))

Pela denição, Vπ(s) = V(s) = 0, para todo

es-tado pertencente a SG. Este valor pode ser usado

como base da recursão no cálculo dos valores dos out-ros 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 e-ciente de atualizar os valores dos estados de maneira assíncrona. Como utilizaremos os valores dos esta-dos muitas vezes, toesta-dos os algoritmos utilizam a téc-nica de programação dinâmica, armazenando o úl-timo 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 esta-dos ao mesmo tempo em que a política é atualizada. A política escolhida pelos algoritmos é a política gu-losa (πV), dada por:

πV := argmin a∈A(s)

(c(a, s) +X

s∈S0

P (s0|s, a) ∗ Vπ(s0))

Cada simulação começa no estado inicial e pára quando chega a algum estado meta. Dado um es-tado, o próximo estado a ser visitado é dado direta-mente por P (·|s, πV(s)). O valor de Vπ(s)é

atua-lizado de acordo com a nova política antes de se pas-sar para o próximo estado.

Esta maneira de escolher quais estados terão seu valor atualizado é muito poderosa porque os esta-dos que inuenciam mais no valor da esperança são atualizados mais vezes.

Este algoritmo tem algumas propriedades interes-santes [1]:

• Cada uma das simulações termina em um número nito de passos.

• Se os valores de Vπ(s)forem monotônicos e

ad-missíveis (menores que V∗(s)) quando

inicial-izados, 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).

• 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 pudessem ser realizadas comparações com outros al-goritmos, 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 at-ualizado de acordo com P (·|s, a) faz com que o valor de Vπ(s) se aproxime rapidamente de V(s).

En-tretanto, 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 atual-izado e, consequentemente, demoram para convergir. A maneira encontrada pelo Labeled Real-Time Dy-namic Programming (LRTDP) [2] para aumentar a velocidade de convergência do RTDP é marcar como resolvidos os estados que já tenham um valor su-cientemente próximo ao valor ótimo. Para isto uti-lizamos o erro de Bellman, denido como:

E(s) := |Vπ(s)− min

a∈A(s)

(c(a, s)+X

s0∈S

P (s0|s, a)∗Vπ(s0))| 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  > 0para 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 resolvi-dos quando os seus sucessores já tiverem sido mar-cados, 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

(3)

faz uma busca em profundidade nos estados que po-dem ser alcançados, através da política gulosa, a par-tir 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 es-tado 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 visita-dos tinha o erro de Bellman maior do que  e então, por denição, 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 atualiza-dos na ordem reversa em que foram visitaatualiza-dos, 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 sim-plesmente chamando a função checkSolved para o estado inicial até que ele tenha convergido. Este método não fará mais do que −1P

s∈SV

(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 sim-ulações realizadas pelo RTDP. Existem duas difer-enç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 esta-dos, enquanto eles são desempilhados. Quando al-gum 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 prob-abilidade de serem alcançados serão visitados nas chamadas à checkSolved.

Algoritmo 1: checkSolved Entrada: Um SSP, ,s

Saída: Verdadeiro se s tiver convergido, falso c.c.

resposta = verdadeiro

1

aberto = P ilhaV azia

2

f echado = P ilhaV azia

3

se ¬s.Marcado então aberto.push(s)

4

enquanto aberto 6= P ilhaV azia faça

5

s = aberto.pop()

6

f echado.push(s)

7

//verica o erro de Bellman

8 se s.erro(a) >  então 9 resposta = f also 10 continue 11 m se 12 //expande o estado 13 a = s.acaoGulosa() 14

para todo s0 tal que P (s0|s, a) > 0faça 15

se ¬s0.M arcadoe ¬Em(s0, aberto ∪ 16 f echado)então aberto.push(s0) 17 m se 18 m para todo 19

se resposta = verdadeiro então

20

//marca os estados alcançáveis a partir

21

da política gulosa

para todo s ∈ fechado faça

22 s.M arcado = verdadeiro 23 m para todo 24 m se 25 senão 26

enquanto fechado 6= P ilhaV azia faça

27 s = f echado.pop() 28 s.update() 29 m enqto 30 m se 31 m enqto 32 Resultado: resposta

(4)

Algoritmo 2: RTDPTrial Entrada: Um SSP, ,s visitados = P ilhaV azia

1

enquanto ¬s.Meta() faça

2

//põe o estado na pilha

3

visitados.push(s)

4

//simula a execução da política gulosa e

5 atualiza o estado a = s.acaoGulosa() 6 s.update() 7 s = s.escolhaP roximoEstado(a) 8 m enqto 9

enquanto visitados 6= P ilhaV azia faça

10

s = visitados.pop()

11

se ¬checkSolved(s, ) então break

12

m enqto

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 (VL(s),

similar à Vπ(s)) e uma superior (VU(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 atualiza-dos, 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 precisam ser 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 sim-ulação da execução da política gulosa (em relação à heurística inferior). Entretanto, a escolha do próx-imo estado a ser atualizado é feita através do valor normalizado de P (s0|s, a)∗(VU(s0)−VL(s0))e a

sim-ulaçã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 es-tado inicial já convergiu, ou seja, VU(s

0) − VL(s0) <

.

As atualizações de VU(s) e VL(s) são feitas da

mesma maneira que as atualizações de Vπ(s), isto é:

VU(s) = min a∈A(s) (c(a, s) +X s0∈S P (s0|s, a) ∗ VU(s0)) VL(s) = min a∈A(s)(c(a, s) + X s0∈S P (s0|s, a) ∗ VL(s0))

Assim como no RTDP e no LRTDP as atualiza-ções dos estados preservam a monotonicidade e a ad-missibilidade das heurísticas, o que nos mostra que o algoritmo pára após um número nito de simu-lações e que ele não precisa visitar todos os estados em S e, muitas vezes, também não precisa visitar to-dos os estato-dos alcançáveis a partir de s0 seguindo a

política gulosa (principalmente quando há uma prob-abilidade muito baixa de transição para estes esta-dos) [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) = mina∈A(s)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 calcu-lar uma heurística superior é maior do que os ganhos de se utilizar o BRTDP.

6. Considerações nais

Neste artigo mostramos um modelo muito interes-sante, o SSP, que modela de maneira eciente os problemas nos quais queremos ir de uma congu-ração inicial a uma congucongu-raçã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 resolve-dores de MDPs. Entretanto, frequentemente temos diculdades em modelar um problema com probabil-idades precisas de transição. Por isso, nesta iniciação cientíca o aluno está estudando um modelo recen-temente criado [5] que estende o SSP ao possibili-tar que sejam fornecidos intervalos de probabilidade para as transições entre estados. Durante a inici-açã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 con-vergência demorada. Assim, se quisermos impor um limite curto de tempo para processamento, o RTDP pode nos dar uma resposta melhor que os outros al-goritmos, mas se quisermos uma resposta ótima (ou

(5)

sub-ótima) o RTDP levará mais tempo do que os outros algoritmos.

O LRTDP se aproveita da técnica do RTDP e im-plementa uma função que marca os estados como resolvidos para que eles não precisem ser 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 con-vergê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 precisam ser vis-itados (mesmo quando comparado com o RTDP e o LRTDP que também não precisam visitar todo o es-paço de estados); e a técnica aprimorada de seleção de estados que devem ser atualizados, que favorece os estados sobre os quais se tem pouca informação, além dos que têm grande probabilidade de serem al-canç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.

Referências

[1] Andrew G. Barto, Steven J. Bradtke, and Satinder P. Singh, Learning to Act Using Real-Time Dynamic Pro-gramming, Articial Intelligence 72 (1995), 81138. [2] Blai Bonet and Héctor Gener, Labeled RTDP:

Improv-ing the Convergence of Real-Time Dynamic Program-ming, 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 Intel-ligence Research 11 (1999), 194.

[4] Dana S. Nau, Malik Ghallab, and Paolo Traverso, Au-tomated Planning: Theory and Practice, Morgan Kauf-mann 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 planeja-mento sob incerteza, Instituto de Matemática e Estatís-tica, São Paulo, 2006.

[7] Martin L. Puterman, Markov Decision Processes - Dis-crete 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 Learn-ing, 2005, pp. 569576.

[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

Documentos relacionados

A análise mostrou a oportunidade de (i) adoção de uma estratégia de planejamento que reflita um modelo sustentável de desenvolvimento que inclua decisões sobre o futuro da Amazônia

forficata recém-colhidas foram tratadas com escarificação mecânica, imersão em ácido sulfúrico concentrado durante 5 e 10 minutos, sementes armazenadas na geladeira (3 ± 1

Discussion The present results show that, like other conditions that change brain excitability, early environmental heat exposure also enhanced CSD propagation in adult rats.. The

Mapeou-se quantitative trait loci (QTL) associados a características de desempenho nos cromossomos 1, 2, 3, 12, 14, 15 e X de suínos pertencentes a uma população F2, formada a

Atualmente os currículos em ensino de ciências sinalizam que os conteúdos difundidos em sala de aula devem proporcionar ao educando o desenvolvimento de competências e habilidades

A Lei nº 2/2007 de 15 de janeiro, na alínea c) do Artigo 10º e Artigo 15º consagram que constitui receita do Município o produto da cobrança das taxas

O Quantitative susceptibility mapping (QSM) é uma técnica não-invasiva de Imagem por Ressonância Magnética (MRI) recente que, ao mensurar a distribuição espacial de

Nos tempos atuais, ao nos referirmos à profissão docente, ao ser professor, o que pensamos Uma profissão indesejada por muitos, social e economicamente desvalorizada Podemos dizer que