Sesión 12: Procesos de Decisión de Markov
Procesos de Decisión de Markov Procesos de Decisión Secuenciales Procesos de Decisión de Markov (MDP) Método de Iteración de Valor Método de Iteración de Política Procesos de Decisión de Markov Parcialmente Observables (POMDP) Aplicaciones Incertidumbre - MDP, L.E. Sucar
Problemas de decisión secuenciales Problema de decisión que involucra un conjunto de decisiones cuyo resultado (utilidad) se conoce hasta el final Se considera que se tiene una serie de estados y decisiones asociadas en el tiempo Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Modelo de Transición Normalmente existe incertidumbre respecto a los resultados de una decisión (acción) Esta incertidumbre se modela como una probabilidad de llegar al estado s’ dado que se encuentra en el estado s y se realiza la acción a: P(s’| s, a) Las transición entre estados sólo dependen del estado actual por lo que se consideran procesos markovianos Incertidumbre - MDP, L.E. Sucar
Ejemplo de Modelo de Transición Probabilidad dirección deseada = P(s’|s)=0.8 Probabilidad 2 direcciones vecinas = P(¬s’|s)=0.1 Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Historia ambiental Cuando solo se conoce la utilidad de los estados terminales, la utilidad de los estados restantes depende de una secuencia de estados (historia). Ejemplo: Uh = valor estado final – 1/25 (número de pasos) Incertidumbre - MDP, L.E. Sucar
Utilidad El valor de utilidad de un estado s depende de la secuencia de acciones tomadas a partir de dicho estado de acuerdo a la política establecida () En principio, se puede obtener como la utilidad esperada de todas las posibles secuencias de acciones (Hs) y la utilidad resultante para c/u: U(s) = UE( Hs ) = S P(Hs) Uh(Hs) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Utilidad Si la utilidad es separable, se puede estimar como la utilidad del estado presente y la utilidad de los siguiente estados La forma más sencilla es que sea una función aditiva: U[s0, s1, ... sn] = R(s0) + U[s1, ... sn] Donde R se conoce como la función de recompensa La función de recompensa en nuestro ejemplo es: R = +1, -1 para los estados terminales R = -1/25 para los demás estados Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Ejemplo – robot móvil 3 -1/25 -1/25 -1/25 1 2 -1/25 -1/25 -1/25 -1 1 -1/25 -1/25 -1/25 -1/25 1 2 3 4 Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Modelo de los Sensores Normalmente el agente puede sensar el ambiente para observar en que estado se encuentra. Existen dos casos principales: Observa directamente el estado donde se encuentra (ambiente accesible) Se tiene incertidumbre sobre el estado en que se encuentra (ambiente parcialmente observable) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar POMDP Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Política Óptima Una política indica la acción que se debe ejecutar dado el estado (o probabilidad del estado) Dado el modelo de transición y el modelo de los sensores, el objetivo es encontrar una política para maximizar la utilidad esperada la cual se conoce como política óptima. Al calculo de la política óptima en un ambiente accesible o parcialmente observable se le conoce como proceso de decisión de Markov, o proceso de decisión de Markov parcialmente observable. Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Ejemplo de Política Inicio Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Horizonte finito Los problemas con un número finito de pasos se conocen como MDP de horizonte finito. Si se tiene un número finito de pasos (n), entonces la política óptima se puede calcular eficientemente utilizando PD: Incertidumbre - MDP, L.E. Sucar
Programación Dinámica Algoritmo Se obtiene la utilidad de los estados en el paso n-1 en base a la utilidad de los estados terminales y se determina la mejor acción Se obtiene la utilidad de los estados en el paso n-2 en base al paso n-1, y así sucesivamente Al final se tiene la política óptima (mejor acción para cada estado) Incertidumbre - MDP, L.E. Sucar
Programación Dinámica Dada la condición de separabilidad, la utilidad de un estado se puede obtener en forma iterativa maximizando la utilidad del siguiente estado: U(s) = R(s) + maxa Sj P(s’ | s,a) U(s’) La política óptima esta dada por la acción que de mayor utilidad: P*(s) = arg maxa Sj P(s’ | s,a) U(s’) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar PD – ejemplo robot Asumiendo que se llega a la meta en n pasos: U(a=derecha) = [0.8*1-0.1*1/25 -0.1*1/25] = 0.792 U(a=abajo) = [0.1*1-0.8*1/25 -0.1*1/25] = 0.064 U(a=izq.) = [-0.1*1/25-0.8*1/25 +0.1*1] = 0.064 U(s33) = -1/25 + max [.792, .064, -.064] = 0.752; P*(s31) = derecha 3 2 1 Incertidumbre - MDP, L.E. Sucar 1 2 3 4
Incertidumbre - MDP, L.E. Sucar Horizonte infinito Los problemas en que puede haber un número infinito de pasos se conocen como MDP de horizonte infinito Muchos problemas, como el ejemplo del robot, son de horizonte infinito y no se pueden resolver directamente por PD. En el caso de horizonte infinito, se puede obtener la utilidad de los estados y en base a ésta la política óptima, mediante un método iterativo Incertidumbre - MDP, L.E. Sucar
Procesos de Decisión de Markov Formalmente un MDP se representa mediante la tupla M= {S, A, T, R} donde: S={s1, s2, .. sn} conjunto de estados A={a1, a2, …am} conjunto de acciones T= p(s’|s,ak) función de transición de estados de dimensión S X A X S. R=r(s, a, s’) función de recompensa de dimensión S X A X S. A(s) son las acciones aplicables al estado s. : s → a Política determinista de M que especifica la acción dado el estado. Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Iteración de Valor Un método clásico para resolver estos problemas se conoce como “iteración de valor” (value iteration) La idea básica es calcular la utilidad de cada posible estado y usar éstas para seleccionar la acción óptima en cada estado. El método converge cuando se alcanza una diferencia mínima (error) entre los valores de la iteración t respecto a la iteración t+1. Incertidumbre - MDP, L.E. Sucar
Iteración de Valor En cada iteración (t+1), se estima la utilidad de cada estado basada en los valores de la iteración anterior (t): Ut+1(i) = R(i) + maxa Sj P(sj | si,a) Ut(j) Cuando tinf, los valores de utilidad convergen a un valor estable Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Iteración de Valor Algoritmo: Inicializar: Ut = Ut+1 = R Repetir: Ut=Ut+1 Ut+1(s) = R(s) + maxa Sj P(s’ | s,a) Ut(s’) Hasta: | Ut-Ut+1 | < e Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Iteración de Valor ¿Cuántas veces repetir la iteración? Normalmente el número de iteraciones para obtener la política óptima es menor que el requerido para que las utilidades converjan En la práctica, el número de iteraciones es relativamente pequeño Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Iteración de valor Para evitar problemas de valores muy grandes (infinito) de la utilidad esperada, normalmente se aplica un factor de descuento, 0<g<1, para el valor de los siguientes estados El cálculo iterativo de la utilidad con el factor de descuento es entonces: Ut+1(s) = R(s) + maxa g Sj P(s’| s,a) Ut(s’) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar VI – ejemplo robot Analizando el estado s11 U(a=derecha) = [0.8*(-1/25)+0.1*(-1/25) +0.1*(-1/25)] = -0.04 U(a=izquierda) = [0.8*(-1/25)+0.1*(-1/25) +0.1*(-1/25)] = -0.04 U(a=arriba) = [0.8*(-1/25)+0.1*(-1/25) +0.1*(-1/25)] = -0.04 U(a=abajo) = [0.8*(-1/25)+0.1*(-1/25) +0.1*(-1/25)] = -0.04 U(s11) = -1/25 + max [-.04, -.04, -.04, -.04] = -0.08 3 -1/25 -1/25 -1/25 1 2 -1/25 -1/25 -1/25 -1 1 -1/25 -1/25 -1/25 -1/25 1 Incertidumbre - MDP, L.E. Sucar 2 3 4
Incertidumbre - MDP, L.E. Sucar VI – ejemplo robot 3 -0.08 -0.08 0.752 1 2 -0.08 -0.08 -0.08 -1 1 -0.08 -0.08 -0.08 -0.08 1 2 3 4 Incertidumbre - MDP, L.E. Sucar
Ejemplo – utilidades de los estados 0.812 0.868 0.912 0.762 0.660 0.705 0.655 0.611 0.338 Inicio Incertidumbre - MDP, L.E. Sucar
Ejemplo – política óptima Inicio Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Iteración de Política Este método inicia con una política cualquiera, la cual se mejora progresivamente determinando una acción por estado cuyo valor sea mayor al de la politica actual. La politica inicial puede ser aleatoria o basada en algun conocimiento previo del problema. El proceso termina cuando no se presente mejora alguna. Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Iteración de Política Policy iteration aprovecha el hecho de que la politica normalmente converge antes que los valores de utilidad. La política y los valores de utilidad se obtienen simultaneamente. Conforme la política va cambiando, se van actualizando los valores de utilidad de cada estado. Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Iteración de Política Escoger una política inicial Hacer U=R Repetir hasta noMasCambios Determinar el valor de utilidad para todos los estados U de acuerdo con la política actual noMasCambios=true Por cada estado s, calcular Q(s, a) = R+ Ss’P(s´|s,a)U(s’) Q(s, ) = R+ Ss’P(s´|s,)U(s’) Si maxa Q(s,a)> maxa Q(s,) Redefinir (s) : = argmaxa Q(s,a) noMasCambios=false Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Política Inicial Inicio Incertidumbre - MDP, L.E. Sucar
Determinación de valor Simplificación de Iteración de valor Ut+1:= R(s) + Ss’P(s’|s,(s)) Ut(s) Resolver sistema de ecuaciones para las utilidades U(s)=R(s)+ Ss’P(s’|s,(s)) U(s) Para el ejemplo: U(s11) = 0.8 U(s12) + 0.1 U(s11) + 0.1 U(s21) U(s12) = 0.8 U(s13) + 0.2 U(s12) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar POMDP En muchos problemas reales, no se puede observar exactamente el estado del agente, por lo que se tiene un POMDP Además de los elementos de un MDP, un POMDP incluye: Una función de observación que especifica la probabilidad de las observaciones dado el estado, P(O|S) Una distribución de probabilidad inicial para los estados, P(S) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar POMDP El enfoque exacto para resolver un POMDP consiste en considerar la distribución de probabilidad sobre los estados y en base a esta determinar las decisiones óptimas Para ello, se puede considerar un POMDP como un MDP en que los estados corresponden a la distribución de probabilidad El problema es que el espacio de estados se vuelve infinito y la solución exacta es muy compleja Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar POMDP Soluciones aproximadas: Asumir que el agente se encuentra en el estado más probable – se transforma en un MDP que se puede resolver por el método de iteración de valor Considerar un número finito de pasos y modelar el problema como una red de decisión dinámica – la aproximación depende del número de estados que se “ven” hacia delante (lookahead) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Ejemplo POMDP El robot detecta su posición con sonares Hay errores y ruido en las lecturas, alcance limitado Ciertas celdas son muy parecidas (1,2 – 3,2) Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Aplicaciones Manejo de inventarios Mantenimiento de equipos y carreteras Control de sistemas de comunicaciones Modelado de procesos biológicos Planeación en robótica móvil Construcción de mapas / localización Control de procesos industriales Incertidumbre - MDP, L.E. Sucar
Control de un generador de vapor utilizando un MDP Ejemplo de Aplicación Control de un generador de vapor utilizando un MDP
Sistema de generación de vapor Flujo de vapor Power Plant Domain Flujo de agua msv d fwv Presión vapor Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Espacio de control Incertidumbre - MDP, L.E. Sucar
Resultados preliminares Incertidumbre - MDP, L.E. Sucar
Arquitectura del Control Nuevo Set point Set point PID Planta ajuste MDP Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Demostración Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Referencias [Russell & Norvig] – Cap. 17 H. A. Taha, “Investigación de Operaciones”, Alfaomega, 1991 – Cap. 14 M. Puterman, “Markov Decision Processes”, Wiley, 1994. M. Agueda, P. Ibargüengoytia, “Control of a power plant using MDP and POMDP” (por publicarse). Incertidumbre - MDP, L.E. Sucar
Incertidumbre - MDP, L.E. Sucar Actividades Obtener los valores de utilidad para cada estado en el ejemplo del robot mediante el método de iteración de valor e iteración de política. Incertidumbre - MDP, L.E. Sucar