现在我添加了另一个约束-通过在迷宫.py现在我在1000次跑步后得到了这种行为,每次跑步有200次互动:
现在哪种方式有意义-机器人试图从另一边绕墙,避开状态(1,7)
所以,我得到了奇怪的结果,因为特工过去总是从随机位置开始,这也包括惩罚状态
编辑:
另一点是,如果希望随机生成代理,那么确保它不是在可惩罚状态下生成的def _freePos(self):
""" produce a list of the free positions. """
res = []
for i, row in enumerate(self.mazeTable):
for j, p in enumerate(row):
if p == False:
if self.punishing_states != None:
if (i, j) not in self.punishing_states:
res.append((i, j))
else:
res.append((i, j))
return res
而且,table.params.reshape(81,4).max(1).reshape(9,9)似乎会从value函数返回每个状态的值