Aprendizaje por refuerzo para coordinación de decisiones en

Anuncio
Instituto Nacional de Astrofı́sica,
Óptica y Electrónica
Aprendizaje por refuerzo para coordinación
de decisiones en procesos concurrentes
por
Aarón Junior Rocha Rocha
Tesis sometida como requisito parcial para obtener el
grado de Maestro en Ciencias Computacionales en el
Instituto Nacional de Astrofı́sica, Óptica y Electrónica
Asesores
Dr. Jóse Enrique Muñoz de Cote Flores
Dr. Saúl Eduardo Pomares Hernández
Tonantzintla, Puebla.
INAOE 2012
Resumen
Muchas aplicaciones del mundo real demandan soluciones que son difı́ciles
de implementar. Es una práctica común que los diseñadores de sistemas recurran a teorı́a multi-agente, donde un problema es dividido en sub-problemas y
cada uno es manejado por un agente autónomo.
No obstante, nuevas preguntas surgen, ¿Cómo deberı́a de dividirse el problema? ¿Cómo deberı́a de ser la tarea para cada agente? y ¿Qué información
deberı́an necesitar un agente para procesar la tarea? Además, pueden surgir
conflictos entre las soluciones parciales de los agentes (acciones) como consecuencia de su autonomı́a. Ası́ que otra pregunta serı́a ¿Cómo deberı́an de ser
resueltos dichos conflictos?
En este trabajo conducimos un estudio para responder algunas de estas
preguntas bajo un esquema multi-agente. El esquema propuesto garantiza encontrar una solución óptima al problema original. Esto al costo de una baja
velocidad, pero que puede ser ajustada para obtener un balance entre velocidad
y optimalidad. Entonces, presentaremos un análisis experimental (inspirado en
una aplicación de robótica) que muestra curvas de aprendizaje hasta converger
a optimalidad y su compensación entre mejores velocidades de aprendizaje y
sub-optimalidad.
2-1
ii
iii
Abstract
Many real world applications demand solutions that are difficult to implement. It is common practice for system designers to recur to multi-agent theory,
where the problem at hand is broken in sub-problems and each is handled by
an autonomous agent.
Notwithstanding, new questions emerge, like how should a problem be broken? What the task of each agent should be? And what information should
they need to process their task? Furthermore, conflicts between agents’ partial
solutions (actions) may arise as a consequence of their autonomy. So one more
question is how should conflicts be solved?
In this paper we conduct a study to answer some of those questions under
a multi-agent learning framework. The proposed framework guarantees an
optimal solution to the original problem, at the cost of a low learning speed,
but can be tuned to balance between learning speed and optimality. We then
present an experimental analysis (inspired on a robotics application) that shows
learning curves until convergence to optimality and its trade-off between better
learning speeds and sub-optimality.
iv
Índice general
Resumen
i
Lista de figuras
ix
Lista de tablas
xi
1 Introducción
1
1.1
Definición del problema . . . . . . . . . . . . . . . . . . . . . . .
3
1.2
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4
1.2.1
Objetivo general . . . . . . . . . . . . . . . . . . . . . .
4
1.2.2
Objetivo especı́fico . . . . . . . . . . . . . . . . . . . . .
4
1.3
Organización de la tesis
. . . . . . . . . . . . . . . . . . . . . .
2 Modelos de Decisión de Markov
4
7
2.1
Procesos de Decisión de Markov . . . . . . . . . . . . . . . . . .
8
2.2
Procesos de Decisión de Markov Multi-agente . . . . . . . . . .
9
2.3
Procesos de Decisión de Markov Descentralizado . . . . . . . . .
10
2.4
Modelos de comportamiento óptimo . . . . . . . . . . . . . . . .
11
2.5
Métodos de solución de MDPs . . . . . . . . . . . . . . . . . . .
12
2.6
Trabajo relacionado . . . . . . . . . . . . . . . . . . . . . . . . .
15
2.7
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
19
vi
ÍNDICE GENERAL
3 Aprendizaje por refuerzo
21
3.1
Agentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
3.2
Modelo de aprendizaje por refuerzo . . . . . . . . . . . . . . . .
22
3.2.1
Algoritmos de aprendizaje . . . . . . . . . . . . . . . . .
22
SARSA . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
Q-learning . . . . . . . . . . . . . . . . . . . . . . . . .
23
Trabajo relacionado . . . . . . . . . . . . . . . . . . . . . . . . .
24
3.3
4 Esquema propuesto
4.1
4.2
4.3
Modelo conceptual . . . . . . . . . . . . . . . . . . . . . . . . .
28
4.1.1
Niveles de percepción del agente . . . . . . . . . . . . . .
30
Instanciación del esquema: arquitectura del sistema . . . . . . .
31
4.2.1
Módulo de detección y solución de conflictos . . . . . . .
32
4.2.2
Módulo de utilidades . . . . . . . . . . . . . . . . . . . .
33
4.2.3
Módulo de agente . . . . . . . . . . . . . . . . . . . . . .
37
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
5 Experimentos y resultados
5.1
27
41
Caso de estudio . . . . . . . . . . . . . . . . . . . . . . . . . . .
41
5.1.1
Escenario experimental . . . . . . . . . . . . . . . . . . .
42
5.1.2
Agentes . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
5.2
Descripción de los experimentos . . . . . . . . . . . . . . . . . .
45
5.3
Tendencia de las utilidades . . . . . . . . . . . . . . . . . . . . .
46
5.3.1
Experimentos . . . . . . . . . . . . . . . . . . . . . . . .
47
5.3.2
Discusión . . . . . . . . . . . . . . . . . . . . . . . . . .
50
Polı́tica final aprendida . . . . . . . . . . . . . . . . . . . . . . .
50
5.4
ÍNDICE GENERAL
5.5
vii
5.4.1
Experimentos . . . . . . . . . . . . . . . . . . . . . . . .
51
5.4.2
Discusión . . . . . . . . . . . . . . . . . . . . . . . . . .
51
Relación NP-utilidades y NP-convergencia . . . . . . . . . . . .
56
5.5.1
Experimentos . . . . . . . . . . . . . . . . . . . . . . . .
57
5.5.2
Discusión . . . . . . . . . . . . . . . . . . . . . . . . . .
57
6 Conclusiones y trabajo futuro
61
6.1
Conclusiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
61
6.2
Trabajo futuro . . . . . . . . . . . . . . . . . . . . . . . . . . .
62
Bibliografı́a
65
viii
ÍNDICE GENERAL
Lista de figuras
3.1
Modelo clásico de interacción agente-entorno.
. . . . . . . . . .
23
4.1
Modelo conceptual del esquema propuesto. . . . . . . . . . . . .
29
4.2
Arquitectura del sistema. . . . . . . . . . . . . . . . . . . . . . .
31
4.3
Módulo de agente. . . . . . . . . . . . . . . . . . . . . . . . . .
38
5.1
Escenarios experimentales. . . . . . . . . . . . . . . . . . . . . .
43
5.2
Tendencias de utilidades en el escenario A. . . . . . . . . . . . .
47
5.3
Tendencias de utilidades en el escenario B. . . . . . . . . . . . .
48
5.4
Tendencias de utilidades en el escenario C. . . . . . . . . . . . .
49
5.5
Resultados de análisis de velocidad de aprendizaje y optimalidad. 58
x
LISTA DE FIGURAS
Lista de tablas
5.1
Definición de los MDPs de los módulos del robot. . . . . . . . .
44
5.2
Valores teóricos máximos. . . . . . . . . . . . . . . . . . . . . .
45
5.3
Polı́ticas finales: función de utilidad global. . . . . . . . . . . . .
52
5.4
Polı́ticas finales: castigo por selección de acción conflictiva. . . .
53
5.5
Polı́ticas finales: castigo por número de acciones seleccionadas. .
54
5.6
Polı́ticas finales: castigo por selección de acciones innecesarias. .
55
xii
LISTA DE TABLAS
Capı́tulo 1
Introducción
Muchas aplicaciones del mundo real en diversos dominios, demandan soluciones
que en ocasiones son difı́ciles de implementar. Algunos por el tamaño del problema, otras por los recursos que requieren manejar. Todos estos sistemas necesitan una forma de controlar sus acciones. Deben tomar decisiones aún sin tener
toda la información necesaria, o bajo cierta incertidumbre.
Es de particular interés para este trabajo el dominio de la robótica móvil de
servicio. Supongamos que tenemos un robot, el cual para alcanzar su objetivo
debe ser capaz de realizar diversas tareas diferentes de manera simultánea. Por
ejemplo, debe interactuar con los usuarios, hacer entregas, buscar objetos y
personas y desplazarse por su entorno. Para esto el robot puede realizar diversas acciones dependiendo de la situación en la que se encuentre. El problema es
que ciertos enfoques centralizados, requieren considerar todas las posibles situaciones en las que el robot se puede encontrar. Además, deben considerar las
acciones que puede realizar en cada situación. A veces no es suficiente un comportamiento secuencial. Muchos problemas requieren que se realicen múltiples
acciones simultáneamente. Esto agrega una mayor complejidad al modelado del
problema y crece en gran medida con cada nueva funcionalidad que se agrega
2
Introducción
al robot.
En la práctica es común que los diseñadores de sistemas recurran a la teorı́a
15-1
multi-agente, para dividir el problema en varios subproblemas más simples.
Cada uno de estos subproblemas es manejado por un agente autónomo. Cada
agente resuelve el subproblema que le corresponde de manera individual, es
decir, sin la necesidad de considerar a los otros subproblemas. De esta forma,
el agente obtiene un resultado parcial del problema global original. En muchas
ocasiones este resultado parcial puede ser la solución óptima de esa parte del
problema. Pero la solución combinada puede no se la solución óptima.
Usualmente, y dependiendo del problema, las soluciones parciales son combinadas, y una nueva solución global es obtenida. Sin embargo, en diversos
problemas, la simple combinación de los resultados no es suficiente. Las soluciones parciales no consideran las posibles relaciones entre los subproblemas
individuales. Esto puede ocasionar que dos o más soluciones parciales puedan
resultar conflictivas. Se han elaborado diversos trabajos para enfrentar el problema del conflicto de intereses entre agentes. Algunos de ellos proponen soluciones simples y poco costosas pero deficientes. Otros proponen procesos más
15-3
complejos y costosos.
Todo esto plantea ciertas preguntas, ¿Cómo deberı́a de dividirse el problema? ¿Cómo deberı́a de ser la tarea para cada agente? y ¿Qué información
15-4
deberı́an necesitar un agente para procesar la tarea? ¿Cómo deberı́an de ser re-
15-5
sueltos dichos conflictos? En este trabajo conducimos un estudio para responder
algunas de estas preguntas bajo un esquema multi-agente.
15-2
1.1 Definición del problema
1.1
16-3
3
Definición del problema
Tenemos un sistema divido en N subtareas, cada una manejada por un agente
autónomo. Estos agentes están modelados bajo el formalismo de Procesos
16-5
de Decisión de Markov (MDPs). Cada MDP i se define como una tupla, <
Si , Ai , Ti , Ri > (Puterman, 1994), donde
• Si es el conjunto de estados
• Ai es el conjunto de acciones
16-10
• Ti es la función de transición, T (s, a, s! )
• R : i es la función de recompensa, R(s, a)
16-11
La solución a cada MDP es una polı́tica, πi , que mapea estados a acciones.
La solución al problema global es una polı́tica conjunta, π = π1 , ..., πn , que
incluye las soluciones parciales de cada MDP.
Cada MDP tiene un objetivo propio, deslindado de los objetivos individuales de los otros MDPs. Al mismo tiempo, todos los MDPs tienen un mismo
objetivo global. Las soluciones de cada MDP representan una solución par-
16-13
cial del problema global. Conflictos entre dichas soluciones (polı́ticas) pueden
surgir, debido a la autonomı́a de los agentes.
Al igual que (Corona-Xelhuantzi, Morales, & Sucar, 2009), identificamos
dos tipos de conflictos: 1) conflictos de recursos, y 2) conflictos de comportamiento. El primer tipo de conflictos surgen cuando dos acciones diferentes
intentan acceder al mismo recurso fı́sico. Los conflictos de comportamiento,
surgen cuando las acciones pueden ser realizadas, pero esto no es deseable.
Los agentes se deben coordinar de modo tal que las soluciones que encuentren, sean las que den un mayor beneficio a todo el sistema. Además, las
16-14
4
17-1
Introducción
soluciones que cada uno aporte, no deben entrar en conflicto con las soluciones
de los demás.
1.2
Objetivos
1.2.1
17-2
Objetivo general
El objetivo de esta tesis es diseñar e implementar un esquema basado en sistemas multi-agentes para la ejecución de procesos concurrentes, que permita
aprender a coordinar acciones y obtener un balance entre optimalidad y tiempo
de cómputo.
1.2.2
Objetivo especı́fico
• Diseñar un esquema que permita la ejecución de procesos concurrentes.
• Definir un mecanismo que permita que cada agente utilice la información
de los otros agentes para aprender las polı́ticas no conflictivas.
17-3
• Definir la función de utilidad que utilizará cada agente para el aprendizaje.
• Establecer un mecanismo para realizar un balance entre el tiempo de
aprendizaje y la optimalidad de las solución aprendida.
17-4
1.3
Organización de la tesis
En el Capı́tulo 2, describiremos algunos conceptos básicos relacionados con el
modelado del sistema y su división en sub-módulos. También, se presenta el
1.3 Organización de la tesis
trabajo relacionado a este tema más significativo para esta tesis. En el Capı́tulo
3, describiremos el proceso de interacción entre un agente y su ambiente. Se
mencionan los algoritmos básicos y más populares para aprendizaje por refuerzo. Se da un breve resumen acerca de algunos conceptos relacionados con los
sistemas multi-agentes. Y finalizaremos con el trabajo relacionado referente a
coordinación multi-agente.
En el Capı́tulo 4, describiremos el esquema general propuesto para atacar el
problema abordado por esta tesis. Mencionaremos algunos conceptos referentes
al manejo de información para el aprendizaje. Presentaremos una arquitectura,
que es una instancia del esquema aquı́ propuesto. Describiremos sus componentes, flujos de datos, procesos y resultados.
Posteriormente, en el Capı́tulo 5 describiremos el conjunto de experimentos
diseñados para validad el esquema y arquitectura propuestos. Definiremos un
ambiente de prueba basado en un problema tı́pico de robótica móvil de servicio.
Presentaremos los resultados obtenidos al analizar tres aspectos principales y
haremos una breve discusión al respecto. Después en el Capı́tulo 6, daremos
un resumen del trabajo realizado en esta tesis. Presentaremos las conclusiones
y el trabajo futuro originados con base en esta investigación.
5
6
Introducción
Capı́tulo 2
Modelos de Decisión de Markov
Un Modelo de Decisión de Markov (MDM), es un modelo probabilista para
la toma de decisiones secuenciales bajo incertidumbre. Un MDM describe la
estructura estocástica de problema, y nos permite predecir, dependiendo de
la condición actual del sistema, cual será su situación futura y el beneficio
obtenido de ésta. Éste se ha convertido en estándar para sistemas que cumplen
con la propiedad de Markov, es decir, sistemas en donde la probabilidad de
transitar de un estado a otro depende sólo del estado actual. La propiedad
de Markov estipula que la probabilidad de estar en un estado st+1 depende
únicamente del estado actual, st , y la acción, at , a realizar, y no de estados o
acciones anteriores (Sutton & Barto, 1998; Sigaud & Wilson, 2007). De este
modo,
P r{st+1 = s|st , at , ..., s0 , a0 } = P r{st+1 = s|st , at } .
(2.0.1)
Este modelo asume que el problema es secuencial, lo que implica que se
puede realizar únicamente una acción en cada etapa de decisión.
8
Modelos de Decisión de Markov
2.1
Procesos de Decisión de Markov
Un Proceso de Decisión de Markov (Markov Desicion Process - MDP) es el modelo de decisión de Markov más comúnmente utilizado. Es aplicado en escenarios en los que existe un sólo agente interactuando con él. Se define formalmente
mediante una tupla (S, A, T, R) (Puterman, 1994), donde
• S es el conjunto de estados,
• A es el conjunto de acciones,
• T es una función de transición T : S × A × X → [0, 1], tal que,
∀s ∈ S, ∀a ∈ A,
! ∈S
s!
T (s, a, s! ) = 1
• R es una función de recompensa R : S × A → %.
Una polı́tica, π, es una función que mapea estados a acciones, π(s) = a. Se
busca obtener una polı́tica óptima, π ∗ , que maximice la utilidad total obtenida
en un horizonte finito (el cual se describirá más adelante).
El valor de un estado, s, bajo una cierta polı́tica, π, denotado por V π , es
el refuerzo esperado al estar en el estado s y seguir la polı́tica π. Este valor se
puede expresar como:
V π (s) = Eπ {Rt |st = s} = Eπ
"
∞
!
k=0
γ k rt+k+1 |st = s
#
(2.1.1)
Un MDP asume que los estados son completamente observables, es decir,
el agente sabe en que estado se encuentra su entorno en todo momento.
2.2 Procesos de Decisión de Markov Multi-agente
2.2
Procesos de Decisión de Markov Multiagente
22-1
Un Proceso de Decisión de Markov Multi-agente (Multiagent Markov Decision
Process - MMDP) es la generalización de un MDP para escenarios en los que
existen múltiples agentes interactuando entre si y con el entorno. Es utilizado
en la resolución de problemas completamente cooperativos, es decir, problemas donde todos los agentes tienen el mismo objetivo. Un MMDP se define
formalmente como una tupla (N, S, Ak , T, R) (Boutilier, 1999), donde,
• N es el conjunto de n agentes,
• S es el conjunto de estados,
• Ak es el conjunto de acciones del agente k, tal que,
n
$
Ak = A,
k=1
donde, A son las acciones conjuntas de los agentes,
• T es una función de transición T : S × A × X → [0, 1], tal que,
∀s ∈ S, ∀a ∈ A,
! ∈S
s!
T (s, a, s! ) = 1 ,
donde a es la acción conjunta (a1 , a2 , ..., an ),
• R es una función de recompensa R : S × A → %.
Una polı́tica local para un agente i, πi , es una función que mapea estados
a acciones en Ai . Una polı́tica conjunta, π = (π1 , π2 , ..., πn ), se define como
un conjunto de polı́ticas, una por cada agente. Se busca obtener una polı́tica
9
10
Modelos de Decisión de Markov
conjunta óptima, expresada como π ∗ , que maximice la utilidad total obtenida
en el horizonte finito.
En un MMDP los estados son completamente observables e iguales para
todos los agentes. Ası́ mismo, todos los agentes reciben la misma recompensa
y, por lo tanto, la utilidad que todos buscan maximizar es la misma.
2.3
Procesos de Decisión de Markov Descentralizado
Un Proceso de Decisión de Markov Descentralizado (Decentralized Markov Decision Process - Dec-MDP) es la generalización de un MDP y un MMDP para
escenarios multi-agentes en los que cada agente tiene observabilidad parcial del
ambiente, en otras palabras, cada agente puede ver solo una porción de él. Es
utilizado en la resolución de problemas completamente cooperativos, es decir,
problemas donde todos los agentes tienen el mismo objetivo. Un Dec-MDP se
define formalmente como una tupla (N, Sk , Ak , Zk , T, Ok , R) (Bernstein, Zilberstein, & Immerman, 2000), donde,
• N es el conjunto de n agentes,
• Sk es el conjunto de estados del agente k, tal que,
n
$
Sk = S,
k=1
donde, S son los estados conjuntos de los agentes,
• Ak es el conjunto de acciones del agente k, tal que,
n
$
Ak = A,
k=1
donde, A son las acciones conjuntas de los agentes,
23-1
2.4 Modelos de comportamiento óptimo
11
• Zk es el conjunto de posibles observaciones locales para cada agente k,
• T es una función de transición T : S × A × X → [0, 1], tal que,
∀s ∈ S, ∀a ∈ A,
! ∈S
s!
T (s, a, s! ) = 1 ,
donde a es la acción conjunta (a1 , a2 , ..., an ), y s es el estado conjunto
(s1 , s2 , ..., sn )),
• Ok es una función de la forma Ok : S × A × Zk → [0, 1], que representa la
probabilidad de que el agente k realice la observación zk cuando el estado
conjunto es s y la acción conjunta es a.
• R es una función de recompensa R : S × A → %.
En un Dec-MDP, una polı́tica local para un agente i, πi , es una función que
mapea estados en Si a acciones en Ai . Del mismo modo, una polı́tica conjunta,
π = (π1 , π2 , ..., πn ), se define como un conjunto de polı́ticas, una por cada
agente. Se busca obtener una polı́tica conjunta óptima, expresada como π ∗ ,
que maximice la utilidad total obtenida en un horizonte finito.
2.4
Modelos de comportamiento óptimo
El objetivo del agente es maximizar la recompensa a largo plazo. Las recompensas obtenidas a partir de un tiempo t se denotan como: rt+1 , rt+2 , rt+3 ....
24-2
Entonces, lo que se quiere maximizar es R(t) = rt+1 , rt+2 , ..., rT . Sin embargo,
esto es un problema cuando no se conoce T de antemano. Una alternativa para
tratar con este problema es utilizando una razón de descuento, la cual hace
que la aportación de las recompensas más lejanas sean más pequeñas. Los tres
modelos de comportamiento óptimo:
24-4
24-5
12
Modelos de Decisión de Markov
1. Horizonte finito. El agente trata de maximizar su recompensa en los próximos h pasos, sin tomar en cuenta lo que ocurra después.
E(
h
!
rt )
t=0
2. Horizonte infinito. Se utiliza un factor de descuento γ, (0 < γ < 1), para
reducir geométricamente las recompensas, con el fin de evitar una suma
infinita.
E(
∞
!
γ t rt )
t=0
3. Recompensa promedio. Optimizar a largo plazo las recompensas promedio.
h
1!
limh→∞ E(
rt )
h t=0
2.5
Métodos de solución de MDPs
Cuando se cuenta con el modelo del ambiente, es decir, las probabilidades de
transición, T (s, a, s! ), y los valores esperados de recompensas, R(s, a, s! ), las
ecuaciones de optimalidad de Bellman nos presentan un sistema de ecuaciones
de |S| ecuaciones con |S| incógnitas. Existen diversas técnicas para determinar
la polı́tica óptima. Primeramente, para calcular la función de valor, V π , dada
una polı́tica arbitraria, π:
V π (s) = Eπ {Rt |st = s}
= Eπ {rr+1 + γrr+2 + γ 2 rr+2 + ...|st = s}
= Eπ {rr+1 + γV π (st+1 )|st = s}
!
!
=
π(s, a)
T (s, a, s! )[R(s, a, s! ) + γV π (s! )]
a
s!
2.5 Métodos de solución de MDPs
13
26-1
donde π(s, a) es la probabilidad de tomar la acción a en es estado s. Con base
en esto, podemos utilizar un método iterativo para encontrar la función de
valor de todos los estados:
• Iteración de valor.
Una forma de encontrar la polı́tica óptima es encontrar la función de valor
óptima. Esta puede ser determinada mediante un simple algoritmo iterativo llamado iteración de valor descrito en el Algoritmo 1. Está basado
en aproximaciones sucesivas al valor V . Está probado que este algoritmo
converge al valor óptima de la función, V ∗ (Bellman, 1958).
Algoritmo 1 Iteración de valor
1: inicializar la función V arbitrariamente
2: mientras polı́tica no suficientemente buena hacer
3:
4:
5:
6:
7:
8:
9:
para todo s ∈ S hacer
para todo a ∈ A hacer
%
Q(s, a) ← R(s, a) + γ s! ∈S T (s, a, s! )V (S ! )
fin para
π ← f (Q)
%
V (s) ← a∈A π(s, a)Q(s, a)
fin para
10: fin mientras
26-2
No resulta del todo claro en que momento se debe detener el algoritmo.
Un resultado importante delimita el rendimiento de la polı́tica “greedy”
como una función del residual de Bellman de la función de valor actual
(Williams & Baird, 1993). Dice que si la máxima diferencia entre dos
funciones de valor sucesivas es menor que #, entonces el valor de la polı́tica
“greedy” difiere del valor de función de la polı́tica óptima por no más de
2#γ/(1 − γ) en cualquier estado.
26-3
14
Modelos de Decisión de Markov
• Iteración de polı́tica.
Otra forma de encontrar la solución de un MDP es el algoritmo de iteración de polı́tica. Este manipula directamente la polı́tica, sin la necesidad de encontrarla primero a través de la función de valor óptima. El
Algoritmo 2 describe su funcionamiento.
Algoritmo 2 Iteración de polı́tica
Entrada: T, R, γ, π, ε
Salida: Vπ
1: elegir una polı́tica π arbitrariamente
2: repetir
3:
∆←0
4:
Calcular la función de valor V para la polı́tica π:
5:
para todo s ∈ S hacer
6:
7:
8:
9:
resolver las ecuaciones lineales:
%
V k+1 (s) ← R(s, π(s)) + γ s! ∈S T (s, π(s), s! )V k (s! )
∆ ← máx(∆, |V k+1 (s) − V k (s)|)
fin para
10: hasta que ∆ < ε
11: mejorar la polı́tica en cada estado:
12: para todo s ∈ S hacer
13:
π ! (s) ← arg máxa (R(s, a) + γ
14: fin para
%
s! ∈S
T (s, a, s! )Vπ (s))
15: π ← π !
La función de valor de una polı́tica no es más que la recompensa descontada infinita esperada que será obtenida, en cada estado, al seguir
esa polı́tica. El algoritmo calcula un sistema de ecuaciones lineales para
obtener dicha función de valor. Ya que se tiene el valor de cada estado
2.6 Trabajo relacionado
bajo la polı́tica actual, se considera si el valor puede ser mejorado al
cambiar la primera acción tomada. De ser ası́ se cambia la polı́tica por
la nueva. Cuando no se pueden hacer más mejoras, se garantiza que la
polı́tica es óptima.
28-1
28-2
2.6
Trabajo relacionado
Los problemas de planificación bajo incertidumbre probabilı́stica son comúnmente abordados mediantes el uso de Procesos de Decisión de Markov (MDPs
por sus siglas en inglés). Los problemas complejos de tomas de decisiones suelen
ser tratados mediante su descomposición en problemas más pequeños y fáciles
de resolver. Al tener diversos procesos simultáneos (uno por cada subproblema),
es necesaria alguna forma de coordinar las acciones que se toman. Esto con el
objetivo de controlar: 1) el periodo de tiempo en que las acciones se realizan, 2)
el orden en el que lo hacen, o 3) los recursos o dependencias asociadas a cada
una. Es este último punto en el que se enfoca nuestro estudio. La ejecución
concurrente de estos subprocesos es un problema ampliamente discutido, y
diversos trabajos han sido propuestos para resolverlo.
Meuleau et al. (1998) presentan una técnica para encontrar una solución
aproximada a óptima en problemas estocásticos de asignación de recursos, los
cuales son modelados como MDPs. Descomponen el problema en múltiples
subtareas o subprocesos cuyas utilidades son independientes. Asumen que las
acciones realizadas respecto a una tarea no afectan el estado de las demás.
Cada subproceso puede ser visto como un MDP independiente. Sin embargo,
establecen un grado de dependencia entre las subtareas mediante “restricciones
de recursos”. Es decir, las acciones seleccionadas por un MDP restringen las
acciones disponibles para los demás MDPs. A diferencia de Meuleau et al.
15
16
Modelos de Decisión de Markov
(1998) nosotros estamos interesados en problemas donde cada subtarea tiene
29-1
un objetivo individual, el cual considera un aspecto diferente del problema
global.
Rohanimanesh and Mahadevan (2002) presentan un modelo de planificación
bajo incertidumbre con acciones extendidas temporalmente. Este modelo permite la ejecución concurrente de múltiples acciones. Está basado en el esquema
de “opciones” y es combinado con modelos de espacio factorizado de estados.
Una “opción” (Sutton et al., 1999) es una macro-acción que considera una serie
de acciones o polı́ticas extendidas temporalmente. El conjunto de opciones es
dividido en clases disjuntas, tal que, las opciones de una clase no afectan el es29-2
tado de otra clase. Las opciones de diferentes clases pueden correr en paralelo.
A diferencia de este Rohanimanesh and Mahadevan (2002), nosotros consideramos los problemas en los que no siempre es posible dividir las acciones en
clases disjuntas para una ejecución segura.
Elinas et al. (2004) propone un enfoque para la ejecución de múltiples procesos de decisión, basado en MDPs concurrentes. Sin embargo, asumen que las
subtareas son independientes entre ellas y por lo tanto pueden ser ejecutadas
sin problemas. Mausam and Weld (2008) presentan una extensión del formalismo de MDPs al que llaman MDPs concurrentes, el cual les permite ejecutar
de manera simultánea múltiples acciones de duración variable. Para esto, establecen un conjunto de acciones que pueden ser ejecutadas concurrentemente
de forma segura. El establecimiento de estas acciones está basado en STRIPS
probabilı́sticos, de manera tal que no interactúan entre sı́. Posteriormente resuelven el MDP con múltiples acciones mediante una versión modificada de la
técnica de programación dinámica en tiempo real (RTDP) (Barto et al., 1995),
a la cual llaman programación dinámica en tiempo real muestreada, la cual no
visita todos los estados. Por esto último y con motivos de eficiencia, no con-
29-3
2.6 Trabajo relacionado
17
30-1
sidera todas las posibles combinaciones de acciones. Mausam and Weld (2008)
asumen que las acciones son no conflictivas, lo cual no siempre es posible en
todos los problemas. Parte del enfoque de nuestro trabajo esta en problemas
donde no se puede hacer tal suposición.
Sucar (2007) describe un MDP o POMDP paralelo como un conjunto de n
MDPs (sub-MDPs). En este enfoque todos los sub-MDPs comparten el mismo
objetivo y espacio de estados, pero tienen diferentes conjuntos de acciones.
Asumen que las acciones de cada MDP no pueden entrar en conflicto con las de
los otros procesos, de modo que cada conjunto de acciones puede ser ejecutado
concurrentemente con los otros. No encuentran una solución óptima para el
problema global, sino que ejecutan simultáneamente la solución óptima de cada
sub-MDP. Cada sub-MDP sólo considera las variables de estado que afectan
directamente sus acciones y recompensas. No consideran los efectos de acciones
combinadas. Esto reduce considerablemente el espacio de estados-acciones del
problema, pero no puede ser aplicado a cualquier problema “realista”, ya que
en la mayorı́a, las acciones combinadas si deben ser consideradas para no caer
en polı́ticas conflictivas.
Todos los trabajos mencionados hasta el momento tienen un aspecto en
común. Todos asumen independencia entre las subtareas y entre las acciones.
No consideran que las acciones realizadas por unas subtarea puedan afectar el
30-2
estado o la realización de las acciones de otra subtarea. Como hemos mencionado, esta es una suposición que no podemos hacer en todos los problemas.
Corona-Xelhuantzi et al. (2009) presentan una arquitectura que permite
ejecutar múltiples procesos de toma de decisión concurrentes. Coordinan de
manera manual las polı́ticas que puedan resultar como conflictivas. Esto se logra mediante el establecimiento de restricciones sobre las acciones. Identifican
dos tipos de conflictos: (i) conflictos de recursos, y (ii) conflictos de compor-
30-3
18
Modelos de Decisión de Markov
tamiento. Los conflictos de recursos ocurren cuando dos o mas subtareas del
sistema intentan utilizar el mismo recurso fı́sico de diferente forma. Por ejemplo, dos subtareas intentan girar las llantas de un robot en direcciones contrarias.
Los conflictos de comportamiento surgen cuando dos o más acciones son fı́sicamente posibles, pero no se desea que se realicen simultáneamente. Por ejemplo,
que el robot avance y al mismo tiempo intente sujetar un objeto cercano a él.
El primer tipo de conflictos es resuelto con un proceso “fuera de lı́nea” de dos
fases. En la primera fase se obtiene la polı́tica óptima de cada módulo, y se
combinan para obtener una polı́tica global. En caso de existir un conflicto, se
considera la acción de mayor valor y el estado se marca como conflictivo. En
la segunda fase, se mejora la polı́tica utilizando iteración de polı́tica sobre la
polı́tica anterior y tomando en cuenta sólo los estados conflictivos.
Los conflictos de comportamiento son solucionados “en lı́nea” mediante la
utilización de un conjunto de restricciones que especifican que acciones pueden
realizarse al mismo tiempo que otras acciones. Si no existe una restricción
para una determinada acción conjunta, todas las acciones individuales de ésta
pueden ser realizadas. En caso contrario, se selecciona el conjunto de acciones
con la mayor utilidad esperada. Véase también Corona-Xelhuantzi et al. (2010).
En problemas con espacios reducidos de estados-acciones es sencillo determinar estas restricciones. Sin embargo, a medida que el tamaño del espacio del
problema crece, se convierte en una labor ardua y complicada. Se corre el riesgo de no establecer todas las restricciones necesarias o de incluir algunas que
no lo sean. Además, en cierto sentido, esta solución sólo representa una solución superficial. Ésta no soluciona realmente los conflictos, pues estos siguen
surgiendo durante su ejecución y deben seguir siendo corregidos cada vez que
esto ocurre.
2.7 Resumen
2.7
Resumen
En este capı́tulo se describieron algunos conceptos básicos relacionados con los
Modelos de Decisión de Markov. Se presentaron tres modelos diferentes, uno
para escenarios de un agente y dos para escenarios multi-agentes. También,
se describieron dos formas comunes de solucionar estos modelos y los criterios
para modelar un comportamiento óptimo.
Posteriormente, se presentaron algunos de los trabajos más importantes
relacionados con la ejecución concurrente de procesos de decisión. Todos los
trabajos presentados plantean dividir el problema en subproblemas (subtareas), con el fin de reducir su complejidad. Sin embargo, la mayorı́a asume que
las subtareas son independientes entre sı́, y que al unir las soluciones individuales pueden proporcionar una solución para el problema original. Nosotros
consideramos que esta es una suposición poco realista, y que en muchos problemas no se puede asumir dicha independencia. Es necesario considerar que la
solución de una subtarea puede no ser compatible o estar en conflicto con la
solución de otra subtarea. Corona-Xelhuantzi et al. (2009) consideran dichos
conflictos y proponen una solución basada en el establecimiento de restricciones.
Sin embargo, dichas restricciones deben ser establecidas de manera manual, lo
cual es complicado en problemas muy grandes.
A diferencia de los trabajos presentados, el nuestro considera los conflictos
entre las polı́ticas y, además, busca obtener automáticamente una solución al
problema de ejecución concurrente de procesos de decisión.
19
20
Modelos de Decisión de Markov
Capı́tulo 3
Aprendizaje por refuerzo
Un sistema multi-agente, como su nombre lo indica, es aquel en el que podemos encontrar múltiples agentes interactuando entre ellos o con su entorno. Los
agentes pueden presentar diversos tipos de comportamientos, pero los principales son dos: 1) cooperativos, y 2) competitivos. Los agentes cooperativos
son aquellos que intentan maximizar el bienestar común. Los agentes competitivos intentan maximizar su bienestar individual, sin considerar el de los
demás agentes. En algunas ocasiones, los agentes pueden tener el objetivo de
minimizar el bienestar de otros agentes. En este trabajo nos enfocamos en los
agentes de tipo cooperativo.
3.1
Agentes
Un agente es una entidad computacional, como un programa o un robot, el
cual desempeña alguna actividad en un ambiente determinado. El agente puede
percibir su entorno en forma de estados e interactuar con él mediante acciones.
Se caracteriza por ser autónomo, es decir, actúa basado en su propia experiencia
y conocimiento. También, se asume que todo agente es racional, ya que elige
22
Aprendizaje por refuerzo
siempre realizar las acciones que le dan el mayor beneficio.
El objetivo del agente está expresado en términos de recompensas, las cuales
recibe del ambiente tras efectuar una acción. Términos generales, el objetivo
del agente se traduce en maximizar las recompensas que recibirá a lo largo de
su ejecución.
3.2
Modelo de aprendizaje por refuerzo
El Aprendizaje por Refuerzo (Reinforcement Learning - RL) es el problema
al que se enfrenta un agente al interactuar con su entorno, con el objetivo de
aprender un comportamiento a base de interacciones de prueba y error. En el
modelo estándar de RL, el agente es un sistema de toma de decisiones ligado al
ambiente mediante percepción y acción, como lo muestra la imagen 3.1, y que
está aprendiendo a actuar a fin de maximizar su bienestar. En cada paso o etapa
de decisión, el agente identifica el estado actual, st , del ambiente; selecciona
una acción, at , la cual modifica el estado a st+1 ; recibe una retroalimentación
o recompensa, r, dada por dicha transición. Ya que la información del estado
es obtenido mediante los sensores del agente, ésta puede ser parcial o ruidosa
y por lo tanto es susceptible a generar incertidumbre.
3.2.1
Algoritmos de aprendizaje
Cuando no se conoce el modelo de ambiente, es común utilizar técnicas de
Diferencias Temporales (DT). Estas técnicas hace estimaciones de una cierta
variable basadas en estimaciones previas de esa misma variable. La idea es
realizar predicciones sucesivas, y posteriormente, estimar el error o la diferencia
entre ellas. El objetivo es reducir el error entre predicciones sucesivas.
3.2 Modelo de aprendizaje por refuerzo
23
ambiente
st+1
s
t
rt+1
at
rt
agente
Figura 3.1: Modelo clásico de interacción agente-entorno. El agente observa el entorno e
interactúa con él realizando una acción. El ambiente cambia, o transita de estado, y retroalimenta al agente. El agente genera experiencia a partir de esta interacción y el proceso se
repite.
SARSA
Uno de los primeros algoritmos de DT es SARSA (Rummery & Niranjan, 1994).
Este es un método on-policy, es decir, que intenta evaluar y mejorar la misma
polı́tica que fue utilizada para tomar decisiones. SARSA está descrito en el
Algoritmo 3.
Q-learning
Un desarrollo de gran importancia en el aprendizaje por refuerzo, es el algoritmo de Q-learning (Watkins, 1989) (Watkins & Dayan, 1992), descrito en el
Algoritmo 4. Q-learning es un algoritmo off-policy. Es decir, no realiza la actualización de los pares de estado y acción con exactamente la misma distribución
con la que los estados habrı́an sido encontrados siguiendo la polı́tica estimada. Q-learning garantiza converger a Q∗ con una probabilidad de 1 (Watkins,
24
Aprendizaje por refuerzo
Algoritmo 3 SARSA
1: inicializa la función Q arbitrariamente, e.g. Q(s, a) ← 0; ∀s ∈ S, ∀a ∈ A
2: repetir
3:
inicia en un estado s
4:
selecciona una a de s siguiendo la polı́tica dada (e.g., #–greedy)
5:
repetir
6:
realizar a y observar s! y r
7:
selecciona una a! de s! siguiendo la polı́tica dada (e.g., #–greedy)
8:
Q(s, a) ← Q(s, a)(1 − α) + α(r + γQ(s! , a! ) − Q(s, a))
9:
s ← s ! ; a ← a!
hasta que s sea terminal
10:
11: hasta que para cada episodio
1989; Jaakkola, Jordan, & Singh, 1994).
37-1
3.3
Trabajo relacionado
Diversos trabajos se han desarrollado en el área de coordinación de acciones en
ambientes en los que interactúan múltiples agentes, principalmente en juegos
de matriz repetidos, tanto en enfoques cooperativos como no cooperativos.
Un tipo de problemas de gran interés en el área es el de cooperación y coordinación de múltiples agentes con intereses individuales. Es decir, problemas en
los que cada agente es ”maximizador”de utilidad. Esto significa que su comportamiento esta dirigido a maximizar su propia utilidad sin considerar a los otros
agentes. En dichos problemas, los agentes no tienen comunicación directa entre
si, sin embargo, pueden percibir las acciones tomadas por los otros agentes en
el instante de tiempo anterior.
3.3 Trabajo relacionado
Algoritmo 4 Q-learning
1: inicializa la función Q arbitrariamente, e.g. Q(s, a) ← 0; ∀s ∈ S, ∀a ∈ A
2: repetir
3:
inicia en un estado s
4:
t←1
5:
repetir
6:
selecciona una a de s siguiendo la polı́tica dada (e.g., #–greedy)
7:
realizar a y observar s! y r
8:
Q(s, a) ← Q(s, a)(1 − α) + α(r + γ máxa! Q(s! , a! ))
9:
t ← t + 1; s ← s!
10:
hasta que s sea terminal
11: hasta que para cada episodio
En este tipo de problemas es común que los intereses de dos o más agentes
entren en conflicto; aún cuando el escenario sea no competitivo. En estos casos,
los agentes encontraran puntos de equilibrio competitivo (por ejemplo, Equilibrio de Nash - EN) que son en su mayorı́a sub-óptimos. Por lo tanto, es necesario
que lleguen a un acuerdo con el cual puedan encontrar mejores puntos de equilibrio que les permitan maximizar sus propias utilidades. Una de las soluciones
más populares es Q − learing. A pesar de ser un algoritmo de aprendizaje para
un agente simple, ha sido utilizado en con cierto éxito (Tan, 1993; Sandholm
& Crites, 1996). Claus and Boutilier (1998) proponen una forma de abordar
este tipo de problemas mediante una extensión del algoritmo de aprendizaje
por refuerzo (RL) Q-Lerning, en el cual se identifica la relación entre un vector
de acciones conjuntas y probabilidades marginales.
Otros trabajos propuestos (Stimpson, Goodrich, & Walters, 2001; Crandall
& Goodrich, 2004) sostienen el hecho de que un EN es un resultado indeseable
en muchos juegos repetidos. Proponen algoritmos que intentan alcanzar una
25
26
Aprendizaje por refuerzo
solución eficiente de Pareto, basados en la idea es que los agentes deben, de
manera cooperativa, encontrar una polı́tica conjunta que maximice su recompensa bajo un horizonte infinito. Cote, Lazaric, and Restelli (2006) proponen
dos formas de mejorar los algoritmos de RL, que tı́picamente aprenden un Equilibrio de Nash, usando principios de diseño que ayudan a alcanzar el equilibrio
de eficiencia de Pareto.
Todos los trabajos mencionados se enfocan únicamente en escenarios de
cooperativos de juegos de matriz repetidos que presentan dicho problema de
coordinación. El enfoque de esta tesis está encaminado a escenarios modelados
mediante MDPs los cuales a diferencia de los juegos de matriz repetidos, poseen
una definición de estados.
Capı́tulo 4
Esquema propuesto
Como se ha mencionado anteriormente, este trabajo está motivado por un
problema de robótica. Especı́ficamente, aquel en el que se requiere ejecutar
las acciones de múltiples subtareas (o módulos) de manera simultánea. Cada
módulo posee un objetivo individual que podrı́a diferir de los objetivos de las
demás subtareas. Los módulos deben de cumplir con un objetivo global, pero sin
dejar de lado sus objetivos individuales. Cada subtarea elige individualmente las
40-1
acciones que realizará. Por lo tanto, las acciones que cualquiera de ellas realice
pueden tener un efecto en el resultados de las acciones del resto. Sustentados
por la teorı́a multi-agente, el problema puede ser abordado como un problema
40-2
de coordinación de agentes. Dada la naturaleza del domino de interés para
este trabajo, los agentes deben encontrar acciones conjuntas coordinadas que:
40-3
40-4
1) maximicen su suma de utilidades y, 2) permitan la ejecución segura de las
acciones individuales. Sin embargo, el espacio de búsqueda del problema puede
ser muy amplio, por lo que encontrar acciones conjuntas óptimas puede llevar
mucho tiempo. En muchos casos es posible que algunas soluciones cercanas a
óptimas sean suficientes para cumplir con el objetivo de la tarea.
A continuación se describe el modelo conceptual del esquema propuesto, el
28
Esquema propuesto
cual permite: 1) ejecutar de manera segura las acciones de los agentes, 2) coordinar las polı́ticas de las subtareas, y 3) balancear entre el tiempo de aprendizaje
de las polı́ticas coordinadas y la optimalidad de las mismas.
4.1
41-1
Modelo conceptual
El esquema que aquı́ se presenta fue diseñado tomando como base el modelo estándar de RL. Este modelo está definido para ambientes de un agente
simple. El esquema propuesto extiende dicho modelo para escenarios multiagentes. Como se menciona en el Capı́tulo 3, el modelo de RL está conformado
por dos componentes principales: el agente, y el ambiente con el que éste interactúa. El esquema aumenta el modelo al considerar ambos componentes, y
otros dos adicionales: 1) un detector de conflictos, y 2) un generador de util-
41-3
idades. El primero tiene como objetivo fomentar ciertas acciones coordinadas
(y seguras), ası́ como desmotivar las acciones no coordinadas. El objetivo del
segundo componente es proveer a los agentes con información para ayudarlos en su aprendizaje. La Figura 4.1 ilustra el modelo y la relación entre sus
componentes.
Estos componentes forman parte de un proceso de generación de experiencia mediante interacción entre los agentes y el ambiente. Su objetivo es generar
experiencia que permita a los agentes determinar el comportamiento que maximice su bienestar. El proceso inicia cuando los agente observan su estado en
el ambiente. Basados en su observación, seleccionan, de manera individual, la
acción que desean realizar. Estas acciones son enviadas al detector de conflictos
y al generador de utilidad. El primero realiza un análisis de las acciones con el
fin de determinar si su ejecución es segura. En caso de que no lo sea, el detector deriva un nuevo conjunto de acciones a partir del primero, cuya ejecución
41-4
4.1 Modelo conceptual
29
Generador
de
utilidades
Agentes
Detector
de
conflictos
Figura 4.1: Modelo conceptual del esquema propuesto. Esta compuesto por tres componentes:
1) un detector de conflictos, y 2) un generador de utilidades. El primero selecciona las acciones
y las mandan a los otros dos componentes. El segundo valida las acciones y las manda al
generador de utilidades. Este último, analiza la información y da retroalimentación a los
agentes. Los agentes generan experiencia y se repite el proceso.
sea segura. Estas nuevas acciones son enviadas al ambiente para su ejecución
y al generador de utilidad. El generador de utilidad recibe las acciones seleccionadas por los agentes, y las acciones derivadas por el detector de conflictos.
Después determina una retroalimentación para los agentes con base en las acciones y el estado de los agentes. Los agentes usan la retroalimentación para
ganar experiencia acerca de la consecuencia que tiene tomar alguna acción en
un estado determinado. Basados en la experiencia obtenida, los agentes pueden
seleccionar las acciones que representen el mayor beneficio. Todo esto forma un
ciclo del proceso. Los ciclos se repiten infinitamente o hasta que una condición
de paro sea satisfecha; o hasta que la experiencia que se genere entre cada ciclo
durante un tiempo determinado no cambie.
30
Esquema propuesto
4.1.1
Niveles de percepción del agente
Un factor importante en la generación de la experiencia es el Nivel de Percepción (NP) de los agentes. Este establece la cantidad de información a la
que un agente tiene acceso respecto a los demás agentes. Los agentes pueden
percibir información de estado o información de acciones. El NP puede ser
medido en términos de dos cantidades de información: 1) local o individual, y
2) global conjunta. Un NP local consta únicamente de la información propia
del agente. Un NP global incluye, además, la información de todos los demás
agentes. Entonces, el NP especifica si un agente puede o no tener conocimiento
del estado y las acciones de los demás agentes o sólo los propios. Para este
trabajo identificamos cuatro NP principales:
• Estados Locales y Acciones Locales (ELAL)
• Estados globales y Acciones Locales (EGAL)
• Estados Locales y Acciones Globales (ELAG)
• Estados Globales y Acciones Globales (EGAG)
La información global (tanto de estados como de acciones) es la conjunción
de la información local de todos los agentes. Esto incrementa el número de
situaciones y acciones sobre las cuales un agente deberá obtener experiencia.
Para hacerlo, el número de ciclos requeridos se incrementa. Mientras mayor es
el conocimiento que un agente tiene acerca del ambiente y de los demás agentes,
mejores decisiones pueden tomar; pero, por otro lado, aumenta el tiempo que
requiere para procesar dicha información.
43-2
4.2 Instanciación del esquema: arquitectura del sistema
4.2
31
Instanciación del esquema: arquitectura del
sistema
La arquitectura que aquı́ se presenta es una instancia del esquema propuesto.
Proporciona una descripción más detallada de cada uno de sus componentes y
la forma en que comparten información entre ellos. La Figura 4.2 muestra la
arquitectura, donde los componentes son definidos como módulos. Está compuesta por tres módulos principales: 1) módulo de detección de conflictos, 2)
módulo de utilidades, y 3) módulo de agentes.
s1t,...,snt
s1t,...,snt s1t,...,snt
s1t+1,...,snt+1
Módulo de
agente
Agente 1
a1t,...,ant
Agente 2
..
.
Módulo de
detección
de conflictos
α1t,...,αnt
ambiente
Agente n
r1t,...,rnt
r1t+1,...,rnt+1
Módulo de
utilidades
s1t,...,snt
44-1
a1t,...,ant
α1t,...,αnt
Figura 4.2: Arquitectura del sistema. La arquitectura está compuesta por tres módulos: 1)
módulo de agentes, 2) módulo de detección de conflictos, y 3) módulo de utilidades. El primero
proporciona a los agentes la información de acuerdo al NP. Envı́a las acciones seleccionadas
por los agentes y las manda a los otros dos módulos. El segundo se asegura de que las
44-2
acciones puedan ser ejecutadas correctamente, y las envı́a hacı́a el ambiente (entorno). El
tercero calcula la utilidad del sistema con base en las acciones seleccionadas y las realizadas
y envı́a las recompensas a los agentes.
32
Esquema propuesto
4.2.1
Módulo de detección y solución de conflictos
Como se ha mencionado anteriormente, este trabajo está motivado por la
robótica móvil. En este dominio, un robot puede tener diversos dispositivos,
actuadores, sensores, etc. Todos estos dispositivos pueden ser controlados por
un solo programa (agente), o por varios, cada uno con un fin propio. Sin embargo, diversos dispositivos presentan limitaciones respecto a su funcionamiento.
Muchos sólo pueden realizar una única acción a la vez. Por ejemplo, un brazo
mecánico no puede moverse en dos direcciones diferentes simultáneamente; o las
ruedas sólo pueden girar en una dirección a la vez. Ordenar accidentalmente al
robot que avance de frente y al mismo tiempo que vaya en reversa, puede tener
resultados inesperados e incluso desastrosos. Entonces, es necesario asegurar
que las acciones que se desea que el robot ejecute son seguras y no causarán
alguna falla de hardware, entre otros problemas. El objetivo del módulo de detección de conflictos es garantizar que las acciones que serán enviadas al robot
son no-conflictivas.
Este módulo recibe como señal de entrada un vector, at , del módulo de
agentes en el tiempo t. El vector contiene las acciones individuales, at =
a1 , ..., an , seleccionadas por todos los agentes. Estas acciones son analizadas
en busca de conflictos de recursos. Para identificar un conflicto. es necesario
previamente agrupar todas las posibles acciones individuales de acuerdo con los
recursos que utilizan. Por ejemplo, un agente podrı́a tener la acción avanzar,
la cual utiliza las ruedas. Otro agente puede usar una cámara para realizar
la acción identificar persona. Ası́, podrı́amos identificar dos grupos: 1) de las
ruedas y 2) de la cámara. Consideramos que es relativamente sencillo realizar
esta agrupación de acciones.
Los conflictos son detectados al hacer una comparación entre los grupos
de las acciones. Si dos acciones diferentes pertenecen al mismo grupo, ambas
4.2 Instanciación del esquema: arquitectura del sistema
son marcadas como conflictivas. Después, cuando todas las acciones conflictivas son detectadas, una de ellas es seleccionada aleatoriamente y desmarcada. El resto de las acciones marcadas como conflictivas son reemplazadas por
una acción neutral. Una acción neutral es aquella que no pertenece a ningún
grupo, y que no manipula ningún recurso (“no intervenir” o “no hacer nada”
o “acción nula”). Este tipo de acciones no producen ningún cambio en el ambiente por sı́ mismas. Finalmente, un nuevo vector de acciones no-conflictivas,
αt = α1 , ..., αn , es producido y enviado como señal de salida a los siguientes
módulos.
4.2.2
Módulo de utilidades
Por la definición del problema, sabemos que cada agente está enfocado en resolver únicamente una cierta parte del problema global. Es decir, cada agente
tiene un objetivo individual especı́fico, que está expresado en su función de
recompensas. Entonces es necesario alinear los objetivos individuales en dirección a resolver el problema global, pero sin desviar su atención de sus propios
intereses individuales.
Basados en teorı́a multi-agente, alineamos los objetivos de los agentes mediante la definición de una función de utilidad. Esta función toma como base
todas las recompensas individuales y calcula con ellas una Utilidad Global
(UG). Esta utilidad global es utilizada por los agentes durante el proceso de
aprendizaje en lugar de la recompensa individual. Todos los agentes reciben la
misma utilidad global. De este modo, todos los agentes actuarán con el fin de
maximizar la misma recompensa esperada que los demás agentes. La función
de utilidad que se defina tendrá gran influencia en el aprendizaje de los agentes.
Puede afectar parámetros como la velocidad de aprendizaje, o la optimalidad
del comportamiento aprendido.
33
34
Esquema propuesto
La función de utilidad es diseñada utilizando la información que recibe
47-1
el módulo de utilidades. Este módulo recibe tres flujos de información: 1) el
vector del estado actual del entorno, st = s1 , ..., sn , 2) el vector con las acciones seleccionadas por los agentes, at = a1 , ..., an , 3) el vector de las acciones
no-conflictivas, αt = α1 , ..., αn , proporcionado por el modulo de detección de
conflictos.
Definimos una función de utilidad base, la cual denominamos Función Acumulativa. Esta representa la acumulación de los logros de todos los agentes en
cada paso, es decir, la suma de sus recompensas individuales, la Ecuación 4.2.1
muestra dicha función.
UG =
n
!
Ri (si , ai ) .
(4.2.1)
i=0
Con base en la función acumulativa se diseñaron otras cuatro funciones de
utilidad. En cada una de ellas se agregó un refuerzo adicional, extraı́do a partir
del análisis de ciertos aspectos de la información, con el objetivo de mejorar la
función original. Este refuerzo adicional de cada función “castiga” a los agentes
bajo un cierto caso o condición determinada. Los casos evaluados por las funciones son: 1) cuando se seleccionan acciones conflictivas, 2) por el número de
acciones seleccionadas, 3) por seleccionar acciones innecesarias, y 4) todas las
anteriores. El primer caso tiene como objetivo evitar que las acciones conflictivas sean seleccionadas por los agentes. Las acciones conjuntas conflictivas no
pueden ser realizadas por completo. Se debe seleccionar una porción de ellas,
que pueda ser ejecutada de manera segura. Lo que se desea es que los agentes
aprendan a tomar acciones coordinadas y seguras. Al castigar las acciones conflictivas desmotivamos su selección, y permitimos tomar y experimentar con
otras posibilidades. La función de utilidad del primer caso consiste en agregar
a la Ecuación 4.2.1 el refuerzo extra
47-2
4.2 Instanciación del esquema: arquitectura del sistema
UG =
donde,
&
n
!
'
Ri (si , ai ) − castigo(at ) ,
i=0
castigo(at ) =




