ARCLE is a RL environment for training Abstraction and Reasoning Corpus and ARC-like datasets, built on Farama Gymnasium.
ARCLE implements several environments with various actions on editing grids of ARC, with object-oriented grid operations. Inspired by O2ARC Interface, O2ARC 3.0 - the game-like human interface collecting human ARC solutions, ARCLE contains this interface as a RL environment, as well as the testing interface given with ARC Dataset.
Our work is presented at CoLLAs 2024! This paper contains initial experiments equipping ARCLE with PPO-optimized pixel-wise transformer on small grid pairs, in addition to a detailed description of ARCLE. Check out our Paper.
- Simon ARC Env (Dec 2023): another ARC RL environment
- RL Algorithms (May 2024): DreamerV3, PPO working on ARCLE environments
Python >= 3.8
pip install arcle
Env Name | Description | Latest Version |
---|---|---|
RawARCEnv |
Environment with actions only coloring, resizing to answer grid, and submit operations | v0 |
ARCEnv |
Implements browser-based testing interface of ARC, with coloring, flood-filling, copy and paste | v0 |
O2ARCv2Env |
Implements O2ARCv2 Interface, an extension of ARCEnv containing Move, Rotate, Flip, Crop, ... |
v0 |
-
Env Changes
O2ARCv2Env
is accessible viaO2ARCEnv
orO2ARCEnv-v2
.- Unify type of observations into
np.int8
(that were previouslynp.uint8
) - Unify observation space into a dictionary of
Box
orMultiBinary
to flatten observations properly by Gymnasium APIs - Remove over-conditioned (
@abstractmethod
) requirements ofAbstractARCEnv
. Now user must only overridecreate_operations
only.
-
Added action wrappers (
BBoxWrapper
,PointWrapper
) to changeselection
to bounding box selection or one-point selection. -
Loader
now supports definable random number generator. -
Orginized examples
-
Bug Fix
- Fixed
terminated
is not emitted whenmax_trial
is infinity (-1)
- Fixed
-
Python 3.8 Support (minimum requirement of Gymnasium)
-
Env Changes
- Rename
ARCEnv
intoRawARCEnv
in this version. - Removed
MiniARCEnv
. Please useRawARCEnv
withloader=MiniARCLoader()
instead. - New
ARCEnv
added, consisting action space of ARC testing interface given along with the ARC Dataset. - States in every environments are fully observable. All state-related instance variables are now in the
current_state
dictionary.- All operations receives
state
andaction
, and it changesstate
in-place. - You can deepcopy the state and call
env.transition(state_copied, action)
to get next state without changing original state onO2ARCv2Env
.env.transition
will be replaced as separated utility function in the future.
- All operations receives
- n-trial mode added. You canset maximum trials when you call
gym.make()
by putting argumentmax_trial=num
. Unlimited trial mode is available when it is set by -1 (default). - Customizable
Submit
operation. It is defined in each env class as a method, not in a separated module.- You can specify boolean option
reset_on_submit
inenv.reset
(default=False
)
- You can specify boolean option
- Rename
-
Bug fix
FloodFill
operation without selection case fixedPaste
operation out-of-bound case fixedCopyI
operation out-of-bound case fixed- Apply patch exception handling
- Bug fix
- Default all-or-none reward now gives only when submitted. It affects to existing all environments.
- O2ARCv2Env-v0
- Changed
ResizeGrid
action toCropGrid
action - Forced
FloodFill
action to select only one pixel (otherwise, it is NoOP) - Now
CopyI
,CopyO
,Paste
regards black pixels (pixel value 0) as a background. It copies pixels where the value is nonzero and the pixel is selected. action['selection']
can handle int (automatically casts intonp.bool_
)
- Changed
- Several exceptions handling
- ArcEnv-v0 & MiniArcEnv-v0 has renamed to ARCEnv-v0 & MiniARCEnv-v0.
- Changed internal
current_grid
variable togrid
&grid_dim
- Added O2ARCv2Env-v0 environment.
- Added O2ARC Actions
- Uses
selection
andselected
. Some internal variables should be initialized. - Color, Flood Fill(DFS Color)
- Move, Rotate, Flip
- Copy, Paste and Clipboard Features (For O2ARC)
- Uses
- Change Images
- Fix minor issues
- Initial Build.
- ArcEnv-v0 & MiniArcEnv-v0 Launched.