• Nenhum resultado encontrado

MDP: Solu¸ c˜ oes Baseadas em Programa¸ c˜ ao Dinˆ amica

Existem algoritmos cl´assicos para gerar pol´ıticas ´otimas em MDPs baseados em programa¸c˜ao dinˆamica com garantias de convergˆencia. Os algoritmos podem ser executados utilizando: atua- liza¸c˜oes s´ıncronas do valor de estado estimado, isto ´e, em que todos os estados s˜ao atualizados em cada itera¸c˜ao; ou ass´ıncronas, em que o valor de um estado ´e atualizado para alguns estados mais do que para outros e, ainda assim, mantendo-se as propriedades de convergˆencia. A atualiza¸c˜ao da estimativa de V (s) ´e chamada de Atualiza¸c˜ao de Bellman (Bellman Backup).

A seguir, discutimos dois algoritmos s´ıncronos para resolver MDPs de horizonte infinito, Iterac¸˜ao de Valor [Bellman, 1957] e Iterac¸˜ao de Pol´ıtica [Howard, 1960]) e tamb´em apresentamos um m´etodo de programa¸c˜ao dinˆamica ass´ıncrona, o algoritmo Programa¸c˜ao Dinˆamica em Tempo Real (RTDP) [Barto et al., 1995] e suas extens˜oes.

3.3.1 Programa¸c˜ao dinˆamica s´ıncrona

Um algoritmo bem conhecido para resolver um MDP ´e o algoritmo de Iterac¸˜ao de Valor (IV) [Puterman, 1994]. Ele faz uma s´erie de atualiza¸c˜oes da fun¸c˜ao valor Vt(Vtpode ser interpre- tada como o valor que o agente obter´a em t-est´agios-para-frente (t-stages-to-go)). Come¸cando com um V0 arbitr´ario, IV executa atualiza¸c˜oes de todos os estados s, calculando Vtbaseado em Vt−1. Para comprendermos o algoritmo IV usamos a fun¸c˜ao Q(s, a) (Equa¸c˜ao (3.4)) que representa o valor do estado s quando a a¸c˜ao a ´e usada, dada por:

Qt(s, a) = R(s, a) + γ X s0∈S

P (s0|s, a)Vt−1(s0) (3.7)

e o melhor valor poss´ıvel no est´agio de decis˜ao t e estado s ´e:

Vt(s) = max a∈AQ

t(s, a). (3.8)

O c´alculo da fun¸c˜ao valor Vt(s) = Backup(Vt−1, s) ´e a Atualiza¸c˜ao de Bellman. Na Figura

3.3. MDP: SOLUC¸ ˜OES BASEADAS EM PROGRAMAC¸ ˜AO DIN ˆAMICA 25

Figura 3.1: Exemplo de Atualiza¸c˜ao de Bellman para s0: Vt(s0) = maxa∈AQt(s0, a).

Figura 3.2: O algoritmo de Iterac¸˜ao de Valor executa Atualiza¸c˜oes de Bellman para um MDP com 2 estados, s1e s2, e 3 itera¸c˜oes, calculando Vt baseado em Vt−1.

Dadas as estimativas Vt−1 para os estados sucessores s1, s2, s3 e s4 (ap´os aplicar todas as a¸c˜oes poss´ıveis em s0, no exemplo da figura, a1 e a2), calculamos Qt(s0, a1) e Qt(s0, a2) usando a Equa¸c˜ao (3.7). O maior valor ´e usado para atualizar Vt(s0), que no exemplo ´e definido por Qt(s0, a2). A Figura 3.2, ilustra a execu¸c˜ao do algoritmo IV para t variando de 0 a 3, num MDP com apenas 2 estados, s1 e s2 e 2 a¸c˜oes a1 e a2. A Figura3.2n˜ao indica os valores selecionados como no exemplo da Figura 3.1. Por´em, mostra como o algoritmo de IV atualiza os valores de todos os estados a cada itera¸c˜ao usando o mesmo c´alculo ilustrado na Figura 3.1.

No horizonte infinito a fun¸c˜ao valor converge para V∗, sendo que Vt(s) ∼= Vt−1(s). Isso pode ser formalmente definido por:

