为了账号安全,请及时绑定邮箱和手机立即绑定

Q_learning 算法(迷宫算法)

标签:
算法

概述:

弄懂 Q-learning 算法的前提是了解法尔科夫过程和奖励函数,用value(max)替换了原先的value奖励函数。

代码:

import numpy as np

GAMA = 0.8FINALLY = 5#构造一个6*6 的小型迷宫R = np.random.randint(1,100,[6,6])#初始化Q表Q = np.zeros_like(R)# Q表更新函数def updataq(i,j):
    try:        while True:
            Q[i,j] = R[i,j] + GAMA * Q[j].max()            if j == FINALLY:break
            return updataq(j,Q[j].argmax()) 
    except:pass# 测试函数def findway(node):
    if node != FINALLY:
        way = Q[node].argmax()
        ways.append(way)        return findway(way)for _ in range(600):
    updataq(*np.random.randint(0,6,2)) 

ways = []
findway(2)
print(ways)

测试结果:
希望找出2节点到5节点的路径:

[3, 1, 5]



作者:圣_狒司机
链接:https://www.jianshu.com/p/58d51a3f1e71


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

举报

0/150
提交
取消