Algoritmo Doomsday

L'algoritmo Doomsday è un metodo per calcolare il giorno della settimana di una specifica data passata o futura. Ideato dal matematico inglese John Conway[1][2] si presta a essere usato per effettuare il calcolo a mente.

John Conway, ideatore dell'algoritmo Doomsday

Tale metodo si basa sul fatto che per ogni anno esiste un determinato giorno della settimana (il Doomsday) in cui cadono alcune date facili da ricordare (ad esempio, il 4/4, 6/6, 8/8, 10/10, 12/12 e l'ultimo giorno di febbraio, ogni anno, cadono tutti nello stesso giorno della settimana) ed è applicabile sia al calendario giuliano (dopo Cristo) che a quello gregoriano, anche se i Doomsday sono genericamente diversi l'uno dall'altro.

Meccanismo

L'applicazione dell'algoritmo richiede tre passaggi:

  1. Determinare il giorno base del secolo
  2. Determinare il Doomsday dell'anno
  3. Determinare il giorno della settimana del giorno desiderato

L'algoritmo Doomsday si basa su calcoli modulo 7, per cui Conway suggerisce di numerare i giorni da 0 (Domenica) a 6 (Sabato) ed abituarsi a pensare (usando i numeri in inglese) ai giorni della settimana come Noneday, Oneday, Twosday, Treblesday, Foursday, Fiveday, and Six-a-day. Questo permette di sfruttare la somiglianza di Oneday con Monday (lunedì), di Twosday con Tuesday (martedì), di Foursday con Thursday (giovedì) e di Fiveday con Friday (venerdì).

Questa tecnica è particolarmente adatta al calcolo mentale, perché se, ad esempio, a inizio 2011 si è effettuato un calcolo e si è stabilito che il Doomsday del 2011 è lunedì, è presumibile che nelle applicazioni successive dell'algoritmo nello stesso anno ci si ricordi ancora del risultato intermedio e si possa quindi partire direttamente dal terzo passo.

Il Doomsday per alcuni anni recenti

Il Doomsday per l'anno in corso (2024) è Giovedì.

Per altri anni recenti:

Doomsdays per il calendario Gregoriano
Lun. Mar. Mer. Gio. Ven. Sab. Dom. Lun. Mar. Mer. Gio. Ven. Sab. Dom.
1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909
1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920
1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931
1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943
1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954
1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965
1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976
1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987
1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999
2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010
2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021
2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032
2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043
2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055
2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066
2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077
2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088
2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100

Giorni di facile memorizzazione che cadono sempre nel Doomsday

L'algoritmo Doomsday è un metodo di calcolo abbastanza veloce se si utilizza, come riferimento, un giorno che corrisponda al Doomsday nello stesso mese della data da identificare. Per facilitare il calcolo, Conway ha identificato una serie di date facili da memorizzare che cadono sempre nello stesso giorno del Doomsday.

Per i mesi pari, ci sono due casi:

  • a febbraio, l'ultimo giorno del mese è sempre Doomsday. Inoltre, negli anni normali (cioè di 365 giorni) tutti i giorni multipli di 7 sono Doomsday, negli anni bisestili, il primo giorno del mese è Doomsday
  • in tutti gli altri mesi pari, le date composte dallo stesso numero (4/4, 6/6, 8/8, 10/10 e 12/12) sono sempre Doomsday

Per i mesi dispari, invece, esistono delle differenze:

  • a gennaio, i Doomsday sono 3 e 31 negli anni solari e 4 negli anni bisestili. In alternativa, ci si può anche agganciare al Doomsday dell'anno precedente ed usare il 2 gennaio come Doomsday (questo secondo metodo risulta particolarmente vantaggioso nei calcoli fatti a fine anno)
  • a marzo, a novembre (e negli anni non bisestili anche a febbraio) sono Doomsday tutti i giorni multipli di 7 (7, 14, 21, 28); inoltre, il giorno 14/3, scritto in notazione m/gg, è 3/14, che ricorda π
  • in tutti gli altri mesi dispari, sono Doomsday queste date: 9/5, 11/7, 5/9, 7/11. Essendo speculari, è consigliato memorizzarle in coppia (9/5 e 5/9; 11/7 e 7/11)[3]
Mese Doomsday Memorizzazione
Gennaio 3, 31 (anni solari)
4 (anni bisestili)
3 nei primi 3 (anni) e 4 nel 4º (anno)
Febbraio 7, 14, 21, 28 (anni solari)
1, 29 (anni bisestili)
ultimo giorno del mese
Marzo 7, 14, 21, 28 multipli di 7
Aprile 4 mese pari: stesso numero
Maggio 9 9/5 e 5/9
Giugno 6 mese pari: stesso numero
Luglio 11 11/7 e 7/11
Agosto 8 mese pari: stesso numero
Settembre 5 9/5 e 5/9
Ottobre 10 mese pari: stesso numero
Novembre 7 11/7 e 7/11
Dicembre 12 mese pari: stesso numero

Ulteriori peculiarità

  • Il giorno dell'indipendenza degli Stati Uniti d'America, il 4 luglio, è sempre Doomsday
  • Il giorno in cui si festeggia Halloween, il 31 ottobre, è sempre Doomsday
  • la festa del lavoro, il primo maggio e il giorno di Natale, il 25 dicembre, cadono sempre un giorno prima del Doomsday
  • Il 25 aprile, Festa della Liberazione, è sempre Doomsday
  • Il 15 agosto, Assunzione di Maria Vergine o Ferragosto, è sempre Doomsday
  • 11/4 e 22/8; 13/6 e 26/12 sono doomsday (particolarmente facili da ricordare a coppie perché basta raddoppiare tutte le cifre)
  • le seguenti coppie di date sono tutte doomsday e sono facili da ricordare perché basta sommare 1 a tutte le cifre: 14/3 e 25/4, 16/5 e 27/6, 11/7 e 22/8, 18/7 e 29/8, 15/8 e 26/9, negli anni non bisestili si aggiungono anche 10/1 e 21/2, 17/1 e 28/2, in quelli bisestili invece 11/1 e 22/2, 18/1 e 29/2.
  • qualunque doomsday cade dall'11 in poi di un mese di 31 giorni la stessa data meno 10 del mese successivo sarà nuovamente doomsday, ad esempio il 14/3 è doomsday e lo è anche il 4/4.
  • 21/3, 23/5 e 25/7 (la somma delle cifre che compongono il giorno è uguale al numero del mese) sono tutti doomsday

Passaggio 1 Determinare il giorno base del secolo

Per determinare il giorno base del secolo, è necessario:

  1. identificare il secolo c di cui la data scelta fa parte, aggiungendo 1 alle prime due cifre dell'anno (es. il 2012 fa parte del XXI secolo perché 20 + 1 = 21). Per tale computo gli anni divisibili per 100 (es. 1900, 2000) vengono considerati come se facessero parte del secolo successivo a quello cui realmente appartengono (es. il 1900 fa parte del XX secolo perché 19 + 1 = 20);
  2. moltiplicare c per 5;
  3. separatamente, sottrarre 1 da c e dividere la differenza per 4;
  4. sommare il quoziente a 5c e riportare il valore modulo 7;
  5. aggiungere 4 al valore ottenuto e riportare il valore modulo 7.

Il risultato di queste operazioni sarà un valore compreso tra 0 (Domenica) e 6 (Sabato) e corrisponderà al giorno base del secolo.

[ 5 c × ( ( c 1 ) mod 4 ) + 2 ] mod 7 = giorno base del secolo {\displaystyle \left[{5c}\times {}\left(\left({c-1}\right){\bmod {4}}\right)+{2}\right]{\bmod {7}}={\mbox{giorno base del secolo}}}

Ad esempio, il giorno base per il XXI secolo è martedì, perché:

[ 5 × ( 20 mod 4 ) + 2 ] mod 7 = 2 = martedì {\displaystyle \left[{5}\times {\left({20}{\bmod {4}}\right)}+{2}\right]{\bmod {7}}={2}={\mbox{martedì}}}

Calcolo rapido del giorno base del secolo

Per un più rapido calcolo del giorno base del secolo, Conway suggerisce di memorizzare i seguenti quattro secoli:

  1. Doomsday 2100-2199 = 0 = domenica ("Nonesday": nessun giorno ancora in questo secolo)
  2. Doomsday 2000-2099 = 2 = martedì ("Y2K": acronimo di Year 2000)
  3. Doomsday 1900-1999 = 3 = mercoledì ("We-in-this-day": il secolo di nascita di Conway e dei suoi contemporanei)
  4. Doomsday 1800-1899 = 5 = venerdì ("Fivesday": il secolo con le 5 giornate di Milano)

Per tutti gli altri secoli è sufficiente aggiungere (o sottrarre) ripetutamente 4 alle prime due cifre dell'anno fino a riportarsi ad uno dei secoli noti (es. il Doomsday del secolo per l'anno 1587 è mercoledì, perché 15 + 4 = 19).