26 CAP´ITULO 3. PROCESSO DE DECIS ˜AO MARKOVIANO

lim

t→∞maxs |V

t(s) − Vt−1(s)| = 0, (3.9)

resultando na pol´ıtica ´otima, determin´ıstica e estacion´aria π∗ = πV∞ [Puterman, 1994]. Para

solu¸c˜oes pr´aticas de MDPs, muitas vezes estamos apenas preocupados com -otimalidade. Se terminamos o algoritmo IV quando alcan¸camos a condi¸c˜ao:

max s |V

t(s) − Vt−1(s)| < (1 − γ)

2γ , (3.10)

ent˜ao garantimos que a pol´ıtica gulosa πVt n˜ao perde mais do que  na fun¸c˜ao valor sob um horizonte

infinito, quando comparado com π∗ [Puterman, 1994]. A express˜ao maxs|Vt(s) − Vt−1(s)| na Equa¸c˜ao (3.10) ´e chamada de Erro de Bellman (BE - Bellman Error ) e a express˜ao (1−γ) ser´a chamada de tolerˆancia (tol ) [Puterman, 1994]. Uma vez que o algoritmo de IV precisa atualizar o espa¸co de estados inteiro a cada itera¸c˜ao, o tempo de execu¸c˜ao para cada itera¸c˜ao deste algoritmo de programa¸c˜ao dinˆamica ´e O(|S|2∗ |A|).

Outro algoritmo cl´assico para resolver um MDP ´e o algoritmo de Iterac¸˜ao de Pol´ıtica (IP). Enquanto o algoritmo de Iterac¸˜ao de Valor melhora iterativamente o valor esperado estimado, o algoritmo de Iterac¸˜ao de Pol´ıtica seleciona uma pol´ıtica arbitr´aria inicial π0 e em cada itera¸c˜ao modifica a pol´ıtica de forma que o valor esperado seja aumentado. Neste algoritmo, cada itera¸c˜ao i ´e dividida em duas fases:

• Determina¸c˜ao do Valor, em que a pol´ıtica atual ´e avaliada, i.e., para cada estado s ∈ S, Vπi(s)

´e calculado baseado na pol´ıtica πi. Para fazer isso podemos resolver um sistema de equa¸c˜oes lineares.

• Aperfei¸coamento da Pol´ıtica, em que a pol´ıtica atual ´e melhorada: obtemos πi+1 que ´e a pol´ıtica gulosa com respeito a Vπi, i.e, para cada estado s ∈ S escolhemos uma a¸c˜ao a ∈ A

que maximiza Q(s, a), isto ´e:

πi+1(s) = max a∈A(Q(s, a)) (3.11) πi+1(s) = max a∈A R(s, a) + γ X s0∈S P (s0|s, a)Vπi(s 0 ) ! . (3.12)

O algoritmo termina quando πi+1(s) = πi(s) para todo s ∈ S. Para avaliarmos a complexidade dos algoritmos IV e IP, analisamos primeiro a complexidade de cada itera¸c˜ao. A fase de Deter- mina¸c˜ao do Valor pode ser resolvida atrav´es do sistema de equa¸c˜oes lineares em tempo O(|S|3) ou atrav´es de aproxima¸c˜oes sucessivas em O(|S|2∗ T ) (em que T ´e o n´umero de itera¸c˜oes para alcan¸car -otimalidade, no caso descontado T << |S|). A fase de Aperfei¸coamento de Pol´ıtica pode ser executada em O(|S|2∗ |A|). Portanto, o tempo de cada itera¸c˜ao para os algoritmos Iterac¸˜ao de Valor e Iterac¸˜ao de Pol´ıtica ´e polinomial e o tempo total tamb´em ´e polinomial se e somente se o n´umero de itera¸c˜oes necess´arias para encontrar uma pol´ıtica ´otima ´e polinomial [Littman et al.,

3.3. MDP: SOLUC¸ ˜OES BASEADAS EM PROGRAMAC¸ ˜AO DIN ˆAMICA 27

1995].

A principal desvantagem dos m´etodos de programa¸c˜ao dinˆamica s´ıncrona ´e que eles precisam atualizar o espa¸co de estados inteiro a cada itera¸c˜ao. Isso pro´ıbe a sua aplica¸c˜ao quando o espa¸co de estados ´e muito grande.

