Agent Based Simulation and MultiAgent Reinforcement Learning
Project description
Abmarl
Abmarl is a package for developing Agent-Based Simulations and training them with MultiAgent Reinforcement Learning (MARL). We provide an intuitive command line interface for engaging with the full workflow of MARL experimentation: training, visualizing, and analyzing agent behavior. We define an Agent-Based Simulation Interface and Simulation Manager, which control which agents interact with the simulation at each step. We support integration with popular reinforcement learning simulation interfaces, including gym.Env, MultiAgentEnv, and OpenSpiel. We define our own GridWorld Simulation Framework for creating custom grid-based Agent Based Simulations.
Abmarl leverages RLlib’s framework for reinforcement learning and extends it to more easily support custom simulations, algorithms, and policies. We enable researchers to rapidly prototype MARL experiments and simulation design and lower the barrier for pre-existing projects to prototype RL as a potential solution.
Quickstart
To use Abmarl, install via pip: pip install abmarl
To develop Abmarl, clone the repository and install via pip's development mode.
git clone git@github.com:LLNL/Abmarl.git
cd abmarl
pip install -r requirements.txt
pip install -e . --no-deps
Train agents in a multicorridor simulation:
abmarl train examples/multi_corridor_example.py
Visualize trained behavior:
abmarl visualize ~/abmarl_results/MultiCorridor-2020-08-25_09-30/ -n 5 --record
Note: If you install with conda,
then you must also include ffmpeg
in your
virtual environment.
Documentation
You can find the latest Abmarl documentation on our ReadTheDocs page.
Community
Citation
Abmarl has been published to the Journal of Open Source Software (JOSS). It can be cited using the following bibtex entry:
@article{Rusu2021,
doi = {10.21105/joss.03424},
url = {https://doi.org/10.21105/joss.03424},
year = {2021},
publisher = {The Open Journal},
volume = {6},
number = {64},
pages = {3424},
author = {Edward Rusu and Ruben Glatt},
title = {Abmarl: Connecting Agent-Based Simulations with Multi-Agent Reinforcement Learning},
journal = {Journal of Open Source Software}
}
Reporting Issues
Please use our issue tracker to report any bugs or submit feature requests. Great bug reports tend to have:
- A quick summary and/or background
- Steps to reproduce, sample code is best.
- What you expected would happen
- What actually happens
Contributing
Please submit contributions via pull requests from a forked repository. Find out more about this process here. All contributions are under the BSD 3 License that covers the project.
Release
LLNL-CODE-815883
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
File details
Details for the file abmarl-0.2.6.tar.gz
.
File metadata
- Download URL: abmarl-0.2.6.tar.gz
- Upload date:
- Size: 97.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 993f4307d385509fb44edb5127a8631f1ef38458f600336853d940c10a209f2c |
|
MD5 | 437d5263badddb5062fc7776e91ddb58 |
|
BLAKE2b-256 | b9df8cb2024ad877dfdc5bad2c3238836a7cca110f3cce8a37a7f2c7322f51a9 |
File details
Details for the file abmarl-0.2.6-py3-none-any.whl
.
File metadata
- Download URL: abmarl-0.2.6-py3-none-any.whl
- Upload date:
- Size: 134.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.9.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c11ddfe2ae8d384a13f2b678c3ed09bdfb7bda51c9860fc49e73b5bd2ba2a640 |
|
MD5 | 429c0fb891951dfb7e6b112c65d53372 |
|
BLAKE2b-256 | 1c1ac8c85f7215bd543134f5d9307195e106e9fe96a89b8adc44971e457f0e0b |