שני חברים צריכים למצוא אסטרטגיה שמאפשרת את הדבר הבא:

אחד מהם מקבל לוח שחמט שעליו 64 מטבעות המונחים בצורה אקראית: עץ או פלי. הוא מקבל גם פתק עם מספר כלשהו שנמצא בין 1 ל-63 (שימו לב לא ל-64).

מותר לו להפוך מטבע אחד בלבד (!) על הלוח, כך שכאשר החבר שלו יראה את הלוח הוא יידע איזה מספר היה כתוב על הפתק.

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

תודה רבה לגולש גד ברט ששלח לנו חידה זו.

מקור החידה בתורת ההצפנה. המתמטיקאי אנדי ליו דן בחידות הדומות לחידה הנ"ל במאמר "Two Applications of a Hamming Code" שפורסם בינואר 2009 בכתב-העת "The College Mathematics Journal". 

הצפנה ופריצה נעימה!             

סבינה



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

13 תגובות

  • חגי

    פתרון לחידה ותיקון לחידה

    זהירות ספוילר למי שרוצה לפתור לבד. בעקרון אפשר להציג את המספרים מ- 0 עד 63 ע"י 6 ביטים ביצוג בינארי.
    נמספר את ריבועי הלוח מ-0 עד 63.
    נגדיר את המקודד הבא: באם קיים על רבוע מסוים עץ אזי נמיר את מספר הרבוע ליצוג בינארי בין 6 ספרות ונרשום בצד, באם יש שם פלי לא נוסיף אותו לרשימה.
    עכשיו יש לנו רשימה של מספרים בינאריים בני 6 ספרות. נבצע סכום XOR-wise בין המספרים. כלומר נרשום את הספרות בטור ונספור כמה אחדות יש בכל טור - אם המספר איזוגי נרשום 1, אם זוגי נרשום 0.
    קבלנו מספר בעל 6 ספרות שמהווה סכום xor-wise של המספרים.
    עכשיו נשווה את המספר שהתקבל למספר הרצוי - שרשום בפתק. שימו לב שאני גם מאפשר שיהיה רשום 0 כלומר ניתן לתמוך גם ב-64 מספרים.
    נבצע את פעולת ה-XOR בין הרצוי לתוצאת הלוח. נמיר את המספר חזרה למספר עשרוני בין 0-63. המספר שיצא הינו המיקום בלוח אותו יש להפוך.
    אחרי ההפיכה תוצאת המקודד תהיה זהה לתוצאה הרצויה.

  • יוסי

    לא ברור לי דבר אחד

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

  • מומחה מצוות מכון דוידסוןסבינה

    לא

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

  • עדי

    פתרון

    נסמן מצב של עץ בתור אחד ומצב של פלי בתור 0. החבר הראשון מקבל קבוצה של אחדות ואפסים וצריך לשנות מטבע אחד בשביל החבר השני. עכשיו משתמשים בעובדה שאפשר בעזרת בסיס בינארי לייצג כל מספר מ1 עד 63 עם 6 ביטים (0 או 1). אם כך השחקן הראשון, בעזרת שינוי של ביט אחד - מטבע אחד - לייצג שישה ביטים מסוימים.

    נחלק את הלוח לשש קבוצות (לא זרות) ולכל ועל ערכי כל קבוצה נפעיל XOR שיבדוק אם יש מספר זוגי של אחדות או אי זוגי ולכן שינוי של ביט אחד בקבוצה ישנה את הביט הסופי של תוצאת ה XOR כעת נסדר כך שכל משבצת תתאר תהיה שייכת למספר שונה של קבוצות. אני אסביר:
    נניח שלאחר ביצוע ה XOR השחקן הראשון קיבל 110111 והוא צריך ליצור את המספר 111011. הוא יצטרך לשנות שני ביטים, את השלישי ואת הרביעי. הוא יודע (צריך להוכיח) שיש משבצת שייכת אך ורק לקבוצה שלוש ולקבוצה 4. ברגע שישנה אותה ביטים 3,4 ישתנו ונקבל את המספר 111001 (המספרים הם 56 ו59 בבסיס בינארי).

    במקום להסביר את פורמלית כדאי לשים לב שכל משבצת היא מין תת קבוצה של {1,2,3,4,5,6} אם נרצה לשנות את הביט הראשון, החמישי והשישי נלך לתת קבוצה {1,5,6}. מספר תתי הקבוצות הוא לפי ויקיפדיה:
    https://www.dropbox.com/s/7g9jur98w8h9k5q/Capture.PNG?dl=0
    אשר מבטאת את מספר התת-קבוצות בגודל כלשהו מתוך קבוצה בגודל n "

    כש n=6 מקבלים שצריכות להיות בדיוק 64 ולכן יש מספיק בשביל לכסות את כל האפשרויות

  • מומחה מצוות מכון דוידסוןסבינה

    יפה מאוד וגם מהיר!

    הסבר יפה מאוד! תיקון קטן: יש 63 תת-קבוצות ולא 64. הסכום שרשמת מתחיל ב-1 ולא ב-0. אפשר גם לרשום את כל תת-הקבוצות באופן סיסטמתי ונגיע לאותה התוצאה. ({1}, {2},….{1,2},{1,3}…{2,3},{2,4},…{3,4},…{4,5},…{5,4},…{1,2,3},…)

  • רמי

    השערת פתרון

    נתייחס ללוח השחמט כאל מילה ארוכה באורך של 57 ביטים שאליה התווספו 6 ביטים שהם הקודים של המינג (*). מהביט האחרון (ה 64) נתעלם.
    בהנתן מנח של 64 המטבעות, נתייחס בלי הגבלת הכלליות (בה"ה) לעץ כ 1 ואל ה פלי כ 0.
    נסתכל על המספר הבינרי בן 63 ביטים כעל מספר שהגיע ויש סיכוי שהשתבשו בו מספר ביטים. הביטים עליהם מסתכלים לזיהוי התקלות הם 1,2,4,8,16,32 (הביטים הזוגיים).
    נניח שקיבלנו פתק עם מספר A עליו. מספר בין וכולל 1 ועד וכולל 63 .
    נחפש אילו מספרים מבין הביטים הזוגיים , סכומם נותן A.
    אפשר להגיע לכל סכום שנרצה מ 1 ועד 63 מתת קבוצה של מספרים אלו.
    נרצה לסמן את תת הקבוצה של המספרים האלה כך שיזוהו כתקינים (מבחינת קוד המינג) ואת שאר המספרים כלא תקינים. (אפשר גם הפוך, סימון המספרים בתת הקבוצה כלא תקינים והשאר כתקינים).
    מספיקה הפיכת מטבע אחת כדי לאפשר כל סוג של קומבינציה נדרשת כדי להגיע לסימון הנ"ל.
    האסטרטגיה תיהיה לבדוק את הביטים המציינים תקינות, לחבר את ערכיהם ואז נקבל את המספר A .

    (*) קוד המינג :
    http://he.wikipedia.org/wiki/%D7%A7%D7%95%D7%93_%D7%94%D7%9E%D7%99%D7%A0...

  • מומחה מצוות מכון דוידסוןסבינה

    הודעה לשאר הגולשים (כדי להימנע מתסכולים)

    ניתן להגיע לפתרון גם ללא התייחסות לקוד המינג.

  • מומחה מצוות מכון דוידסוןסבינה

    נא להעמיק

    הכיוון הוא הכון. פתרתי את החידה קצת שונה, אבל אין זה חשוב.

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

    אילו קומבינציות של מטבעות משפיעות על הביטים?

  • מומחה מצוות מכון דוידסוןסבינה

    מאת רמי

    רמי שלח לי קובץ אקסל עם ההסבר הבא: להוכחה אמפירית של פתרון חידה 5 בניתי קובץ אקסל שמחשב עבור לוח נתון (אקראי) איזה מטבע יש להפוך לכל מספר אפשרי המגיע בפתק. כלומר עבור כל מנח אקראי של מטבעות על לוח השחמט, נוצרות שתי עמודות משמאל שמגדירות לכל מספר שעשוי להגיע בפתק איזה מטבע אחד (בריבוע המצוין) יש להפוך על מנת לאפשר לחבר לחשב את המספר שבפתק. כל מה שהחבר צריך לעשות הוא לחשב בשיטת הקוד של המינג את הזוגיות של הקבוצות :
    • קבוצה 1 : מעבר על כל הסיביות בדילוגים של סיבית אחת מהסיבית 1 והלאה. 5,3,1, ... ,63 (מעבר על כל הסיביות האי זוגיות).
    • קבוצה 2 : מעבר על כל הסיביות בדילוגים של שתי סיביות . מהסיביות 2 ו- 3 והלאה. 7,6,3,2,..,63,62 . • קבוצה 4 : מעבר על כל הסיביות בדילוגים של 4 סיביות . מהסיביות 7,6,5,4 והלאה. 15,14,13,12,7,6,5,4,..,63,62,61,60 .
    • קבוצה 8 : מעבר על כל הסיביות בדילוגים של 8 סיביות . מהסיביות 8..15 והלאה.
    • קבוצה 16 : מעבר על כל הסיביות בדילוגים של 16 סיביות . מהסיביות 16..31 והלאה.
    • קבוצה 32 : מעבר על כל הסיביות בדילוגים של 32 סיביות . מהסיביות 32..63 . יש לסכם את הערכים של מספרי הקבוצות שערך הזוגיות שלהם 1. הסכום המתקבל הוא המספר שהיה בפתק!!

  • מומחה מצוות מכון דוידסוןסבינה

    לרמי

    וואו - איזו השקעה!

  • מומחה מצוות מכון דוידסוןסבינה

    רמז?

    עדיין אין תשובות... האם אתם צריכים רמז?

  • עדי

    כן אני אשמח לרמז

    אני די אובד עצות

  • מומחה מצוות מכון דוידסוןסבינה

    רמזים

    בשמחה:
    1) נסו לפתור את הבעיה על לוח 2X2
    2) קראו את הערך "XOR" בויקיפדיה
    3) כדי להתייס למספרים זוגיים ואי-זוגיים של עץ (או פלי).
    4)נסו להכליל את הפתרון שמצאתם ב-1).
    בהצלחה!