CIS 1010SD02Modelo de gestión de formaciones que amplía el modelo de control de cooperación basado en Multi resolución
MRCC
Diego Francisco Castillo VelásquezSebastián Plata Duarte
PONTIFICIA UNIVERSIDAD JAVERIANAFACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMASBOGOTÁ, D.C.
Ingeniería de Sistemas SIDRE <CIS1010SD02>2010
Página 2
CIS 1010SD02Modelo de gestión de formaciones que amplía el modelo de control de cooperación basado en
Multi resolución MRCC
Autores:
Diego Francisco Castillo VelásquezSebastián Plata Duarte
MEMORIA DEL TRABAJO DE GRADO REALIZADO PARA CUMPLIR UNO DE LOS REQUISITOS PARA OPTAR AL TITULO DE INGENIERO DE SISTEMAS
Director
Ingeniero Enrique González Guerrero
Jurados del Trabajo de Grado
Ingeniero Fernando de La Rosa
Ingeniero Eduardo Andrés Gerlein
Página web del Trabajo de Grado
http://pegasus.javeriana.edu.co/~CIS1010SD02/
PONTIFICIA UNIVERSIDAD JAVERIANA
Ingeniería de Sistemas SIDRE <CIS1010SD02>
FACULTAD DE INGENIERIACARRERA DE INGENIERIA DE SISTEMAS
BOGOTÁ, D.C.Diciembre 2010
PONTIFICIA UNIVERSIDAD JAVERIANAFACULTAD DE INGENIERIA
CARRERA DE INGENIERIA DE SISTEMAS
Rector Magnífico
Joaquín Emilio Sánchez García S.J.
Decano Académico Facultad de Ingeniería
Ingeniero Francisco Javier Rebolledo Muñoz
Decano del Medio Universitario Facultad de Ingeniería
Padre Sergio Bernal Restrepo S.J.
Directora de la Carrera de Ingeniería de Sistemas
Ingeniero Luis Carlos Díaz Chaparro
Director Departamento de Ingeniería de Sistemas
Ingeniero César Julio Bustacara Medina
Página 4
Artículo 23 de la Resolución No. 1 de Junio de 1946
“La Universidad no se hace responsable de los conceptos emitidos por sus alumnos en sus proyectos de grado. Sólo velará porque no se publique nada contrario al dogma y la moral católica y porque no contengan ataques o polémicas puramente personales. Antes bien, que se vean en ellos el anhelo de buscar la verdad y la Justicia”
Ingeniería de Sistemas SIDRE <CIS1010SD02>
AGRADECIMIENTOS
Quiero agradecer a Enrique González por permitirnos trabajar en este tema, guiarnos y por todo el apoyo que nos dio durante el año para poder realizar esta investigación, de igual for-ma por dejarnos pertenecer al grupo Bochica y participar en el LARC. Agradecer al gran amigo y compañero, pacho por su apoyo durante el trabajo de grado y la carrera, de igual manera a mis padres porque sin todo su apoyo y amor no sería quien soy hoy, a mis grandes amigos Andrés, Camilo y Santiago. Por último, a Diana por todo su apoyo total e incondicio-nal y cariño en todo momento.
Sebastián Plata Duarte
Este trabajo de grado fue posible de realizar gracias a un grupo de personas que estuvieron conmigo en el proceso de aprendizaje y de crecimiento profesional de mi carrera. Por eso quiero agradecerle a mi familia por acompañarme y apoyarme en todas mis decisiones duran-te este año de trabajo. También quiero agradecerle a mis compañeros de universidad que me han ayudado a cumplir mis metas académicas y a superar los obstáculos que se han presenta-do durante estos años. Por último, quiero agradecerle a mi compañero de tesis por este año de trabajo que ha traído buenos frutos y a Enrique González por brindarme todo el apoyo nece-sario para poder lograr este proyecto acabo.
Diego Francisco Castillo Velásquez
Página 6
ABSTRACT
This paper shows an investigation about the MRCC(Multi-Resolution Cooperation Control) model that belongs to the groups SIDRE and Takina , Pontificia Universidad Javariana Sci-ence groups. The research topic extends the usable structure and management of the Multi Agent Systems (M.A.S). The entire top model layers where redesign and implemented mak-ing emphasis on the level that is in charge of the system structure.
A huge number of tests where run and the conclusion that was found show that the organiza-tion of the M.A.S enables to obtain the main objective with more efficiency and effective-ness.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
RESUMEN
El presente trabajo presenta una investigación del modelo de MRCC de los grupos de investi-gación SIDRE y Takina, este trabajo se enmarca dentro del tema de sistemas multiagente, el cual extiende el modelo para el manejo de la estructura y su gestión. Se volvieron a diseñar las dos capas superiores del modelo y se implementaron, con énfasis en la capa que se encar-ga de mantener la estructura del sistema.Se realizaron un gran número de pruebas llegando a la conclusión que la organización del sistema multiagente permite tener una mayor eficacia y eficiencia en la obtención del objetivo global.
Página 8
RESUMEN EJECUTIVO
Esta investigación buscó poder extender el modelo base del MRCC que tiene el grupo de investigación SIDRE para generar la versión extendida del mismo, lo primero que se realizó fue un estudio del marco contextual en el cual en inmerso el modelo base del MRCC, lo cual tiene como base sistemas inteligentes, con un especial énfasis en sistemas multiagentes, ex -presando conceptos como agente, cooperación, multiresolución y por último el modelo gené-rico del MRCC.
Como segundo paso se realizó una investigación sobre los diferentes aspectos que se deben considerar en la organización de entidades, donde se encontraron cinco tópicos en los cuales se sacaron los aportes más importantes. Seguido del análisis de las problemáticas, se realizó un estudio del estado actual de modelo base MRCC, se realizó un contraste con los resultados del análisis de las problemáticas para llegar a los aspectos en que se debían mejorar en el modelo base.
Una vez se tenían los aspectos que debían contener y que se podían integrar al modelo base, se realizó una etapa de diseño para poder las modelar las extensiones del modelo, dando como resultado el modelo extendido que se propone y se implementa en el capítulo cuatro de este trabajo. En la etapa de diseño e implementación se manejó un proceso iterativo con el cliente y de pruebas cada vez acababa cada iteración, cada funcionalidad del modelo fue pro-bada independientemente, después de realizarlo por separado, se fue realizando un proceso incremental en los módulos para poder observar que el comportamiento emergente fuera co-herente con lo esperado. Una vez el modelo quedo implementado se procedió a integrarlo al proyecto de FutbolGeo, el cual estaba inscrito para participar en el Latin American Robotics Competition como el equipo Bochica.
Después de tener el modelo implementado y probado en simulación, se realizó el viaje a San Bernardo, San Pablo, Brasil para participar en el LARC, se participó exitosamente pudiendo observar que el equipo reaccionaba a los eventos externos del ambiente, como lo son los ca -sos de excepción.
Después de la participación en la competición se procedió a realizar una validación estadísti -ca en el caso de estudio específico de futbol para comprobar que la organización y estructura-ción del SMA permite ayudar al cumplimiento del objetivo, esto se validó exitosamente con-siguiendo evaluar dos equipos en las mismas condiciones, pero uno de ellos sin organización y estructuración, dando como resultado que el equipo que contaba con las capas diseñadas e implementadas en este trabajo aumenta la eficacia, mayor número de victorias, y eficiencia, mayor número de acciones realizadas en menos intentos.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
I. INTRODUCCIÓN.........................................................................................13
II. AGENTES, COOPERACION Y MRCC.....................................................15
1. CONTEXTO GENERAL DE AGENTES Y COOPERACIÓN EN SMA.....15a. Definición de agente...............................................................................................15b. Sistemas multiagente...............................................................................................16
2. MODELO GENÉRICO DE CONTROL DE COOPERACIÓN CON MULTIRESOLUCIÓN................................................................................................18
a. Multiresolución.......................................................................................................18b. Jerarquía de objetivos.............................................................................................20c. Cooperación SMA con Multiresolución..................................................................21
3. MODELO BASE.............................................................................................22a. Arquitectura del modelo base MRCC.....................................................................22
4. NIVEL FORMACIÓN.....................................................................................24a. Definición general de formación............................................................................25b. Definición de zona de acción..................................................................................25c. Definición de rol estructurante...............................................................................26d. Reglas estructurantes..............................................................................................26e. Negociación entre zonas.........................................................................................26f. Detección de necesidades............................................................................................27g. Análisis de falencias del modelo base de formaciones...........................................28
III. PROBLEMÁTICAS Y SOLUCIONES PARA EL DESARROLLO DE UN MODELO GESTOR DE FORMACIONES EN UN SMA..............................30
1. CONTEXTO DE FORMACION.....................................................................30a. Objetivos de las formaciones..................................................................................31b. Factores necesarios para la selección de una formación......................................38c. Gestión y distribución del espacio..........................................................................47d. Formas de influenciar el comportamiento de los agentes por las formaciones.....49e. Arquitectura de un gestor de formación.................................................................50
IV. MEJORAS PROPUESTA AL MODELO MRRC......................................52
1. CAPA DE FORMACIONES...........................................................................52a. Formación...............................................................................................................52b. Zona........................................................................................................................54c. Táctica.....................................................................................................................56d. Objetivo...................................................................................................................58e. Rol estructurante.....................................................................................................61
Página 10
2. CAPA MICRO SOCIAL.................................................................................64a. Planes......................................................................................................................64
3. CAPA SISTEMA.............................................................................................66
V. IMPLEMENTACIÓN DEL MODELO.......................................................68
1. ANÁLISIS..........................................................................................................68
2. DISEÑO.............................................................................................................70
3. IMPLEMENTACIÓN............................................................................................74
4. PRUEBAS...........................................................................................................74
VI. CASO DE ESTUDIO ESPECÍFICO: FÚTBOL ROBÓTICO..................76
1. PROTOCOLO DE PRUEBAS.................................................................................76a. Variables independientes........................................................................................77b. Variables dependientes...........................................................................................80c. Variables intervinientes..........................................................................................81
2. PROTOCOLO DE PRUEBAS.................................................................................82a. Presentación y análisis de resultados.....................................................................82
VII. CONCLUSIONES Y TRABAJO FUTURO.............................................................91
VIII. BIBLIOGRAFÍA.............................................................................................93
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Índice de Figuras
Figura 1. Modelo y elementos del paradigma de las 5C..........................................................18
Figura 2 Ejemplo de Multiresolución.......................................................................................20
Figura 3 .Elementos para la representación gráfica del modelo MRCC..................................22
Figura 4 . Arquitectura del modelo base MRCC......................................................................22
Figura 5. Macro algoritmo de detección de necesidades.........................................................27
Figura 6. Concepto de Formación............................................................................................53
Figura 7. Concepto de Zona.....................................................................................................55
Figura 8. Concepto de Táctica..................................................................................................57
Figura 9. Concepto de Instancias.............................................................................................58
Figura 10. Concepto de Objetivo.............................................................................................59
Figura 11. Concepto de Rol estructurante................................................................................63
Figura 12. Diagrama de clases extendido.................................................................................71
Figura 13. Diagrama de agentes...............................................................................................74
Figura 14. Formación base con 3 jugadores Figura 15. Formación base con 3 y 2 zonas jugadores y 3 zonas..................................................................................................................79
Figura 16. Formación base con 4 jugadores Figura 17. Formación base con 4 y 2 zonas jugadores y 3 zonas..................................................................................................................80
Figura 18. Formación base con 5 jugadores Figura 19. Formación base con 5 y 2 zonas jugadores y 3 zonas..................................................................................................................80
Figura 20. Porcentaje de partidos ganados...............................................................................84
Figura 21. Promedio del número de goles realizados por partido............................................85
Página 12
Figura 22. Promedio del número de intentos para realizar acciones cooperativas por partido...................................................................................................................................................86
Figura 23. Promedio del número de acciones cooperativas realizadas con éxito por partido..87
Figura 24. Promedio del número de goles realizados por partido evaluados por zonas y núme-ro de jugadores.........................................................................................................................88
Figura 25. Porcentaje de partidos ganados evaluado por zonas y número de jugadores.........88
Figura 26. Promedio del número de intentos para realizar acciones cooperativas por partido, evaluadas por zonas y número de jugadores............................................................................89
Figura 27. Promedio del número de acciones cooperativas realizadas con exito, evaluadas por zonas y número de jugadores...................................................................................................90
Ingeniería de Sistemas SIDRE <CIS1010SD02>
I. INTRODUCCIÓN
El presente trabajo de grado se enmarca dentro del contexto de los sistemas multiagentes y la
inteligencia artificial, los cuales son temas de investigación de los grupos SIDRE y Takina de
la Pontificia Universidad Javeriana de Bogotá. Desde hace 6 años el grupo de investigación
SIDRE ha venido desarrollando el modelo de Multi-Resolution Cooperative Control MRCC
que pretende solucionar problemas de gran complejidad mediante los conceptos de Multireso-
lución y cooperación en sistemas multiagentes.
A través de este tiempo se han venido extendiendo y depurando el modelo, hasta su último
desarrollo que se hizo mediante el trabajo de grado de Camargo y Bernal [BERN2008]
[BERN2007], este será llamado en el documento como el modelo base. Los trabajos mencio-
nados anteriormente establecieron una arquitectura para este modelo, la cual se compone de 4
capas: Sistema, Formación, Micro-social, Agente. En el final de este trabajo se han imple-
mentado todas las capas. En la capa Formación se ha trabajado en su diseño e implementa-
ción, pero no se ha finalizado. Finalmente, en la capa Sistema no se ha realizado un aporte
considerable, se conocen sus responsabilidades pero no de que formas las debe cumplir. De-
bido a que el modelo base no tiene la capa Sistema y Formaciones desarrollados en su totali-
dad, se presentó la necesidad de trabajar en el análisis y la extensión del modelo.
En el modelo base se presenta la oportunidad de completar la capa Formaciones y proponer la
capa Sistema, mediante un gestor de formaciones que gestione la organización del sistema,
mantenga esta organización a través del tiempo, la pueda cambiar a través del tiempo y per-
mita alcanzar el objetivo global de manera más eficiente[BERN2007].
El desarrollo del modelo extendido MRCC el cual tiene la reformulación de la capa de forma-
ciones y de la capa sistema tuvo un proceso de refinamiento amplio debido a que una vez se
realizó la extensión del modelo base se realizaron pruebas en simulación para el caso de estu-
dio específico de fútbol robótico, con el fin de probar su correctitud. Luego, el modelo tuvo
otra etapa de refinamiento para ajustar los errores de la implementación del modelo. Una vez
el modelo tuvo esta etapa de refinamiento final en simulación, se realizaron pruebas con ro-
bots reales para ajustar aún más el modelo, hasta que finalmente se realizaron los últimos
Página 14
ajustes para poder competir en el campeonato latinoamericano de fútbol robótico LARC
[LARC2010] desarrollado en el mes de Octubre del 2010 en Sao Paulo Brasil.
El reporte de la investigación realizada en este trabajo de grado se organizará de la siguiente
manera: en el capítulo 2, se definirá el marco conceptual de agentes, cooperación y el modelo
base MRCC, en el cual está enmarcado el trabajo de grado; en el capítulo 3, se muestra la
investigación realizada en las problemáticas y soluciones para el diseño de un gestor de for-
maciones; en el capítulo 4, se define la propuesta de extensión al modelo MRCC y los cam-
bios al modelo base; en el capítulo 5, se define como se realizó el modelo extendido en cuan -
to a diseño y codificación de software; en el capítulo 6, se describe el protocolo experimental
que se usó para validar el modelo y se muestran los resultados obtenidos y finalmente, en el
capítulo 7, se presentan las conclusiones y los trabajos futuros.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
II. AGENTES, COOPERACION Y MRCC
En este capítulo se presenta el contexto en el cual se enmarca la investigación, con el fin de
contextualizar al lector. Una vez este contextualizado el lector con los conceptos claves que
rigen el presente trabajo, se realizará una descripción general del modelo MRCC.
1. CONTEXTO GENERAL DE AGENTES Y COOPERACIÓN EN SMA
En esta sección se presentaran los conceptos fundamentales de agentes y sistemas multiagen-
tes sobre los cuales se desarrolló la investigación.
a. Definición de agente
El concepto de agente no es concepto unificado y tampoco estándar, debido que se puede
analizar desde diferentes perspectivas y/o de acuerdo a la línea de investigación en la que se
quiera estudiar [TOLO1999]. Diferentes autores como [WOOL1998], [RUSS2004],
[TOLO1999] y [MAES1994] definen un concepto de agente basado en diferentes aproxima-
ciones. A continuación se analizarán la aproximación basada en propiedades, en servicios, en
su objetivo principal y en su arquitectura interna.
La aproximación de agente basado en propiedades define a un agente como situado, pro-
activo, autónomo y social [WEIS1996]. Un agente es situado cuando tiene la capacidad de
interactuar con el ambiente en el cual se encuentra inmerso. Un agente es proactivo cuando
su comportamiento está dirigido al cumplimiento de objetivos. Un agente es autónomo a
medida que usa sus percepciones, experiencia e información inicial para tomar sus propias
decisiones y aprender a comportarse de forma correcta. Finalmente, un agente es social a
medida que se comunica y comparte sus habilidades y recursos con otros agentes para cum-
plir un objetivo grupal.
La aproximación de agente orientado a servicios modela a un agente como una entidad
que puede prestar un conjunto de servicios [GONZ2007]. Estos prestan servicios mediante la
manipulación de recursos que se encuentran en su ambiente, de manera que un agente puede
producir, transformar, consumir o intercambiar recursos para suplir un servicio.
Página 16
La aproximación de agente desde su objetivo principal plantea que de acuerdo a la línea
de investigación que se trabaje se debe priorizar el objetivo principal de cada agente
[TOLO1999]. A partir de esta perspectiva se pueden definir cuatro tipo de agentes: agentes de
interfaz, agentes colaborativos, agentes móviles y agentes de recuperación de información.
Los agentes de interfaz asisten y reducen el trabajo de un usuario cuando tiene interacción
con una aplicación. Los agentes colaborativos extienden una funcionalidad de un sistemas
más allá de uno de sus miembros para satisfacer los requerimientos del usuario. Los agentes
móviles son entidades activas que son capaces de desplazarse por una red e interactuar con
otros equipos para realizar tareas especificadas por un usuario. Por último, los agentes de
recuperación de información obtienen información en representación de un usuario.
La aproximación basada en la arquitectura interna clasifica a los agentes de acuerdo a su
arquitectura interna y su forma de tomar las decisiones [GONZ2007]. A partir de esta
perspectiva se pueden definir tres tipos de agentes: agentes reactivos, agentes deliberativos y
agentes BDI. Un agente reactivo es aquel que toma sus decisiones a partir de las percepcio-
nes que tiene en un instante determinado de tiempo sin tener en cuenta sus percepciones ante-
riores. Los agentes deliberativos son aquellos que toman en cuenta la información histórica
para tomar sus decisiones y ejecutar planes. Finalmente, los agentes BDI son aquellos que se
basan en el modelo BDI (Belive, Desire, Intention), en donde a partir de la base de conoci-
miento local (creencias) y los objetivos (deseos) que el agente tiene define la forma en el que
un agente realiza sus acciones para cumplir sus objetivos (intenciones).
De acuerdo al contexto de este trabajo se tomará la definición de agente planteada por Gonzá-
lez [GONZ2007], una entidad autónoma que actúa para cumplir sus objetivos en un ambiente
de trabajo.
b. Sistemas multiagente
Si se analiza un agente de manera aislada, este puede desarrollar una tarea simple para cum-
plir un objetivo simple; sin embargo, si se necesita realizar tareas más complejas un solo
agente no podría realizarla. A partir de esta necesidad, emerge el concepto de sistema multia-
Cooperación
Colaboración Coordinación Resolución de conflictos
Comunicación
Ingeniería de Sistemas SIDRE <CIS1010SD02>
gente, el cual se define según Ferber [FERB1999] como un conjunto organizado de agentes
que interactúan de forma cooperativa para lograr de manera colectiva un objetivo global. Un
sistema multiagente está conformado por los siguientes elementos:
Ambiente: Espacio real o virtual en el que perciben y actúan los agentes.
Objetos: Conjunto de entes activos o pasivos que están situados en el ambiente.
Agentes: Conjunto de entes activos.
Relaciones entre objetos: conjunto de relaciones que vinculan los objetos.
Operaciones: acciones mediante las cuales los agentes pueden producir, consumir,
transformar y manipular objetos.
Operadores: son la aplicación de operaciones y la reacción del mundo en los inten-
tos de modificación que realizan los agentes.
1.1. Cooperación en SMA
González [GONZ2007] define el paradigma de las 5C, el cual es un modelo de cooperación
que se basa del modelo de cooperación de las 3C de Ferber [FERB1999] y le incorpora dos
nuevos conceptos. El paradigma de las 5C plantea que la cooperación se da por la colabora-
ción, coordinación y la resolución de conflictos soportado sobre la comunicación, la cual se
observa en la figura 1:
Figura 1. Modelo y elementos del paradigma de las 5C
Página 18
La cooperación define las interacciones que tienen un grupo de agentes basándose en
las acciones que cada agente realiza para cumplir con sus objetivos. La cooperación
se basa en la colaboración, la coordinación y la resolución de conflictos para poderse
desarrollar, a su vez se soporta en la comunicación la cual es la base para que la co-
operación pueda existir.
La colaboración se refiere a la forma en que se distribuyen las tareas entre los agen-
tes para lograr un objetivo. Esta se basa en la comunicación para poderse desarrollar.
La coordinación es la forma en la que se articulan las acciones individuales de cada
uno de los agentes.
La resolución de conflictos son los mecanismos que permiten manejar las diferen-
cias que pueden existir entre los agentes por acceso a recursos compartidos limitados.
La comunicación es el envió de mensajes de un emisor a un receptor. Es la base
fundamental del modelo para que pueda existir cooperación en un sistema multiagen-
te.
Por lo tanto, dentro de un sistema multiagente es indispensable un modelo de cooperación
que le permita a un conjunto de agentes cooperativos actuar con una visión de equipo y orga-
nización, con el fin de alcanzar las metas globales y poder manejar la complejidad de un sis-
tema.
2. MODELO GENÉRICO DE CONTROL DE COOPERACIÓN CON
MULTIRESOLUCIÓN
Este capítulo presenta el modelo genérico de control de cooperación con multiresolución y
los conceptos del mismo sobre el cual está el modelo base MRCC y sobre el cual se realizó su
extensión.
a. Multiresolución
El modelo genérico de cooperación se basa en el concepto de Multiresolución, definido por
Meystel [MEYS2002], en el contexto de planificación de trayectorias para robots móviles.
En este contexto el robot desea moverse de un punto inicial a un punto final, pero para poder
Ingeniería de Sistemas SIDRE <CIS1010SD02>
planificar su desplazamiento hasta el punto final, debe pasar por una serie de niveles de reso-
lución.
La tarea comienza en el nivel más grueso de resolución que es la tarea en su totalidad, pero a
medida que se disminuye el nivel de complejidad se descompone esa tarea global en tareas
más simples, que una vez realizadas representan la consecución de la tarea global. Sin embar-
go, cabe aclarar que al ir aumentando progresivamente el nivel de detalle debe encontrarse
con un punto de parada en la descomposición, que en este caso son las primitivas básicas de
movimiento del robot.
En cada nivel se planifica el camino; al pasar a un nivel inferior, el espacio de planificación
de este se restringe pro la solución generada por el nivel superior.
Bernal [BERN2007] define un ejemplo para poder comprender de manera más sencilla el
concepto de Multiresolución: En la figura 2, se puede apreciar la gráfica del ejemplo. Supon-
ga que una persona está ubicada en un apartamento y que su objetivo es ir del punto A al
punto B. Primero es necesario encontrar la ruta a seguir (primer nivel de resolución), pero la
ejecución de esta labor puede ser descompuesta en labores más pequeñas tales como salir de
la habitación, subir las escaleras, entre otras (segundo nivel de resolución); Las cuales a su
vez pueden ser descompuestos en tareas más sencillas como caminar de frente 10 pasos, lue -
go girar 90 grados, y así sucesivamente hasta que se considere suficiente la descomposición
para poder realizar la tarea.
Página 20
Figura 2 Ejemplo de Multiresolución.
b. Jerarquía de objetivos
En el modelo MRCC se establece una jerarquía de objetivos por niveles. Se define tres nive-
les de objetivos:
Objetivos globales: Rigen la conducta de todo el SMA. Básicamente, el objetivo
final para el cual fue diseñado el sistema.
Objetivos compartidos: Rigen la conducta de un grupo de agentes. Dos o más agen-
tes cooperan para alcanzar un objetivo intermedio.
Objetivos específicos: Rigen la conducta de un solo agente. Se trata de los objetivos
individuales de cada agente.
Estos objetivos deben tener tres características: dinámicos, coherentes y completos. Un obje-
tivo es dinámico porque cambia a través del tiempo según los requerimientos del sistema; es
coherente porque debe estar encaminado a cumplir con el objetivo global y es completo
porque es suficiente para lograr el objetivo final. De esta manera, si los objetivos de cada
nivel son coherentes deben estar encaminados al cumplimiento del objetivo global del siste -
ma multiagente.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
c. Cooperación SMA con Multiresolución
En el modelo base se puede unir el concepto de cooperación en un sistema multiagente y el
de multiresolución para describir un modelo de cooperación basado en multiresolución
MRCC. Este está basado en la premisa de que la cooperación puede abordarse por niveles,
donde los niveles altos involucran una abstracción de las metas del sistema como un todo,
mientras que los niveles más bajos involucran las metas del agente en forma individual. De
igual manera, en el concepto de Multiresolución propuesto por Meystel [MEYS1999], las
metas de los agentes individuales están sujetas a las restricciones impuestas por los niveles
superiores, cuyas metas y objetivos están alineados con los del sistema. Los niveles medios
permiten construir esquemas organizacionales intermedios, los cuales respetan las metas glo-
bales, y al mismo tiempo restringen o establecen parámetros a los niveles inferiores. El es-
quema del modelo MRCC establece una jerarquía en el control de la cooperación, lo cual no
implica que los agentes ni los patrones de comunicación deban ser jerárquicos. Partiendo de
la suposición de que los agentes son cooperativos, se intuye que los objetivos de éstos están
encaminados a la consecución del objetivo principal del sistema multiagente; aunque, cada
uno de los agentes deba limitar un poco su autonomía.
De acuerdo con la definición del modelo genérico basado en multi resolución, se define que
está construido por una arquitectura en capas, en donde cada capa tiene un nivel de abstrac-
ción diferente. Esta arquitectura en capas se puede definir mediante los siguientes elementos:
Capa o nivel: Es un subsistema que tiene una capacidad racional y un proceso de
toma de decisiones, que puede influenciar a las otras capas del sistema, con el fin de
lograr el objetivo global del sistema.
Conexiones o influencias: Una influencia o conexión es la forma en la que una capa
tiene influencia sobre otra. Existen dos tipos de conexión: parametrizante y de retroa-
limentación. La conexión parametrizante es una influencia de una capa superior a
otra capa de nivel inferior. Una conexión de retroalimentación es una influencia de
una capa a una capa de nivel superior. La figura 3 presenta la notación anteriormente
mencionada.
Página 22
Figura 3 .Elementos para la representación gráfica del modelo MRCC.
De esta manera, el modelo MRCC base está compuesto por cuatro capas: sistema, formación,
microsocial y agente, que se describirán en la siguiente sección.
3. MODELO BASE
Esta sección presenta el modelo base MRCC, sus ventajas y desventajas, sobre el cual se
realizó la extensión para tener como resultado el modelo extendido del MRCC.
a. Arquitectura del modelo base MRCC
Como lo define Bernal [BERN2007] la arquitectura del modelo MRCC define cuatro capas,
las cuales tienen responsabilidades concretas e influencian entre capas. La figura 4 muestra la
arquitectura del modelo base.
Figura 4 . Arquitectura del modelo base MRCC
Ingeniería de Sistemas SIDRE <CIS1010SD02>
En esta arquitectura la capa sistema es la capa con mayor nivel de abstracción y es la encarga-
da de parametrizar a la capa formación mediante la selección de una formación específica
para el sistema, y a su vez influencia el comportamiento de un agente mediante la asignación
de un rol excepción dado la ocurrencia de un caso especial que se produzca en el ambiente.
Una vez se define una formación para el sistema, la capa formación establece el orden y la
estructura del sistema parametrizando a la capa microsocial las preferencias de las acciones
cooperativas, y a su vez influenciando el comportamiento base de los agentes del sistema
mediante la asignación de un rol estructurante. Cuando se realizan las acciones cooperativas,
se influencia el comportamiento de los agentes involucrados mediante la asignación de un rol
cooperativo. Una vez, los agentes tengan su rol definido ya sea por la capa sistema, forma-
ción o por la capa microsocial realizarán sus acciones individuales.
A continuación, se definirán cada uno de las capas del modelo MRCC de acuerdo a lo plan-
teado por Bernal [BERN2007].
Capa agente
Es la capa que transforma en acciones las decisiones de la capa sistema, formación y micro -
social de acuerdo a los conocimientos, habilidades y capacidades de cada uno de los agentes.
Cada acción cooperativa, cambio de rol estructurante o cambio de rol excepción permiten al
agente asumir dinámicamente diversos roles. Mediante el concepto de rol se puede ligar la
capa agente con las demás capas del sistema debido a que el rol representa la responsabilidad
de alcanzar los objetivos específicos utilizando los recursos y las habilidades propias del
agente.
Capa microsocial
Es el nivel encargado de detectar las oportunidades de cooperación entre un pequeño grupo
de agentes. Esta capa se encarga de regular el cumplimiento de los objetivos del grupo de
agentes que estén involucrados en una microsociedad. Una microsociedad se define como un
subconjunto de agentes del sistema que interactúan para lograr un objetivo común.
Debido a las responsabilidades de esta capa, se encarga de establecer las técnicas de coopera-
ción que se utilizarán para resolver problemas de colaboración, coordinación y resolución de
Página 24
conflictos. Para ello esta capa define una estructura que modela la interacción entre los agen-
tes llamada Acciones Cooperativas. Las acciones cooperativas especifican tareas de coope-
ración que son realizadas por uno o varios a agentes, en donde se manejan mecanismos de
negociación para definir los roles de los agentes que interactúan en la acción.
Capa formación
El nivel formación es una capa comprendida en el nivel intermedio superior cuya responsabi-
lidades son: modular las acciones cooperativas dentro del espacio de acción de los agentes,
facilitar la consecución del objetivo final de los agentes y promover el mantenimiento de la
estructura organizada dentro del mismo.
La estructura de diseño que modela esta capa es la formación. Una formación es un conjunto
de agentes que unidos conforman un todo.
Capa sistema
Es el nivel encargado de tomar las decisiones de alto grado de abstracción del comportamien-
to cooperativo para poder lograr los objetivos globales del sistema. Esta capa es la que conce-
de los lineamientos generales del comportamiento de cada uno de los agentes del sistema de
acuerdo a las estrategias generales del sistema multiagente. En este nivel se toman las deci -
siones que el SMA necesita para cumplir sus objetivos, sin necesidad de conocer la forma en
la que se van a realizar o los agentes involucrados en realizar esas tareas.
4. NIVEL FORMACIÓN
Anteriormente se mencionaron las responsabilidades del nivel formación, pero ahora se van a
explicar con más detalle los conceptos que conforman este nivel de acuerdo al modelo base
del MRCC Bernal [BERN2007].
a. Definición general de formación
El concepto de formación se analizará desde una perspectiva conceptual y una perspectiva
formal. En el contexto del modelo MRCC una formación desde el punto de vista conceptual
Ingeniería de Sistemas SIDRE <CIS1010SD02>
se define como un conjunto de agentes que unidos conforman el sistema multiagente, con el
objetivo de facilitar la consecución del objetivo final del sistema y promover el mantenimien-
to de la estructura organizada dentro de el mismo.
Formalmente, una zona se define como una tupla F = {ZA, Ob, MN, DN} en donde:
Ob es el conjunto de objetivos a cumplir por los agentes dentro de la formación
ZA representa el conjunto de las zonas de acción en las que está dividido el espacio
de acción.
MN es el mecanismo de negociación entre zonas
DN representa el macro-algoritmo o procedimiento para la detección de las necesida-
des.
b. Definición de zona de acción
Una zona de acción se define como una división del espacio en el que se desarrollan las ac-
ciones de los agentes. Esta división tendrá al menos un objetivo, un conjunto de reglas que
deben satisfacerse y unos roles estructurantes inherentes a la zona.
Una zona formalmente se define como una tupla Zn = {RE, Ob, Ru, Fp, G, Dn} en la que:
Ob es el conjunto objetivos a cumplir por los agentes de la zona.
RE que representa el conjunto de roles estructurantes.
RU es el conjunto de reglas estructurantes que deben satisfacerse.
FP es una medida de distancia o pertenencia del agente a la zona.
DN representa el detector de necesidades.
c. Definición de rol estructurante
Un rol estructurante es una forma de interactuar, actuar y cumplir unas responsabilidades con
la zona, con el fin de encaminar todas las acciones que el agente ejecuta al cumplimiento de
sus responsabilidades. Estas responsabilidades están ligadas a dar y promover el manteni-
miento de orden o estructura dentro del SMA.
Página 26
Un rol estructurante se puede definir formalmente como una tupla RE = {Rs, Mo} en donde:
Rs son las responsabilidades asociadas a la ejecución rol.
Mo es la función de toma de decisiones asociado a la movilidad del rol estructurante.
d. Reglas estructurantes
Las reglas estructurantes están asociadas al manejo de la cardinalidad de los diferentes roles
al interior de la zona de acción; definen cual es la cantidad mínima y máxima de agentes con
los que la zona puede cumplir sus objetivos.
Cada zona tiene su mínimo y máximo número de agentes el cual se debe respetar cada vez
que la zona establece una negociación o realiza una estructuración interna.
e. Negociación entre zonas
La negociación entre las zonas tiene 2 orígenes básicos. El primer caso es cuando un agente
se aleja de su zona y se ubica en otra zona de acción. El segundo caso es cuando se requiere
un agente con habilidades específicas.
Los pasos claves de una negociación son los siguientes:
La negociación del paso de un agente de una zona a otra debe dejar a cada una de las
partes implicadas en un estado consistente.
Para todas las negociaciones se deben tener presentes las reglas estructurantes de la
zona, estas describen la estructura de la zona en términos de la cardinalidad de los
roles estructurantes.
Resolver y generar peticiones de negociación para el intercambio y/o préstamo de
agentes entre zonas.
f. Detección de necesidades
El modelo de necesidades del modelo MRCC se basa en Yen [YEN2004], el cual plantea una
propuesta para el manejo de las necesidades de información, según él “anticiparse a las nece-
Ingeniería de Sistemas SIDRE <CIS1010SD02>
sidades de los compañeros y pro-activamente asistirlos es un comportamiento deseable al
interior de un equipo”. Acoplada esta propuesta al modelo MRCC, las necesidades que sur-
gen por la falta o carencia del cumplimiento de los objetivos de la zona.
Para detectar las necesidades en una zona se planteó el macro algoritmo de detección de nece-
sidades, el cual se representa mediante el siguiente diagrama de flujo de la figura 5:
Figura 5. Macro algoritmo de detección de necesidades.
Este macro algoritmo evalúa si el estado actual satisface o se es superior al umbral con rela -
ción al estado deseado donde no se presenta necesidad, si hay necesidad observa si la puede
satisfacer localmente o es necesario iniciar una negociación con las zonas adyacentes.
g. Análisis de falencias del modelo base de formaciones
El modelo base de formaciones presenta tres falencias que están relacionadas a la detección
de necesidades de la zona, a las acciones que debe realizar una zona una vez lleva a cabo una
Página 28
negociación y a los criterios que se deben tener en cuenta para realizar un cambio de forma-
ción.
La primera inexactitud es que el modelo de detección de necesidades se basa en el número de
acciones cooperativas realizadas por un agente para analizar si existe una necesidad en una
zona. De manera que si un agente realiza muchas acciones cooperativas en su zona, no va a
existir necesidad; pero, si no realiza un número considerable de acciones cooperativas la zona
entrará en necesidad y se activarán los mecanismos de negociación para suplir esa necesidad.
Este modelo de necesidades es genérico y se aplica para cualquier caso, sin importar el domi -
nio de la aplicación. Es aquí donde radica el problema del modelo, debido que al ser tan gené-
rico obvia la lógica del dominio de la aplicación causando que en algunos casos falle.
Para ejemplificar este hecho se tomará el caso de estudio fútbol robótico, y se planteará la
siguiente situación: existen dos defensas en la zona defensiva, un defensa derecho y un defen-
sa izquierdo. Si el equipo contrario empieza a atacar por la zona derecha, el defensa derecho
empezará a realizar acciones cooperativas para cumplir con su objetivo y a medida que los
atacantes sigan atacando por la misma zona derecha el defensa derecho realizará sus acciones
cooperativas correspondientes, mientras el defensa izquierdo se queda en su posición base sin
realizar ninguna acción cooperativa, porque el equipo contrario no ha atacado por esa zona.
Cuando el detector de necesidades se active, va a analizar que el defensa derecho realizó mu-
chas acciones cooperativas y que hizo bien su trabajo de defensor; mientras el defensa iz -
quierdo no ha realizado acciones cooperativas y según sus criterios el objetivo de la zona no
se está cumpliendo, lo que implica que existe una necesidad. Conclusión que es falsa porque
el equipo contrario atacó siempre por la zona derecha de la cancha y el defensa derecho cum-
plió con el objetivo, pero como el equipo contrario nunca atacó por la zona izquierda, el
agente defensor izquierdo no pudo activar ninguna acción cooperativa.
El segundo problema que existe en el modelo base son las acciones que debe realizar una
zona después de llevar a cabo una negociación. Cuando se detecta una necesidad, la zona
entra en un período de negociación con las zonas adyacentes para la petición o el intercambio
de agentes, y una vez termine la negociación la zona puede recibir nuevos agentes. Es en este
Ingeniería de Sistemas SIDRE <CIS1010SD02>
momento, cuando surge el problema de la reestructuración de la zona porque en el modelo
base no se define de manera clara como se debe reestructurar una zona de manera eficiente de
tal manera que no se necesite realizar un cambio de formación completamente.
El tercer problema son los criterios que se deben tener en cuenta para la selección de una
formación. En el modelo base no se definen los criterios que debería considerar el nivel siste -
ma para realizar un cambio de formación de manera inteligente.
Página 30
III. PROBLEMÁTICAS Y SOLUCIONES PARA EL DESARROLLO DE UN MODELO GESTOR DE FORMACIONES EN UN SMA
En el capítulo anterior se contextualiza al lector mediante la descripción del marco conceptual
en el cual se realizó este trabajo y se define el estado del modelo base del MRCC y las opor -
tunidades de mejora que se identificaron para refinar el modelo.
Dadas las oportunidades de mejora que presenta el modelo, en este capítulo se presenta los
resultados de la investigación que se realizó, mediante la descripción de las problemáticas
que contemplan diferentes autores para realizar un modelo gestor de formación y sus respecti-
vas soluciones.
1. CONTEXTO DE FORMACION
Cuando se quiere tener en un SMA una organización de los agentes que lo componen, es
necesario pensar cuándo, cómo y por qué se va a cambiar la organización actual por una nue-
va. La organización o formación de un SMA influye en su rendimiento, por tanto el cambio
que se realice debe poder ayudar a que el sistema esté más cerca de alcanzar su objetivo glo-
bal. Por ejemplo RoboCup y RoboRescue son aplicaciones en donde la forma en que se orga-
nicen los robots va afectar el rendimiento del sistema y va a ser un factor importante que
influya en la consecución del objetivo principal.
Para poder abordar las problemáticas y las posibles soluciones de un modelo que gestione
formaciones en un SMA, se debe definir el concepto genérico de formación. Una formación
se puede entender como una estructura organizada, que mantiene un orden específico en un
sistema a lo largo de un tiempo y que se ejecuta para cumplir un objetivo específico.
A continuación se presenta las características y los conceptos que giran alrededor de una for-
mación, desde diferentes autores. Para ello se presenta los objetivos de una formación, los
factores que se deben tener en cuenta para elegir una formación, La distribución del espacio
que una formación emplea para ejecutarse, la manera en la que una formación influencia el
Ingeniería de Sistemas SIDRE <CIS1010SD02>
comportamiento de los agentes y finalmente cual es la arquitectura que debería tener un ges-
tor de formaciones.
a. Objetivos de las formaciones
La formación tiene unas finalidades que le permiten al sistema multiagente alcanzar la meta
global de manera más eficiente. Estas finalidades son: mantener el orden y la estructura del
SMA, favorecer las acciones cooperativas, gestionar el conflicto entre el mantenimiento de la
estructura y el favorecimiento de las acciones cooperativas del SMA e interferir en el desem-
peño de un SMA antagonista.
Mantener el orden y estructura
El primer objetivo de una formación es mantener su orden y su estructura a medida del tiem-
po. Este objetivo busca que el sistema mantenga un nivel de desempeño y le permita alcanzar
sus objetivos globales de manera más eficiente. Para poder cumplir esta primera finalidad se
puede definir mecanismos de dispersión y compactación y un modelo de estructuración por
zonas.
Mecanismos de dispersión y compactación
[LAU2009] propone un modelo en donde se define un rol principal para uno de los agentes y
un rol de apoyo para los otros agentes, con el fin de que el agente con rol principal ejecute las
acciones más importantes de la tarea a ejecutar y los de apoyo permanezcan alrededor del
principal; promoviendo las acciones cooperativas, el sistema se mantenga compacto y los
agentes del rol de apoyo estén en la región de acción del rol principal.
Otra aproximación en el cual se busca mantener el equipo ordenado se presenta en
[SVAT2001], en donde se plantea el uso de un campo de fuerza vectorial, el cual va guiando
grupos específicos de agentes a espacios del ambiente dependiendo del lugar, la funcionali-
dad que se necesite y de cómo necesiten organizar al grupo. En esta aproximación no se asig -
na un orden explícito a los agentes, sino que se ubican en el ambiente en campos de atracción
o repulsión. Estos campos influyen en los movimientos de los agentes y hacen que los agen-
tes sigan o esquiven puntos específicos. Mediante estos campos el sistema puede mantener
Página 32
el orden, ya sea para que ocupen espacios a lo largo o a lo ancho del ambiente donde se en-
cuentren. El orden que se le da al SMA es dinámico, y se puede usar para mantener el sistema
compacto o disperso, dependiendo de sus necesidades y en diferentes instantes de tiempo.
Estructuración por Zonas
Según [BERN2007] una zona es una división del espacio total de acción, que se compone de:
un conjunto de objetivos específicos, un conjunto de reglas a cumplir, unos roles que deben
asumir los agentes en esa zona, una medida de pertenencia que tiene el agente a la zona y un
detector de necesidades que busca la satisfacción de los objetivos específicos de la zona. El
conjunto de zonas cubren el espacio total de acción del SMA, y según el problema que se
modele, las zonas pueden solaparse.
Mediante los objetivos específicos y las reglas de la zona se pretende mantener el orden que
la formación estableció, en el espacio específico en donde la zona esté ejerciendo control.
Ningún otro autor consultado en la realización de este documento tiene un concepto de zona
definido como el de modelo base, debido a que los otros autores usan el concepto de zona
como la ubicación espacial en la que se encuentra uno o varios agentes, desligándolo de los
objetivos específicos y las necesidades del SMA. De esta aproximación se concluye que al
mantener el SMA compacto o disperso, puede llegar a ofrecer un mejor rendimiento del
SMA, hasta tal punto que pueda favorecer las condiciones de las acciones cooperativas.
Los mecanismos de compactación y dispersión se pueden combinar con el fin de mantener la
estructura de la zona, cumplir las reglas establecidas y promover el cumplimiento de los obje-
tivos específicos.
Favorecer las acciones cooperativas
La definición de formación hace relevancia al hecho de que una formación facilita la conse-
cución del objetivo final, entonces una formación puede colaborar en ello potenciando las
acciones cooperativas del SMA.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Para ello, si se fusionan las definiciones de [REIS2001] y [LAU2009], se puede definir una
acción cooperativa como un plan a corto plazo o un conjunto de acciones que realizan un
grupo de agentes, con el fin de mantener el equilibrio que existe entre la deliberación social y
la deliberación reactiva en un SMA. La deliberación reactiva le permite al agente reaccionar
rápidamente ante los eventos del ambiente, mientras que la social es requerida para la toma
de decisiones y la coordinación de los agentes, permitiendo que ellos actúen como un equipo
coherente en equilibrio su autonomía.
Una acción cooperativa se define antes de una simulación para brindarle flexibilidad a las
formaciones y a las estrategias del SMA, y se manifiesta durante la simulación con mecanis -
mos de comunicación y razonamiento reactivo, a partir de la información percibida por cada
agente. Además, una acción cooperativa le brinda a un SMA la capacidad de asignar roles
dinámicamente, generar acciones cooperativas complejas, mantener un nivel de desempeño,
ser flexible para adaptarse a ambientes dinámicos, mantener estados del mundo consistentes y
completos entre los agentes del sistema.
Acciones cooperativas simples
En [LAU2009] para desarrollar una acción cooperativa simple se utilizan dos roles, el rol
“principal” el cual se encarga de cumplir una función específica y el rol de “apoyo”, el cual
se encarga de apoyar al rol principal, brindándole la oportunidad de realizar acciones coope-
rativas, de tal forma que el rol principal y el de apoyo puedan realizar acciones en conjunto,
con todo lo que esto implica. Para [LAU2009], lo más importante es que el SMA coopere
para obtener un mejor desempeño y pueda cumplir sus metas, debido a que las acciones de
conjunto serán mejores que las individuales y por naturaleza un agente es social.
Nobuyuki [NOBU2006] presenta que sus que sus agentes siempre buscan estar ordenados
alrededor del recurso, de tal forma que estén dispuestos a realizar las acciones cooperativas,
se observa como mantienen ordenados los agentes cerca de posiciones ideales para que pue-
dan realizar la acción cooperativa esperada, debido a que las favorecieron con la posición
asignada, favoreciendo las precondiciones para que estas sucedan, es muy similar a lo que
presenta el autor [LAU2009].
Página 34
Horak [HORA2005] plantea la forma en la que los agentes cambian su comportamiento por
la formación. Para ello, cuando un agente posee el recurso, los demás agentes se forman en
estructura de V, con el fin de favorecer las precondiciones de las acciones cooperativas del
agente que cuenta con el recurso limitado.
Acciones cooperativas complejas
En [LAU2009], no solo el rol de soporte busca estar atento para apoyar y cooperar con el rol
principal, sino que él puede cambiar de rol de manera dinámica dadas las condiciones apro-
piadas. De esta manera el que tiene el recurso es el rol principal y los demás tienen roles de
apoyo, pero cuando en una acción cooperativa sencilla el recurso cambia de agente, ahora el
agente con el recurso tendrá el rol principal, y el otro cambiará a ser el rol de apoyo. Este
cambio dinámico de roles puede producir que inmediatamente después de realizar una acción
cooperativa se den las condiciones necesarias para que suceda otra acción cooperativa. Este
hecho produce que se den acciones cooperativas complejas de forma emergente, la cuales
están compuestas de varias acciones cooperativas simples. Para [LAU2009] lo más importan-
te es que la formación favorezca las condiciones de las acciones cooperativas simples, para
que se puedan dar acciones cooperativas complejas.
Por otra parte, si mediante una formación se facilita el desarrollo de acciones cooperativas
sencillas, se podría apoyar la elaboración de estrategias o planes a largo plazo. Arias
[ARIA2008] lo llama estrategia y Yang [YANG2010] lo llama plan de acciones. Pero los dos
lo definen como un plan a largo plazo que está compuesto por acciones que deben realizar un
grupo de agentes y que fue diseñado para cumplir una meta particular. Una estrategia se com-
pone de una definición, unas condiciones, una ejecución y una terminación.
- Definición: Descripción general de la estrategia.
- Condiciones: Son aquellas condiciones que se deben cumplir para poder ejecutar la
estrategia. Esta etapa especifica el estado y la posición de cada uno de los agentes de
la estrategia.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
- Ejecución: Son los comportamientos y las acciones que deben ejecutar un grupo de
agentes específicos para llevar a cabo la estrategia. En esta etapa se especifica la acti-
vidad a desarrollar y la ubicación de cada agente involucrado en la estrategia.
- Terminación: Etapa de verificación en la cual se verifica el estado de algunas caracte-
rísticas del juego para determinar si la estrategia puede seguir su ejecución a medida
que se está realizando.
Teniendo en cuenta las dos aproximaciones que plantean [ARIA2008] y [LAU2009] se puede
ver que ambos tienen como premisa favorecer las acciones cooperativas, solo que uno prefie-
re planear jugadas complejas y el otro da la posibilidad de que sucedan emergentemente. El
problema de planear acciones cooperativas complejas a largo plazo en ambientes dinámicos
es que existe la posibilidad de que no se alcancen a realizar y la planeación de los mismo se
vea perdida; por otro lado, si se deja que las acciones complejas se den de forma emergente,
se tiene que tener en cuenta que se debe favorecer las condiciones de las misma para que
puedan seguir ocurriendo.
Un SMA podría combinar ambas aproximaciones para tener mecanismos más complejos de
cooperación en todo el sistema, pero sería necesario que se defina un parámetro que permita
establecer en qué ocasión sería mejor utilizar un plan a largo plazo o dejar que la misma natu-
raleza del sistema se encargue de generar cooperación emergente.
Gestionar el conflicto entre el mantenimiento de la estructura y el favorecimiento de las
acciones cooperativas
Una problemática que se puede presentar en un SMA es que por potenciar y favorecer las
acciones cooperativas se puede perder la estructura que la formación estableció. Lo ideal en
un sistema es que las dos finalidades se puedan explotar al máximo sin que estas entren en
conflicto, pero en algunos casos esta situación se podría presentar. En un SMA pueden existir
acciones cooperativas que no alteren la estructura de la formación, por ende este tipo de ac-
ciones son las que el sistema debe utilizar más; pero en el caso de que existan acciones que
alteren la formación, pero puedan traer beneficios a los objetivos del sistema se debe evaluar
que tiene mayor prioridad en el sistema, si la estructura o los objetivos.
Página 36
Para poder resolver este conflicto se plantean dos aproximaciones diferentes, en la primera se
asume que el indicado para resolver este conflicto es el diseñador del SMA, debido a que es
él quien tiene el conocimiento de la problemática y el contexto, y es quien debe priorizar
entre el mantenimiento de la estructura o el desarrollo de acciones cooperativas
[BERN2007].La otra aproximación que se puede presentar es que el sistema tenga un meca-
nismo de resolución de conflictos como una función de priorización en la cual dadas unas
condiciones específicas y el objetivo a alcanzar él tome la decisión de cuál de las dos finali -
dades prevalece sobre la otra.
Ningún otro autor utilizado en la realización de este documento tiene en cuenta el manejo de
este conflicto, entre los objetivos de una formación como [BERN2007].
Interferir en el desempeño del sistema antagonista
Si en el ambiente donde está ubicado el SMA se encuentra un sistema antagonista, la forma-
ción se convierte en un mecanismo que interfiere con el desempeño del sistema antagonista y
por lo tanto aumenta la factibilidad de cumplir con sus metas globales. Para llevar a cabo esta
finalidad se debe tener en cuenta un análisis de los agentes a nivel individual y global.
Nivel agente
Habibi [HABI2002] menciona un análisis en el cual se reúnen todos los datos estadísticos del
desempeño del SMA antagonista, luego se utilizan para poder calcular cuales son las trayec -
torias más usadas por cada uno de los agentes. Este análisis se realiza para intentar anticipar
los movimientos de los agentes enemigos; con el fin de obstruir el cumplimiento de sus metas
globales o específicas y dado el caso recuperar los recursos compartidos existentes.
En este caso el objetivo de las formaciones es interferir con el desarrollo normal de la estrate -
gia de la competencia, reflejando que si el oponente no puede cumplir su objetivo, el sistema
estará más cerca de cumplir el objetivo propio. Sin embargo, no se garantiza que se vaya a
cumplir el objetivo del SMA, solo aumenta su posibilidad de alcanzarlo, asumiendo que los
objetivos de los sistemas antagonistas son opuestos.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Nivel sistema
Múltiples propuestas [ALME2009], [AYAN2009], [FARI2010] y [FATH2006B] coinciden
en la construcción de un sistema que detecte las formaciones del SMA antagonista para que el
SMA tenga más criterios de decisión en la elección de formaciones, de tal forma que pueda
contrarrestar la formación y las estrategias del SMA antagonista reduzca la probabilidad que
este cumpla su meta y aumente el desempeño del SMA para lograr su objetivo global.
En la aproximación de Habibi [HABI2002], se presenta un objetivo para las formaciones
similar al anteriormente mencionado, el cual es la de mermar el rendimiento del sistema anta-
gonista. En el caso anterior se concentran en cada agente por separado, mientras en este se
analiza el sistema rival como un todo, infiriendo la formación rival y escogiendo una forma-
ción la cual pueda contrarrestar la formación del oponente. Si se tiene en cuenta ambas apro -
ximaciones se puede apreciar que en una se centran específicamente en interrumpir el desa-
rrollo de cada agente, pero no tienen en cuenta la interacción que ese agente pueda tener con
el resto del sistema al cual pertenece. Por otro lado, se observa que se tiene en cuenta la posi-
ble interacción entre los agentes debido a la formación que el SMA antagonista planteó, pero
no se centra en detener el progreso de agentes en específicos. A partir de estos dos puntos de
vista se puede realizar una aproximación mixta, la cual sería centrarse en interferir el desem-
peño del agente de mejor rendimiento del oponente, y mediante una formación planteada
contrarreste el desempeño general del SMA antagonista.
Conclusiones de los objetivos
Después de definir las cuatro finalidades de una formación, se puede concluir que para que un
SMA cumpla su objetivo de manera más eficiente se necesita mantener la estructura dentro
del sistema y se necesita favorecer sus acciones cooperativas. Sin embargo, se debe tener en
cuenta cuál de las dos es la más importante para el contexto; pero si las dos tienen igual im -
portancia, se deberían definir mecanismos de resolución de conflictos que permitan priorizar
a cada una de ellas dependiendo de las situaciones que se puedan presentar en el SMA.
Un factor adicional e implícito de las formaciones dentro del SMA es interferir o interponerse
con el desarrollo del sistema antagonista. Dependiendo el caso de estudio, es necesario anali -
Página 38
zar si el impacto del sistema antagonista es lo suficientemente negativo, para que el SMA
tenga que considerar este hecho como un criterio y/o una finalidad.
b. Factores necesarios para la selección de una formación
Una de las preguntas que surgen cuando se va a cambiar de formación en un SMA, es ¿qué
factores se deben tener en cuenta para seleccionar la formación adecuada dependiendo de una
situación? Debido a que no se puede elegir una formación de manera aleatoria, deberían exis-
tir unos criterios que permitan escoger la formación para que el sistema esté más cerca de
alcanzar su objetivo global.
De acuerdo con la necesidad anteriormente mencionada se pueden definir los siguientes crite-
rios para la selección de formaciones: características del SMA, influencia del ambiente y la
flexibilidad que tiene una formación base.
Características del SMA
Una primera aproximación es considerar al SMA en sí, las características que tienen sus com-
ponentes, en este caso los agentes, y su estado en un momento particular. Para ello se puede
realizar una autoevaluación a partir de las características propias del sistema o de las caracte -
rísticas de cada uno de los agentes que lo componen.
Desempeño individual de los agentes
Un factor que se podría tener en cuenta para la selección de formaciones sería el desempeño
del SMA por medio de la recolección estadística de datos. Estos datos estadísticos pueden
comprender el desempeño individual de cada agente.
El desempeño individual anteriormente fue utilizado en [HABI2002], quien tiene como caso
de estudio la liga de simulación de RoboCup. En este modelo se considera el rendimiento
individual de los agentes para observar si la posición donde están ejecutando sus funciones
está siendo productiva para alcanzar la meta global. Los datos que son recolectados son la
posición del recurso y su variación, el número de disparos hacia la meta oponente, el número
Ingeniería de Sistemas SIDRE <CIS1010SD02>
de pases, el número de intercepciones del balón, el número de goles hechos por cada jugador
entre otros datos recolectados.
Desempeño del sistema en relación a la meta
Atkinson propone [ATKI2008] dice que para poder tener en cuenta el cambio de formaciones
dinámicamente durante un período de tiempo es necesario evaluar la condición de ejecución.
La condición de juego es una medida de favorabilidad que tiene un SMA para alcanzar su
objetivo. Esta medida tiene en cuenta las métricas de desempeño de los agentes, del SMA en
general y de algunas características del ambiente en donde habite el SMA. Esta medida nece-
sita un intervalo de tiempo para poder ser calculada, debido a que necesita una secuencia de
eventos e interacciones dentro del SMA. Cuando la condición de juego es favorable, las op-
ciones de cumplir el objetivo son mejores que las de no poderlo lograr. Cuando es desfavora-
ble, muestra que las condiciones del juego se prestan más para no alcanzar el objetivo; cer-
cano al cero se muestra que las condiciones están balanceadas.
Otra aproximación, la propone Arias [ARIA2008], la cual dice que en el cambio de una for-
mación o para la elección de una estrategia se deben tener en cuenta dos variables, la actitud
del SMA y la evolución del SMA. La actitud del SMA hace referencia a la formación que
esté usando actualmente y al objetivo ligado a esa formación, mientras que la evolución del
SMA es una medida que muestra la tendencia para cumplir o fracasar en el cumplimiento del
objetivo a partir de la actitud del sistema.
En [HABI2002] se va a tener en cuenta el rendimiento de todo el sistema, en el caso de estu -
dio específico de fútbol, se reúnen datos tales como número de goles, número de tiro de es -
quina, numero de fuera de lugar, posición promedio de todo el equipo, con el fin de analizar
el comportamiento del sistema su factibilidad de alcanzar su meta.
Heterogeneidad de los agentes
Un factor que se debe tener en cuenta a la hora de seleccionar la formación de un SMA es la
heterogeneidad que existe entre los agentes porque esta característica puede influir en el ren-
dimiento del sistema debido a la distribución espacial o a la distribución de responsabilidades
Página 40
que se puede hacer entre los agentes. La heterogeneidad de los agentes se puede analizar en
tres ámbitos diferentes: características y habilidades de los agentes, situación de los agentes y
la asignación de responsabilidades.
Características y habilidades de los agentes
En [HABI2002], el primer factor que se tiene en cuenta es la diversidad de los agentes que
componen el sistema. Para el caso específico de fútbol robótico, los agentes tienen atributos
distintos que influyen en el desempeño de las tareas que les asignan. En esta aproximación se
tienen en cuenta once atributos diferentes para los agentes, con el fin de que el agente “técni-
co” pueda escoger entre sus jugadores cuales son los más adecuados para cada rol y en qué
posición dentro del campo de juego deben ubicarse. Basado en estos atributos se calculan o se
encuentran las habilidades que caracterizan a cada uno de los agentes, tales como driblar,
pasar el balón o interceptar el balón. A partir de estas habilidades se decide cuáles son las
posiciones donde debería estar cada agente, para finalmente establecer una nueva formación.
En [VISS2001 aprovechan la heterogeneidad de los agentes para poder crear y asignar roles
especializados o sub-roles a los agentes. En el caso de estudio de fútbol robótico, se identifi -
can diferentes tipos de delanteros, defensores, mediocampistas y arqueros. Gracias a estos
roles especializados o sub-roles se puede cambiar el comportamiento de un agente para que
sea apto al ejercer el rol. Complementando la anterior propuesta en [HABI2002] se puede
tomar la forma en que aprovechan la heterogeneidad de los agentes para poder tomar la deci -
sión de cuál es la posición más apropiada para cada rol.
Otro factor que se podría tener en cuenta es el que propone [LAU2009], el cual define que
cada agente tiene un parámetro de atracción, es una medida que indica que tan interesado está
un agente de un recurso compartido que este en la zona total de acción. De esta manera, de-
pendiendo del parámetro de atracción de cada agente se pueden construir diferentes tipos de
formaciones.
En [HABI2003] presenta como basados en la heterogeneidad de los agentes, sus capacidades
se les asignan tareas diferentes, en el caso de RoboRescue se puede observar que existen va-
Ingeniería de Sistemas SIDRE <CIS1010SD02>
rios tipos de agentes con diferentes responsabilidades, basado en estas características se les
asignan las tareas más apropiadas.
Situación de los agentes
Otro aspecto que se debe considerar en la heterogeneidad de los agentes es la situación en la
que cada uno se encuentra. Esta situación hace referencia al estado del mundo que el agente
percibe en un instante de tiempo específico. Asumiendo que cada agente percibe un rango
limitado del mundo, se puede considerar que cada uno tiene una situación diferente. Al tener
una situación diferente, el agente percibe ciertas características del mundo, que lo hacen hete-
rogéneo a los demás agentes y que lo ayudan a desarrollar diferentes acciones.
En [KALY2007] y [BULK2006] llaman a esta situación “el estado del agente”. En esta apro-
ximación cada agente toma características del mundo tales como la distancia y el ángulo al
recurso, lugares objetivos y agentes antagonistas. A partir de estos datos recolectados del
campo, los agentes toman decisiones para realizar sus acciones. El autor [ZHAN2007] permi-
te ver como entienden la heterogeneidad por la situación del agente y basado en esta situación
como darle nuevas responsabilidades para que ejecute una tarea, basándose en la teoría que
los agentes son heterogéneos de por si por tener una situación diferente del mundo, es decir
por estar ubicados en una región diferente en el espacio.
Asignación de responsabilidades
Una tercera aproximación de heterogeneidad que se puede apreciar en los agentes es la res-
ponsabilidad que se le asigna. Esta responsabilidad determina las acciones que cada agente
debe hacer. Dado que en un SMA existen diferentes tipos de responsabilidades, cada agente
es heterogéneo dependiendo del tipo de responsabilidad que se le asigne. La asignación de
responsabilidades se puede analizar desde dos ámbitos: estático y dinámico.
Estático: Ligado a las habilidades
En [HABI2002] utilizan las habilidades de los agentes para asignarles roles. Asumiendo que
cada rol tiene que cumplir unas tareas específicas, cada rol es asignado basándose en las habi-
lidades requeridas para cumplirlo.
Página 42
Estas tareas se mantendrán a lo largo del tiempo mientras se mantenga el rol asignado, debido
a que si un agente cumple con las características o habilidades necesarias para desempeñar
otro rol, el agente podrá asumirlo.
Dinámico: Determinado por el contexto o situación
La aproximación usada en [KALY2007] para asignar responsabilidades al agente depende de
la situación en la que éste se encuentre. Esta situación hace referencia a la cercanía que tiene
un agente a un recurso existente en el ambiente y los demás objetos que se encuentren en la
zona de acción del agente. Entonces, cuando un recurso se encuentre en su zona de acción, al
agente se le asignarán diferentes tipos de responsabilidades. A partir de estas condiciones, se
puede concluir que las responsabilidades son asignadas de manera dinámica al agente, éstas
se pueden cambiar a medida que cambia el tiempo y su situación.
El trabajo Gerkey [GERK2004] propone un modelo en el cual a partir de la utilidad que un
agente genere al realizar una acción específica en un determinado contexto se puede asignar
el mejor rol que el agente pueda desempeñar. La utilidad es una medida de beneficio al siste-
ma en la realización de una actividad específica por parte de un agente. La utilidad se basa en
las condiciones del ambiente, los factores a evaluar en el SMA y el contexto o situación en el
que se encuentre inmerso el agente. Esta utilidad se calcula al agente para asignarle el mejor
rol que pueda ejercer en un momento especifico, maximizando el beneficio general del siste-
ma y promoviendo una optimización en la asignación de roles.
El SMA tiene que tener algún criterio de autoevaluación para poder medir como su actividad
satisface el cumplimiento del objetivo general, y para este criterio lo más adecuado sería
combinar variables que permitan medir el desempeño de cada agente y el desempeño general
del sistema. De manera que con esta aproximación mixta, el sistema tiene más criterios de
decisión para cambiar una formación y puede llegar a establecer un análisis más preciso acer-
ca del desempeño del mismo.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Influencia del ambiente
Otra criterio para tener en cuenta en la selección de formación diferente a la autoevaluación u
observación del sistema mismo, es la evaluación de cómo el ambiente afecta el rendimiento
del sistema. Este impacto puede ser positivo o negativo, y dependiendo de la forma cómo lo
afecte, necesitará cambiar su formación para adaptarse a los efectos. Dentro del ambiente, se
deben considerar las características propias del mundo y posibles sistemas antagonistas que
se encuentren dentro del ambiente.
Características variables del ambiente
Una aproximación de este donde se tiene en cuenta las variables del ambiente se puede obser -
var en [FATH2006] y [CAO2009], donde se tienen en cuenta los factores del ambiente que
influyen al sistema. Uno de estos factores es el tiempo, el cual crea una urgencia de modificar
el comportamiento del sistema, debido a que por falta de tiempo el sistema puede lograr el
objetivo o fracasar. El tiempo es un factor que se puede encontrar en diferentes tipos de con-
textos, pero no es el único factor que se puede tener en cuenta, porque dependiendo el contex-
to del SMA pueden existir otras características del mundo que lo influencia de manera consi-
derable al SMA. Por ejemplo en el contexto de fútbol robótico se puede tomar el clima del
campo, el apoyo de las personas de la tribuna etc. En el contexto de presas y cazadores se
puede tomar el clima, las condiciones del terreno, la naturaleza existente y el número de re -
cursos existentes en el terreno. En el contexto de rescates se puede considerar, las condicio-
nes climáticas, la densidad poblacional afectada de la zona, la estructura de la ciudad entre
otros. Por lo tanto, dependiendo el contexto el diseñador del sistema debe considerar el im-
pacto que generan las diferentes características del ambiente al SMA.
Sistemas antagonistas
Dependiendo del modelo, puede darse el caso que en el ambiente exista un sistema antagonis-
ta, el cual lucha por el recurso limitado y/o agotable, lo que produciría una competencia entre
los sistemas. Por lo tanto, es necesario no sólo tener en cuenta el rendimiento o la heteroge-
neidad del sistema sino la competencia con otro sistema para poder tener un criterio de deci -
Página 44
sión más amplio en la selección de la formación del SMA. En cuanto a los sistemas antago -
nistas se puede analizar: la formación del SMA antagonista y el desempeño del SMA antago-
nista.
Formación del SMA antagonista
Según Ayanegui [AYAN2009] se puede analizar la formación del SMA antagonista para
obtener mejores resultados. Ayanegui presenta una aproximación en donde se analiza la posi-
ción de todos los agentes en el espacio y se intenta clasificar esa organización dentro de una
formación predefinida. Esta clasificación se hace mediante la identificación de zonas base. La
zona base es una región donde generalmente está un agente. Si se puede descubrir cuál es la
región base de cada agente se podría identificar el rol del agente. Una vez identificado el rol
del agente se podría identificar la formación del SMA antagonista y sus tendencias, para po-
derlo enfrentar de mejor manera. El problema de esta aproximación es que si el mundo es
dinámico, descifrar el rol del agente se convierte en un problema muy complejo.
Desempeño del SMA antagonista
En [FATH2006A] se hace un análisis aplicado al caso de estudio de fútbol robótico, en donde
se considera el sistema antagonista. Del SMA antagonista se monitorea diferentes datos esta-
dísticos como la posesión del balón, los pases que realizan, los disparos al arco, entre otros.
Serán utilizados para analizar las características y habilidades del competidor, del tal forma
que se pueda tomar una decisión que permita que el sistema esté más cerca de alcanzar la
meta. [FATH2008] propone una aproximación en la que se analiza al SMA antagonista desde
dos perspectivas: el desempeño individual de cada agente y el desempeño global del sistema
o como lo llama el autor “comportamiento multiagente”. Para el comportamiento individual,
tienen en cuenta las habilidades del agente, la frecuencia con la que las ejecuta y su efectivi-
dad al ejecutarlas. Mientras que en la visión del comportamiento multiagente, tienen en cuen-
ta el comportamiento colectivo del sistema, como es la manera de actuar del todo, y la inte-
racción entre los agentes.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Según Almeida [ALME2009] el análisis del sistema oponente genera más información sobre
cómo se debe enfrentar. Para ello, Almeida presenta una aproximación de log, registros o
historiales de comportamiento, en donde se guardan variables que cuantifiquen el comporta-
miento de los agentes, las posiciones de los agentes en el entorno y los comportamientos del
sistema antagonista. Una vez recolectada esta información, se puede hacer un análisis detalla-
do del sistema antagonista y se puede llegar a conocer de manera más específica el comporta-
miento del SMA antagonista.
Las características del ambiente son un factor importante y decisivo que siempre se debe
tomar en cuenta para el diseño de un SMA. Mientras que un sistema antagonista es un criterio
que no necesariamente se tiene en todas las aplicaciones basadas en SMA. Por lo tanto, si en
el contexto no existe un SMA antagonista, el análisis se puede omitir, pero si lo tiene, una
buena aproximación es monitorear las características y habilidades de los agentes individual-
mente, y cuantificar el comportamiento y el desempeño del SMA antagonista en general; con
el fin de tener más criterios en el cambio de la formación.
Flexibilidad para una formación base
Para incluir el concepto de flexibilidad en una formación se debe tener en cuenta los objetivos
específicos del sistema y que una formación está compuesta por un conjunto de zonas. La
flexibilidad se debe utilizar para cumplir esos objetivos de cada zona de manera que no se
necesite cambiar completamente de formación del SMA, sino, que la formación tenga un
mecanismo de adaptación para que pueda seguir cumpliendo sus objetivos.
Bernal [BERN2007] propone un modelo de flexibilidad en el cual cada zona tiene una cardi-
nalidad. Define el número mínimo de agentes que necesita una zona para que pueda cumplir
sus objetivos. A partir de esta cardinalidad, se define la tolerancia de la zona, la cual se define
el número de agentes que pueden incluirse o excluirse a esa zona, asumiendo que cuando un
agente cambia de zona, ese agente se le agrega a la zona destino pero se le sustrae a la zona
origen. En este modelo se realizan los cambios a partir de las necesidades que tenga la zona.
[CERT2008] y [REIS2001] plantean que a una formación se le puede brindar flexibilidad
para buscar un aumento de la utilidad global del sistema. Asumiendo que cada una de las
Página 46
zonas tiene un número de agentes fijos, el sistema puede realizar intercambios de agentes
entre las zonas calculando una función de utilidad, que determina si el cambio genera más
utilidad al sistema. Este intercambio provoca que una zona origen le envié un agente a otra
zona destino, pero la zona origen a su vez recibe un agente de la otra zona destino. Una vez se
realice el intercambio se modificará el rol y área de acción de los agentes involucrados, y de
esta manera cada zona conserva su número de agentes base.
Otro enfoque lo da [YOSH2003], que propone otra aproximación de flexibilidad, la cual se
basa en la urgencia de la situación. La urgencia de la situación se basa en el número de agen-
tes en cada zona, factores estratégicos del dominio de la aplicación y distancia entre agentes y
recursos compartidos, para determinar si es necesario pasar un agente de una zona a otra y
cuál es el beneficio que trae este cambio. Cuando el agente detecta la urgencia y decide miti-
garla desobedece las reglas de su rol y la estructura de la formación para mitigar aquella ur-
gencia, provocando que el agente cambie de zona y de rol, influenciando un cambio en la
organización espacial y estructural del sistema.
Teniendo en cuenta el contexto de SMA se puede elegir cualquiera de las dos propuestas
anteriormente mencionadas, y el diseñador del SMA debe analizar cuál es más conveniente
para modelar el sistema.
Conclusiones de los factores para la selección de formaciones
Las diferentes aproximaciones que brindaron los autores anteriores dejan ver que los dos
factores claves que hay que tener en cuenta para la selección de una formación son la hetero -
geneidad del sistema y el desempeño de sistema respecto a la meta. La heterogeneidad es un
factor clave porque permite que la ubicación de los agentes y la asignación de las responsabi-
lidades sean más precisa y mejore el rendimiento de los agentes. Sin embargo, el desempeño
del sistema respecto a la meta es igualmente importante, ya que la finalidad del sistema es
poder alcanzar sus objetivos globales, pero si no se están logrando, el sistema debe elegir la
mejor formación que le permita cumplir con sus objetivos.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Por otro lado, debería ser responsabilidad del diseñador evaluar el impacto del ambiente so-
bre el rendimiento del sistema, teniendo en cuenta las condiciones del ambiente y la existen-
cia de sistemas antagonistas en él, debido a que si el impacto sobre el rendimiento del SMA
no es significativo no sería necesario entrar a considerarlo como factor para la toma de deci -
siones sobre la estructura del SMA.
c. Gestión y distribución del espacio
Los espacios en el ambiente donde se mueve un agente son un factor fundamental para esta-
blecer una formación, asumen [LAU2009], [AYAN2009], [ARIA2008] y [REIS2001]. Para
manejar el espacio de acción del sistema se debe responder tres preguntas: ¿Cómo se debe
representar el espacio?, ¿Cómo se debe gestionar esa representación del espacio? ¿Cómo
influye el espacio a los agentes?
Representación del espacio
Una característica importante de las formaciones es definir la distribución de los agentes en el
espacio. Para ubicar a un agente espacialmente se tienen tres aproximaciones: puntos de refe-
rencia, regiones de trabajo y modelos flexibles.
Lau, Riley, Akiyama y Reis [LAU2009], [RILE2006], [AKIY2008] y [REIS2001] consideran
el uso de puntos de referencia para la ubicación base (por defecto) de un agente y para la
movilización de los agentes en el ambiente. La ubicación base se define como aquel punto
específico en el cual un agente se tiene que ubicar cuando no está ejecutando ninguna acción.
Por otro lado, cuando un agente se moviliza por el ambiente necesita un punto de referencia
para saber la dirección de desplazamiento. Este punto puede hacer referencia a la ubicación
de un recurso, de un objeto en el campo, de un agente o de un punto del ambiente.
Para la representación del espacio se pueden establecer regiones de trabajo en donde el agente
puede ubicarse y realizar sus acciones ya sean individuales y cooperativas. [ATKI2008],
[AYAN2009], [RILE2006] y [NAKA2006] proponen dividir el ambiente en regiones geomé-
tricas parametrizables tales como rectángulos, círculos o polígonos.
Página 48
Bernal [BERN2007] plantea un esquema en donde cada agente tiene un punto base de locali-
zación en el espacio. Este punto base tiene 2 características especiales, puede tener una locali -
zación estática o dinámica, y tiene asociada una función de elasticidad que define la fuerza de
atracción existente entre la ubicación actual del agente y la ubicación del punto base; de ma -
nera que si el agente está cerca al punto base la fuerza ejercida es pequeña, pero mientras más
se aleje el agente del punto base la fuerza será mayor, forzando a que el agente retorne a su
punto base. A partir de este modelo flexible se puede definir la región de trabajo en la cual un
agente pueda mantener su organización dentro de la formación y pueda realizar sus acciones
individuales y cooperativas.
Gestión de la distribución del espacio
La gestión del espacio se puede dar de manera estática y dinámica.
Una gestión estática en un SMA es cuando se tiene predefinida la forma de representar el
espacio. En este caso, se podrían hacer diferentes pruebas para determinar cuál es la represen-
tación del espacio que genera mejores resultados, y a partir de este análisis definir esas carac -
terísticas del sistema. Una gestión dinámica en un SMA es cuando a medida que el agente
ejecute una acción o haya un cambio de rol, el sistema asigne cual es la mejor representación
espacial para beneficiar las acciones del agente.
Influencia de la representación del espacio en los agentes
La distribución del espacio influye en las acciones individuales y cooperativas que desarrolla
un agente. Por ejemplo, si se asumen puntos de referencia, los agentes solo realizarán sus
correspondientes acciones si las condiciones se cumplen en ese determinado punto, mientras
que, si se asumen regiones de trabajo el agente tendrá una tolerancia más alta para que esas
condiciones se cumplan y pueda ejecutar su acción.
Una formación puede influenciar el comportamiento individual y cooperativo del agente con-
trolando su zona de acción. Para ello se pueden definir una gestión estática de la representa -
ción del espacio y mezclar el modelo de regiones de trabajo propuesto por [ARIA2008] y el
Ingeniería de Sistemas SIDRE <CIS1010SD02>
modelo flexible definido por [BERN2007]. Estableciendo que para las acciones simples y
cooperativas se usan las regiones de trabajo, y para las acciones pertenecientes al rol del
agente se use el modelo flexible.
d. Formas de influenciar el comportamiento de los agentes por las formaciones
Una vez se ha estudiado las finalidades de una formación y los criterios que debería tener en
cuenta, se debe analizar como una formación pueden influenciar el comportamiento de un
agente. Para ello la formación puede definir el rol de un agente.
Rol
Un rol se puede definir como un conjunto de características y responsabilidades que se gene-
ran a partir de una especialización del comportamiento y una especialización espacial del
agente. Mediante un rol se pueden agrupar características como los objetivos parciales y la
representación espacial. Estos dos tipos de características inducen respectivamente a la espe-
cialización comportamental y especialización espacial.
Visser [VISS2001] plantea una aproximación de especialización comportamental en la que
dependiendo de las características y habilidades del agente, se pueda seleccionar un grupo de
agentes capacitados para ejercer los diferentes tipos de acciones y responsabilidades que tiene
una formación; con el fin de aprovechar de una mejor manera las características de los agen-
tes. Por otro parte, [ARIA2008] propone que mediante las estrategias o planes a largo plazo
se puedan asignar las especializaciones a los agentes. De manera que el agente mantiene su
rol para la formación establecida, pero cuando se realice una estrategia, el agente pueda cam-
biar de especialización, generando un cambio en su rol; con el fin de cumplir tareas más espe -
cíficas que satisfagan las condiciones de las estrategias.
La especialización espacial también la presentan en [VISS2001], dependiendo de la ubicación
de un agente en el ambiente se le asignan unas responsabilidades específicas. Esta ubicación
dentro del ambiente hace que el agente adquiera una especialización que le permita definir el
rol a ejercer.
Página 50
Mediante la definición de un rol se pueden encapsular un conjunto de características y res-
ponsabilidades que debe cumplir un agente en un SMA. Estos roles le facilitan a las forma-
ciones el mantenimiento de la estructura y el favorecimiento de acciones cooperativas. Ade-
más de que permiten la construcción de diferentes formaciones y acciones cooperativas.
e. Arquitectura de un gestor de formación
Para poder diseñar el gestor de formaciones, es importante tener claro que existen dos tipos
de arquitecturas: arquitectura centralizada o distribuida. Cada una de estas arquitecturas tiene
sus ventajas y desventajas.
En una arquitectura centralizada se le asigna a un agente la responsabilidad de tomar las deci-
siones del cambio de la formación. En este modelo, este agente se encarga de la recolección
de los datos asociados a los factores a analizar y mediante su criterio de decisión determina si
es necesario el cambio de la formación. Esta aproximación puede ver en [HABI2002],
[FATH2006A], [CERT2008], [ARIA2008] y [REIS2001].
En oposición a la centralización [BERN2007] propone un mecanismo distribuido para esta-
blecer el cambio de formaciones mediante el criterio de flexibilidad. Las zonas cuando no
satisfacen sus necesidades, pueden negociar con otras zonas la transferencia de agentes para
satisfacer esas necesidades. De manera que existe una toma de decisiones distribuida para la
modificación de la formación. Ningún otro autor utilizado en la realización de este documen-
to tiene un concepto de arquitectura distribuida como el definido por [BERN2007], debido a
que los otros autores usan una arquitectura centralizada para diseñar un gestor de formacio-
nes.
Cada una de estas aproximaciones tiene sus ventajas y sus desventajas, por ejemplo una ar-
quitectura centralizada tiene una sobrecarga debido al análisis de datos que tiene que realizar,
es poco confiable debido a que un solo agente se encarga de esta tarea, pero es más sencillo
en la selección de formaciones. Mientras que en una arquitectura distribuida, la toma de deci-
siones es más confiable y tolerante a fallos, pero la toma de decisiones se vuelve más comple -
ja.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
En este capítulo se han analizado los objetivos de una formación y se han determinado los
factores que se deben tener en cuenta para elegir una formación. Es responsabilidad del dise-
ñador de un SMA analizar cada una de las problemáticas anteriormente mencionadas para
que pueda diseñar un SMA de manera adecuada y pueda definir el contexto en el que se en-
cuentra, con el fin de asegurar que los resultados generados con el modelo sean lo más próxi -
mo al contexto de la problemática.
Página 52
IV. MEJORAS PROPUESTA AL MODELO MRRC
En el capítulo anterior se mostraron los resultados de la investigación realizada para el diseño
de un gestor de formaciones en un SMA, describiendo los problemas y las soluciones que
diferentes autores han analizado. Una vez definido el contexto conceptual, se procederá a
presentar la propuesta del modelo extendido MRCC, haciendo énfasis en la capa formaciones
y mostrando los cambios que se generaron en las capas. El modelo MRCC continuará siendo
de cuatro capas debido a que no se vio la necesidad de que existiría una nueva capa para que
se encargue de las problemáticas mencionadas anteriormente debido a que estas responsabili -
dades pueden ser asignadas a las capas ya existentes.
Para cada una de las cinco problemáticas estudiadas de los diferentes autores se obtuvieron
varias conclusiones, para cada una de ellas se hizo una síntesis que reúne las características
más sobresalientes que se le pueden aplicar al modelo base del MRCC explicado anterior-
mente para ampliarlo y refinarlo. Debido a que el estudio que se realizó en los ejes problemá-
ticos se va a redefinir algunos conceptos del modelo en tres de las cuatros capas, haciendo
énfasis en la capa formaciones, donde se cambió la estructuración de la misma.
1. CAPA DE FORMACIONES
Después de analizar el modelo de formaciones base se propone realizar unos ajustes a las
definiciones de formación, zona, rol estructurante, rol excepción y objetivo. Y se agregará el
concepto de táctica, que está relacionado con el concepto de zona.
a. Formación
En el modelo base MRCC se define a la formación como “un mecanismo que debería facilitar
la consecución del objetivo final del SMA pero también debería promover el mantenimiento
de cierta estructura organizada dentro del mismo” [BERN2007]. Esta definición de formación
no cambiará pero algunos de los elementos que la componen serán redefinidos para poder
Ingeniería de Sistemas SIDRE <CIS1010SD02>
solucionar los problemas que se presentan en el MRCC analizados en los ejes problemáticos
mencionados en el anterior capítulo.
La nueva definición de Formación se plantea en la siguiente tupla y se puede apreciar en la
figura 6:
Formación = {Ob, Zn, Mn}
Ob = Objetivo Global.
Zn = Zonas de Acción.
Mn = Mecanismo de Negociación.
Figura 6. Concepto de Formación
Donde Ob representa el objetivo global del SMA, el cual es gestionado por la capa superior,
como se vio previamente en la descripción del MRCC base, por tanto la capa de formaciones
podrá ser parametrizada por la capa sistema en todos los aspectos nuevos.
El mecanismo de negociación MN, al igual que en la versión base del MRCC seguirá siendo
el mecanismo por el cual las zonas pueden negociar para poder suplir sus necesidades. Este
será genérico y se podrá utilizar cualquier mecanismo de negociación que se quiera usar, que
dependiendo el caso de estudio puede beneficiar más al SMA.
El último elemento considerado dentro las formaciones son las Zonas Zn, definidas en el
MRCC base como “una división del espacio en el que se desarrollan las acciones de los agen-
Página 54
tes” y las cuales tienen como habilidades la detección de necesidades y la negociación con las
otras zonas.
Mientras se analizó el concepto de formaciones, uno de los componentes que ya no va formar
parte de la definición de formación es el detector de necesidades, el cual era demasiado gené -
rico y poco especializado para poder abarcar la detección de todas las necesidades de una
formación en los diferentes dominios de las distintas aplicaciones en las que se puede utilizar
el MRCC. Lo anterior se determinó con varios contraejemplos encontrados en un caso especí-
fico, esto se tratará más adelante en la sección donde se desarrollará el tema del Detector de
Necesidades. De manera que el concepto de detector de necesidades se reubicó en el concepto
de objetivo, el cual va inmerso en el concepto de zona.
b. Zona
Como se definió anteriormente la zona es el espacio donde los agentes actúan y las cuales se
encarga de la administración de los mismos [BERN2007], se redefinió la Zona de Acción en
la siguiente tupla y se puede apreciar en la figura 7:
Zn = {TA, OB, RE, RG}
TA = Táctica de la zona.
OB= Objetivos de la Zona.
RE= Reglas Estructurantes.
RG = Representación Geométrica.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Donde Ob son los n objetivos que tiene asociado la zona específica. Estos son los objetivos
que se descomponen del objetivo global del sistema y que la zona debe cumplir, cada objeti-
vo puede estar en un nivel de satisfacción. Dentro del estado satisfacción se consideran tres
estados más, los cuales se presentarán más adelante en la descripción del Detector de Necesi-
dades.
La Táctica TA de la Zona es un nuevo concepto. Esta tiene asociado los roles estructurantes
necesarios para que la zona pueda ejecutar su trabajo de manera adecuada y tiene inmerso en
ella las diferentes ubicaciones espaciales de los roles estructurantes para tener diferentes al-
ternativas.
Las reglas estructurantes RE van a tener el mismo concepto del modelo base, donde especifi-
can la cardinalidad mínima de la zona con respecto al número de agentes en ella y el umbral
de agentes máximo y mínimo que podría necesitar la zona. Este puede ser parametrizable por
el nivel sistema de tal forma que la zona pueda admitir más o menos agentes, este concepto se
mantiene del modelo base del MRCC.
RG es el elemento de la zona encargado de modelar la representación geométrica espacial de
la zona en el ambiente. La capa Sistema debe tener la capacidad de parametrizar la forma y
las dimensiones de la representación geométrica de las zonas. Como se mencionó anterior-
Página 56
Figura 7. Concepto de Zona
mente la forma que seleccione la capa Sistema para cada zona depende totalmente de la pro-
blemática que se esté representando, por tanto las formas disponibles para parametrizar de-
penden totalmente del diseñador, al igual que lo proponen [ATKI2008], [AYAN2009] y
[RILE2006].
Por tanto, se agrega un elemento en la tupla zona, el cual sería el encargado de modelar la
representación geométrica espacial de la zona en el ambiente el cual sería la RG o representa -
ción Geométrica.
c. Táctica
El primer aporte que se realiza al modelo base es el de proponer un elemento adicional a la
definición de zona, llamado “Táctica”. Es definido por la Real Academia Española como
“Método o sistema para ejecutar o conseguir algo”1. Este elemento tiene asociado los roles
estructurantes necesarios para ejecutar la táctica deseada sobre la zona. Teniendo en cuenta
que cada rol estructurante ya tiene como propiedad la ubicación espacial base del agente.
La táctica permitirá a la zona poder organizar a un agente en el espacio de acción de la zona o
asignarle un rol estructurante a un agente después de que una negociación entre zonas ha
finalizado. Esta asignación se puede dar mediante la definición de posiciones especificas
dentro de las zonas para los roles estructurantes, dadas por el diseñador del sistema, o, me-
diante una función, la cual reciba como parámetros la cantidad de agentes y retorne los roles
estructurantes que se deben ejercer en esa zona específica.
Una manera especial, utilizada por los diferentes autores [LAU2009], [SVAT2001] para
mantener el orden dependiendo de la situación es agrupar o dispersar a los agentes en deter-
minado momentos. Este concepto ya se podría manejar fácilmente en el modelo base del
MRCC por medio del manejo del modelo flexible que tiene asignado cada agente. Para esto
sería necesario que la zona pudiera tomar la decisión de cuando realizar cualquiera de estos
dos mecanismos. Debido a que los mecanismos de reorganización están ligados al Modelo
1 Real Academia de la lengua española, Palabra consultada: Táctica. versión online. www.rae.es
Ingeniería de Sistemas SIDRE <CIS1010SD02>
del Mundo, y el modelo del mundo es genérico para el MRCC, el diseñador debe escoger e
implementar la forma de reorganizar la zona según el conocimiento del caso de estudio espe-
cífico.
Una táctica estaría definida por la siguiente tupla y se puede ver en la figura 8:
TA: {FO, INS}
FO = función de la táctica que permitirá reorganizar la ubicación de los agentes ac-
tuales mediante compactación o dispersión.
INS= Tiene las diferentes instancias de la táctica, el conjunto de los roles estructuran-
tes con su respectiva parametrización dependiendo el número de agentes
El elemento INS va a contener los roles estructurantes que componen a la táctica para la car-
dinalidad en la zona según, las reglas estructurantes de la misma. De igual manera, va a tener
la parametrización de los roles estructurantes para cada uno de los diferentes casos de núme-
ros de agentes.
INS estaría formado por la siguiente tupla y se puede observar en la figura 9:
INS:{RES, PAR}
RES= Roles estructurantes asociados.
PAR= Parametrizacion de los roles estructurantes asociados.
Página 58
Figura 8. Concepto de Táctica
Por otro lado, FO sería una función que se activa cuando uno de los objetivos de la zona de-
tecte una necesidad ligada a la satisfacción de algunos de sus objetivos. Es decir que este se
encuentre insatisfecho en cualquier nivel, donde permitirá reubicar a los agentes actuales en
otra posición, de tal forma que la zona trate de solucionar su problema con los recursos con
los que cuenta, por medio de la compactación o dispersión de los agentes. Esta solución de
dispersión o compactación debe ser dada por el diseñador del sistema debido a que depende
del modelo del mundo y por tanto no puede ser genérico para cualquier caso de estudio.
d. Objetivo
El concepto evaluación de la satisfacción de un objetivo va a cambiar, debido a que para ana-
lizar si un objetivo se está cumpliendo, es necesario asumir el contexto del caso específico de
estudio, y por ende puede tener diferentes formas de medición.
En el modelo base del MRCC se considera al objetivo como lo que debe seguir la zona, y que
cada objetivo está asociado a los roles estructurantes, los cuales por medio de las acciones
cooperativas aportan al cumplimiento del mismo. Es decir, que si un agente no realiza accio-
nes cooperativas no estaría realizando su trabajo adecuadamente y esto causaría que la zona
entrará en necesidad, pero esto no se cumple para todos los casos. Por ejemplo en el contexto
de Robo Cup, un defensa puede parecer que no esté defendiendo debido a que su equipo está
atacando constantemente y nunca está siendo atacado. En el modelo base mostraría necesidad
Figura 9. Concepto de Instancias
Ingeniería de Sistemas SIDRE <CIS1010SD02>
en el objetivo de no dejar que hagan goles, debido a que las acciones cooperativas asociadas
con este objetivo no se están realizando. Pero realmente si el equipo está atacando, no existe
necesidad en defensa, por esto mismo, se desacopla los roles estructurantes de los objetivos y
de la misma manera las acciones cooperativas de los objetivos.
Se muestra que dependiendo el objetivo y el caso de estudio la forma de detectar necesidad
cambia y que no basta con solo medir el aporte de cada agente a la zona por medio de las
acciones cooperativas. Por tanto, se le asocia a cada objetivo un detector de necesidades de
forma que este sea específico para cada caso de estudio y para cada objetivo, por tanto una
zona tendrá una forma de detectar una necesidad por cada objetivo asociado a la misma.
La definición de Objetivo estaría dada por la siguiente tupla y se puede observar en la figura
10:
OB= {DN, Ob}
DN= el detector de necesidad asociado al objetivo.
Ob= Objetivo asociado a la tupla.
Figura 10. Concepto de Objetivo
Como se mencionó , el detector de necesidades fue ubicado a nivel de la tupla de objetivo
debido a que cada objetivo tiene una forma diferente de detectar su nivel de satisfacción,
dado el caso específico de estudio, por tanto el detector de necesidades se asoció a cada uno
de los objetivos. El nivel de satisfacción se encuentra entre cero y uno, donde cero es satisfe-
cho y uno es insatisfecho. El detector de necesidades de cada objetivo se encargará de moni-
torear si el objetivo al cual pertenece está siendo satisfecho, si no es así, tendrá que detectar
Página 60
que tipo de necesidad es, necesidad baja, necesidad alta progresiva y súbita, cada uno de estos
los define el diseñador con un umbral entre cero y uno. Para cada uno de estos tipos de nece-
sidad, el diseñador del sistema deberá decidir entre tres tipos de soluciones: la reorganización
de la zona, el intercambio de agentes o la petición de un agente a otra zona del sistema. Estos
tres tipos de necesidades se detectarán por medio de umbrales, cuando la necesidad del objeti-
vo pasa el primer umbral pero no el segundo es clasificado como necesidad baja, si pasa am-
bos umbrales aumentando progresivamente se dirá que es una necesidad alta progresiva y si
pasa ambos umbrales con un crecimiento muy rápido se dirá que la necesidad es súbita.
Si el nivel de satisfacción actual no pasa la necesidad denominada súbita, se utiliza una fun-
ción de Q-Learning [WATK1989] para que la zona tenga en cuenta los niveles de satisfac-
ción anterior, para poder tomar decisiones con una mayor precisión que con un solo nivel de
satisfacción actual.
Por otro lado, si el nivel de satisfacción pasa el umbral de la necesidad llamado súbita, no se
tendrá en cuenta el valor anterior y se procederá a ejecutar la solución asociada a esta. Se
realiza por que existen casos donde la necesidad es demasiado alta y no se puede esperar a
ver como se ha comportado el mundo. Por tanto la solución es tomar una acción correctiva y
reactiva a la situación.
Una vez asociado a cada uno de los umbrales un tipo de solución y el umbral el cual es asig -
nado por el diseñador del sistema, este nivel de satisfacción tiene un valor entre cero y uno,
de tal manera, que el objetivo pueda conocer su estado y de esta forma comunicárselo a la
zona cuando esta lo requiera y poder tomar una acción respecto a la solución asignada a cada
uno de umbrales.
Este nivel de satisfacción de los objetivos se pueden usar guiados en la aproximación de
[ATKI2008] y [HABI2002], donde la capa sistema debe tomar una decisión y asigne una
nueva formación base, basado en la misma satisfacción de objetivos específicos de cada zona,
solo que cada zona tiene la responsabilidad de retroalimentar a la capa sistema con esta infor-
mación.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Esta retroalimentación ya está planteada en el modelo base, pero no se identifica para que
pueda ser usada la evaluación enviada a la capa superior. La capa sistema con toda esta infor-
mación tendría que utilizarla para que por medio de un mecanismo de toma de decisiones
pueda seleccionar una nueva formación base la cual también va a ser flexible.
e. Rol estructurante
El rol estructurante es un concepto que se hereda del base MRCC, se define como el rol que
“busca dar y promover el mantenimiento de orden o estructura dentro del SMA”
[BERN2007], este rol se redefinió en su estructura interna agregando unos conceptos, pero se
heredaron la responsabilidad y funcionalidad que se definió en el modelo base.
Para poder presentar la asignación de los roles estructurantes a los agentes, se debe tener en
cuenta la heterogeneidad en los agentes. La heterogeneidad se puede presentar en los agentes
de dos formas. La primera es que todos los agentes ya son de por si diferentes; debido su
situación, la percepción que cada uno de ellos tiene del mundo no es igual, para cada situa-
ción que se presente existirá un agente que se encuentre en una mejor escenario para resolver
una necesidad, esta aproximación está presente en [KALY2007]. La segunda aproximación es
tener en cuenta las habilidades que posee cada agente, de la misma manera como lo presenta
[HABI2002]. Basado en estas habilidades, se pueden definir los roles, inspirado en
[VISS2001], [HABI2003] y [HABI2002]. Los roles tienen unos requerimientos mínimos
para ser asignados a un agente. Los requerimientos se pueden cuantificar a partir de la exper-
ticia del diseñador del sistema, o por una información inicial que se tenga del agente y se
retroalimente a medida que realice acciones cooperativas. Por lo tanto, si se asume esta apro-
ximación, se debería cambiar la definición de rol estructurante, agregándole cuales son las
habilidades mínimas requeridas para que un agente pueda tener asignado un rol.
Por otra parte, podemos utilizar la nueva definición de rol estructurante para mejorar el meca-
nismo de flexibilidad en las formaciones con el que ya cuenta el modelo base. Si tenemos en
cuenta que, gracias a la heterogeneidad existirán agentes más aptos para realizar ciertas tareas
que otros, sería mejor que en la negociación que ya se establece gracias al detector de necesi -
dades, la zona no solo pida un agente más para su zona, sino que pida un agente con las ca -
Página 62
racterísticas mínimas deseadas para que se le pueda asignar un rol especifico, en
[HABI2002].
De acuerdo con los autores [VISS2001], [ARIA2008] y [HABI2002], se le puede agregar al
modelo los roles especializados, para los cuales se necesitan habilidades especiales para cum-
plir ciertas tareas específicas en lugares especiales del espacio. Esta sub-especialización del
rol estructurante que no se contempla en el MRCC, se podría ver como las habilidades que
requiere un agente para realizar tareas específicas, y puede ser asignada por la zona a la que
corresponda el agente para ayudar a satisfacer los objetivos específicos de la misma. Se puede
tomar con respecto al tema de la heterogeneidad de los agentes, utilizando la nueva definición
de rol estructurante, permitiéndole al diseñador poder crear roles estructurantes más especiali -
zados para que realicen tareas específicas dentro del contexto del problema. Si el agente tiene
las habilidades para cumplir varios roles, éste podría asumir diferentes roles a lo largo del
tiempo, y permite que la negociación entre zonas se dé cómo se planteó anteriormente. Cabe
indicar que al diseñar los roles estructurantes de la aplicación, hay que tener mucho cuidado
con las habilidades mínimas requeridas para cada uno, debido que si son muy exigentes las
zonas serán menos flexibles.
Un rol estructurante estaría redefinido por la siguiente tupla y se puede apreciar en la figura
11:
RE = {MO, SR, RoEx}
Mo = Es la función de toma de decisiones asociado a la movilidad del rol estructu-
rante.
SR = define las habilidades mínimas que requiere un agente para poder cumplir o
desarrollar en una manera correcta el rol.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
RoEx= Roles de excepción asociados.
Figura 11. Concepto de Rol estructurante
Mo es una función de movilidad que le permite al agente establecer un modelo de movilidad
espacial, con el cual se va poder desplazar a través del ambiente y va a poder tener la referen -
cia de un punto base en el cual se tenga que ubicar por defecto.
SR hace referencia a las habilidades mínimas requeridas que debe tener un agente para poder
desempeñar el rol estructurante. Este concepto asume la heterogeneidad de los agentes, con el
fin de asignar de una mejor manera los roles estructurantes a los agentes del sistema.
Por medio de la observación de los diferentes casos de estudio, se pudo observar que los roles
de excepción están asociados al rol estructurante, debido a que depende de las responsabilida-
des asociadas al agente responde de forma diferente a los eventos de excepción, los cuales
suceden a nivel sistema, y son propagados a todas las entidades del mismo, el concepto de rol
excepción se heredó de igual manera del modelo base del MRCC. Por ejemplo, en el caso de
fútbol el rol excepción es diferente para un arquero que para un delantero cuando se inicia un
partido, debido a este y más ejemplos fue necesario añadirle al rol estructurante un conjunto
de roles excepción asociados a los eventos especiales.
Estos roles de excepción se comportan similar al rol estructurante, su estructura es similar y
la única diferencia es que no tiene una colección de otros roles. La prioridad de los roles para
el agente son: con mayor prioridad el rol excepción, seguido por el rol cooperativo y final -
mente el rol estructurante, no hay negociación para la asignación de roles, es asignado el de
mayor prioridad.
Página 64
2. CAPA MICRO SOCIAL
En esta sección se presentara el único cambio propuesto para la capa micro social, basado en
el concepto de planes pre estructurado, dándole lugar a las acciones cooperativas complejas,
las cuales son la coordinación de acciones cooperativas, inspirado en diferentes autores que
plantean una aproximación similar.
a. Planes
Después del análisis realizado a los autores [REIS2001] y [LAU2009], existe la necesidad de
modificar la definición de acciones cooperativas para darle espacio a la inserción del concep-
to de plan. Un plan es un conjunto de acciones cooperativas, que tienen que ser activadas en
un orden específico para cumplirlo y que cumplen un objetivo específico. Una acción coope-
rativa se define como un conjunto de habilidades que se deben activar correctamente para que
esta se ejecute; las acciones cooperativas pueden ser mono agente o multiagente. Un conjunto
de habilidades son las acciones básicas que puede realizar el agente.
Debido al concepto de plan que se definió anteriormente, se debería introducir la tupla del
plan al contexto del MRCC. Un Plan [ARIA2008] [YANG2010] es un conjunto de acciones
cooperativas, que tienen que ser ejecutadas en un orden específico para llevar un objetivo a
cabo. Un Plan se define como la tupla formada por {ACs, PEs, CIE, RE} las cuales represen-
tan:
ACs: Conjunto de acciones cooperativas que componen el plan.
PEs: Conjunto de preferencias estructurantes que se deben asignar a los agentes para
que continúen la ejecución del plan, donde las preferencias estructurantes indican
que acciones cooperativas puede hacer el agente.
CIE: Son las condiciones iníciales de cada etapa para que se dé la ejecución del plan.
RE: los roles estructurantes asociados a los agentes que pueden ejecutar el plan.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Gracias a que existiría un constante monitoreo de la ejecución de un plan, se requiere agre-
garle al modelo un monitor de planes, que se encargue de supervisar la ejecución de un plan y
administrar las preferencias de los agentes involucrados en el plan. Este monitoreo se presen-
ta desde que empieza la ejecución del plan, en cada una de las etapas de éste (para determinar
si se debe seguir ejecutando el plan), hasta su finalización ya sea exitoso o no. De igual mane-
ra, una vez comience la ejecución se tiene que guardar las preferencias de los agentes, y se
deben modificar para priorizar la realización del plan. Una vez éste finalice, el monitor debe
devolver a su estado original las preferencias estructurantes de los agentes involucrados en el
plan.
Para hacer un monitoreo apropiado de los planes, se debe asumir que cada vez que termine
una acción cooperativa, se debe monitorear si es posible continuar con el plan. Se concluye
que debe existir una función que evalué el modelo del mundo para ver si es apropiado realizar
el plan.
De acuerdo al anterior análisis, existirían 3 funciones de matching en el sistema: función de
matching para los roles, función de matching para las acciones cooperativas y función de
matching para los planes. Las cuales permitirán decidir se puede realizar el plan con unos
roles determinados, o si se puede realizar la acción cooperativa con unos roles determinados.
Estas funciones ayudarían a supervisar el estado de los planes. Por otro lado, el cambio de
preferencias hecho por el monitor de planes no puede ser tan grande, porque, sino el detector
de oportunidades perdería su naturaleza oportunista, evitando que para cualquier caso elija la
mejor acción a ejecutar.
En el modelo base no existe en ninguna capa la funcionalidad de supervisar el ciclo de vida
de los planes, debido a que esta definición no se usaba anteriormente. En este momento se
puede definir que ese monitor estaría ubicado en la capa Micro-social. Sin embargo, no es la
única opción, es necesario analizar si se debe crear una nueva capa, la cual se encargue de
gestionar los planes y su estado a través del tiempo.
Página 66
3. CAPA SISTEMA
En la capa sistema, se realizó un análisis sobre cómo debería ser la arquitectura de la misma,
debido a que es la que toma las decisiones en el cambio de formaciones, actualmente el mo-
delo MRCC se basa solo en el nivel de satisfacción de los objetivos para tomar una decisión a
la hora de modificar la formación. Esta decisión se toma en la capa de Formación, y mediante
el criterio de flexibilidad y la negociación entre zonas, se realizan cambios sobre una forma-
ción base.
El modelo no cuenta con un gestor de formaciones, sino con una formación flexible que cam-
bia debido a la negociación entre zonas como se mencionó anteriormente. La primera aproxi-
mación es agregarle al MRCC un gestor de formaciones centralizado encargado de la captura
y el procesamiento de los datos necesarios para la toma de decisiones de la formación del
sistema, la mayoría de los autores plantean un gestor de esta forma como [HABI2002],
[FATH2006A], [CERT2008], [ARIA2008] y [REIS2001].Este gestor centralizado debe ubi-
carse en la capa sistema y será el encargado de influenciar a la capa de Formaciones, para que
parametrice y modifique las zonas de acuerdo con los cambios elegidos por el gestor.
Otra solución es diseñar un gestor de formaciones distribuido. Para ello, se pueden crear va-
rios gestores de formaciones. Cada uno de ellos monitorearía diferentes aspectos tales como
condiciones del ambiente, desempeño del SMA, desempeño del SMA antagonista etc. Me-
diante mecanismos de resolución de conflictos, se decidirían cual es el factor más influyente
para la selección de una formación que pueda cumplir el objetivo global del sistema. Inicial-
mente, se plantea dejar en el modelo un gestor distribuido debido a que los factores que pue-
den intervenir para la toma de decisiones son demasiados. Será decisión del diseñador ver
cuantos gestores se deben tener y la prioridad de cada uno de ellos; debido a que el número
de factores a tener en cuenta y su prioridad está ligado al caso de estudio.
Como se mencionó el gestor de formaciones base puede tener en cuenta diferentes aspectos
del ambiente, por tanto tendrá que evaluar los efectos que generan el ambiente y los sistemas
antagonistas inmersos en él. La capa sistema tendrá que tomar el modelo del mundo captado
Ingeniería de Sistemas SIDRE <CIS1010SD02>
por él, y por medio de mecanismos de toma de decisiones decidirá cuál es la formación base
más adecuada para contrarrestar estos efectos. Este modelo es similar en autores como
[ALME2009], [HABI2002], [CAO2009] y [AYAN2009].
Cada formación base contará con las zonas que la componen y cada zona con los elementos
que se definen en el modelo base del MRCC y el nuevo elemento de tácticas quedará como
responsabilidad de la capa sistema, la forma de modelar y utilizar los datos de los sistemas
antagonistas.
Otro factor que se debe tener en cuenta para todo tipo de SMA, es el rendimiento del mismo
como se mencionó en la capa formaciones se puede realizar mediante la satisfacción de obje -
tivos. La capa sistema lo conocerá debido a que es responsabilidad de la zona retroalimentar
al nivel superior con la información de los objetivos asignados a cada una de ellas. Con esta
información el sistema podrá tomar decisiones acerca de cuál sería la mejor formación base
para asignar. El gestor de formaciones ubicado en la capa sistema se tiene que activar en un
intervalo de tiempo mayor que el detector de necesidades; éste a su vez se debe activar en un
intervalo de tiempo mayor que el detector de oportunidades de la capa micro social.
Página 68
V. IMPLEMENTACIÓN DEL MODELO
En la sección anterior, se describieron los cambios que se realizaron en el modelo, enfocán-
dose en la capa formación y mostrando los cambios que realizaron en los demás capas del
sistema.
En este capítulo, se mostrará el proceso que guío la implementación del modelo del MRCC
extendido con los cambios propuestos en el capítulo anterior. El proceso utilizado contó con
cuatro grandes etapas: análisis, diseño, implementación y pruebas. En cada una de estas eta -
pas, se mostrarán los factores más relevantes que se tuvieron en cuenta para su ejecución.
El proceso de desarrollo fue guiado por una metodología iterativa con el cliente, en este caso,
el director de trabajo de grado, teniendo de esta forma retro alimentación al final de cada una
de las etapas.
En el proceso de desarrollo que se tuvo en implementación, se desarrolló un trabajo de prue-
bas unitarias sobre cada una de las funcionalidades del modelo priorizadas e implementadas.
1. Análisis
En la etapa de análisis se realizó la elaboración del modelo teórico basado en todos los análi -
sis del modelo anterior, las desventajas y ventajas que este tenía y los cambios que se debían
producir sobre el MRCC base. Estos cambios fueron indicados en el capítulo anterior, del
modelo extendido en los cuales surgen cambios para tres de los cuatros niveles. De este análi-
sis surgió el modelo donde se pueden agrupar en las diferentes capas del mismo las nuevas
funcionalidades o los requerimientos del nuevo modelo por las capas donde estos se encuen-
tran, por lo tanto los tres tipos de requerimientos funcionales se pueden clasificar de la capa
Formaciones, Sistema y Micro Social.
Basado en esta clasificación dada a los requerimientos del modelo, se realizó una priorización
del mismo, con la especificación de los requerimientos funcionales del modelo como base,
Ingeniería de Sistemas SIDRE <CIS1010SD02>
debido a que el alcance del trabajo es un gestor de formaciones, se priorizaron los tres tipos
de requerimientos, dándole mayor prioridad a los pertenecientes al grupo de la capa de forma-
ciones y de la capa sistema, la cual como se presento es la encargada de parametrizar a la de
formaciones.
Capa de Formaciones(Prioridad Alta):
o La zona debe poder cambiar la táctica de la zona.
o La zona debe poder reorganizar después de una negociación.
o La zona debe poder reestructurar después de una negociación.
o La zona debe poder iniciar una negociación.
o La zona debe poder contestar la invitación a una negociación.
o La zona debe poder recibir un nuevo agente.
o La zona debe poder enviar un agente a otra zona.
o La zona debe poder tener varios mecanismos de detección de necesidades.
o La zona debe poder detectar cuando un objetivo se encuentra en un nivel de
satisfacción bajo.
o La zona debe poder asignar un rol estructurante a uno de los agentes pertene-
cientes a ella.
o La zona debe poder avisar a un agente cuando debe cambiar su rol.
o La zona debe poder determinar cuál es el rol estructurante que necesita en la
negociación.
Capa Sistema(Prioridad Media)
o Debe poder crear una zona.
o Debe poder cambiar la táctica de una zona en ejecución.
o Debe poder asignar una táctica nueva a una zona.
o Debe poder eliminar una zona.
o Debe poder modificar los atributos de una zona.
o Debe poder notificar a los agentes del sistema cuando ocurre un caso espe-
cial.
Página 70
o Debe poder cambiar de formación en ejecución, asignando nuevas zonas con
nuevas tácticas.
Debido al alcance de la investigación, se tuvieron en cuenta para el desarrollo de la imple-
mentación los requerimientos con mayor priorización. Estos requerimientos fueron asignados
con respecto a la relación que estos tenían con el concepto del gestor de formaciones. Por lo
tanto, los cambios que se realizaran en el modelo llegaran hasta el requerimiento de prioridad
alta y media mencionados anteriormente.
2. Diseño
El diseño del modelo se realizó basado en los requerimientos funcionales que están presentes
en el modelo y en el framework de desarrollo de sistemas multiagentes de la Pontificia Uni-
versidad Javeriana BESA [GONZ2007]. Debido a que el MRCC base se encuentra construido
utilizando otro proyecto de la misma institución, que presta como principal servicio que los
agentes BESA puedan tener mecanismo de raciocinio basado en el estado de mundo y llevado
por la idea de los roles que puede tomar estos en el transcurso del tiempo. Basado en los re-
querimientos funcionales que se ven en el modelo, se rediseñó la capa de formaciones con los
nuevos elementos propuestos en base a las facilidades y servicios que prestan los frameworks
sobre los cuales está construido el MRCC.
El nuevo diseño dio lugar al diagrama de clase que representa los estados de los nuevos ele -
mentos en el modelo en la capa de formaciones y se puede observar en la figura 12.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
class Formaciones
ZoneManagerState
- adjacentZones: String- agents: ArrayList<String>- K: double- M: double- maximunAgents: int- minimunAgents: int- negociationLimit: double- waitingResponse: boolean
NeedDetector
+ needDetectionFunction(ZoneManagerAgent) : double
Obj ectiv e
- actualValue: double- deadlyHighLimit: double- deadlyHighLimitSolution: Solution- forgetfulness: double- highProgressiveLimit: double- highProgressiveLimitSolution: Solution- learning: double- lowLimit: double- lowLimitSolution: Solution- objectiveName: String
+ isNeedDetected(ZoneManagerAgent) : String
ActionZone
- finEjeX: double- finEjeY: double- iniEjeX: double- iniEjeY: double
Tactic
- StructuralRoles: HashMap<Int,ArrayList<StructuralRoleMRCC> >
+ reorganization(ArrayList<StructuralRoleMRCC>, WorldModelBESA) : void
StructuralRoleMRCC
- CooperativeActions: ArrayList<CooperativeAction>- exceptionRoles: HashMap<Character, RationalRoleBESA>- originalPositionX: double- originalPositionY: double
CoachState
+ cambairZona() : void+ cambiarTatica() : void+ casoExcepcion() : void+ CrearTactica() : void+ crearZona() : void
11
11
1
1
1
1
1 1..*
Figura 12. Diagrama de clases extendido
En este diagrama podemos observar cómo se encuentran relacionadas la capa formaciones,
por medio de la clase ZoneManagerState y la clase CoachState. La primera representa a las
zonas, y la segunda al entrenador en la capa sistema, la cual va a ser la encargada de la ges-
tión de las zonas, como su creación, modificación y eliminación, todo el control del ciclo de
vida de las zonas.
El entrenador es capaz de modificar la táctica de cada zona en ejecución o hasta de intercám -
bialas con una zona pre diseñada dependiendo las variables del ambiente.
Se puede observar en el diagrama como la relación entre las clases representa de manera
exacta la relación entre los elementos en el modelo extendido, teniendo una asignación co-
rrecta de responsabilidades a cada una de ellas.
Página 72
En la etapa de diseño se tuvieron en cuentan algunos de los principios de diseño mencionados
por Robert Martin en [MART2000], el principio en el cual basamos el diseño e implementa-
ción de la capa de formaciones y los cambios en el estado del agente cooperativo fue el LSP o
el principio de sustitución de Liskov. El cual plantea que se debe diseñar con clases bases y
derivadas, donde las clases derivadas son las que heredan de la clase base. Los usuarios cono-
cen solo a la clase base, y por esto mismo pueden recibir clases derivadas y que estas se com -
porten de la forma que necesita el usuario y que el funcionamiento del modelo siga adecuada-
mente.
Este principio se ve presente principalmente en el manejo de los roles de los agentes, debido a
que los tres tipos de roles, cooperativo, estructurante y excepción heredan de rol racional.
Todos los atributos en las diferentes clases que intervienen con los roles no tienen un atributo
de la clase derivada que necesitan sino de la clase base, teniendo así que si se realiza un cam-
bio en algunos de los métodos donde se utilizaba una clase derivada específica y se cambia
por otra, no van haber problemas en el modelo gracias al principio de diseño utilizado, permi-
tiendo así la extensibilidad del modelo.
No solo se utilizaron principios de diseño, sino también patrones de diseño que facilitaron a
los diseñadores que vayan a utilizar el modelo poder reutilizar clases. Esto se ve presente por
ejemplo en la clase Objective, donde se utiliza el patrón de diseño detallado Strategy presen-
tado en el catálogo de [GAMM1998]. Permitirá al diseñador poder intercambiar entre los
diferentes Objective que necesiten los NeedDetector, sin que se presenten problemas de com-
pilación o ejecución. Por lo que estos cuentan con una clase base y aceptarán a cualquier
clase derivada que la implemente sin intervenir en su correcto funcionamiento. También per-
mitirá que los Objective cambien en tiempo de ejecución su NeedDetector, de tal forma que
un objetivo, pueda tener por lapsos de tiempo, formas específicas de detectar las necesidades
si así lo requiere el caso de estudio. Brindándole así a la necesidad la posibilidad de poderse
adaptar al ambiente o las condiciones en las que se encuentra.
Debido a que se utilizó BESA para el desarrollo de MRCC como se mencionó anteriormente
se debió también modelar los comportamientos de los agentes involucrados y las guardas de
Ingeniería de Sistemas SIDRE <CIS1010SD02>
los mismos. Estos elementos son los que permiten que el agente BESA pueda recibir eventos
y actuar en reacción de los mismo. Los comportamientos permiten que un agente pueda ac-
tuar paralelamente a eventos que recibe, de tal forma que pueda procesar y actuar en reacción
a dos eventos al mismo tiempo. Para nuestro modelo surgió la necesidad de que el agente
cooperativo proveniente de la capa micro social tuviera un nuevo comportamiento el cual le
permitiera cambiar el rol estructurante que tuviera asociado.
Para el nuevo agente administrador de zona se le modelaron dos nuevos comportamientos,
uno de ellos que se encargará de la detección de necesidades de la zona y el otro que se encar-
gará de la negociación con las otras zonas para poder satisfacer las necesidades por medio de
los tres tipos de soluciones explicados en el capítulo anterior.
El diagrama que se usa para modelar los comportamientos y las guardas está inspirado en los
diagramas usados en AOPOA [GONZ2006B], la cual es una metodología de programación
orientada a agentes con enfoque organizacional, con un método de iterativo, para el diseño de
sistemas multiagentes para desarrollo en BESA. Ver la figura 13.
Se debe aclarar que el agente cooperativo cuenta con más guardas las cuales no se mostraran
en figura 13, debido a que las hereda del agente racional el cual corresponde del proyecto
Rational mencionado anteriormente, este diagrama tiene los mismos nombre en los agentes,
guardas y eventos que se encuentran en el software, reflejando así su comportamiento.
Página 74
Figura 13. Diagrama de agentes
3. Implementación
La implementación del modelo se dio en el lenguaje Java SE debido a que este fue el lenguaje
con el cual se construyó el framework de Agentes BESA, el modelo es totalmente indepen-
diente de la forma en que se vaya a usar; es decir, que no importara si se va a usar en simula-
ción computacional o para robots, como por ejemplo para representar a un equipo de fútbol
robótico. Se consiguió satisfactoriamente debido a que se utilizó el mismo modelo para simu-
lación computacional en dos dimensiones y para el equipo Robótico Bochica.
Una vez terminada la implementación del modelo, se volvió una vez más a la etapa de análi-
sis y diseño para corregir algunos detalles que eran necesarios en la implementación para que
éste funcionara adecuadamente como se especificó en el análisis, con la finalidad de que la
implementación del modelo fuera el reflejo del modelo teórico del MRCC.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
4. Pruebas
El protocolo de pruebas una vez implementado el modelo se basó en pruebas unitarias de
cada uno de los comportamientos y guardas nuevas del modelo. Para cada una de las guardas
se realizó una prueba unitaria donde se verificará que los eventos si estaban siendo recibidos
y que el agente respondiera de la manera esperada al evento. Una vez probada cada guarda
individualmente se empezaron a probar caminos de guardas de forma que se comportaran de
la forma esperada donde se empezaron a incrementar en cada prueba el tamaño de los cami-
nos hasta llegar a la totalidad del mismo.
Una vez se tuvieron probados todos los caminos de las guardas, se procedió a realizar pruebas
en un simulador computacional de dos dimensiones volviendo a probar cada uno de los cami-
nos de las guardas hasta que funcionaran de la manera esperada. Después de tener todas las
pruebas realizadas en el simulador de dos dimensiones, se prosiguió a realizar las mismas
pruebas, pero esta vez en los robots físicos, probando los roles estructurantes y las cadenas de
las guardas.
Página 76
VI. CASO DE ESTUDIO ESPECÍFICO: FÚTBOL ROBÓTICO
Para verificar y demostrar que las formaciones ayudan al desempeño de un sistema Multia -
gente mediante la estructuración y ayudar a las precondiciones de las acciones cooperativas,
sé decidió implementar una aplicación de un caso de estudio para poder verificar esta afirma -
ción. Como se mencionó en el capítulo de implementación, el caso de estudio tuvo dos etapas
donde fue probada su funcionalidad, en el simulador computacional de dos dimensiones y en
el mundo físico mediante un equipo de fútbol robótico en competencia.
1. Protocolo de pruebas
La experiencia del equipo de fútbol robótico, la cual se llevó acabo en el Latín American
Robotics Competition [LARC2010], donde participó el equipo de fútbol robótico de Pontifi-
cia Universidad Javeriana Bochica fue un proyecto de Colciencias liderado por el Ing. Gonzá-
lez donde se trabajó con profesionales en ingeniería de diferentes especializaciones como
ingenieros electrónicos, mecánicos y de sistemas. Esta experiencia nos permitió vivir el am-
biente de trabajo de un grupo de investigación donde se buscaba sacar adelante un proyecto
real donde se cuenta con fechas límites para poder cumplir los objetivos del mismo.
En la competición de fútbol robótico se cuenta con un juez, el cual es el encargado de enviar
un mensaje a los equipos indicándoles los eventos que ocurren en el transcurso del partido.
Por medio de estos, se pudo observar que los robots pasaban de un rol estructurante o de un
rol cooperativo a un rol excepción tal y como lo indica el modelo debido a la prioridad de los
roles, de igual manera que cuando se acababa el evento de excepción, los robots volvían al rol
estructurante correspondiente sin perder o desconfigurar la estructura del equipo. De igual
manera, se pudo observar que los robots entraban en acciones cooperativas mono agentes y al
finalizar la acción cooperativa, ya sea por finalización exitosa o por falla, los robots volvían
a tener el rol estructurante que les pertenecía sin perder o comprometer el orden y la forma-
ción del equipo.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Para validar estadísticamente que con la capa de formaciones se proporciona un orden y favo-
rece a las acciones cooperativas, se realizaron pruebas donde se puede apreciar los beneficios
que proporciona la estructuración en un sistema Multiagente. Para poder realizar la validación
estadística se estableció un protocolo de pruebas donde se definieron los tres tipos de varia-
bles: independientes, dependientes e intervinientes. Las variables independientes son las
variables que se pueden manipular y que afectarán a las variables dependientes; las depen-
dientes son las variables que son afectadas por las variaciones de las variables independien-
tes, y las intervinientes son las variables que inciden y puede afectar las variables dependien-
tes, suelen ser un enlace entre las variables dependientes e independientes.
a. Variables independientes
Las variables independientes variarán para poder observar el desempeño del sistema multia-
gente con la nueva capa de formaciones fueron:
La inclusión o exclusión de la capa de formaciones.
En cada uno de los partidos un equipo tendrá activa la capa de formaciones y en el
otro equipo no la tendrá activa.
El número de agentes en cada equipo que se encuentra en la tabla 1.
El número de agentes en ambos equipos variará en las pruebas, pero siempre tenien-
do en cuenta que ambos tengan la misma cantidad para que no se presente una situa-
ción donde un equipo se encuentre en desventaja numérica.
Los valores que se eligieron para el número de agentes fueron:
Categoría Valor
Bajo 3 agentes
Medio 4 agentes
Alto 5 agentes
Tabla 1. Niveles del número de agentes por simulación
Los valores que se eligieron se definieron a partir de una serie de pruebas en las cua-
les se probó el comportamiento del equipo con 2, 3, 4, 5, 6 y 7 agentes. Con 2 agentes
Página 78
se realizaban pocas acciones cooperativas. Con 6 y 7 agentes en el equipo se observa-
ba que los comportamientos emergentes que se generaban producían muy pocas
acciones cooperativas y la probabilidad de que un equipo metiera gol era muy baja.
Mientras que, con 3, 4 y 5 agentes el sistema se comportaba de manera adecuada
generando los datos necesarios para realizar los análisis correspondientes.
El número de zonas de acción en el equipo el cual se encuentra en la tabla 2.
Debido a que las zonas en la capa de formaciones inciden en la dinámica del juego y
de igual manera la negociación y la búsqueda de satisfacción de los objetivos, se
variará el número de zonas en el equipo que cuenta con la capa de formaciones.
Numero Zonas Nombre Zona Mínimo número de agentes Máximo número de agentes
2Zona Defensiva 1 4
Zona Ofensiva 1 4
3Zona Arquero 1 1
Zona Defensiva 1 4
Zona Ofensiva 1 4
Tabla 2. Características de las zonas para las pruebas
Se eligieron 2 zonas debido a que con el número de agentes seleccionados para hacer
las simulaciones se daba la posibilidad de que existiera más de un agente por zona,
permitiendo que se pudieran efectuar negociaciones entre las zonas. Cuando se to-
maron 2 zonas se excluyó la Zona arquero debido a que esta zona tiene como reglas
estructurantes mínimo 1 agente en la zona, máximo 1 agente en la zona, por ende no
se podían establecer negociaciones entre las zonas.
Se eligieron 3 zonas para generar más orden y estructura dentro del equipo y de esta
manera se podía analizar más el impacto del orden en el resultado final del partido y
en el número de acciones cooperativas realizadas.
La configuración de inicio o posición inicial de los agentes.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
La posición inicial incide en el desarrollo del partido debido a que la distancia del
punto base de un agente al recurso limitado ayudarán a facilitar su obtención y a fa-
vorecer las acciones cooperativas. La configuración inicial será aleatoria en el equipo
que tiene activa la capa formación.
Para realizar las pruebas se generaron posiciones aleatorias para generar una táctica
diferente por zona en cada caso base. Para lograr estas tácticas se generaba una tácti-
ca base por cada zona, en donde se define una posición base de cada agente dentro de
su zona, como se puede observar en las figuras 14, 15, 16, 17, 18 y 19. Luego se ge-
neraba una posición aleatoria del punto base de cada agente en la zona de acuerdo al
punto base definido en la táctica base para generar una táctica aleatoria. De esta ma-
nera se generó una táctica base por zona y 4 tácticas aleatorias por zona para realizar
cada caso de la simulación.
Figura 14. Formación base con 3 jugadores Figura 15. Formación base con 3
y 2 zonas jugadores y 3 zonas
Página 80
Figura 16. Formación base con 4 jugadores Figura 17. Formación base con 4
y 2 zonas jugadores y 3 zonas
Figura 18. Formación base con 5 jugadores Figura 19. Formación base con 5
y 2 zonas jugadores y 3 zonas
b. Variables dependientes
Las variables dependientes que se estudiarán sus variaciones dependiendo las variables de-
pendientes nombradas anteriormente serán:
Total de partidos ganados
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Permitirá conocer cuántos partidos gano el equipo con la capa de formaciones y
cuantos partidos ganó el equipo sin la capa de formaciones.
Total de goles anotados
Permitirá conocer la capacidad que tendrá el equipo que cuenta con la capa de forma-
ciones para anotar goles en contraste del equipo que no la tiene activa.
Numero de intentos de acciones cooperativas
Esta variable mide cuantas veces los agentes empezaron a realizar una acción coope-
rativa que tenían disponible, pero no indica su culminación.
Número de acciones cooperativas realizadas.
Permitirá conocer cómo afecta la capa de formaciones a las precondiciones de las
acciones cooperativas y así poder contrastar cuál de los dos equipos realizó más ac-
ciones cooperativas.
Estas variables fueron escogidas por que permiten observar los resultados obtenidos por el
sistema cuando utilizan la capa de formaciones y cómo esta afecta a las ya mencionadas.
c. Variables intervinientes
Las variables intervinientes que se tendrán en cuenta para el protocolo de pruebas las cuales
se mantendrán constantes en el transcurso de las mismas de tal forma que las mediciones sean
las mismas para todas las variables dependientes son:
Número de acciones cooperativas disponible para los agentes.
Debido a que las acciones cooperativas que puedan realizar los agentes influyen en
las capacidades para desenvolverse en el juego, ambos equipos contarán con las mis-
mas acciones cooperativas disponibles, las cuales son: Movimiento en bloque, movi-
miento en triangulo, pase, disparo.
Visión de los agentes sobre la cancha de juego.
Página 82
Debido a que el rango de visión de los agentes influye en la forma en que perciben el
mundo, y de esta forma cómo reaccionar sobre los eventos que ocurren en este, los
agentes de ambos equipos contarán con el mismo cono de visión de tal forma que
ambos se encuentren en igualdad de condiciones.
La duración de los partidos.
La duración del partido puede influir sobre el resultado de éste, por lo tanto, cada
partido de simulación tendrá una duración constante.
2. Protocolo de pruebas
Como se mencionó anteriormente se determinaron 3 variables independientes para realizar las
pruebas, que generaron 30 escenarios diferentes para realizar la simulación. Se realizaron 30
horas de simulación aproximadamente en donde se realizó 30 ejecuciones de cada escenario,
para finalmente tomas las 20 ejecuciones más significativas de cada escenario para realizar el
análisis de los resultados.
a. Presentación y análisis de resultados
Una vez realizadas las simulaciones con los criterios mencionados anteriormente se obtuvie-
ron los datos que se pueden observar en la tabla 4, y sus respectivas convenciones se pueden
ver en la tabla 3.
Convención Significado
Ag Agentes
Zn Zonas
NP Numero Partidos
G1 Goles equipo 1
G2 Goles equipo 2
PG1 Partidos ganados equipo 1
PG2 Partidos ganados equipo 2
IAC1 Intento acciones cooperativas 1
IAC2 Intento acciones cooperativas 2
AC1 Acciones cooperativas 1
Ingeniería de Sistemas SIDRE <CIS1010SD02>
AC2 Acciones cooperativas 2
Tabla 3. Convenciones de la tabla de resultados
Ag Zn NP G1 G2 PG1 PG2 IAC1 IAC2 AC1 AC2
Total 3 2 100 91 193 12 84 7267 20942 211 12
Promedio 0,91 1,93 0,12 0,84 72,67 209,42 2,11 0,12
Total 3 3 100 79 0 93 0 7147 9116 210 0
Promedio 0,79 0 0,93 0 71,47 91,16 2,1 0
Total 4 2 100 9 6 38 29 5903 8579 110 84
Promedio 0,09 0,06 0,38 0,29 59,03 85,79 1,1 0,84
Total 4 3 100 16 23 56 20 6494 9804 123 96
Promedio 0,16 0,23 0,56 0,2 64,94 98,04 1,23 0,96
Total 5 2 100 6 10 38 46 5133 9657 72 62
Promedio 0,06 0,1 0,38 0,46 51,33 96,57 0,72 0,62
Total 5 3 100 7 9 15 29 3656 7166 63 68
Promedio 0,07 0,09 0,15 0,29 36,56 71,66 0,63 0,68
Total 2 Zonas 300 106 88 18303 393Promedio 2 Zonas 0,353333 0,293333 61,01 1,31
Total 3 Zonas 300 102 164 17297 396Promedio 3 Zonas 0,34 0,546667 57,65666667 1,32
TOTAL 600 208 241 252 208 35600 65264 789 322PROMEDIO TOTAL 0,346667 0,4016667 0,42 0,346667 59,3333 108,77333 1,315 0,536667
Tabla 4. Resultados generales de la simulación
A continuación, se mostraran ocho graficas. Las cuatro primeras graficas muestran los resul -
tados de las variables dependientes que se definieron en la sección anterior. Las otras cuatro
graficas muestran el resultado de las mismas variables dependientes vistas desde el punto de
vista del número de zonas y el número de agentes por el equipo.
Página 84
42
34,66
23,33
Partidos ganados
Equipo con formacionesEquipo sin formacionesEmpate
Figura 20. Porcentaje de partidos ganados.
La figura 20 de porcentaje partidos ganados muestra que el equipo con formaciones ganó un
42% de los partidos jugados, mientras el equipo sin la capa de formaciones activa ganó el
34% de los partidos, y finalmente, hubo un 23% en empates.
La figura 20 muestra como la inclusión de formaciones al modelo MRCC para el caso especí-
fico de futbol robótico mejora el desempeño del sistema, permitiendo que el sistema logre su
objetivo global de manera más efectiva. La capa de formaciones permite modelar una estruc-
turada organizada, que le brinda a cada agente unas responsabilidades base por medio del rol
estructurante y la satisfacción de objetivos mediante el detector de necesidades. De manera
que, existe una distribución de las responsabilidades en el sistema, se puede evaluar el grado
de cumplimiento de cada uno de los objetivos del sistema y se pueden tomar a tiempo las
decisiones necesarias para satisfacer cada objetivo.
Por otro lado, se notó que el equipo que no tenía la capa de formaciones activa, actuaba reac-
tivamente de acuerdo a sus percepciones del ambiente, lo que lo lleva a realizar las acciones
que lo encaminen a unas metas parciales, pero no a realizar las metas del sistema. En conclu -
sión, esta gráfica demuestra que el objetivo de una formación se cumple de manera exitosa y
que la inclusión de esta capa a un sistema multiagente trae beneficios.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Equipo con fo
rmacio
nes
Equipo sin fo
rmacio
nes0.310.330.350.370.390.41
0,3466
0,40166
Goles
Figura 21. Promedio del número de goles realizados por partido.
La figura 21 de promedio de goles realizados muestra que el equipo sin formaciones realiza
aproximadamente un gol cada dos partidos, mientras que el equipo con formaciones realiza
un gol cada tres partidos aproximadamente.
Esta gráfica muestra que el comportamiento reactivo de los agentes que no están bajo la in-
fluencia de una capa de formaciones los lleva a realizar más goles, mientras, que un compor-
tamiento más estructurado y organizado disminuye la realización de goles.
En las simulaciones se pudo observar que los agentes que estaban bajo la influencia de la
capa de formaciones una vez realizaban una acción regresaban a su posición base para cum-
plir sus responsabilidades del rol estructurante, en caso de que no tuvieran oportunidades de
realizar alguna acción cooperativa. De esta manera, el agente evaluaba la ganancia de realizar
las posibles acciones cooperativas (matching), y si este valor no era lo suficientemente alto
seguía cumpliendo sus responsabilidades de rol estructurante. Mientras que, los agentes sin
rol estructurante se quedaban quietos cuando no había acciones cooperativas que realizar.
Página 86
Equipo con formaciones Equipo sin formaciones0
20406080
100120
59,333
108,7733
Intentos de acciones cooperativas
Figura 22. Promedio del número de intentos para realizar acciones cooperativas por
partido.
La figura 22 de promedio del numero de intentos para realizar acciones cooperativas muestra
que el equipo sin la influencia de la capa de formaciones tiene 109 oportunidades aproxima-
damente de realizar acciones cooperativas por partido, mientras que, el equipo que esta con la
capa de formaciones activa tiene 59 oportunidades de poder realizar una acción cooperativa
de manera exitosa por partido. Los datos de la figura 22 muestran que el comportamiento
reactivo de los agentes que no tiene la influencia de las formaciones, los lleva a intentar reali-
zar más acciones cooperativas que los agentes con roles estructurantes, porque, todos los
agentes del sistema van a intentar realizar las acciones cooperativas. Mientras que, como
existe una estructura organizada en un sistema con formaciones, sólo los agentes que deben
realizar ciertas acciones cooperativas lo van a intentar, mientras que los otros agentes estarán
cumpliendo las responsabilidades asociadas al rol estructurante
Ingeniería de Sistemas SIDRE <CIS1010SD02>
Equipo con formaciones Equipo sin formaciones0
0.20.40.60.8
11.21.4
1.315
0,5366
Acciones cooperativas
Figura 23. Promedio del número de acciones cooperativas realizadas con éxito por par-
tido.
La figura 23 de promedio de acciones cooperativas realizadas, muestra que el equipo con
formaciones realiza exitosamente 1,3 acciones cooperativas por partido, mientras que el qui-
po sin formaciones realiza 0,5 acciones cooperativas exitosamente por partido.
Esta figura muestra que el objetivo de las formaciones se cumple, debido a que se favorecen
las precondiciones de las acciones cooperativas de manera que se realizan exitosamente más
acciones cooperativas que si no se tuviera la capa de formaciones activa. La estructura y las
responsabilidades que le asigna una formación a un agente le permiten tener más eficacia en
la realización de las acciones cooperativas porque como se vio en la figura 22, a pesar de que
se tienen menos intentos para realizar una acción cooperativa, se tiene más probabilidad de
que se realice con éxito, aumentando el número de acciones cooperativas realizadas.
Como se pudo ver en las cuatro anteriores graficas los objetivos de las formaciones se cum -
plieron de manera exitosa con un pequeño protocolo de pruebas usando el caso específico de
futbol robótico. Como se vio en las graficas se cumplió el objetivo del sistema porque se
ganaron más partidos, y además, se favorecieron las precondiciones de las acciones coopera -
tivas porque el sistema ejecutaba con éxito mayor número de acciones cooperativas, provo-
cando que el sistema fuera más eficaz en la forma de cumplir su objetivo global.
Página 88
General 3 vs 3 4 vs 4 5 vs50
0.10.20.30.40.50.60.70.80.9
1
0.353300000000001
0.91
0.09 0.06
0.34
0.79
0.160.07
Goles
2 Zonas3 Zonas
Figura 24. Promedio del número de goles realizados por partido evaluados por zonas y
número de jugadores.
La figura 24 muestra el promedio del número de goles por partido que se realizaron de acuer-
do al número de zonas y al número de jugadores que tenía el equipo. Con 2 zonas el prome -
dio general de goles es de 1 gol cada 3 partidos, y con 3 zonas el resultado es muy parecido
aunque inferior. Cuando el equipo es de 3 jugadores y de 2 zonas hace aproximadamente 1
gol cada partido y con 3 jugadores y 3 zonas hace aproximadamente 0,8 goles cada partido.
Con 4 jugadores y 2 zonas se realiza un gol cada 11 partidos y con 3 zonas se hace 1 gol cada
6 partidos. Con 5 jugadores y 2 o 3 zonas se hace un gol cada 17 partidos aproximadamente.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
General 3 vs 3 4 vs 4 5 vs50
102030405060708090
100
29.33
12
38 38
54.66
93
56
15
Partidos ganados
2 Zonas3 Zonas
Figura 25. Porcentaje de partidos ganados evaluado por zonas y número de jugadores.
En la gráfica 25 de porcentaje de partidos ganados evaluado por zonas y número de jugadores
se puede apreciar que en general con 3 zonas se ganan el 54% de los partidos jugados, mien-
tras que, con 2 zonas se ganó el 29% de los partidos jugados. Cuando se manejaron 2 zonas
en el sistema con 3 jugadores se ganó un 12% de los partidos, con 4 jugadores se ganó un
38% de los partidos y con 5 jugadores se ganó un 38% de los partidos. Mientras que, cuando
se manejaron 3 zonas en la capa de formaciones con 3 jugadores se ganó un 93%, con 4 juga -
dores se ganó el 56% y con 5 jugadores se ganó el 15% de los partidos jugados.
General 3 vs 3 4 vs 4 5 vs50
1020304050607080
61.0172.67
59.0351.33
57.6566
71.4764.94
36.56
Intentos de acciones cooperativas
2 Zonas3 Zonas
Figura 26. Promedio del número de intentos para realizar acciones cooperativas por
partido, evaluadas por zonas y número de jugadores.
Página 90
En la figura 26 de promedio del número de intentos para realizar acciones cooperativas se
puede observar que con 2 zonas se obtuvieron más intentos para realizar acciones cooperati-
vas que con 3 zonas. Con 2 zonas existieron en promedio 61 intentos de realizar una acción
cooperativa por partido, mientras que con 3 zonas hubieron aproximadamente 57 intentos de
realizar acciones cooperativas por partido. En el caso de 3 jugadores y 5 jugadores las 2 zonas
generan más intentos de acciones cooperativas, mientras que en el caso de 4 jugadores, las 3
zonas generan más intentos de realizar acciones cooperativas que las 2 zonas.
General 3 vs 3 4 vs 4 5 vs50
0.5
1
1.5
2
2.5
1.31
2.11
1.1 0.720000000000001
1.32
2.1
1.230.63000000
0000001
Acciones cooperativas
2 Zonas3 Zonas
Figura 27. Promedio del número de acciones cooperativas realizadas con exito, evalua-
das por zonas y número de jugadores.
En la figura 27 del promedio del número de acciones cooperativas realizadas se puede ver
que una mínima diferencia en general. Las 3 zonas generan más acciones cooperativas exito-
sas con un número de 1,32 acciones cooperativas acabadas exitosamente, mientras que, para
las 2 zonas se generan un 1,31 acciones cooperativas por partido. También se puede observar
que para 3 jugadores y 5 jugadores las 2 zonas generan más acciones cooperativas exitosas
que las 3 zonas, mientras que, para el caso de 4 jugadores las 3 zonas generan más acciones
cooperativas acabadas con éxito que las 2 zonas,
Las 4 últimas graficas muestran que cuando el equipo maneja 3 zonas es más estructurado y
organizado que cuando tiene 2 zonas, lo que le permite realizar más acciones cooperativas de
Ingeniería de Sistemas SIDRE <CIS1010SD02>
manera exitosa y ganar más partidos. Sin embargo, entre mas organizado este el sistema se
corre el riesgo de tener menos posibilidades para intentar realizar acciones cooperativas y de
meter goles.
Página 92
VII. Conclusiones y trabajo futuro
El diseño de un gestor de formaciones es un problema abordado por muchos autores y lo han
atacado desde diferentes perspectivas generando aproximaciones interesantes. Este trabajo de
grado consultó diferentes fuentes para poder diseñar un gestor de formaciones que se acople
al modelo MRCC y que pueda obtener todos los conceptos investigados de los diferentes
autores. A partir de la investigación realizada se extiende el modelo base del MRCC, refinan-
do la capa formación y proponiendo un modelo gestor de formaciones que permita gestionar
las formaciones de manera inteligente de acuerdo a diferentes criterios. También, se especifi -
ca la manipulación que debe tener la capa sistema sobre la capa de formaciones, permitiendo
que en el futuro se agregue un mecanismo de mayor inteligencia para la elección de forma-
ciones.
El trabajo realizado abordó la base del modelo permitiendo que el modelo base se vuelva más
robusto y más aplicable a diferentes tipos de dominios, permitiendo obtener mejores resulta-
dos en las diferentes aplicaciones en las que se use el modelo. Se estableció un avance impor-
tante en el modelo como lo es la nueva forma de detectar las necesidades, brindándole mayor
flexibilidad al mismo y permitiendo que este se adapte mejor a los diferentes casos de estudio
específicos en los cuales se vaya a usar. A partir de éste cambio, se pudo concluir que el mo-
delo MRCC puede ser genérico hasta cierto grado de abstracción, debido a que si se vuelve
demasiado genérico se pierden las restricciones y las características que hacen parte del domi-
nio de la aplicación.
El modelo desarrollado refleja una metodología de investigación rigurosa, la cual permitió el
cumplimiento de cada uno de los objetivos específicos, teniendo al fin de cada etapa un entre-
gable bien definido. También, el producto refleja un proceso de ingeniería de software exten-
so debido al refinamiento constante del modelo, y a las diferentes pruebas que se realizaron,
haciendo que el modelo se refinara tanto en simulación como con los robots. Éstas pruebas
reflejan que el modelo cumple los objetivos de una formación flexible he intercambiable. De
igual manera, en las pruebas se pudo observar que por medio de la organización y estructura-
Ingeniería de Sistemas SIDRE <CIS1010SD02>
ción del sistema se obtiene un mejor rendimiento, mayor número de acciones cooperativas
realizadas exitosamente en un menor número de intentos, mayor número de victorias que el
mismo sistema sin la capa de formaciones activa.
Para la realización de proyectos en el futuro se recomienda usar otro tipo de simulador para
hacer las pruebas, debido a que el simulador actual no posee unas restricciones físicas que
son fundamentales para la buena ejecución de una simulación. El simulador que se recomien-
da debe manejar una vista global del campo de juego para cada agente, la posibilidad de si-
mular si un robot tiene kicker y dribbler, un mejor manejo de los fenómenos físicos del am-
biente y la integración del juez del juego.
El modelo extendido que se propone en este trabajo se puede implementar e integrar al mode-
lo base para completar y refinar la capa formación y la capa sistema, dando las bases para
poder agregar diferentes métodos para la detección de necesidades, permitiendo que el mode-
lo sea genérico e independiente de la aplicación o caso de estudio. También, se debería ejecu-
tar el mismo protocolo experimental definido para las simulaciones con los robots reales.
Una oportunidad de mejora que se observó del modelo extendido es la implementación de los
cambios propuesto en la capa micro social. Estos cambios no eran parte del alcance del traba-
jo, pero fue una mejora que surgió en el estado del arte, y que puede generar beneficios al
modelo.
Página 94
VIII. Bibliografía
[ACOST2007] M. Acostamadiedo y R. Cáliz. “Roles Racionales en Robótica Cooperativa (R3C)”, Trabajo de Grado Ingeniería de Sistemas, Pontificia Universidad Javeriana. 2007
[AKIY2008] H. Akiyama and I. Noda. Multi-agent Positioning Mechanism in the Dynamic Environment. Springer-Verlag Berlin Heidelberg 2008.
[ALME2009] R. Almeida, L. Reis y A. Jorge. Analysis and Forecast of Team Formation in the Simulated Robotic Soccer Domain. Springer-Verlag Berlin, Heidelberg 2009.
[ARIA2008] M. Arias y J. Ramirez. Team Agent Behavior Architecture in Robot Soccer. IEEE Latin American Robotic Symposium LARS '08. Octubre. 2008.
[ATKI2008] J. Atkinson y D. Rojas. Generating Dynamic Formation Strategies Based on Human Experience and Game Conditions. Springer-Verlag Berlin, Heidelberg 2008.
[AYAN2009] H. Ayanegui. Recognizing Team Formations in Multiagent Systems: Applica-tions in Robotic Soccer. Springer-Verlag Berlin, Heidelberg 2009.
[BERN2007] C. Bernal, y F. Camargo. ArCoo-Arquitectura para robótica cooperativa. Bo-gota, 2007.
[BERN2008] C. Bernal, F. Camargo y E. Gonzalez. Formations Level on the MRCC Model. Bogota, 2008.
[BULK2006] B. Bulka, M. Gaston y M. desJardins. Local strategy learning in networked multi-agent team formation. Springer Science+Business Media Baltimore, USA 2006.
[CAO2009] Min Wu, Wei-Hua Cao, Jun Peng, Jin-Hua She, and Xin Chen. Balanced Reac-tive-Deliberative Architecture for Multi-Agent System for Simulation League of RoboCup. ICROS, KIEE and Springer 2009.
[CERT2008] J. Certo, N. Lau, L. P. Reis. A generic strategic layer for collaborative net-works. IFIP International Federation for Information Processing, Volume 243. Boston: Springer. pp. 273–282. 2008.
[FARI2010] B. M. Faria, L. P. Reis, N. Lau y G. Castillo. Machine Learning Algorithms applied to the Classification of Robotic Soccer Formations and Opponent Teams. 2010 IEEE Conference on Cybernetics and Intelligent Systems. 2010.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
[FATH2006A] R. Fathzadeh, V. Mokhtari, M. Mousakhani y A Mohammad Shahri. Coach-ing with Expert System Towards RoboCup Soccer Coach Simulation. Springer-Verlag Berlin, Heidelberg 2006.
[FATH2006B] R. Fathzadeh, V. Mokhtari, M. Mousakhani y F. Mahmoudi. Mining Oppo-nent Behavior: A Champion of RoboCup Coach Competition. Robotics Symposium, 2006. LARS '06. IEEE 3rd Latin American. 2006.
[FATH2008] R. Fathzadeh, V. Mokhtari, y M. Kangavari. Opponent Provocation and Gerkey Behavior Classification: A Machine Learning Approach. Springer-Verlag Berlin, Heidelberg 2008.
[FERB1999] J, Ferber. Multiagent Systems: An Introduction to Distributed Artificial Intelli-gence. Addison-Wesley, 1999.
[GAMM1998] Gamma, Helm, Johnson, Vlissides,” Design Patterns ‐ Elements of Reusable Object‐Oriented Software”, Addison‐Wesley 1998.
[GERK2004] B. P. y M. J. Mataric. On Role Allocation in RoboCup. Springer-Verlag Berlin, Heidelberg 2004.
[GONZ2006A]E. Gonzalez. CCS: Commit based Cooperation Strategy for MultiRobot Sys-tems, ISRA 2006; pp 193-199.
[GONZ2006B] Enrique González, Julián Rodríguez, Miguel Torres, “The AOPOA Methodo-logy”, 26 de marzo.
[GONZ2007] E, González y C. Bustacara. Desarrollo de Aplicaciones basadas en sistemas multiagente. Editorial Pontificia Universidad Javeriana, 2007.
[HABI2002] J. Habibi, E. Chiniforooshan, A. HeydarNoori, M. Mirzazadeh, M.A. Safari y H.R. Younesy. Coaching a Soccer Simulation Team in RoboCup Environment. Springer-Ver-lag Berlin, Heidelberg 2002.
[HABI2003] J. Habibi, M. Ahmadi, A. Nouri, M. Sayyadian, y M. Nevisi. Implementing Heterogeneous Agents in Dynamic Environments, a Case Study in RoboCupRescue. Springer-Verlag Berlin Heidelberg 2003.
[HORA2005] B. Horak, M. Obitko, J. Smid, and V. Snasel. Strategy and Communication in Robotic Soccer Game. Springer-Verlag Berlin Heidelberg 2005.
[KALY2007] S. Kalyanakrishnan, Y. Liu, and P. Stone. Half Field Offense in RoboCup Soc-cer: A Multiagent Reinforcement Learning Case Study. Springer-Verlag Berlin Heidelberg 2007.
Página 96
[LAU2009] N. Lau, L. Seabra, N. Filipe y G. Corrente. Roles, Positionings and Set Plays to Coordinate a RoboCup MSL Team. Springer-Verlag Berlin, Heidelberg 2009.
[LARC2010] Latin American Robotics Competition, Disponible online en http://www.larc10.fei.edu.br/
[MAES1994] P. Maes. Modeling adaptive autonomous agents, Artificial Life Journal, 1(1-2), 1994:135-162.
[MART2000] R. Martin, “Design Principles and Design Patterns”, Disponible online en http://www.objectmentor.com/resources/publishedArticles.html
[NAKA2006] T. Nakashima, M. Takatani, M. Udo, H. Ishibuchi y M. Nii. Performance Eval-uation of an Evolutionary Method for RoboCup Soccer Strategies. Springer-Verlag Berlin, Heidelberg 2006.
[NOBU2006] Nobuyuki T. and Sachiyo A. Teamwork Formation for Keepaway in Robotics Soccer (Reinforcement Learning Approach). Springer-Verlag Berlin Heidelberg 2006.
[REIS2001] L. P. Reis, N. Lau y E. C. Oliveira. Situation Based Strategic Positioning for Coordinating a Team of Homogeneous Agents. Springer Verlag. pp. 175-197. 2001.
[RILE2006] P. F. Riley y M. M. Veloso. “Coach planning with opponent models for distrib-uted execution”. Auton Agent Multi-Agent Sys. (Apr. 2006), 293–325. DOI 10.1007/s10458-006-7449-z
[RUSS2004] N. Russell. Inteligencia Artificial: un enfoque moderno. Prentice Hall, 2004.
[SVAT2001] V. Svato. Behavioural Formation Management in Robotic Soccer. Springer-Verlag Berlin, Heidelberg 2001.
[TOLO1999] G. Tolosa and F. Bordignon, F. Review: Technology of agents of software, Ci. Inf., Brasilia, 28 (3), 1999:302-309.
[VISS2001] U. Visser, C. Drucker, S. Hubner, E. Schmidt, H. Weland. Recognizing Forma-tions in Opponent Teams. Springer-Verlag Berlin, Heidelberg 2001.
[WATK1989] C.J.C.H. Watkins, . Learning from Delayed Rewards. PhD thesis, Cambridge University, Cambridge, England.
[WEIS1999] G. Weiss .Multiagent Systems: A Modern Approach to Distributed Artificial Intelligence. MIT Press, Cambridge, MA, USA, 1999.
[WOOL1998] M. Wooldridge, and N. Jennings. Agents Technology: Foundations, Applica-tions and markets. Springer – UNICOM, Berlín 1998.
Ingeniería de Sistemas SIDRE <CIS1010SD02>
[YANG2010] F. Yang, Q. Wang y W. Zhendong. Cooperative Combat System Action Plan-ning Method based on Multi-agent System. Second International Workshop on Education Technology and Computer Science. 2010.
[YEN2004] J. Yen, X. Fan, R. Volz, Information Needs in Agent Teamwork, 2004.
[YOSH2003] K. Yoshimura, N. Barnes, R. R¨onnquist y L. Sonenberg. Towards Real-Time Strategic Teamwork: A RoboCup Case Study. Springer-Verlag Berlin, Heidelberg 2003.
[ZHAN2007] Y. Zhang. Modeling Role-Based Agent Team. Springer-Verlag Berlin Heidel-berg 2007.
Página 98
Top Related