2. 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
3. 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
4. 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
6. 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)
7. 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 ) = S P(Hs) Uh(Hs)
8. 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 terminales
R = -1/25 para los demás estados
10. 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)
13. 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.
15. 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:
16. 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)
17. 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 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’)
18. 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.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
1
2
3
1 2 3 4
19. 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
20. 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
21. 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.
22. 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 Sj P(sj | si,a) Ut(j)
• Cuando tinf, los valores de utilidad
convergen a un valor estable
23. 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 Sj P(s’ | s,a) Ut(s’)
– Hasta: | Ut-Ut+1 | < e
24. 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
25. 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<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’)
30. 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.
31. 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.
32. Incertidumbre - MDP, L.E. Sucar 32
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
Iteración de Política
34. Incertidumbre - MDP, L.E. Sucar 34
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)
35. 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)
36. 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
37. 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)
38. 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)
39. 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
46. 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).
47. 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.