Problemă #312
Autor:Echipa științifică ONIA
Dificultate
Maximul tău
N/A
Un curier autonom lucrează pe o hartă de 8 × 8 celule. În fiecare episod,
trebuie să ajungă la depozitul în care se află un colet, să îl ridice, să ajungă
la un alt depozit — destinația — și să predea coletul. Fiecare hartă are șase
depozite și opt celule-blocaj.
Primești demonstrații expert obișnuite și un număr intenționat mic de
demonstrații de recuperare. Într-o asemenea demonstrație, curierul este
deplasat într-o celulă accesibilă învecinată înainte de continuarea etichetată.
Sarcina ta este să antrenezi o singură politică neuronală fixă, capabilă să își
revină din stări nefamiliare și să generalizeze pe hărți ascunse.
Aceasta este o problemă cu trimitere de model. Trimiți numai ponderile rețelei
impuse. Evaluatorul încarcă în siguranță tablourile și rulează politica pe
scenarii complet ascunse; codul concurentului nu este executat niciodată.
Cele șase acțiuni sunt:
| ID | Acțiune |
|---|---|
| 0 | sud |
| 1 | nord |
| 2 | est |
| 3 | vest |
| 4 | ridicare colet |
| 5 | predare colet |
Episodul reușește dacă acțiunea 5 este aleasă la destinație, în timp ce
curierul transportă coletul. Limita este de 96 de acțiuni.
Politica primește întotdeauna o mască de acțiuni. O deplasare este mascată dacă
ar ieși din hartă sau ar intra într-un perete. Ridicarea este disponibilă numai
la depozitul coletului, iar predarea numai la destinație, în timp ce curierul
transportă coletul. Evaluatorul nu poate selecta acțiuni mascate.
Unele episoade ascunse conțin blocări deterministe ale actuatorului. La un
astfel de pas, o deplasare altfel validă consumă pasul, dar nu schimbă poziția
curierului. Următoarea observație descrie, deci, aceeași stare. Ridicarea și
predarea nu sunt blocate.
Intrarea este un vector float32 de lungime 397:
(6, 8, 8) aplatizată în ordinea canalelor;Canalele grilei sunt: pereți, celule-depozit, poziția curierului, poziția
coletului (canal gol în timpul transportului), destinația și indicatorul de
transport repetat pe întreaga grilă.
Ultimele 13 valori sunt: linia și coloana normalizate, indexul depozitului
coletului, indexul destinației, indicatorul de transport, linia și coloana
țintei curente, diferențele față de țintă și patru indicatori de deplasare
blocată în ordinea sud, nord, est, vest. Implementarea normativă este în
starter_kit.py.
Trebuie să antrenezi exact următorul MLP determinist:
397 -> Linear -> 48 -> ReLU -> Linear -> 32 -> ReLU -> Linear -> 6La fiecare pas, evaluatorul înlocuiește logit-urile acțiunilor mascate cu minus
infinit și aplică argmax. La egalitate, NumPy alege primul index. Nu se folosesc
softmax, eșantionare, stare recurentă sau cod al concurentului în evaluare.
Cele șase tablouri și formele exacte sunt:
| Tablou | Formă |
|---|---|
W1 | (397, 48) |
b1 | (48,) |
W2 | (48, 32) |
b2 | (32,) |
W3 | (32, 6) |
b3 | (6,) |
Toate valorile trebuie să fie finite, de tip float32, și să aibă valoarea
absolută cel mult 1000.
Arhiva publică include demonstrații normale și de recuperare etichetate,
scenarii de validare neetichetate, simulatorul local, un baseline de antrenare,
un exportator și un validator de trimiteri. Scenariile de evaluare și
programările blocărilor nu sunt publicate.
train_demo_kind.npy are valoarea 0 pentru un exemplu normal și 1 pentru un
exemplu de recuperare. Folosește train_episode_offsets.npy pentru delimitarea
traiectoriilor. Formele exacte și manifestul SHA sunt în README.md din setul
de date.
Trimite o arhivă ZIP cu exact două fișiere la rădăcină:
submission.zip├── manifest.json└── policy.npzpolicy.npz trebuie să conțină exact cele șase tablouri de mai sus. Nu folosi
pickle sau tablouri object. Scriptul export_policy.py creează manifestul și
arhiva corecte, iar validate_submission.py le verifică înainte de încărcare.
Subsetul live/parțial conține hărți ascunse din familia familiară de antrenare,
fără blocări sau cu blocări ușoare. Subsetul complet/final conține familii noi
de hărți, cu bariere și încăperi, poziții inițiale perturbate în celule valide
din afara traseelor expert nominale și mai multe blocări. Apartenența la subset,
hărțile și perturbările rămân ascunse.
Pentru un subset, definim:
SR = episoade reușite / toate episoadeleEFF = media(succes * pași_optimi_fără_blocări / pași_folosiți)metrică = 0,90 * SR + 0,10 * EFFpunctaj = 100 * metricăEpisoadele nereușite contribuie cu eficiență zero. pași_optimi_fără_blocări
este lungimea celei mai scurte livrări înainte de blocările actuatorului; prin
urmare, blocările pot reduce ușor eficiența maximă. Succesul rămâne în mod
intenționat obiectivul dominant.
Evaluatorul raportează separat metricile live și finale. Nu există subtask-uri
ale platformei.
Antrenează politica din demonstrațiile furnizate. Nu încerca să reconstruiești,
să sondezi sau să obții scenariile ascunse. Organizatorii pot solicita
notebook-ul și codul de antrenare care au produs o trimitere premiată.
Aceasta este o problemă originală de simulare RO-OAI, inspirată de contextul de
clonare comportamentală din IOAI 2026 Home Task 2, Robot Delivery Academy.
Toate scenariile, perturbările de recuperare, subseturile, împachetarea și codul
de evaluare sunt generate special pentru această simulare.