1 / 20

Robocode – AI via RL

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

tyrone
Download Presentation

Robocode – AI via RL

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. מבנה המצגת • מוטיבציה • יעדי הפרויקט • רקע (סקירה ספרותית) • תיאור הבעיה • תיאור הפתרון • סקירת התוצאות • סיכום

  3. מוטיבציה • התפתחות האינטלגנציה המלאכותית. • שימושים ויישומים (בקרה ורובוטיקה, זיהוי תבניות,כריית מידע, עיבוד שפות טבעיות, משחקי מחשב, מסחר בני"ע). • RL – תחום במערכות לומדות. • סוכן שלומד סביבה על ידי פעולות וניתוח התגמול, במטרה למצוא מדיניות אופטימלית. • שימושים ויישומים (בקרת רובוטים, תזמון מעליות, שש בש, שח)

  4. יעדי הפרויקט • הכרות עם מערכות לומדות. • לימוד מעמיק של תחום RL, תוך התמקדות במספר אלגוריתמים (TD, Q-Learning). • בחירת פלטפורמה מתאימה למימוש האלגוריתמים. • למידת הפלטפורמה. • יישום האלגוריתמים שנלמדו בפלטפורמה שנבחרה. • הרצת סימולציות וניתוח תוצאות.

  5. רקע • המודל הבסיסי של בעיית RL: • אוסף מצבי מערכת. • אוסף פעולות. • תחום ערכי התגמול.

  6. רקע • Approaches: • Search in the space of policies (Evolutionary Algorithms). • Search in the space of value function (Temporal Differences).

  7. תיאור הבעיה • Robocode: המטרה – לנצח. • תנועה (התחמקות מקליעים) • לכוון למטרה (פרדיקציה של מיקום היריב) פירמול הבעיה לבעיית RL • הגדרת • אוסף המצבים האפשריים • אוסף הפעולות האפשריות • תחום הערכים האפשריים לתגמול

  8. תיאור הבעיה

  9. תיאור הבעיה

  10. פירמול הבעיה לבעיית RL • מודל ראשון • מצבים • זווית הרובוט, זווית הקנה, זווית הרדאר – 4x4x4 • מיקום ע"י חלוקת הלוח ((800x600 למשבצות ((200x150– 16 • כמות האנרגיה שנותרה – 10 • מיקום היריב (זווית יחסית) – 4 • מיקום היריב (מרחק) – 4 • כמות האנרגיה שנותרה ליריב – 10 • התקלות בקיר?, פגיעה מקליע? – 2, 2 • סה"כ 6,553,600 מצבים • פעולות • תנועה (לפנים, לאחור, מרחק) – 2*5 • סיבוב הרובוט, סיבוב הקנה, סיבוב הרדאר – 4x4x4 • עוצמת אש - 5 • סה"כ 3,200 פעולות • גודל טבלה – 2.1E10, נפח זכרון נדרש 78GB

  11. פירמול הבעיה לבעיית RL מודל שני מצב יוגדר על פי היחס הבא תוך כדי חלוקת כל היחסים האפשריים ל 6 קבוצות של מצבים: מאד בטוח, בטוח, רגיל, לא בטוח, מסוכן, מאד מסוכן פעולת הסוכן תהיה לקבוע את רמת ההתקפיות/הגנתיות של האסטרטגיה הננקטת, מאוסף של 6 אסטרטגיות: מאד הגנתית , הגנתית, רגילה, חזקה, תוקפנית, מאד תוקפנית גודל טבלה – 36 ערכים

  12. אלגוריתם הפתרון • 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

  13. אלגוריתם הפתרון • 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

  14. אלגוריתם הפתרון • 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

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

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

  17. סקירת התוצאות • 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

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

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

  20. סיכום המטרות שהושגו: ערכתי סקירה ספרותית בנושא מערכות לומדות, תוך התמקדות ב RL. מצאנו פלטפורמה מתאימה לפרויקט. למדתי את הפלטפורמה וכתבתי רובוט בסיס שלו הוספתי סוכן לומד. הרצתי וניתחתי סימולציות. אפשרויות להרחבות בעתיד: הגדלת מספר המצבים (יאפשר ללמוד תבניות בצורה מדויקת יותר). שימוש ב Neural Networks. שימוש באלגוריתמים מגישת מרחב המדיניויות (EA). הרחבת סביבת הלמידה (לחימה נגד מספר רובוטים במקביל,הוספת מכשולים לשדה הקרב).

More Related