30
םםםםםם םםםםםםםםםMINIMAX ( םםםם םםםםם םםםםםםםם236501 ) םםםם םםםםם, םםםםםם םםםם םםםםם םםםם2013-14

משחקים ואלגוריתם MINIMAX

  • Upload
    ganesa

  • View
    133

  • Download
    0

Embed Size (px)

DESCRIPTION

משחקים ואלגוריתם MINIMAX. מבוא לבינה מלאכותית (236501) מדעי המחשב, טכניון עומר גייגר חורף 2013-14. Game characteristics. משחק שני שחקנים : מספר הסוכנים הוא . משחק תור מתחלף : משחק שני שחקנים – סכום אפס : פונקציית תועלת ( Utility ) פשוטה במקרה של משחק סכום אפס: - PowerPoint PPT Presentation

Citation preview

Page 1: משחקים ואלגוריתם  MINIMAX

ואלגוריתם MINIMAXמשחקיםמלאכותית ) לבינה (236501מבוא

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

2013-14חורף

Page 2: משחקים ואלגוריתם  MINIMAX
Page 3: משחקים ואלגוריתם  MINIMAX
Page 4: משחקים ואלגוריתם  MINIMAX

Game characteristicsשחקנים שני הוא: .משחק הסוכנים מספרמתחלף תור : משחק

אפס – סכום שחקנים שני : משחקתועלת ) :Utilityפונקציית אפס( סכום משחק של במקרה פשוטה

? שחקנים עם אפס סכום משחק מהו

? זה למקרה את נרחיב איך

U (𝑠 , 𝑖 )={ 1 𝐺(𝑠)∧𝑝𝑙𝑎𝑦𝑒𝑟 𝑖𝑤𝑖𝑛𝑠−1 𝐺(𝑠)∧𝑝𝑙𝑎𝑦𝑒𝑟 𝑖 𝑙𝑜𝑠𝑒𝑠0

𝑈𝑛𝑑𝑒𝑓𝑖𝑛𝑒𝑑𝐺(𝑠)∧𝑡𝑖𝑒𝑁𝑂𝑇𝐺(𝑠)

𝑈 (𝑠 ,𝑖 )={ 𝐾−1 𝐺(𝑠)∧𝑝𝑙𝑎𝑦𝑒𝑟 𝑘𝑤𝑖𝑛𝑠𝑈 (𝑠 ,𝑖) 𝑒𝑙𝑠𝑒

∀𝑠∈𝐺 :∑𝑖=1

𝐾

𝑈 (𝑠 , 𝑖 )=0

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

Page 5: משחקים ואלגוריתם  MINIMAX

Game characteristicsמלאה אינפורמציה .משחק הסוכנים: לכל ידוע הנוכחי המצב שלב בכלחלקית אינפורמציה (.משחק " חלקית: ) ידוע כ בד לסוכנים ידוע לא הנוכחי המצב

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

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

? האידטרמיניזם אתשל + הקוביות תוצאת החיילים מצב

. אידטרמיניסטי עוקב מצב השחקן...?" מתחלף " תור שאינו למשחק דוגמה תנו

. השחקן: לאותו נוסף תור נותן דאבל מונופול

משחק אינפורמציה דטרמיניסטיפוקר חלקית כן

רמי חלקית כןששבש מלאה לאשחמט מלאה כןדמקה מלאה כןריסק חלקית לא

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

Page 6: משחקים ואלגוריתם  MINIMAX

Game treeמשחק : עץ

-. מצב מייצג צומת כל-. התחילי המצב הינו השורש-." " " " הבן מצב ל האב מצב מ חוקי מהלך מייצגת קשת כל

? המשחק לעץ ביחס ספיציפי משחק מהו ) התחילי )= המצב מהשורש מסלול

) סופי )= מצב לעלה ועד

המשחק סופיות ( הנחת " עץ: ) כל פיתוח את חישובית לא כ בד תיאורטית מאפשרת. חסום הסיעוף שמקדם ההנחה תחת המשחק

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

Page 7: משחקים ואלגוריתם  MINIMAX

Strategy tree) סוכן ) של : אסטרטגיה

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

המתאים. : אסטרטגיה עץ

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

. , זה למצב יגיע והמשחק במידה יבחר בו המהלך יחיד בן נשמור

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

Page 8: משחקים ואלגוריתם  MINIMAX

Minimax functionמינימקס : פונקצית

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

. המינימלי הערך את יריב

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

Page 9: משחקים ואלגוריתם  MINIMAX

Minimax run

+3

+5

-1 +2

-3 -2 -4 +1

MAX SELECTS

MIN SELECTS

MAX SELECTS+5 +2

+2

-2 +1

-2

+2

-5 -1 -4 +5

-1 +5

-1

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

Post-Order DFSFather after all sons

...? וזיכרון זמן סיבוכיותבעומק: לינארי זיכרון

אקספוננציאלי: זמןבעומק

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

Page 10: משחקים ואלגוריתם  MINIMAX

Tic Tac Toe example

Page 11: משחקים ואלגוריתם  MINIMAX

