Úloha #304
Autor:IOAI 2026 Organizing Team
Obtiažnosť
Vaše najlepšie skóre
N/A
Trénujete doručovacieho robota na mestskej mape pozostávajúcej z 8 × 8 buniek. V každej epizóde robot začína na voľnej bunke, dostane sa do skladu, kde sa nachádza balík, vyzdvihne ho, presunie sa do iného skladu — cieľového miesta — a doručí ho. Každá mapa obsahuje šesť skladov a osem zablokovaných buniek.
Cieľom je naučiť sa správanie robota zo zámerne malého počtu expertných demonštrácií. Ide o problém klonovania správania: natrénujete model na príkladoch pozorovanie/akcia a potom ho krok za krokom spúšťate v nových epizódach.
Sklady sú indexované 0..5 a označené A..F. Epizóda sa úspešne skončí, keď robot vykoná platnú akciu dropoff v cieľovom mieste, pričom nesie balík. Povolených je najviac 120 actions.
| ID | Akcia |
|---|---|
| 0 | juh |
| 1 | sever |
| 2 | východ |
| 3 | západ |
| 4 | vyzdvihnutie balíka (pickup) |
| 5 | doručenie balíka (dropoff) |
Pohyb do steny alebo mimo mapy nezmení polohu robota, ale spotrebuje jeden krok. pickup uspeje iba v sklade balíka, keď robot balík ešte nenesie. dropoff uspeje iba v cieľovom mieste, keď robot nesie balík. Neplatný pickup alebo dropoff nezmení state a spotrebuje jeden krok.
Každé tréningové pozorovanie obsahuje:
grid: tenzor float32 s tvarom (6, 8, 8);vector: 13 normalizovaných číselných hodnôt;action_mask: šesť booleovských hodnôt označujúcich platné actions;state: (row, column, package_field, destination).Kanály tenzora grid predstavujú:
vector obsahuje v tomto poradí: normalizovaný riadok a stĺpec robota, pole balíka, cieľové miesto, indikátor nesenia, riadok a stĺpec aktuálneho cieľa, rozdiely vzhľadom na cieľ a potom štyri indikátory zablokovaného pohybu v poradí juh, sever, východ, západ.
Verejná množina údajov obsahuje:
Balík platformy používa JSON a bezpečné polia NumPy namiesto súborov Python pickle. Presné názvy a kód načítania nájdete v starter_kit.py. Súbory NumPy načítajte s allow_pickle=False.
Každý layout_id zdieľajú štyri epizódy. Jedinečný kľúč je vždy:
(layout_id, episode_seed)Natrénujte deterministický model, ktorý z aktuálneho pozorovania predpovedá nasledujúcu akciu. Spustite model na celých epizódach a vygenerujte jednu postupnosť akcií pre každý testovací scenár.
Poskytnuté demonštrácie môžete použiť na tréning. Nesmiete získavať expertné označenia pre validačné alebo testovacie množiny ani generovať ďalšie expertné demonštrácie pomocou vyhľadávania, plánovania alebo iného expertného modelu. Riešenia založené na pravidlách alebo výslovne napevno zakódované riešenia môže preskúmať Vedecký výbor. Organizátori môžu požiadať o notebook alebo zdrojový kód použitý na vytvorenie odovzdania.
Odošlite archív ZIP s názvom predictions.zip, ktorý obsahuje presne jeden súbor v koreňovom adresári: predictions.json.
Súbor musí obsahovať pole JSON s presne 1,600 objektmi, po jednom pre každú testovaciu epizódu:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Požiadavky:
(layout_id, episode_seed), nie podľa poradia riadkov;actions musí byť zoznam JSON celých čísel — nie booleovských hodnôt — od 0 do 5;Neplatné archívy alebo neúplné odovzdania budú odmietnuté.
Metrikou je miera úspešnosti epizód:
SR = successful deliveries / evaluated episodesscore = 100 × SRZa dosiahnutie balíka, priblíženie sa k cieľu ani použitie menšieho počtu krokov sa neudeľujú čiastočné body.
Pre rebríček platformy sa testovacie mapy rozdelia deterministicky:
Počas súťaže sa zobrazuje čiastočné skóre, zatiaľ čo konečný rebríček používa úplnú množinu. Príslušnosť k dvom podmnožinám nie je zahrnutá vo verejných údajoch. Priemerný počet krokov a neplatné pokusy o pickup/dropoff sa môžu zobraziť v protokoloch hodnotiteľa, ale nemajú vplyv na skóre.
Upravené podľa „Akadémia robotického doručovania: prípravný program“ (IOAI 2026, Home Task 2). Bezpečné znázornenie údajov, pravidlá validácie, rozdelenie rebríčka a hodnotiteľ sú úpravy pre platformu MLCompete.