Proceso de modelado matemático, realizado en una computadora.
La simulación por computadora es la ejecución de un modelo matemático en una computadora , el modelo está diseñado para representar el comportamiento o el resultado de un sistema físico o del mundo real. La confiabilidad de algunos modelos matemáticos se puede determinar comparando sus resultados con los resultados del mundo real que pretenden predecir. Las simulaciones por computadora se han convertido en una herramienta útil para el modelado matemático de muchos sistemas naturales en física ( física computacional ), astrofísica , climatología , química , biología y manufactura , así como sistemas humanos en economía , psicología , ciencias sociales , atención médica e ingeniería . La simulación de un sistema se representa como la ejecución del modelo del sistema. Se puede utilizar para explorar y obtener nuevos conocimientos sobre nuevas tecnologías y para estimar el rendimiento de sistemas demasiado complejos para soluciones analíticas . [1]
Las simulaciones por computadora se realizan ejecutando programas informáticos que pueden ser pequeños, que se ejecutan casi instantáneamente en dispositivos pequeños, o programas a gran escala que se ejecutan durante horas o días en grupos de computadoras en red. La escala de eventos que se simulan mediante simulaciones por computadora ha excedido con creces todo lo posible (o quizás incluso imaginable) utilizando el modelado matemático tradicional de papel y lápiz. En 1997, una simulación de batalla en el desierto de una fuerza invadiendo a otra implicó el modelado de 66.239 tanques, camiones y otros vehículos en un terreno simulado alrededor de Kuwait , utilizando múltiples supercomputadoras en el Programa de Modernización de Computadoras de Alto Rendimiento del Departamento de Defensa . [2]
Otros ejemplos incluyen un modelo de deformación de materiales de mil millones de átomos; [3] un modelo de 2,64 millones de átomos del complejo orgánulo productor de proteínas de todos los organismos vivos, el ribosoma , en 2005; [4]
una simulación completa del ciclo de vida de Mycoplasma genitalium en 2012; y el proyecto Blue Brain de la EPFL (Suiza), iniciado en mayo de 2005 para crear la primera simulación por ordenador de todo el cerebro humano, hasta el nivel molecular. [5]
Un modelo consiste en las ecuaciones que se utilizan para capturar el comportamiento de un sistema. En cambio, la simulación por ordenador es la ejecución real del programa que ejecuta algoritmos que resuelven esas ecuaciones, a menudo de forma aproximada. Por tanto, la simulación es el proceso de ejecutar un modelo. Por tanto, no se "construiría una simulación", sino que se "construiría un modelo (o un simulador)" y luego se "ejecutaría el modelo" o, equivalentemente, "ejecutaría una simulación".
Historia
La simulación por computadora se desarrolló de la mano del rápido crecimiento de la computadora, luego de su primer despliegue a gran escala durante el Proyecto Manhattan en la Segunda Guerra Mundial para modelar el proceso de detonación nuclear . Era una simulación de 12 esferas duras utilizando un algoritmo de Monte Carlo . La simulación por computadora se utiliza a menudo como complemento o sustituto de los sistemas de modelado para los que no son posibles soluciones analíticas simples de forma cerrada . Hay muchos tipos de simulaciones por computadora; su característica común es el intento de generar una muestra de escenarios representativos para un modelo en el que una enumeración completa de todos los estados posibles del modelo sería prohibitiva o imposible. [7]
Preparación de datos
Los requisitos de datos externos de las simulaciones y los modelos varían ampliamente. Para algunos, la entrada puede consistir en tan solo unos pocos números (por ejemplo, la simulación de una forma de onda de electricidad de CA en un cable), mientras que otros pueden requerir terabytes de información (como los modelos meteorológicos y climáticos).
Las fuentes de entrada también varían ampliamente:
Sensores y otros dispositivos físicos conectados al modelo;
Superficies de control utilizadas para dirigir el progreso de la simulación de alguna manera;
Datos actuales o históricos ingresados a mano;
Valores extraídos como subproducto de otros procesos;
Valores generados para el propósito por otras simulaciones, modelos o procesos.
Por último, el momento en que los datos están disponibles varía:
Los datos "invariantes" a menudo se incorporan al código del modelo, ya sea porque el valor es verdaderamente invariante (por ejemplo, el valor de π) o porque los diseñadores consideran que el valor es invariante para todos los casos de interés;
Los datos se pueden introducir en la simulación cuando se inicia, por ejemplo, leyendo uno o más archivos, o leyendo datos de un preprocesador ;
Los datos pueden proporcionarse durante la ejecución de la simulación, por ejemplo, mediante una red de sensores.
Debido a esta variedad, y a que los diversos sistemas de simulación tienen muchos elementos comunes, existe una gran cantidad de lenguajes de simulación especializados . El más conocido puede ser Simula . En la actualidad existen muchos otros.
Los sistemas que aceptan datos de fuentes externas deben tener mucho cuidado de saber qué están recibiendo. Si bien es fácil para las computadoras leer valores de archivos de texto o binarios, lo que es mucho más difícil es saber cuál es la precisión (en comparación con la resolución y precisión de la medición ) de los valores. A menudo se expresan como "barras de error", una desviación mínima y máxima del rango de valores dentro del cual se espera que se encuentre el valor verdadero. Debido a que las matemáticas de las computadoras digitales no son perfectas, los errores de redondeo y truncamiento multiplican este error, por lo que es útil realizar un "análisis de errores" [8] para confirmar que los valores generados por la simulación seguirán siendo precisos.
Tipos
Los modelos utilizados para simulaciones por computadora se pueden clasificar según varios pares independientes de atributos, entre ellos:
Estocástico o determinista (y como caso especial de determinista, caótico): consulte los enlaces externos a continuación para ver ejemplos de simulaciones estocásticas frente a deterministas
Simulación de sistemas dinámicos , por ejemplo, sistemas eléctricos, sistemas hidráulicos o sistemas mecánicos de múltiples cuerpos (descritos principalmente por DAE) o simulación dinámica de problemas de campo, por ejemplo, CFD o simulaciones FEM (descritas por PDE).
Otra forma de categorizar los modelos es observar las estructuras de datos subyacentes. En el caso de las simulaciones por pasos de tiempo, existen dos clases principales:
Las simulaciones que almacenan sus datos en cuadrículas regulares y solo requieren acceso del vecino más próximo se denominan códigos de plantilla . Muchas aplicaciones de CFD pertenecen a esta categoría.
Si el gráfico subyacente no es una cuadrícula regular, el modelo puede pertenecer a la clase de método sin malla .
En las simulaciones de estado estable, las ecuaciones definen las relaciones entre los elementos del sistema modelado e intentan encontrar un estado en el que el sistema esté en equilibrio. Estos modelos se utilizan a menudo para simular sistemas físicos, como un caso de modelado más simple antes de intentar la simulación dinámica.
Las simulaciones dinámicas intentan capturar cambios en un sistema en respuesta a señales de entrada (generalmente cambiantes).
Una simulación de eventos discretos (DES) gestiona los eventos en el tiempo. La mayoría de las simulaciones por ordenador, de pruebas lógicas y de árboles de fallos son de este tipo. En este tipo de simulación, el simulador mantiene una cola de eventos ordenados por el momento simulado en el que deberían ocurrir. El simulador lee la cola y activa nuevos eventos a medida que se procesa cada uno de ellos. No es importante ejecutar la simulación en tiempo real. A menudo es más importante poder acceder a los datos producidos por la simulación y descubrir defectos lógicos en el diseño o en la secuencia de eventos.
Un tipo especial de simulación discreta que no depende de un modelo con una ecuación subyacente, pero que, no obstante, puede representarse formalmente, es la simulación basada en agentes . En la simulación basada en agentes, las entidades individuales (como moléculas, células, árboles o consumidores) del modelo se representan directamente (en lugar de por su densidad o concentración) y poseen un estado interno y un conjunto de comportamientos o reglas que determinan cómo se actualiza el estado del agente de un paso de tiempo al siguiente.
Anteriormente, los datos de salida de una simulación por ordenador se presentaban a veces en una tabla o una matriz que mostraba cómo los datos se veían afectados por numerosos cambios en los parámetros de simulación . El uso del formato matricial estaba relacionado con el uso tradicional del concepto de matriz en modelos matemáticos . Sin embargo, los psicólogos y otros observaron que los humanos podían percibir rápidamente las tendencias al observar gráficos o incluso imágenes en movimiento o películas generadas a partir de los datos, como se muestra en la animación de imágenes generadas por ordenador (CGI). Aunque los observadores no necesariamente podían leer números o citar fórmulas matemáticas, al observar un gráfico meteorológico en movimiento podían predecir eventos (y "ver que la lluvia se dirigía hacia ellos") mucho más rápido que al escanear tablas de coordenadas de nubes de lluvia . Estas presentaciones gráficas intensas, que trascendían el mundo de los números y las fórmulas, a veces también conducían a una salida que carecía de una cuadrícula de coordenadas u omitía las marcas de tiempo, como si se alejara demasiado de las presentaciones de datos numéricos. Hoy en día, los modelos de pronóstico del tiempo tienden a equilibrar la visión de las nubes de lluvia o nieve en movimiento con un mapa que utiliza coordenadas numéricas y marcas de tiempo numéricas de los eventos.
De manera similar, las simulaciones por computadora CGI de tomografías computarizadas pueden simular cómo un tumor podría encogerse o cambiar durante un período prolongado de tratamiento médico, presentando el paso del tiempo como una vista giratoria de la cabeza humana visible, a medida que el tumor cambia.
Se están desarrollando otras aplicaciones de simulaciones por computadora CGI [ ¿actualmente? ] para mostrar gráficamente grandes cantidades de datos, en movimiento, a medida que ocurren cambios durante la ejecución de una simulación.
En la ciencia
Ejemplos genéricos de tipos de simulaciones por computadora en ciencia, que se derivan de una descripción matemática subyacente:
La simulación basada en agentes se ha utilizado eficazmente en ecología , donde a menudo se la denomina "modelado basado en individuos" y se utiliza en situaciones en las que no se puede descuidar la variabilidad individual de los agentes, como la dinámica poblacional del salmón y la trucha (la mayoría de los modelos puramente matemáticos suponen que todas las truchas se comportan de manera idéntica).
Simulación por computadora para modelar la infección viral en células de mamíferos. [9]
Simulación por computadora para estudiar la sensibilidad selectiva de los enlaces mediante mecanoquímica durante la molienda de moléculas orgánicas. [11]
Las simulaciones de dinámica de fluidos computacional se utilizan para simular el comportamiento del aire, el agua y otros fluidos en movimiento. Se utilizan modelos unidimensionales, bidimensionales y tridimensionales. Un modelo unidimensional puede simular los efectos del golpe de ariete en una tubería. Un modelo bidimensional puede utilizarse para simular las fuerzas de arrastre en la sección transversal del ala de un avión. Una simulación tridimensional puede estimar los requisitos de calefacción y refrigeración de un edificio grande.
La comprensión de la teoría molecular termodinámica estadística es fundamental para la apreciación de las soluciones moleculares. El desarrollo del teorema de distribución de potencial (PDT) permite simplificar este tema complejo y presentarlo de manera práctica en forma de teoría molecular.
En las ciencias sociales, la simulación por ordenador es un componente integral de los cinco ángulos de análisis que promueve la metodología de percolación de datos [12] , que también incluye métodos cualitativos y cuantitativos, revisiones de la literatura (incluida la académica) y entrevistas con expertos, y que constituye una extensión de la triangulación de datos. Por supuesto, al igual que cualquier otro método científico, la replicación es una parte importante del modelado computacional [13].
En contextos prácticos
Las simulaciones por computadora se utilizan en una amplia variedad de contextos prácticos, tales como:
modelos de simulación urbana que simulan patrones dinámicos de desarrollo urbano y respuestas a las políticas de uso del suelo urbano y de transporte.
Ingeniería de tráfico para planificar o rediseñar partes de la red de calles, desde intersecciones individuales en ciudades hasta una red nacional de carreteras, pasando por la planificación, el diseño y las operaciones del sistema de transporte. Consulte un artículo más detallado sobre Simulación en el transporte .
Modelado de accidentes automovilísticos para probar mecanismos de seguridad en nuevos modelos de vehículos.
La fiabilidad y la confianza que la gente deposita en las simulaciones por ordenador dependen de la validez del modelo de simulación , por lo que la verificación y la validación son de importancia crucial en el desarrollo de simulaciones por ordenador. Otro aspecto importante de las simulaciones por ordenador es el de la reproducibilidad de los resultados, es decir, que un modelo de simulación no debería proporcionar una respuesta diferente para cada ejecución. Aunque esto pueda parecer obvio, este es un punto especial de atención [ editorializing ] en las simulaciones estocásticas , donde los números aleatorios deberían ser en realidad números semialeatorios. Una excepción a la reproducibilidad son las simulaciones en las que interviene un ser humano, como las simulaciones de vuelo y los juegos de ordenador . En estas, un ser humano forma parte de la simulación y, por tanto, influye en el resultado de una forma que es difícil, si no imposible, de reproducir exactamente.
Los fabricantes de vehículos utilizan la simulación por ordenador para probar las características de seguridad de los nuevos diseños. Al construir una copia del coche en un entorno de simulación física, pueden ahorrarse los cientos de miles de dólares que de otro modo se necesitarían para construir y probar un prototipo único. Los ingenieros pueden recorrer la simulación paso a paso, milisegundos a paso, para determinar las tensiones exactas a las que se somete cada sección del prototipo. [15]
Los gráficos de computadora se pueden utilizar para mostrar los resultados de una simulación por computadora. Las animaciones se pueden utilizar para experimentar una simulación en tiempo real, por ejemplo, en simulaciones de entrenamiento . En algunos casos, las animaciones también pueden ser útiles en modos más rápidos que el tiempo real o incluso más lentos que el tiempo real. Por ejemplo, las animaciones más rápidas que el tiempo real pueden ser útiles para visualizar la acumulación de colas en la simulación de personas evacuando un edificio. Además, los resultados de la simulación a menudo se agregan en imágenes estáticas utilizando varias formas de visualización científica .
En la depuración, simular la ejecución de un programa bajo prueba (en lugar de ejecutarlo de forma nativa) puede detectar muchos más errores que los que puede detectar el propio hardware y, al mismo tiempo, registrar información de depuración útil, como el seguimiento de instrucciones, las alteraciones de memoria y los recuentos de instrucciones. Esta técnica también puede detectar desbordamientos de búfer y errores similares "difíciles de detectar", así como generar información de rendimiento y datos de ajuste .
Trampas
Aunque a veces se ignora en las simulaciones por computadora, es muy importante [ editorializing ] realizar un análisis de sensibilidad para garantizar que se comprenda correctamente la precisión de los resultados. Por ejemplo, el análisis de riesgo probabilístico de los factores que determinan el éxito de un programa de exploración de yacimientos petrolíferos implica combinar muestras de una variedad de distribuciones estadísticas utilizando el método de Monte Carlo . Si, por ejemplo, uno de los parámetros clave (por ejemplo, la relación neta de estratos que contienen petróleo) se conoce solo con una cifra significativa, entonces el resultado de la simulación podría no ser más preciso que una cifra significativa, aunque podría (engañosamente) presentarse como si tuviera cuatro cifras significativas.
^ Strogatz, Steven (2007). "El fin de la intuición". En Brockman, John (ed.). ¿Cuál es tu idea peligrosa? . HarperCollins. ISBN 9780061214950.
^ "Investigadores realizan la simulación militar más grande jamás realizada". Laboratorio de Propulsión a Chorro . Caltech . 4 de diciembre de 1997. Archivado desde el original el 22 de enero de 2008.
^ "Simulación molecular de fenómenos macroscópicos". IBM Research - Almaden . Archivado desde el original el 22 de mayo de 2013.
^ Ambrosiano, Nancy (19 de octubre de 2005). "La simulación de biología computacional más grande imita la nanomáquina más esencial de la vida". Los Alamos, NM: Laboratorio Nacional de Los Alamos . Archivado desde el original el 4 de julio de 2007.
^ Graham-Rowe, Duncan (6 de junio de 2005). «Comienza la misión de construir un cerebro simulado». New Scientist . Archivado desde el original el 9 de febrero de 2015.
^ Santner, Thomas J; Williams, Brian J; Notz, William I (2003). El diseño y análisis de experimentos informáticos . Springer Verlag.
^ Bratley, Paul; Fox, Bennet L.; Schrage, Linus E. (28 de junio de 2011). Una guía para la simulación. Springer Science & Business Media. ISBN9781441987242.
^ John Robert Taylor (1999). Introducción al análisis de errores: el estudio de las incertidumbres en las mediciones físicas. University Science Books. págs. 128-129. ISBN978-0-935702-75-0Archivado desde el original el 16 de marzo de 2015.
^ ab Gupta, Ankur; Rawlings, James B. (abril de 2014). "Comparación de métodos de estimación de parámetros en modelos cinéticos químicos estocásticos: ejemplos en biología de sistemas". AIChE Journal . 60 (4): 1253–1268. Bibcode :2014AIChE..60.1253G. doi :10.1002/aic.14409. ISSN 0001-1541. PMC 4946376 . PMID 27429455.
^ Mizukami, Koichi; Saito, Fumio; Baron, Michel. Estudio sobre la molienda de productos farmacéuticos con ayuda de simulación por ordenador Archivado el 21 de julio de 2011 en Wayback Machine.
^ Mesly, Olivier (2015). Creación de modelos en la investigación psicológica. Estados Unidos: Springer Psychology: 126 páginas. ISBN 978-3-319-15752-8
^ Wilensky, Uri; Rand, William (2007). "Hacer que los modelos coincidan: replicar un modelo basado en agentes". Revista de sociedades artificiales y simulación social . 10 (4): 2.
^ Wescott, Bob (2013). El libro sobre el rendimiento de cada computadora, capítulo 7: Modelado del rendimiento de la computadora. CreateSpace . ISBN978-1482657753.
^ Baase, Sara. Un regalo de fuego: cuestiones sociales, legales y éticas para la informática e Internet. 3. Upper Saddle River: Prentice Hall, 2007. Páginas 363–364. ISBN 0-13-600848-8 .
Lectura adicional
Wikimedia Commons tiene medios relacionados con Simulaciones por computadora .
Young, Joseph y Findley, Michael. 2014. "Modelado computacional para estudiar conflictos y terrorismo". Routledge Handbook of Research Methods in Military Studies, editado por Soeters, Joseph; Shields, Patricia y Rietjens, Sebastiaan. pp. 249–260. Nueva York: Routledge.
S. Hartmann, El mundo como proceso: simulaciones en las ciencias naturales y sociales, en: R. Hegselmann et al. (eds.), Modelado y simulación en las ciencias sociales desde el punto de vista de la filosofía de la ciencia , Theory and Decision Library. Dordrecht: Kluwer 1996, 77–100.
E. Winsberg, La ciencia en la era de la simulación por ordenador . Chicago: University of Chicago Press , 2010.
P. Humphreys, Extendiéndonos: ciencia computacional, empirismo y método científico . Oxford: Oxford University Press , 2004.
James J. Nutaro (2011). Creación de software para simulación: teoría y algoritmos, con aplicaciones en C++. John Wiley & Sons. ISBN 978-1-118-09945-2.
Desa, WLHM, Kamaruddin, S. y Nawawi, MKM (2012). Modelado de piezas de materiales compuestos para aeronaves mediante simulación. Advanced Material Research, 591–593, 557–560.
Enlaces externos
Guía del Archivo de Historia Oral de Simulación por Computadora 2003-2018