Reinforcement Learning

创建Qtable(pandas.DataFrame(  np.zeros(n_states, len(actions)),  columns = actions)  ),这个table横轴是state第几步纵轴是动作action,通过Q值把所有的state s 和 action a 对应上,选动作的时候就根据Q值和state,以及环境变量的feedback。

预定义global变量:n_states=6 表示在环境中出发点距离目标的baseline步数,actions=['left','right']表示有哪些可以选择的动作,ε=0.9表示greedy policy也就是随机的大于90%的情况选择价值最大的action其余10%的情况,  α=1.1表示学习率, γ=0.9表示对未来奖励的一个衰减值,episode表示最多训练多少个回合,fresh_time表示每走一步花多长时间。

Initialize Q(s,a) arbitrarily

Repeat (for each episode):
    Initialize s

    Repeat (for each step of an episode):
        choose a from s using policy derived from Q (e.g. ε-greedy)   
        take action a, observe r, s^\prime
        Q(s,a)\leftarrow Q(s,a)   +   α [   r    +    γ \cdot max_{a^\prime} Q(s^\prime,a^\prime)   -   Q(s,a)  ]
        s\leftarrow s^\prime

    until s is terminal

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 那日与你相见,相谈甚欢,后我便有意走文学这条路。无奈,出生二十载。至今,却不曾读过几本书,说话也多是不清不楚,文笔...
    子衿x阅读 275评论 0 0
  • 今天周六,毫无意外的加班了,我们现在是996的生活,但是呢,工资却没给到位,与bat等大厂比起来工资差的远...
    师妹的冲哥阅读 240评论 0 0

友情链接更多精彩内容