Skip to main content

Fast multi-agent gridworld reinforcement learning environments.

Project description

MultiGrid


Blocked Unlock Pickup: 2 Agents


The MultiGrid library provides contains a collection of fast multi-agent discrete gridworld environments for reinforcement learning in Gymnasium. This is a multi-agent extension of the minigrid library, and the interface is designed to be as similar as possible.

The environments are designed to be fast and easily customizable. Compared to minigrid, the underlying gridworld logic is significantly optimized, with environment simulation 10x to 20x faster by our benchmarks.

Documentation for this library can be found at ini.io/docs/multigrid.

Installation

git clone https://github.com/ini/multigrid
cd multigrid
pip install -e .

This package requires Python 3.9 or later.

Environments

The multigrid.envs package provides implementations of several multi-agent environments. You can find the full list here.

API

MultiGrid follows the same pattern as RLlib's MultiAgentEnv API and PettingZoo's ParallelEnv API.

import gymnasium as gym
import multigrid.envs

env = gym.make('MultiGrid-Empty-8x8-v0', agents=2, render_mode='human')

observations, infos = env.reset()
while not env.is_done():
   # this is where you would insert your policy / policies
   actions = {agent.index: agent.action_space.sample() for agent in env.agents}
   observations, rewards, terminations, truncations, infos = env.step(actions)

env.close()

More information about using MultiGrid directly with other APIs:

Training Agents

See the scripts folder for an example training with RLlib.

Documentation

Documentation for this package can be found at ini.io/docs/multigrid.

Citation

To cite this project please use:

@software{multigrid,
  author = {Oguntola, Ini},
  title = {Fast Multi-Agent Gridworld Environments for Gymnasium},
  url = {https://github.com/ini/multigrid},
  year = {2023},
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multigrid-0.1.0.tar.gz (44.7 kB view hashes)

Uploaded Source

Built Distribution

multigrid-0.1.0-py3-none-any.whl (56.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page