Cursos: Modelado y Análisis de la Complejidad

Modificado el 30 de Junio de 2018

Resumen

En las tareas propias de I+D, el investigador debe disponer de una suficiente casuística experimental acerca del fenómeno foco de estudio, algo que muchas veces se puede conseguir directamente por observación y manipulación del mismo, pero que en muchos otros casos es éticamente desaconsejable o físicamente imposible. Es en estos casos donde el uso de modelos como suplemento metodológico se vuelve imprescindible. Sin duda, el acto de modelar es una actividad  situada en el centro mismo del proceso de generación y obtención del conocimiento, tanto a nivel educativo como a nivel de investigación, ya que modelar un problema es una muestra de haberlo comprendido correctamente a la vez que una demostración de poseer las habilidades técnicas necesarias para su replicación y análisis.

De entre todas las metodologías diseñadas a lo largo de la historia de la Ciencia para crear modelos, la del modelado matemático destaca sobre las demás por su flexibilidad, eficacia y buenas propiedades, y que es, y ha sido, aplicada con éxito en infinidad de casos que componen el núcleo del conocimiento humano en la actualidad.

Entre los fenómenos que actualmente buscan una herramienta de modelado adecuada y se resisten a un modelado convencional encontramos los que se conocen genéricamente como Sistemas Complejos, compuestos por un gran número de elementos similares, relativamente simples y homogéneos, que muestran un alto número de interrelaciones, y que evolucionan en el tiempo con una dinámica impredecible, por lo que, incluso sabiendo las reglas simples que rigen el comportamiento local de sus actores, no podemos predecir ciertas propiedades del sistema tras un tiempo. En cierta forma, el estudio de la complejidad es actualmente uno de los retos intelectuales más grandes al que se enfrenta el conocimiento humano.

En los últimos años, y gracias a las capacidades tecnológicas alcanzadas, junto a las teorías matemáticas y los modelos numéricos más o menos clásicos surgen los modelos computacionales, que persiguen proporcionar mayor adaptabilidad al fenómeno real, y que se han convertido en una pieza fundamental para el desarrollo de la ciencia. Es por ello que el Modelado Computacional de Sistemas Complejos y el conocimiento de métodos cuantitativos que nos acerquen a esta tarea comienzan a ocupar una posición central en el avance de muchas otras áreas de conocimiento.

Contenido

A continuación describimos el contenido (cambiante) del curso. Algunas de las unidades están asociadas a entradas (artículos) que se pueden leer como extensión a las clases dadas, pero el contenido real de cada unidad se puede encontrar en forma de presentación en la carpeta correspondiente del proyecto Github que se referencia en el apartado de Recursos Digitales más abajo.

Mód. Contenido
  Bloque I: Introducción
I.1 Introducción a los sistemas complejos
I.2 Aproximaciones al modelado de la complejidad
  Bloque II: Sistemas MultiAgente
II.1 Introducción a los Sistemas MultiAgente (SMA)
II.2 Introducción a NetLogo
II.3 NetLogo Medio: Conjuntos de agentes, Listas
II.4 NetLogo Avanzado: Procedimientos anónimos
II.5 Aplicaciones y Casos Prácticos
  Bloque III: Redes Complejas
III.1 Redes Complejas en el mundo real
III.2 Introducción a la Teoría de Grafos
III.3 Caracterización de Redes Complejas Reales. Modelos
III.4 Dinámicas en Redes Complejas
III.5 Aplicaciones y Casos Prácticos
  Bloque IV: Análisis de Datos
IV.1 Introducción al Machine Learning (ML)
IV.2 Algoritmos Supervisados y No Supervisados
IV.3 Aprendizaje Inductivo: Árboles de Decisión
IV.4 Mapas Auto-organizados: SOM
IV.5 Redes Neuronales Artificiales
IV.6 Metodología de Análisis de Datos
IV.7 Aplicaciones y Casos Prácticos
IV.8 Métodos Avanzados: Agregación y Deep Learning

Recursos Digitales

Se pueden encontrar los recursos asociados al curso en el siguiente proyecto de Github. Debe tenerse en cuenta que estos recursos están en constante transformación, por lo que podría aparecer nuevo material, desaparecer algunos de los recursos o ser rmodificados sin previo aviso.

NetLogo se puede descargar gratuitamente en sus versiones para Linux, Mac o Windows, así como su reciente versión web (todavía no es 100% funcional): Orange: se puede descargar gratuitamente para diversas plataformas. Videocurso de NetLogo que cubre los conocimientos mínimos necesarios sobre el lenguaje de programación para la realización de este curso: Repositorio Github con códigos fuente de las librerías y modelos/ejemplos vistos en clase, donde además se explica el uso de cada una de las librerías:

Introducción

El objetivo principal de la metodología científica radica en la comprensión y explicación de los fenómenos observables en el mundo real, con el doble objetivo de predecir el comportamiento futuro de los mismos a la vez que dar explicaciones causales acerca de su comportamiento actual.