Passaggio 2 Determinare il Doomsday dell'anno

Per determinare il Doomsday dell'anno è necessario:

  1. dividere le ultime due cifre dell'anno (chiamiamole y) per 12. Sia a il quoziente e b il resto;
  2. dividere b per 4. Sia c il quoziente;
  3. sommare a, b e c. Sia d tale somma;
  4. riportare d modulo 7;
  5. sommare il valore ottenuto al valore del giorno base del secolo.
( y 12 + y mod 1 2 + y mod 1 2 4 ) mod 7 + giorno base del secolo = D o o m s d a y {\displaystyle {\begin{matrix}\left({\left\lfloor {\frac {y}{12}}\right\rfloor +y{\bmod {1}}2+\left\lfloor {\frac {y{\bmod {1}}2}{4}}\right\rfloor }\right){\bmod {7}}+{\mbox{giorno base del secolo}}={\rm {Doomsday}}\end{matrix}}}


Ad esempio, il Doomsday dell'anno 1966 è lunedì, perché:

( 66 12 + 66 mod 1 2 + 66 mod 1 2 4 ) mod 7 + mercoledì = ( 5 + 6 + 1 ) mod 7 + 3 = 8 = lunedì {\displaystyle {\begin{matrix}\left({\left\lfloor {\frac {66}{12}}\right\rfloor +66{\bmod {1}}2+\left\lfloor {\frac {66{\bmod {1}}2}{4}}\right\rfloor }\right){\bmod {7}}+{\mbox{mercoledì}}&=&\left(5+6+1\right){\bmod {7}}+3&=&8={\mbox{lunedì}}\end{matrix}}}


