Robocode – AI via RL

20
Robocode – AI via RL ההההה ההההה הההה: הההה: הההה ההההה םםםם םםםם םםםם םםם"ם םםםםםם םםםםם- םםםםםםם םםםםםםםםם

description

מצגת סיום אביב תשס"ו. Robocode – AI via RL. מבצע: אבישי ליבנה מנחה: תומר מרקדו. הטכניון - המעבדה לבקרה ורובוטיקה. מבנה המצגת. מוטיבציה יעדי הפרויקט רקע (סקירה ספרותית) תיאור הבעיה תיאור הפתרון סקירת התוצאות סיכום. מוטיבציה. התפתחות האינטלגנציה המלאכותית. - PowerPoint PPT Presentation

Transcript of Robocode – AI via RL

Page 1: Robocode – AI via RL

Robocode – AI via RL

מבצע: אבישי ליבנה

מנחה: תומר מרקדו

מצגת סיום

אביב תשס"ו

הטכניון - המעבדה לבקרה ורובוטיקה

Page 2: Robocode – AI via RL

מבנה המצגת

מוטיבציה•

יעדי הפרויקט•

רקע )סקירה ספרותית(•

תיאור הבעיה•

תיאור הפתרון•

סקירת התוצאות•

סיכום•

Page 3: Robocode – AI via RL

מוטיבציה

התפתחות האינטלגנציה המלאכותית.•

כריית )בקרה ורובוטיקה, זיהוי תבניות,שימושים ויישומים •

מידע, עיבוד שפות טבעיות, משחקי מחשב, מסחר בני"ע(.

•RL.תחום במערכות לומדות –

סוכן שלומד סביבה על ידי פעולות וניתוח התגמול, •

במטרה למצוא מדיניות אופטימלית.

שימושים ויישומים )בקרת רובוטים, תזמון מעליות, שש •

בש, שח(

Page 4: Robocode – AI via RL

יעדי הפרויקט

הכרות עם מערכות לומדות.•

, תוך התמקדות במספר RLלימוד מעמיק של תחום •

(.TD, Q-Learningאלגוריתמים )

בחירת פלטפורמה מתאימה למימוש האלגוריתמים.•

למידת הפלטפורמה.•

יישום האלגוריתמים שנלמדו בפלטפורמה שנבחרה.•

הרצת סימולציות וניתוח תוצאות.•

Page 5: Robocode – AI via RL

רקע

:RLהמודל הבסיסי של בעיית •

.אוסף מצבי מערכת

.אוסף פעולות

.תחום ערכי התגמול

Page 6: Robocode – AI via RL

רקע

•Approaches:

•Search in the space of policies )Evolutionary

Algorithms(.

•Search in the space of value function )Temporal

Differences(.

Page 7: Robocode – AI via RL

תיאור הבעיהRobocode.המטרה – לנצח :

תנועה )התחמקות מקליעים(•לכוון למטרה )פרדיקציה של מיקום היריב(•

RLפירמול הבעיה לבעיית הגדרת

אוסף המצבים האפשריים•אוסף הפעולות האפשריות•תחום הערכים האפשריים לתגמול•

Page 8: Robocode – AI via RL

תיאור הבעיה

Page 9: Robocode – AI via RL

תיאור הבעיה

Page 10: Robocode – AI via RL

RLפירמול הבעיה לבעיית מודל ראשון

מצבים4x4x4זווית הרובוט, זווית הקנה, זווית הרדאר – •200x150 – 16) למשבצות )800x600)מיקום ע"י חלוקת הלוח )•10כמות האנרגיה שנותרה – •4מיקום היריב )זווית יחסית( – •4מיקום היריב )מרחק( – •10כמות האנרגיה שנותרה ליריב – •2, 2התקלות בקיר?, פגיעה מקליע? – •

מצבים6,553,600סה"כ פעולות

