Esta es una excelente pregunta que merece ser respondida con suficiente profundidad. En realidad, ¡puede llevar años convertirse en un profesional en la programación de modelos de sistemas complejos! Esta publicación debe entenderse como su acceso directo al modelado avanzado. Con suerte, puede salvar sus años de pruebas y errores.
- Esta respuesta no aspira a cubrir todo el software disponible. Se enfoca principalmente en permitir que todos penetren rápidamente en el quid del diseño de modelos de sistemas complejos. Entonces puedes comenzar a orientarte dentro del campo con mucha facilidad 🙂
- Para comenzar con el modelado de sistemas complejos es una buena idea estudiar NetLogo (página de inicio de NetLogo) pero no es un código fuente abierto. NetLogo le permite ajustarse rápidamente con el modelado de sistemas complejos. Tenga en cuenta que es el entorno de modelado basado en el agente.
- Hay una trampa en el uso de NetLogo. No le permite ver cómo está programado su motor. Para comprender los niveles más profundos del modelado de sistemas complejos, debe ingresar a la programación de un motor. Hacerlo por su cuenta sin ninguna experiencia es una tarea difícil. Lo hice hace muchos años yo mismo.
- Solo para explicar cómo se construye el software que simula sistemas complejos . Por lo general, consta de dos partes: un motor y una regla. Simplemente dicho, el motor está simulando el “mundo” donde opera la simulación. Por ejemplo, en los autómatas celulares, el ‘mundo’ se crea a partir de una red de cuadrados (hexágonos, triángulos) en un espacio bidimensional. El motor maneja la actualización de todos los sitios de red en paralelo en pasos de tiempo discretos.
- No se recomienda escribir un motor entrelazado y gobernar por varias razones: (i) es difícil de entender incluso para el autor, (ii) es casi imposible encontrar errores y mantenerlo, (iii) conduce a un código de espagueti.
- Hasta ahora, estamos hablando de una forma general de cómo programar modelos de sistemas complejos. Mostramos un entorno de simulación basado en agentes disponible al público, NetLogo. Es un hecho bien conocido que los autómatas celulares pueden servir como prototipo de todos los modelos de sistemas complejos. Hay buenas razones para ello.
- Si planea programar sus propios modelos de sistemas complejos utilizando Autómatas Celulares, entonces puede explorar códigos de código abierto disponibles libremente diseñados para penetrar fácilmente en el quid de la modelización de Autómatas Celulares de Sistemas Complejos: fue la principal motivación para crearlos. . Este software se presenta en los siguientes dos elementos.
- El primer software de código abierto simula la recristalización dinámica de metales https://www.researchgate.net/pub…. Un video que muestra una ejecución de prueba está disponible aquí https://www.researchgate.net/pub…. Es un software que muestra cómo se implementa un modelo de sistemas complejos de un proceso físico en un software que utiliza el lenguaje de programación C ++ y Qt como herramienta de visualización.
- El segundo código abierto demuestra cómo se puede programar una autoorganización en el caso cuando un dominio arbitrario se divide automáticamente en N dominios suizos de igual tamaño. El código se puede encontrar aquí https://www.researchgate.net/pub… y el video que muestra una ejecución de simulación está aquí https://www.researchgate.net/pub….
- Aquellos que deseen profundizar en la comprensión del software y los temas resueltos pueden leer Ph.D. tesis y documentos relevantes sobre la recristalización dinámica, un autómata celular controlado por difusión en mi perfil de ResearchGate.
Para la introducción en el modelado de autómatas celulares de sistemas complejos, consulte la introducción al tema https://www.researchgate.net/pub…, que escribí en el libro de Springer https://www.researchgate.net/pub….
Esta publicación merece más ejemplos, pero esto inevitablemente conduciría a un texto muy complejo que será demasiado difícil de entender.
- ¿Cuál es el mejor software de encuestas en vivo para una conferencia?
- ¿Cuáles son los principales desafíos que ha enfrentado como probador de software? ¿Cómo los has superado?
- ¿Qué es un buen software para comenzar a crear música (es decir, electro)?
- ¿Qué software de gestión de relaciones públicas se recomienda para una agencia de relaciones públicas de nueva creación?
- ¿Qué software de monitoreo está disponible en el mercado para rastrear las actividades de los empleados?
Esperemos que tenga suficiente información para comenzar a programar sus propios modelos de sistemas complejos. Buena suerte en eso 😉