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