330 likes | 863 Views
משחקים ואלגוריתם MINIMAX. מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2013-14. Game characteristics. משחק שני שחקנים : מספר הסוכנים הוא . משחק תור מתחלף : משחק שני שחקנים – סכום אפס : פונקציית תועלת ( Utility ) פשוטה במקרה של משחק סכום אפס:
E N D
משחקים ואלגוריתם MINIMAX מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2013-14
Game characteristics משחק שני שחקנים: מספר הסוכנים הוא . משחק תור מתחלף: משחק שני שחקנים – סכום אפס: פונקציית תועלת (Utility) פשוטה במקרה של משחק סכום אפס: מהו משחק סכום אפס עם שחקנים? איך נרחיב את למקרה זה? מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Game characteristics משחק אינפורמציה מלאה: בכל שלב המצב הנוכחי ידוע לכל הסוכנים. משחק אינפורמציה חלקית: המצב הנוכחי לא ידוע לסוכנים (בד"כ ידוע חלקית). משחק דטרמיניסטי: לכל פעולה (מהלך) תוצאה מוגדרת היטב בהינתן המצב. משחק אידטרמיניסטי: קיימת פעולה ומצב בהם המצב העוקב לא ידוע מראש. למה ריסק הוא אינפורמציה חלקית? לא ידועים קלפי הבונוסים והמשימות. איך נייצג מצב בששבש כדי לבטא את האידטרמיניזם? מצב החיילים + תוצאת הקוביות של השחקן מצב עוקב אידטרמיניסטי. תנו דוגמה למשחק שאינו "תור מתחלף"?... מונופול: דאבל נותן תור נוסף לאותו השחקן. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Game tree • עץ משחק: • כל צומת מייצג מצב. • השורש הינו המצב התחילי. • כל קשת מייצגת מהלך חוקי מ"מצב האב" ל"מצב הבן". • מהו משחק ספיציפי ביחס לעץ המשחק? • מסלול מהשורש (=המצב התחילי) • ועד לעלה (=מצב סופי) • הנחת סופיות המשחק: מאפשרת תיאורטית (בד"כ לא חישובית) את פיתוח כל עץ המשחק תחת ההנחה שמקדם הסיעוף חסום. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Strategy tree אסטרטגיה (של סוכן): בהינתן השליטה של הסוכן במהלכים שהוא מבצע והיעדר מידע לגבי היריב, אסטרטגיה תהווה כלל התאמה מכל מצב שהמשחק עשוי להגיע אליו למהלך המתאים. עץ אסטרטגיה: שיטה לייצג אסטרטגיה כעץ חלקי של עץ המשחק שמייצג את מהלכי התגובה של הסוכן למהלכי היריב האפשריים. מצומת יריב נשמור את כל הבנים ומצומת הסוכן נשמור בן יחיד, המהלך בו יבחר במידה והמשחק יגיע למצב זה. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Minimax function • פונקצית מינימקס: • פונקציה מתמטית מוגדרת היטב • פונקציית המינימקס מרחיבה באופן יחיד את הגדרת עבור מצבים שאינם סופיים. • ההגדרה הינה רקורסיבית ובוחרת בצמתי הסוכן את הערך המקסימלי ובצמתי יריב את הערך המינימלי. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Minimax run Max selects +2 MIN selects -2 +2 -1 Max selects +1 -2 +5 +2 +5 -1 -4 +3 +5 -1 +2 -3 -2 +1 -4 -5 -1 +5 סיבוכיות זמן וזיכרון?... זיכרון: לינארי בעומק זמן: אקספוננציאלי בעומק תזכורת למבני נתונים... באיזה סדר מפותחים צמתי עץ המשחק עפ"י האלגוריתם? Post-Order DFS Father after all sons מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Minimax algorithm • משיקולים פרקטיים של זמן ריצה נתעניין בדרך כלל בגרסה מוגבלת המשאבים של האלגוריתם: • נגביל את עומק העץ הנפרש לערך . • בהגעה לעומק זה נעריך את מצבי המשחק ע"י פונקציית הערכה יוריסטית • בד"כ נקפיד שערכי יהיו קיצוניים יותר מערכי ההערכה היורסטיים. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
RB-Minimax DIFF
Minimax example (http://upload.wikimedia.org) שימו לב: כל ערך בצומת שאינו עלה הגיע מעלה מסוים וכמוהו כל הצמתים במסלול מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Exam Q1 • חורף 2007-8, מועד א • נתון שב זמן ניתן לבצע חיפוש עד לעומק . • סיבוכיות הזמן של פיתוח עץ הינה אקספוננציאלית ומתנהגת לפי . • לפיכך, הגדלת העומק ב-1 תיקח פי זמן. • אז חיפוש בעומק ייקח את כל קצבת הזמן . • לא יוותר זמן ליתר המהלכים הבאים ולכן ההחלטות בהן תהינה מידיות וחסרות ידע. • . הערה: נתייחס לעומקים הנתונים כעומקים כפולים. כלומר כל שכבת עומק כוללת מהלך סוכן ומהלך יריב. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Exam Q2 • חורף 2007-8, מועד א • על מנת לשמור עץ אסטרטגיה כנלמד יש צורך להחזיר מהשגרה ערך ובנוסף תת עץ מהצומת הנבדק: • מהעלים - מחזירים צומת בודד. • מצמתי MIN: שורש והבנים יהיו כל תתי העצים המחושבים באופן רקורסיבי. • מצמתי MAX: שורש עם בן יחיד: תת העץ שנבחר כבעל ערך מקסימלי. • חשוב כמובן לזכור את הפעולות המקודדות על הקשתות. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Exam Q2 • הבניה של העץ מתבצעת בצעד הראשון של כל צעדים. • השימוש בעץ נעשה ביתר הצמתים כאשר יש צורך לזכור באיזה צומת בעץ אנו נמצאים וניתן להשמיט את כל מה שאינו בתת העץ שלו. • כך יכול שחקן ה-MAX למצוא ב זמן את המהלך לביצוע - הבן היחיד של הצומת. Step 1 Play Opponent Opponent Play Play Step 2 הערה: B אינו בהכרח עומק העץ כפי שאולי משתמע מהאנימציה …Step B מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Exam Q2 • (כלומר בהשוואה לשחקן ללא שמירת האסטרטגיה) • בכל צעד, האלגוריתם מחזיר את הצעד האופטימלי השקול לזה שהיה מתקבל באלגוריתם מינימקס לעומק הנותר. • זאת לעומת המצב בסעיף ב1 בו מוחזר צעד באופן מידי ללא כל ידע שנשמר. • בצעד הראשון האלגוריתם המשופר יבצע מהלך מושכל יותר. • בצעד השני שני האלגוריתמים יבצעו את אותו המהלך. • בכל המהלכים הבאים האלגוריתם המשופר יחזיר מהלך מושכל פחות. במהלך ה () יוחזר מהלך לפי עומק . • כלומר, כש- האלגוריתם המשופר יחזיר בסוף מהלכים לא מיודעים. • בסה"כ ברוב המצבים האלגוריתם הרגיל יהיה עדיף, אך במצב שנמצא במרחק מניצחון מובטח, האלגוריתם המשופר יהיה עדיף. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Alpha-Beta Max selects וגם את זה! נגזום את ענף זה! MIN selects +2 Max selects -2 +1 +5 +2 +3 +5 -1 +2 -3 -2 -4 +1 מה ניתן לומר בוודאות על ערך המינימקס של צומת זו?... prune מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
pruning גיזום אלפא-ביטא: קיצוץ ענפים שפיתוחם בהכרח לא ישנה את ערך המינימקס, מסלול המינימקסואסטרטגיית המינימקס. הרעיון: נעביר כלפי מטה בקריאה הרקורסיבית שני חסמים – ערך המובטח לשחקן MAX מענף מקביל. – ערך המובטח לשחקן MIN מענף מקביל. Max selects MIN selects 2 5 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
pruning • בפיתוח צומת של MAX, אם החסם של נמוך מהערך המתקבל באחד הבנים נבצע גזימה. (שחקן הMIN יכול למנוע הגעה לענף זה). • בפיתוח צומת של MIN, אם החסם של גבוה מהערך המתקבל באחד הבנים נבצע גזימה.(שחקן הMAX יכול למנוע הגעה לענף זה). Max selects MIN selects 1 8 Max selects MIN selects 1 8 2 5 prune prune מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
pruning גיזום : עוצר פיתוח בנים בצומת MIN על סמך ערך מובטח לצומת MAX. גיזום: עוצר פיתוח בנים בצומת MAX על סמך ערך מובטח לצומת MIN. הגיזום שומר על פלט האלגוריתם של מינימקס ועשוי לחסוך זמן רב. פיתוחים במקרה הטוב הרע והממוצע 1 8 Max MIN 1 8 prune prune MIN Max החסם שגרם לגיזום הגיע מהאח 2 5 Shallow pruning מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Deep pruning MIN Max 6 MIN 5 Max … … MIN Max 5 7 MIN Max 1 2 7 6 8 1 5 Deep pruning החסם שגרם לגיזום הגיע מרמה גבוהה (אח של סבא, אח של סבא של סבא,...) מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
algorithm (RB) DIFF מהם הפרמטרים המועברים לקריאה החיצונית?...
bound Deep Shallow http://www.youtube.com/watch?v=Eychv62adsI&feature=youtu.be
bound Deep Shallow
characteristics • האלגוריתם מחזיר את ערך (מסלול, אסטרטגייה)המינימקס. • ערך השורש בעץ החיפוש נשמר. • ערך צומת פנימית נשמרת?... • משפט ההבטחה של מינימקס מוגבל המשאבים: • אם אלפא ביטא המוגבל לעומק מחזיר ערך , אזי קיימת אסטרטגיה המבטיחה מצב עם ערך יוריסטי של לפחות בעוד צעדים. • ערך זה הוא הערך הגבוה ביותר בעומק , המובטח לנו. לא! מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Exam Q3 (חורף 2012-13, מועד א) סטודנט ממש את אלגוריתם אלפא-ביתא ואת הפונקציות הנחוצות למשחק שחמט. במשחק שערך נגד התוכנה שם לב שלמרות שהמחשב יכול לנצח את המשחק בצעד הבא במט (מצב סופי בשחמט), הוא נמנע מלבצע את הצעד הזה ובחר צעד אחר. הסטודנט בדק ומצא שכל המימוש נכון ואין באגים בתוכנה. א. איך יתכן מצב כזה? הסבירו בפרוטרוט (רצוי עם איורים מתאימים). ב. הציעו שינוי לאלפא ביתא שימנע מצבים כאלה. תארו את השינויים בפרוטרוט. הסבירו את הפתרון. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Exam Q3 א. איך יתכן מצב כזה? הסבירו בפרוטרוט (רצוי עם איורים מתאימים). פתרון: המצב המתואר יתכן בגלל שמינימקס ואלפא-ביטא אינם מבדילים בין ניצחון מובטח בעומקים שונים. אם הענף שפותח ראשון מבטיח ניצחון בעוד מספר מהלכים ערך המינימקס שלו יהיה זהה לערכו של ענף באורך 1 המבטיח ניצחון מידי. במקרה זה ייבחר המהלך הראשון כיוון שפותח קודם. הערה: למעשה הדבר נכון גם במינימקס רגיל. W W ? W W W W ? ? מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Exam Q3 • ב. הציעו שינוי לאלפא ביתא שימנע מצבים כאלה. תארו את השינויים בפרוטרוט. הסבירו את הפתרון. • פתרון: • נחזיר זוג ערכים במקום ערך בודד <ערך מינימקס, עומק>. • כעת בהשוואת זוגות שכאלה נשתמש בעומק כשובר שוויון במקרה ששני ערכי המינימקסשווים לערך ניצחון. • בצמתי מקסימום נעדיף עומק קטן יותר ובצמתי מינימום נעדיף עומק גדול יותר. • אפשרות אחרת היא לשלב את ההופכי לעומק כתוספת לערך מינימקסהמוחזר באופן שישפיע רק במקרה של שוויון בין מצבים סופיים. • ניתן להשתמש בזוגות ערכים גם בתור חסמי האלפא והביטאבאופן דומה. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14
Thank you! questions? התרגול מבוסס על חומרים באדיבותו של: פרופ' שאול מרקוביץ' מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14