4.2 Modelación basada en agentes para analizar fenómenos complejos

La modelación basada en agentes (MBA) es una metodología adoptada y ampliamente utilizada en el estudio de sistemas complejos (Resnick, 1997; Epstein, 2006; Wilensky & Rand, 2015; Railsback & Grimm, 2019; Laver, 2020). Estos modelos se conforman por colecciones de objetos o agentes que interactúan entre ellos y el entorno a través del tiempo

Hay distintos enfoques de modelación, bottom-up (de abajo hacia arriba) y top-down (de arriba hacia abajo), cada uno tiene sus alcances y limitaciones. La MBA usa el enfoque bottom-up, se considera a los objetos de manera individual con la flexibilidad de establecer características particulares y relaciones con otros objetos no necesariamente iguales, donde usualmente se consideran relaciones en un entorno espacial. De manera global se genera nueva información que son caracterizadas en nuevas propiedades del sistema, las cuales no son deducidas de los objetos constituyentes del sistema. Mientras que, con el enfoque top-down se considera el cambio de variables de manera global, representadas por ecuaciones de cambio como ecuaciones diferenciales o en diferencia (consultar Capítulo 3).

La MBA es adecuada para modelar fenómenos colectivos (muchos agentes interactuando) y descentralizados (sin un aparente líder o guía). La agregación de agentes permite observar dinámicas de autoorganización y de emergencia de patrones y comportamientos en una escala de organización superior (Corning, 2002). Esta metodología es utilizada para estudiar y analizar, por ejemplo, sistemas sociales y económicos (Arthur, 2021; Hamill & Gilbert, 2016; Mathieu, et.al., 2006; Billari, et.al., 2006), dinámica de epidemias debido a la actual situación de pandemia por COVID-19 (Kerr, et.al., 2021; Macalinao, 2022; Faucher, et.al, 2022), dinámicas de tráfico vehicular (Nguyen, 2021; Gersheson, 2015), sistemas de transporte público (Gershenson & Pineda,2009; Carreón, et.al.,2017), fenómenos de segregación de grupos (Schelling, 1971; Hatna & Benenson, 2012; Sert, et.al., 2020), y con fines educativos (Resnick 1997; Wilensky & Rand, 2015).

La metodología de la MBA, al ser implementada, usa lenguajes de programación, ya sea de propósito general; como JAVA o C++, o específico como el modelador de ambiente programable NetLogo (Wilensky, 1999). Al igual que en el lenguaje matemático, estos, tienen una sintaxis y una semántica; además están asociados a teorías y prácticas de uso. La implementación de los modelos computacionales se realiza a partir de algoritmos, los cuales son secuencias de instrucciones que procesan la información de entrada y generan una salida en una serie de pasos finitos; estos algoritmos siguen la sintaxis y semántica del lenguaje.

La transformación deseada de los datos se retoma de algoritmos y resultados matemáticos conocidos. En este proceso surgen nuevos algoritmos a través de la extensión, modificación, especificación y generalización. Cabe hacer la precisión que los algoritmos constan de tres partes, una entrada (input), una capa de procesamiento y una salida (output); de manera general, la entrada puede ser un valor, un conjunto de valores, o incluso otro algoritmo, el cual modifica el procesamiento interno y a la vez la salida deseada.

La MBA, como sistema dinámico, es decir, una estructura que cambia y evoluciona en el tiempo, tiene una parte espacial, donde los objetos interactúan entre ellos y con el entorno, y una parte temporal, donde los objetos cambia sus estado


4.2.1 Agentes

Los agentes son objetos computacionales que cambian sus estados internos a partir de la ejecución de un conjunto de reglas de operación que son alimentadas por información que toma del entorno (ver Figura 1). Como el enfoque de modelación es bottom-up (de abajo hacia arriba), permite definir atributos y características particulares a cada agente y de esta manera generar heterogeneidad en el sistema, además de la posibilidad de introducir aleatoriedad (espacial o temporal).

Figura X.

Figura 1. Relación Agente-Entorno. El agente recibe información del entorno, la procesa, y como resultado ejecuta cierta acción que puede modificar el ambiente.

Los agentes cambian sus estados internos a partir de la información que proviene de una región acotada del entorno, conocida como vecindad (ver Figura 2).

Figura X.

Figura 2. Tipos de vecindades. En la vecindad de Neumann (A), se consideran los cuatro vecinos adyacentes (gris) en función de la celda central (negra); y en la vecindad de Moore (B), se consideran los 8 vecinos adyacentes.

En cuestión de su diseño, los agentes pueden ser autónomos, es decir, no hay necesidad de la intervención del usuario; reactivos, su desempeño es dependiente del contexto o del entorno; con habilidad social, se comunican con otros agentes; y proactivos, desempeñan estrategias para lograr el objetivo planteado. Estas características hacen que el agente emule una de las características inherentes en los sistemas sociales, la operación con información incompleta y racionalidad limitada (Simon, 1977). El agente se puede tornar complejo ya que, además, permite un almacenamiento de estados para promover una mejor toma de decisiones, el entorno tiene injerencia sobre estos agentes de tal manera que experimenta procesos de adaptación.

