"המחשב האנושי" – מתכוננים למועמדים (7) – פביאנו קרואנה (חלק א) – המחשבים בשחמט / אינדיאני

"תראי אמא, הנה חתול!"

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

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

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

לענייננו. הבאתי את הדוגמה הזאת משום שהיא מדגימה, באופן כללי מאוד מאוד, את המהפכה שהתחילה לפני כ 5 שנים וכבר מתחילה לשנות את ענף השחמט בצורה דרמטית. מדובר בכניסתו של המחשב Alphazero אל עולם השחמט, מחשב שמבוסס על מה שמכנים לרוב "בינה מלאכותית" (AI). המחשב, שהיה למחשב הראשון שניצח את אלוף העולם במשחק הגו הסיני (משימה שמחשבים סטנדרטיים לא הצליחו בה), בנוי באופן שונה מהותית מכל מחשבי השחמט שהיו עד לאותו רגע. מדובר במחשב עם ראייה עמדתית חזקה בהרבה מזאת של המחשבים הקלאסיים וחשיבה שונה לחלוטין את המשחק. אלפאזירו הוא חלק קטן מתוך מהפכה מדעית שהעולם נמצא בעיצומה והוא מצליח כל כך משום שהוא מצליח לחקות חלק מהתהליכים של החשיבה האנושית. אם נחזור לדוגמה לעיל: מחשב רגיל לא יוכל לזהות חתול על ידי צפייה בחתולים שונים לאורך זמן. הוא יהיה חייב לקבל הגדרה מדויקת של החיה ולראות חתול שיענה במדויק על הקריטריונים. גם מיליארדי הגדרות שונות וניתוח שלהם לא יאפשרו לו להגיע למסקנה שתאפשר לו להצביע על חתול ולזהות אותו בוודאות. לשם כך יש צורך בסוג שונה לגמרי של תהליך מחשבה, ביכולת להתמודד עם משתנים שונים (חתול נראה אחרת מזוויות שונות או כשהוא בתנועה, כשהרקע מאחוריו לבן או שחור). מחשבי ה"בינה המלאכותית" או ליתר דיוק מחשבים שעובדים בשיטת "למידה עמוקה" (deep learning) יכולים לזהות עצמים על ידי שיטות לימוד מיוחדות וניתוח שמשתכלל ככל שהם אוספים יותר ויותר מידע. בפוסט הקרוב נתאר בקווים כלליים מאוד את האופן שבו התהווה המחשב ה"קלאסי" ובחלק השני ניגע בכמה נקודות בשיטת העבודה של אלפאזירו ושל הגרסה המונגשת שלו – LeelaC0. אין צורך להבהיר שמדובר בנושאים מסובכים מאוד שעושים שימוש במודלים מתמטיים סבוכים וידע מעמיק בשפות תכנות שונות אבל אני חושב שנוכל להראות חלק מהרעיונות שעומדים מאחוריהם והכי חשוב – להבין דרכם קצת יותר את האופן שבו שחמטאים חושבים ומנתחים את המשחק. העיסוק במחשב יוביל אותנו אל אחד התוצרים המשוכללים ביותר של עידן המחשב – סגן אלוף העולם לשעבר פביאנו קרואנה.

אין אלבום מתאים יותר לכתבה הזאת מאשר זה שיצא לפני 25 שנים ושבוע. גבירותיי ורבותיי – ok computer של רדיוהד.

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

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

לעבודה:

ללמד את המחשב – machine learning

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

נתון לוח של 9 משבצות במבנה של 3×3. כל אחת מהמשבצות יכולות לכלול איקס, עיגול או להיות ריקות. כמה אפשרויות שונות לסידור הלוח יש לנו? נתעלם בהתחלה מהחוקים ונבצע חישוב פשוט: עבור משבצת אחת יש לנו 3 אפשרויות. עבור 2 משבצות – כל הקומבינציות האפשריות בין 3 אפשרויות במשבצת הראשונה ל 3 אפשרויות במשבצת השניה – 3×3=9. עבור שלוש משבצות – 3x3x3=3^3=27. עבור כל המשבצות (9) – 3^9=19,683. מדובר במספר קטן מאוד של אפשרויות כאשר החישוב שלנו כלל גם עמדות "לא חוקיות" היות והמשחק נגמר ברגע שאחד הצדדים תופס שורה, טור או אלכסון. כל מחשב פשוט יוכל לשחק אותו ואף להעריך את העמדות שלו באופן מדויק. כיצד? ניקח עמדה פשוטה של המשחק בו תורו של ה x (נמספר את המשבצות כמו בתרשים 2 בחסות התוכנה המעולה צייר):

