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

25
םםםםםם םםםםםםםםםם- םםםם( םםםם םםםםם םםםםםםםם236501 ) םםםם םםםםם, םםםםםם םםםם םםםםם םםםם2013-14 β

Upload: yestin

Post on 05-Jan-2016

106 views

Category:

Documents


8 download

DESCRIPTION

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

TRANSCRIPT

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

- ביטא אלפא וגיזום משחקיםמלאכותית ) לבינה (236501מבוא

, טכניון המחשב מדעיגייגר עומר

2013-14חורף

𝜶 β

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

Alpha-Beta

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

+3

+5

-1 +2

-3 -2 -4 +1

MAX SELECTS

MIN SELECTS

MAX SELECTS+5 +2

+2

-2

...? זו צומת של המינימקס ערך על בוודאות לומר ניתן מה

𝒗 ≤−𝟐

+1

𝒗 ≤𝟏

! זה ענף את נגזום ! זה את וגם

PRUNE

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

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

בצומת : בנים פיתוח עוצר לצומת MINגיזום מובטח ערך סמך .MAXעל

בצומת : בנים פיתוח עוצר לצומת MAXגיזום מובטח ערך סמך .MINעל

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

pruning

MIN

5

𝛽=5MAX

2𝛼=2

8 1

8 1

PRUNE PRUNE

MAX MIN

Shallow pruningהגיע לגיזום שגרם החסם

מהאח

פיתוחים במקרה הטוב הרע

והממוצע

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

MIN

5

𝛽←5

Deep pruning62 7

MIN

7

5

…MAX

MAX

𝒗 ≤𝟓

𝒗 ≤𝟕

)..., , סבא ) של סבא של אח סבא של אח גבוהה מרמה הגיע לגיזום שגרם החסם

MAX

6𝛼←6

1

8 5

𝒗 ≥𝟔

MAX

MIN

MIN

𝒗 ≥𝟏𝛼←𝑀𝑎𝑥 (6 ,1 )=6

1

5

Deep pruning

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

6

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

algorithm (RB)

...? החיצונית לקריאה המועברים הפרמטרים מהם

DIFF

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

bound

Deep Shallow

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

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

bound

Deep Shallow

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

characteristics-. ) , המינימקס ) אסטרטגייה מסלול ערך את מחזיר האלגוריתם

-. נשמר החיפוש בעץ השורש ערך

- ...? נשמרת פנימית צומת ערך

-: המשאבים מוגבל מינימקס של ההבטחה משפט

קיימת , • אזי ערך מחזיר לעומק המוגבל ביטא אלפא אם

לפחות של יוריסטי ערך עם מצב המבטיחה אסטרטגיה

. צעדים בעוד

•. לנו , המובטח בעומק ביותר הגבוה הערך הוא זה ערך

לא!

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

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

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

(2012-13חורף) א, מועד

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

המשחק את לנצח יכול שהמחשב שלמרות לב שם התוכנה נגד שערך במשחק

,) צעד ) ובחר הזה הצעד את מלבצע נמנע הוא בשחמט סופי מצב במט הבא בצעד

אחר.

. בתוכנה באגים ואין נכון המימוש שכל ומצא בדק הסטודנט

.) ( ? מתאימים. איורים עם רצוי בפרוטרוט הסבירו כזה מצב יתכן איך א

. . בפרוטרוט. השינויים את תארו כאלה מצבים שימנע ביתא לאלפא שינוי הציעו ב

. הפתרון את הסבירו

Exam Q1

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

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

.) ( ? מתאימים. איורים עם רצוי בפרוטרוט הסבירו כזה מצב יתכן איך א

- פתרון ניצחון: בין מבדילים אינם ביטא ואלפא שמינימקס בגלל יתכן המתואר המצב

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

ערך

באורך ענף של לערכו זהה יהיה שלו . 1המינימקס זה במקרה מידי ניצחון המבטיח

. קודם שפותח כיוון הראשון המהלך ייבחר

.) גיזום: ) ללא רגיל במינימקס גם נכון הדבר למעשה הערה

