שלום לכם,

ידיעה מכפר הגמדים: בר-מוח וכמה מחבריו נתפסו בידי הענק הרשע. הם נאסרו וכל אחד מהם הוכנס לתא משלו. סוהר הועמד לפקח עליהם.

הענק אמנם רשע, אבל בכל זאת גילה קצת רחמנות. הוא הודיע שאם יצליחו במשחק הבא הוא ישחרר את כולם:

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

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

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

האם תוכלו גם אתם למצוא את האסטרטגיה?

כמה דגשים:

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

2. תיתכן אסטרטגיה שונה לאסירים שונים.

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

4. האסיר שמצהיר "כולם היו" לא חייב להצהיר את זה מיד. יכול מאוד להיות שהוא יידע לומר את זה רק אחרי שכל אסיר יהיה בחדר אלף פעמים.

                                אילוסטרציה: Shutterstock

תודה לניסן ששלח לי את החידה,
ובהצלחה!

סקובידו


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

13 תגובות

  • אלטרנטיבי

    מה אתם אומרים על הפיתרון

    מה אתם אומרים על הפיתרון האלטרנטיבי הבא הבא לסעיף ב? האם נכון? מה שכן, ברור שהיפתרון של הדלקה כפולה הוא נכון ואלגנטי יותר. ההוראה שכולם מקבלים חוץ מהסופר היא שמותר להם להדליק את האור רק אחרי שהם ראו אותו דלוק לפחות פעם אחת. מה שאמור לקרות זה שבעצם עד שהסופר נכנס לחדר הפעם הראשונה אף אחד לא נוגע באור, וככה הסופר יודע מה מצב האור בהתחלה. אם האור דלוק, הוא מכבה ולא סופר את הפעם הזו, ואם הוא כבוי אז הוא מדליק אותו ובפעם הבאה שהוא נכנס לחדר הוא יכבה את האור.
    מה שאמור לקרות זה שהאיסירים שמגיעים אחר כך אמורים להבין שה"ספירה" החלה, ולהתחיל לשחק כמו בסעיף א.
    כמובן שעלולים להיות מצבים שבהם לא כל האסירים ראו את האור דלוק לפני שהגיע הסופר, ולכן בכל מצב שהסופר מגיע לחדר ורואה שהאור כבוי (כלומר, שבין הכניסה הקודמת שלו לכניסה הנוכחית אף אסיר לא הדליק אם האור, אם זה בגלל שלא היה שם אף אחד ואם זה בגלל שאף אחד מהאסירים לא ראה לפני כן את האור דולק), הוא מדליק אותו למשך סיבוב אחד, עד שהוא חוזר לחדר ומכבה. מה שאמור לקרות בזמן הזה זה שבינתיים אסירים יראו את האוק דלוק ייכנסו למשחק. בהנחה כמובן שכאשר המשחק מתנהל לאין סוף כל אסיר אמור להיכנס לחדר אין סוף פעמים - הסופר בסוף יגיע ל-99

  • שמעון133

    סיכום פתרון

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

    במידה ולא ידוע מה מצב הנורה ההתחלתי.
    יקבע כנ"ל "סופר", שתפקידו בדיוק כמו בפתרון הראשון.
    לעומת זאת ה"פשוטים" כל אחד ידליק את הנורה בפעמיים הראשונות! שימצא אותה כבויה.
    נחזור אל הסופר: כשהוא יספור הדלקות כמספר הפשוטים כפול שניים, יהיה בטוח שכולם כבר ביקרו כאן, (שהרי אף אם נניח שהנורה היתה דלוקה, זה מוריד רק הדלקה אחת מהספירה שלו, ועדיין כל אחד מהפשוטים הדליק לפחות פעם אחת).

  • עטרה

    חידת המשך ב

    עבור n אסירים, נגדיר משתנה Ln, שמציין את אורך המשחק, כלומר, את מספר כל הכניסות לתא שבו נמצאת הנורה.
    נניח שיש רק n=2 אסירים, כלומר, רק בר-מוח וגמד נוסף.
    עבור איזה ערך m, ההסתברות לכך שאורך המשחק יהיה m, שווה להסתברות לכך שאורך המשחק יהיה m+1, כלומר, מתקיים
    (P(L2=m) = P(L2=m+1 ?
    מה התוחלת של המשתנה L2 ?

  • רמי

    פתרון לחידת המשך ב

    עבור משתנה Ln ו n=2 התשובות הן : m=4 והתוחלת היא 6
    הסבר:
    הנחות יסוד:
    המנורה כבויה בתחילת המשחק, ה"סופר" מדליק את הנורה, הגמד השני מכבה נורה דלוקה.

    נסמן את ה"סופר" בספרה 1, ואת הגמד השני בספרה 2.
    עבור m=4 הכניסות האפשריות הן מהצורות : 1121 1221 2121
    במקרה זה ההסתברות היא 4^0.5*3 = 0.1875
    עבור m=5 הכניסות האפשריות הן מהצורות : 12221 11221 11121 21121 22121 21221
    במקרה זה ההסתברות זהה והחישוב 5^0.5*6 = 0.1875

    התוחלת היא סכום כל המכפלות של ערכי המשתנה L2 בהסתברויות שלהם.
    נסמן ב Ai את מספר המופעים האפשריים באורך i.
    נגדיר A1=A2=0
    ניתן לראות כי A(i)=2*A(i-1)-A(i-2)+1
    נחשב את סכום הערכים מהערך m=3 (*) ועד אינסוף של ביטוי התוחלת ΣAm*(0.5^m)=6 ונקבל 6.
    (*) המינימום האפשרי ל m הוא 3. כלומר מינימום מספר הפעמים לכניסה לתא ועד הודעת סיום על פי הנחות היסוד הוא 3.

  • עטרה

    פתרון טוב

    זה רעיון טוב להגדיר את Ai באופן רקורסיבי. אני הגדרתי באופן לא רקורסיבי והסתבכתי עם החישובים.

  • רמי

    פתרון עבור המקרה בו לא ידוע מצב הנורה בתחילת המשחק

    N - מספר הגמדים האסורים
    הפתרון דומה לפתרון עם נורה כבויה בתחילת המשחק למעט הדברים הבאים :
    1) כל אסיר (שאינו "הסופר") יכבה את הנורה פעמיים (במקום פעם אחת) בשני ביקורים שונים בתא בהם הנורה דולקת.
    2) "הסופר" יספור 2N-2 פעמים של הדלקות (כלומר לאחר שיזהה שאת ההדלקה 2N-2 מישהו כיבה), הוא יצהיר ש"הוא יודע בוודאות שכל שאר האסירים כבר הוצאו מחדרם והובאו לחדר עם הנורה".

    הסבר:
    אם הנורה היתה כבויה בתחילת המשחק, הספירה היתה נכונה. כל N-1 האסירים כיבו הנורה פעמיים.
    אם הנורה היתה דלוקה בתחילת המשחק, אחד האסירים כיבה רק פעם אחת את הנורה וזה מספיק כדי להבטיח שהוא ביקר בתא.

  • עטרה

    חידת המשך א

    באיזה מקרה "הסופר" יכול לסיים את המשחק כבר אחרי 2N-3 הדלקות?

  • רמי

    פתרון עבור המקרה בו הנורה כבויה בתחילת המשחק

    א] הנחות יסוד:
    1) כל האסירים יודעים כי הנורה בתא כבויה בפעם הראשונה שהאסיר הראשון יכנס אליו.
    2) בגלל האקראיות אין הבטחה הסתברותית שכולם יבקרו בתא. בכל זאת נניח שכולם מגיעים לתא מספיק פעמים !!

    ב] יבחר אסיר אחד מבין הגמדים שיקרא "הסופר" :
    1) "הסופר" יספור את מספר הפעמים שהוא בעצמו ידליק את הנורה.
    2) "הסופר" , בהיכנסו לתא, אם הנורה כבויה, ידליק אותה (ויוסיף אחד למספר הפעמים שספר).
    3) "הסופר" , בהיכנסו לתא, אם הנורה דלוקה, ישאיר אותה דלוקה.

    ג] כל שאר N-1 האסירים , כשיגיעו לתא יעשו את הפעולות הבאות :
    1) אם הנורה כבויה, לא יגעו במתג.
    2) בפעם הראשונה שאסיר נכנס לתא והנורה דולקת, הוא יכבה אותה. בזאת תמה פעילותו האקטיבית של האסיר הזה. כל פעם שיכנס לתא במועד מאוחר יותר, לא יגע במתג.

    ד] לאחר ש"הסופר" ספר N-1 הדלקות (ש N-1 האסירים האחרים כיבו), הוא יכול בלב שלם לדווח "כל האסירים האחרים היו בתא הזה לפני", וכולם ייצאו לחופשי על בטוח.

  • עטרה

    תשובה טובה

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

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

  • רמי

    מספיק פעמים

    מבחינה הסתברותית אין הבטחה שהמשחק סופי בכל מקרה.
    כדי לאפשר סופיות המשחק תמיד הנחתי הנחה כללית שהוא סופי בזה שכל האסירים מגיעים לתא מספר פעמים שהוא מספיק לסיום המשחק.
    כדי להיות מדוייק יותר, הייתי יכול להניח כי רנדומיזציית הגמדים היא פסיאודו רנדום, והיא מחזורית עבור מספר סופי כל שהוא K > 10000 (למשל), והיא עוברת על כל המספרים מ 1 ועד 100 לפחות פעם אחת בכל מחזור, ואז יש הבטחה שכל K פעמים של ביקורים בתא, כל הגמדים מבקרים בתא לפחות פעם אחת. ולכן בפרט לאחר 300 מחזורים כאלה לכל היותר, ה"סופר" יוכל להצהיר את הצהרתו.

  • עטרה

    יותר מ 300, אבל זה לא עקרוני

    אם היו 300 מחזורים, ובכל המחזורים הזוגיים ה"סופר" היה הראשון שנכנס לתא, ובכל המחזורים האי זוגיים ה"סופר" היה האחרון שנכנס לתא, אז 300 מחזורים לא יספיקו.

  • שי

    חצי פתרון

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

  • רמי

    רמז

    מה דעתך, למקרה שלא יודעים את מצב המנורה, שכל אסיר יכבה את המנורה פעמיים ?
    האם זה יכול לעזור ל"בודק"?