sesión 12: procesos de decisión de markov
DESCRIPTION
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. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/1.jpg)
Sesión 12: Procesos de Decisión de Markov
![Page 2: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/2.jpg)
Incertidumbre - MDP, L.E. Sucar 2
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
![Page 3: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/3.jpg)
Incertidumbre - MDP, L.E. Sucar 3
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
![Page 4: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/4.jpg)
Incertidumbre - MDP, L.E. Sucar 4
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
![Page 5: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/5.jpg)
Incertidumbre - MDP, L.E. Sucar 5
Ejemplo de Modelo de Transición• Probabilidad dirección deseada = P(s’|s)=0.8• Probabilidad 2 direcciones vecinas = P(¬s’|s)=0.1
![Page 6: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/6.jpg)
Incertidumbre - MDP, L.E. Sucar 6
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)
![Page 7: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/7.jpg)
Incertidumbre - MDP, L.E. Sucar 7
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 ) = P(Hs) Uh(Hs)
![Page 8: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/8.jpg)
Incertidumbre - MDP, L.E. Sucar 8
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 terminalesR = -1/25 para los demás estados
![Page 9: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/9.jpg)
Incertidumbre - MDP, L.E. Sucar 9
Ejemplo – robot móvil
1
2
3
1 2 3 4
-1/25
-1/25
-1/25 -1/25
-1/25
-1/25
-1/25
-1/25
-1/25 -1/25
1
-1
![Page 10: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/10.jpg)
Incertidumbre - MDP, L.E. Sucar 10
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)
![Page 11: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/11.jpg)
Incertidumbre - MDP, L.E. Sucar 11
MDP
![Page 12: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/12.jpg)
Incertidumbre - MDP, L.E. Sucar 12
POMDP
![Page 13: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/13.jpg)
Incertidumbre - MDP, L.E. Sucar 13
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.
![Page 14: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/14.jpg)
Incertidumbre - MDP, L.E. Sucar 14
Ejemplo de Política
Inicio
![Page 15: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/15.jpg)
Incertidumbre - MDP, L.E. Sucar 15
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:
![Page 16: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/16.jpg)
Incertidumbre - MDP, L.E. Sucar 16
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)
![Page 17: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/17.jpg)
Incertidumbre - MDP, L.E. Sucar 17
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 j P(s’ | s,a) U(s’)• La política óptima esta dada por la acción que de
mayor utilidad:
P*(s) = arg maxa j P(s’ | s,a) U(s’)
![Page 18: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/18.jpg)
Incertidumbre - MDP, L.E. Sucar 18
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.792U(a=abajo) = [0.1*1-0.8*1/25 -0.1*1/25] = 0.064U(a=izq.) = [-0.1*1/25-0.8*1/25 +0.1*1] = 0.064U(s33) = -1/25 + max [.792, .064, -.064] = 0.752; P*(s31) = derecha
1
2
3
1 2 3 4
![Page 19: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/19.jpg)
Incertidumbre - MDP, L.E. Sucar 19
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
![Page 20: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/20.jpg)
Incertidumbre - MDP, L.E. Sucar 20
• 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.
Procesos de Decisión de Markov
![Page 21: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/21.jpg)
Incertidumbre - MDP, L.E. Sucar 21
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.
![Page 22: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/22.jpg)
Incertidumbre - MDP, L.E. Sucar 22
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 j P(sj | si,a) Ut(j)• Cuando tinf, los valores de utilidad
convergen a un valor estable
![Page 23: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/23.jpg)
Incertidumbre - MDP, L.E. Sucar 23
Iteración de Valor
Algoritmo:
– Inicializar: Ut = Ut+1 = R– Repetir:
• Ut=Ut+1
• Ut+1(s) = R(s) + maxa j P(s’ | s,a) Ut(s’)
– Hasta: | Ut-Ut+1 | <
![Page 24: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/24.jpg)
Incertidumbre - MDP, L.E. Sucar 24
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
![Page 25: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/25.jpg)
Incertidumbre - MDP, L.E. Sucar 25
Iteración de valor
• Para evitar problemas de valores muy grandes (infinito) de la utilidad esperada, normalmente se aplica un factor de descuento, 0<<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 j P(s’| s,a) Ut(s’)
![Page 26: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/26.jpg)
Incertidumbre - MDP, L.E. Sucar 26
VI – ejemplo robot• Analizando el estado s11
U(a=derecha) = [0.8*(-1/25)+0.1*(-1/25) +0.1*(-1/25)] = -0.04U(a=izquierda) = [0.8*(-1/25)+0.1*(-1/25) +0.1*(-1/25)] = -0.04U(a=arriba) = [0.8*(-1/25)+0.1*(-1/25) +0.1*(-1/25)] = -0.04U(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
1
2
3
1 2 3 4
-1/25
-1/25
-1/25 -1/25
-1/25
-1/25
-1/25
-1/25
-1/25 -1/25
1
-1
![Page 27: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/27.jpg)
Incertidumbre - MDP, L.E. Sucar 27
VI – ejemplo robot
1
2
3
1 2 3 4-0.08
-0.08
-0.08 -0.08
-0.08
0.752
-0.08
-0.08
1
-1
-0.08
-0.08
![Page 28: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/28.jpg)
Incertidumbre - MDP, L.E. Sucar 28
Ejemplo – utilidades de los estados
Inicio
0.812
0.762
0.868 0.912
0.660
0.6110.705 0.3380.655
![Page 29: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/29.jpg)
Incertidumbre - MDP, L.E. Sucar 29
Ejemplo – política óptima
Inicio
![Page 30: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/30.jpg)
Incertidumbre - MDP, L.E. Sucar 30
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.
![Page 31: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/31.jpg)
Incertidumbre - MDP, L.E. Sucar 31
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.
![Page 32: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/32.jpg)
Incertidumbre - MDP, L.E. Sucar 32
Escoger una política inicialHacer 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+ s’P(s´|s,a)U(s’)
• Q(s, ) = R+ s’P(s´|s,)U(s’)• Si maxa Q(s,a)> maxa Q(s,)
– Redefinir (s) : = argmaxa Q(s,a)– noMasCambios=false
Iteración de Política
![Page 33: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/33.jpg)
Incertidumbre - MDP, L.E. Sucar 33
Política Inicial
Inicio
![Page 34: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/34.jpg)
Incertidumbre - MDP, L.E. Sucar 34
Determinación de valor
• Simplificación de Iteración de valorUt+1:= R(s) + s’P(s’|s,(s)) Ut(s)
• Resolver sistema de ecuaciones para las utilidades
U(s)=R(s)+ s’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)
![Page 35: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/35.jpg)
Incertidumbre - MDP, L.E. Sucar 35
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)
![Page 36: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/36.jpg)
Incertidumbre - MDP, L.E. Sucar 36
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
![Page 37: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/37.jpg)
Incertidumbre - MDP, L.E. Sucar 37
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)
![Page 38: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/38.jpg)
Incertidumbre - MDP, L.E. Sucar 38
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)
![Page 39: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/39.jpg)
Incertidumbre - MDP, L.E. Sucar 39
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
![Page 40: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/40.jpg)
Ejemplo de Aplicación
Control de un generador de vapor utilizando un MDP
![Page 41: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/41.jpg)
Incertidumbre - MDP, L.E. Sucar 41
Sistema de generación de vapor
Flujo de agua
Flujo de vapor
Presión vapor
dmsv
fwv
Power Plant Domain
![Page 42: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/42.jpg)
Incertidumbre - MDP, L.E. Sucar 42
Espacio de controlRecommended curve
164166168170172174
176178180182184186
50% 60% 70% 80% 90% 100%
531 649 767 885 1003 1120
Flow of main steam (t/h)
Pres
sure
in th
e du
m (k
g/cm
2 g)
0
10987
30
6
54321
11
12 13 14 15 16 17
24 25 26 27 28
31 32 33 34 35
36
18 19 20 21 22 2329
3742
38 39 4043 44 45 46 47
41
![Page 43: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/43.jpg)
Incertidumbre - MDP, L.E. Sucar 43
Resultados preliminaresRecommended curve
164166168170172174
176178180182184186
50% 60% 70% 80% 90% 100%
531 649 767 885 1003 1120
Flow of main steam (t/h)
Pres
sure
in th
e du
m (k
g/cm
2 g)
0
10987
30
6
54321
11
12 13 14 15 16 17
24 25 26 27 28
31 32 33 34 35
36
18 19 20 21 22 2329
3742
38 39 4043 44 45 46 47
41
![Page 44: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/44.jpg)
Incertidumbre - MDP, L.E. Sucar 44
Arquitectura del Control
Planta
PID
MDP
Set point Nuevo Set point
ajuste
![Page 45: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/45.jpg)
Incertidumbre - MDP, L.E. Sucar 45
Demostración
![Page 46: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/46.jpg)
Incertidumbre - MDP, L.E. Sucar 46
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).
![Page 47: Sesión 12: Procesos de Decisión de Markov](https://reader033.vdocuments.co/reader033/viewer/2022061602/56814c08550346895db908f9/html5/thumbnails/47.jpg)
Incertidumbre - MDP, L.E. Sucar 47
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.