Programação Dinâmica

1.4 – Por Reforco
1.4.2 – Metodos Baseados em Valor
1.4.2.1 – Programacao Dinamica
LEGENDA
Principal
Ramo
Metodo
Problemas
Modelo
Arquitetura

Problemas baseados em valor e programação dinâmica

A programação dinâmica resolve problemas de decisão sequencial. Ela é usada quando o modelo do ambiente é conhecido. Primeiramente, ela calcula funções valor de forma iterativa. Em segundo lugar, ela extrai políticas ótimas dessas funções. Por conseguinte, é uma ferramenta poderosa para planejamento. Este método é considerado a base teórica do aprendizado por reforço moderno.

Iteração de valor e iteração de política

A iteração de valor atualiza todos os estados simultaneamente. A fórmula é \( V_{k+1}(s) = \max_a \sum_{s’,r} p(s’,r|s,a) [r + \gamma V_k(s’)] \). Esse processo converge para V* após várias iterações. A iteração de política, por outro lado, alterna entre avaliação e melhoria. Primeiro, avaliamos a política atual. Depois, melhoramos ela guloso. Ambos os métodos são garantidos de convergir.

A avaliação de política é feita resolvendo \( V^\pi(s) = \sum_a \pi(a|s) \sum_{s’,r} p(s’,r|s,a) [r + \gamma V^\pi(s’)] \). Isso é um sistema de equações lineares. Na prática, usamos iteração para resolvê-lo. A melhoria de política atualiza com \( \pi'(s) = \arg\max_a \sum_{s’,r} p(s’,r|s,a) [r + \gamma V^\pi(s’)] \). O processo repete até que a política não mude mais.

Hiperparâmetros e arquitetura

O fator de desconto γ é o hiperparâmetro mais importante. Valores típicos são 0.9, 0.95 ou 0.99. O critério de convergência θ (theta) controla a precisão. Valores menores como 1e-6 dão resultados mais exatos. O número máximo de iterações evita loops infinitos. A arquitetura armazena valores em uma tabela (espaço discreto). Para espaços contínuos, usamos aproximadores como redes neurais. Contudo, programação dinâmica clássica assume tabela finita.

A complexidade computacional é O(|S|² × |A|). Isso pode ser pesado para muitos estados. Por isso, usamos técnicas de varredura assíncrona. A programação dinâmica é um método de planejamento. Ela não aprende por interação, mas sim por cálculo direto. Portanto, é diferente do Q-learning que é livre de modelo.

Exemplo clássico: grade com recompensas

Imagine uma grade 4×4 onde cada célula é um estado. O agente começa no canto superior esquerdo. O objetivo está no canto inferior direito. Recompensas: -0.1 por passo, +10 no objetivo. Paredes bloqueiam certas células. O ambiente é determinístico e conhecido. O objetivo é encontrar a política ótima. O código abaixo resolve com iteração de valor.

Deixe um comentário