Ülesanne #304
Autor:IOAI 2026 Organizing Team
Raskusaste
Sinu parim tulemus
Puudub
Treenite kullerrobotit linnakaardil, mis koosneb 8 × 8 ruudust. Igas episoodis alustab robot vabalt ruudult, jõuab lattu, kus pakk asub, võtab selle peale, liigub teise lattu — sihtkohta — ja toimetab selle kohale. Igal kaardil on kuus ladu ja kaheksa blokeeritud ruutu.
Eesmärk on õppida roboti käitumist tahtlikult väikesest arvust ekspertdemonstratsioonidest. See on käitumise kloonimise ülesanne: treenite mudelit vaatlus-/tegevusnäidetel ja käivitate selle seejärel uutes episoodides samm-sammult.
Laod on indekseeritud 0..5 ja tähistatud A..F. Episood lõpeb edukalt, kui robot teeb sihtkohas pakki kandes kehtiva tegevuse dropoff. Lubatud on kõige rohkem 120 actions'it.
| ID | Tegevus |
|---|---|
| 0 | lõuna |
| 1 | põhi |
| 2 | ida |
| 3 | lääs |
| 4 | paki pealevõtmine (pickup) |
| 5 | paki kohaletoimetamine (dropoff) |
Vastu seina või kaardist välja liikumine ei muuda roboti asukohta, kuid kulutab ühe sammu. pickup õnnestub ainult paki laos, kui robot pakki veel ei kanna. dropoff õnnestub ainult sihtkohas, kui robot kannab pakki. Kehtetu pickup või dropoff ei muuda state'i ja kulutab ühe sammu.
Iga treeningvaatlus sisaldab:
grid: float32 tensor kujuga (6, 8, 8);vector: 13 normaliseeritud arvväärtust;action_mask: kuus tõeväärtust, mis näitavad kehtivaid actions;state: (row, column, package_field, destination).Tensori grid kanalid kujutavad:
vector sisaldab järjekorras: roboti normaliseeritud rida ja veergu, pakivälja, sihtkohta, kandmisnäidikut, praeguse sihtmärgi rida ja veergu, erinevusi sihtmärgi suhtes ning seejärel nelja blokeeritud liikumise näidikut järjekorras lõuna, põhi, ida, lääs.
Avalik andmestik sisaldab:
Platvormi pakett kasutab keele Python pickle-failide asemel vormingut JSON ja turvalisi NumPy massiive. Täpsed nimed ja laadimiskoodi leiate failist starter_kit.py. Laadige NumPy failid parameetriga allow_pickle=False.
Iga layout_id on ühine neljale episoodile. Unikaalne võti on alati:
(layout_id, episode_seed)Treenige deterministlik mudel, mis ennustab praeguse vaatluse põhjal järgmist tegevust. Käivitage mudel täielikel episoodidel ja genereerige iga teststsenaariumi jaoks üks tegevusjada.
Võite kasutada treenimiseks esitatud demonstratsioone. Teil ei ole lubatud hankida valideerimis- ega testandmestikele ekspertmärgendeid ega genereerida täiendavaid ekspertdemonstratsioone otsingu, planeerimise või mõne teise ekspertmudeli abil. Reeglipõhiseid või sõnaselgelt jäigalt kodeeritud lahendusi võib Teaduskomitee kontrollida. Korraldajad võivad küsida esildise genereerimiseks kasutatud notebook’i või lähtekoodi.
Esitage ZIP-arhiiv nimega predictions.zip, mille juurkataloogis on täpselt üks fail: predictions.json.
Fail peab sisaldama täpselt 1,600 objektiga JSON-massiivi, üks objekt iga testepisoodi kohta:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Nõuded:
(layout_id, episode_seed) abil, mitte ridade järjekorra järgi;actions peab olema täisarvudest — mitte tõeväärtustest — koosnev JSON-loend vahemikus 0 kuni 5;Kehtetud arhiivid või mittetäielikud esildised lükatakse tagasi.
Mõõdik on episoodide edukuse määr:
SR = successful deliveries / evaluated episodesscore = 100 × SRPaki juurde jõudmise, sihtmärgile lähenemise ega väiksema arvu sammude kasutamise eest osalist tulemust ei anta.
Platvormi edetabeli jaoks jagatakse testkaardid deterministlikult:
Võistluse ajal kuvatakse osaline tulemus, lõplik edetabel aga kasutab täielikku hulka. Kuulumist kahte alamhulka avalikud andmed ei sisalda. Keskmine sammude arv ja kehtetud pickup-/dropoff-katsed võivad ilmuda hindaja logides, kuid need ei mõjuta tulemust.
Kohandatud teosest „Robotkullerite akadeemia: ettevalmistusprogramm“ (IOAI 2026, Home Task 2). Turvaline andmeesitus, valideerimisreeglid, edetabelijaotus ja hindaja on kohandused MLCompete’i platvormile.