¿Qué es el algoritmo Doomsday?
6 min de lectura
El algoritmo Doomsday es un método para averiguar de cabeza el día de la semana de cualquier fecha, pasada o futura. Dale a alguien una fecha como el 4 de julio de 1776 o el 1 de enero de 2000 y, con un poco de práctica, podrás decirle en pocos segundos que fue jueves o sábado, sin calendario, sin móvil y sin lápiz.
Suena a truco de fiesta, y es de los buenos. Pero también es una pieza de matemáticas realmente elegante que revela cómo funciona el calendario en realidad, por debajo de las reglas algo caóticas con las que todos crecimos.
¿Quién lo inventó?
El algoritmo lo ideó el matemático británico John Horton Conway en 1973. Conway es más conocido por inventar el «Juego de la vida», pero también le fascinaba el cálculo mental rápido. Diseñó el método Doomsday precisamente para que la aritmética se mantuviera pequeña y los pasos fueran fáciles de recordar; según cuentan, lo practicaba a diario, con su ordenador programado para preguntarle una fecha al azar cada vez que iniciaba sesión.
Se apoya en fórmulas anteriores para calcular el día de la semana (sobre todo el trabajo de Christian Zeller en el siglo XIX), pero la idea de Conway fue hacer que todo el conjunto fuera memorizable, no solo correcto.
La idea en la que se basa
El truco se apoya en una sola observación: dentro de cualquier año, un sorprendente grupo de fechas fáciles de recordar caen todas en el mismo día de la semana. Conway llamó a ese día compartido el «doomsday» del año.
Por ejemplo, el 4/4, 6/6, 8/8, 10/10 y 12/12 caen siempre en el mismo día de la semana entre sí, en cualquier año. Lo mismo pasa con el 9 de mayo, el 11 de julio, el 5 de septiembre y el 7 de noviembre. Si sabes en qué día cae el doomsday de un año concreto, sabes al instante el día de la semana de todas esas fechas, y puedes contar unos pocos días hacia delante o hacia atrás para llegar a cualquier otra fecha del mes.
Eso convierte una pregunta que parece imposible («¿qué día fue el 23 de marzo de 1857?») en tres preguntas pequeñas y manejables: ¿cuál es el doomsday de ese siglo?, ¿cuál es el doomsday de ese año? y ¿a qué distancia está tu fecha del doomsday más cercano de su mes?
¿Por qué funciona?
El calendario se repite en un ciclo de 7 días, así que lo único que importa para el día de la semana son los restos al dividir entre 7, lo que los matemáticos llaman aritmética módulo 7. Cada parte del algoritmo es, en el fondo, solo llevar la cuenta de esos restos:
- Cada siglo tiene un día ancla fijo, porque un ciclo de 400 años contiene un número exacto de semanas, así que el patrón se reinicia cada cuatro siglos.
- Sumar un año normalmente desplaza el día de la semana un día (365 = 52 semanas + 1), y los años bisiestos añaden un desplazamiento extra, que es exactamente lo que tiene en cuenta el cálculo del año.
- Las fechas doomsday memorables se eligen para que los huecos entre ellas sean fáciles de manejar, lo que mantiene diminuto el paso final de contar.
Dicho de otro modo, el algoritmo no es magia: es la propia estructura del calendario, reempaquetada para que una persona pueda ejecutarla sin papel.
¿Sigue mereciendo la pena aprenderlo?
Cualquier aparato que llevas en el bolsillo ya te puede decir el día de la semana, así que nadie lo necesita hoy en día. Pero la gente lo sigue aprendiendo por las mismas razones por las que aprende cálculo mental o se memoriza una baraja de cartas:
- Es una habilidad compacta y satisfactoria que puedes dominar de verdad en una semana o dos.
- Es un ejercicio mental excelente: un entrenamiento pequeño y estructurado para la memoria de trabajo y la aritmética modular.
- Te enseña cómo funciona en realidad el calendario, algo mucho más interesante de lo que parece.
- Es algo que impresiona de forma fiable cuando sabes hacerlo.
Por dónde seguir
Si quieres hacerlo de verdad y no solo leer sobre ello, la siguiente guía recorre el método completo paso a paso: cómo calcular de cabeza el día de la semana de cualquier fecha. También puedes pasar directamente al recorrido interactivo del algoritmo o empezar a practicar cada paso por separado con juegos pequeños.