En la Tabla 1, se muestra el conjunto de atributos generales utilizado cuando se realiza una modelación del agente.

Figura X.

Tabla 1. Atributos generales del agente.


4.2.2 Entorno

El entorno o mundo, es la región espacial donde interactúan los agentes. La estructura se define como una retícula de n x n celdas, donde cada celda puede tener un conjunto de valores, ya sea continuos o discretos. Los agentes pueden moverse por estas celdas y además modificar los estados de las celdas; este comportamiento puede generar ciclos de retroalimentación agente-entorno. La Tabla 2, considera los principales atributos de las celdas.

Figura X.

Tabla 2. Atributos generales de las celdas.

Figura X.

Figura 3. Ejemplo de entorno o mundo de agentes.

El entorno es el espacio donde se desarrolla la dinámica, usualmente se divide en regiones que pueden tener distinta información. Los agentes “actúan” a partir de esta información y la interacción con otros agentes. Por ejemplo, en la Figura 3, se tienen dos tipos de agentes, personas y edificios, las cuales se encuentran en regiones de distintos colores; este escenario podría suponer personas que se desplazan sobre el mundo y que desean llegar a los edificios, se podría generar la hipótesis de que, las personas que se encuentran en la región verde se encuentran cómodas y no desean salir de esta área, mientras que, las personas que están en las zonas grises quieren llegar inmediatamente a los edificios. Las reglas de operación de cada uno de los agentes, dependerá de los propósitos de la simulación, pero ¿cómo se establecen estás relaciones a partir de las reglas?


4.2.3 Relaciones e interacciones

Las relaciones o conjunto de reglas son funciones de transición de estados, a partir de la información del entorno y de los estados de otros agentes se actualiza o modifica el comportamiento del agente. Estas relaciones pueden mantenerse entre agentes o entorno-agentes. En la Figura 4, se establece un ejemplo de relaciones entre agentes y entorno; los agentes de tipo “A” pueden relacionarse entre ellos, denotada por la arista etiquetada como “Interacción (A, A)”, y a la vez, interactúa con el entorno; el agente tipo “B” puede interactuar con “A”, con “C” y con los de su mismo tipo “B”, pero no interactúa con el Entorno; mientras que “C”, solo puede interactuar con “A” si es que hay un “B” de por medio; y también puede interactuar con el Entorno. Este diagrama muestra el gran número de casos que pueden plantearse en un modelo, y también surgen preguntas, como, ¿entre más relaciones y tipo de agentes, el comportamiento podría ser más complejo? ¿Cómo deben ser las relaciones para realizar una modelación adecuada?

Figura X.

Figura 4. Diagrama entidad-relación sobre las interacciones de un modelo.

En el contexto de los MBA, cada agente consta de un modelo interno (Holland, 1992) que describe un conjunto de reglas de comportamiento. Éstas pueden ser descritas a través del condicional IF-ELSE o SI-ENTONCES, el cual es una estructura de flujo de datos en programación que compara casos según la información que se introduce, es cuestión del programador, modelar los posibles casos y en función de ellos, ejecutar instrucciones.

A partir de la información de la vecindad que recibe el agente, puede modificar su comportamiento. El mecanismo más simple de la regla puede ser dicotómico, es decir, si suceden ciertas condiciones ejecuta la acción 1, si no cumple estas condiciones entonces ejecuta la acción 2. El modelo interno puede considerar, en sentido práctico, infinidad de casos, ya que las estructuras anidadas IF-ELSE, aumentan la consideración de casos, que en casos límite puede llegar a casos. La complejidad del MBA crece al interactuar los agentes de manera paralela, aun cuando su modelo interno sea el mismo para todos, el agente podría encontrarse en unos de los estados posibles de su modelo; con resultados (globales) impredecibles.

En la MBA, el agente tiene interacción con el entorno y con otros agentes (ver Figura 4), tiene la capacidad de modificar el entorno y modificar los estados internos de otros agentes. Como se mencionó anteriormente, los agentes tienen variables internas donde almacenan información y a partir de ahí modifican su comportamiento.

La estructura del condicional SI-ENTONCES modela el comportamiento del agente, de manera general:

SI (condición 1, condición 2, …, condición n) ES VERDADERA

ENTONCES (ejecuta acción 1 )
SI NO ( ejecuta acción 2)

Las condiciones están construidas con información del entorno o del mismo agente, por ejemplo:

SI te encuentras en una región verde ENTONCES come pasto

O modificando sus variables internas:

SI te encuentras en una región verde
ENTONCES come pasto e incrementa tu energía en 4 unidades

O modificando sus variables internas y estableciendo un parámetro de control del modelo.

SI te encuentras en una región verde
ENTONCES come pasto e incrementa tu energía en E unidades

De manera algorítmica:

Función ( E ) {
SI te encuentras en una región verde
ENTONCES come pasto e incrementa tu energía en E unidades
}

De esta manera se define el conjunto de reglas de un agente en particular, se tiene la flexibilidad para que construir el modelo interno según las necesidades del modelo y como se hace notar, el proceso de construcción es algorítmico. En tal caso, se puede definir cualquier comportamiento de manera individual.