כלל יום הדין

ג'ון קונוויי, ממציא אלגוריתם יום הדין.

כלל יום הדיןאנגלית: Doomsday rule) או אלגוריתם יום הדין (באנגלית: Doomsday algorithm) הוא אלגוריתם המאפשר לחשב את היום בשבוע שבו יוצא תאריך נתון בלוח הגרגוריאני. הוא נעזר בכך שללוח הגרגוריאני יש מחזוריות בת ארבע מאות שנה ובעזרת כך האלגוריתם מוגדר לתמיד.
אלגוריתם זה, שמאפשר חישוב בראש, הומצא על ידי ג'ון קונוויי[1] שקיבל השראה מעבודתו של לואיס קרול על אלגוריתם ללוח שנה נצחי.[2] האלגוריתם מתבסס על כך שבכל שנה יש יום מסוים בשבוע (יום הדין) שכמה תאריכים קלים לזכירה "נופלים" ביום הזה; לדוגמה, 4/4, 6/6, 8/8, 10/10, 12/12 והיום האחרון של חודש פברואר (28/2; וכאשר השנה מתחלקת ב-4, 29/2). יישום אלגוריתם יום הדין כרוך בשלושה שלבים:

  1. קביעת "יום העוגן" של המאה.
  2. שימוש ב"יום העוגן" לחישוב יום הדין של השנה.
  3. בחירת התאריך הקרוב ביותר מאלה שנופלים על יום הדין (למשל 4/4, 6/6, 8/8) וספירת מספר הימים (מודולו 7) בין התאריך לבין התאריך שרוצים למצוא באיזה יום הוא נופל.

ניתן להשתמש בטבלת ימי דין, כמפורטת בהמשך, כדי לדלג על שלבים 1 ו-2.

הטכניקה חלה הן על לוח השנה הגרגוריאני והן על הלוח היוליאני, אף על פי שימי הדין שלהם יהיו בדרך כלל ימים שונים.

האלגוריתם פשוט דיו עבור כל אחד עם יכולות אריתמטיות בסיסיות עבור ביצוע החישוב בראש. קונוויי יכול בדרך כלל לעשות את החישוב תוך פחות משתי שניות. כדי לשפר את מהירותו, הוא מתרגל את החישובים במחשב, שמתוכנת לשאול אותו לגבי תאריך אקראי בכל פעם בו הוא נכנס אליו.

טבלת ימי דין

כדי למצוא את יום הדין של השנה (לפי הלוח הגרגוריאני), ניתן להיעזר בטבלה הבאה. בהמשך הערך מופיעה שיטה למציאת יום הדין בלא טבלה.

טבלת ימי דין לפי הלוח הגרגוריאני
יום שני יום שלישי יום רביעי יום חמישי יום שישי יום שבת יום ראשון יום שני יום שלישי יום רביעי יום חמישי יום שישי יום שבת יום ראשון
19441945194619471948194919501951195219531954
19551956195719581959196019611962196319641965
19661967196819691970197119721973197419751976
19771978197919801981198219831984198519861987
198819891990199119921993199419951996199719981999
20002001200220032004200520062007200820092010
20112012201320142015201620172018201920202021
20222023202420252026202720282029203020312032
20332034203520362037203820392040204120422043
204420452046204720482049205020512052205320542055
20562057205820592060206120622063206420652066
20672068206920702071207220732074207520762077
20782079208020812082208320842085208620872088
208920902091209220932094209520962097209820992100

ניתן לראות כי לפני שנה שאינה מעוברת יום הדין זז ליום הבא - זאת משום שמספר הימים בשנה שאינה מעוברת (365) מודולו 7 יוצא 1. לעומת זאת, לפני שנה מעוברת יום הדין זז ביומיים משום שמספר הימים בשנה מעוברת (366) מודולו 7 יוצא 2, ומכאן שתהא תזוזה של יומיים.

תאריכים קלים לזכירה שיוצאים תמיד ביום הדין

בכל שנה, תאריכים אלו (על פי הלוח הגרגוריאני) חלים ביום הדין.

חודשתאריךשיטת זכירה
ינואר3/1 (שנה רגילה) או 4/1 (שנה מעוברת)
11/1 (שנה מעוברת)
היום השלישי בשלוש השנים הראשונות, והרביעי ברביעית
כל הספרות אחד
פברואר14/2 (שנה רגילה)
22/2 (שנה מעוברת)
28/2 (שנה רגילה) או 29/2 (שנה מעוברת)
יום ולנטיין
כל הספרות שתיים
היום האחרון של פברואר
מרץ"0/3"
14/3
21/3
היום האחרון של פברואר
יום פאי
היום הראשון של האביב
אפריל4/4חודש זוגי
מאי9/59 עד 5 בסבן אילבן
יוני6/6חודש זוגי
יולי4/7
11/7
יום העצמאות האמריקאי
9 עד 5 בסבן אילבן
אוגוסט8/8חודש זוגי
ספטמבר5/99 עד 5 בסבן אילבן
אוקטובר10/10
31/10
חודש זוגי
ליל כל ה"קדושים"
נובמבר7/119 עד 5 בסבן אילבן
דצמבר12/12
26/12
חודש זוגי
יום הקופסאות

