Probleem #304
Auteur:IOAI 2026 Organizing Team
Moeilijkheid
Jouw beste score
N.v.t.
U traint een bezorgrobot op een stedelijke kaart die bestaat uit 8 × 8 cellen. In elke episode begint de robot in een vrije cel, bereikt hij het depot waar het pakket zich bevindt, haalt hij het op, reist hij naar een ander depot — de bestemming — en bezorgt hij het daar. Elke kaart bevat zes depots en acht geblokkeerde cellen.
Het doel is om het gedrag van de robot te leren uit een bewust klein aantal expertdemonstraties. Dit is een probleem voor gedragsklonen: u traint een model op voorbeelden van observaties/acties en voert het vervolgens stap voor stap uit in nieuwe episodes.
De depots zijn geïndexeerd met 0..5 en aangeduid met A..F. Een episode eindigt met succes wanneer de robot bij de bestemming een geldige dropoff-actie uitvoert terwijl hij het pakket draagt. Er zijn maximaal 120 actions toegestaan.
| ID | Actie |
|---|---|
| 0 | zuid |
| 1 | noord |
| 2 | oost |
| 3 | west |
| 4 | pakket ophalen (pickup) |
| 5 | pakket bezorgen (dropoff) |
Een beweging tegen een muur of buiten de kaart verandert de positie van de robot niet, maar kost wel één stap. pickup slaagt alleen bij het pakketdepot wanneer de robot het pakket nog niet draagt. dropoff slaagt alleen op de bestemming wanneer de robot het pakket draagt. Een ongeldige pickup of dropoff verandert de state niet en kost één stap.
Elke trainingsobservatie bevat:
grid: een float32-tensor met vorm (6, 8, 8);vector: 13 genormaliseerde numerieke waarden;action_mask: zes booleaanse waarden die de geldige actions aangeven;state: (row, column, package_field, destination).De kanalen van de grid-tensor stellen het volgende voor:
De vector bevat, in deze volgorde: de genormaliseerde rij en kolom van de robot, het pakketveld, de bestemming, de draagindicator, de rij en kolom van het huidige doel, de verschillen ten opzichte van het doel, gevolgd door vier indicatoren voor geblokkeerde beweging in de volgorde zuid, noord, oost, west.
De openbare gegevensset bevat:
Het platformpakket gebruikt JSON en veilige NumPy-arrays in plaats van Python-picklebestanden. Raadpleeg starter_kit.py voor de exacte namen en laadcode. Laad NumPy-bestanden met allow_pickle=False.
Elke layout_id wordt door vier episodes gedeeld. De unieke sleutel is altijd:
(layout_id, episode_seed)Train een deterministisch model dat de volgende actie voorspelt op basis van de huidige observatie. Voer het model uit over volledige episodes en genereer voor elk testscenario één actiereeks.
U mag de verstrekte demonstraties gebruiken voor training. U mag geen expertlabels verkrijgen voor de validatie- of testsets en evenmin aanvullende expertdemonstraties genereren via zoeken, plannen of een ander expertmodel. Op regels gebaseerde of expliciet hardgecodeerde oplossingen kunnen door het Wetenschappelijk Comité worden beoordeeld. De organisatoren kunnen het notebook of de broncode opvragen waarmee de inzending is gegenereerd.
Dien een ZIP-archief met de naam predictions.zip in dat precies één bestand in de hoofdmap bevat: predictions.json.
Het bestand moet een JSON-array bevatten met precies 1,600 objecten, één voor elke testepisode:
[ {"layout_id":"test_0000","episode_seed":300000,"actions":[1,1,2,4,0,5]}]Vereisten:
(layout_id, episode_seed), niet op basis van de rijvolgorde;actions moet een JSON-lijst zijn van gehele getallen — geen booleaanse waarden — tussen 0 en 5;Ongeldige archieven of onvolledige inzendingen worden afgewezen.
De metriek is het succespercentage van episodes:
SR = successful deliveries / evaluated episodesscore = 100 × SREr worden geen deelpunten toegekend voor het bereiken van het pakket, het dichter bij het doel komen of het gebruiken van minder stappen.
Voor het klassement van het platform worden de testkaarten deterministisch opgesplitst:
Tijdens de wedstrijd wordt de deelscore weergegeven, terwijl het definitieve klassement de volledige set gebruikt. Het lidmaatschap van de twee deelverzamelingen is niet opgenomen in de openbare gegevens. Het gemiddelde aantal stappen en ongeldige pickup-/dropoff-pogingen kunnen in de logboeken van de evaluator verschijnen, maar hebben geen invloed op de score.
Aangepast van ‘Academie voor robotbezorging: voorbereidingsprogramma’ (IOAI 2026, Home Task 2). De veilige gegevensrepresentatie, validatieregels, klassementsverdeling en evaluator zijn aanpassingen voor het MLCompete-platform.