Saltar al contenido principal
LibreTexts Español

2.3: Modelado de Sistemas Complejos

  • Page ID
    115837
  • \( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \) \( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)\(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\) \(\newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\) \( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\) \( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\) \( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\) \( \newcommand{\Span}{\mathrm{span}}\)\(\newcommand{\AA}{\unicode[.8,0]{x212B}}\)

    El reto en desarrollar un modelo se vuelve particularmente duro a la hora de modelar sistemas complejos, porque sus propiedades únicas (redes, no linealidad, emergencia, autoorganización, etc.) no son las que conocemos. Por lo general, pensamos en las cosas a una sola escala en una cadena de razonamiento paso a paso, lineal, en la que las causas y los efectos se distinguen claramente y se discuten secuencialmente. Pero este enfoque no es adecuado para comprender sistemas complejos donde una gran cantidad de componentes interactúan entre sí de manera interdependiente para generar patrones en una amplia gama de escalas. Por lo tanto, el comportamiento de sistemas complejos a menudo parece contradecir nuestras experiencias cotidianas.

    Como se ilustra en los ejemplos anteriores, es extremadamente difícil para nosotros llegar a un modelo razonable cuando nos enfrentamos a algo desconocido. Y es aún más difícil llegar a un conjunto razonable de reglas microscópicas que puedan explicar las propiedades macroscópicas observadas de un sistema. La mayoría de nosotros simplemente no tenemos la experiencia suficiente para hacer conexiones lógicas entre las cosas a múltiples escalas diferentes.

    ¿Cómo podemos mejorar nuestras habilidades para modelar sistemas complejos? La respuesta podría ser tan simple como esta: Necesitamos ser experimentados y familiarizados con diversas dinámicas de sistemas complejos para convertirnos en un buen modelador de ellos. ¿Cómo podemos llegar a ser experimentados? Esta es una pregunta complicada, pero gracias a la disponibilidad de las computadoras que nos rodean, el modelado computacional y la simulación se está convirtiendo en un método razonable y práctico para este propósito. Puedes construir tu propio modelo con todos los detalles de reglas microscópicas codificadas en tu computadora, y luego dejar que muestre realmente el comportamiento macroscópico que surge de esas reglas. Dicho modelado y simulación computacional es una herramienta muy poderosa que te permite obtener experiencias interactivas, intuitivas (simuladas) de diversas dinámicas posibles que te ayudan a hacer conexiones mentales entre escalas micro y macroscópicas. Yo diría que prácticamente no hay mejores herramientas disponibles para estudiar la dinámica de sistemas complejos en general.

    Hay una serie de herramientas preconstruidas disponibles para el modelado y simulación de sistemas complejos, incluyendo NetLogo [13], Reast [14], MASON [15], Golly [16], y así sucesivamente. También podría construir su propio modelo usando lenguajes de programación de computadoras de propósito general, incluyendo C, C++, Java, Python, R, Mathematica, MATLAB, etc. En este libro de texto, elegimos Python como nuestra herramienta de modelado, específicamente Python 2.7, y usamos PyCx [17] para construir modelos de simulación dinámica interactiva 3. Python es libre y ampliamente utilizado en computación científica, así como en las industrias de tecnología de la información. Más detalles de la justificación de esta elección se pueden encontrar en [17].

    Cuando crea un modelo de un sistema complejo, normalmente necesita pensar en lo siguiente:

    1. ¿Cuáles son las preguntas clave que quieres abordar?


    2. Para responder a esas preguntas clave, ¿a qué escala se deben describir los comportamientos de los componentes del sistema? Estos componentes serán los componentes “microscópicos” del sistema, y se definirán reglas dinámicas para sus comportamientos.


    3. ¿Cómo se estructura el sistema? Esto incluye cuáles son esos componentes microscópicos y cómo interactuarán entre sí.


    4. ¿Cuáles son los estados posibles del sistema? Esto significa describir qué tipo de estados dinámicos puede tomar cada componente.


    5. ¿Cómo cambia el estado del sistema con el tiempo? Esto incluye definir las reglas dinámicas por las cuales los estados de los componentes cambiarán con el tiempo a través de su interacción mutua, así como definir cómo cambiarán las interacciones entre los componentes con el tiempo.

    Determinar las opciones “correctas” para estas preguntas no es de ninguna manera una tarea trivial. Probablemente necesitará recorrer estas preguntas varias veces hasta que su modelo produzca con éxito comportamientos que imiten aspectos clave del sistema que está tratando de modelar. Practicaremos muchos ejemplos de estos pasos a lo largo de este libro de texto.

    Ejercicio\(\PageIndex{1}\)

    Cree un modelo esquemático de algún sistema del mundo real de su elección que esté hecho de muchos componentes que interactúan. ¿Qué escala elige para describir los componentes microscópicos? ¿Cuáles son esos componentes? ¿Qué estados pueden tomar? ¿Cómo están conectados esos componentes? ¿Cómo cambian sus estados con el tiempo? Después de responder a todas estas preguntas, haz una predicción mental sobre qué tipo de comportamientos macroscópicos surgirían si ejecutaras una simulación computacional de tu modelo

    3 Para aquellos que son nuevos en la programación Python, consulte el tutorial en línea de Python en docs.python. org/2/tutorial/index.html. Varias distribuciones de Python preempaquetadas están disponibles de forma gratuita, como Anaconda (disponible en continuum.io/downloads) y Enthought Canopy (disponible en enthought.com/products/canopy/). Un entorno recomendado es el editor de código Python de Anaconda llamado “Spyder”.


    This page titled 2.3: Modelado de Sistemas Complejos is shared under a CC BY-NC-SA 3.0 license and was authored, remixed, and/or curated by Hiroki Sayama (OpenSUNY) via source content that was edited to the style and standards of the LibreTexts platform; a detailed edit history is available upon request.