Para asegurar el éxito de esta tarea el investigador debe disponer de una suficiente casuística experimental acerca del fenómeno que estudia, algo que muchas veces se puede conseguir directamente por observación y manipulación del mismo, pero que en muchos otros casos es éticamente desaconsejable o físicamente imposible. Es en estos casos donde el uso de modelos como suplemento metodológico se vuelve imprescindible.

En nuestro contexto, entenderemos por modelo  una representación abstracta de cierto aspecto de la realidad, formada por los elementos que lo caracterizan junto con las relaciones que se pueden dar entre esos elementos. Sin duda, el acto de modelar es una actividad  situada en el centro mismo del proceso de generación y obtención del conocimiento, tanto a nivel educativo como a nivel de investigación, ya que modelar un problema es una muestra de haberlo comprendido correctamente a la vez que una demostración de poseer las habilidades técnicas necesarias para su replicación y análisis.

De entre todas las metodologías diseñadas por el ser humano para crear modelos, la del modelado matemático destaca sobre las demás por su flexibilidad, eficacia y buenas propiedades. Hay quien considera que la matemática es, específicamente, la disciplina que tiene como objetivo el modelado formal, ya que cada una de sus ramas proporciona métodos alternativos, a veces complementarios, para modelar fenómenos reales. Es el afán de comprender nuevos fenómenos lo que ha hecho avanzar las matemáticas de maneras impensables.

Entre los fenómenos que actualmente buscan una herramienta de modelado adecuada y se resisten a un modelado convencional encontramos los que se conocen genéricamente como Sistemas Complejos, compuestos por un gran número de elementos similares, relativamente simples y homogéneos, que muestran un alto número de interrelaciones, y que evolucionan en el tiempo con una dinámica impredecible, por lo que, incluso sabiendo las reglas simples que rigen el comportamiento local de sus actores, no podemos predecir ciertas propiedades del sistema tras un tiempo. Uno de los aspectos más interesantes de los sistemas complejos es que muestran características comunes en todas las áreas del saber humano en los que aparecen, por lo que su comprensión y modelado proporciona soluciones a problemas que van desde las ciencias sociales hasta las ciencias puras, pasando por problemas biológicos, económicos, físicos, etc. En cierta forma, el estudio de la complejidad es actualmente uno de los retos intelectuales más grandes al que se enfrenta el conocimiento humano.

En los últimos años, y gracias a las capacidades tecnológicas alcanzadas, junto a las teorías matemáticas y los modelos numéricos más o menos clásicos surgen los modelos computacionales, que persiguen proporcionar mayor adaptabilidad al fenómeno real. En muchos casos, y a falta de otras herramientas más adecuadas, los sistemas complejos suelen ser abordados por herramientas de modelado matemático computacional, predominando el modelado basado en agentes y una representación basada en grafos/redes. De esta forma, la matemática computacional se convierte en una pieza fundamental para el desarrollo de la ciencia y, en consecuencia, es imprescindible adoptar las metodologías y herramientas necesarias para que los resultados computacionales sean eficientes y de calidad. Es por ello que el Modelado Computacional de Sistemas Complejos y el conocimiento de métodos cuantitativos que nos acerquen a esta tarea comienzan a ocupar una posición central en el avance de muchas otras áreas de conocimiento.

Objetivos

Los objetivos principales que se persiguen con esta actividad son:

  • Presentar los fundamentos conceptuales de diversos métodos cuantitativos de modelado de problemas relacionados con procesos complejos como medio de comprensión de fenómenos y búsqueda de soluciones.
  • Proporcionar un entrenamiento adecuado para la creación, modificación y manipulación de modelos multiagente y de redes complejas, tanto a nivel básico como a nivel avanzado.
  • Proporcionar un conjunto de modelos que puedan ser utilizados para la explicación y la investigación de conceptos presentes en muchas áreas de conocimiento (desde las matemáticas hasta las ciencias sociales) y en aplicación a problemas inter y multidisciplinares.

De forma específica, en el curso que aquí se propone estableceremos las bases teóricas y prácticas necesarias para que se puedan aplicar de forma correcta y productiva algunas de las metodologías que se han desarrollado en los últimos años para la comprensión y análisis de la complejidad.

Durante el proceso de capacitación que se va a llevar a cabo, la estrategia metodológica tiene dos vertientes claramente definidas pero complementarias: una teórica que se basa en los modelos matemáticos de análisis y manipulación de sistemas complejos, y otra de carácter aplicado que hace uso de diversas herramientas computacionales para la implementación de dichos modelos.

Hemos seleccionado dos alternativas de modelado para la complejidad que han cosechado numerosos éxitos en los últimos años: Sistemas Multiagente y Redes Complejas, y una metodología de análisis: Machine Learning. Con el fin de facilitar el acceso a las herramientas computacionales disponibles, haremos uso de aquellas que estén más extendidas, sean de carácter libre, de código abierto, basadas en lenguajes de programación de carácter general y que presenten capacidades de ampliación y adaptabilidad, con el fin de poder crear prototipos flexibles de una forma rápida desde un punto de vista no especializado. Por ejemplo, una herramienta libre para la creación de modelos basados en agentes como NetLogo  y Orange para la práctica de modelos de Machine Learning.

