7 · Iteración de valor
La ecuación de OPTIMALIDAD de Bellman reemplaza 'promediar sobre acciones' por 'tomar la mejor acción'. Barrerla es la iteración de valor — encuentra la función de valor óptima en unas pocas pasadas, y leerla de forma voraz da la política óptima.
La ecuación de OPTIMALIDAD de Bellman es V*(s) = max_a Σ_s' P(s'|s,a)[R + γ V*(s')]: el valor de actuar óptimamente es el valor de la única mejor acción. Barrer este backup-máx hasta converger es la iteración de valor; la política óptima es entonces 'ser voraz respecto a V*'.
Sin esto:
La evaluación de políticas solo te dice qué tan buena es una política FIJA. Sin la ecuación de optimalidad no tienes forma de calcular el MEJOR valor alcanzable ni de extraer directamente la política óptima.
Evaluar una política fija es útil, pero la meta real es la política óptima. El truco es un cambio en la ecuación de Bellman: en vez de promediar sobre las acciones que la política podría tomar, toma el máximo sobre las acciones. Esta es la ecuación de optimalidad de Bellman para la función de valor óptima V*:
V*(s) = max_a Σ_s' P(s'|s,a) · [ R(s,a,s') + γ · V*(s') ]
En palabras: el valor de actuar óptimamente desde s es el valor de la única mejor acción disponible ahí. (La forma de valor de acción es Q*(s,a) = Σ_s' P[R + γ max_a' Q*(s',a')].) No hay política en esta ecuación — describe directamente el comportamiento óptimo.
La iteración de valor lo convierte en un algoritmo: inicializa V en cero y aplica repetidamente el backup-máx a cada estado hasta que los valores dejen de cambiar. Cada barrido es una aplicación del operador de optimalidad, y ese operador es una contracción (encoge el error en un factor de γ cada barrido), así que converge demostrablemente al único V*.
Una vez que tenemos V*, la política óptima sale gratis: en cada estado, elige la acción cuyo backup es mayor — sé voraz respecto a V*. Abajo corremos iteración de valor en el gridworld, imprimimos la cuadrícula de valores óptimos, y dibujamos la política óptima voraz como flechas. Observa cómo serpentea alrededor de la trampa.
Python (in browser)
Iteración de valor: unos pocos barridos de backup-máx dan V*, y leer la acción voraz por celda da la política óptima. Las flechas forman un flujo limpio hacia la meta, rodeando la trampa.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
¿Cuál es la ÚNICA diferencia entre el backup de expectativa de Bellman (evaluación de políticas) y el backup de optimalidad de Bellman (iteración de valor)?
- La ecuación de optimalidad de Bellman usa max_a en vez de promediar: V*(s) = max_a (recompensa + γ × valor del siguiente estado).
- La iteración de valor barre el backup-máx hasta converger; el operador es una contracción, así que converge demostrablemente al único V*.
- La política óptima se obtiene actuando de forma voraz respecto a V* — elige la mejor acción en cada estado.
Q-learning y DQN son versiones muestreadas y sin modelo del mismo backup de optimalidad; el 'max sobre las acciones siguientes' en el objetivo de DQN es exactamente el operador de optimalidad de Bellman.
Si lo quitas: Sin la ecuación de optimalidad solo puedes evaluar políticas fijas, nunca calcular el mejor valor alcanzable ni derivar un controlador óptimo.