In alternativa, per determinare d è anche possibile sommare le ultime due cifre dell'anno (y) al quoziente della divisione tra y e 4:

( y + y 4 ) mod 7 {\displaystyle (y+\lfloor {\frac {y}{4}}\rfloor )\,\operatorname {mod} \,7}

Ad esempio, applicando questo metodo al calcolo del Doomsday del 1966 si avrà:

( 66 + 66 4 ) mod 7 + mercoledì = ( 66 + 16 ) mod 7 + 3 = 8 = lunedì {\displaystyle {\begin{matrix}\left({66+\left\lfloor {\frac {66}{4}}\right\rfloor }\right){\bmod {7}}+{\mbox{mercoledì}}&=&\left(66+16\right){\bmod {7}}+3&=&8={\mbox{lunedì}}\end{matrix}}}

Il metodo "Dispari+11"

Nel 2010 è stato ideato un metodo più semplice per trovare il Doomsday di un anno. È stato dimostrato[4] che tale metodo, chiamato "Dispari+11", è equivalente al calcolo di:

( y + y 4 ) mod 7. {\displaystyle (y+\lfloor {\frac {y}{4}}\rfloor )\,\operatorname {mod} \,7.}

È particolarmente adatto al calcolo mentale, perché non prevede l'utilizzo di divisioni e la procedura, in quanto ricorsiva, è semplice da ricordare.

La procedura prevede i seguenti passaggi:

  1. sia T il valore corrispondente alle ultime due cifre dell'anno;
  2. se T è dispari, aggiungere 11;
  3. dividere la somma per 2;
  4. se il quoziente è dispari, aggiungere 11;
  5. riportare il valore ottenuto modulo 7;
  6. sottrarre da 7 il valore ottenuto.

Infine, come nel metodo classico, sommare il valore ottenuto al valore del giorno base del secolo.

Applicando questo metodo all'anno 1966, ad esempio, i passaggi del metodo Dispari+11 sono:

  1. T = 66
  2. T = 66 (T è pari, dunque non è necessario aggiungere 11)
  3. 66/2 = 33
  4. 33 + 11 = 44 (il quoziente è dispari, dunque è necessario aggiungere 11)
  5. 44 mod 7 = 2
  6. 7 − 2 = 5
  7. Doomsday 1966 = 5 + mercoledì = 5 + 3 = lunedì

