Задатак #304
Аутор:IOAI 2026 Organizing Team
Тежина
Твој најбољи резултат
Н/Д
Обучавате робота за испоруку на градској мапи која се састоји од 8 × 8 поља. У свакој епизоди робот креће са слободног поља, стиже до складишта у којем се налази пакет, преузима га, одлази до другог складишта — одредишта — и испоручује га. Свака мапа садржи шест складишта и осам блокираних поља.
Циљ је да се понашање робота научи из намерно малог броја експертских демонстрација. Ово је проблем клонирања понашања: обучавате модел на примерима посматрања/акције, а затим га покрећете корак по корак у новим епизодама.
Складишта су индексирана са 0..5 и означена са A..F. Епизода се успешно завршава када робот изврши важећу акцију dropoff на одредишту док носи пакет. Дозвољено је највише 120 actions.
| ID | Акција |
|---|---|
| 0 | југ |
| 1 | север |
| 2 | исток |
| 3 | запад |
| 4 | преузимање пакета (pickup) |
| 5 | испорука пакета (dropoff) |
Кретање у зид или ван мапе не мења положај робота, али троши један корак. pickup успева само у складишту пакета када робот још не носи пакет. dropoff успева само на одредишту када робот носи пакет. Неважећи pickup или dropoff не мења state и троши један корак.
Свако посматрање за обуку садржи:
grid: float32 тензор облика (6, 8, 8);vector: 13 нормализованих нумеричких вредности;action_mask: шест логичких вредности које означавају важеће actions;state: (row, column, package_field, destination).Канали тензора grid представљају:
vector садржи, редом: нормализовани ред и колону робота, поље пакета, одредиште, индикатор ношења, ред и колону тренутног циља, разлике у односу на циљ, а затим четири индикатора блокираног кретања редом југ, север, исток, запад.
Јавни скуп података садржи:
Пакет платформе користи JSON и безбедне NumPy низове уместо Python pickle датотека. Погледајте starter_kit.py за тачне називе и код за учитавање. Учитајте NumPy датотеке уз allow_pickle=False.
Сваки layout_id деле четири епизоде. Јединствени кључ је увек:
(layout_id, episode_seed)Обучите детерминистички модел који предвиђа следећу акцију из тренутног посматрања. Покрените модел кроз целе епизоде и генеришите по једну секвенцу акција за сваки тест сценарио.
Можете користити достављене демонстрације за обуку. Није вам дозвољено да добијате експертске ознаке за скупове за валидацију или тестирање, нити да генеришете додатне експертске демонстрације претрагом, планирањем или другим експертским моделом. Решења заснована на правилима или изричито тврдо кодирана решења може прегледати Научни комитет. Организатори могу затражити notebook или изворни код коришћен за генерисање пријаве.
Предајте ZIP архиву под називом predictions.zip, која у корену садржи тачно једну датотеку: predictions.json.
Датотека мора да садржи JSON низ са тачно 1,600 објеката, по један за сваку тест епизоду:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Захтеви:
(layout_id, episode_seed), а не по редоследу редова;actions мора бити JSON листа целих бројева — не логичких вредности — између 0 и 5;Неважеће архиве или непотпуне пријаве се одбијају.
Метрика је стопа успешности епизода:
SR = successful deliveries / evaluated episodesscore = 100 × SRНе додељују се делимични поени за достизање пакета, приближавање циљу или коришћење мањег броја корака.
За ранг-листу платформе, тест мапе су детерминистички подељене:
Током такмичења приказује се делимични резултат, док коначна ранг-листа користи цео скуп. Припадност двама подскуповима није укључена у јавне податке. Просечан број корака и неважећи покушаји pickup/dropoff могу се појавити у евиденцијама оцењивача, али не утичу на резултат.
Прилагођено према „Академија роботских испорука: припремни програм“ (IOAI 2026, Home Task 2). Безбедан приказ података, правила валидације, подела ранг-листе и оцењивач прилагођени су платформи MLCompete.