Užduotis #304
Autorius:IOAI 2026 Organizing Team
Sudėtingumas
Jūsų geriausias rezultatas
Nepasiekiama
Jūs mokote pristatymo robotą miesto žemėlapyje, kurį sudaro 8 × 8 langeliai. Kiekviename epizode robotas pradeda laisvame langelyje, pasiekia sandėlį, kuriame yra siunta, ją paima, keliauja į kitą sandėlį — paskirties vietą — ir ją pristato. Kiekviename žemėlapyje yra šeši sandėliai ir aštuoni užblokuoti langeliai.
Tikslas — išmokti roboto elgseną iš sąmoningai nedidelio ekspertų demonstracijų skaičiaus. Tai elgsenos klonavimo uždavinys: mokote modelį stebėjimo / veiksmo pavyzdžiais, o tada žingsnis po žingsnio vykdote jį naujuose epizoduose.
Sandėliai indeksuojami 0..5 ir žymimi A..F. Epizodas sėkmingai baigiasi, kai robotas paskirties vietoje, nešdamas siuntą, atlieka leistiną veiksmą dropoff. Leidžiama ne daugiau kaip 120 actions.
| ID | Veiksmas |
|---|---|
| 0 | pietūs |
| 1 | šiaurė |
| 2 | rytai |
| 3 | vakarai |
| 4 | paimti siuntą (pickup) |
| 5 | pristatyti siuntą (dropoff) |
Judėjimas į sieną arba už žemėlapio ribų nepakeičia roboto padėties, bet sunaudoja vieną žingsnį. pickup pavyksta tik siuntos sandėlyje, kai robotas dar neneša siuntos. dropoff pavyksta tik paskirties vietoje, kai robotas neša siuntą. Neleistinas pickup arba dropoff nepakeičia state ir sunaudoja vieną žingsnį.
Kiekviename mokymo stebėjime yra:
grid: float32 tenzorius, kurio forma (6, 8, 8);vector: 13 normalizuotų skaitinių reikšmių;action_mask: šešios loginės reikšmės, nurodančios leistinus actions;state: (row, column, package_field, destination).grid tenzoriaus kanalai vaizduoja:
vector iš eilės apima: normalizuotą roboto eilutę ir stulpelį, siuntos lauką, paskirties vietą, nešimo indikatorių, dabartinio tikslo eilutę ir stulpelį, skirtumus tikslo atžvilgiu, o po jų — keturis užblokuoto judėjimo indikatorius tokia tvarka: pietūs, šiaurė, rytai, vakarai.
Viešajame duomenų rinkinyje yra:
Platformos pakete vietoj Python pickle failų naudojami JSON ir saugūs NumPy masyvai. Tikslius pavadinimus ir įkėlimo kodą rasite faile starter_kit.py. Įkelkite NumPy failus su allow_pickle=False.
Kiekvienas layout_id yra bendras keturiems epizodams. Unikalus raktas visada yra:
(layout_id, episode_seed)Išmokykite deterministinį modelį, kuris pagal dabartinį stebėjimą prognozuoja kitą veiksmą. Vykdykite modelį per visus epizodus ir sugeneruokite po vieną veiksmų seką kiekvienam testavimo scenarijui.
Mokymui galite naudoti pateiktas demonstracijas. Jums neleidžiama gauti ekspertų žymų validavimo ar testavimo rinkiniams, taip pat generuoti papildomų ekspertų demonstracijų naudojant paiešką, planavimą ar kitą ekspertinį modelį. Mokslinis komitetas gali peržiūrėti taisyklėmis pagrįstus arba aiškiai griežtai užkoduotus sprendimus. Organizatoriai gali paprašyti notebook arba pirminio kodo, naudoto pateikimui sugeneruoti.
Pateikite ZIP archyvą pavadinimu predictions.zip, kurio šakniniame kataloge yra tiksliai vienas failas: predictions.json.
Faile turi būti JSON masyvas su tiksliai 1,600 objektų — po vieną kiekvienam testavimo epizodui:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Reikalavimai:
(layout_id, episode_seed), o ne pagal eilučių tvarką;actions turi būti JSON sveikųjų skaičių — ne loginių reikšmių — sąrašas nuo 0 iki 5;Netinkami archyvai arba neišsamūs pateikimai atmetami.
Metrika yra epizodų sėkmės rodiklis:
SR = successful deliveries / evaluated episodesscore = 100 × SRDaliniai taškai neskiriami už siuntos pasiekimą, priartėjimą prie tikslo ar mažesnio žingsnių skaičiaus panaudojimą.
Platformos rezultatų lentelei testavimo žemėlapiai padalijami deterministiškai:
Varžybų metu rodomas dalinis rezultatas, o galutinėje rezultatų lentelėje naudojamas visas rinkinys. Priklausymas dviem poaibiams viešuose duomenyse nenurodytas. Vidutinis žingsnių skaičius ir neleistini pickup/dropoff bandymai gali būti rodomi vertintojo žurnaluose, tačiau jie neturi įtakos rezultatui.
Adaptuota pagal „Robotizuoto pristatymo akademija: parengiamoji programa“ (IOAI 2026, Home Task 2). Saugus duomenų atvaizdavimas, validavimo taisyklės, rezultatų lentelės padalijimas ir vertintojas yra pritaikyti MLCompete platformai.