# 多智能体RL **Repository Path**: sunNAU/multi_agent_rl ## Basic Information - **Project Name**: 多智能体RL - **Description**: No description available - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 6 - **Forks**: 2 - **Created**: 2020-07-01 - **Last Updated**: 2025-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 多智能体RL ## 一、介绍 多智能体RL的仿真环境 ## 二、DRL基准算法 Baselines:OpenAI Baselines is a set of high-quality implementations of reinforcement learning algorithms. https://github.com/openai/baselines RLs:Reinforcement Learning Algorithm Based On TensorFlow2.0. https://github.com/StepNeverStop/RLs PARL:PARL is a flexible and high-efficient reinforcement learning framework. https://github.com/PaddlePaddle/PARL 算法数量:RLs>PARL>Baselines ## 三、多智能RL的仿真环境 ### 1 星际争霸 #### PySC2 - StarCraft II Learning Environment https://github.com/deepmind/pysc2 PySC2 is DeepMind's Python component of the StarCraft II Learning Environment (SC2LE). It exposes Blizzard Entertainment's StarCraft II Machine Learning API as a Python RL Environment. This is a collaboration between DeepMind and Blizzard to develop StarCraft II into a rich environment for RL research. PySC2 provides an interface for RL agents to interact with StarCraft 2, getting observations and sending actions. #### SMAC - StarCraft Multi-Agent Challenge https://github.com/oxwhirl/smac SMAC is WhiRL's environment for research in the field of collaborative multi-agent reinforcement learning (MARL) based on Blizzard's StarCraft II RTS game. SMAC makes use of Blizzard's StarCraft II Machine Learning API and DeepMind's PySC2 to provide a convenient interface for autonomous agents to interact with StarCraft II, getting observations and performing actions. Unlike the PySC2, SMAC concentrates on decentralised micromanagement scenarios, where each unit of the game is controlled by an individual RL agent. ### 2 MaCA 多智能体对抗仿真环境 https://github.com/CETC-TFAI/MaCA 中文教程:https://github.com/CETC-TFAI/MaCA/blob/master/doc/tutorial.md 环境说明:https://github.com/CETC-TFAI/MaCA/blob/master/doc/MaCA环境说明.pdf 中国电子科技集团公司认知与智能技术重点实验室发布的MaCA(Multi-agent Combat Arena)环境,是国内首个可模拟军事作战的轻量级多智能体对抗与训练平台,是多智能体对抗算法研究、训练、测试和评估的绝佳环境,可支持作战场景和规模自定义,智能体数量和种类自定义,智能体特征和属性自定义,支持智能体行为回报规则和回报值自定义等。目前发布的MaCA环境中预设了两种智能体类型,探测单元和攻击单元:探测单元可模拟L、S波段雷达进行全向探测,支持多频点切换;攻击单元具备侦察、探测、干扰、打击等功能,可模拟X波段雷达进行指向性探测,模拟L、S、X频段干扰设备进行阻塞式和瞄准式电子干扰,支持多频点切换。攻击单元还可模拟对敌方进行火力攻击,同时具有无源侦测能力,可模拟多站无源协同定位和辐射源特征识别。 MaCA 环境为研究利用人工智能方法解决大规模多智能体分布式对抗问题提供了很好的支撑,专门面向多智能体深度强化学习开放了 RL-API 接口。环境支持使用 Python 语言进行算法实现,并支持Tensorflow、Pytorch 等常用深度学习框架的集成调用。 Multi-agent Combat Arena (MaCA) is a heterogeneous multi-agent distributed decision and control technology reasearch platform produced by CETC-TFAI team. It focuses on the application of AI technologies e.g. reinforcement learning in multi-agent cooperation and confrontation ### 3 Multi-Agent Particle Environment https://github.com/openai/multiagent-particle-envs 简称小球环境,也是MADDPG用的环境,基本上可以看做是较为复杂的 gridworld 的环境。 在这个环境涵盖了ma里的竞争/协作/通讯场景,你可以根据你的需要设置agent的数量,选择他们要完成的任务,比如合作进行相互抓捕,碰撞等,你也可以继承某一个环境来改写自己的任务。状态信息主要包括agent坐标/方向/速度等,这些小球的的原始动作空间是连续型的,不过在类属性里有个可以强制进行离散的设置,可以把它打开以后小球的动作就可以被离散为几个方向的移动了。此外,在这个环境中,小球之间的碰撞都都是模拟刚体的实际碰撞,通过计算动量,受力等来计算速度和位移。这个环境render出来如下: A simple multi-agent particle world with a continuous observation and discrete action space, along with some basic simulated physics. Used in the paper Multi-Agent Actor-Critic for Mixed Cooperative-Competitive Environments. ### 4 Multiagent emergence https://github.com/openai/multi-agent-emergence-environments https://arxiv.org/pdf/1909.07528.pdf ![输入图片说明](https://images.gitee.com/uploads/images/2020/0707/082157_74136a38_5440781.jpeg "2x-no-mark.jpg") ### 5 MAgent https://github.com/geek-ai/MAgent https://github.com/PettingZoo-Team/MAgent 多agent强化学习的研究平台,侧重于强化学习研究与单一代理或只有少数代理,MAgent旨在支持强化学习研究规模从数亿到数百万代理。 |![展示](https://images.gitee.com/uploads/images/2020/0702/123147_cc79a3c0_5440781.gif "68747470733a2f2f6b6970736f72612e6769746875622e696f2f7265736f75726365732f6d6167656e742d67726170682d322e676966.gif")| |--|--| ### 6 其他环境 #### Deepmind MAS enviroment https://github.com/wwxFromTju/deepmind_MAS_enviroment #### Arena-Baselines https://github.com/YuhangSong/Arena-Baselines 30+ games includes Tennis, Tank, BlowBlow, FallFlat, and etc. There are also multiple variants of each game with different team setups, social structures, actions spaces, observation spaces (first-person visual, third-person visual, vector or mixed), domain randomizations, and etc. #### Google Research Football https://github.com/google-research/football ![输入图片说明](https://images.gitee.com/uploads/images/2020/0702/124849_c6ecc28a_5440781.png "4.png") #### Unity ML-Agents Toolkit https://github.com/Unity-Technologies/ml-agents 15+个游戏环境, 附带两种经典DRL方法:Proximal Policy Optimization (PPO) and Soft Actor-Critic (SAC), 支持自我对弈 The Unity Machine Learning Agents Toolkit (ML-Agents) is an open-source project that enables games and simulations to serve as environments for training intelligent agents. Agents can be trained using reinforcement learning, imitation learning, neuroevolution, or other machine learning methods through a simple-to-use Python API. We also provide implementations (based on TensorFlow) of state-of-the-art algorithms to enable game developers and hobbyists to easily train intelligent agents for 2D, 3D and VR/AR games. These trained agents can be used for multiple purposes, including controlling NPC behavior (in a variety of settings such as multi-agent and adversarial), automated testing of game builds and evaluating different game design decisions pre-release. The ML-Agents Toolkit is mutually beneficial for both game developers and AI researchers as it provides a central platform where advances in AI can be evaluated on Unity’s rich environments and then made accessible to the wider research and game developer communities. |![输入图片说明](https://images.gitee.com/uploads/images/2020/0702/124406_822832c7_5440781.png "1.png")|![输入图片说明](https://images.gitee.com/uploads/images/2020/0702/124415_e88b5048_5440781.png "2.png")|![输入图片说明](https://images.gitee.com/uploads/images/2020/0702/124426_92b07cf1_5440781.png "3.png")| |--|--|--| #### Fever Basketball https://github.com/FuxiRL/FeverBasketball |![输入图片说明](https://images.gitee.com/uploads/images/2020/0702/125143_3fb9a9b1_5440781.png "6.png")|![输入图片说明](https://images.gitee.com/uploads/images/2020/0702/125155_d8a41891_5440781.png "7.png")|![输入图片说明](https://images.gitee.com/uploads/images/2020/0702/125202_4ce251e4_5440781.png "8.png")| |--|--|--| #### Playground (Pommerman) https://github.com/MultiAgentLearning/playground 这个炸弹人环境好像是NIPS18的比赛挑战项目,可以组队进行参加。环境主要是2v2,每队控制两个agent,agent是partial observable,应该是只能观测到自己附近的环境。此外还有个场景可以进行通讯。 #### Neural MMO https://github.com/openai/neural-mmo #### CityFlow https://github.com/cityflow-project/CityFlow #### Multi-Agent-Learning-Environments(多个小游戏) https://github.com/Bigpig4396/Multi-Agent-Reinforcement-Learning-Environment #### 码云特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)