Robocode – AI via RL
description
Transcript of Robocode – AI via RL
Robocode – AI via RL
מבצע: אבישי ליבנה
מנחה: תומר מרקדו
מצגת סיום
אביב תשס"ו
הטכניון - המעבדה לבקרה ורובוטיקה
מבנה המצגת
מוטיבציה•
יעדי הפרויקט•
רקע )סקירה ספרותית(•
תיאור הבעיה•
תיאור הפתרון•
סקירת התוצאות•
סיכום•
מוטיבציה
התפתחות האינטלגנציה המלאכותית.•
כריית )בקרה ורובוטיקה, זיהוי תבניות,שימושים ויישומים •
מידע, עיבוד שפות טבעיות, משחקי מחשב, מסחר בני"ע(.
•RL.תחום במערכות לומדות –
סוכן שלומד סביבה על ידי פעולות וניתוח התגמול, •
במטרה למצוא מדיניות אופטימלית.
שימושים ויישומים )בקרת רובוטים, תזמון מעליות, שש •
בש, שח(
יעדי הפרויקט
הכרות עם מערכות לומדות.•
, תוך התמקדות במספר RLלימוד מעמיק של תחום •
(.TD, Q-Learningאלגוריתמים )
בחירת פלטפורמה מתאימה למימוש האלגוריתמים.•
למידת הפלטפורמה.•
יישום האלגוריתמים שנלמדו בפלטפורמה שנבחרה.•
הרצת סימולציות וניתוח תוצאות.•
רקע
:RLהמודל הבסיסי של בעיית •
.אוסף מצבי מערכת
.אוסף פעולות
.תחום ערכי התגמול
רקע
•Approaches:
•Search in the space of policies )Evolutionary
Algorithms(.
•Search in the space of value function )Temporal
Differences(.
תיאור הבעיהRobocode.המטרה – לנצח :
תנועה )התחמקות מקליעים(•לכוון למטרה )פרדיקציה של מיקום היריב(•
RLפירמול הבעיה לבעיית הגדרת
אוסף המצבים האפשריים•אוסף הפעולות האפשריות•תחום הערכים האפשריים לתגמול•
תיאור הבעיה
תיאור הבעיה
RLפירמול הבעיה לבעיית מודל ראשון
מצבים4x4x4זווית הרובוט, זווית הקנה, זווית הרדאר – •200x150 – 16) למשבצות )800x600)מיקום ע"י חלוקת הלוח )•10כמות האנרגיה שנותרה – •4מיקום היריב )זווית יחסית( – •4מיקום היריב )מרחק( – •10כמות האנרגיה שנותרה ליריב – •2, 2התקלות בקיר?, פגיעה מקליע? – •
מצבים6,553,600סה"כ פעולות
5*2תנועה )לפנים, לאחור, מרחק( – •4x4x4 סיבוב הרובוט, סיבוב הקנה, סיבוב הרדאר – •5עוצמת אש - •
פעולות3,200סה"כ 78GB, נפח זכרון נדרש 2.1E10גודל טבלה –
RLפירמול הבעיה לבעיית מודל שני
מצב יוגדר על פי היחס הבא
קבוצות של מצבים:6תוך כדי חלוקת כל היחסים האפשריים ל
מאד בטוח, בטוח, רגיל, לא בטוח, מסוכן, מאד מסוכן
פעולת הסוכן תהיה לקבוע את רמת ההתקפיות/הגנתיות של
אסטרטגיות:6האסטרטגיה הננקטת, מאוסף של
מאד הגנתית , הגנתית, רגילה, חזקה, תוקפנית, מאד תוקפנית
ערכים36גודל טבלה –
energy of enemy
energy of robot
אלגוריתם הפתרון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
אלגוריתם הפתרון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
אלגוריתם הפתרון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
סקירת התוצאות
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(
ניתן לראות את עקום הלמידה.
קצב למידה מעט שונה, בהתאם לאלגוריתם.
התוצאה הסופית כמעט שקולה.
למידה נגד רובוט לדוגמה
סקירת התוצאות
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(
עקום הלמידה לא חד משמעי, אך ניתן לראות התייצבות.
תבנית ההתנהגות של הרובוט יותר קשה ללמידה.
למידה נגד הרובוט הבסיסי
סקירת התוצאות
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
סקירת התוצאותעימות בין רובוטים שלמדו מרובוטים שונים:
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%שלמד מהרובוט לדוגמה -
סקירת התוצאות
התוצאות מראות על שיפור בהתנהגות הרובוט.•
קצב הלמידה משתנה בין הרובוטים השונים, כולם מגיעים •
קרבות לכל היותר.800להתייצבות לאחר כ-
איטית יותר, אך התוצאה הסופית טובה Explorerהלמידה של •
יותר.
ביצועי שאר הרובוטים דומים למדי.•
ניתן לראות פגיעה בביצועים כאשר לא נלחמים נגד הרובוט •
שמולו בוצעה הלמידה.
סיכוםהמטרות שהושגו:
.RLערכתי סקירה ספרותית בנושא מערכות לומדות, תוך התמקדות ב
מצאנו פלטפורמה מתאימה לפרויקט.
למדתי את הפלטפורמה וכתבתי רובוט בסיס שלו הוספתי סוכן לומד.
הרצתי וניתחתי סימולציות.
:אפשרויות להרחבות בעתיד
הגדלת מספר המצבים )יאפשר ללמוד תבניות בצורה מדויקת
יותר(.
.Neural Networksשימוש ב
.(EA)שימוש באלגוריתמים מגישת מרחב המדיניויות
)לחימה נגד מספר רובוטים במקביל,הוספת הרחבת סביבת הלמידה
מכשולים לשדה הקרב(.