La respuesta a la vida, el universo y todo lo demás
Un equipo dirigido por Andrew Sutherland, del MIT, y Andrew Booker, de la Universidad de Bristol, ha resuelto la última pieza de un famoso rompecabezas matemático de hace 65 años con una respuesta para el número más escurridizo de todos: el 42.
El número 42 es especialmente significativo para los aficionados a la novela de ciencia ficción «La guía del autoestopista galáctico» de Douglas Adams, porque ese número es la respuesta dada por un superordenador a «la pregunta definitiva sobre la vida, el universo y todo».
Booker también quería saber la respuesta al 42. Es decir, ¿hay tres cubos cuya suma sea 42?
Este rompecabezas de la suma de tres cubos, planteado por primera vez en 1954 en la Universidad de Cambridge y conocido como la Ecuación Diofantina x3+y3+z3=k, desafiaba a los matemáticos a encontrar soluciones para los números del 1 al 100. Con números más pequeños, este tipo de ecuación es más fácil de resolver: por ejemplo, 29 podría escribirse como 33 + 13 + 13, mientras que 32 es irresoluble. Todos fueron finalmente resueltos, o se demostró que no tenían solución, utilizando diversas técnicas y superordenadores, excepto dos números: 33 y 42.
Booker ideó un ingenioso algoritmo y pasó semanas en el superordenador de su universidad cuando recientemente dio con la solución del 33. Pero cuando pasó a resolver el 42, Booker descubrió que la computación necesaria era un orden de magnitud superior y podría estar más allá de la capacidad de su superordenador. Booker dice que recibió muchas ofertas de ayuda para encontrar la respuesta, pero en su lugar recurrió a su amigo Andrew «Drew» Sutherland, un científico investigador principal del Departamento de Matemáticas. «Es un experto mundial en este tipo de cosas», dice Booker.
Sutherland, cuya especialidad incluye los cálculos masivamente paralelos, batió en 2017 el récord del mayor clúster de Compute Engine, con 580.000 núcleos en Preemptible Virtual Machines, el mayor clúster de computación de alto rendimiento conocido que se ejecuta en la nube pública.
Al igual que otros teóricos de números computacionales que trabajan en geometría aritmética, conocía el problema de la «suma de tres cubos». Y los dos habían trabajado juntos antes, ayudando a construir la base de datos de funciones L y formas modulares (LMFDB), un atlas en línea de objetos matemáticos relacionados con lo que se conoce como el Programa Langlands. «Me entusiasmó que Andy me pidiera que me uniera a él en este proyecto», dice Sutherland.
Booker y Sutherland discutieron la estrategia algorítmica a utilizar en la búsqueda de una solución a 42. Como Booker descubrió con su solución a 33, sabían que no tenían que recurrir a probar todas las posibilidades para x, y y z.
«Hay un único parámetro entero, d, que determina un conjunto relativamente pequeño de posibilidades para x, y y z tal que el valor absoluto de z está por debajo de un límite de búsqueda elegido B», dice Sutherland. «A continuación, se enumeran los valores de d y se comprueba cada una de las posibles x, y, z asociadas a d. En el intento de descifrar el 33, el límite de búsqueda B era 1016, pero este B resultó ser demasiado pequeño para descifrar el 42; en su lugar, utilizamos B = 1017 (1017 son 100 millones de miles de millones).
Por lo demás, la principal diferencia entre la búsqueda del 33 y la del 42 sería el tamaño de la búsqueda y la plataforma informática utilizada. Gracias a una generosa oferta de la empresa británica Charity Engine, Booker y Sutherland pudieron aprovechar la potencia de cálculo de más de 400.000 ordenadores domésticos de voluntarios de todo el mundo, a cada uno de los cuales se les asignó un rango de valores para d. El cálculo en cada PC se ejecuta en segundo plano, por lo que el propietario puede seguir utilizando su PC para otras tareas.
Sutherland también es un fan de Douglas Adams, por lo que el proyecto era irresistible.
El método de uso de Charity Engine es similar a parte de la trama que rodea al número 42 en la novela «Hitchhiker»: Después de que la respuesta del Pensamiento Profundo, el 42, resulte insatisfactoria para los científicos, que desconocen la pregunta a la que debe responder, el superordenador decide computar la Pregunta Definitiva construyendo un superordenador alimentado por la Tierra… es decir, empleando una plataforma de computación masivamente paralela a nivel mundial.
«Esta es otra de las razones por las que me gustó mucho ejecutar este cálculo en Charity Engine: realmente utilizamos un ordenador a escala planetaria para resolver una pregunta abierta desde hace mucho tiempo cuya respuesta es 42.»
Ejecutaron una serie de cálculos a una capacidad inferior para probar tanto su código como la red de Charity Engine. A continuación, utilizaron una serie de optimizaciones y adaptaciones para que el código fuera más adecuado para un cálculo distribuido masivamente, en comparación con un cálculo ejecutado en un único superordenador, dice Sutherland.
¿Por qué el superordenador de Bristol no pudo resolver este problema?
«Bueno, cualquier ordenador *puede* resolver el problema, siempre que se esté dispuesto a esperar el tiempo suficiente, pero con aproximadamente medio millón de PCs trabajando en el problema en paralelo (cada uno con múltiples núcleos), pudimos completar el cálculo mucho más rápido de lo que podríamos haber hecho usando la máquina de Bristol (o cualquiera de las máquinas aquí en el MIT)», dice Sutherland.
El uso de la red Charity Engine también es más eficiente desde el punto de vista energético. «En su mayor parte, estamos utilizando recursos computacionales que de otro modo se desperdiciarían», dice Sutherland. «Cuando uno está sentado frente a su ordenador leyendo un correo electrónico o trabajando en una hoja de cálculo, está utilizando sólo una pequeña fracción de los recursos de la CPU disponibles, y la aplicación Charity Engine, que se basa en la Infraestructura Abierta de Berkeley para la Computación en Red (BOINC), se aprovecha de ello. Como resultado, la huella de carbono de este cálculo -relacionada con la electricidad que nuestros cálculos hicieron que los PC de la red utilizaran por encima de lo que habrían utilizado, en cualquier caso- es menor de lo que habría sido si hubiéramos utilizado un superordenador».
Sutherland y Booker realizaron los cálculos durante varios meses, pero la ejecución final con éxito se completó en tan sólo unas semanas. Cuando el correo electrónico de Charity Engine llegó, proporcionó la primera solución de x3+y3+z3=42:
42 = (-80538738812075974)^3 + 80435758145817515^3 + 12602123297335631^3
«Cuando me enteré de la noticia, fue sin duda un momento de júbilo», dice Sutherland. «Con estos cálculos a gran escala dedicas mucho tiempo y energía a optimizar la implementación, ajustar los parámetros y luego probar y volver a probar el código durante semanas y meses, sin saber nunca realmente si todo el esfuerzo va a dar sus frutos, por lo que es extremadamente satisfactorio cuando lo hace».
Booker y Sutherland dicen que quedan 10 números más, del 101 al 1000, por resolver, siendo el siguiente el 114.
Pero ambos están más interesados en un rompecabezas más simple pero computacionalmente más desafiante: si hay más respuestas para la suma de tres cubos por 3.
«Hay cuatro soluciones muy fáciles que fueron conocidas por el matemático Louis J. Mordell, quien escribió en 1953: «No sé nada sobre las soluciones enteras de x3 + y3 + z3 = 3 más allá de la existencia de los cuatro triples (1, 1, 1), (4, 4, -5), (4, -5, 4), (-5, 4, 4); y debe ser muy difícil averiguar algo sobre cualquier otra solución». Esta cita motivó gran parte del interés por el problema de la suma de tres cubos, y el caso k=3 en particular. Aunque se conjetura que debería haber infinitas soluciones, a pesar de más de 65 años de búsqueda sólo conocemos las soluciones fáciles que ya conocía Mordell. Sería muy emocionante encontrar otra solución para k=3.»