מציאת יום הדין בלא טבלה

ישנם מספר אלגוריתמים למציאת יום הדין של השנה ללא טבלת שנים, כמו זו שמופיעה לעיל. השיטה מתבססת על חישוב התזוזות של הימים החל מ"יום העוגן" של המאה.

מציאת "יום העוגן" של המאה

לצורכי מציאת יום הדין נאמר כי מאה מתחילה בשנה המסתיימת בספרות 00' ונגמרת בשנה המסתיימת בספרות 99'.

כאשר

עבור הלוח הגרגוריאני:

עבור הלוח היוליאני:

כאשר 0=ראשון, 1=שני וכן הלאה עד 6=שבת.

מכאן ש:

מאהיום העוגן
1800–1899שישי
1900–1999רביעי
2000–2099שלישי
2100–2199ראשון

חישוב יום הדין של השנה באמצעות יום העוגן של המאה

ישנם מספר אלגוריתמים למציאת יום הדין של השנה. דוגמה לאלגוריתם כזה הוא האלגוריתם הבא:

  1. חלק את שתי הספרות האחרונות של השנה ב-12, ועגל כלפי מטה (פונקציית הערך השלם). קרא לתוצאה a.
  2. שארית החלוקה מן השלב הקודם יקרא b.
  3. חלק את b ב-4 ועגל כלפי מטה. נקרא לתוצאה c.
  4. חבר את שלוש התוצאות (a,b,c). לסכום הוסף את ערכו של יום העוגן (ראשון=0, שני=1 וכן הלאה).
  5. חלק את התוצאה ב-7. השארית היא ערכו של יום הדין (ראשון=0, שני=1 וכן הלאה).

כלומר:

דוגמאות מלאות

דוגמה א'

נניח שנרצה למצוא את היום בשבוע בו חל ה-18 בספטמבר 1985. יום העוגן של המאה הוא רביעי (אינדקס 3), ועליו לפי האלגוריתם נוסיף את a, b, c.

  • a הוא פונקציית הערך השלם של 85/12, כלומר 7.
  • b הוא 85 מודולו 12, כלומר 1
  • c הוא פונקציית הערך השלם של b/4, כלומר 0.

חיבור של a,b,c ויום העוגן יוצא 11. 11 מודולו 7 הוא 4, ומכאן שיום הדין של 1985 הוא חמישי (אינדקס 4). כעת נשווה את התאריך ליום דין קרוב, נניח ה-5/9. ההפרש בין שני התאריכים הוא 13 יום. נוסיף למספר זה את ערכו של יום הדין השנתי, ונגיע ל-17. 17 מודולו 7 הוא 3, ומכאן שה-18 בספטמבר 1985 חל ביום רביעי (אינדקס 3).

דוגמה ב'

נניח שנרצה למצוא את היום בשבוע בו פרצה מלחמת האזרחים האמריקנית בפורט סאמטר, שהיה ב-12 באפריל 1861. נוכל למצוא את יום העוגן באמצעות הטבלה שלעיל או לחשבו - 18 מודולו 4 הוא 2, כפול 5 הוא 10, ועוד 2 הוא 12, מודולו 7 הוא 5 (יום שישי). באמצעות חישוב a,b,c בדומה לדוגמה לעיל, סיכומם והוספת 5, נקבל 11. 11 מודולו 7 הוא 4, ומכאן שיום הדין היה בחמישי (אינדקס 4). נשתמש ביום הדין 4/4 שחל 8 ימים קודם לפני ה-12 באפריל. 8+4 הם 12. 12 מודולו 7 הוא 5 (יום שישי). מכאן שה-12 באפריל 1861 חל בשישי.

הערות שוליים

  1. ג'ון הורטון קונוויי,
    "Tomorrow is the Day After Doomsday", Eureka,
    כרך 36, עמודים 28-31, אוקטובר 1973.
  2. לואיס קרול,
    "To Find the Day of the Week for Any Given Date", Nature,
    31 במרץ 1887
הערך באדיבות ויקיפדיה העברית, קרדיט,
רישיון cc-by-sa 3.0
This article is issued from Hamichlol. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.