אלגוריתמים מקביליים - Guy Tel-Zur

Download Report

Transcript אלגוריתמים מקביליים - Guy Tel-Zur

‫משחק שחמט מול‬
‫מחשב על‬
‫אורנית אלטחן‬
‫נופר חסון‬
‫רקע‬
‫• תכנות מחשב לשחק שחמט מהווה אתגר חישובי גדול‪.‬‬
‫• מאז שנת ‪ 1949‬ועד היום היו ניסיונות לתכנת מחשב‬
‫לשחק שחמט‪.‬‬
‫• האתגר במשחק שחמט מוגדר כתיאום בין ‪ 3‬צירים‪:‬‬
‫• ציר המרחב‪ -‬מס' המשבצות הנשלטות ע"י כל צד‪.‬‬
‫• ציר הכוח‪ -‬ספירת הכלים שעל הלוח וחוזקם היחסי‪.‬‬
‫• ציר הזמן‪ -‬מתן פרשנות לאיכות העמדה של כל‬
‫שחקן וזיהוי הזדמנויות‪.‬‬
‫רקע‬
‫• ”‪ “DEEP THOUGHT‬היה המחשב הראשון‬
‫שתוכנן לפתור בעיה זו‪ “DEEP BLUE” ,‬הוא‬
‫פיתוח של מחשב זה‪.‬‬
‫• בשנת ‪ 1996‬הצליח מחשב לנצח את אלוף‬
‫העולם בשחמט בפעם הראשונה‪ ,‬היה זה‬
‫”‪.“DEEP BLUE‬‬
‫• ”‪“DEEP BLUE‬‬
‫רקע‬
‫• הינו מחשב הפועל בצורה מקבילית‪,‬‬
‫ומורכב מ‪ 128-‬מעבדים מקביליים של‬
‫חברת ‪.IBM‬‬
‫• המחשב מסוגל להעריך ‪200,000,000‬‬
‫מצבי שחמט בשנייה (ולא פעולות‬
‫מתמטיות פשוטות!)‪.‬‬
‫• בעל יכולת לחפש עד למרחק של ‪12‬‬
‫צעדים קדימה (שחקני שחמט טובים‬
‫מחפשים עד בערך ‪ 10‬מהלכים‬
‫קדימה‪)...‬‬
‫האתגר החישובי‬
‫• תוכנות השחמט בנויות מ‪ 2-‬חלקים‪:‬‬
‫• חיפוש‪ -‬תהליך חקירה של מס' צעדים קדימה‪.‬‬
‫• הערכה‪ -‬אומדן החוזק של מצב נבדק ודירוגו‪.‬‬
‫האתגר החישובי‬
‫• חישוב הצעדים האפשריים הבאים נעצר בשלב שנקבע‬
‫ע"י המתכנת‪ ,‬בהתאם לכוח החישוב העומד לרשותו‪.‬‬
‫• הליך החישוב קשור למרכיב החישובי של התוכנה‪ ,‬ואילו‬
‫ההערכה מבטאת את הידע וההבנה בשחמט‪.‬‬
‫• פונקציית ההערכה הינה המרכיב המכריע ביותר‬
‫בתהליך‪.‬‬
‫אלגוריתמים מקביליים‬
‫• ישנן מספר שיטות לחלוקת העבודה בין המעבדים‪.‬‬
‫• נתייחס לשיטה שנקראת ‪ , PVSplit‬בשיטה זו כל צומת‬
‫מבוטא ע"י תהליכון‪ ,‬אשר יצור עוד תהליכון עבור כל‬
‫צעד אפשרי מאותה נקודה וכן הלאה‪.‬‬
‫אלגוריתמים מקביליים‬
‫הנוסחה לחישוב‬
‫האצה בשיטת‬
‫ה ‪: PVSplit‬‬
‫𝟏‪−‬‬
‫𝟏‬
‫𝟐‬
‫≅ 𝒑𝒖𝒅𝒆𝒆𝒑𝒔‬
‫‪+‬‬
‫𝒑𝟑 𝟑‬
‫אלגוריתמים מקביליים‬
‫אלגוריתמים מקביליים‬
‫ישנן שיטות נוספות מורכבות יותר לחלוקת העץ‪,‬‬
‫אשר בהתאמה מניבות תוצאות טובות יותר‪.‬‬
‫להלן השוואת ההאצה בין השיטות‪:‬‬
‫ייעול הפתרון‬
‫• קצת מספרים‪...‬‬
‫חישוב ‪ 4‬צעדים קדימה מוביל למציאת מאות‬
‫מיליוני מהלכים אפשריים‪.‬‬
‫ייעול המערכת נעשה ע"י פסילת מהלכים "טיפשיים"‬
‫ונמנעת מבדיקת ההמשכים האפשריים להם‪.‬‬
‫כך ניתן להעמיק את החישוב עבור המהלכים ה"חכמים"‪.‬‬
‫גישות נוספות‬
‫• בעשור הקודם המיקוד העיקרי היה בציר הכוח וציר‬
‫המרחב‪ “DEEP BLUE” .‬הייתה מהירה מאוד אך לא‬
‫חכמה במיוחד‪.‬‬
‫• בשנים האחרונות פותחו תוכנות המוותרות בציר המרחב‬
‫וציר הכוח ונותנות דגש בציר הזמן‪ ,‬לדוגמא תוכנת‬
‫השחמט "ג'וניור" אשר זכתה באליפות העולם לשחמט‬
‫ממוחשב בשנים ‪ 2001,2002‬ו‪.2007-‬‬
‫• תוכנת "ג'וניור" סורקת משחקים רבים ככל האפשר כדי‬
‫למצות מתוכם רעיונות ולשפר את יכולת ניתוח העמדה‬
‫שלה‪.‬‬
‫ביבליוגרפיה‬
1. Deep Blue: Computer Chess and
Massively Parallel Systems by C.J.
Tan
2. Parallelizing a Simple Chess
Program by Brian Greskamp
3. ‫ מגזין גלילאו‬-‫אבולוציה בשחור לבן‬
4. ‫ מגזין גלילאו‬-‫לשחק כמו מכונה‬
5. Chess programming site