Zadatak #304
Autor:IOAI 2026 Organizing Team
Težina
Vaš najbolji rezultat
N/D
Trenirate robota za dostavu na gradskoj karti koja se sastoji od 8 × 8 polja. U svakoj epizodi robot kreće sa slobodnog polja, dolazi do skladišta u kojem se nalazi paket, preuzima ga, odlazi do drugog skladišta — odredišta — i dostavlja ga. Svaka karta sadrži šest skladišta i osam blokiranih polja.
Cilj je naučiti ponašanje robota iz namjerno malog broja stručnih demonstracija. Ovo je problem kloniranja ponašanja: trenirate model na primjerima opažanje/radnja, a zatim ga pokrećete korak po korak u novim epizodama.
Skladišta su indeksirana s 0..5 i označena s A..F. Epizoda uspješno završava kada robot izvede valjanu radnju dropoff na odredištu dok nosi paket. Dopušteno je najviše 120 actions.
| ID | Radnja |
|---|---|
| 0 | jug |
| 1 | sjever |
| 2 | istok |
| 3 | zapad |
| 4 | preuzmi paket (pickup) |
| 5 | dostavi paket (dropoff) |
Kretanje u zid ili izvan karte ne mijenja položaj robota, ali troši jedan korak. pickup uspijeva samo u skladištu paketa kada robot još ne nosi paket. dropoff uspijeva samo na odredištu kada robot nosi paket. Nevaljani pickup ili dropoff ne mijenja state i troši jedan korak.
Svako opažanje za treniranje sadrži:
grid: tenzor float32 oblika (6, 8, 8);vector: 13 normaliziranih brojčanih vrijednosti;action_mask: šest Booleovih vrijednosti koje označavaju valjane actions;state: (row, column, package_field, destination).Kanali tenzora grid predstavljaju:
vector sadrži redom: normalizirani redak i stupac robota, polje paketa, odredište, pokazatelj nošenja, redak i stupac trenutačnog cilja, razlike u odnosu na cilj, a zatim četiri pokazatelja blokiranog kretanja redom jug, sjever, istok, zapad.
Javni skup podataka sadrži:
Paket platforme koristi JSON i sigurne NumPy nizove umjesto Python pickle datoteka. Točne nazive i kôd za učitavanje potražite u starter_kit.py. NumPy datoteke učitajte s allow_pickle=False.
Svaki layout_id dijele četiri epizode. Jedinstveni ključ uvijek je:
(layout_id, episode_seed)Istrenirajte deterministički model koji predviđa sljedeću radnju iz trenutačnog opažanja. Pokrenite model kroz cijele epizode i generirajte po jedan slijed radnji za svaki testni scenarij.
Za treniranje možete koristiti dostavljene demonstracije. Nije vam dopušteno dobivati stručne oznake za validacijske ili testne skupove niti generirati dodatne stručne demonstracije pretraživanjem, planiranjem ili drugim stručnim modelom. Rješenja temeljena na pravilima ili izričito tvrdo kodirana rješenja može pregledati Znanstveni odbor. Organizatori mogu zatražiti notebook ili izvorni kôd upotrijebljen za generiranje predaje.
Predajte ZIP arhivu naziva predictions.zip koja u korijenu sadrži točno jednu datoteku: predictions.json.
Datoteka mora sadržavati JSON niz s točno 1,600 objekata, po jedan za svaku testnu epizodu:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Zahtjevi:
(layout_id, episode_seed), a ne prema redoslijedu redaka;actions mora biti JSON popis cijelih brojeva — ne Booleovih vrijednosti — između 0 i 5;Nevaljane arhive ili nepotpune predaje odbijaju se.
Metrika je stopa uspješnosti epizoda:
SR = successful deliveries / evaluated episodesscore = 100 × SRNe dodjeljuju se djelomični bodovi za dolazak do paketa, približavanje cilju ili korištenje manjeg broja koraka.
Za ljestvicu platforme testne se karte dijele deterministički:
Tijekom natjecanja prikazuje se djelomični rezultat, dok konačna ljestvica koristi cijeli skup. Pripadnost dvama podskupovima nije uključena u javne podatke. Prosječan broj koraka i nevaljani pokušaji pickup/dropoff mogu se pojaviti u zapisnicima evaluatora, ali ne utječu na rezultat.
Prilagođeno prema „Akademija robotske dostave: pripremni program” (IOAI 2026, Home Task 2). Siguran prikaz podataka, pravila validacije, podjela ljestvice i evaluator prilagođeni su platformi MLCompete.