🤖 Navegador Robótico — Iteración de Valores MDP en Vivo
Observa cómo la iteración de valores de un Proceso de Decisión de Markov real propaga los valores de los estados en vivo a través de una cuadrícula simulada, convergiendo a la política de navegación óptima genuina mediante actualizaciones de optimalidad de Bellman.
Acerca de esta simulación
Este simulador implementa un genuino Proceso de Decisión de Markov resuelto mediante iteración de valores: el método de programación dinámica basado en modelo que subyace a casi cualquier otro algoritmo de aprendizaje por refuerzo. Un robot en una cuadrícula ocupa uno de un conjunto de estados; cada acción que puede tomar tiene un resultado conocido, posiblemente estocástico, y cada transición conlleva una recompensa conocida. En lugar de dejar que un agente tropiece por el mundo por ensayo y error, la iteración de valores razona sobre todo el espacio de estados a la vez: cada barrido síncrono aplica la actualización de optimalidad de Bellman a todos los estados simultáneamente, propagando la información de la recompensa de la meta hacia atrás por la cuadrícula un salto por barrido, hasta que la función de valor deja de cambiar y la política óptima puede leerse directamente de ella.
🔬 Qué muestra
Una cuadrícula de estados, cada uno representado como una celda coloreada cuyo color codifica su estimación de valor actual V(s). En cada barrido, se aplica V(s) ← max_a Σ_s' P(s'|s,a)[R(s,a,s') + γV(s')] a todos los estados no terminales a la vez: la ecuación de optimalidad de Bellman real, no una aproximación. Un gráfico en vivo en escala logarítmica traza el cambio máximo de valor por barrido, que se reduce hacia cero a medida que los barridos convergen. Una vez convergido, unas flechas superpuestas en cada celda muestran la política óptima extraída π(s) = argmax_a Q(s,a), y un botón "Conducir política óptima" envía a un agente desde la celda de inicio hasta la meta, muestreando la transición estocástica real en cada paso.
🎮 Cómo usarlo
Ajusta el factor de descuento γ, la fiabilidad de transición P(intencionada) (la probabilidad de que una acción tenga éxito según lo previsto frente a desviarse 90° a la izquierda o derecha), el coste por paso y la penalización por golpe con obstáculo; cada cambio reinicia la función de valor para que puedas verla converger de nuevo bajo el nuevo MDP. Elige un preset de obstáculos (Disperso, Muro, Laberinto, Aleatorio) o haz clic en cualquier celda para alternarla como obstáculo. Usa Ejecutar barridos para iterar continuamente, Avanzar ×1 para avanzar una actualización de Bellman a la vez, y Conducir política óptima para ver al robot navegar usando la política convergida.
💡 ¿Sabías que...?
Como el operador de optimalidad de Bellman es una contracción-γ en la norma máxima, la iteración de valores está matemáticamente garantizada a converger a una única función de valor óptima sin importar los valores iniciales; la simulación inicializa cada V(s) en cero y aun así llega a la respuesta correcta. Esta garantía de convergencia es exactamente la razón por la que la iteración de valores (y su prima cercana, la iteración de políticas) siguen siendo las soluciones de referencia de los libros de texto con las que se juzgan métodos sin modelo como el Q-learning.
Preguntas frecuentes
¿Qué es exactamente la iteración de valores de un Proceso de Decisión de Markov?
La iteración de valores es un algoritmo de programación dinámica basado en modelo para resolver un Proceso de Decisión de Markov (MDP): un espacio de estados S, un espacio de acciones A, un modelo de transición conocido P(s'|s,a), una función de recompensa R(s,a,s'), y un factor de descuento γ. Partiendo de una función de valor arbitraria V(s), aplica repetidamente la actualización de optimalidad de Bellman V(s) ← max_a Σ_s' P(s'|s,a)[R(s,a,s') + γV(s')] a todos los estados simultáneamente (un barrido síncrono). Como esta actualización es una aplicación de contracción bajo γ<1, los barridos repetidos convergen demostrablemente a la única función de valor óptima V*, a partir de la cual la política óptima π*(s) = argmax_a Σ_s' P(s'|s,a)[R(s,a,s') + γV*(s')] puede leerse directamente.
¿En qué se diferencia esto del Q-learning u otro aprendizaje por refuerzo sin modelo?
La iteración de valores está basada en modelo: requiere que las probabilidades de transición P(s'|s,a) y la función de recompensa R(s,a,s') se conozcan de antemano, y calcula una expectativa exacta sobre cada posible resultado de cada acción en cada estado en cada barrido; no se necesita ninguna simulación ni exploración del entorno. El Q-learning (cubierto en la simulación de aprendizaje por refuerzo independiente de este sitio) no tiene modelo: el agente no conoce P ni R de antemano, así que debe actuar realmente en el entorno, observar transiciones muestreadas (s, a, r, s'), y actualizar incrementalmente Q(s,a) con una regla de diferencia temporal Q(s,a) ← Q(s,a) + α[r + γ·max_a' Q(s',a') − Q(s,a)]. La iteración de valores converge al V* exacto en un número acotado de barridos dado el modelo; el Q-learning converge solo asintóticamente, mediante exploración por ensayo y error, y no necesita ningún modelo de transición explícito. Esta simulación implementa deliberadamente el caso basado en modelo para que las dos familias de algoritmos se puedan distinguir claramente.
¿Por qué las transiciones de la cuadrícula son estocásticas en lugar de deterministas?
Los robots reales y los agentes físicos rara vez ejecutan una acción a la perfección: las ruedas resbalan, los sensores derivan y los suelos son irregulares. Esta simulación modela eso con un modelo de transición estocástico clásico: elegir moverse en una dirección dada tiene éxito con probabilidad P(intencionada) (ajustable, por defecto 0,80), mientras que la probabilidad restante se reparte por igual entre desviarse 90° a la izquierda y 90° a la derecha del rumbo deseado. La actualización de Bellman suma sobre los tres resultados posibles ponderados por sus probabilidades, que es exactamente lo que hace de esto un MDP genuino en lugar de una búsqueda de camino más corto determinista: la política óptima tiene que cubrirse ante la posibilidad de un deslizamiento no deseado contra una pared u obstáculo.
¿Cómo dan forma los componentes de la recompensa (recompensa de meta, penalización por obstáculo, coste por paso) a la política óptima?
Tres términos de recompensa se combinan para definir R(s,a,s'): un pequeño coste negativo por paso (por defecto −0,04) cobrado en cada movimiento no terminal, que presiona a la política óptima hacia caminos más cortos; una penalización por golpe con obstáculo o pared (por defecto −0,75) cobrada siempre que una transición sea bloqueada por una pared, un obstáculo o el límite de la cuadrícula, que presiona a la política a mantener un margen de seguridad alrededor de los obstáculos, especialmente cuando las transiciones son ruidosas; y una recompensa terminal de meta (+1) recibida al entrar en la celda objetivo, que es lo que hace que valga la pena alcanzar la meta. La iteración de valores propaga los tres a través de la actualización de Bellman, de modo que las celdas cercanas a la meta adquieren valores altos primero, y esa señal de alto valor se extiende hacia atrás, barrido tras barrido, hasta que cada estado alcanzable tiene una estimación precisa de su retorno esperado a largo plazo.
¿Cómo puedo saber que la función de valor realmente ha convergido?
Cada barrido síncrono registra el cambio absoluto máximo en el valor de cualquier estado, max_s |V_nuevo(s) − V_viejo(s)|, y la simulación traza esta cantidad en escala logarítmica frente al número de barrido. Como el operador de optimalidad de Bellman es una contracción-γ, esta secuencia de delta máximo está garantizada a reducirse monótonamente hacia cero; la simulación declara la convergencia una vez que cae por debajo de 1e-4. En ese punto, V(s) está dentro de un error pequeño y acotado del verdadero V*(s), y la política voraz extraída de él, π(s) = argmax_a Q(s,a), es la política óptima para el MDP tal como está configurado.
¿El factor de descuento γ cambia algo más que solo los valores numéricos?
Sí. γ controla cuánto influyen en el valor de un estado las recompensas muchos pasos en el futuro: con γ cercano a 1, las recompensas de meta lejanas se propagan casi sin disminuir por toda la cuadrícula, así que la política óptima planifica con antelación y está dispuesta a tomar desvíos más largos y seguros alrededor de los obstáculos. Con γ más cercano a 0,5, las recompensas futuras se descuentan bruscamente, así que la política se vuelve miope: puede aceptar una ruta más corta pero más arriesgada junto a un obstáculo porque el valor descontado de alcanzar la meta unos pasos después no vale mucho más que alcanzarla un paso antes. γ también controla la velocidad de convergencia: un γ más pequeño hace que el operador de Bellman contraiga más rápido, así que factores de descuento más bajos suelen converger en menos barridos.
Una cuadrícula de estados se resuelve mediante actualizaciones síncronas de optimalidad de Bellman: V(s) ← max_a Σ P(s'|s,a)[R(s,a,s') + γV(s')], con un modelo de transición estocástico (80% intencionado, 10%/10% desviación izquierda/derecha por defecto) y una función de recompensa de recompensa de meta, penalización por obstáculo y coste por paso. Curva de convergencia en vivo; política óptima extraída y conducida una vez convergida.
3D · Renderizador Three.js / WebGL · Objetivo 60 FPS · funciona completamente del lado del cliente, sin instalación