תרשים 1
תרשים 2

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

תרשים 3

ברגע שהמחשב יגיע לבחון את משבצת 9 הוא יבין שהצבת x במשבצת פירושה סיום המשחק ולכן הוא לא יצטרך לבחון לעומק הצבה במשבצות 6 ו 8 . לאחר סיום התהליך הוא יחזור אל העמדה הראשונית כשהוא יודע מה ההשלכות של כל מהלך. נוכל לומר לו לתת "ציון" לכל מהלך וכך לדעת איזה מהלך הוא הטוב ביותר. הציון יהיה מורכב בעיקר מניתוח סטטיסטי (כמה הסתעפויות של המהלך נגמרו בניצחון, הפסד או בתיקו) לצד כמה פרמטרים אחרים (העדפת מהלכים שמכריחים את היריב להגיב מייד על פני מהלכים סתמיים וכד'). המחשב עצמו לא יכול להסיק את הפרמטרים הללו והוא בסך הכל מבצע את החישוב ומשתמש במידע שניתן לו. במקרה שלנו המקרה פשוט ביותר משום שניתוח של המחשב יוביל למסקנה שהצבת x במשבצת 9 בתרשים 1 מובילה לעמדה זוכה עבור כל תגובה אפשרית של ה o. לכן המהלך יקבל את הציון הגבוה ביותר ויהיה המהלך העדיף בעמדה הנוכחית. אם כן, קיבלנו בזעיר אנפין הדגמה על האופן שבו תכנת מחשב "מפענחת" משחקים שניתן לתרגם אותם באופן מדויק לשפה לוגית כלשהי. מדובר במודל מתמטי בסיסי בתורת המשחקים שנקרא "עץ מינימקס" (minimax algorithm).

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

המחשב ותיאוריית השחמט

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

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

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

מדובר באחת הנקודות החשובות בנוגע להשוואה בין מחשבים קלאסיים שונים. ההבדל בין המחשבים הישנים דוגמת כחול עמוק לבין מחשבים כמו סטוקפיש לא רק תלוי ב"כח" של המחשב לראות יותר מהלכים קדימה אלא בעיקר באופן שבו לימדו אותו לראות את המשחק. הרי אף פרמטר שקשור במשחק (כמות חומר, מבני רגלים, שליטה בשטח וכו') לא מהווה אינדיקציה אמיתית לניצחון. הפרמטרים השונים עוזרים באופן כללי לדעת להתמצא בתוך עמדה אחת מתוך 10^41 אפשריות שנמצאת על הלוח אבל הם לא יכולים להתגבש לידי תשובה חד משמעית האם העמדה זכויה, מופסדת או שוויונית. ההתפתחות של המחשבים השונים קשורה באופן אדוק לידע התיאורטי אודות המשחק והניסיון לבנות מחשב חזק תלוי בראש ובראשונה ביכולת לענות על השאלה שרק בני אדם יכולים לענות עליה – כיצד מעריכים עמדה שחמטאית. המחשב משתמש בידע הזה כדי לבחון כמות עצומה של מהלכים ולמצוא כיוונים חדשים שהמוח האנושי לא מסוגל להגיע אליהם, אבל הוא עושה זאת רק דרך העיניים של בני האדם והאופן שבו תופסים את המשחק בתקופה שבה התוכנה נבנית. הראייה שלו קדימה עוזרת לו למצוא כיוונים חדשים בעמדה ומצד שני לבטל מהלכים מסוימים שהיו נחשבים הגיוניים אך אין לו את היכולת לקבוע את הקריטריונים עצמם. לשם כך הוא זקוק לחשיבה יצירתית של המתכנתים ולבניית מודל הסתברותי חיצוני בו הוא רק משתמש. המחשב הוא "קבלן ביצוע" והוא יכול להשתמש אך ורק בידע מקדים שניתן לו או בזיכרון שלו אודות עמדות שהוא כבר מכיר.

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

דלתות חדשות

"על כל דלת שסגר המחשב (בשחמט), הוא פתח אחת חדשה" (וישוואנתן אנאנד)

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

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

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

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

לפוסט הזה יש 29 תגובות

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

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

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

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

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

            1. הם בחיים לא יעברו טסט התלמידים האלה…

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

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

  5. עוד יותר באיחור. תודה! סתם הערת תוספת – יש משפט מתמטי בתורת המשחקים (2?) שמוכיח בצורה מתמטית ששחמט הוא משחק פתור כלומר, או לבן מנצח, או שחור מנצח או אחד מהם כופה תיקו. למשל באיקס עיגול – שחור כופה תיקו.

כתיבת תגובה

סגירת תפריט