200 likes | 362 Views
מצגת סיום אביב תשס"ו. Robocode – AI via RL. מבצע: אבישי ליבנה מנחה: תומר מרקדו. הטכניון - המעבדה לבקרה ורובוטיקה. מבנה המצגת. מוטיבציה יעדי הפרויקט רקע (סקירה ספרותית) תיאור הבעיה תיאור הפתרון סקירת התוצאות סיכום. מוטיבציה. התפתחות האינטלגנציה המלאכותית.
E N D
מצגת סיום אביב תשס"ו 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 • מיקום ע"י חלוקת הלוח ((800x600 למשבצות ((200x150– 16 • כמות האנרגיה שנותרה – 10 • מיקום היריב (זווית יחסית) – 4 • מיקום היריב (מרחק) – 4 • כמות האנרגיה שנותרה ליריב – 10 • התקלות בקיר?, פגיעה מקליע? – 2, 2 • סה"כ 6,553,600 מצבים • פעולות • תנועה (לפנים, לאחור, מרחק) – 2*5 • סיבוב הרובוט, סיבוב הקנה, סיבוב הרדאר – 4x4x4 • עוצמת אש - 5 • סה"כ 3,200 פעולות • גודל טבלה – 2.1E10, נפח זכרון נדרש 78GB
פירמול הבעיה לבעיית RL מודל שני מצב יוגדר על פי היחס הבא תוך כדי חלוקת כל היחסים האפשריים ל 6 קבוצות של מצבים: מאד בטוח, בטוח, רגיל, לא בטוח, מסוכן, מאד מסוכן פעולת הסוכן תהיה לקבוע את רמת ההתקפיות/הגנתיות של האסטרטגיה הננקטת, מאוסף של 6 אסטרטגיות: מאד הגנתית , הגנתית, רגילה, חזקה, תוקפנית, מאד תוקפנית גודל טבלה – 36 ערכים
אלגוריתם הפתרון • Q-Learning • Initialize Q-function table • Find starting state S • Repeat • Select best action A for state S • Perform action A • Get reward R • Find new state S’ • Find best action A’ for state S’ • Update Q-function table according to • Step to next state S S’ • Until battle ends
אלגוריתם הפתרון • Q-Learning • Initialize Q-function table • Find starting state S • Repeat • Select best action A for state S • Perform action A • Get reward R • Find new state S’ • Find best action A’ for state S’ • Update Q-function table according to • Step to next state S S’ • Until battle ends
אלגוריתם הפתרון • Temporal Differences (TD) • Initialize Q-function table • Find starting state S0 • Repeat • Select best action Ai for state Si • Perform action Ai • Get reward Ri • Repeat n times • Find new state Si+k • Find best action Ai+k for state Si+k • Update Q-function table according to • Step to next state Si Si+1 • Until battle ends
סקירת התוצאות למידה נגד רובוט לדוגמה ניתן לראות את עקום הלמידה. קצב למידה מעט שונה, בהתאם לאלגוריתם. התוצאה הסופית כמעט שקולה.
סקירת התוצאות למידה נגד הרובוט הבסיסי עקום הלמידה לא חד משמעי, אך ניתן לראות התייצבות. תבנית ההתנהגות של הרובוט יותר קשה ללמידה.
סקירת התוצאות • 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
סקירת התוצאות עימות בין רובוטים שלמדו מרובוטים שונים: רובוט שלמד מרובוט הבסיס מפגין ביצועים טובים משל רובוט שלמד מהרובוט לדוגמה - 65% נצחונות בעימות ביניהם.
סקירת התוצאות • התוצאות מראות על שיפור בהתנהגות הרובוט. • קצב הלמידה משתנה בין הרובוטים השונים, כולם מגיעים להתייצבות לאחר כ-800 קרבות לכל היותר. • הלמידה של Explorer איטית יותר, אך התוצאה הסופית טובה יותר. • ביצועי שאר הרובוטים דומים למדי. • ניתן לראות פגיעה בביצועים כאשר לא נלחמים נגד הרובוט שמולו בוצעה הלמידה.
סיכום המטרות שהושגו: ערכתי סקירה ספרותית בנושא מערכות לומדות, תוך התמקדות ב RL. מצאנו פלטפורמה מתאימה לפרויקט. למדתי את הפלטפורמה וכתבתי רובוט בסיס שלו הוספתי סוכן לומד. הרצתי וניתחתי סימולציות. אפשרויות להרחבות בעתיד: הגדלת מספר המצבים (יאפשר ללמוד תבניות בצורה מדויקת יותר). שימוש ב Neural Networks. שימוש באלגוריתמים מגישת מרחב המדיניויות (EA). הרחבת סביבת הלמידה (לחימה נגד מספר רובוטים במקביל,הוספת מכשולים לשדה הקרב).