A fast Multi-Agent Reinforcement Learning Environment
Project description
Laser Learning Environment (LLE)
LLE is a fast Multi-Agent Reinforcement Learning environment written in Rust which has proven to be a difficult exploration benchmark so far.
Overview
The agents start in the start tiles, must collect the gems and finish the game by reaching the exit tiles. There are five actions: North, South, East, West and Stay.
When an agent enters a laser of its own colour, it blocks it. Otherwise, it dies and the game ends.
Citing our work
The paper has been presented at EWRL 2023. https://openreview.net/pdf?id=IPfdjr4rIs
@inproceedings{molinghen2023lle,
title={Laser Learning Environment: A new environment for coordination-critical multi-agent tasks},
author={Molinghen, Yannick and Avalos, Raphaël and Van Achter, Mark and Nowé, Ann and Lenaerts, Tom},
year={2023},
series={European Workshop on Reinforcement Learning},
booktitle={EWRL 2023}
}
Usage
Low level control
The World
class is the low-level object that you can work with.
from lle import World, Action
world = World("S0 G X") # Linear world with start S0, gem G and exit X
world.reset()
available_actions = world.available_actions[0] # Action.STAY, Action.EAST
reward = world.step([Action.EAST])
reward = world.step([Action.EAST])
assert world.done
You can also access and force the state of the world
state = world.get_state()
...
world.set_state(state)
You can query the world on the tiles with world.start_pos
, world.exit_pos
, world.gem_pos
, ...
High-Level control
You can also use LLE as an RLEnv
with the lle.LLE
class. This class is a wrapper around the World
class that implements the RLEnv
interface.
from lle import LLE
env = LLE.from_str("S0 G X")
obs = env.reset()
obs, reward, done, info = env.step([0]) # Actions are now integers
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for laser_learning_environment-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17797c67efd2f84a622920abfc4a2335715b1b7eb6dc0e18266a950462b55aa8 |
|
MD5 | 0f8df06d169515ddba0ab1c11f899b40 |
|
BLAKE2b-256 | 5283e30eccb36275a17c953dd8b41863bb0c5e1412a152d605f829b9eab64b19 |
Hashes for laser_learning_environment-0.1.3-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d20e244c3c1201141f6b8d721945ce52ff02c29a16ccfdd6eaa676b66913a24 |
|
MD5 | 5b8a0a74e07cb2ce2ac1a0872f6624bd |
|
BLAKE2b-256 | 9541b0c4f5d57738de70583f1067f94046ce7b2be323ad7a99781ff723d15465 |