3.3.2 Programa¸c˜ao dinˆamica ass´ıncrona

Os m´etodos ass´ıncronos s˜ao mais flex´ıveis na sele¸c˜ao dos estados a serem atualizados, neste caso, o agente pode atualizar alguns estados mais do que outros. Um exemplo deste m´etodo ´e chamado de Programa¸c˜ao Dinˆamica em Tempo Real (RTDP - Real Time Dynamic Programming) [Barto et al., 1995]. Este m´etodo combina a busca heur´ıstica com atualiza¸c˜oes de programa¸c˜ao dinˆamica da fun¸c˜ao valor dos estados encontrados durante sess˜oes de simula¸c˜oes de a¸c˜oes, sendo que cada sess˜ao (trial ) ´e limitada em T est´agios, que corresponde a um limite de profundidade de uma sess˜ao de simula¸c˜ao [Barto et al., 1995]. RTDP resolve MDPs com as seguintes especifica¸c˜oes adicionais:

• I ⊆ S ´e um conjunto de estados iniciais e

• G ⊂ S ´e um conjunto, possivelmente vazio, de estados metas, modelados como estados absorventes com auto-transi¸c˜oes, recompensa 0 e com probabilidade 1 para todas as a¸c˜oes.

Em muitos problemas de planejamento, apenas uma pequena fra¸c˜ao do espa¸co de estados ´e relevante. Assim, a programa¸c˜ao dinˆamica s´o precisa se concentrar na atualiza¸c˜ao de um conjunto de estados alcan¸c´aveis (i.e., estados relevantes). Nestes problemas, ´e suficiente calcular uma pol´ıtica parcial, ou seja, uma pol´ıtica definida s´o para os estados relevantes. O algoritmo RTDP apresenta as seguintes vantagens:

• n˜ao avalia o espa¸co inteiro de estados, mas s´o os estados alcan¸c´aveis a partir do conjunto de estados iniciais e

• oferece um desempenho bom em qualquer instante, i.e, o algoritmo pode ser interrompido a qualquer momento, uma vez que as solu¸c˜oes fornecidas melhoram monotonicamente com o tempo.

RTDP primeiro inicializa ¯Vu (valor estimado de V∗) com um limite superior admiss´ıvel Vu0,

i.e., ¯Vu(s) ≥ V∗(s) ∀s ∈ S e a seguir, executa v´arias sess˜oes de simula¸c˜oes. Cada sess˜ao come¸ca com um estado aleat´orio do conjunto de estados iniciais I. Para cada estado encontrado durante uma simula¸c˜ao, o valor do limite superior ¯Vu(s) ´e atualizado e uma a¸c˜ao gulosa ´e escolhida (Figura

3.3). Durante uma sess˜ao de simula¸c˜ao, para obter o pr´oximo estado a ser visitado, RTDP sorteia um estado a partir da fun¸c˜ao de transi¸c˜ao P (·|s, a) (Figura 3.4), i.e.:

ChooseNextState(s, a) = s0 ∼ P (·|s, a). (3.13) RTDP termina uma simula¸c˜ao se encontrar um estado meta (ou objetivo) ou quando uma profundidade limitada ´e alcan¸cada (Figura 3.5). O algoritmo RTDP (Algoritmo 17) ´e detalhado no ApˆendiceA.

28 CAP´ITULO 3. PROCESSO DE DECIS ˜AO MARKOVIANO

Figura 3.3: RTDP atualiza ¯Vu e escolhe uma a¸c˜ao gulosa a2, isto ´e, aquela com o maior valor Qtu.

Figura 3.4: RTDP escolhe o pr´oximo estado a ser visitado s3 (simula¸c˜ao), baseado na distribu¸c˜ao de proba-

bilidade e um sorteio.

Comprovou-se que, dado um limite superior inicial admiss´ıvel para a fun¸c˜ao valor ¯Vu, a execu¸c˜ao de repetidas sess˜oes de simula¸c˜oes de RTDP encontra o valor ´otimo para todos os estados relevantes, ou seja, os estados alcan¸c´aveis a partir dos estados iniciais segundo uma pol´ıtica ´otima [Barto et al., 1995].

