8 · Iteración de políticas
En vez de un único barrido-máx gigante, alterna dos pasos más baratos: evalúa por completo la política actual, luego hazla voraz. Cada ronda solo puede mejorar la política, y converge al mismo óptimo que la iteración de valor — normalmente en muy pocas rondas.
La iteración de políticas alterna dos pasos hasta que la política deja de cambiar: (1) evaluación — calcula V^π de la política actual; (2) mejora — haz la política voraz respecto a ese V^π. El teorema de mejora de políticas garantiza que cada ronda no empeora, y el bucle converge a la política óptima — la misma que encuentra la iteración de valor.
Sin esto:
Sin el bucle evaluar-luego-mejorar te faltaría la prueba más limpia de que la mejora voraz realmente funciona, y perderías la plantilla (iteración de políticas generalizada) que casi todo algoritmo de RL — incluido actor-crítico — instancia.
La iteración de valor pliega evaluación y mejora en un solo barrido-máx. La iteración de políticas las mantiene como dos pasos distintos que se alternan — y esa separación revela por qué funciona la mejora voraz.
Empieza desde cualquier política π (incluso una aleatoria) y repite:
- Evaluación de la política — calcula
V^πde la política actual (el barrido de expectativa de Bellman de la Lección 6, llevado a convergencia). - Mejora de la política — construye una nueva política que sea voraz respecto a
V^π: en cada estado elige la acción con el mayorrecompensa + γ·V^π(siguiente estado).
El teorema de mejora de políticas garantiza que la nueva política es al menos tan buena como la vieja en todos los estados. Así que cada ronda mejora estrictamente la política o la deja igual — y cuando una ronda la deja igual, la política es voraz respecto a su propio valor, que es justo la condición de optimalidad de Bellman. Así que hemos convergido a la política óptima.
Como solo hay un número finito de políticas deterministas y cada ronda mejora estrictamente (hasta el final), la iteración de políticas converge en un número pequeño de rondas — a menudo solo un puñado, aunque cada ronda haga una evaluación completa por dentro. Abajo la corremos en el gridworld desde una política aleatoria, contamos las rondas, imprimimos la política final, y confirmamos que coincide con la respuesta de iteración de valor de la lección anterior.
Python (in browser)
Iteración de políticas: alterna evaluación completa con mejora voraz. Converge en un puñado de rondas y alcanza EXACTAMENTE la misma política óptima que encontró la iteración de valor.
Python runs entirely in your browser via Pyodide (~6 MB on first Run, cached after).
La iteración de políticas parte de una política aleatoria pero converge en solo unas pocas rondas. ¿Qué garantiza que nunca empeora y se detiene en el óptimo?
- La iteración de políticas alterna evaluación (calcular V^π) y mejora (hacer la política voraz respecto a V^π) hasta que la política es estable.
- El teorema de mejora de políticas garantiza que cada ronda no empeora, así que el bucle converge — normalmente en muy pocas rondas — a la política óptima.
- Alcanza la MISMA política óptima que la iteración de valor; ambas son instancias de la iteración de políticas generalizada (GPI).
El GPI — alternar evaluación y mejora — es el esqueleto de casi todo algoritmo de control: SARSA, Q-learning y actor-crítico evalúan una estimación de valor y mejoran una política contra ella.
Si lo quitas: Sin el teorema de mejora de políticas no tendríamos garantía de que actuar de forma voraz sobre una estimación de valor mejora el comportamiento — la suposición que sostiene a todo controlador basado en valores.