MPE的环境介绍
原文中给出的解释
环境名称 | 是否能够Communication | 是否进行Competitive | 场景说明 |
---|---|---|---|
simple,py | N | N | 单智能体看到地标位置,并根据距离地标位置的远近获得奖励。这只是一个示例demo,用来测试。 |
simple_adversary.py(欺骗行为) | N | Y | 1 个反方智能体(红色),N 个正方智能体(绿色),N 个地标(通常 N=2)。 所有智能体都会观察地标和其他智能体的位置。 一个地标是“目标地标”(绿色)。 正方智能体的奖励来自于它们中的一个与目标地标的接近程度,但如果反方智能体靠近目标地标,正方智能体则获得负奖励。 反方智能体根据它与目标的接近程度获得奖励,但它不知道哪个地标是目标地标。 因此,优秀的智能体必须学会“拆分”并覆盖所有地标以欺骗对手 |
simple_crypto.py(加密通信) | Y | Y | 两个正方智能体(Alice和Bob),一个反方智能体(eve)。Alice必须通过公共信道向bob发送一条私人信息。Alice和bob根据bob重构信息的好坏得到奖励,但如果eve能重构信息,Alice和bob则得到负奖励。Alice和bob有一个私钥(在每集开始时随机生成),他们必须学会使用它来加密信息。 |
simple_push.py(驱逐远离)) | N | Y | 一个正方智能体,一个反方智能体,一个地标。正方智能体根据到地标的距离获得奖励。如果反方智能体靠近地标,或者正方智能体远离地标,反方智能体就会得到奖励。所以反方智能体学会把正方智能体驱逐远离地标。 |
simple_reference.py | Y | N | 2 个智能体,3 个不同颜色的地标。 每个智能体都想到达他们的目标地标,这个目标地标只有其他代理知道。 奖励是集体的。 因此,智能体必须学会传达另一个智能体的目标,并导航到他们的地标。 这与 simple_speaker_listener 场景相同,其中两个智能体同时是说话者和听众。 |
simple_speaker_listener.py(合作交流)) | Y | N | 与 simple_reference 相同,除了一个智能体是不动的“说话者”(灰色)(观察其他智能体的目标),另一个智能体是听者(不能说话,但必须导航到正确的地标)。 |
simple_spread.py(合作导航) | N | N | N 个智能体,N 个地标。 根据每个智能体与每个地标的距离对智能体进行奖励。 如果智能体之间发生冲突,则会受到惩罚。 因此,智能体必须学会在避免碰撞的同时覆盖所有地标。 |
simple_tag.py(围捕) | N | Y | 捕食者(绿色)速度更快,并且希望避免被猎物(红色)击中。 猎物速度较慢,并希望打击捕食者。 障碍物(大黑圈)挡住了去路。 |
simple_world_comm.py | Y | Y | 与 simple_tag 相同,除了 (1) 有食物(小蓝球),正方智能体会因为靠近而获得奖励,(2)“森林”可以将智能体隐藏在里面,从外面看不到; (3)有一个“反方领导智能体”,可以随时看到所有智能体,并可以与其他反方智能体沟通,帮助协调追击。 |
最开始,MPE被大家所熟知,是因为MADDPG中的使用。我们可以根据需要更改MPE中的环境场景,以满足自己的需要。