1 / 25

משחקים וגיזום אלפא-ביטא

משחקים וגיזום אלפא-ביטא. מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2013-14. Alpha-Beta. Max selects. וגם את זה!. נגזום את ענף זה!. MIN selects. +2. Max selects. -2. +1. +5. +2. +3. +5. -1. +2. -3. -2. -4. +1.

yestin
Download Presentation

משחקים וגיזום אלפא-ביטא

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. משחקים וגיזום אלפא-ביטא מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2013-14

  2. 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

  3. pruning גיזום : עוצר פיתוח בנים בצומת MIN על סמך ערך מובטח לצומת MAX. גיזום: עוצר פיתוח בנים בצומת MAX על סמך ערך מובטח לצומת MIN. הגיזום שומר על פלט האלגוריתם של מינימקס ועשוי לחסוך זמן רב. פיתוחים במקרה הטוב הרע והממוצע 1 8 Max MIN 1 8 prune prune MIN Max החסם שגרם לגיזום הגיע מהאח 2 5 Shallow pruning מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  4. Deep pruning MIN Max 6 MIN 5 Max … … MIN Max 5 7 6 MIN Max 5 1 2 7 6 8 1 5 Deep pruning החסם שגרם לגיזום הגיע מרמה גבוהה (אח של סבא, אח של סבא של סבא,...) מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  5. algorithm (RB) DIFF מהם הפרמטרים המועברים לקריאה החיצונית?...

  6. bound Deep Shallow http://www.youtube.com/watch?v=Eychv62adsI&feature=youtu.be

  7. bound Deep Shallow

  8. characteristics • האלגוריתם מחזיר את ערך (מסלול, אסטרטגייה)המינימקס. • ערך השורש בעץ החיפוש נשמר. • ערך צומת פנימית נשמרת?... • משפט ההבטחה של מינימקס מוגבל המשאבים: • אם אלפא ביטא המוגבל לעומק מחזיר ערך , אזי קיימת אסטרטגיה המבטיחה מצב עם ערך יוריסטי של לפחות בעוד צעדים. • ערך זה הוא הערך הגבוה ביותר בעומק , המובטח לנו. לא! מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  9. Exam Q1 (חורף 2012-13, מועד א) סטודנט ממש את אלגוריתם אלפא-ביתא ואת הפונקציות הנחוצות למשחק שחמט. במשחק שערך נגד התוכנה שם לב שלמרות שהמחשב יכול לנצח את המשחק בצעד הבא במט (מצב סופי בשחמט), הוא נמנע מלבצע את הצעד הזה ובחר צעד אחר. הסטודנט בדק ומצא שכל המימוש נכון ואין באגים בתוכנה. א. איך יתכן מצב כזה? הסבירו בפרוטרוט (רצוי עם איורים מתאימים). ב. הציעו שינוי לאלפא ביתא שימנע מצבים כאלה. תארו את השינויים בפרוטרוט. הסבירו את הפתרון. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  10. Exam Q1 א. איך יתכן מצב כזה? הסבירו בפרוטרוט (רצוי עם איורים מתאימים). פתרון: המצב המתואר יתכן בגלל שמינימקס ואלפא-ביטא אינם מבדילים בין ניצחון מובטח בעומקים שונים. אם הענף שפותח ראשון מבטיח ניצחון בעוד מספר מהלכים ערך המינימקס שלו יהיה זהה לערכו של ענף באורך 1 המבטיח ניצחון מידי. במקרה זה ייבחר המהלך הראשון כיוון שפותח קודם. הערה: למעשה הדבר נכון גם במינימקסרגיל (ללא גיזום). W W ? W W W W ? ? מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  11. Exam Q1 • ב. הציעו שינוי לאלפא ביתא שימנע מצבים כאלה. תארו את השינויים בפרוטרוט. הסבירו את הפתרון. • פתרון: • נחזיר זוג ערכים במקום ערך בודד <ערך מינימקס, עומק>. • כעת בהשוואת זוגות שכאלה נשתמש בעומק כשובר שוויון במקרה ששני ערכי המינימקסשווים לערך ניצחון. • בצמתי מקסימום נעדיף עומק קטן יותר ובצמתי מינימום נעדיף עומק גדול יותר. • אפשרות אחרת היא לשלב את ההופכי לעומק כתוספת לערך מינימקסהמוחזר באופן שישפיע רק במקרה של שוויון בין מצבים סופיים. • ניתן להשתמש בזוגות ערכים גם בתור חסמי האלפא והביטאבאופן דומה. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  12. improvements • סידור מחדש של הבנים • איך נרצה לסדר את הבנים? • נרצה שהבנים בעלי הערך הטוב ייבדקו קודם: • בצמתי MAX הגבוהים, בצמתי MINהנמוכים. • איך נדע מראש? • אפשר להעריך באמצעות אותה יוריסטיקה או אחרת. • סידור דינמי לפי איטרציה קודמת. • למה זה טוב? • מאפשר גיזום בשלב יותר מוקדם. • כמה פיתוחיי צמתים ניתן לחסוך בדרך זו? • זוכרים?... פיתוחים במקרה הטוב הרע והממוצע מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  13. improvements • העמקה סלקטיבית עד רגיעה • מגדירים קריטריון ל"רגיעה". • למשל: הפרש ערך יוריסטי בין מצבים עוקבים מעל סף מסוים. • ממשיכים את העמקה כל עוד לא הגענו לרגיעה... מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  14. improvements • גרסת Anytime • העמקה הדרגתית (Iterative deepening) • זוכרים את הפתרון שהוחזר בעומק האחרון ומחזירים אותו במידה ונגמר הזמן. TIME מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  15. improvements • ספריות פתיחה\סיום • זוכרים אוסף של רצפי משחק נפוצים, מקובלים בספרות או על בסיס pre-processing. • בזמן קבוע (משוערך) בוחרים את המהלך הרצוי. • למה פתיחות (בשחמט)?... • יש מספר מצומצם של פתיחות מקובלות וסביר שניתקל באחת מהן. • למה סיומות (בשחמט)?... • מספר מועט של כלים, ניתן לתכנת התנהגות פר מקרה. • טבלאות מצבים. • נזכור טבלת <מצב, עומק, ערך> בפיתוח העץ ונחסוך חישוב ערך מחדש. • למה חשוב העומק? • מצב זהה בעומק שונה נותן ערך אחר. עומק גדול יותר - ערך מיודע יותר. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  16. MINIMAX python code https://code.google.com/p/aima-python/ מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  17. MINIMAX python code DIFF מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  18. Full AlphaBeta python code DIFF (with Minimax) https://code.google.com/p/aima-python/ מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  19. Full AlphaBeta python code DIFF (with max_value of Minimax) DIFF (with max_value)

  20. Cutoff AlphaBeta python code DIFF (with Full ) https://code.google.com/p/aima-python/ מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  21. Cutoff AlphaBeta python code DIFF (with Full versions)

  22. Exam Q2 רמז : המהלך המוחזר הוא אכן המהלך הרצוי. קיימת בעיה אחרת ביחס לאלפא-ביטא. מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  23. Exam Q2 8 5 8 9 5 מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  24. Exam Q2 אז מה התיקון? ... מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר חורף 2013-14

  25. Thank you! questions? התרגול מבוסס על חומרים באדיבותו של: פרופ' שאול מרקוביץ' מבוא לבינה מלאכותית (236501) מדעי המחשב- טכניון. עומר גייגר, חורף 2013-14

More Related