A tal proposito, conviene far riferimento all'anno più vicino multiplo di 4 e poi addizionare 1, 2, 3 a seconda dell'anno. Inoltre il complemento a 7 del modulo (passaggi 5 e 6) possono essere sintetizzati considerando il multiplo di 7 maggiore al risultato del quoto della divisione.

  1. T = 1966 = 1964+2;
  2. 64/2 = 32 (64 è pari quindi procedo alla divisione per 2.)
  3. Il più vicino multiplo di 7 superiore a 32 è 35 quindi il numero cercato è 3 (35-32)

Quindi per l'anno 1966 avremo 3 (numero secolo) + 2 (1966-1964) + 3 (Doomsday 1964) = lunedì.

Metodo MAMO con calcolo anni bisestili

  1. Prendere le ultime due cifre dell'anno (chiamiamole Y);
  2. Calcolare il numero di anni bisestili passati fino a quell’anno (Y/4)=X.
  3. sommare Y e X, sia D tale somma
  4. riportare D modulo 7;
  5. sommare il valore ottenuto al valore del giorno base del secolo.

Ad esempio, il Doomsday dell'anno 1966 è lunedì, perché:

[66 + (66/4)] mod 7 + mercoledì = (66+16) mod 7 + 3 = 8 = lunedì

Passaggio 3 Determinare il giorno della settimana del giorno desiderato

Noto il Doomsday dell'anno in questione, il calcolo del giorno della settimana del giorno desiderato è molto semplice:

  1. identificare il Doomsday più vicino al giorno scelto;
  2. sottrarre la data del Doomsday più vicino dalla data da identificare
  3. aggiungere il valore del Doomsday dell'anno
  4. riportare il risultato ottenuto modulo 7

Ad esempio, per calcolare in che giorno sia caduto il 13 settembre 2011:

  1. il Doomsday più vicino è il 5/9;
  2. 13 - 5 = 8
  3. 8 + 1 = 9 (il Doomsday del 2011 era lunedì, quindi il valore corrispondente è 1)
  4. 9 mod 7 = 2 = martedì

Altro esempio, per calcolare in che giorno sia caduto il 4 novembre 2011

  1. il Doomsday più vicino è il 7/11;
  2. 4 - 7 = -3
  3. -3 + 1 = -2 (il Doomsday del 2011 era lunedì, quindi il valore corrispondente è 1)
  4. -2 mod 7 = 5 = venerdì

Osservazioni

L'uso del termine Doomsday (in inglese: "giorno del giudizio", ma anche "perpetuo") è stato criticato da alcuni. Altri invece hanno fatto notare che doom in inglese ha anche il significato secondario di "predeterminato"; e in effetti il metodo si basa appunto su alcuni giorni "predeterminati".

Note

  1. ^ John Horton Conway, "Tomorrow is the Day After Doomsday", Eureka, volume 36, pagine 28-31, Ottobre 1973.
  2. ^ Richard Guy, John Horton Conway, Elwyn Berlekamp: "Winning Ways: For Your Mathematical Plays, Volume. 2: Games in Particular", pagine 795-797, Academic Press, London, 1982, ISBN 0-12-091102-7.
  3. ^ John Conway ha ideato un trucco mnemonico anche per queste date, tale trucco, però, non è traducibile in italiano ed è quindi utilizzabile solo da chi conosce l'inglese. Infatti, negli USA si usa dire che un lavoro noioso è un lavoro "9 to 5". Inoltre, una famosa catena di negozi statunitense si chiama 7-Eleven (perché sono sempre aperti appunto dalle 7 alle 23) e quindi il trucco mnemonico ideato da Conway è "9-to-5 at 7-11" cioè "Ho un lavoro noioso da 7-Eleven"
  4. ^ Chamberlain Fong, Michael K. Walters: "Methods for Accelerating Conway's Doomsday Algorithm (part 2)", 7th International Congress of Industrial and Applied Mathematics (2011).

Altri progetti

Altri progetti

  • Wikimedia Commons
  • Collabora a Wikimedia Commons Wikimedia Commons contiene immagini o altri file sull'algoritmo Doomsday
  Portale Matematica: accedi alle voci di Wikipedia che trattano di matematica