Note que este algoritmo ainda mant´em as propriedades de convergˆencia sob certas condi¸c˜oes. Para o caso descontado, em que estamos interessados, RTDP converge para um valor -´otimo sobre todos os estados relevantes, dada uma heur´ıstica admiss´ıvel (limite superior admiss´ıvel) e fazendo as sess˜oes de simula¸c˜oes com um limite de profundidade suficiente. Barto [Bonet and Geffner, 2003] descreve as condi¸c˜oes necess´arias para a convergˆencia de RTDP, no caso sem desconto.

3.4. MDP: SOLUC¸ ˜OES BASEADAS EM PROGRAMAC¸ ˜AO MATEM ´ATICA 29

Uma fraqueza do RTDP ´e que caminhos pouco prov´aveis tendem a ser ignorados e, consequen- temente, a convergˆencia do RTDP ´e lenta [Bonet and Geffner, 2003]. Assim, algumas extens˜oes do RTDP foram propostas a fim de melhorar a convergˆencia: Labeled RTDP (LRTDP) [Bonet and Geffner, 2003], Bounded RTDP (BRTDP) [McMahan et al., 2005] , Focused RTDP (FRTDP) [Smith and Simmons, 2006] e Bayesian RTDP [Sanner et al., 2009].

LRTDP [Bonet and Geffner, 2003] rotula os estados que j´a convergiram para evitar visit´a-los novamente e assim priorizar a visita aos demais. BRTDP [McMahan et al., 2005] mant´em limites superiores e inferiores da fun¸c˜ao valor ´otima, ¯Vu(s) e ¯Vl(s), respectivamente, e focaliza a busca em ´

areas onde o valor estimado est´a mais distante do valor ´otimo.

McMahan [McMahan et al., 2005] provou que a atualiza¸c˜ao dos limites superior e inferior ( ¯Vu(s) ≥ V∗(s) ∀s ∈ S e ¯Vl(s) ≤ V∗(s) ∀s ∈ S) durante o BRTDP preserva a admissibilidade da heur´ıstica e faz com que o BRTDP monotonicamente convirja para V∗(s) [McMahan et al., 2005], isto ´e:

lim t→∞

¯

Vlt(s) = V∗(s) = ¯Vut(s) .

A diferen¸ca entre os limites superior e inferior ( ¯Vut(s) − ¯Vlt(s)) fornece uma medida da incerteza do valor para o estado s. BRTDP primeiro inicializa ¯Vu e ¯Vl com valores superiores e inferiores admiss´ıveis e ent˜ao executa v´arias simula¸c˜oes. Cada simula¸c˜ao come¸ca escolhendo um estado inicial. Para cada estado visitado, os valores superior e inferior s˜ao atualizados e uma a¸c˜ao gulosa ´

e escolhida. BRTDP prioriza a escolha do pr´oximo estado de acordo com essa diferen¸ca. BRTDP termina uma simula¸c˜ao se: encontrar um estado meta, se uma profundidade limite for atingida ou se o valor da incerteza for pequeno. O algoritmo BRTDP (Algoritmo18) e o algoritmo que escolhe o pr´oximo estado a ser visitado por BRTDP (Algoritmo19) s˜ao mostrados no ApˆendiceA.

BRTDP converge pela simples raz˜ao de que ele ainda atualiza todos os estados relevantes que RTDP atualizaria com probabilidade n˜ao-zero, mas sorteia com base numa distribui¸c˜ao diferente, isto ´e, uma distribui¸c˜ao que predisp˜oe as atualiza¸c˜oes de estados mais incertos, a fim de reduzir essa incerteza mais rapidamente e assim convergir mais rapidamente [McMahan et al., 2005].

As solu¸c˜oes de programa¸c˜ao dinˆamica ass´ıncrona, no pior caso, possuem a mesma complexidade das solu¸c˜oes de programa¸c˜ao dinˆamica s´ıncrona (IV e IP). Por´em, dependendo do tamanho do conjunto de estados relevantes do problema em quest˜ao, as solu¸c˜oes do tipo RTDP podem resolver MDPs envolvendo milhares de estados.