【发布时间】:2021-09-24 05:21:19
【问题描述】:
我有一个强化学习游戏,其中两个代理相互交互。我现在想用 Python 解决以下问题。
我创建了一个 for-loop,它执行以下操作:
self.rewards_hist = []
self.number_episodes = 1000
def Game(self):
for episode in range(self.number_episodes):
doSomething()
rewards = self.save_rewards()
self.rewards_hist.append(rewards)
因此,self.rewards 我在t 获得奖励,在self.rewards_hist 我收到所有奖励的历史记录,因此我可以访问以前的奖励。
现在我想将此奖励与t + k 中的奖励进行比较,即我必须在迭代中等待k 剧集,直到我可以将当前奖励与即将到来的奖励进行比较。我知道在for-loop 中这不起作用,因为在当前迭代中无法访问下一个奖励。因此,我需要一个函数让我等待下一个k 奖励,然后才进行比较。
解决这个问题最简单的方法是什么?
【问题讨论】:
-
我不明白这个问题。将刚刚计算的结果与尚未计算的结果进行比较在逻辑上是不可能的。在您真正拥有两个结果之前,您无法比较两个结果。那么为什么不等到 t + k,然后开始将新结果与您已经计算的旧结果进行比较呢?没有任何功能可以神奇地预见未来。
-
感谢您的评论。我完全知道迭代中的比较不起作用(正如我在上面的文字中提到的那样)。我真正关心的是如何实现等待 t+k 集然后进行比较。
标签: python for-loop iteration reinforcement-learning next