USO DO ERRO DE BELLMAN PARA ACELERAR A CONVERG ˆENCIA DA PROGRAMA ¸C ˜AO DIN ˆAMICA EM TEMPO REAL
Renato S. P. Coelho∗, Dra. Leliane Nunes de Barros†
∗Pr´o Reitoria de Gradua¸c˜ao – USP
Rua da Reitoria, Favo 22 - Cidade Universit´aria – S˜ao Paulo – SP – Brasil
†Instituto de Matem´atica e Estatistica – USP
Rua do Mat˜ao, 1010 - Cidade Universit´aria – S˜ao Paulo – SP – Brasil Emails: [email protected], [email protected]
Abstract— The Labeled Real-Time Dynamic Programming (LRTDP) is one of the most known and most efficient algorithms used to solve Shortest Stochastic Path (SSP) problems. This paper reviews the SSP model and the LRTDP algorithm and shows a way to improve LRTDP’s state selection. This new selection scheme speeds up LRTDP by favoring states on which the algorithm has few information.
Keywords— SSP, LRTDP, Bellman Error, Probabilistic Planning, Experimental
Resumo— O algoritmo Labeled Real-Time Dynamic Programming (LRTDP) ´e um dos algoritmos mais con-hecidos e eficientes para a resolu¸c˜ao de problemas de planejamento probabil´ıstico em Inteligˆencia Artificial mod-elados como Caminho estoc´astico m´ınimo. Ap´os uma revis˜ao do modelo e do algoritmo ser´a introduzida uma nova t´ecnica de escolha de estados que acelera o LRTDP ao privilegiar estados sobre os quais o algoritmo tem poucas informa¸c˜oes.
Keywords— SSP, LRTDP, Erro de Bellman, Planejamento probabil´ıstico, Experimental
1 Introdu¸c˜ao
Um problema de planejamento em Inteligˆencia Ar-tificial (IA) envolve a constru¸c˜ao de um agente deve ser capaz de escolher um conjunto de a¸c˜oes que o leve a realizar um determinado obje-tivo (Russel e Norvig, 1995). Neste trabalho ser˜ao considerados problemas em que as a¸c˜oes do agente possuem efeitos probabil´ısticos e o objetivo ´e per-mitir que o agente, a partir de um estado ini-cial, alcance um estado do mundo que satisfa¸ca uma dada propriedade, com o menor custo es-perado. O modelo chamado Caminho estoc´astico m´ınimo (Shortest Stochastic Path - SSP) formal-iza este tipo de problema, bem como induz a cri-a¸c˜ao de algoritmos para a sua resolu¸c˜ao (Barto et al., 1995; Geffner e Bonet, 2003).
Um dos algoritmos mais conhecidos para a resolu¸c˜ao de SSPs ´e o Labeled Real-Time Dynamic Programming (LRTDP) (Geffner e Bonet, 2003), que utiliza programa¸c˜ao dinˆamica ass´ıncrona para avaliar os estados e escolher uma pol´ıtica ´otima, ou seja, uma pol´ıtica que minimize o custo esper-ado dos caminhos entre o estesper-ado inicial e os esta-dos finais (Barto et al., 1995). Para acelerar o pro-cesso de convergˆencia para a pol´ıtica ´otima, exis-tem propostas para aprimorar o LRTDP avaliando quanta informa¸c˜ao se tem sobre cada estado e privilegiando os estados sobre os quais se tem pouca informa¸c˜ao, e.g. Bounded Real-Time Dy-namic Programming (BRTDP) (McMahan et al., 2005) e Focused Real-Time Dynamic Program-ming (FRTDP) (Smith e Simmons, 2006). En-tretanto, estas propostas s˜ao baseadas no c´alculo de um limitante superior para o valor ´otimo dos
estados e este c´alculo pode envolver um alto custo computacional (McMahan et al., 2005).
Uma outra fam´ılia de algoritmos que usa pro-grama¸c˜ao dinˆamica ass´ıncrona para resolver SSPs ´e a fam´ılia do Prioritized Sweeping (Moore e Atkenson, 1993). Estes algoritmos utilizam o gra-diente do valor dos estados para priorizar os esta-dos que devem ser atualizaesta-dos.
Neste artigo ser´a proposto um novo algoritmo (Gradient Oriented Labeled Real-Time Dynamic Programming - GRTDP) que aprimora o LRTDP combinando o com a id´eia de privilegiar estados baseado no gradiente de sua fun¸c˜ao valor. A vantagem deste novo algoritmo ´e utilizar o gra-diente do valor dos estados sem a necessidade de muitos c´alculos adicionais. Esta maneira de escolher quais estados ter˜ao seus valores atual-izado deve tornar as atualiza¸c˜oes mais eficientes e, consequentemente, diminuir o n´umero de at-ualiza¸c˜oes e o tempo necess´ario para encontrar a pol´ıtica ´otima em um SSP quando comparado com o LRTDP.
Este artigo est´a organizado da seguinte maneira: na Se¸c˜ao 2 vamos descrever o modelo em que estamos interessados para o planejamento em IA (SSP) e alguns dos algoritmos usados para a sua resolu¸c˜ao, na Se¸c˜ao 3 vamos propor um novo algoritmo para a resolu¸c˜ao de SSPs que aprimora o LRTDP utilizando o gradiente do valor dos es-tados para escolher quais eses-tados devem ser at-ualizados e na Se¸c˜ao 4 vamos comparar o novo algoritmo com o LRTDP em termos de eficiˆencia e comportamento em qualquer instante.
2 Revis˜ao
Nesta se¸c˜ao, o modelo Caminho estoc´astico m´ın-imo (SSP) ser´a formalmente descrito, bem como o algoritmo Labeled Real-Time Dynamic Program-ming, que resolve SSPs. Tamb´em ser´a feita uma breve descri¸c˜ao do algoritmo Bounded Real-Time Dynamic Programming e dos algoritmos da fam´ılia do Prioritized Sweeping.
2.1 SSP - Shortest Stochastic Path
O modelo SSP representa uma subclasse dos problemas que podem ser descritos como MDPs (Markov Decision Processes) (Puterman, 1994; Boutilier et al., 1999). Esta subclasse ´e particular-mente interessante pela sua capacidade natural de modelar problemas de planejamento probabil´ıstico. Al´em disso, permite um ganho computacional, j´a que uma solu¸c˜ao para esses problemas s´o precisa estar definida para os estados relevantes. Ou seja, estados que podem ser alcan¸cados a partir do es-tado inicial quando se utiliza a pol´ıtica gerada pelo agente.
Os SSPs consideram que o tempo avan¸ca em intervalos discretos e que, em cada instante de tempo o agente deve realizar uma a¸c˜ao. Formal-mente, o modelo pode ser descrito atrav´es das seguintes caracter´ısticas (Bertsekas, 1995; Geffner e Bonet, 2003):
• Um conjunto discreto e finito de estados, S. Considera-se que os estados satisfazem a hip´otese de Markov, isto ´e, cada estado con-t´em toda a informa¸c˜ao necess´aria para predi-zer os efeitos de todas as a¸c˜oes e eventos, inde-pendentemente de outras informa¸c˜oes sobre o hist´orico do sistema (estados visitados e a¸c˜oes executadas no passado).
• Um estado inicial s0∈ S1.
• Um conjunto n˜ao vazio de estados meta,SG ⊆
S.
• Um conjunto de a¸c˜oes A e subconjuntos A(s) ⊆ A, para cada s ∈ S.
• Uma distribui¸c˜ao de probabilidades P (·|s, a) sobre S para cada s ∈ S e a ∈ A(s), que descreve os efeitos das a¸c˜oes.
• Um custo n˜ao negativo, c(s, a) > 0 associado a cada par estado-a¸c˜ao.
• Os estados s˜ao totalmente observ´aveis. Dado este problema, o objetivo de um agente ´e criar uma pol´ıtica que o leve do estado inicial at´e algum estado final com o menor custo esperado,
1O modelo e todos os algoritmos que aparecem neste
ar-tigo podem facilmente ser expandidos considerando-se um conjunto S0de estados iniciais.
ou seja, com a menor m´edia ponderada dos custos dos caminhos. Considerando este crit´erio o valor de uma pol´ıtica ´otima para um estado s, ou valor ´
otimo de um estado, pode ser dado por (Bellman, 1957): V∗(s) = min a∈A(s) (c(a, s) + X s0∈S P (s0|s, a) ∗ V∗(s0)) (1) Como veremos a seguir, esta equa¸c˜ao ´e a base para os algoritmo de programa¸c˜ao dinˆamica usa-dos em planejamento probabil´ıstico.
2.2 O algoritmo LRTDP
O Labeled Real-Time Dynamic Programming (LRTDP) (Geffner e Bonet, 2003) faz simula¸c˜oes dos caminhos gerados a partir da execu¸c˜ao da pol´ıtica gulosa enquanto a estimativa do valor dos estados nestes caminhos ´e melhorada. A id´eia ´e parecida com um processo de treinamento. Isto ´e feito at´e que o valor ´otimo (´unico ponto fixo da Equa¸c˜ao 1 (Givan et al., 1997)) seja aprox-imado de maneira satisfat´oria. Para facilitar a computa¸c˜ao as estimativas dos valores dos esta-dos s˜ao guardadas em uma tabela, de acordo com os preceitos da programa¸c˜ao dinˆamica. Estas es-timativas s˜ao sempre limitantes inferiores do valor ´
otimo dos estados.
O algoritmo LRTDP ´e composto por duas rotinas principais que se alternam. A primeira ´e respons´avel por uma atualiza¸c˜ao ass´ıncrona dos valores dos estados, enquanto a segunda ´e respon-s´avel por testar se o valor dos estados j´a est´a aproximado de uma maneira satisfat´oria.
A primeira rotina (LRT DP T rial(), Algo-ritmo 1) parte do estado s0 e simula a execu¸c˜ao
de uma pol´ıtica gulosa ao mesmo tempo em que calcula esta pol´ıtica, ou seja, para cada estado s alcan¸cado, ela escolhe de maneira gulosa uma a¸c˜ao a de acordo com os valores armazenados para os estados. O pr´oximo estado a ser atualizado ser´a escolhido usando-se a distribui¸c˜ao de proba-bilidades P (·|s, a), ou seja, se P (s0|s, a) = 0, 7 a probabilidade de que o estado s0 seja o pr´oximo estado visitado pelo algoritmo ´e 0, 7. Com isso, a rotina privilegia os estados que influenciam mais na fun¸c˜ao valor. Quando o algoritmo encontra um estado pertencente a SGou um estado j´a resolvido,
isto ´e, um estado cujo valor j´a est´a aproximado de maneira satisfat´oria, ele chama a segunda rotina para cada um dos estados que foi visitado naquela simula¸c˜ao (por uma quest˜ao de eficiˆencia, a rotina ´e chamada primeiro para os ´ultimos estados visi-tados).
A segunda rotina (checkSolved(), Algoritmo 2) ´e respons´avel por testar se um estado s j´a est´a resolvido, isto ´e, se o seu valor j´a est´a aproximado de uma maneira satisfat´oria. Para isto, ela real-iza uma busca em profundidade em todos os
esta-dos acess´ıveis a partir do estado s (utilizando-se a pol´ıtica gulosa) at´e os estados meta ou os esta-dos que j´a est˜ao marcados como resolvidos. Nesta busca, o valor de cada um dos estados ´e calcu-lado e comparado com o valor armazenado para aquele estado. A diferen¸ca entre estes dois valores ´e chamada de erro de Bellman. Se, para algum es-tado visies-tado na busca em profundidade o erro de Bellman for maior do que um , dizemos que o es-tado s ainda n˜ao foi resolvido2. Se durante a busca
n˜ao for encontrado nenhum estado que tenha vari-ado muito seu valor, o estvari-ado s e todos os estvari-ados alcan¸c´aveis a partir dele utilizando-se a pol´ıtica gulosa s˜ao marcados como resolvidos. ´E impor-tante notar que n˜ao ´e poss´ıvel criar uma f´ormula fechada que relacione o valor de com a distˆancia entre o valor final do estado marcado como re-solvido e seu valor ´otimo (Geffner e Bonet, 2003). Esta rotina ´e bastante importante para o algo-ritmo, pois ela ´e respons´avel por fazer com que os estados que tˆem pouca probabilidade de serem al-can¸cados de acordo com a primeira rotina passem a ser visitados com mais frequˆencia. A rotina LRT DP T rial() ´e chamada at´e que o estado ini-cial seja marcado como resolvido. Os Algoritmos 1 e 2 descrevem estas rotinas.
Algoritmo 1: LRTDPTrial Entrada: s0, epsilon.
s = s0 1
visitado = pilhaV azia
2
enquanto s.marcado = falso fa¸ca
3
visitado.push(s)
4
se s.meta = verdadeiro ent˜ao break
5 a = s.acaoGulosa() 6 s.update() 7 s = s.proximoEstado() 8 fim enqto 9
enquanto visitado 6= pilhaV azia fa¸ca
10
s = visitado.pop()
11
se s.checkSolved() = f also ent˜ao
12
break fim enqto
13
2.3 BRTDP
O algoritmo Bounded Real-Time Dynamic Pro-gramming (BRTDP) (McMahan et al., 2005) ´e similar ao LRTDP. A diferen¸ca ´e que o BRTDP tamb´em armazena uma estimativa que ´e um lim-itante superior do valor dos estados (VU). Junto
com a estimativa de limite inferior do LRTDP (VL) o BRTDP ´e capaz de: (i) direcionar a escolha
de estados para que o algoritmo priorize estados sobre os quais tem pouca informa¸c˜ao, (ii) testar se um estado j´a convergiu simplesmente calculando se a diferen¸ca entre as duas heur´ısticas ´e menor
2O valor deve ser dado como parˆametro do algoritmo.
Algoritmo 2: 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.M arcado ent˜ao aberto.push(s)
4
enquanto aberto 6= P ilhaV azia fa¸ca
5 s = aberto.pop() 6 f echado.push(s) 7 se s.erroDeBellman(a) > ent˜ao 8 resposta = f also 9 continue 10 fim se 11 //expande o estado 12 a = s.acaoGulosa() 13
para todo s0 tal que P (s0|s, a) > 0
14
fa¸ca
se ¬s0.M arcado e ¬Em(s0, aberto ∪ 15 f echado) ent˜ao aberto.push(s0) 16 fim se 17
fim para todo
18
se resposta = verdadeiro ent˜ao
19
//marca os estados alcan¸c´aveis a
20
partir da pol´ıtica gulosa para todo s ∈ f echado fa¸ca
21
s.M arcado = verdadeiro
22
fim para todo
23
fim se
24
sen˜ao
25
enquanto f echado 6= P ilhaV azia
26 fa¸ca s = f echado.pop() 27 s.update() 28 fim enqto 29 fim se 30 fim enqto 31 Resultado: resposta
do que a tolerˆancia especificada. Com esta infor-ma¸c˜ao ´e poss´ıvel determinar o quanto o valor de um estado est´a pr´oximo de seu valor ´otimo.
Este algoritmo tem se mostrado muito efi-ciente, principalmente em dom´ınios onde h´a muitas transi¸c˜oes de baixa probabilidade, uma vez que o algoritmo poderia deixar de visitar muitos estados relevantes nestes dom´ınios. Entretanto, o custo para calcular uma estimativa superior para o valor dos estados ´e muito alto e este c´alculo pode fazer com que o BRTDP apresente um de-sempenho ruim para problemas grandes. O Algo-ritmo 3 mostra o pseudo-c´odigo da fun¸c˜ao princ´ı-pal do BRTDP. Ela ´e chamada at´e que a diferen¸ca entre as duas heur´ısticas seja suficientemente pe-quena para o estado inicial.
Algoritmo 3: BRTDPTrial Entrada: s0, τ .
s = s0 1
visitado = pilhaV azia
2
enquanto verdadeiro fa¸ca
3
visitado.push(s)
4
// VU ´e a estimativa superior para o 5
valor dos estados e VL a estimativa inferior VU(s) = s.updateVU() 6 a = s.greedyAction() 7 VL(s) = s.updateVL() 8
para todo s0∈ S fa¸ca
9
b(s0) = (VU(s0) − VL(s0)) ∗ P (s0|s, a) 10
fim para todo
11 B =P s0∈Sb(s0) 12 se B < ((VU(s 0) − VL(s0))/τ ) ent˜ao 13 break 14
s ´e escolhido de acordo com a
15
distribui¸c˜ao b(s0)/B fim enqto
16
enquanto visitado 6= pilhaV azia fa¸ca
17 s = visitado.pop() 18 VU(s) = s.updateVU() 19 VL(s) = s.updateVL() 20 fim enqto 21
State :: updateVL() atualizam,
respectiva-mente, as estimativas superiores e inferiores dos estados. A primeira devolve o valor da equa¸c˜ao mina∈A(s)(c(a, s) + Ps0∈SP (s0|s, a) ∗ VU(s))
e a segunda devolve o valor da equa¸c˜ao mina∈A(s)(c(a, s) +
P
s0∈SP (s0|s, a) ∗ VL(s)).
A a¸c˜ao gulosa ´e escolhida de acordo com VL. Segundo McMahan et al. (2005) o crit´erio de parada das itera¸c˜oes (neste caso, B < ((VU(s0) − VL(s0))/τ )) tem pouca influˆ
en-cia no tempo de execu¸c˜ao do algoritmo.
2.4 Prioritized Sweeping
O algoritmo de Moore e Atkenson (1993) n˜ao foi originalmente proposto para ser utilizado em problemas de planejamento, mas sim em apren-dizado computacional. Entretanto, novos algo-ritmos surgiram baseados nesta id´eia, i.e. pri-orizar os estados segundo o erro de Bellman de seus sucessores. Exemplos destes algoritmos s˜ao os General Prioritized Solvers propostos por Wingate e Seppi (2005). Nestes algoritmos as it-era¸c˜oes come¸cam a partir de algum predecessor de um estado meta e toda vez que um estado ´e atu-alizado, e seu erro de Bellman ´e maior do que um dado valor, os seus predecessores s˜ao armazenados em uma lista de prioridades (a sua prioridade ´e calculada usando alguma m´etrica baseada no erro de Bellman). A lista de prioridades define qual o pr´oximo estado a ser atualizado. Um algoritmo
mais recente dessa fam´ılia, Backward Value Itera-tion) (Dai e Hansen, 2007), prop˜oe que n˜ao se use uma lista de prioridades, mas apenas uma lista. Todos os estados que s˜ao predecessores de estados que quando atualizados tem um erro de Bellman maior do que um dado s˜ao postos nessa lista.
Uma das limita¸c˜oes destes algoritmos ´e as-sumir que a matriz de transi¸c˜ao est´a completa-mente dispon´ıvel e pode ser transposta facilcompleta-mente. Ou seja, esses trabalhos assumem um modelo de estados descrito explicitamente. No entanto, esta suposi¸c˜ao n˜ao deve ser feita quando se deseja re-solver problemas grandes (principalmente quando o n´umero de estados relevantes ´e pequeno em re-la¸c˜ao ao n´umero total de estados). Essa suposi¸c˜ao n˜ao ´e feita pelos algoritmos da fam´ılia do RTDP (Algoritmos 1 e 3).
Na pr´oxima se¸c˜ao apresentaremos um algo-ritmo que combina as vantagens do LRTDP com a id´eia do Prioritized Sweeping.
3 GRTDP
A id´eia do algoritmo proposto neste artigo (Gra-dient Oriented Labeled Real-Time Dynamic Pro-gramming - GRTDP) ´e modificar o LRTDP dire-cionando a escolha dos estados que devem ser at-ualizados privilegiando os estados sobre os quais o algoritmo tem poucas informa¸c˜oes, de maneira similar a proposta do BRTDP. Para fazer isso sem muitas computa¸c˜oes adicionais, ainda que uti-lizando um pouco mais de mem´oria, o algoritmo utiliza o erro de Bellman (gradiente da fun¸c˜ao valor) na escolha dos estados. Esta mudan¸ca tem como objetivo melhorar a qualidade da in-forma¸c˜ao utilizada nas pr´oximas atualiza¸c˜oes.
No GRTDP, as fun¸c˜oes utilizadas no LRTDP permanecem iguais, com exce¸c˜ao da fun¸c˜ao Estado :: proximoEstado(), que passa a usar uma nova distribui¸c˜ao de probabilidades para a escolha dos estados. Esta nova distribui¸c˜ao de probabilidades ´e dada pelo valor normalizado de P (s0|s, a)∗E(s0), em que E(s0) ´e o erro de Bellman
do estado s0, armazenado na ´ultima vez em que o valor de s0 foi atualizado. Al´em disso, h´a uma mudan¸ca na fun¸c˜ao LRT DP T rial() para maxi-mizar o fluxo de informa¸c˜oes. Quando a fun¸c˜ao est´a checando se os estados convergiram e encon-tra um estado que ainda n˜ao convergiu ela para de testar a convergˆencia dos estados visitados, mas continua atualizando seus valores. O Algoritmo 4 mostra a nova fun¸c˜ao GRT DP T rial().
A primeira altera¸c˜ao indica os estados sobre os quais o algoritmo tem pouca informa¸c˜ao, ou tinha pouca informa¸c˜ao at´e a ´ultima atualiza¸c˜ao e assim estes estados podem ser privilegiados. Com isso, as atualiza¸c˜oes se tornam mais eficientes, uma vez que os pr´oximos estados a serem atualiza-dos utilizar˜ao valores melhor aproximados. Esta maneira de medir quanta informa¸c˜ao se tem sobre
Algoritmo 4: GRTDPTrial Entrada: s0, epsilon.
s = s0 1
visitado = pilhaV azia
2
enquanto s.marcado = falso fa¸ca
3
visitado.push(s)
4
se s.meta = verdadeiro ent˜ao break
5 a = s.acaoGulosa() 6 s.update() 7 s = s.proximoEstado() 8 fim enqto 9 f lag = f also 10
enquanto visitado 6= pilhaV azia fa¸ca
11
s = visitado.pop()
12
se f lag = verdadeiro ent˜ao
13
s.update()
14
sen˜ao se s.checkSolved() = f also
15 ent˜ao f lag = verdadeiro 16 fim se 17 fim enqto 18
um estado n˜ao ´e t˜ao precisa quanto a diferen¸ca entre as estimativas utilizada no BRTDP, mas ´e muito mais f´acil de ser calculada. A segunda at-ualiza¸c˜ao permite que quando h´a uma mudan¸ca grande no valor de um estado (maior do que ) essa informa¸c˜ao seja propagada.
4 Resultados
Para testar o desempenho do GRTDP frente ao LRTDP implementamos o GRTDP no sistema miniGPT (Bonet e Geffner, 2005). Sistema us-ado pelos autores do LRTDP na competi¸c˜ao Inter-national Planning Competition de 2004 (IPC’04). Esse sistema funciona em conjunto com o sis-tema mdpsim utilizado na competi¸c˜ao para simu-lar a execu¸c˜ao das pol´ıticas devolvidas pelos plane-jadores. Testamos quatro problemas da com-peti¸c˜ao, dois do famoso dom´ınio blocksworld e dois do dom´ınio schedule. Cada planejador resolveu os problemas 5 vezes e os resultados apresentados s˜ao a m´edia do consumo de tempo gasto pelos plane-jadores.
bw1 bw2 sc1 sc2
LRTDP 15456,6 14049,8 128,4 5098036,4 GRTDP 8294,8 9505,8 77,4 4182632,4
% 53,66 67,66 60,28 82,04
Tabela 1: Consumo m´edio de tempo para a res-olu¸c˜ao dos quatro problemas usando a heur´ıstica ’atom-min-1-forward’ e = 0.0001. A ´ultima linha mostra a porcentagem do tempo gasto pelo GRTDP em rela¸c˜ao ao tempo gasto pelo LRTDP. Na Tabela 1 podemos ver que o GRTDP foi bem mais r´apido que o LRTDP para todas as
in-stˆancias consideradas (o GRTDP chegou a gastar 47% menos tempo). Com isso podemos perceber que a nova maneira de escolher quais estados de-vem ser atualizados proporciona resultados mel-hores e que, como ela exige pouco processamento o tempo gasto para calcular esta nova prioridade ´e compensado.
Os problemas retirados do conjunto de testes do IPC’04 foram: bw 5 30906 (bw1 ), bw 5 14257 (bw2 ), problem410 (sc1 ) e a-schedule-problem74 (sc2 ). Em todos os testes usamos a heur´ıstica ’atom-min-1-forward’ (Haslum and Geffner, 2000).
Por falta de tempo n˜ao foi poss´ıvel realizar uma implementa¸c˜ao do BRTDP para compar´ a-lo diretamente com o GRTDP. Entretanto, pode-mos fazer uma compara¸c˜ao indireta, que, apesar de n˜ao ser muito precisa, pode nos indicar como o GRTDP se comporta em rela¸c˜ao ao BRTDP. No artigo que apresenta o BRTDP (McMahan et al., 2005) podemos ver que o algoritmo ´e muito mais r´apido que o LRTDP quando o dom´ınio tˆem muitas transi¸c˜oes de baixa probabilidade, j´a que o BRTDP pode n˜ao visitar todos os estados rel-evantes. No artigo foram feitos dois testes em dom´ınios que n˜ao apresentam esta caracter´ıstica em um dos testes o BRTDP foi aproximadamente trˆes vezes mais r´apido que o LRTDP no outro teste o BRTDP foi aproximadamente trˆes vezes mais lento que o LRTDP. Assim, como o GRTDP apre-sentou resultados consistentemente melhores que o LRTDP em todos os testes, vemos que os resul-tados s˜ao compar´aveis aos resultados obtidos pelo BRTDP.
5 Conclus˜oes
Neste artigo foi proposta uma modifica¸c˜ao do al-goritmo LRTDP com rela¸c˜ao a maneira de escol-her os estados que devem ter seu valor atualizado e uma altera¸c˜ao no fluxo da informa¸c˜ao. Os experi-mentos mostraram que estas altera¸c˜oes podem ter bastante influˆencia na eficiˆencia das atualiza¸c˜oes e, consequentemente, no tempo necess´ario para re-solver problemas de planejamento probabil´ıstico modelados como SSPs.
A maneira utilizada para medir quanta infor-ma¸c˜ao o algoritmo tem sobre os estados ´e par-ticularmente interessante por n˜ao utilizar muitos recursos adicionais.
Como trabalhos futuros pretendemos testar o GRTDP em outros dom´ınios para garantir que as caracter´ısticas observadas n˜ao dependem dos dom´ınios testados, bem como fazer uma imple-menta¸c˜ao do BRTDP para que uma compara¸c˜ao direta possa ser realizada e uma implementa¸c˜ao de algum algoritmo da familia do Prioritized Sweep-ing, ambas no sistema miniGPT.
Esta pesquisa conta com o apoio da FAPESP atrav´es do processo 2008/04728-0.
Referˆencias
Barto, A., Bradtke, S., Singh, S. (1995). Learning to act using real-time dynamic programming, Artificial Intelligence 72:81-138.
Bellman, R.E. (1957), Dynamic Programming, Princeton University Press.
Bertsekas, D. (1995), Dynamic Programming and Optimal Control. Athena Scientific.
Bonet, B., Geffner, H. (2005), mGPT: A Proba-bilistic Planner Based on Heuristic Search, Journal of Artificial Intelligence Research 24:933-944, AAAI Press.
Boutilier, C., Dean, T., Hanks, S. (1999), Decision-Theoretic Planning: Structural As-sumptions and Computational Leverage, Journal of Artificial Intelligence Research 11, 1-94.
Dai, P., Hansen, E. A. (2007), Prioritizing Bell-man Backups Without a Priority Queue, In-ternational Conference on Automated Plan-ning and Scheduling.
Geffner, H., Bonet, B.(2003), Labeled RTDP: Im-proving the convergence of Real-Time Dy-namic Programming, Proceedings of ICAPS 2003.
Givan,R., Leach, S., Dean, T. (1997), Bounded Parameter Markov Decision Processes, Arti-ficial Intelligence 122:234-246.
Haslum, P., Geffner, H. (2000), Admissible Heuristic for Optimal Planning, Proceedings of the Artificial Intelligence Planning Sys-tems 2000, 140-149.
McMahan, H.B., Likhachev, M., Gordon, G.J. (2005), Bounded real-time dynamic program-ming: RTDP with monotone upper bounds and performance guarantees, Proceedings of the 22nd international conference on Ma-chine learning, 569-576.
Moore, A., Atkenson, C. (1993), Prioritized Sweeping: Reinforcement Learning with less data and less real time, Machine Learning Journal 13:103-130.
Puterman, M. (1994), Markov Decision Processes - Discrete Stochastic Dynamic Programming, John Wiley and Sons, Inc..
Russell, S., Norvig, P. (1995), Artificial Intel-ligence: A Modern Approach, Prentice Hall Series in Artificial Intelligence, Englewood Cliffs, New Jersey.
Smith, T., Simmons, R. (2006), Focused Real-Time Dynamic Programing for MDPs: Squeezing More Out of a Heuristic, Proceed-ings of the National Conference on Artificial Intelligence (AAAI), Boston MA.
Wingate, D., Seppi, K. D. (2005), Prioritiza-tion Methods for Accelerating MDP Solvers, Journal of Machine Learning Research, 851-881.
Younes, H.L.S., Littman, M.L.(2003), PPDDL1.0: An extension to PDDL for expressing plan-ning domains with probabilistic effects. Tech-nical Report CMU-CS-04-167, Carnegie Mel-lon University.