|
Getting your Trinity Audio player ready...
|
En la primavera de 1948, un colosal conjunto de tubos de vacío, relés y tarjetas perforadas dio un paso decisivo en la historia de la computación y de la física nuclear. El ENIAC —el primer ordenador electrónico de propósito general de la historia— ejecutó la primera simulación Montecarlo informatizada del mundo. El objetivo no era inocente: modelar el comportamiento de miles de neutrones para evaluar diseños de armas atómicas. Lo que empezó como una idea inspirada en un juego de solitario se convirtió en una herramienta fundamental para la era nuclear y, al mismo tiempo, en uno de los hitos fundacionales de la programación moderna.
El método de Montecarlo debe su nombre al principado monegasco famoso por sus casinos. Stanislaw Ulam, matemático polaco-estadounidense que trabajaba en Los Alamos, lo concibió en 1946 mientras jugaba al solitario durante una convalecencia. En lugar de resolver ecuaciones diferenciales complejas de forma determinista, propuso simular procesos aleatorios: lanzar “dados” virtuales para seguir trayectorias de partículas. John von Neumann, que ya había colaborado estrechamente con Los Alamos durante el Proyecto Manhattan, vio de inmediato el potencial. Junto con Nick Metropolis y Robert Richtmyer, desarrolló la idea para aplicarla a la difusión y multiplicación de neutrones en materiales fisionables.
El ENIAC, terminado en 1945 en la Universidad de Pensilvania, pesaba unas 30 toneladas y ocupaba una habitación entera. Originalmente diseñado para calcular tablas de tiro de artillería, se había convertido en 1947-1948 en un recurso nacional de cálculo. Tras una importante reconfiguración que lo aproximó al concepto de “programa almacenado”, pudo ejecutar instrucciones de forma secuencial, con saltos condicionales, bucles e incluso subrutinas. Fue precisamente en esta máquina donde, entre abril y mayo de 1948, se ejecutó el primer programa Montecarlo digital de la historia.
La simulación consistía en seguir neutrones virtuales a través de diferentes zonas de un modelo esférico simplificado de bomba. Cada neutrón podía dispersarse, ser absorbido, escapar o provocar fisión. En este último caso, generaba nuevos neutrones y el proceso continuaba. Para decidir el destino de cada partícula se necesitaban números pseudoaleatorios. Von Neumann propuso el “método del cuadrado medio”: tomar un número de 8 o 10 dígitos, elevarlo al cuadrado y extraer los dígitos centrales. Aunque imperfecto para muchos usos posteriores, resultó suficiente para aquella época. Esta rutina de generación de números aleatorios se convirtió probablemente en la primera subrutina reutilizable ejecutada en un ordenador.
El primer “run” duró diez días de dieciséis horas diarias. El ENIAC solo producía resultados útiles la mitad del tiempo debido a fallos de hardware. Aun así, completó 160 ciclos de 100 tarjetas perforadas sobre siete problemas y generó más de 20.000 tarjetas de salida. Von Neumann lo calificó, con su característico optimismo, como “éxito al cien por cien”. Parte del trabajo seguía siendo manual: clasificar, duplicar y reintroducir tarjetas que representaban neutrones. El segundo intento, ya en otoño de 1948, incluyó cálculos de configuraciones reales de armas, como un núcleo de hidruro de uranio y una configuración denominada “Zebra”. Un error en el “Problema número 4” —relacionado con el hidruro— obligó a repetir el cálculo; fue el propio Metropolis quien lo detectó.
Un papel crucial, aunque durante décadas eclipsado, lo desempeñó Klara Dan von Neumann, esposa de John. Con 35 años y formación matemática limitada, se convirtió en la programadora principal, operadora y documentadora de las simulaciones. El código conservado —unas 840 instrucciones codificadas en 2.208 dígitos y documentadas en 28 páginas manuscritas— lleva en gran medida su huella. El programa ya incorporaba muchas de las características que hoy consideramos básicas de la programación: instrucciones, datos en el mismo espacio de direcciones, saltos condicionales, índices y subrutinas. Lo que en un principio se planeó en 81 pasos se expandió hasta una complejidad notable para una máquina que aún dependía en gran medida de tarjetas perforadas.
Estas simulaciones no solo sirvieron para estimar rendimientos de diseños hipotéticos sin agotar las escasas reservas de material fisionable; también demostraron que el método Montecarlo podía aplicarse a problemas de transporte de neutrones de forma práctica. Aunque los primeros cálculos se centraron principalmente en armas de fisión, el enfoque influyó después en el desarrollo de la bomba de hidrógeno y en innumerables aplicaciones civiles: desde la física de reactores hasta la modelización financiera, la biología y la inteligencia artificial actual.
El artículo de Haigh, Priestley y Rope publicado en IEEE Annals of the History of Computing (2014) reconstruye con detalle, a partir de archivos, el ciclo completo de desarrollo del software: desde los diagramas de flujo iniciales hasta las revisiones del código tras las primeras pruebas. Muestra cómo aquel proyecto de Los Alamos fue, en muchos sentidos, el primer ejemplo documentado de un ciclo de vida completo de desarrollo de software en el sentido moderno.
Hoy, más de 75 años después, el legado del ENIAC Montecarlo sigue vivo. Cada vez que un científico ejecuta una simulación estocástica en un superordenador o un investigador utiliza cadenas de Markov Montecarlo en estadística bayesiana, está utilizando una técnica que nació de la necesidad de entender mejor las reacciones nucleares en plena Guerra Fría. Y todo empezó, en esencia, con un puñado de científicos “jugando a los dados” dentro de una máquina que pesaba toneladas.
Fuentes consultadas: Microsiervos («Cuando el ENIAC aprendió a jugar a los dados para diseñar bombas atómicas»); Haigh, Priestley y Rope, IEEE Annals of the History of Computing (2014), vía ResearchGate y Project MUSE; Computer History Museum («The Neverending Quest for «Firsts»»); arXiv, «Neutronics Calculation Advances at Los Alamos: Manhattan Project to Monte Carlo»; ?TFísica («RadMonteCarlo: historia del Método Montecarlo»); Página/12 («La simulación de Monte Carlo»); Xavier Molero, «ENIAC: una máquina y un tiempo por redescubrir» (JENUI 2013).
