sesión 12: procesos de decisión de markov

47
Sesión 12: Procesos de Decisión de Markov

Upload: yosefu

Post on 19-Mar-2016

116 views

Category:

Documents


3 download

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 Presentation

TRANSCRIPT

Page 1: Sesión 12:  Procesos de Decisión de Markov

Sesión 12: Procesos de Decisión de Markov

Page 2: Sesión 12:  Procesos de Decisión de Markov

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

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

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

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

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

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

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

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

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

Incertidumbre - MDP, L.E. Sucar 11

MDP

Page 12: Sesión 12:  Procesos de Decisión de Markov

Incertidumbre - MDP, L.E. Sucar 12

POMDP

Page 13: Sesión 12:  Procesos de Decisión de Markov

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

Incertidumbre - MDP, L.E. Sucar 14

Ejemplo de Política

Inicio

Page 15: Sesión 12:  Procesos de Decisión de Markov

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Incertidumbre - MDP, L.E. Sucar 29

Ejemplo – política óptima

Inicio

Page 30: Sesión 12:  Procesos de Decisión de Markov

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

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

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

Incertidumbre - MDP, L.E. Sucar 33

Política Inicial

Inicio

Page 34: Sesión 12:  Procesos de Decisión de Markov

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

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

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

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

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

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

Ejemplo de Aplicación

Control de un generador de vapor utilizando un MDP

Page 41: Sesión 12:  Procesos de Decisión de Markov

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

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

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

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

Incertidumbre - MDP, L.E. Sucar 45

Demostración

Page 46: Sesión 12:  Procesos de Decisión de Markov

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

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.