Minimax algorithmנתעניין ריצה זמן של פרקטיים משיקולים

של המשאבים מוגבלת בגרסה כלל בדרךהאלגוריתם:

לערך .- הנפרש העץ עומק את נגבילמצבי - את נעריך זה לעומק בהגעה

" הערכה פונקציית י ע המשחקיוריסטית

יותר" - קיצוניים יהיו שערכי נקפיד כ בד. היורסטיים ההערכה מערכי

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

Page 12: משחקים ואלגוריתם  MINIMAX

RB-Minimax

DIFF

Page 13: משחקים ואלגוריתם  MINIMAX

Minimax example

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

(http://upload.wikimedia.org)

: הצמתים כל וכמוהו מסוים מעלה הגיע עלה שאינו בצומת ערך כל לב שימובמסלול

Page 14: משחקים ואלגוריתם  MINIMAX

א, 2007-8חורף מועד

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

ידע.

.

Exam Q1

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

הנתונים: לעומקים נתייחס הערה . שכבת כל כלומר כפולים כעומקים

. יריב ומהלך סוכן מהלך כוללת עומק

Page 15: משחקים ואלגוריתם  MINIMAX

Exam Q2

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

א, 2007-8חורף מועד

תת - ובנוסף ערך מהשגרה להחזיר צורך יש כנלמד אסטרטגיה עץ לשמור מנת על : הנבדק מהצומת עץ

•. בודד - צומת מחזירים מהעלים.MINמצמתי • רקורסיבי: באופן המחושבים העצים תתי כל יהיו והבנים שורש.MAXמצמתי • : מקסימלי: ערך כבעל שנבחר העץ תת יחיד בן עם שורש

-. הקשתות על המקודדות הפעולות את לזכור כמובן חשוב

Page 16: משחקים ואלגוריתם  MINIMAX

Exam Q2

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

-. צעדים כל של הראשון בצעד מתבצעת העץ של הבניהאנו - בעץ צומת באיזה לזכור צורך יש כאשר הצמתים ביתר נעשה בעץ השימוש

. שלו העץ בתת שאינו מה כל את להשמיט וניתן נמצאים-- ה שחקן יכול .MAXכך הצומת - של היחיד הבן לביצוע המהלך את זמן ב למצוא

Step 1Step 2

…Step BPlay

Opponent

Opponent

Play

Play

הערה:B בהכרח אינו

העץ עומקשאולי כפי

משתמע מהאנימציה

Page 17: משחקים ואלגוריתם  MINIMAX

Exam Q2

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

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

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

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

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

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

Page 18: משחקים ואלגוריתם  MINIMAX

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 19: משחקים ואלגוריתם  MINIMAX

pruning

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

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

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

לשחקן – המובטח .MAXערך מקביל מענףלשחקן – המובטח .MINערך מקביל מענף

MIN SELECTS

5𝛽=5

MAX SELECTS

2𝛼=2

Page 20: משחקים ואלגוריתם  MINIMAX

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

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

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

pruning

MIN SELECTS

5𝛽=5

MAX SELECTS

2𝛼=2

8 1

8 1

PRUNE PRUNE

MAX SELECTS

MIN SELECTS

Page 21: משחקים ואלגוריתם  MINIMAX

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

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

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

pruning

MIN

5𝛽=5

MAX

2𝛼=2

8 1

8 1

PRUNE PRUNE

MAX MIN

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

מהאח

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

והממוצע

Page 22: משחקים ואלגוריתם  MINIMAX

MIN

5𝛽←5

Deep pruning62 7

MIN

75

…MAX

MAX

𝒗 ≤𝟓

𝒗 ≤𝟕

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

MAX

6𝛼←6

1

8 5

𝒗 ≥𝟔

MAX

MIN

MIN

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

1

Deep pruning

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

Page 23: משחקים ואלגוריתם  MINIMAX

algorithm (RB)

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

DIFF

Page 24: משחקים ואלגוריתם  MINIMAX

bound

Deep Shallow

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

Page 25: משחקים ואלגוריתם  MINIMAX

bound

Deep Shallow

Page 26: משחקים ואלגוריתם  MINIMAX

characteristics-. ) , המינימקס ) אסטרטגייה מסלול ערך את מחזיר האלגוריתם-. נשמר החיפוש בעץ השורש ערך- ...? נשמרת פנימית צומת ערך-: המשאבים מוגבל מינימקס של ההבטחה משפט

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

. צעדים בעוד

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

לא!

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

Page 27: משחקים ואלגוריתם  MINIMAX

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

(2012-13חורף) א, מועד . - שחמט למשחק הנחוצות הפונקציות ואת ביתא אלפא אלגוריתם את ממש סטודנט

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

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

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

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

Exam Q3

Page 28: משחקים ואלגוריתם  MINIMAX

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

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

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

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

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

Exam Q3

W W

W

W W

W

? ?

?

Page 29: משחקים ואלגוריתם  MINIMAX

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

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

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

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

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

Exam Q3

Page 30: משחקים ואלגוריתם  MINIMAX

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

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

Thank you! questions?