Úloha #304
Autor:IOAI 2026 Organizing Team
Obtížnost
Vaše nejlepší skóre
N/A
Trénujete doručovacího robota na městské mapě tvořené 8 × 8 buňkami. V každé epizodě robot začíná na volné buňce, dorazí do skladu, kde se nachází balík, vyzvedne jej, přesune se do jiného skladu — cílového místa — a doručí jej. Každá mapa obsahuje šest skladů a osm zablokovaných buněk.
Cílem je naučit se chování robota ze záměrně malého počtu expertních demonstrací. Jde o problém klonování chování: natrénujete model na příkladech pozorování/akce a poté jej krok za krokem spouštíte v nových epizodách.
Sklady jsou indexovány 0..5 a označeny A..F. Epizoda skončí úspěšně, když robot v cílovém místě provede platnou akci dropoff a přitom nese balík. Je povoleno nejvýše 120 actions.
| ID | Akce |
|---|---|
| 0 | jih |
| 1 | sever |
| 2 | východ |
| 3 | západ |
| 4 | vyzvednout balík (pickup) |
| 5 | doručit balík (dropoff) |
Pohyb do zdi nebo mimo mapu nezmění polohu robota, ale spotřebuje jeden krok. pickup uspěje pouze ve skladu balíku, když robot balík ještě nenese. dropoff uspěje pouze v cílovém místě, když robot balík nese. Neplatný pickup nebo dropoff nezmění state a spotřebuje jeden krok.
Každé trénovací pozorování obsahuje:
grid: tenzor float32 s tvarem (6, 8, 8);vector: 13 normalizovaných číselných hodnot;action_mask: šest booleovských hodnot označujících platné actions;state: (row, column, package_field, destination).Kanály tenzoru grid představují:
vector obsahuje v tomto pořadí: normalizovaný řádek a sloupec robota, pole balíku, cílové místo, indikátor nesení, řádek a sloupec aktuálního cíle, rozdíly vzhledem k cíli a poté čtyři indikátory zablokovaného pohybu v pořadí jih, sever, východ, západ.
Veřejná datová sada obsahuje:
Balíček platformy používá JSON a bezpečná pole NumPy namísto souborů Python pickle. Přesné názvy a kód načítání najdete v starter_kit.py. Soubory NumPy načítejte s allow_pickle=False.
Každý layout_id sdílejí čtyři epizody. Jedinečný klíč je vždy:
(layout_id, episode_seed)Natrénujte deterministický model, který z aktuálního pozorování předpovídá následující akci. Spusťte model na úplných epizodách a vygenerujte jednu posloupnost akcí pro každý testovací scénář.
Poskytnuté demonstrace můžete použít k trénování. Nesmíte získávat expertní štítky pro validační nebo testovací sady ani generovat další expertní demonstrace pomocí vyhledávání, plánování nebo jiného expertního modelu. Řešení založená na pravidlech nebo výslovně pevně zakódovaná řešení může přezkoumat Vědecký výbor. Organizátoři mohou požadovat notebook nebo zdrojový kód použitý k vygenerování odevzdání.
Odešlete archiv ZIP s názvem predictions.zip, který v kořenovém adresáři obsahuje přesně jeden soubor: predictions.json.
Soubor musí obsahovat pole JSON s přesně 1,600 objekty, po jednom pro každou testovací epizodu:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Požadavky:
(layout_id, episode_seed), nikoli podle pořadí řádků;actions musí být seznam JSON celých čísel — nikoli booleovských hodnot — mezi 0 a 5;Neplatné archivy nebo neúplná odevzdání budou odmítnuta.
Metrikou je míra úspěšnosti epizod:
SR = successful deliveries / evaluated episodesscore = 100 × SRZa dosažení balíku, přiblížení se k cíli ani použití menšího počtu kroků se neudělují částečné body.
Pro žebříček platformy jsou testovací mapy rozděleny deterministicky:
Během soutěže se zobrazuje částečné skóre, zatímco konečný žebříček používá úplnou sadu. Příslušnost ke dvěma podmnožinám není zahrnuta ve veřejných datech. Průměrný počet kroků a neplatné pokusy o pickup/dropoff se mohou objevit v protokolech hodnotitele, ale neovlivňují skóre.
Upraveno podle „Akademie robotického doručování: přípravný program“ (IOAI 2026, Home Task 2). Bezpečná reprezentace dat, validační pravidla, rozdělení žebříčku a hodnotitel jsou úpravy pro platformu MLCompete.