我想出来的PyBrains状态值和全球政策迷宫例如PyBrains Q-Learning迷宫示例。
我的设置是:
envmatrix = [[...]]
env = Maze(envmatrix, (1, 8))
task = MDPMazeTask(env)
table = ActionValueTable(states_nr, actions_nr)
table.initialize(0.)
learner = Q()
agent = LearningAgent(table, learner)
experiment = Experiment(task, agent)
for i in range(1000):
experiment.doInteractions(N)
agent.learn()
agent.reset()
右下角(1,8)是吸收状态
我在mdp.py中添加了一个额外的处罚状态(1,7):
现在def getReward(self):
""" compute and return the current reward (i.e. corresponding to the last action performed) """
if self.env.goal == self.env.perseus:
self.env.reset()
reward = 1
elif self.env.perseus == (1,7):
reward = -1000
else:
reward = 0
return reward
,我不明白怎么回事,经过1000点运行,并在每次运行时200互动,代理人认为,我的惩罚状态是一个很好的状态(你可以看到广场上为白色)
我想在最终运行后查看每个州和政策的价值。我怎么做?我发现这行table.params.reshape(81,4).max(1).reshape(9,9)
返回一些值,但我不确定这些值是否对应于值函数的值