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