Introducción

Sistemas Complejos

Cuando necesitamos estudiar un sistema real compuesto de elementos interconectados , donde cada uno de estos tiene su propia dinámica, a menudo es imposible prever el surgimiento de una dinámica global para el sistema. En este caso, lo que está en juego es un sistema complejo, cualquier modificación ,incluso si es marginal, en términos de uno o varios de sus elementos constitutivos puede conducir a un cambio dramático en el comportamiento general del sistema. Es claro que estos fenómenos pueden ser observados y entendidos solo a través de la construcción de un modelo y a pesar de que en ciertos casos particulares el modelo puede resolverse analíticamente, la simulación por computador es indispensable en casi todos los demás casos. Un campo tan amplio e interdisciplinar como los “sistemas complejos” (complex systems) es cada vez más importante para entender nuestro mundo y este libro es una introducción a una de las disciplinas que han surgido de la investigación en sistemas complejos. La modelación basada en agentes (MOBA), es una nueva forma de abordar los fenómenos, organiza nuestro pensamiento por analogía con el mundo alrededor de nosotros y es una forma elegante e intuitiva de visualizar y representar un sistema complejo, partiendo de lo individual y heterogeneo (personas en una ciudad, individuos en un mercado, hormigas en el desierto ) y no de los agregados respectivos ( poblaciones, mercados, colonias) y observando y analizando interacciones entre individuos para poder entender comportamientos emergentes (migraciones,oferta-demanda,adaptabilidad) en lugar de construyendo ecuaciones y resolviéndolas matemáticamente . Esta manera de abordar los fenómenos (bottom-up) se ha adoptado en una amplia gama de disciplinas como ciencias sociales, ecología y finanzas y permite abordar preguntas como:

  • ¿Cómo interactúan y compiten múltiples especies para formar un ecosistema estable?
  • ¿Cómo afectan las instituciones políticas las decisiones individuales, especialmente cuando esas personas tienen la capacidad de manipular las instituciones políticas?

El conocimiento de herramientas para el modelamiento de sistemas complejos se convertirá en una necesidad hacia el futuro, y la modelación basada en agentes (MOBA) es una de las maneras más usadas.

¿Para quién es este libro?

Este libro puede servir como base principal para un curso universitario e interdisciplinario sobre sistemas complejos o para una curso de informática con énfasis en modelación. Puede ser utilizado como texto complementario en asignaturas de pregrado, donde la modelación basada en agentes se puede aplicar,áreas como las ciencias naturales: ( física, química y biología) , ciencias sociales (como psicología,sociología y lingüística) y clases de ingeniería como ciencia de materiales, ingeniería industrial e ingeniería civil. El campo de la modelación basada en agentes (MOBA) es aplicable a muchos dominios y se puede usar en una amplia variedad de contextos.

El requisito previo para comenzar a entender, construir y analizar un modelo basado en agentes es muy bajo, los modelos basados en agentes,como veremos, son muy intuitivos y sencillos de entender y modelar, y al mismo tiempo hay pocos límites para lo que se puede lograr una vez se construye el modelo.Los MOBAs son una herramienta que además de ayudar a comprender sistemas complejos, le permite construir y usar modelos para investigar sus propias preguntas.. El principio rector que tendremos a lo largo del libro es:

“Piso bajo, techo alto” (low floor , high ceiling)

El material para este libro surgió del Curso de Pregrado que he dictado durante varios años en el Departamento de Ingeniería Biomédica de la Escuela Colombiana de Ingeniería Julio Garavito, este curso no asume ningún conocimiento matemático más allá del álgebra básica y conceptos básicos de estadística y ningún conocimiento previo de programaciónde computadores, de hecho es una ventaja si no se ha programado todavía en ningun lenguaje, las herramientas computacionales que usaremos extensivamente en el curso son dos:

  1. Para la construcción de modelos: Netlogo:

Existen muchos lenguajes de modelado basados en agentes, pero NetLogo sigue siendo el más ampliamente utilizado. De los otros actualmente en uso, Swarm, desarrollado en Santa Fe Institute, Repast, desarrollado en Argonne National Laboratory, y MASON, desarrollado en George Mason University, son mucho más avanzados y requieren de una empinada curva de aprendizaje.La mayoría de los kits de herramientas ABM (incluido NetLogo) son de código abierto y están disponibles de forma gratuita. AnyLogic es un paquete comercial que también ha tenido éxito. NetLogo es código abierto y se encuentra disponible de forma gratuita, ningún otro lenguaje de MOBA existente está cerca del “piso bajo” . Como tal es un lenguaje ideal para aprender a construir MOBAs y se usa ampliamente en las aulas de todo el mundo, también es usado por un gran número de científicos y profesionales y es empleado regularmente en investigación de vanguardia. Aprender esta nueva manera de enfocar los problemas complejos y de hacer ciencia con ellos, lo hará un mejor investigador en su área de interés.

  1. Para el análisis de MOBAs: R y RStudio:

Generando datos de los modelos construidos en NetLogo y usando “Ciencia de Datos” sobre estos, podremos validar hipótesis, realizar análisis de sensibilidad,calibrar modelos,para ello usaremos herramientas de visualización y análisis encontradas en el ambiente R(por ejemplo librerías como tidyverse, ggplot y plot-ly ) aunque es importante mencionar que estas herramientas o equivalentes también se pueden encontrar en entornos de programación como Python y Julia.

Trabajar en este libro requerirá entender e implementar modelos basados en agentes en el computador, esto puede ser desconocido para algunos. Aunque muchas personas creen que la programación de computadores es difícil de aprender, hay que decir que la investigación de educadores construccionistas y décadas de experiencia han demostrado que prácticamente todos los estudiantes pueden aprender a programar en NetLogo y usar R ó Python para análisis estadísticos básicos. Espero que no se intimide con los modelos que se deben construir y que hacen parte de este libro, es seguro que si usted puede lograrlo, tomándose el tiempo para ello, esto le brindará grandes dividendos.