Tema 3 · Sutton & Barto, capítulo 4
Programación dinámica
Un solo tablero para todo el tema: la rejilla 4×4 del Example 4.1 del libro. Aquí se responden las preguntas que las diapositivas dejan en el aire: qué cuesta exactamente el umbral \(\theta\), cuándo una política mejora de verdad a otra, por qué la última línea del algoritmo de iteración de política puede no terminar nunca, cuántos barridos antes de que converja la evaluación ya está lista la política óptima, y qué dibuja la iteración de valor sobre la figura de las dos rectas.
Mapa del tema
| Concepto | De dónde sale | A dónde lleva |
|---|---|---|
| Los tres problemas | Las funciones de valor del T2 y el objetivo de encontrar \(\pi_*\) | Sitúa la DP: es planificación, y por eso exige el modelo \(p(s',r\mid s,a)\) |
| Predicción | La ecuación de Bellman para \(v_\pi\) del T2, convertida en asignación | Evaluación iterativa de la política → módulo 1 |
| Estrategia de búsqueda | No se puede buscar entre todas las políticas: son \(4^{14}\) | El bucle evaluar → mejorar → ¿ha cambiado? |
| Teorema de mejora | Comparar \(q_\pi(s,a)\) con \(v_\pi(s)\) | Da permiso para cambiar la política sin empeorarla → módulo 2 |
| Operador greedy | El teorema aplicado a todos los estados a la vez | Convierte una \(v\) en una política |
| Iteración de política | Predicción + operador greedy, alternados | Converge en un número finito de iteraciones → módulo 3 |
| Eficiencia | La figura 4.1: la política ya no cambia mucho antes de que \(v_k\) converja | Justifica truncar la evaluación → módulo 4 |
| Iteración de valor | Truncar la evaluación a un solo barrido | La actualización que reaparecerá como Q-learning en el T4 → módulo 5 |
| GPI | Olvidar la granularidad: evaluar y mejorar, en cualquier proporción | El esqueleto de casi todo el RL → módulo 6 |
De las funciones de valor a la política óptima
3_Tema3#slide-2 · material de Lucía: Tema3_DP#slide-3 · Sutton & Barto, cap. 4 (apertura) y §8.1
Del Tema 2 traemos dos cosas: las funciones de valor \(v_\pi\) y \(q_\pi\), que están siempre definidas respecto a una política, y la idea de que existe al menos una política óptima \(\pi_*\), que alcanza el máximo \(v_*(s)\) en todos los estados a la vez. Encontrar una de ellas es el objetivo central de la disciplina.
Casi siempre se empieza desde una política subóptima, a veces completamente arbitraria, y se usa esa política como punto de apoyo para buscar las óptimas. La programación dinámica es el conjunto de algoritmos que hacen eso cuando se dispone de un modelo perfecto del entorno en forma de MDP. Su receta cabe en una frase: convertir las ecuaciones de Bellman en reglas de actualización.
\[ v_\pi(s) = \sum_a \pi(a\mid s)\sum_{s',r} p(s',r\mid s,a)\,\big[\,r+\gamma v_\pi(s')\,\big] \]
Ojo con una diferencia que el Tema 4 hará explícita: la programación dinámica sustituye el valor antiguo por el nuevo. No hay tasa de aprendizaje \(\alpha\), no hay ninguna \(\alpha(\text{objetivo}-\text{estimación})\). Eso llegará cuando haya que aprender de muestras en vez de calcular esperanzas.
Los tres problemas
3_Tema3#slide-2 (los tres, literales) · material de Lucía: Tema3_DP#slide-3 (habla de dos sub-problemas) · Sutton & Barto §4.1 (predicción), §6.1 (control) y §8.1 (planificación)
Las tres definiciones, tal como se enuncian en clase:
- Predicción: encontrar los valores de \(v\) y \(q\) bajo una cierta política. Es lo que el libro llama policy evaluation.
- Control: encontrar una política que maximice la función de valor, es decir, una política óptima.
- Planificación: lo mismo que el control, pero haciendo uso de un modelo del entorno. Es cualquier proceso de cómputo que toma un modelo como entrada y produce o mejora una política.
Los métodos de planificación suelen aprender más rápido, pero rara vez se dispone de un modelo que sea a la vez fiable y lo bastante barato como para ejecutarlo millones de veces. Por eso en la práctica lo habitual es enfrentarse al problema de control. Aun así, muchísimos métodos de control se construyen sobre algoritmos de programación dinámica: ése es el motivo de dedicarle un tema entero a un método de planificación que exige un modelo que a menudo no existe.
Dos avisos honestos. Primero: en el material de la asignatura conviven dos versiones. Una habla de tres problemas (3_Tema3#slide-2) y la otra de dos sub-problemas, predicción y control, con la planificación «implícita en el hecho de que nos apoyamos en el modelo» (Tema3_DP#slide-3, material de Lucía). Esta página sigue la de los tres. Segundo: el capítulo 4 del libro solo define ahí la predicción; «control» aparece por primera vez en el capítulo 5 y «planificación» se define en la §8.1. Que la programación dinámica sea planificación es una afirmación del capítulo 8, no del 4.
Predicción: evaluación iterativa de la política
3_Tema3#slide-3 · material de Lucía: Tema3_DP#slide-4 y #slide-5 · Sutton & Barto §4.1, ecuaciones (4.4) y (4.5), y la caja Iterative Policy Evaluation
Dada una política, hay que obtener el valor de todos los estados. La ecuación de Bellman es un sistema de \(|\mathcal{S}|\) ecuaciones lineales con \(|\mathcal{S}|\) incógnitas: se puede resolver de golpe, y eso ya se hizo en el Tema 2. Aquí se resuelve iterando, que es lo que se hace en la práctica.
\[ v_{k+1}(s) \;\doteq\; \sum_a \pi(a\mid s)\sum_{s',r} p(s',r\mid s,a)\,\big[\,r+\gamma v_k(s')\,\big] \]
Cada iteración actualiza el valor de todos los estados una vez: a eso se le llama un barrido. La actualización se llama esperada porque promedia sobre todos los estados siguientes posibles, no sobre uno muestreado; ésa es justamente la diferencia que separará la programación dinámica de los métodos del Tema 4.
\(\mathcal{S}^+\) es el conjunto de estados incluyendo el terminal; \(\mathcal{S}\) son los no terminales. La inicialización de \(V\) es arbitraria salvo que \(V(\text{terminal})=0\), y el barrido recorre solo \(\mathcal{S}\). Si se olvida esa excepción, con \(\gamma=1\) la evaluación converge a algo que no es \(v_\pi\) y el error no está acotado.
El terminal está sombreado en dos esquinas de la figura, pero formalmente es un solo estado. En el motor de esta página hay dos casillas absorbentes de valor 0, lo cual es equivalente: ningún estado no terminal distingue a cuál de las dos llega.
El módulo 3 del Tema 2 ya iteraba la ecuación de Bellman sobre la rejilla 3×3 y anunciaba «…que es lo que hará la programación dinámica del Tema 3». Esto es la continuación: el mismo bucle, ahora sobre el tablero del libro, con el criterio de parada \(\Delta<\theta\) explícito y manipulable, y conectado con la mejora de la política.
MÓDULO 1
Evaluación iterativa y el umbral \(\theta\)
3_Tema3#slide-9 y #slide-10 · material de Lucía: Tema3_DP#slide-5 · Sutton & Barto §4.1, caja Iterative Policy Evaluation y figura 4.1
Determinista: no interviene la semilla.
Dos diapositivas consecutivas tituladas «Iteración de política: Algunas consideraciones» no contienen ni una sola consideración escrita: son únicamente las figuras del Example 4.1. Y la única que sí se llega a escribir en todo el tema —«la convergencia se da de forma asintótica, por eso debemos usar \(\theta\)»— no dice qué cuesta cada \(\theta\).
3_Tema3#slide-9, #slide-10 y Tema3_DP#slide-5 — el precio en barridos de cada umbral se mide aquí.La política es fija: la equiprobable, \(\pi(a\mid s)=0{,}25\), la misma de la figura 4.1. Mueve el umbral \(\theta\) y mira dos cosas a la vez: cuántos barridos cuesta cumplir \(\Delta<\theta\) y qué le pasa a la política greedy dibujada sobre la rejilla.
V(s) y la política greedy respecto a V
Cómo converge cada estado
Todavía no hay barridos: la curva aparece en cuanto des el primero.
La estrategia de búsqueda de una política óptima
3_Tema3#slide-4 (diagrama de flujo, manuscrito) · material de Lucía: Tema3_DP#slide-9 (el mismo diagrama, redibujado) · Sutton & Barto §4.3 y §4.7
Buscar directamente entre todas las políticas no es una opción: en esta rejilla de 14 estados no terminales y 4 acciones hay \(4^{14}\), más de 268 millones de políticas deterministas. La programación dinámica encuentra una óptima en tiempo polinómico en el número de estados y de acciones, y en ese sentido es exponencialmente más rápida que cualquier búsqueda directa.
La estrategia es un bucle de cuatro cajas: definir una primera política, predecir sus valores, preguntarse si se puede mejorar y, si se puede, mejorarla y volver a predecir. Fíjate en dónde se reengancha el bucle: entra otra vez en “predicción”, no en “definir la primera política”. La inicialización queda fuera del ciclo, y por eso cada evaluación arranca desde los valores de la política anterior en vez de desde cero.
La estrategia, con la misma topología que el diagrama de clase
Las dos piezas que faltan para cerrar ese bucle son las de los dos bloques siguientes: un criterio para saber si una política es mejor que otra (el teorema de mejora) y un procedimiento que produzca la política mejorada (el operador greedy).
Teorema de mejora de la política
3_Tema3#slide-5 · material de Lucía: Tema3_DP#slide-6 y #slide-8 · Sutton & Barto §4.2, ecuaciones (4.6), (4.7) y (4.8)
Trabajamos con políticas deterministas. Sean \(\pi\) y \(\pi'\) dos de ellas. Si en todos los estados se cumple que la acción que elige \(\pi'\) vale, según \(\pi\), al menos tanto como lo que \(\pi\) obtiene ahí:
\[ q_\pi\big(s,\pi'(s)\big) \;\ge\; v_\pi(s) \qquad \text{para todo } s\in\mathcal{S} \]
entonces \(\pi'\) es igual de buena o mejor que \(\pi\) en todos los estados:
\[ v_{\pi'}(s) \;\ge\; v_\pi(s) \qquad \text{para todo } s\in\mathcal{S} \]
Y si la primera desigualdad es estricta en algún estado, la segunda también lo es en ese estado. El caso particular que se usa todo el rato es el más simple: \(\pi'\) idéntica a \(\pi\) salvo en un estado. Ahí la condición se cumple sola en los demás estados y basta con comparar \(q_\pi(s,a)\) con \(v_\pi(s)\) en el estado que se cambia.
¿Y si la nueva política greedy resulta ser igual de buena, pero no mejor? Entonces \(v_\pi = v_{\pi'}\) y esa función de valor cumple \(v_{\pi'}(s)=\max_a\sum_{s',r}p(s',r\mid s,a)[r+\gamma v_{\pi'}(s')]\), que es exactamente la ecuación de optimalidad de Bellman. Luego \(v_{\pi'}=v_*\) y las dos políticas son óptimas. Dicho al revés: la mejora de política da siempre una política estrictamente mejor, salvo cuando la de partida ya era óptima. Ésa es la razón por la que “la política no ha cambiado” es un criterio de parada legítimo.
3_Tema3#slide-5
concluye «es evidente que π es igual o mejor que π′», con
las dos políticas intercambiadas. Del supuesto \(q_\pi(s,\pi'(s))\ge
v_\pi(s)\) se sigue que π′ es igual o mejor que π, que es
como está enunciado aquí y como aparece en Tema3_DP#slide-6 (material de Lucía).
Todo esto se extiende a políticas estocásticas sin cambios en el enunciado. Cuando varias acciones alcanzan el máximo no hace falta quedarse con una: se puede repartir la probabilidad entre ellas de cualquier manera, con la única condición de que las acciones no maximizadoras reciban probabilidad cero.
MÓDULO 2
Teorema de mejora: ¿cuándo \(\pi'\) es mejor que \(\pi\)?
Tema3_DP#slide-6 (solo material de Lucía) · 3_Tema3#slide-5 · Sutton & Barto §4.2, ecuaciones (4.6), (4.7) y (4.8) · valores exactos, resueltos como sistema lineal
Determinista: no interviene la semilla.
«¿Qué podemos afirmar sobre las políticas negra, roja, verde y azul?»
Tema3_DP#slide-6 (material de Lucía) — la diapositiva lanza la pregunta con insignia de Wooclap y no da la respuesta ni ahí ni en ninguna posterior.La política negra es \(\pi\): bajar hasta la última fila y luego ir a la derecha. Elige un estado, cámbiale una sola acción —la flecha roja— y mira qué pasa. El teorema solo pide comparar dos números: \(q_\pi(s,a)\), lo que vale la acción nueva medida con los valores de \(\pi\), y \(v_\pi(s)\), lo que \(\pi\) obtiene ahí.
Esta demo traslada al tablero 4×4 la figura de Tema3_DP#slide-6 (material de
Lucía), que plantea la misma pregunta sobre una rejilla 3×3 con cuatro políticas de
colores y la deja sin responder. Se conservan los colores: negra para \(\pi\), roja para la
alternativa.
Las dos políticas sobre la rejilla
Los cuatro valores de acción del estado elegido
De los \(14\times4=56\) cambios de una sola acción que se pueden hacer sobre \(\pi\), solo 2 mejoran de verdad. Encuéntralos. Los otros 54 o dan exactamente lo mismo o empeoran, y 24 de ellos rompen la política hasta el punto de que deja de terminar.
Operadores de mejora: el operador greedy
3_Tema3#slide-6 (diapositiva monográfica, solo en el material de Álvaro) · material de Lucía: Tema3_DP#slide-7 (la cadena completa) · Sutton & Barto §4.2, ecuación (4.9)
Para explotar el teorema y sacar algo práctico solo hace falta un operador de mejora: algo que, dada una función de valor, devuelva una política. El más común es el operador greedy: en cada estado, calcular el valor de acción de las cuatro acciones y quedarse con la que dé el máximo, rompiendo los empates de forma arbitraria.
\[ \pi'(s) \;\doteq\; \arg\max_a q_\pi(s,a) \;=\; \arg\max_a \sum_{s',r} p(s',r\mid s,a)\,\big[\,r+\gamma v_\pi(s')\,\big] \]
Esa segunda igualdad es la que permite trabajar solo con \(v\) en todo el tema: con
el modelo \(p(s',r\mid s,a)\) en la mano, las \(q\) se recuperan de las \(v\) con
una suma de un paso. Por eso los algoritmos se presentan sobre la función de valor de
estado, y las \(q\) aparecen únicamente donde hacen falta, dentro del argmax.
El material usa esta identidad sin nombrarla; aquí queda dicha.
Por construcción el operador greedy cumple la hipótesis del teorema en todos los estados, así que la política que devuelve es siempre igual o mejor que la de partida. Ese “romper empates de forma arbitraria” parece un detalle inofensivo, y no lo es: es exactamente lo que hace que el algoritmo del bloque siguiente pueda no terminar nunca.
La palabra “operador” no es del capítulo 4. El libro escribe (4.9) y nada más; los operadores de Bellman con su punto fijo aparecen mucho más tarde, en la §11.5. Es vocabulario estándar y útil, pero no se lo atribuyas al capítulo 4.
Iteración de política
3_Tema3#slide-7 y #slide-8 · material de Lucía: Tema3_DP#slide-10 a #slide-12 · Sutton & Barto §4.3 y la caja Policy Iteration
Ya tenemos las dos piezas: un algoritmo para predecir la función de valor de una política y un operador para mejorar una política dada. Alternándolas sale la iteración de política:
\[ \pi_0 \xrightarrow{\;E\;} v_{\pi_0} \xrightarrow{\;I\;} \pi_1 \xrightarrow{\;E\;} v_{\pi_1} \xrightarrow{\;I\;} \pi_2 \xrightarrow{\;E\;} \cdots \xrightarrow{\;I\;} \pi_* \xrightarrow{\;E\;} v_* \]
\(E\) es una evaluación (evaluation) completa de la política, y \(I\) es una mejora (improvement). Cada política es una mejora estricta de la anterior salvo que ya sea óptima, y como un MDP finito tiene un número finito de políticas deterministas, el proceso termina en un número finito de iteraciones. Además cada evaluación arranca con la función de valor de la política anterior, lo que la acelera mucho: la función de valor cambia poco de una política a la siguiente.
El algoritmo, tal como se proyecta en clase:
Iteración de política, para estimar π ≈ π_*
1. Inicialización
V(s) ∈ ℝ y π(s) ∈ A(s) arbitrarios para todo s ∈ S
2. Evaluación de la política
Repetir:
Δ ← 0
Para cada s ∈ S:
v ← V(s)
V(s) ← Σ_{s',r} p(s',r | s, π(s)) [ r + γ V(s') ]
Δ ← max(Δ, |v − V(s)|)
hasta que Δ < θ
3. Mejora de la política
política-estable ← verdadero
Para cada s ∈ S:
acción-antigua ← π(s)
π(s) ← argmax_a Σ_{s',r} p(s',r | s, a) [ r + γ V(s') ]
Si acción-antigua ≠ π(s), entonces política-estable ← falso
Si política-estable, parar y devolver V ≈ v_* y π ≈ π_*; si no, ir a 2
Dos cosas que mirar en esa caja antes de pasar de página. La primera: la inicialización no dice \(V(\text{terminal})=0\), aunque las otras dos cajas del capítulo sí lo dicen. La segunda, más grave: la última línea no siempre para. Las dos se trabajan en el módulo 3.
MÓDULO 3
Iteración de política, y la última línea que no siempre para
3_Tema3#slide-8 · material de Lucía: Tema3_DP#slide-11 · Sutton & Barto §4.3, caja Policy Iteration, y ejercicio 4.4 · actualización síncrona
“Si acción-antigua ≠ π(s), entonces política-estable ← falso.” Ninguna de las dos colecciones dice nada sobre esta línea. Cambia el desempate a aleatorio y mira el contador de rondas.
3_Tema3#slide-8 y Tema3_DP#slide-11 reproducen la caja tal cual, sin comentario. El libro lo deja como ejercicio 4.4.El algoritmo alterna dos fases: E, evaluar la política actual hasta que \(\Delta<\theta\), e I, mejorarla haciéndola greedy respecto a los valores recién calculados. Para cuando la fase I no cambia ninguna acción. Fíjate en cómo la última línea decide esa parada: comparando acciones, no valores.
V(s) y la política almacenada π(s)
Cuántas repeticiones han conseguido parar
Con este desempate el algoritmo para siempre en 2 o 3 rondas: no hay distribución que dibujar. Cambia a desempate aleatorio y desactiva la corrección.
\(\pi_0\) es la política equiprobable, como en la figura 4.1. Con \(\gamma=1\), una política determinista arbitraria puede no alcanzar el terminal y entonces su evaluación no converge: pruébalo en el módulo 2 con la flecha que choca contra la pared.
El algoritmo, tal como se implementa aquí
1. Inicialización
V(s) ← 0 para todo s ∈ S⁺ (incluido V(terminal) = 0)
π ← equiprobable (π(a|s) = 1/4)
2. Evaluación (fase E)
Repetir:
Δ ← 0
Para cada s ∈ S: (barrido síncrono: se escribe en una tabla nueva)
v ← V(s)
V(s) ← Σ_a π(a|s) Σ_{s',r} p(s',r|s,a) [ r + γ V(s') ]
Δ ← max(Δ, |v − V(s)|)
hasta que Δ < θ
3. Mejora (fase I)
política-estable ← verdadero
Para cada s ∈ S:
acción-antigua ← π(s)
M(s) ← { a : Σ_{s',r} p(s',r|s,a)[r + γ V(s')] ≥ max − ε } (ε = 1e-9)
π(s) ← desempate(M(s))
Si acción-antigua ∉ M(s) → política-estable ← falso [CORRECCIÓN ON]
Si acción-antigua ≠ π(s) → política-estable ← falso [CORRECCIÓN OFF]
Si política-estable, parar; si no, ir a 2
Eficiencia: la política óptima aparece antes
3_Tema3#slide-9 y #slide-10 (Example 4.1 y figura 4.1) · material de Lucía: Tema3_DP#slide-10 y #slide-12 · Sutton & Barto §4.3 (final) y figura 4.1
La figura 4.1 del libro pone en dos columnas la sucesión \(v_k\) de la política equiprobable y la política greedy respecto a cada \(v_k\). Y dibuja, sin decirlo con palabras, el hecho más importante del tema: la etiqueta “optimal policy” apunta a \(k=3\), a \(k=10\) y a \(k=\infty\). Es decir, la política greedy ya es óptima en el tercer barrido, cuando los valores todavía están a 19 unidades de su límite.
El libro lo confirma dos veces: en el pie de la figura («todas las políticas a partir de la tercera iteración son óptimas») y en la §4.4 («las iteraciones de evaluación más allá de las tres primeras no tienen ningún efecto sobre la política greedy correspondiente»). Y añade que en este ejemplo una sola iteración de iteración de política encuentra la política óptima.
Cuidado con la lectura fácil: el teorema solo garantiza que la política greedy es una mejora. Que en esta rejilla salga óptima a la primera es una peculiaridad del ejemplo, no una propiedad general.
MÓDULO 4
La política óptima aparece antes
3_Tema3#slide-10 · material de Lucía: Tema3_DP#slide-12 · Sutton & Barto, figura 4.1 y §4.4 · actualización síncrona
Determinista: no interviene la semilla.
En la figura del libro, la etiqueta “optimal policy” apunta con tres flechas a \(k=3\), \(k=10\) y \(k=\infty\). Ninguna diapositiva lo comenta. ¿Cuántos barridos de ventaja lleva la política sobre los valores?
3_Tema3#slide-10 y Tema3_DP#slide-12 · el pie de la figura 4.1 y la §4.4 del libro sí lo dicen.Esto es la figura 4.1 del libro, pero sin las cinco filas: puedes pararte en cualquier barrido. A la izquierda, \(v_k\) para la política equiprobable. A la derecha, la política greedy respecto a ese \(v_k\), con todas las acciones que empatan. Busca el barrido a partir del cual las flechas dejan de cambiar, y compáralo con lo que les falta a los números para llegar a su límite.
vk para la política equiprobable
Política greedy respecto a vk
Cuánto queda por delante
.pptx de clase
pero no en el PDF que se distribuye, que solo tiene 11 páginas. Si estudias
por el PDF, este módulo es la única versión que tienes de la figura 4.1.
Si la política ya está lista en el barrido 3, ¿para qué dar los otros 170? Ésa es exactamente la pregunta que responde el algoritmo del módulo siguiente.
Iteración de valor
3_Tema3#slide-11 y #slide-12 · material de Lucía: Tema3_DP#slide-13 a #slide-15 · Sutton & Barto §4.4, ecuación (4.10) y la caja Value Iteration
La pregunta que responde este algoritmo es la del bloque anterior: ¿hace falta esperar a que la evaluación converja para aplicar el operador de mejora? No. La evaluación se puede truncar de muchas formas sin perder las garantías de convergencia. El caso extremo —y el más eficiente por barrido— es truncarla a un solo barrido: greedificar después de cada actualización de todos los estados. Eso es la iteración de valor.
\[ v_{k+1}(s) \;\doteq\; \max_a \sum_{s',r} p(s',r\mid s,a)\,\big[\,r+\gamma v_k(s')\,\big] \]
Compárala con la de la evaluación: la única diferencia es que \(\sum_a \pi(a\mid
s)\) se ha convertido en \(\max_a\). Es la ecuación de optimalidad de Bellman
convertida en regla de actualización, igual que la de evaluación era la ecuación de Bellman
para \(v_\pi\) convertida en regla de actualización. Y no hay política explícita dentro del
bucle: se extrae una sola vez, al final, con un argmax.
Entre los dos extremos hay un continuo. Se puede intercalar cualquier número \(m\) de barridos de evaluación entre dos mejoras: con \(m=1\) sale la iteración de valor, con \(m\to\infty\) sale la iteración de política, y a menudo se converge antes con algún valor intermedio. Todas esas variantes convergen. \(m\) es notación de esta página, no del libro.
Guarda esta actualización: es la base de Q-learning. La versión para valores de acción, \(q_{k+1}(s,a)=\sum_{s',r}p(s',r\mid s,a)[\,r+\gamma\max_{a'}q_k(s',a')\,]\), es literalmente Q-learning con la esperanza calculada en vez de muestreada. En el Tema 4 la esperanza se sustituirá por una muestra y aparecerá la \(\alpha\).
MÓDULO 5
Iteración de valor: la evaluación truncada
3_Tema3#slide-11 · material de Lucía: Tema3_DP#slide-13 · Sutton & Barto §4.4, ecuación (4.10) y la caja Value Iteration · actualización síncrona
Determinista: la política greedy reparte probabilidad entre los empates, pero no se sortea nada; no interviene la semilla.
«¿Necesitamos esperar hasta que el proceso de evaluación haya convergido? ¿Qué pasa si aplicamos nuestro operador de mejora antes?»
3_Tema3#slide-11 (literal) y Tema3_DP#slide-13 — las dos colecciones responden enunciando el algoritmo, y saltan de «hasta convergencia» a «un solo barrido» sin mostrar nunca el caso intermedio.La iteración de valor no es un algoritmo aparte: es la iteración de política con la evaluación truncada a un solo barrido. Mueve \(m\) y compruébalo. Con \(m=1\), cada barrido hace a la vez una mejora y una evaluación, y la actualización se puede escribir de un tirón con un \(\max_a\) dentro. Con \(m=\infty\), la evaluación se completa antes de cada mejora, y eso es la iteración de política del módulo anterior.
Las dos actualizaciones, una encima de la otra. La única diferencia es el operador de delante:
\[ v_{k+1}(s) = \textcolor{gray}{\sum_a \pi(a\mid s)} \sum_{s',r} p(s',r\mid s,a)[\,r+\gamma v_k(s')\,] \quad\text{(evaluación)} \] \[ v_{k+1}(s) = \textcolor{gray}{\max_a\ \ \ \ } \sum_{s',r} p(s',r\mid s,a)[\,r+\gamma v_k(s')\,] \quad\text{(iteración de valor)} \]Ese contraste no está dibujado en ninguna diapositiva del tema, y es lo único que hay que retener.
V(s) y el argmax respecto a V
Cuánto cuesta cada m
El caso general, tal como se implementa aquí
V ← 0 en S⁺
Repetir:
(I) π ← greedy(V), quedándose con TODAS las acciones maximizadoras,
repartidas con probabilidad uniforme entre ellas
(E) m barridos de evaluación de π (o menos, si Δ < θ antes)
hasta que Δ < θ y π no cambie
La política greedy de este módulo reparte la probabilidad a partes iguales entre todas las acciones que empatan, que es lo que el libro permite. Con un desempate determinista y \(\gamma=1\), la evaluación de la primera política greedy no convergería.
Este puente solo aparece en el material de Lucía (Tema3_DP#slide-15). En el libro, el ejercicio 4.10 pide justamente esa versión, y la figura 8.6 pone “q-value iteration” y “Q-learning” en la misma fila.
Iteración generalizada de la política (GPI)
3_Tema3#slide-13 · material de Lucía: Tema3_DP#slide-16 · Sutton & Barto §4.6 y el diagrama de las dos rectas (sin numerar)
Iteración generalizada de la política es el nombre que se le da a la idea de dejar que los procesos de evaluación y de mejora interactúen, sin importar su granularidad ni sus detalles. Iteración de política y iteración de valor son dos casos particulares. Casi todos los métodos de aprendizaje por refuerzo se describen bien como GPI.
Los dos procesos compiten y colaboran. Compiten porque tiran en direcciones opuestas: hacer la política greedy respecto a la función de valor deja la función de valor incorrecta para la nueva política, y hacer la función de valor consistente con la política deja de ser greedy a la política. Colaboran porque cuando los dos se estabilizan a la vez, la función de valor es consistente con la política y la política es greedy respecto a ella: eso es exactamente la ecuación de optimalidad de Bellman, y por tanto las dos son óptimas.
En la figura de las dos rectas, cada recta es un objetivo. La de arriba, \(v=v_\pi\), es el conjunto de puntos donde la función de valor es consistente con la política: llegar a ella es evaluar la política. La de abajo, \(\pi=\text{greedy}(v)\), es donde la política es greedy respecto a la función de valor: llegar a ella es mejorar la política. Se cortan en \(v_*,\pi_*\).
La geometría real es mucho más complicada que dos rectas; el diagrama solo sugiere lo que pasa. Y las flechas que dibuja el libro son iteración de política, y solo iteración de política: cada una lleva el sistema hasta alcanzar por completo uno de los dos objetivos. Sobre los métodos que dan pasos incompletos el libro dice una sola frase: que también se pueden dar “pasos más pequeños e incompletos hacia cada objetivo”.
MÓDULO 6
Iteración generalizada de la política: las dos rectas
3_Tema3#slide-13 · material de Lucía: Tema3_DP#slide-16 · Sutton & Barto §4.6, diagrama de las dos rectas (sin numerar) · actualización síncrona
En la figura de las dos rectas, el material solo glosa la recta inferior («mejora la política»). La superior, \(v=v_\pi\), se queda sin el rótulo simétrico: nunca se dice que llegar a ella es evaluar la política.
Tema3_DP#slide-16 (material de Lucía); 3_Tema3#slide-13 no glosa ninguna de las dos. Y la trayectoria en zigzag que dibujan es iteración de política, cosa que tampoco dice ninguna.Cada punto de este plano es un par (función de valor, política). La recta de arriba, \(v=v_\pi\), es donde la función de valor es consistente con la política: llegar hasta ella es evaluar. La de abajo, \(\pi=\text{greedy}(v)\), es donde la política es greedy respecto a la función de valor: llegar hasta ella es mejorar. Se cortan en \(v_*,\pi_*\). La geometría real es mucho más complicada que dos rectas; el dibujo solo sugiere lo que pasa.
Las dos rectas y la trayectoria
Elige una trayectoria y pulsa “Un paso” o “Reproducir”.
Los dos residuos
Los dos residuos aparecen en cuanto la trayectoria dé su primer paso.
Las tres arrancan en el mismo sitio: \(V\equiv0\) y la política del módulo 2. Con \(V\equiv0\) todas las acciones empatan, así que cualquier política es greedy: por eso el recorrido empieza sobre la recta de abajo.
Los dos números que sitúan el punto son residuos medios sobre los catorce estados: \(e\) mide cuánto cambiaría \(V\) un barrido de evaluación, y \(g\) mide cuánto se pierde por no ser greedy. Cada uno vale cero exactamente sobre su recta. \(e\) y \(g\) son notación de esta página, no del libro.
Ecuaciones clave del tema
| Ecuación | Qué dice | Dónde se usa aquí |
|---|---|---|
| \(v_{k+1}(s)=\sum_a \pi(a\mid s)\sum_{s',r}p(s',r\mid s,a)[r+\gamma v_k(s')]\) | Un barrido de evaluación: el valor nuevo de \(s\) sale de los valores viejos de sus sucesores | módulos 1, 3, 4, 5 y 6 |
| \(\Delta \leftarrow \max(\Delta,|v-V(s)|)\), parar si \(\Delta<\theta\) | El criterio de parada: el mayor cambio de un barrido | módulos 1, 3 y 5 |
| \(q_\pi(s,a)=\sum_{s',r}p(s',r\mid s,a)[r+\gamma v_\pi(s')]\) | Con el modelo, las \(q\) se recuperan de las \(v\) con una suma de un paso | módulos 2, 3, 4 y 5 |
| \(q_\pi(s,\pi'(s))\ge v_\pi(s)\;\Rightarrow\;v_{\pi'}(s)\ge v_\pi(s)\) | Teorema de mejora: si la acción nueva no vale menos, la política nueva no es peor | módulo 2 |
| \(\pi'(s)\doteq\arg\max_a q_\pi(s,a)\) | El operador greedy, con empates rotos de forma arbitraria | módulos 2, 3, 4, 5 y 6 |
| \(v_{k+1}(s)=\max_a\sum_{s',r}p(s',r\mid s,a)[r+\gamma v_k(s')]\) | Iteración de valor: la de evaluación con \(\max_a\) en vez de \(\sum_a\pi(a\mid s)\) | módulos 5 y 6 |
| \(q_{k+1}(s,a)=\sum_{s',r}p(s',r\mid s,a)[r+\gamma\max_{a'}q_k(s',a')]\) | La misma, para valores de acción: el antepasado directo de Q-learning | módulo 5, solo como texto |
Seis confusiones que cuestan puntos
| Confusión | Corrección |
|---|---|
| “La política greedy respecto a \(v_\pi\) es óptima.” | Solo está garantizada como mejora. Que en esta rejilla salga óptima a la primera es una peculiaridad del ejemplo (Sutton & Barto §4.3 y pie de la figura 4.1). El módulo 4 lo comprueba barrido a barrido. |
| “Hay que esperar a que la evaluación converja para poder mejorar.” | No. La evaluación converge solo en el límite, y la política greedy deja de cambiar mucho antes: en esta rejilla, en el barrido 3 de 173 (Sutton & Barto §4.4). Es la razón de ser de la iteración de valor. |
| “La iteración de valor es evaluar la política greedy.” | No: en la iteración de valor el \(\max\) está dentro de la actualización, y no hay política explícita hasta que se extrae al final (Sutton & Barto §4.4, ecuación 4.10 y su caja). |
| “La programación dinámica también tiene tasa de aprendizaje.” | No. La actualización esperada sustituye el valor; no hay \(\alpha\). La distinción esperada / muestreada es justo lo que separará la DP de los métodos del Tema 4 (Sutton & Barto §8.5, figura 8.6). |
| “Da igual inicializar \(V\) como sea.” | Arbitrario salvo el terminal, que debe valer 0 (Sutton & Barto §4.1). Con \(\gamma=1\), si \(V(\text{terminal})\ne 0\) la evaluación converge a algo que no es \(v_\pi\) y el error no está acotado. La caja de iteración de política del libro omite justo esa condición. |
| “Si la política no cambia entre dos barridos, el algoritmo para.” | Solo si comparas optimalidad, no identidad de acción. Con empates y desempate arbitrario, la política puede cambiar sin mejorar nada, y el algoritmo entra en un bucle (Sutton & Barto, ejercicio 4.4). El módulo 3 lo hace ocurrir. |
Qué hay que llevarse
- Predicción, control y planificación no son sinónimos: la programación dinámica resuelve control usando un modelo, y por eso es planificación.
- Bajar el umbral \(\theta\) de \(10^{-1}\) a \(10^{-4}\) pasa de 47 a 173 barridos y no cambia ni una flecha de la política greedy.
- \(\pi'\) mejora a \(\pi\) exactamente cuando \(q_\pi(s,\pi'(s))\ge v_\pi(s)\); en la política de partida del módulo 2, solo 2 de los 56 cambios posibles mejoran de verdad.
- El operador greedy no promete mejora estricta: si hay igualdad, las dos políticas son óptimas. Ése es el criterio de parada de la iteración de política.
- La última línea del pseudocódigo compara acciones, no valores: con desempate aleatorio, la probabilidad de parar en una ronda es 1/256 en esta rejilla.
- La política óptima está lista en el barrido 3; la evaluación necesita 173 para llegar a \(-14/-20/-22\). Ésa es toda la motivación de la iteración de valor.
- Iteración de política e iteración de valor son el mismo esquema con distinto reparto de esfuerzo: \(m=\infty\) frente a \(m=1\). En esta rejilla, 178 barridos frente a 4.
Glosario de notación del tema
| Símbolo | Significado | Dónde aparece |
|---|---|---|
| \(V(s)\) | estimación en curso de \(v_\pi\) o \(v_*\); mayúscula = array de estimaciones, minúscula = valor verdadero | las tres cajas de pseudocódigo (bloque «Iteración de política» y módulos 3 y 5) y los módulos 1, 3, 5 y 6 |
| \(\Delta\) | mayor cambio absoluto de un barrido; condición de parada \(\Delta<\theta\) | bloque «Predicción», las cajas de pseudocódigo y la métrica «Cambio máximo» de los módulos 1, 3 y 5 |
| \(\mathcal{S}^+\) | estados incluyendo el terminal; \(\mathcal{S}\) son los no terminales | bloque «Predicción» y las cajas de pseudocódigo de los módulos 3 y 5 |
| \(v_k\) | la sucesión de aproximaciones de la evaluación iterativa | bloques «Predicción» y «Eficiencia de las iteraciones», módulos 4 y 5, y las ecuaciones clave |
| \(\doteq\) | igualdad por definición | las ecuaciones de los bloques de predicción, operadores de mejora e iteración de valor, y la tabla de ecuaciones clave |
| \(\pi'\) | política alternativa / mejorada | bloques «Teorema de mejora» y «Operadores de mejora», módulo 2 y las ecuaciones clave |
| \(\theta\) | umbral escalar de parada. Nunca el vector de parámetros de política del Tema 6 | deslizador del módulo 1; parámetro fijo declarado en los módulos 3 y 5 |
| \(T\) | etiqueta de celda del estado terminal. En el Tema 3 no se usa en ninguna fórmula: las fórmulas dicen \(V(\text{terminal})=0\), como el libro | las dos esquinas de las rejillas de los módulos 1 a 5 |
| \(m\) | notación propia de este recurso: barridos de evaluación entre dos mejoras. No es del libro | deslizador y curva de coste del módulo 5 |
| \(e\), \(g\) | notación propia de este recurso: residuos de evaluación y de mejora. No son del libro | las dos barras de residuos del módulo 6 |
| \(p(s',r\mid s,a)\) | dinámica del MDP | las ecuaciones de los bloques y las cajas de pseudocódigo de los módulos 3 y 5 |
| \(\pi(a\mid s)\), \(\pi(s)\) | política estocástica / determinista | todos los bloques y los seis módulos |
| \(v_\pi\), \(q_\pi\), \(v_*\), \(q_*\) | funciones de valor verdaderas | todos los bloques y los seis módulos |
| \(\gamma\) | descuento; aquí siempre 1 | las ecuaciones de todos los bloques; declarado como dato fijo en los módulos 3 y 5 |
| \(k\) | número de barrido de evaluación | deslizador «Barrido \(k\)» del módulo 4, eje de las gráficas de los módulos 1 y 4, y bloque «Eficiencia de las iteraciones» |
Dos avisos de notación. \(V(s)\), \(\Delta\) y \(\mathcal{S}^+\) aparecen en todas las cajas de pseudocódigo pero no están en el fichero de notación de la asignatura; aquí se usan como los usa el libro. Y \(\theta\) tiene dos sentidos en el curso: en el Tema 3 es siempre un umbral escalar, nunca el vector de parámetros de la política del Tema 6.