是否可以将openai gym environments用于多智能体游戏?具体来说,我想模拟一个有四个玩家(代理商)的纸牌游戏。得分转弯的球员在下一回合开始。我如何模拟玩家之间的必要协调(例如,接下来是谁)?最后,我想对四个相互对抗的特工使用强化学习。
答案 0 :(得分:2)
是的,可以将OpenAI体育馆环境用于多主体游戏。尽管在多代理环境的OpenAI体育馆社区there is no standardized interface中,构建支持此功能的OpenAI体育馆很容易。例如,在OpenAI的recent work上的多主体粒子环境they make a multi-agent environment中,它继承自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
我们可以看到step
函数采用一系列动作(每个代理一个),并在逐步推进环境的同时返回观察值清单,奖励清单,完成事项清单。此界面代表Markov Game,在该界面中,所有座席都同时采取行动,并且每个人都观察到自己随后的观察结果,奖励。
但是,这种Markov Game界面可能并不适合所有多代理环境。特别是,基于回合的游戏(例如纸牌游戏)可能更适合作为替代马尔可夫游戏,在该游戏中,特工一次轮流(即动作) 。对于这种环境,您可能需要在状态表示中包括轮到哪个代理,然后您的step函数将仅执行单个操作,并返回单个观察,奖励和完成。
答案 1 :(得分:0)
OpenAI团队已经实施了多智能体深度确定性策略梯度MADDPG方法。
答案 2 :(得分:0)
有一个特定的多智能体环境可用于强化学习here。它支持使用任何编程语言编写的任意数量的代理。已经实现了一个恰好是纸牌游戏的示例游戏。