WFC¶

Action Space |
|
Observation Space |
|
Creation |
|
Description¶
This environment procedurally generates a level using the Wave Function Collapse algorithm. The environment supports a variety of different level structures but the default is a simple maze. See WFC module page for sample images of the available presets.
Requires the optional dependencies imageio
and networkx
to be installed with pip install minigrid[wfc]
.
Mission Space¶
“traverse the maze to get to the goal”
Action Space¶
Num |
Name |
Action |
---|---|---|
0 |
left |
Turn left |
1 |
right |
Turn right |
2 |
forward |
Move forward |
3 |
pickup |
Unused |
4 |
drop |
Unused |
5 |
toggle |
Unused |
6 |
done |
Unused |
Observation Encoding¶
Each tile is encoded as a 3 dimensional tuple:
(OBJECT_IDX, COLOR_IDX, STATE)
OBJECT_TO_IDX
andCOLOR_TO_IDX
mapping can be found in minigrid/core/constants.pySTATE
refers to the door state with 0=open, 1=closed and 2=locked (unused)
Rewards¶
A reward of ‘1 - 0.9 * (step_count / max_steps)’ is given for success, and ‘0’ for failure.
Termination¶
The episode ends if any one of the following conditions is met:
The agent reaches the goal.
Timeout (see
max_steps
).
Registered Configurations¶
MiniGrid-WFC-MazeSimple-v0
MiniGrid-WFC-DungeonMazeScaled-v0
MiniGrid-WFC-RoomsFabric-v0
MiniGrid-WFC-ObstaclesBlackdots-v0
MiniGrid-WFC-ObstaclesAngular-v0
MiniGrid-WFC-ObstaclesHogs3-v0
Note: There are many more unregistered configuration presets but they may take a long time to generate a consistent environment.
They can be registered with the following snippet:
import gymnasium
from minigrid.envs.wfc.config import register_wfc_presets, WFC_PRESETS_INCONSISTENT, WFC_PRESETS_SLOW
register_wfc_presets(WFC_PRESETS_INCONSISTENT, gymnasium.register)
register_wfc_presets(WFC_PRESETS_SLOW, gymnasium.register)
Research¶
Adapted for Minigrid
by the following work.
@inproceedings{garcin2024dred,
title = {DRED: Zero-Shot Transfer in Reinforcement Learning via Data-Regularised Environment Design},
author = {Garcin, Samuel and Doran, James and Guo, Shangmin and Lucas, Christopher G and Albrecht, Stefano V},
booktitle = {Forty-first International Conference on Machine Learning},
year = {2024},
}