您当前的位置: 首页 >  ar

段智华

暂无认证

  • 0浏览

    0关注

    1232博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

CS 188 Project3(RL) Q6: Q-Learning

段智华 发布时间:2019-03-26 15:11:45 ,浏览量:0

      请注意,您的价值迭代代理实际上并没有从经验中学习。相反,在与真实环境交互之前,它会考虑其MDP模型以获得完整的策略。当它确实与环境交互时,它只遵循预先计算的策略(例如,它成为反射代理)。这种区别在网格世界的模拟环境中可能很微妙,但在现实世界中非常重要,因为现实中没有真正的MDP。

      现在,您将编写一个Q-Learning代理,它在构造上几乎不起作用,而是通过它的更新(状态、动作、下一个状态、奖励)方法,从与环境的交互中试验和错误学习。Q-Learning的存根在qlearningAgents.py的QLearningAgent中指定,您可以使用选项“-a q”选择它。对于这个问题,您必须实现update、computeValueFromQValues、getQValue和computeTeactionFromQValues方法。

    注意:对于ComputeActionFromQValues,您应该随机中断关系以获得更好的行为。random.choice()函数将有所帮助。在特定状态下,代理之前未看到的动作仍然具有Q值,特别是Q值为零,如果代理之前看到的所有动作都具有负Q值,则未看到的动作可能是最佳的。

   重要提示:确保在ComputeValueFromQValues和computeActionFromQValues 函数中,只通过调用GetQValue访问Q值。当您重写getQValue 以使用状态-动作对的特征而不是直接使用状态-动作对的特征时,这个抽象对于问题10很有用。

   实现了Q-learning更新,您可以使用键盘在人工控制下观看Q-learner学习:

python gridworl
关注
打赏
1659361485
查看更多评论
立即登录/注册

微信扫码登录

0.0735s