בעיה #304
מחבר:IOAI 2026 Organizing Team
רמת קושי
הציון הטוב ביותר שלך
לא זמין
אתם מאמנים רובוט משלוחים במפה עירונית המורכבת מ-8 × 8 תאים. בכל פרק הרובוט מתחיל בתא פנוי, מגיע למחסן שבו נמצאת החבילה, אוסף אותה, נוסע למחסן אחר — היעד — ומוסר אותה. כל מפה מכילה שישה מחסנים ושמונה תאים חסומים.
המטרה היא ללמוד את התנהגות הרובוט ממספר קטן במכוון של הדגמות מומחה. זוהי בעיית שיבוט התנהגות: אתם מאמנים מודל על דוגמאות תצפית/פעולה ולאחר מכן מריצים אותו צעד אחר צעד בפרקים חדשים.
המחסנים ממוספרים באמצעות 0..5 ומסומנים באמצעות A..F. פרק מסתיים בהצלחה כאשר הרובוט מבצע פעולת dropoff תקפה ביעד בזמן שהוא נושא את החבילה. מותרות לכל היותר 120 actions.
| ID | פעולה |
|---|---|
| 0 | דרום |
| 1 | צפון |
| 2 | מזרח |
| 3 | מערב |
| 4 | איסוף החבילה (pickup) |
| 5 | מסירת החבילה (dropoff) |
תנועה לתוך קיר או אל מחוץ למפה אינה משנה את מיקום הרובוט, אך צורכת צעד אחד. pickup מצליחה רק במחסן החבילה, כאשר הרובוט עדיין אינו נושא את החבילה. dropoff מצליחה רק ביעד, כאשר הרובוט נושא את החבילה. pickup או dropoff לא תקף אינו משנה את state וצורך צעד אחד.
כל תצפית אימון מכילה:
grid: טנזור float32 בעל צורה (6, 8, 8);vector: 13 ערכים מספריים מנורמלים;action_mask: שישה ערכים בוליאניים המציינים את ה-actions התקפות;state: (row, column, package_field, destination).הערוצים של טנזור grid מייצגים:
ה-vector מכיל, לפי הסדר: את השורה והעמודה המנורמלות של הרובוט, את שדה החבילה, את היעד, את מחוון הנשיאה, את השורה והעמודה של היעד הנוכחי, את ההפרשים ביחס ליעד, ולאחר מכן ארבעה מחווני תנועה חסומה בסדר דרום, צפון, מזרח, מערב.
מערך הנתונים הציבורי מכיל:
חבילת הפלטפורמה משתמשת ב-JSON ובמערכי NumPy בטוחים במקום בקובצי Python pickle. עיינו ב-starter_kit.py לקבלת השמות המדויקים וקוד הטעינה. טענו קובצי NumPy באמצעות allow_pickle=False.
כל layout_id משותף לארבעה פרקים. המפתח הייחודי הוא תמיד:
(layout_id, episode_seed)אמנו מודל דטרמיניסטי המנבא את הפעולה הבאה מתוך התצפית הנוכחית. הריצו את המודל על פני פרקים מלאים וצרו רצף פעולות אחד לכל תרחיש בדיקה.
אתם רשאים להשתמש בהדגמות שסופקו לצורך האימון. אינכם רשאים להשיג תוויות מומחה עבור מערכי האימות או הבדיקה, וגם לא ליצור הדגמות מומחה נוספות באמצעות חיפוש, תכנון או מודל מומחה אחר. הוועדה המדעית עשויה לבדוק פתרונות המבוססים על כללים או המקודדים במפורש באופן קשיח. המארגנים עשויים לבקש את ה-notebook או את קוד המקור ששימשו ליצירת ההגשה.
הגישו ארכיון ZIP בשם predictions.zip, המכיל בדיוק קובץ אחד בשורש שלו: predictions.json.
הקובץ חייב להכיל מערך JSON ובו בדיוק 1,600 אובייקטים, אחד לכל פרק בדיקה:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]דרישות:
(layout_id, episode_seed), ולא לפי סדר השורות;actions חייבת להיות רשימת JSON של מספרים שלמים — לא ערכים בוליאניים — בין 0 ל-5;ארכיונים לא תקפים או הגשות חלקיות נדחים.
המדד הוא שיעור הצלחת הפרקים:
SR = successful deliveries / evaluated episodesscore = 100 × SRלא ניתן ניקוד חלקי עבור הגעה לחבילה, התקרבות ליעד או שימוש במספר קטן יותר של צעדים.
עבור טבלת המובילים של הפלטפורמה, מפות הבדיקה מחולקות באופן דטרמיניסטי:
במהלך התחרות מוצג הניקוד החלקי, ואילו טבלת המובילים הסופית משתמשת במערך המלא. השיוך לשתי תת-הקבוצות אינו נכלל בנתונים הציבוריים. מספר הצעדים הממוצע וניסיונות pickup/dropoff לא תקפים עשויים להופיע ביומני המעריך, אך הם אינם משפיעים על הניקוד.
מעובד מתוך „האקדמיה למשלוחים רובוטיים: תוכנית הכנה” (IOAI 2026, Home Task 2). ייצוג הנתונים הבטוח, כללי האימות, חלוקת טבלת המובילים והמעריך הם התאמות לפלטפורמת MLCompete.