Ámbitos de Impacto

Gracias a la robustez de las herramientas teóricas y computacionales sobre las que se soporta esta propuesta, el conjunto de aplicaciones no está limitado, aunque en su desarrollo nos centraremos en algunas de las que más impacto pueden provocar en el público asistente:

  1. Ciencias de la Vida: Modelado de sistemas biológicos a todos los niveles (bioquímico, celular y microorganismos,  poblacional o ecológico). De especial relevancia en Ecuador, es esencial un apropiado sistema de modelado para la conservación de las áreas naturales existentes y de las especies que en ellas habitan, así como para una mejor comprensión de las complejas relaciones que existen entre los diversos niveles de agrupación.
  2. Ciencias Humanas: En muchos casos, el modelado de comunidades humanas funciona como una extensión del modelado ecológico introduciendo interacciones sociales más complejas entre los individuos. El análisis de redes complejas tuvo su nacimiento precisamente en la rama de Sociología, y en la actualidad se ha extendido para analizar interacciones económicas, redes sociales virtuales, redes de confianza y reputación, procesos de cooperación y altruismo, ciclos sociales, redes culturales, dinámicas urbanas, etc.
  3. Ingeniería Matemática y Computacional: Desde el punto de vista de las matemáticas computacionales, es interesante poder dar soluciones descentralizadas a problemas para los que no existen soluciones centralizadas eficientes. Además, el análisis de redes complejas requiere del desarrollo de nuevos resultados matemáticos del más alto nivel, a la vez que hace uso de resultados de diversas disciplinas matemáticas (estadística, teoría de grafos, topología, geometría, computación, etc.). Asimismo, se propone como último bloque una introducción a técnicas cuantitativas básicas de Machine Learning en su aplicación al análisis de la complejidad.
  4. Tecnologías de la Información y las Comunicaciones: Lo que hay detrás de muchos de los modelados computacionales de sistemas complejos es la capacidad para manipular e interpretar grandes masas de datos, surgiendo la necesidad de generar e implementar los algoritmos imprescindibles para ello, por lo que esta propuesta se enmarca y aporta soluciones también dentro del área de las TIC, concretamente en las nuevas ramas de Data Science y Big Data.

Uno de los resultados de impacto que se pretende obtener a raíz de la ejecución de este curso es servir de conector y catalizador entre grupos e investigadores interesados en abordar problemas que, aunque puedan provenir de áreas clásicamente disjuntas del conocimiento, hagan uso de técnicas y modelos similares, propiciando una simbiosis multidisciplinar que se hace necesaria para el avance de la ciencia en la actualidad, tanto dentro como fuera de Ecuador.

Requisitos

El curso se plantea como una aproximación teórico-práctica de los contenidos mostrados a lo largo del mismo. Junto a las transparencias usadas para las clases, se proporcionan un conjunto de modelos de ejemplo que permiten poner en práctica y experimentar los conceptos y algoritmos vistos de forma inmediata.

Por ello, se aconseja que el curso se imparta en un aula preparada para ello, bien porque ofrezca puestos de computación a los participantes (no es necesario que sea 1 puesto por cada participante, pero se recomienda que no haya más de 2 alumnos por puesto), bien porque ofrezca capacidad de conexión eléctrica para que los participantes usen su propios portátiles, o bien una mezcla de ambas opciones.

En consecuencia, el número de participantes estará limitado a la capacidad de un aula/seminario que ofrezca las condiciones adecuadas expuestas en el párrafo anterior.

El perfil de habilidades de los participantes es poco restrictivo, aunque se espera que provengan la gran mayoría de disciplinas técnico-científicas. De esta forma, aunque se pueden acomodar los contenidos a perfiles que provengan de disciplinas más sociales o incluso humanísticas, la mayoría de los ejemplos y casos de estudio que se presentarán tendrán su origen en problemas de ingeniería, biología, economía, matemáticas, etc.

Problema Propuesto

Enunciado: Toma una de los datasets que vienen en Orange (que no hayamos usado en clase) y genera uno, o varios, workflows que te permitan conocer mejor los datos y extraer algunas conclusiones acerca de su estructura y posibilidades de predicción (clasificación o regresión). Acompaña los ficheros que me envíes con una breve explicación en un documento aparte sobre tus hallazgos.

Si quieres enviarme los ejercicios propuestos de NetLogo me los puedes enviar en el mismo mensaje, junto con los de Orange.

Instrucciones de Envío: Los ficheros me los debes enviar a: fsancho @ us.es, indicando tus datos (Nombre completo) en el cuerpo del mensaje, y con título: Entrega Cuenca 2018.

La fecha límite para la entrega es el Domingo 8 de Julio.

Recuerda que lo importante es disfrutar de la realización de los ejercicios. Si tienes alguna duda o comentario, escríbeme al mismo correo e intentaré responderte lo antes posible.

Importante: Es necesario que las dos herramientas mencionadas anteriormente (NetLogo y Orange) estén instaladas en las máquinas que usarán los alumnos para realizar el curso.