0,



35
(4.2.2)
si at = αt
.
(4.2.3)





−10, si at (= αt
En el segundo caso, dada la autonomı́a de los agentes, las acciones que estos pueden tomar podrı́an llegar a ser redundantes. Por ejemplo, considere dos
agentes controlando las ruedas del robot. Ambos agentes pueden realizar las acciones de avanzar y no intervenir, entre otras. Para ambos agentes, las acciones
conjuntas {avanzar, no intervenir}, {no intervenir, avanzar} y {avanzar, avanzar}, son equivalentes. Esto significa que los agentes pueden encontrar diversas
formas de solucionar un problema obteniendo el mismo resultado. Esto puede
ocasionar un incremento en el tiempo de aprendizaje. Una posible forma de
reducir el número de posibles soluciones es controlar el número de acciones
diferentes, pero equivalentes, que pueden tomar. En este caso la función de
recompensa castiga con un refuerzo negativo por cada acción dentro de la acción conjunta que sea diferente de {no intervenir}. También se castiga si todos
los agentes eligen dicha acción neutra. Para esto se da un refuerzo negativo
tan bajo como si todos los agentes eligieran una acción no-neutra. Se utiliza la
misma Ecuación 4.2.1, pero redefiniendo la función castigo tal que
castigo(at ) =




− |at | si |at | > 0









−3
si |at | = 0
.
(4.2.4)
36
Esquema propuesto
Otra posible forma de reducir el número de posibles soluciones, puede ser
castigando aquellas acciones conjuntas que contienen la acción no intervenir.
Para fines de este trabajo nos enfocaremos únicamente en la primer forma
mencionada.
Respecto al tercer caso, castigamos las acciones conjuntas que contienen
acciones innecesarias. Por ejemplo, tomamos el problema del robot recolector.
Supongamos que la acción de {recoger objeto} conlleva un consumo adicional de
energı́a para alimenta el actuador (brazo mecánico). Debido a que esta acción
puede no interferir con otros recursos, puede ser realizada en cualquier estado.
Sin embargo, no queremos que el brazo mecánico haga movimientos innecesarios, en estados en los que no puede recoger un objeto. Podemos castigar dichos
movimientos con un refuerzo negativo, cada vez que la acción innecesaria es
realizada. Del mismo modo que los casos anteriores únicamente es necesario
modificar la función de castigo tal que
castigo(at ) =




−1 si ai = acción innecesaria









0
.
(4.2.5)
si ai (= acción innecesaria
El cuarto caso evaluado por la función de recompensa consiste en una combinación de todos los anteriores. Se evalúa si se seleccionaron acciones conflictivas,
el número de acciones seleccionadas y si se seleccionó una acción innecesaria.
Redefinimos la función castigo de modo que
castigo(at ) = A + B + C
(4.2.6)
donde A, B y C, representan las ecuaciones 4.2.3, 4.2.4 y 4.2.5, respectivamente.
Todas estas variaciones de la función de utilidad se realizaron con el objetivo
4.2 Instanciación del esquema: arquitectura del sistema
37
de obtener mejores polı́ticas y mejores tiempos de aprendizaje.
Después de que la utilidad global (UG) es calculada, esta es enviada al
módulo de los agentes. Todos los agentes reciben el mismo valor de utilidad
global.
50-1
4.2.3
Módulo de agente
El módulo de agente es el encargado de proporcionar a los agentes la información que necesitan para la generación de experiencia. La Figura 4.3 muestra
el diseño general del módulo de agente. El módulo está conformado por los
agentes, un filtro de información por cada agente, y una memoria compartida a
la que tiene acceso cada agente y todos los filtros de información. Este módulo
recibe dos flujos de entrada de información: 1) un vector que contiene el estado
actual del entorno, st = s1 , ..., sn , y 2) el vector de las recompensas (utilidades
globales) calculadas por el módulo de utilidades. Ambas señales pasan por el
filtro de información de cada agente. Ası́ mismo, el filtro accede a la memoria
compartida y extrae la información del último estado, st−1 = s1 , ..., sn , y de
la acción, at−1 = a1 , ..., an , que el agente realizó en dicho estado. De acuerdo
al nivel de percepción, la información es filtrada y enviada a los agentes. Ca50-3
da agente recibe la información y la utiliza para el proceso de generación de
experiencia.
El proceso de generación de experiencia de un agente es realizado mediante un algoritmo tradicional de RL llamado Q-learning. Como se mencionó en
capı́tulos anteriores, este algoritmo fue diseñado originalmente para escenarios
de un agente simple. Sin embargo, puede ser fácilmente adaptado para trabajar con múltiples agentes, obteniendo buenos resultados como los muestran
Sandholm and Crites (1996); Sen, Sekaran, and Hale. (1994); Tan (1993).
50-2
38
Esquema propuesto
Módulo de agentes
51-1
{sit | st}
{sit,...,snt}
Filtro de
{rit | rt}
información
t-1 | st-1}
del agente i {si
{rit,...,rnt}
{ait-1 | at-1}
Agente i
Actuzalización
de la función
de aprendizaje
(Qi); selección
de la acción en t
{ait,...,ant}
{ait, sit}
{ait-1, sit-1}
{ait, sit}
{a t-1, s t-1}
i
i
Figura 4.3: Módulo de agente. Contiene a todos los agentes del sistema, cada uno con un filtro
que le proporciona información de acuerdo al NP. Contiene, también, una memoria compartida por todos los agentes. Recibe como entradas el estado actual del ambiente y las utilidades
calculadas por el módulo de utilidades. Arroja como salida las acciones seleccionadas por los
agentes.
Después de realizar el paso de aprendizaje, cada agente selecciona una nueva acción individual, ai , de acuerdo con su polı́tica, πi . Esta acción y su estado
individual, si , son guardados en la memoria compartida. Posteriormente, el
módulo de agente genera un vector de información que contiene todas las acciones seleccionadas por los agentes, y lo envı́a a los siguientes módulos para
repetir el proceso.
4.3
Resumen
En este capı́tulo se presentó el esquema propuesto para ejecución de acciones
concurrentes y aprendizaje múlti-agente. El esquema sigue la dinámica básica
del modelo de RL tradicional, pero extendido para escenarios multi-agentes.
Está compuesto por tres componentes: los agentes, un detector de conflictos
y un generador de utilidades. Los agentes seleccionan las acciones a realizar y
4.3 Resumen
genera experiencia de las acciones realizadas. El detector de conflictos verifica que las acciones puedan llevarse a cabo y, en caso contrario, propone una
variación que sı́ pueda hacerlo. Y el generador de utilidades calcula la utilidad global del sistema dadas las acciones seleccionadas, las realizadas o ambas.
También se definió el Nivel de Percepción (NP) de los agentes, el cual puede
incluir desde información local, hasta global. El NP es el compromiso entre el
tiempo necesario para que los agentes aprendan una polı́tica y la optimalidad
de la misma. Posteriormente, se presentó una instancia más detallada del esquema, en el cual se muestran los componentes como módulos de un sistema,
y se definen los flujos de datos que comunican a cada módulo. En el Capı́tulo
5 se evalúa el esquema bajo la instancia presentada en este capı́tulo.
39
40
Esquema propuesto
Capı́tulo 5
Experimentos y resultados
En este capı́tulo se describe el caso de estudio definido para la realización de los
experimentos. También, se describen los experimentos que fueron realizados,
sus configuraciones y parámetros. Posteriormente, se presentan los resultados
obtenidos tras la experimentación y su análisis, ası́ como una breve discusión
54-3
acerca de los mismos.
5.1
Caso de estudio
Como se ha mencionado anteriormente, este trabajo esta motivado por un
problema de robótica. Por lo tanto, el esquema propuesto se evaluó en un
problema común de robótica móvil de servicio, conocido como el “recolector
de basura”. Este problema consiste en un robot cuya tarea es desplazarse por
el ambiente recogiendo los objetos que encuentra en su camino. El robot debe
viajar de un punto a otro del entorno siguiendo el camino más corto. Durante
su recorrido, debe evitar chocar con obstáculos que puedan retrasar su viaje o
impedirlo. Al mismo tiempo, debe observar su ambiente en busca de objetos
que pueda recolectar. En caso de encontrar algún objeto deberá llegar hasta él
54-2
42
Experimentos y resultados
y recogerlo.
El problema puede ser fácilmente dividido en tres subtareas más pequeñas o
módulos: 1) navegación, 2) evasión de obstáculos, y 3) recolección de objetos. En
el primer módulo el robot tiene la tarea especifica de encontrar el camino más
corto hasta la meta. Este módulo no considera la existencia de otros obstáculos
u objetos, únicamente la meta. En el segundo módulo, tiene que tomar las
acciones necesarias para evadir los obstáculos. Este módulo no considera la
meta ni los objetos en el ambiente. El módulo de recolección de objetos, tiene
la tarea de recoger los objetos que encuentra. Si el objeto no puede tomar el
objeto desde su posición, debe llegar a una posición desde la cual le sea posible
alcanzarlo. Además, para poder recoger un objeto el robot debe encontrarse
estacionario.
5.1.1
Escenario experimental
El escenario experimental consiste en un ambiente abstracto conocido como
“mundo de rejilla” o cuadrı́cula. La cuadricula utilizada en los experimentos
tiene una dimensión de tres por tres. Se definieron tres configuraciones del
escenario como se puede observar en la Figura 5.1. En cada un de estas configuraciones encontramos una celda “meta” en color verde con un valor de 100;
una celda de “objeto”, con valores de 50 y 200, en color azul ; y una o más de
“obstáculo” en color rojo, con valores de -30 y -50.
5.1.2
Agentes
Basados en el caso de estudio y el escenario experimental, definimos los MDPs
de los agentes como se muestra en la Tabla 5.1. Todos los módulos tienen dos
variables de estado en común: posición X y posición Y. El módulo de recolec-
55-1
5.1 Caso de estudio
43
3
100
50
3
2
-30
-30
2
1
100
50
-30
1
1 2 3
3
56-1
200 -50 100
2
1
1 2 3
(a)
(b)
1 2 3
(c)
Figura 5.1: Escenarios experimentales. La figura muestra los escenarios y sus configuraciones.
En cada rejilla las celdas en color verde y con valor de 100 representan la meta; en color azul,
con valores de 50 y 200 representan los objetos; y en color rojo, con valores de -30 y -50 los
obstáculos.
56-2
ción de objetos tiene, además, tres variables adicionales para la recolección de
objetos. Todos los módulos pueden realizar las mismas acciones de desplazamiento o dirección. Adicionalmente, el módulo de recolección de objetos puede
realizar la acción de tomar objeto.
Además de las recompensas especı́ficas de cada módulo, cada agente recibe
un refuerzo de -1 en cada toma de decisiones. Para cada MDP, la función de
transición, T , está dada por la suposición de que el robot tiene un 80 % de
probabilidad de completar su acción correctamente, y un 20 % de probabilidad
de fallar. Por ejemplo, si el robot ejecuta la acción arriba, tiene un 80 % de
probabilidad de desplazarse en esa dirección, y un 20 % de probabilidad de
desplazarse en alguna otra dirección.
Los agentes utilizan el algoritmo de aprendizaje por refuerzo Q-learning,
configurado con los siguientes parámetros: δ = 0,1, γ = 0,98, y # = 0,1.
44
Experimentos y resultados
Tabla 5.1: Definición de los MDPs de los módulos del robot. Todos los módulos tienen dos
variables de estado en común: posición X y posición Y. Ası́ como, las acciones arriba, abajo,
izquierda, derecha y no intervenir. En adición, el módulo de recolección de objetos tiene tres
variables más, y una acción de tomar objeto.
Módulo
Variables
Acciones
Recompensas
posición X,
arriba (↑),
100 si la acción realizada
posición Y
abajo (↓),
llevó al robot a la
izquierda (←),
posición meta
de estado
Navegación
derecha (→) ,
no intervenir (◦)
Evasión de
posición X,
arriba (↑),
-30 si la acción realizada
posición Y
abajo (↓),
causa que el robot caiga
izquierda (←),
en un obstáculo
derecha (→) ,
no intervenir (◦)
Recolección
posición X,
arriba (↑),
50 si la acción realizada
posición Y
abajo (↓),
lleva al robot a tomar el
objeto disponible
izquierda (←),
objeto
(si/no)
derecha (→) ,
sobre objeto
tomar objeto (♦),
(si/no)
no intervenir (◦)
objeto guardado
(si/no)
5.2 Descripción de los experimentos
5.2
45
Descripción de los experimentos
Se diseñó un conjunto de cuatro experimentos principales para cada una de
las configuraciones del escenario antes mencionadas. En cada experimento se
utilizó una de las cuatro funciones de utilidad definidas en la Sección 4.2.2. Cada
uno de estos experimentos principales, está dividido en cuatro sub-experimentos.
Los sub-experimentos varı́an respecto al nivel de percepción de los agentes. Utilizamos los cuatro niveles presentados en la Sección 4.1.1.
Las tablas de valores Q de los agentes son inicializadas con un valor al
que denominamos Rmax o “valor teórico máximo”. Este valor representa la
máxima utilidad que los agentes podrı́an obtener al seguir el camino más corto
para completar el objetivo global del sistema. En el caso de prueba definido,
el objetivo global incluye no caer en obstáculos, recoger el objeto y llegar a la
meta. El valor teórico máximo dependerá de la función de utilidad empleada
en el módulo de utilidades. La t bla 5.2 muestra el valor teórico máximo de
cada escenario con cada una de las funciones de utilidad.
Tabla 5.2: Valores teóricos máximos. La tabla muestra el valor teórico máximo de cada uno
de los experimentos en los distintos escenarios.
Experimento
Escenario A
Escenario B
Escenario C
Utilidad global
129
132
279
Castigo por conflicto
129
132
279
Castigo por número de acciones
122
128
272
Castigo por acciones innecesarias
128
131
278
Combinación de todos
121
128
271
Cada experimento consiste en 50 ejecuciones de 20 mil episodios cada una.
Posteriormente, se evalúan tres aspectos principales: 1) tendencias de utili-
58-3
46
Experimentos y resultados
dades, 2) polı́tica final aprendida y 3) relación NP-utilidades y NP-optimalidad.
A continuación se presentan los resultados obtenidos de los experimentos.
5.3
Tendencia de las utilidades
Este análisis se realiza sobre las utilidades obtenidas en los 200 mil episodios
de las 50 ejecuciones. Para esto, los episodios de cada ejecución se dividen en
dos secciones: 1) la sección de aprendizaje, y 2) la sección de prueba. La sección de aprendizaje consiste en todos los episodios donde los agentes aprenden
su polı́tica bajo el ı́ndice de exploración antes descrito. Esta primera sección
está conformada por los primeros 160 mil episodios. La segunda sección, consiste en un conjunto de episodios en los cuales los agentes no realizan exploración. Es decir, eligen sus acciones con un ı́ndice de exploración # = 0. Ası́,
los agentes toman acciones basados únicamente en la polı́tica que aprendieron
durante la primera sección de los episodios. Al no seguir acciones aleatorias,
podemos observar de manera más clara las utilidades que los agentes perciben
durante los últimos 40 mil episodios.
En cada experimento, todas las utilidades son almacenadas en una matriz
de 200 mil columnas por 50 renglones. Donde las columnas representan los
episodios y los renglones las ejecuciones. Al término de las 50 repeticiones, se
promedian las utilidades de cada columna y se almacenan en un nuevo vector.
Los datos en este vector pueden presentar variaciones bruscas, o “volatilidad”.
La volatilidad puede llegar a ocultar la verdadera tendencia de los valores. Por
lo tanto, los datos del vector son sometidos a un método estadı́stico, conocido
como Media Móvil (MM), para “suavisar” los valores y resaltar su tendencia.
Posteriormente, los datos obtenidos son graficados con el fin de facilitar su
análisis.
5.3 Tendencia de las utilidades
5.3.1
47
Experimentos
Las Figuras 5.2, 5.3 y 5.4 muestran los resultados obtenidos en los experimentos.
Las cuatro gráficas corresponden a los experimentos realizados con cada una
de las cuatro funciones de recompensa. Cada gráfica muestra los resultados de
los cuatro niveles de percepción. También se muestra el valor teórico máximo
(Rmax), el cual utilizamos como referencia del valor meta de los agentes.
ELAG
EGAL
EGAG
ELAL
Rmax
120
100
80
Utilidad
Utilidad
100
60
80
60
40
40
20
20
0
0
100000
200000
300000
Episodios
ELAG
EGAL
EGAG
ELAL
Rmax
120
400000
0
500000
0
(a) Utilidad global
100
80
60
20
20
100000
200000
300000
Episodios
60-1
400000
500000
(c) Castigo por acciones
60-2
60
40
0
500000
80
40
0
400000
ELAG
EGAL
EGAG
ELAL
Rmax
120
Utilidad
Utilidad
100
200000
300000
Episodios
(b) Castigo por conflicto
ELAG
EGAL
EGAG
ELAL
Rmax
120
100000
0
0
100000
200000
300000
Episodios
400000
500000
(d) Castigo por acciones innecesarias
Figura 5.2: La figura ilustra las tendencias de utilidades de los experimentos realizados en el
escenario A.
En las cuatro gráficas de cada una de las figuras, podemos ver que las
utilidades que los agentes consiguen se incrementan progresivamente desde el
48
Experimentos y resultados
ELAG
EGAL
EGAG
ELAL
Rmax
140
120
120
100
Utilidad
Utilidad
100
80
60
80
60
40
40
20
20
0
ELAG
EGAL
EGAG
ELAL
Rmax
140
0
50000
100000
Episodios
150000
0
200000
0
(a) Utilidad global
120
120
200000
100
Utilidad
Utilidad
150000
ELAG
EGAL
EGAG
ELAL
Rmax
140
100
80
60
80
60
40
40
20
20
0
100000
Episodios
(b) Castigo por conflicto
ELAG
EGAL
EGAG
ELAL
Rmax
140
50000
0
50000
100000
150000
200000
0
0
50000
Episodios
100000
150000
200000
Episodios
(c) Castigo por acciones
(d) Castigo por acciones innecesarias
Figura 5.3: La figura ilustra las tendencias de utilidades de los experimentos realizados en el
escenario B.
inicio del proceso. A partir del dato 160 mil, los valores se elevan bruscamente
indicando el punto el término de la sección de aprendizaje y el inicio de la
sección de prueba. En todas las gráficas e muestra también el valor máximo
teórico de cada experimento. Como se puede observar, los agentes no pueden
alcanzar este valor, solo aproximarse debido a: 1) la dinámica en el ambiente,
y 2) la media móvil utilizada para construir las gráficas.
En cada gráfica se puede distinguir que el nivel de percepción que obtuvo las
mayores utilidades fue el de la información completa (EGAG), sobresaliendo
ampliamente del resto. Los niveles de percepción EGAL y ELAL muestran
61-2
5.3 Tendencia de las utilidades
ELAG
EGAL
EGAG
ELAL
Rmax
300
250
250
200
150
200
150
100
100
50
50
0
0
50000
100000
Episodios
150000
ELAG
EGAL
EGAG
ELAL
Rmax
300
Utilidad
Utilidad
49
0
200000
0
(a) Utilidad global
250
200
150
150
100
50
50
0
50000
100000
200000
200
100
0
150000
150000
ELAG
EGAL
EGAG
ELAL
Rmax
300
Utilidad
Utilidad
250
100000
Episodios
(b) Castigo por conflicto
ELAG
EGAL
EGAG
ELAL
Rmax
300
50000
200000
0
0
50000
Episodios
100000
150000
200000
Episodios
(c) Castigo por acciones
(d) Castigo por acciones innecesarias
Figura 5.4: La figura ilustra las tendencias de utilidades de los experimentos realizados en el
escenario C.
valores de utilidad muy similares durante toda la primera sección de episodios.
Al llegar a la sección de prueba, la distancia entre los valores se incrementó,
resaltando la “optimalidad” alcanzada por el NP EGAL.
Los valores obtenidos con el NP ELAG, son los más bajos. En la mayorı́a
de los experimentos su promedio de utilidades permaneció por deba de cero.
62-1
50
Experimentos y resultados
5.3.2
Discusión
Como se ha mencionado anteriormente, en cada NP se cuenta con distinta
cantidad de información. Por lo tanto, los agentes con distintos NP pueden a
prender a realizar la tarea de maneras diferentes. Es decir, pueden aprender a
realizar la tarea completa, o solo una parte de esta.
Como ya se mencionó, las utilidades obtenidas por el Nivel de Percepción
ELAG fueron las más bajas en los experimentos. Esto se puede deber a: 1)
que no se ha logrado converger a un punto estable de la polı́tica por falta de
tiempo, 2) que este tipo de percepción es muy susceptible a la incertidumbre
del ambiente. En los experimentos se utilizó una probabilidad de error del 20 %,
el cual podrı́a ser muy grande para este tipo de NP.
5.4
Polı́tica final aprendida
Otro aspecto a evaluar es la polı́tica final obtenida por los agentes. Esto se
hace con el fin de verificar si las polı́ticas resultantes contienen algún tipo
de conflicto entre sus acciones. También, sirve para determinar si los agentes
fueron correctamente guiados hacia el comportamiento deseado por la función
de utilidad.
Al final de cada experimento, se promedian las últimas 5 mil utilidades
obtenidas por los agentes en cada ejecución. Estos 50 datos se almacenan en un
vector, se ordenan de menor a mayor, y se obtienen los cuartiles. Los cuartiles
son los tres datos que dividen al conjunto en cuatro partes iguales, correspondientes al 25 %, 50 % y 75 % del total. Son tres datos estadı́sticamente
representativos del conjunto. Posteriormente, obtenemos la polı́tica final de los
agentes en los tres cuartiles.
5.4 Polı́tica final aprendida
51
64-1
64-2
5.4.1
Experimentos
En las Tablas 5.3, 5.4, 5.5 y 5.6 muestran las polı́ticas finales obtenidas del
tercer cuartil en el escenario A, (las polı́ticas de los otros cuartiles y escenarios
se encuentran en el Anexo A). Las polı́ticas de este cuartil son en las que se
obtuvieron las utilidades más altas. Los renglones de las tablas representan los
niveles de percepción de los agentes. Las columnas representan las polı́ticas
antes y después de que el objeto sea recolectado. Las celdas marcadas en color
gris, representan los estados en los que aún existen conflictos.
Como se puede observar en las Tablas 5.3(d), 5.4(d), 5.5(d), 5.6(d), los
agentes tienen información suficiente para aprender a realizar toda la tarea.
Los agentes aprenden una polı́tica coordinada y, en su mayor parte, libre de
conflictos.
Los agentes que utilizan EGAL aprenden polı́ticas que son muy aproximadas a las que aprenden con EGAG. Sin embargo, conservan mayor número
de conflictos, y algunos se ubican en el camino óptimo para completar la tarea.
Al utilizar ELAL los agentes aprenden polı́ticas que no permiten realizar
la tarea completa. Más especı́ficamente, los agentes sólo aprenden a llegar a la
meta y a evitar los obstáculo, pero no a recoger el objeto. De igual manera,
estas polı́ticas presentan algunos conflictos fuera del camino óptimo.
En todos los casos, las polı́ticas generadas al utilizar un NP de ELAG son
las que presentan mayor número de conflictos.
5.4.2
Discusión
Al analizar las polı́ticas obtenidas mediante ELAG se puede observar su relación
con las gráficas de tendencias antes mencionadas. Las polı́ticas de los agentes
pueden haber convergido en un momento temprano del proceso, pero son in-
64-3
52
Experimentos y resultados
65-1
Tabla 5.3: Polı́ticas finales: función de utilidad global. Cada fila representa un Nivel de
Percepción. Las acciones se denotan mediante un sı́mbolo: arriba (↑), abajo (↓), izquierda
(←), derecha (→), tomar objeto (♦), no intervenir (circ).
(a) Estados locales y acciones locales (ELAL)
←←→
◦←←
◦◦♦
←←↓
◦←♦
◦◦←
◦↑↑
◦◦↑
◦◦←
◦↑↑
◦◦↑
◦◦←
→◦♦
↑↑↑
←←←
→◦↓
↑↑◦
←←♦
(b) Estados globales y acciones locales (EGAL)
↓◦♦
→◦◦
◦◦♦
↓↓↓
◦←←
←←♦
◦↑↑
↑◦↑
◦↑↑
↑◦→
◦↑↑
←◦♦
→→◦
◦↑◦
→←←
◦→↑
↑↑↑
◦◦←
(c) Estados locales y acciones globales (ELAG)
↑↓→
→◦◦
◦◦♦
↑↓↓
→◦←
◦◦←
→→◦
→↑◦
↑◦◦
→→↑
→↑↑
↑◦↑
◦→→
↑◦◦
↑↑←
◦→→
↑◦◦
↑↑◦
(d) Estados globales y acciones globales (EGAG)
◦→♦
→◦◦
◦◦♦
↑◦↓
←←←
◦←♦
◦↑♦
↑↑◦
↑↑↑
◦↑↑
◦↑↑
◦◦↑
◦→♦
↑↑↑
◦←◦
→↑◦
↑◦◦
←←←
5.4 Polı́tica final aprendida
53
Tabla 5.4: Polı́ticas finales: castigo por selección de acción conflictiva. Cada fila representa
un Nivel de Percepción. Las acciones se denotan mediante un sı́mbolo: arriba (↑), abajo (↓),
izquierda (←), derecha (→), tomar objeto (♦), no intervenir (circ).
(a) Estados locales y acciones locales (ELAL)
←←→
←◦←
◦◦♦
←←↓
←◦←
◦◦←
↑↑◦
↑↑↑
↑↑←
↑↑◦
↑↑↑
↑↑↑
→→♦
↑↑♦
←↑←
→→♦
↑↑↑
←↑◦
(b) Estados globales y acciones locales (EGAL)
↓◦♦
→→◦
◦◦♦
↓↓↓
◦◦←
◦←←
↑↑♦
◦↑◦
←↑◦
↑↑◦
↑↑◦
↑↑◦
◦→→
◦↑♦
←↓←
↑→♦
↑↑◦
←◦♦
(c) Estados locales y acciones globales (ELAG)
↑↓→
→◦→
◦◦♦
↑↓↓
→◦←
◦◦←
→◦◦
↑→♦
↑↑↑
→◦↑
↑→↑
↑↑↑
→→♦
→↑♦
↑↑←
→→♦
→↑◦
↑↑◦
(d) Estados globales y acciones globales (EGAG)
◦→♦
→◦→
◦◦♦
↑◦↓
←◦←
←←♦
↑↑↑
↑◦↑
↑↑↑
↑◦◦
↑↑♦
↑◦←
◦→◦
◦◦↑
←←♦
→→↑
↑◦↑
◦←←
54
Experimentos y resultados
Tabla 5.5: Polı́ticas finales: castigo por número de acciones seleccionadas. Cada fila representa
un Nivel de Percepción. Las acciones se denotan mediante un sı́mbolo: arriba (↑), abajo (↓),
izquierda (←), derecha (→), tomar objeto (♦), no intervenir (circ).
(a) Estados locales y acciones locales (ELAL)
←←→
◦◦←
←←♦
←←↓
◦◦←
←←♦
↑◦↑
↑◦◦
↑◦◦
↑◦↑
↑◦↑
↑◦↑
◦◦→
↑◦↑
◦←←
◦◦♦
↑◦♦
◦←♦
(b) Estados globales y acciones locales (EGAL)
↓◦♦
→◦←
◦◦♦
↓↓↓
←←←
←◦♦
→↑→
◦◦↑
◦◦↑
→↑↑
↑◦♦
↑←◦
→→→
↑◦↑
←◦◦
→→◦
↑◦↑
←◦♦
(c) Estados locales y acciones globales (ELAG)
↑↓→
→→◦
◦◦♦
↑↓↓
→→←
◦◦←
◦↓♦
↑◦♦
◦↑↑
◦↓↑
↑◦♦
◦↑↑
◦→◦
↑◦♦
↑←←
◦→◦
↑◦◦
↑←←
(d) Estados globales y acciones globales (EGAG)
◦→♦
◦→◦
◦◦♦
↑◦↓
◦←←
◦◦←
↑◦◦
↑↑♦
◦↑◦
◦↑↑
◦↑♦
◦◦←
→◦→
↑◦◦
←◦♦
◦↑↑
↑◦◦
↓←◦
5.4 Polı́tica final aprendida
55
Tabla 5.6: Polı́ticas finales: castigo por selección de acciones innecesarias. Cada fila representa
un Nivel de Percepción. Las acciones se denotan mediante un sı́mbolo: arriba (↑), abajo (↓),
izquierda (←), derecha (→), tomar objeto (♦), no intervenir (circ).
(a) Estados locales y acciones locales (ELAL)
←←→
◦←◦
◦←←
←←↓
◦←←
◦←◦
↑↑◦
◦↑◦
←←←
↑↑↑
◦↑↑
←←◦
→→→
↑↑↑
←←◦
→→↓
↑↑↑
←←♦
(b) Estados globales y acciones locales (EGAL)
↓◦♦
→◦◦
◦◦♦
↓↓↓
←←◦
↑←←
↑↑↑
◦↑♦
↑←◦
↑↑◦
↑◦◦
←↑↑
→→→
↑◦↑
←↓♦
→↑←
↑↑◦
←◦←
(c) Estados locales y acciones globales (ELAG)
↑↓→
→◦→
◦◦♦
↑↓↓
→◦←
◦◦←
→→↑
→◦↑
↑◦↑
→→↑
→◦↑
↑◦♦
→→→
↑↑♦
↑↑♦
→→◦
↑↑↑
↑↑♦
(d) Estados globales y acciones globales (EGAG)
◦→♦
→→◦
◦◦♦
↑◦↓
←←◦
◦←◦
→↓↑
◦↑↑
◦◦↑
↑↑♦
◦◦↑
←◦←
→◦♦
↑↑↑
←←◦
↑→↓
◦↑◦
←◦←
56
69-1
Experimentos y resultados
estables. La inestabilidad de las polı́ticas aprendidas con ELAG es ocasionada
principalmente por la incertidumbre en el ambiente. Aún si esta incertidumbre no existiera, no le serı́a fácil aprender una polı́tica óptima. Esto debido a
que los agentes de navegación y de evasión de obstáculos no siempre reciben
las mismas recompensas por estar en un estado y realizar alguna acción, aún
cuando no haya incertidumbre.
En los resultados podemos observar que las mejores polı́ticas para realizar la
tarea son obtenidas por ELAG y principalmente por EGAG. Esto sugiere que
el uso de información global de estados beneficia al aprendizaje de los agentes,
aún cuando estos conozcan o no las acciones realizadas por los demás agentes.
Los resultados obtenidos en cada uno de los escenarios son considerablemente similares, y se incluyen en el Anexo A.
5.5
Relación NP-utilidades y NP-convergencia
Parte del estudio de este trabajo consta en proveer un mecanismo para balancear entre la velocidad de aprendizaje y la optimalidad del mismo. Por lo
tanto, los resultados que se presentan a continuación, muestran la relación que
hay entre cada Nivel de Percepción (NP) con respecto a ambos factores.
Primero se obtiene el promedio de las últimas 5 mil utilidades de la sección
de aprendizaje. Después se calcula la media móvil del vector con una ventana
de 5 mil. Cuando esta media móvil es igual o mayor al 95 % al promedio de
las últimas 5 mil utilidades de las sección de aprendizaje, se considera que ha
convergido a una polı́tica.
5.5 Relación NP-utilidades y NP-convergencia
5.5.1
Experimentos
La Figura 5.5, muestra los resultados de este análisis. Cada par de gráficas
pertenece a los experimentos de uno cada uno de los escenarios. Las columnas
muestran un el compromiso que tienen la velocidad de aprendizaje y la optimalidad con respecto a los diferentes niveles de percepción. El eje x de cada gráfica
muestra el acrónimo del nivel de percepción de acuerdo con lo mencionado en
la Sección 4.1.1.
Como se puede observar en las Figuras 5.5(a), 5.5(c) y 5.5(e), todos los
casos la velocidad de aprendizaje del Nivel de Percepción EGAL es mayor que
la de EGAG, en relación al número de episodios que les tomar para converger
a la apolı́tica. Además, la optimalidad de ambos Niveles de Percepción es muy
similar. Esto indica que EGAL presenta el mejor balance entre ambos aspectos.
Las gráficas muestran que La velocidad de aprendizaje de ELAL es la mayor,
ası́ como sus utilidades obtenidas son más bajas que las de EGAL y EGAG.
En general, EGAG converge con una alta utilidad y poca varianza.
Respecto al NP ELAG, en algunos de los casos muestra una alta velocidad
de aprendizaje. Sin embargo, en todos los casos obtuvo un promedio de utilidades reducido con respecto a los otros niveles de percepción. En algunos de
los casos, incluso, fue menor que cero.
5.5.2
Discusión
Los resultados de este análisis muestran una clara relación entre la optimalidad y la velocidad de aprendizaje, con respecto a los diferentes niveles de
percepción. Confirmamos que la información de estado ayuda en gran medida al aprendizaje. Y que la información de tipo ELAG, no resultó beneficiosa
en ningún sentido en ninguno de los experimentos realizados. Los agentes con
57
58
Experimentos y resultados
80000
70000
60000
50000
40000
30000
20000
10000
0
Relation between PL and optimality
UG
# actions
conflictos
tomar objeto
Utility
Learing speed (Episodes)
Relation between PL and learning speed
71-1
LSLA
160
140
120
100
80
60
40
20
0
LSGA GSLA GSGA
UG
# actions
conflictos
tomar objeto
LSLA
Perception Level
(a) Utilidad global
Utility
Learing speed (Episodes)
160
140
120
100
80
60
40
20
0
LSGA GSLA GSGA
Perception Level
Relation between PL and optimality
350
UG
# actions
conflictos
tomar objeto
UG
# actions
conflictos
tomar objeto
300
250
Utility
100000
LSGA GSLA GSGA
Perception Level
(d) Castigo por generación de conflictos
Relation between PL and learning speed
150000
UG
# actions
conflictos
tomar objeto
LSLA
(c) Castigo por generación de conflictos
200000
GSGA
Relation between PL and optimality
UG
# actions
conflictos
tomar objeto
LSLA
Learing speed (Episodes)
71-2
GSLA
(b) Utilidad global
Relation between PL and learning speed
80000
70000
60000
50000
40000
30000
20000
10000
0
LSGA
Perception Level
200
150
100
50000
50
0
0
LSLA LSGA GSLA GSGA
Perception Level
(e) Castigo por generación de conflictos
LSLA
LSGA GSLA GSGA
Perception Level
(f) Castigo por generación de conflictos
Figura 5.5: Resultados de análisis de velocidad de aprendizaje y optimalidad. Cada par de
gráficas contienen los experimentos realizados en cada uno de los escenarios. La primera
columna muestra la relación entre la velocidad de aprendizaje y el NP. La segunda muestra
la relación de optimalidad y NP. El eje x de cada gráfica muestra los niveles de percepción.
ELAG no aprenden. La información completamente local permite aprender una
5.5 Relación NP-utilidades y NP-convergencia
polı́tica mı́nima en un tiempo considerablemente reducido.
Las gráficas de las Figura ?? ilustran la relación que tiene la cantidad de
información que los agentes perciben de su entorno, con respecto a la velocidad de aprendizaje y la optimalidad de la polı́tica aprendida. Mientras más
información se utiliza, mejor es la polı́tica aprendida, pero mayor es el tiempo necesario para aprender la polı́tica. Se puede obtener un mejor tiempo de
aprendizaje al reducir la cantidad de información y sacrificando la optimalidad
de la polı́tica final.
59
60
Experimentos y resultados
Capı́tulo 6
Conclusiones y trabajo futuro
En múltiples dominios es común dividir un problema en en varios más pequeños,
para facilitar su resolución. Sin embargo, las soluciones individuales de los subproblemas no siempre pueden ser utilizados como una solución al problema
original. Al mover este problema a un dominio como robótica, podemos observar con mayor facilidad la división de un problema, tomando como base
el sistema de un robot y dividiéndolo en subtareas. Las subtareas tienen un
objetivo individual: maximizar su propio bienestar. Ya que cada subtarea se
preocupa por si misma, sus acciones pueden entrar en conflicto con los intereses
de otra subtarea. En este sentido, diversas soluciones se han presentado para
sobrellevar los conflictos (Corona-Xelhuantzi et al., 2010), en lugar de coordinar y alinear los intereses. Dado este contexto en esta tesis presentamos una
solución alternativa a este problema.
6.1
Conclusiones
En esta tesis presentamos un esquema para ejecución concurrente basado en
coordinación multi-agente. Realizamos una instanciación del esquema a una
62
Conclusiones y trabajo futuro
arquitectura más especı́fica que sirvió como plataforma experimental. Motivados por un problema de robótica móvil, realizamos un estudio experimental y,
mostramos que el esquema permite la correcta interacción entre los módulos
del robot. Ası́ mismo, demostramos experimentalmente que el esquema cumple
con el objetivo de ayudar a los agentes a aprender polı́ticas coordinadas, y
no-conflictivas.
También, presentamos resultados que muestran que mediante el uso de diferentes cantidades de información (Niveles de Percepción), los agentes pueden
aprender diferentes comportamientos. Esto permite hacer un balance entre
la velocidad con la que aprenden el comportamiento y la optimalidad de las
polı́ticas aprendidas. Asimismo, identificamos un nivel de percepción que, ex-
75-1
perimentalmente, mostró ser el que mejor representa este balance en los exper-
75-2
imentos realizados.
75-3
6.2
Trabajo futuro
En el trabajo actual, todos los agentes tienen el mismo NP. Proporcionar a
cada agente diferentes niveles de percepción.
Determinar automáticamente relaciones entre los módulos, con el fin de
reducir la cantidad de información utilizada por el a gente, hasta proporcionar
75-4
únicamente la que necesita.
Establecer un método para reducir la cantidad de posibles soluciones del
problema.
Aprovechar una mayor cantidad de la información generada en cada iteración. Por ejemplo, realizar actualizaciones dobles en cada etapa de aprendizaje. Esto permitirı́a reducir los tiempos del proceso y mejorar el resultado.
Variabilidad automática en el nivel de percepción de los agentes de manera
6.2 Trabajo futuro
grupal o de manera individual. Esto permitirı́a que los agentes determinen,
según el problema, cuanta información necesitan para obtener una solución y
ası́ adaptarse a los cambios en el ambiente.
63
64
Conclusiones y trabajo futuro
Bibliografı́a
Barto, A. G., Bradtke, S. J., & Singh, S. P.
ing
to
tificial
act
using
real-time
dynamic
Intelligence,
72 (1–2),
81–138.
(1995).
Learn-
programming.
Ar-
Available
from
http://www.sciencedirect.com/science/article/pii/000437029400011O
Bellman, R.
cesses.
(1958).
Dynamic programming and stochastic control pro-
Information and Control , 1 (3), 228–239.
Available from
http://www.sciencedirect.com/science/article/pii/S0019995858800030
Bernstein, D. S., Zilberstein, S., & Immerman, N. (2000). The complexity of
decentralized control of Markov decision processes. In Proceedings of the
Sixteenth conference on Uncertainty in artificial intelligence (pp. 32–37).
San Francisco, CA, USA: Morgan Kaufmann Publishers Inc. Available
from http://dl.acm.org/citation.cfm?id=2073946.2073951
Boutilier, C.
(1999).
gent systems.
Sequential optimality and coordination in multia-
In Proceedings of the 16th international joint confer-
ence on Artifical intelligence - Volume 1 (pp. 478–485).
cisco, CA, USA: Morgan Kaufmann Publishers Inc.
San Fran-
Available from
http://dl.acm.org/citation.cfm?id=1624218.1624287
Claus, C., & Boutilier, C. (1998). The dynamics of reinforcement learning in
66
Bibliografı́a
cooperative multiagent systems. In Proceedings of the 6th Conference On
Artificial Intelligence (AAAI-98).
Corona-Xelhuantzi, E., Morales, E., & Sucar, E. (2009, 30 2009-april 2). Executing concurrent actions with multiple Markov decision processes. In
Adaptive Dynamic Programming and Reinforcement Learning, 2009. ADPRL ’09. IEEE Symposium on (pp. 82–89).
Corona-Xelhuantzi, E., Morales, E., & Sucar, L. (2010). Solving Policy Conflicts in Concurrent Markov Decision Processes. Dynamic Probabilistic
Graphical Models and their Applications.
Cote, E. M. de, Lazaric, A., & Restelli, M. (2006). Learning to cooperate in multi-agent social dilemmas. In Proceedings of the fifth international joint conference on Autonomous agents and multiagent systems (pp. 783–785).
New York, NY, USA: ACM.
Available from
http://doi.acm.org/10.1145/1160633.1160770
Crandall, J. W., & Goodrich, M. A. (2004). Learning pareto efficient solutions
with minimal knowledge requirements using satisficing. In Proceedings of
the 19th National Conference On Artificial Intelligence AAAI Press.
Elinas, P., Sucar, E., Reyes, A., & Hoey, J. (2004, sept.). A decision theoretic
approach for task coordination in social robots. In Robot and human
interactive communication, 2004. roman 2004. 13th ieee international
workshop on (p. 679 - 684).
Jaakkola, T., Jordan, M., & Singh, S. (1994). On the convergence of stochastic
iterative dynamic programming algorithms. Neural Computation, 6 (6),
1185–1201.
Mausam, & Weld, D. S. (2008). Planning with Durative Actions in Stochastic
Domains. Artificial Intelligence Research.
Meuleau, N., Hauskrecht, M., Kim, K.-e., Peshkin, L., Kaelbling, L. P., Dean,
Bibliografı́a
67
T., et al. (1998). Solving Very Large Weakly Coupled Markov Decision
Processes. In Proceedings of the 15th National Conference on Artificial
Intelligence.
Puterman, M. L. (1994). Markov Decision Processes: Discrete Stochastic Dynamic Programming (1st ed.). New York, NY, USA: John Wiley & Sons,
Inc.
Rohanimanesh, K., & Mahadevan, S. (2002). Learning to Take Concurrent
Actions. 16th Sixteenth Annual Conference on Neural Information Processing Systems.
Rummery, G. A., & Niranjan, M. (1994). On-line Q-learning using connectionist systems. Technical Report CUED/F-INFENG/TR 166, Cambridge
University Engineering Depart- ment..
Sandholm,
T.
W.,
inforcement
ma.
&
Crites,
learning
Biosystems,
R.
in
H.
the
37 (1–2),
(1996).
iterated
147
-
166.
Multiagent
prisoner’s
Available
re-
dilemfrom
http://www.sciencedirect.com/science/article/pii/0303264795015515
Sen, S., Sekaran, M., & Hale., J. (1994). Learning to coordinate without sharing
information. In Proceedings of the 12th National Conference On Artificial
Intelligence, Seattle, Washington. AAAI Press., 1 , 426–431.
Sigaud, O., & Wilson, S.
survey.
ologies
(2007).
Learning classifier systems: a
Soft Computing - A Fusion of Foundations, Methodand
Applications,
11 ,
1065–1078.
http://dx.doi.org/10.1007/s00500-007-0164-0
Available
from
(10.1007/s00500-
007-0164-0)
Stimpson, J. L., Goodrich, M. A., & Walters, L. C. (2001). Satisficing and
learning cooperation in the prisoner’s dilemma. In Proc. of IJCAI 2001 .
68
Bibliografı́a
Sucar, L. E. (2007). Parallel Markov Decision Processes. , 214 , 295–309.
Available from http://dx.doi.org/10.1007/978-3-540-68996-6 14
(10.1007/978-3-540-68996-6 14)
Sutton, R. S., & Barto, A. G. (1998). Introduction to Reinforcement Learning
(1st ed.). Cambridge, MA, USA: MIT Press.
Sutton, R. S., Precup, D., & Singh, S. (1999). Between MDPs and Semi-MDPs:
A Framework for Temporal Abstraction in Reinforcement Learning. Artificial Intelligence, 112 , 181–211.
Tan, M. (1993). Multi-agent reinforcement learning: independent vs. cooperative agents. In Proceedings of ICML, pages 330–337..
Watkins, C. J. C. H. (1989). Learning from delayed rewards. PhD thesis,
King’s College, Cambridge, UK..
Watkins, C. J. C. H., & Dayan, P. (1992). Qlearning. Machine Learning,
8 , 279-292. Available from http://dx.doi.org/10.1007/BF00992698
(10.1007/BF00992698)
Williams, R. J., & Baird, L. C. (1993). Tight performance bounds on greedy
policies based on imperfect value functions. Technical Report NU-CCS93-14, Northeastern University, College of Computer Science, Boston,
MA.
Notes
2-1
Este resumen esta muy vago, el reumen de la tesis es mas largo y detallado que el de in articulo de conferencia. Además, la
tesis contesta mas cosas que lo que dice el articulo.
15-1
, en donde
15-2
Esto es,
15-3
en subproblemas
15-4
Cual
15-5
los
16-3
Cada agente i \in N interactua con su ambiente, el cual es
16-5
, y es definido por
16-10
Mal definido
16-11
No, la solución es una política optima que maximiza ....
16-13
Necesitas profundizar mas sobre que son los conflictos entre acciones antes de entrar a los 2 tipos de conflictos
16-14
Extiende la explicación del trabajo de corona y resalta lo que esta tesis mejora en comparación a corona
17-1
Incluye un párrafo con el objetivo, metodologia y contribuciones (en forma de resumen, no copy/paste)
17-2
si la necesidad de la intervención manual de un experto (NECESITAS HABLAR DEL EXPERTO ANTES DE ESTA SECCION)
17-3
Estudiar el compromiso que existe entre optimalidad y tiempo de aprendizaje.
17-4
Esto va antes de la intro
22-1
extensión
23-1
extensión
24-2
explica por que es un problema
24-4
Deferentes
24-5
Con esto en mente, podemos definir
Annotations created using iAnnotate on the iPad.
Branchfire • www.branchfire.com
Notes
26-1
de programación dinámica
26-2
No se entiende
26-3
Usa otra letra, épsilon la usas para otra cosa
28-1
Ponlo enuna seccion aparte
28-2
secuencial en ambientes no deterministas (estocasticos)
29-1
España parece no ser una diferencia, ya que anterior ente dices que cada gente cuenta con un refuerzo independiente. Favor
de reescribir con diferencias reales
29-2
ellos
29-3
Que diferencia hay con el anterior y el primero
30-1
Ellos
30-2
Una de las excepciones es el trabajo de
30-3
, el cual presenta
37-1
Mover a la seccion de trabajo relacionado previa
40-1
los
40-2
poner en ambiente \enumerate
40-3
Individuales y al mismo tiempo la sumase utilidad global (definir utilidad global)
40-4
la
41-1
, el cual fue originalmente
41-3
Modificaron los comentarios de MICAI hechos sobre esta parte
41-4
Enumerar cada paso del proceso en un ambiente \enumerate
43-2
No dice bien el mensaje: info global, al ser una conjunción, incrementa exponencialmente el tamaño de la info. Por lo que
aprender a interactuar con el ambiente dada la info actual requiere exponencialmente mas interacciones.
44-1
Observable por cada agente
Annotations created using iAnnotate on the iPad.
Branchfire • www.branchfire.com
Notes
44-2
Los agentes seleccionan acciones en función de la info observada
47-1
Tipos
47-2
Ambiente \enumerate
50-1
encapsula a todos los agentes y
50-2
estos
50-3
Esto dividelo poniéndolo como sub seccion
51-1
cambia "i" por "1"
54-2
Menciona que los resultados mas interesantes son reportados en un articulo de MICAI
54-3
: recolector de basura
55-1
poner en ambiente \description, cada modulo junto con su descripción
56-1
Esta figura parece fuera de lugar, y nunca haces mención de ella en el documento
56-2
Poner en un recuadro el MDP de cada modulo y su descripción de estados, acciones y recompensa
58-3
Necesitas hablar de por que inicializas con Rmax, y que probaste con otras inicializaciones
60-1
Cambia figuras a blanco y negro, cada linea debe tener diferente patrón para identificarla
60-2
No se ve toa la curva, ajustar
61-2
Otra ves este problema? Creí que ya había quedado claro que DEBEN llegar al max teórico. O usas un ambiente
estocastico? Si es así menciónalo. Además, antes de estocasticos deberás reportar experimentos no estocasticos
62-1
Debes explicar los 3escentarios antes de mostrar las gráficas
64-1
Mostrar resultados sin estocasticidad
64-2
se
64-3
Todas dicen d
65-1
Poner que significa cada columna
Annotations created using iAnnotate on the iPad.
Branchfire • www.branchfire.com
Notes
69-1
Estocasticidad
71-1
Cambiar a español
71-2
Reordenalas con el sig. Orden:
UG, conflictos, tomar ob, actions. Lo mismo para el articulo
75-1
Menciona el articulo captado en MICAI
75-2
Hablar del compromiso optimalidad/tiempo de convergencia.
75-3
Seccion no escrita correctamente
75-4
Estas son idead desconectadas, escribir un párrafo para cada idea y conectarlas
Annotations created using iAnnotate on the iPad.
Branchfire • www.branchfire.com
Descargar