六安服装网站建设地址,网络培训法,惠州网站建设企业,网页开发需求定制分类目录#xff1a;《深入理解强化学习》总目录 在文章《深入理解强化学习——马尔可夫决策过程#xff1a;占用度量-[基础知识]》我们介绍了占用度量的基础知识#xff0c;本文我们编写代码来近似估计占用度量。这里我们采用近似估计#xff0c;即设置一个较大的采样轨迹…分类目录《深入理解强化学习》总目录 在文章《深入理解强化学习——马尔可夫决策过程占用度量-[基础知识]》我们介绍了占用度量的基础知识本文我们编写代码来近似估计占用度量。这里我们采用近似估计即设置一个较大的采样轨迹长度的最大值然后采样很多次用状态动作对出现的频率估计实际概率。
def occupancy(episodes, s, a, timestep_max, gamma): 计算状态动作对s,a出现的频率,以此来估算策略的占用度量 rho 0total_times np.zeros(timestep_max) # 记录每个时间步t各被经历过几次occur_times np.zeros(timestep_max) # 记录(s_t,a_t)(s,a)的次数for episode in episodes:for i in range(len(episode)):(s_opt, a_opt, r, s_next) episode[i]total_times[i] 1if s s_opt and a a_opt:occur_times[i] 1for i in reversed(range(timestep_max)):if total_times[i]:rho gamma**i * occur_times[i] / total_times[i]return (1 - gamma) * rhogamma 0.5
timestep_max 1000episodes_1 sample(MDP, Pi_1, timestep_max, 1000)
episodes_2 sample(MDP, Pi_2, timestep_max, 1000)
rho_1 occupancy(episodes_1, s4, 概率前往, timestep_max, gamma)
rho_2 occupancy(episodes_2, s4, 概率前往, timestep_max, gamma)
print(rho_1, rho_2)输出
0.112567796310472 0.23199480615618912通过以上结果可以发现不同策略对于同一个状态动作对的占用度量是不一样的。
参考文献 [1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022. [2] Richard S. Sutton, Andrew G. Barto. 强化学习第2版[M]. 电子工业出版社, 2019 [3] Maxim Lapan. 深度强化学习实践原书第2版[M]. 北京华章图文信息有限公司, 2021 [4] 王琦, 杨毅远, 江季. Easy RL强化学习教程 [M]. 人民邮电出版社, 2022