Giter Club home page Giter Club logo

multi-agent-reinforcement-learning-environment's Introduction

Multi-Agent-Learning-Environments

Hello, I pushed some python environments for Multi Agent Reinforcement Learning. Some are single agent version that can be used for algorithm testing. I provide documents for each environment, you can check the corresponding pdf files in each directory. These are just toy problems, though some of them are still hard to solve. Some environments are like:

Multi Agent Soccer Game

image

Multi Agent Rescue

image

Multi Agent Cleaner

image

Multi Agent Move Box

image

Multi Agent Catching Pig

image

Multi Drones Monitoring

image

Multi Agent Maze Running

image

Multi Agent Find Treasure

image

Firefighters

image

Go Together

image

Warehouse

image

Opposite

image

Dependency

OpenCV, swig

Multi-Agent Environment Standard

Assumption:

Each agent works synchronously.

Member Functions

reset()

reward_list, done = step(action_list)

obs_list = get_obs()

reward_list records the single step reward for each agent, it should be a list like [reward1, reward2,......]. The length should be the same as the number of agents. Each element in the list should be a integer.

done True/False, mark when an episode finishes.

action_list records the single step action instruction for each agent, it should be a list like [action1, action2,...]. The length should be the same as the number of agents. Each element in the list should be a non-negative integer.

obs_list records the single step observation for each agent, it should be a list like [obs1, obs2,...]. The length should be the same as the number of agents. Each element in the list can be any form of data, but should be in same dimension, usually a list of variables or an image.

Typical Monte Carlo Procedures

reset environment by calling reset() get initial observation get_obs() for i in range(max_MC_iter): get action_list from controller apply action by step() record returned reward list record new observation by get_obs()

Citation

Cite the environment of the following paper as:

@inproceedings{jiang2021multi,
 title={Multi-agent reinforcement learning with directed exploration and selective memory reuse},
 author={Jiang, Shuo and Amato, Christopher},
 booktitle={Proceedings of the 36th Annual ACM Symposium on Applied Computing},
 pages={777--784},
 year={2021}
}

multi-agent-reinforcement-learning-environment's People

Contributors

bigpig4396 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

multi-agent-reinforcement-learning-environment's Issues

Issue while running env_Rescue

I am facing the following error on Mac can you help me out:
Traceback (most recent call last):
File "test.py", line 2, in
from env_rescue import EnvRescue
File "/Users/ashwinnair/PycharmProjects/Multi-Agent-Reinforcement-Learning-Environment/env_Rescue/Python3/env_rescue.py", line 1, in
from CEnvRescue import CEnvRescue
File "/Users/ashwinnair/PycharmProjects/Multi-Agent-Reinforcement-Learning-Environment/env_Rescue/Python3/CEnvRescue.py", line 20, in
_CEnvRescue = swig_import_helper()
File "/Users/ashwinnair/PycharmProjects/Multi-Agent-Reinforcement-Learning-Environment/env_Rescue/Python3/CEnvRescue.py", line 18, in swig_import_helper
return importlib.import_module('_CEnvRescue')
File "/Users/ashwinnair/opt/anaconda3/lib/python3.7/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
ImportError: dlopen(/Users/ashwinnair/PycharmProjects/Multi-Agent-Reinforcement-Learning-Environment/env_Rescue/Python3/_CEnvRescue.so, 2): no suitable image found. Did find:
/Users/ashwinnair/PycharmProjects/Multi-Agent-Reinforcement-Learning-Environment/env_Rescue/Python3/_CEnvRescue.so: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00
/Users/ashwinnair/PycharmProjects/Multi-Agent-Reinforcement-Learning-Environment/env_Rescue/Python3/_CEnvRescue.so: unknown file type, first eight bytes: 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00

Under what circumstances will the env_FireFighter be done?

Thank you for your great work, I'm a new learner of the RL field, and I'm learning how to build my model.

for other environments, I can see how the game finish, such as agents put the box in the right location. but in the FireFighter environment, when will an episode be done?

I have tried to let fire level == [0,0,0,0] (or [2,2,2,2]) be the goal, at this time I will end the episode and give a positive reward. I use a DQN to learn the strategy, but it seems that whatever actions I choose, the fire level will increase especially the first and last house. I wonder how I can set the stopping criterion in this environment, do you have any idea? thank you!

License ?

Under what license are these reinforcement learning environments released under ? Thank you.

Regarding the env_Soccer

Hi. Thanks for putting up all these envs. It is really helpful for a person like me who is new to both RL and Python,

It will be very helpful if you can let me know what are the local rewards to each agent for every action. The reason why I am asking is that the overall objective is to score the goals (and defend them by the opponent team), but there must be some incentive for each agent to perform the given actions, or is the reward +10 and -10 sufficient?

I am eagerly waiting for your response. Thanks.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.