Exam Q1

W W

W

W W

W

? ?

?

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

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

. . בפרוטרוט. השינויים את תארו כאלה מצבים שימנע ביתא לאלפא שינוי הציעו ב

. הפתרון את הסבירו

:פתרון

-.> , עומק > מינימקס ערך בודד ערך במקום ערכים זוג נחזיר

ערכי - ששני במקרה שוויון כשובר בעומק נשתמש שכאלה זוגות בהשוואת כעת

. ניצחון לערך שווים המינימקס

-. יותר גדול עומק נעדיף מינימום ובצמתי יותר קטן עומק נעדיף מקסימום בצמתי

המוחזר - מינימקס לערך כתוספת לעומק ההופכי את לשלב היא אחרת אפשרות

. סופיים מצבים בין שוויון של במקרה רק שישפיע באופן

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

Exam Q1

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

הבנים של מחדש סידור

? הבנים את לסדר נרצה איך

: קודם ייבדקו הטוב הערך בעלי שהבנים נרצה

, MAXבצמתי בצמתי .MINהגבוהים הנמוכים

? מראש נדע איך

-. אחרת או יוריסטיקה אותה באמצעות להעריך אפשר

-. קודמת איטרציה לפי דינמי סידור

? טוב זה למה

. מוקדם יותר בשלב גיזום מאפשר

? זו בדרך לחסוך ניתן צמתים פיתוחיי כמה

זוכרים?...

improvements

פיתוחים במקרה הטוב הרע

והממוצע

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

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

improvementsרגיעה עד סלקטיבית העמקה

-." " רגיעה ל קריטריון מגדירים

-. מסוים: סף מעל עוקבים מצבים בין יוריסטי ערך הפרש למשל

-... לרגיעה הגענו לא עוד כל העמקה את ממשיכים

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

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

improvementsAnytimeגרסת

הדרגתית )- (Iterative deepeningהעמקה

-. הזמן ונגמר במידה אותו ומחזירים האחרון בעומק שהוחזר הפתרון את זוכרים

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

TIME

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

improvements\ סיום פתיחה ספריות

- , בסיס על או בספרות מקובלים נפוצים משחק רצפי של אוסף -preזוכרים

processing.

-. ) הרצוי ) המהלך את בוחרים משוערך קבוע בזמן

...?) בשחמט ) פתיחות למה

. מהן באחת שניתקל וסביר מקובלות פתיחות של מצומצם מספר יש

...?) בשחמט ) סיומות למה

. , מקרה פר התנהגות לתכנת ניתן כלים של מועט מספר

. מצבים טבלאות

-. > , , מחדש > ערך חישוב ונחסוך העץ בפיתוח ערך עומק מצב טבלת נזכור

? העומק חשוב למה

. - . יותר מיודע ערך יותר גדול עומק אחר ערך נותן שונה בעומק זהה מצב( מדעי המחשב- 236501מבוא לבינה מלאכותית )

2013-14טכניון. עומר גייגר חורף

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

MINIMAX python code

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

:// . . / / - /https code google com p aima python

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

MINIMAX python code

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

DIFF

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

Full AlphaBeta python code

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

DIFF

(

with Minimax

)

:// . . / / - /https code google com p aima python

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

Full AlphaBeta python code

DIFF

(

with max_value of Minimax

)

DIFF

(

with max_value

)

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

Cutoff AlphaBeta python code

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

DIFF

(

with Full

)

:// . . / / - /https code google com p aima python

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

Cutoff AlphaBeta python code

DIFF

(

with Full versions

)

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

Exam Q2

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

. : רמז הרצוי המהלך אכן הוא המוחזר המהלך. - ביטא לאלפא ביחס אחרת בעיה קיימת

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

Exam Q2

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

8 9

8

5

5

𝜶=𝟖𝜶′=−∞

𝟓<𝟖

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

Exam Q2

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

... ? התיקון מה אז

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

: של באדיבותו חומרים על מבוסס התרגול' מרקוביץ' שאול פרופ

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

Thank you! questions?