4.2 El proceso de negociación y aprendizaje
4.2.1 Método general
Los principales puntos de investigación que se explotan en este trabajo son: toma de decisiones distribuida y aprendizaje distribuido. Estos dos puntos son fundamentales para lograr la interacción coordinada entre los agentes.
A continuación se explica el mecanismo de negociación y aprendizaje propuestos en este trabajo y se hace uso del dominio de agentes de fútbol para ejemplificar los diferentes elementos que lo componen. La aplicación y evaluación de este modelo en el dominio de agentes de fútbol se ilustra en el capítulo 5 de este documento.
Modelo propuesto
Antes de que los agentes puedan jugar considerando a sus compañeros y oponentes, deben contar con algunos comportamientos básicos. Estos comportamientos son aquellos que un agente debe dominar antes de aprender comportamientos más complejos. La plataforma implementada en este trabajo ya cuenta con los comportamientos básicos que usarán los agentes para poder generar comportamientos más complejos. Dentro de los comportamientos básicos tenemos:
• Interceptar el balón (en caso de un pase directo o indirecto o en caso de
encontrar el balón en un proceso de búsqueda)
•••• Enviar un pase (directo o indirecto a un compañero)
•••• Tirar a gol
•••• Avanzar con o sin balón
•••• Buscar el balón
Los agentes, en nuestra aplicación, cuentan con tres niveles de comportamiento:
• Comportamiento básico: que son las acciones que el agente realiza considerando,
a lo más, otro agente en el medio. Estos comportamientos básicos ya se encuentran implementados en la plataforma y, por lo tanto, cada agente ya cuentan con ellos para poder interactuar con el resto de los agentes.
• Comportamiento relacional o grupal: que se refiere a cómo el agente interactúa
con otro (habilitando o deshabilitando comportamientos básicos) pero considerando utilidades y riesgos relacionados a las acciones elegidas. En este nivel ya encontramos el concepto de cooperación.
• Comportamiento organizacional o estratégico: cómo dos o más agentes
administran sus interacciones con la finalidad de estar organizados (habilitando o deshabilitando comportamientos relacionales) y generando planes conjuntos de acción. En este nivel ya encontramos el concepto de cooperación y coordinación. Este trabajo utiliza la simulación de agentes en un juego de fútbol fútbol con la finalidad de definir estrategias de colaboración entre equipos. Es por ello que, de
ahora en adelante, se utilizarán las palabras agente o jugador indistintamente.
Dentro del concepto de estrategias de colaboración se debe entender la incorporación de los siguientes conceptos [20, 28]:
• Comunicación
• Memoria compartida
• Modelos de toma de decisiones
• Aprendizaje
Las figuras 4.2, 4.3 y 4.4 muestran esquemas de bloques en los que se ilustra el proceso de toma de decisiones y aprendizaje distribuido que se implementó en este trabajo.
Modelo propuesto
La figura 4.2 ilustra el modelo propuesto en su nivel más alto de abstracción en donde:
•••• Meta define el objetivo común de los agentes.
•••• Acciones representan el conjunto de acciones válidas por cada uno de los agentes. Es decir, enviar un pase hacia delante, recibir un pase en cierto ángulo, entre otras.
•••• Estado representa el estado actual en el que se encuentra el agente. En nuestro problema los dos principales estados son: Tener el balón y no tener el balón. Dependiendo del estado en el que se encuentre el agente este decidirá qué acciones son válidas a realizar y, de estas acciones, evaluará aquellas que representan la mayor utilidad según la información que obtenga por sí mismo y del medio como: las posiciones relativas entre los agentes que intervienen en una jugada, la posición y orientación de sus compañeros así como de los contrarios, principalmente.
•••• Conjunto de acciones seleccionadas representa un grupo de acciones, una por cada agente, que deberán de ejecutarse para que el equipo de agentes se comporte coordinadamente.
Figura 4.2. Proceso del modelo distribuido de toma de decisiones
En la figura 4.3 se muestra el esquema del nivel de abstracción donde, utilizando los comportamientos básicos definidos previamente en este documento, conociendo la meta que debe cumplir, determinando las posibles acciones que puede realizar según su rol y recibiendo de la memoria compartida el estado actual en el que se encuentra, cada jugador calcula el riesgo asociado a cada una de sus posibles acciones y se genera una matriz que representa la utilidad asociada a las acciones conjuntas de los agentes. Una vez generada la matriz se escoge el convenio de acciones conjuntas que los llevará a tener la mayor utilidad posible (explotación) o un convenio de acciones conjuntas que representa menos utilidad en el momento de evaluación pero que puede representar una mejor decisión a futuro (exploración).
La salida de este nivel de implementación es el conjunto de acciones que el grupo de agentes, que interviene en una jugada, debe ejecutar para comportarse coordinadamente así como la utilidad asociada a dichas acciones. Ambas salidas se utilizan como entrada en otro nivel de abstracción que se ilustra en la figura 4.4
Modelo propuesto
Figura 4.3. Proceso de negociación para decidir las acciones conjuntas
En la figura 4.4 se representa el esquema en donde se incluye el proceso de aprendizaje de las acciones conjuntas previamente negociadas (figura 4.3) y la generación de los patrones de comportamiento que les permite a los agentes tomar decisiones considerando la experiencia previa. Se utiliza el mecanismo de
aprendizaje por refuerzo, Distributed Q-learning, para hacer que cada jugador
participante aprenda dichas acciones.
El conjunto de acciones seleccionado se generaliza por medio de un proceso en el que se intercambia información de los jugadores y se agregan los nuevos patrones en la lista de patrones aprendidos. Por ejemplo, en el caso del dominio de fútbol la información que se intercambia entre los agentes son sus posiciones relativas con respecto a otros jugadores, formando diferentes situaciones triangulares que se generalizan posteriormente. En la sección 4.2.5 se explica el mecanismo de aprendizaje que incluye este proceso de generalización.
Modelo propuesto
Figura 4.4. Aprendizaje distribuido de las acciones seleccionadas durante el proceso de negociación
A continuación se encuentra especificado el proceso dentro de cada etapa enumerada en la figura 4.4 y la sección que explica a detalle los cálculos indicados:
Etapa 1:
o Reconoce meta
o Recibe el estado actual en el que se encuentra cada jugador
o Reconoce posibles acciones a realizar según su rol y su estado actual.
o Calcula la utilidad de cada acción posible según los valores de las variables:
riesgo, ganancia, posicionamiento (sección 4.2.4).
o Genera la matriz de acción-utilidad de cada jugador (sección 4.2.4).
Modelo propuesto
Si en dicho conjunto no se reconoce el patrón actual entonces:
Pasa a la etapa 2.
Si en dicho conjunto se reconoce el patrón actual entonces:
Pasa a la etapa 3.
Etapa 2:
o Recibe de entrada la matriz de acción-utilidad de cada jugador involucrado
en la jugada
o Genera la matriz de acciones conjuntas
o Calcula el conjunto de negociación con aquellos comportamientos racionales
utilizando la maximización del producto (sección 4.2.4)
o Si estás en una etapa de explotación
Escoge la combinación de acciones de cada uno de los agentes
involucrados (patrón) con el valor de utilidad más alto
o Si estás en una etapa de exploración
Escoge la combinación de acciones de cada uno de los agentes
involucrados (patrón) con un valor de utilidad inmediato menor al valor más alto
o Según el patrón seleccionado ejecuta la acción indicada para cada agente y
actualiza su estado actual así como el rol de cada agente contratado y del agente administrador, según el modelo de Red de Contratantes.
o Pasa a la etapa 4.
Etapa 3 :
o Si estás en una etapa de explotación
Escoge la combinación de acciones de cada uno de los agentes
involucrados (patrón) con el valor de utilidad más alto
Actualiza su respectivo valor de Q
Calcula:
(
st at)
Q(
st at)
[
rt Q(
st a)
Q(
st at)]
Q , , max 1, , a 1 + − + ← α + γ +o Si estás en una etapa de exploración
Calcula la utilidad de cada acción posible según los valores de las
variables: riesgo, ganancia, posicionamiento (sección 4.2.4).
Genera la matriz de acción-utilidad de cada jugador (sección 4.2.4).
Escoge la combinación de acciones de cada uno de los agentes
involucrados (patrón) con un valor de utilidad inmediato menor al valor más alto
Recibe la utilidad asociada a cada acción que cada jugador ejecuta en
el patrón seleccionado
Inicializa Q(s,a) arbitrariamente
Calcula:
(
st at)
Q(
st at)
[
rt Q(
st a)
Q(
st at)]
Q , , max 1, , a 1 + − + ← α + γ +Modelo propuesto
o Según el patrón seleccionado ejecuta la acción indicada para cada agente y
actualiza su estado actual así como el rol de cada agente contratado y del agente administrador, según el modelo de Red de Contratantes.
o Pasa a la etapa 4.
Etapa 4:
o Recibe los patrones aprendidos, estado-acción, por cada jugador
o Si es un patrón nuevo se agrega en la memoria del agente según sus
orientaciones triangulares, su estado antes de realizar la acción elegida y el rol que desempeñó dicho jugador.
o Si es un patrón similar a alguno de los patrones que se encuentran en la
memoria del agente, como se explica en la sección 4.2.5, entonces se actualiza la información de este patrón en la memoria.