Mar*_*der 8 reinforcement-learning openai-gym
是否有可能将openai的健身房环境用于多智能体游戏?具体来说,我想模拟一个有四个玩家(代理商)的纸牌游戏.得分转弯的球员在下一回合开始.我如何模拟玩家之间的必要协调(例如,接下来是谁)?最终,我想对四个相互对抗的特工使用强化学习.
Jon*_*ton 21
是的,可以将 OpenAI 健身房环境用于多代理游戏。尽管在 OpenAI 健身房社区中没有用于多代理环境的标准化接口,但构建支持此功能的 OpenAI 健身房很容易。例如,在 OpenAI最近关于多智能体粒子环境的工作中,他们制作了一个多智能体环境,gym.Env该环境继承自其采用以下形式:
class MultiAgentEnv(gym.Env):
def step(self, action_n):
obs_n = list()
reward_n = list()
done_n = list()
info_n = {'n': []}
# ...
return obs_n, reward_n, done_n, info_n
Run Code Online (Sandbox Code Playgroud)
我们可以看到该step函数接受一个动作列表(每个代理一个)并返回一个观察列表、奖励列表、完成列表,同时向前推进环境。该接口代表马尔可夫博弈,其中所有智能体同时采取行动,并各自观察自己的后续观察,奖励。
然而,这种马尔可夫博弈接口可能并不适合所有的多智能体环境。特别是,回合制游戏(例如纸牌游戏)可能更适合作为交替马尔可夫游戏,其中代理一次轮流(即行动)。对于这种环境,您可能需要在状态表示中包含轮到哪个代理,然后您的步骤函数将只执行单个操作,并返回单个观察、奖励和完成。
| 归档时间: |
|
| 查看次数: |
3016 次 |
| 最近记录: |