我想出來的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)
返回一些值,但我不確定這些值是否對應於值函數的值