Zadanie #304
Autor:IOAI 2026 Organizing Team
Trudność
Twój najlepszy wynik
Nie dotyczy
Trenujecie robota dostawczego na mapie miejskiej składającej się z 8 × 8 pól. W każdym epizodzie robot zaczyna na wolnym polu, dociera do magazynu, w którym znajduje się paczka, odbiera ją, przemieszcza się do innego magazynu — miejsca docelowego — i ją dostarcza. Każda mapa zawiera sześć magazynów i osiem zablokowanych pól.
Celem jest nauczenie zachowania robota na podstawie celowo małej liczby demonstracji eksperckich. Jest to problem klonowania zachowania: trenujecie model na przykładach obserwacja/akcja, a następnie uruchamiacie go krok po kroku w nowych epizodach.
Magazyny są indeksowane jako 0..5 i oznaczone jako A..F. Epizod kończy się powodzeniem, gdy robot wykona poprawną akcję dropoff w miejscu docelowym, niosąc paczkę. Dozwolonych jest najwyżej 120 actions.
| ID | Akcja |
|---|---|
| 0 | południe |
| 1 | północ |
| 2 | wschód |
| 3 | zachód |
| 4 | odbierz paczkę (pickup) |
| 5 | dostarcz paczkę (dropoff) |
Ruch w ścianę lub poza mapę nie zmienia pozycji robota, ale zużywa jeden krok. pickup powiedzie się tylko w magazynie paczki, gdy robot nie niesie jeszcze paczki. dropoff powiedzie się tylko w miejscu docelowym, gdy robot niesie paczkę. Niepoprawny pickup lub dropoff nie zmienia state i zużywa jeden krok.
Każda obserwacja treningowa zawiera:
grid: tensor float32 o kształcie (6, 8, 8);vector: 13 znormalizowanych wartości liczbowych;action_mask: sześć wartości logicznych wskazujących poprawne actions;state: (row, column, package_field, destination).Kanały tensora grid reprezentują:
vector zawiera kolejno: znormalizowany wiersz i kolumnę robota, pole paczki, miejsce docelowe, wskaźnik niesienia, wiersz i kolumnę bieżącego celu, różnice względem celu, a następnie cztery wskaźniki zablokowanego ruchu w kolejności południe, północ, wschód, zachód.
Publiczny zbiór danych zawiera:
Pakiet platformy używa formatu JSON i bezpiecznych tablic NumPy zamiast plików pickle języka Python. Dokładne nazwy i kod ładowania znajdują się w starter_kit.py. Ładujcie pliki NumPy z allow_pickle=False.
Każdy layout_id jest wspólny dla czterech epizodów. Unikatowym kluczem jest zawsze:
(layout_id, episode_seed)Wytrenujcie deterministyczny model, który przewiduje następną akcję na podstawie bieżącej obserwacji. Uruchomcie model na pełnych epizodach i wygenerujcie po jednej sekwencji akcji dla każdego scenariusza testowego.
Możecie użyć dostarczonych demonstracji do treningu. Nie wolno wam uzyskiwać etykiet eksperckich dla zbiorów walidacyjnych ani testowych, ani generować dodatkowych demonstracji eksperckich za pomocą wyszukiwania, planowania lub innego modelu eksperckiego. Rozwiązania oparte na regułach lub jawnie zakodowane na stałe mogą zostać sprawdzone przez Komitet Naukowy. Organizatorzy mogą poprosić o notebook lub kod źródłowy użyty do wygenerowania zgłoszenia.
Prześlijcie archiwum ZIP o nazwie predictions.zip, zawierające dokładnie jeden plik w katalogu głównym: predictions.json.
Plik musi zawierać tablicę JSON z dokładnie 1,600 obiektami, po jednym dla każdego epizodu testowego:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Wymagania:
(layout_id, episode_seed), a nie według kolejności wierszy;actions musi być listą JSON liczb całkowitych — nie wartości logicznych — od 0 do 5;Niepoprawne archiwa lub niekompletne zgłoszenia są odrzucane.
Metryką jest odsetek udanych epizodów:
SR = successful deliveries / evaluated episodesscore = 100 × SRNie przyznaje się częściowych punktów za dotarcie do paczki, zbliżenie się do celu ani użycie mniejszej liczby kroków.
Na potrzeby rankingu platformy mapy testowe są dzielone deterministycznie:
Podczas zawodów wyświetlany jest wynik częściowy, natomiast ranking końcowy wykorzystuje pełny zbiór. Przynależność do dwóch podzbiorów nie jest zawarta w danych publicznych. Średnia liczba kroków i niepoprawne próby pickup/dropoff mogą pojawić się w dziennikach oceniającego, ale nie wpływają na wynik.
Na podstawie „Akademia dostaw robotycznych: program przygotowawczy” (IOAI 2026, Home Task 2). Bezpieczna reprezentacja danych, reguły walidacji, podział rankingu i oceniający są dostosowaniami do platformy MLCompete.