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
函数接收一系列动作(每个智能体一个),并返回一系列观察、奖励和完成状态,同时推进环境。这个接口代表了马尔可夫博弈,在该博弈中,所有智能体同时采取行动,并各自观察到自己的后续观察和奖励。step
函数将只采取一个动作,并返回单个观察、奖励和完成状态。