5*2תנועה )לפנים, לאחור, מרחק( – •4x4x4 סיבוב הרובוט, סיבוב הקנה, סיבוב הרדאר – •5עוצמת אש - •

פעולות3,200סה"כ 78GB, נפח זכרון נדרש 2.1E10גודל טבלה –

Page 11: Robocode – AI via RL

RLפירמול הבעיה לבעיית מודל שני

מצב יוגדר על פי היחס הבא

קבוצות של מצבים:6תוך כדי חלוקת כל היחסים האפשריים ל

מאד בטוח, בטוח, רגיל, לא בטוח, מסוכן, מאד מסוכן

פעולת הסוכן תהיה לקבוע את רמת ההתקפיות/הגנתיות של

אסטרטגיות:6האסטרטגיה הננקטת, מאוסף של

מאד הגנתית , הגנתית, רגילה, חזקה, תוקפנית, מאד תוקפנית

ערכים36גודל טבלה –

energy of enemy

energy of robot

Page 12: Robocode – AI via RL

אלגוריתם הפתרוןQ-Learning1. Initialize Q-function table2. Find starting state S3. Repeat

1. Select best action A for state S2. Perform action A3. Get reward R4. Find new state S’5. Find best action A’ for state S’6. Update Q-function table according to

7. Step to next state S S’4. Until battle ends

( , ) [1 ] ( , ) [ ( ', ')]Q S A Q S A R Q S A

Page 13: Robocode – AI via RL

אלגוריתם הפתרוןQ-Learning1. Initialize Q-function table2. Find starting state S3. Repeat

1. Select best action A for state S2. Perform action A3. Get reward R4. Find new state S’5. Find best action A’ for state S’6. Update Q-function table according to

7. Step to next state S S’4. Until battle ends

( , ) [1 ] ( , ) [ ( ', ')]Q S A Q S A R Q S A

Page 14: Robocode – AI via RL

אלגוריתם הפתרוןTemporal Differences (TD)1. Initialize Q-function table2. Find starting state S0

3. Repeat1. Select best action Ai for state Si

2. Perform action Ai

3. Get reward Ri

4. Repeat n times1. Find new state Si+k

2. Find best action Ai+k for state Si+k

5. Update Q-function table according to

6. Step to next state Si Si+1

4. Until battle ends

1

( , ) [1 ] ( , ) [ ( , )]n

ki i i i i k i k

k

Q S A Q S A R Q S A

Page 15: Robocode – AI via RL

סקירת התוצאות

vs. SampleBot

0

1

2

3

4

5

6

7

8

9

10

5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99

round

win

s

Qlearning TD1 TD2 EXPLORER)1(

ניתן לראות את עקום הלמידה.

קצב למידה מעט שונה, בהתאם לאלגוריתם.

התוצאה הסופית כמעט שקולה.

למידה נגד רובוט לדוגמה

Page 16: Robocode – AI via RL

סקירת התוצאות

vs. BaseBot

0

1

2

3

4

5

6

7

8

9

10

5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91 93 95 97 99

round

win

s

Qlearning TD1 TD2 EXPLORER)1(

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

תבנית ההתנהגות של הרובוט יותר קשה ללמידה.

למידה נגד הרובוט הבסיסי

Page 17: Robocode – AI via RL

סקירת התוצאות

After learning from BaseBot

•QBot vs. BaseBot = 60% wins

•QBot vs. SampleBot = 50% wins

After learning from SampleBot

•QBot vs. BaseBot = 40% wins

•QBot vs. SampleBot = 80% wins

Page 18: Robocode – AI via RL

סקירת התוצאותעימות בין רובוטים שלמדו מרובוטים שונים:

TD: from Base vs. from Sample

0

1

2

3

4

5

6

7

8

9

10

1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59 61 63 65 67 69 71 73 75 77 79 81 83 85 87 89 91

Battle

% W

ins

from Base from Sample

רובוט שלמד מרובוט הבסיס מפגין ביצועים טובים משל רובוט

נצחונות בעימות ביניהם.65%שלמד מהרובוט לדוגמה -

Page 19: Robocode – AI via RL

סקירת התוצאות

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

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

קרבות לכל היותר.800להתייצבות לאחר כ-

איטית יותר, אך התוצאה הסופית טובה Explorerהלמידה של •

יותר.

ביצועי שאר הרובוטים דומים למדי.•

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

שמולו בוצעה הלמידה.

Page 20: Robocode – AI via RL

סיכוםהמטרות שהושגו:

.RLערכתי סקירה ספרותית בנושא מערכות לומדות, תוך התמקדות ב

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

למדתי את הפלטפורמה וכתבתי רובוט בסיס שלו הוספתי סוכן לומד.

הרצתי וניתחתי סימולציות.

:אפשרויות להרחבות בעתיד

הגדלת מספר המצבים )יאפשר ללמוד תבניות בצורה מדויקת

יותר(.

.Neural Networksשימוש ב

.(EA)שימוש באלגוריתמים מגישת מרחב המדיניויות

)לחימה נגד מספר רובוטים במקביל,הוספת הרחבת סביבת הלמידה

מכשולים לשדה הקרב(.