Title: DAS-5341: M
1DAS-5341 Métodos de Solução para
Problemas de Aprendizagem por Reforço
- Prof. Eduardo Camponogara
2Métodos de Solução Elementares
- Programação Dinâmica
- Matematicamente fundamentados
- Necessitam de um modelo completo e acurado do
ambiente - Métodos Monte Carlo
- Não necessitam de um modelo
- Simples, mas podem ser lentos
- Métodos de Diferença Temporal
- Não necessitam de modelos
- Incrementais
- Observação os métodos variam em termos de
eficiência e taxa de convergência
3Programação Dinâmica
- O termo PD (Programação Dinâmica) se refere a uma
coleção de algoritmos que podem ser usados para
calcular políticas ótimas, dado um modelo
perfeito do ambiente em MDP (Markov Decision
Process) - MDP perfeito do ambiente
- S, conjunto de estados
- A(s), ações possíveis no estado s
- Ps,sa Prst1 s st s, at a
- Rs,sa Ert1 st1 s, st s, at a
4Programação Dinâmica
- PD pode ser aplicada a problemas cujos espaços de
estados e ações são contínuos ou discretos - Na prática, faz-se uso de discretização
- Equações de otimalidade de Bellman
-
- V(s) Max Eprt1 gågkrtk2 st s, at
a - a k 0
- Max å Ps,sa Rs,sa gV(s)
- a s
5Programação Dinâmica
- Equações de otimalidade de Bellman
- Q(s, a) Ert1 g Max Q(st1,a) st s,
at a - a
- å Ps,sa Rs,sa g Max Q(s,a)
- s a
6Avaliação de Política
- Questão dado um MDP e uma política p, como
podemos calcular Vp?
7Avaliação de Política
- Vp(s) Eprt1 grt2 g2rt3 st s
- Eprt1 gVp(st1) st s
- å p(s, a) å Ps,sa Rs,sa g Vp(s)
"s Î S - a s
8Avaliação de Política
- A existência de uma solução única é garantida se
g lt 1 - Se o ambiente é conhecido, temos um sistema de
S equações lineares e S variáveis - Possíveis métodos de solução
- Métodos de Álgebra Linear
- Processos iterativos síncronos e assíncronos
9Processo Iterativo
- Vk1(s) Eprt1 gVk(st1) st s
- å p(s, a) å Ps,sa Rs,sa g Vk(s)
"s Î S - a s
- Procedimento
- Iniciamos com V0 arbitrário
- Iteramos conforme acima, obtendo
- V0 V1 V2 Vk Vk1
- Teorema. Lim Vk Vp
- K
10Avaliação de Política Processo Iterativo
- Atualização Sequencial
- Utiliza-se dois vetores, um para armazenar Vk e
outro para Vk1 - Calcula-se Vk1 sem modificar Vk
- Atualização Simultânea
- Utiliza-se apenas um vetor
- Mesmo assim, o algoritmo iterativo também
converge para Vp e, tipicamente, converge mais
rapidamente - A ordem de atualização importa
11Melhorando a Política
- Uma das razões para se calcular a função valor de
uma política é guiar a busca de melhores
políticas - Considere uma a função valor Vp, gostaríamos de
saber se é recomendável escolhermos uma ação a
deterministicamente do que seguirmos a política - O valor de se escolher a deterministicamente é
- Qp(s,a) Eprt1 gVp(st1) st s, at
a - å Ps,sa Rs,sa g Vp(s)
- s
12Melhorando a Política
- Se Qp(s,a) gt Vp(s), então e melhor escolher a
ação a quando em s, depois seguir a política
p - Se espera obter maiores ganhos se sempre
escolhermos a no estado s, produzindo uma
política p superior - Teorema Policy Improvement Theorem Sejam p e p
dois pares de políticas determinísticas tal que - Qp(s, p(s)) ³ Vp(s) para todo s Î S
- Então a política p produz desempenho melhor ou
igual a p, ou seja, - Vp(s) ³ Vp(s) para todo s Î S
13Política Gulosa
- Uma extensão da idéia anterior é aplicarmos
melhoria de política em todos os estados e
ações, selecionando em cada estado a ação que
parece mais promissora de acordo com Qp(s, a) - Produzimos então a política gulosa p
- p(s) Argmax Qp(s, a)
- a
- Argmax Eprt1 gVp(st1) st s,
at a - a
- Argmax å Ps,sa Rs,sa g Vp(s)
- a s
14Política Gulosa
- A política gulosa p satisfaz as condições do
Policy Improvement Theorem, portanto p é tão boa
quanto p - O processo de melhorarmos a política original p,
por meio do procedimento guloso ou quase-guloso
com respeito à política original, é dito
melhoria de política (policy improvement)
15Política Gulosa
- Caso mais de uma ação produza o valor máximo,
então no caso estocástico pode-se selecionar
dentre as ações máximas com qualquer
probabilidade.
16Iteração de Política
- E I E
I I
E - po Vp0 p1 Vp1 p
Vp - E Policy Evaluation
- I Policy Improvement
- Convergência
- A cada iteração a política resultante é
estritamente melhor do que a anterior - Uma vez que um MDP finito possui um número finito
de políticas determinísticas, o processo acima
converge para uma política ótima e função valor
ótima
17Algoritmo
- 1) Inicialização
- V(s) Î R e p(s) Î A(s) são arbitrárias para
cada s Î S - 2) Avaliação de Política
- Repita
- D 0
- Para cada s Î S
- u V(s)
- V(s) å Ps,sp(s) Rs,sp(s) g V(s)
- s
- D Max(D, u V(s))
- Enquanto D ³ Q (um número positivo pequeno)
18Algoritmo
- 3) Iteração de Política
- Política-estável verdadeiro
- Para cada s Î S
- b p(s)
- p(s) Argmax å Ps,sa Rs,sa g V(s)
- a Î A(s) s
- If b ¹ p(s) então política_estável falso
- Se política_estável falso, vá para 2
- caso contrário, pare
19Exemplo -- GridWorld
- Estados não terminais S 1, , 14
- Para s Î S, as ações possíveis são A(s) up,
down, right, left, com resultado determinístico,
exceto as ações que levam para fora do quadro. - Ex P5,6right 1 e P5,10right 0
- O ganho é 1 em todas as transições até que um
estado terminal seja atingido - Estados terminais são os quadrados escuros
1 2 3
4 5 6 7
8 9 10 11
12 13 14
20Calculando Vp para p uniforme k 0
Política gulosa w.r.t Vk
Vk para política randômica
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0
21Calculando Vp para p uniforme k 1
Política gulosa w.r.t Vk
Vk para política randômica
0.0 -1.0 -1.0 -1.0
-1.0 -1.0 -1.0 -1.0
-1.0 -1.0 -1.0 -1.0
-1.0 -1.0 -1.0 0.0
22Calculando Vp para p uniforme k 2
Política gulosa w.r.t Vk
Vk para política randômica
0.0 -1.7 -2.0 -2.0
-1.7 -2.0 -2.0 -2.0
-2.0 -2.0 -2.0 -1.7
-2.0 -2.0 -1.7 0.0
23Calculando Vp para p uniforme k 3
Política gulosa w.r.t Vk
Vk para política randômica
0.0 -2.4 -2.9 -3.0
-2.4 -2.9 -3.0 -2.9
-2.9 -3.0 -2.9 -2.4
-3.0 -2.9 -2.4 0.0
24Calculando Vp para p uniforme k 10
Política gulosa w.r.t Vk
Vk para política randômica
0.0 -6.1 -8.4 -9.0
-6.1 -7.7 -8.4 -8.4
-8.4 -8.4 -7.7 -6.1
-9.0 -8.4 -6.1 0.0
25Calculando Vp para p uniforme k
Política gulosa w.r.t Vk
Vk para política randômica
0.0 -14 -20 -22
-14 -18 -20 -20
-20 -20 -18 -14
-22 -20 -14 0.0
26Exemplo Aluguel de Veículo
- João gerencia duas lojas de aluguel de veículos,
uma localizada na cidade A e outra, na cidade B - Todos os dias clientes se dirigem a uma das
lojas, havendo carro disponível na loja, João
aluga um veículo por 10, caso contrário o
negócio é perdido - Para fazer com que veículos estejam disponíveis
onde eles são procurado, veículos podem ser
transportados de uma loja para outra a um custo
de 2 por veículo
27Exemplo Aluguel de Veículo
- O número de veículos procurados e retornados em
uma loja são variáveis randômicas que obedecem a
distribuição de Poisson, ou seja, - P(veículos n) lne-l/n!,
- onde l é o número esperado
- Seja lpedido 3 e lretorno 3 na loja 1
- Seja lpedido 4 e lretorno 2 na loja 2
28Exemplo Aluguel de Veículo
- Para simplificar o problema, assumimos que
existem no máximo 20 carros em cada loja (carros
adicionais são retornados à matriz) - Assumimos que no máximo 5 carros podem ser
movidos de uma loja para outra - Modelagem podemos modelar o problema como um MDP
- O estado é o número de veículos em cada loja no
fim do dia - O passos correspondem a dias
- As ações correspondem ao número de veículos
transportados entre as lojas
29Iteração de Valor
- O ponto fraco do método Iteração de Política é a
avaliação de política a cada iteração, o que é
tipicamente custosoa avaliação é por si só um
processo iterativo que requer múltiplas
varreduras do espaço de estados - Se a avaliação de política é executada
iterativamente, então convergência exata para Vp
é garantida apenas no limite
30Iteração de Valor
- Devemos aguardar convergência para a função exata
ou podemos parar antes de atingi-la?
31Iteração de Valor
- Devemos aguardar convergência para a função exata
ou podemos parar antes de atingi-la? - Felizmente a avaliação da política pode ser
interrompida de diversas maneiras sem perdermos a
garantia de convergência. - Um caso especial é aquele onde executamos apenas
uma varredura do espaço de estados. Esse método é
chamado de Iteração de Valor.
32Iteração de Valor
- O Algoritmo Iteração de Valor pode ser escrito
como uma operação que combina melhoria de
política e avaliação truncada de política em um
só passo - Vk1(s) Max Ert1 gVk(st1) st s, at
a - a
- Max å Ps,sa Rs,sa g Vk(s) "s Î
S - a s
- Para V0 arbitrário, a sequência Vk converge
para V sob as mesmas condições que garantem a
existência de V
33Equação de Bellman
- Equação de Bellman para Vp
- Vp(s) å p(s,a) å Ps,sa Rs,sa g
Vp(s) "s Î S - a s
- Equação de Otimalidade de Bellman
- V(s) Max å Ps,sa Rs,sa g V(s)
"s Î S - a s
34Iteração de Valor
- Da mesma forma que iteração de política, iteração
de valor necessita de um número infinito de
iterações para convergência exata para V. - Na prática, interrompe-se o processo tão logo a
função sofra pequena modificação após uma
varredura completa do espaço de estados - Iteração de valor combina eficientemente uma
varredura de avaliação de política e uma
varredura de melhoria de política
35Algoritmo Iteração de Valor
- 1) Inicialize V arbitrariamente V(s) 0 " s Î
S - 2) Repita
- D 0
- Para cada s Î S
- u V(s)
- V(s) Max å Ps,sa Rs,sa g V(s)
- a s
- Max(D, u V(s))
- Enquanto D ³ Q (um número positivo pequeno)
36Algoritmo Iteração de Valor
- 3) Calcule a política determinística
- p(s) Argmax å Ps,sa Rs,sa g V(s) , "
s Î S - a s
37Programação Dinâmica Assíncrona
- O ponto fraco dos métodos DP (Dynamic
Programming) vistos até então é a necessidade de
varrer-se todos os estados a cada iteração - Algoritmos DP assíncronos são algoritmos
iterativos que não são organizados em termos de
varreduras sistemáticas do espaço de estados - Os valores podem ser atualizados em qualquer
ordem e frequência - Para que convergência seja obtida, eles devem
periodicamente visitar todos os estados
38Programação Dinâmica Assíncrona
- De qualquer forma, iteração assíncrona não
significa que a tarefa computacional será menos
pesada.
39Programação Dinâmica Assíncrona
- De qualquer forma, iteração assíncrona não
significa que a tarefa computacional será menos
pesada. - Ela nos dá flexibilidade que pode ser explorada
de forma a obtermos um algoritmo mais eficiente - Podemos, por exemplo, utilizar uma rede de
computadores
40Programação Dinâmica Assíncrona
- DP assíncrona nos permite misturar computação com
iteração em tempo-real. Para resolver um dado
Problema MDP, um agente pode intercalar
computações com interações com o ambiente - A experiência determina os estados cujos valores
devem ser atualizados. - Os valores mais recentes são usados para guiar o
agente no processo de tomada-de-decisão.
41Iteração de Política Generalizada
- Iteração de política consiste de dois processos
interativos simultâneos - Um fazendo a função valor consistente com a
política corrente (avaliação de política) e - Outro fazendo a política gulosa com respeito à
função valor corrente (melhoria de política) - Em iteração de política, os dois processos são
alternados, cada um terminando antes do outro
começar - Em iteração de valor, apenas uma iteração de
avaliação de política é executada entre cada
melhoria de política - Em DP assíncrono, avaliação e melhoria de
política são intercaladas de forma mais fina
42Iteração de Política Generalizada
- Enquanto que os dois processos sejam alternados e
todos os estados sejam visitados, os métodos
acima convergem para a função valor ótima e
política ótima. - Utilizamos o termo Iteração de Política
Generalizada (GPI) para nos referir à interação
entre i) o processo de avaliação e ii) o processo
de melhoria de política, independentemente da
granularidade
43Iteração de Política Generalizada
V Vp
V
p
p greedy(V)
V
p
44Eficiência da Programação Dinâmica
- DP pode não ser prático para problemas com número
muito grande de estados - Ignorando-se detalhes técnicos, no pior caso DP
leva tempo polinomial no número de estados e
ações para encontrar a política ótima - n S
- m Max A(s)
- s Î S
- Polinômio em m e n
45Eficiência da Programação Dinâmica
- DP é exponencialmente mais rápido do que qualquer
busca direta no espaço de estados, pois esta
teria que examinar cada uma das possíveis
políticas - Existe um número mn de políticas determinísticas
- Programação Linear pode ser utilizada para
resolver MDPs e, em alguns casos, o desempenho
pode ser superior - DP assíncrono é preferido em problemas com muitos
estados
46Fim