强化学习 (三) 动态规划

文章目录

  • 迭代法
    • 网友认为的迭代策略评估与价值迭代的区别
  • 迭代策略评估的进一步解释
  • 附录

传统dp作用有限:

  • 需要完备的环境模型
  • 计算的复杂度极高

其它方法都是对dp的近似,近似的出发点是解决上面两个问题。
有一种说法是,强化学习其实就是拟动态规划。区别在于,动态规划假设所有参数可知。

迭代法

在上一章中,最优价值函数v*和最优动作函数q*可以直接求解,也可以用迭代法逼近。
在这里插入图片描述
策略改进过程的解释:
在每个状态s时,对每个可能的动作a,都计算一下采取这个动作后到达的下一个状态的期望价值。看看哪个动作可以到达的状态的期望价值函数最大,就选取这个动作。以此更新π(s)。
在这里插入图片描述
两者的区别,值函数的更新不一样。
前者算V,是为了评估此次策略的好坏,所做动作基于策略;
后者算V,是为了寻找最优价值函数。
前者在过程中会产生很多的策略,而后者只在价值函数收敛后才产生一个策略。

两种方法都被广泛使用,但哪种更优尚无定论。实际运用中,它们的收敛速度常常比理论最坏情况要快,尤其是使用了好的初始函数和策略的时候。

对于状态空间巨大的问题,比如双陆棋10^20,同步dp需要遍历整个状态空间,仅这一点都做不到。需要使用异步dp,状态的更新顺序是不确定的,因此各状态的更新次数有较大差距。但为了保证正确收敛,在某个节点之后,异步dp不能忽略任何一个状态。

网友认为的迭代策略评估与价值迭代的区别

1、策略迭代在价值评估阶段,每迭代一次都需要保证每个状态的值函数收敛,这是非常耗时的;而值迭代是采用动态规划的思想来收敛每个状态的值函数的。
3、策略迭代的收敛速度更快一些,在状态空间较小时,最好选用策略迭代方法。当状态空间较大时,值迭代的计算量更小一些。
4、侧重点不同:策略迭代最后是策略收敛,而值迭代是值函数收敛;收敛的方式也不同,策略迭代是argmax,而值函数是max。

第四点容易理解。
第三点,收敛速度快是指轮数少吗?如果只是轮数少,但每轮的工作很多,那有什么意义?不考虑并发的情况下,不应该永远选择总计算量最小的方法来节省时间吗?

迭代策略评估的进一步解释

general policy iteration 广义策略迭代
在这里插入图片描述
在这里插入图片描述

附录

不动点迭代
https://blog.csdn.net/jbb0523/article/details/52459797
在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/21513.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

时政|志愿者免费看演出

背景 在一些文艺类网络社群里,也时常能够看到“志愿者”招募贴。演出活动招募“志愿者”,既满足了收入有限的年轻人观看演出、近距离接触偶像的愿望,也解决了主办方工作人员短缺的问题,似乎是一种双赢。 问题 “志愿服务”&…

PS系统教程09

修复照片 修饰工具 污点修复画笔工具(J) 主要作用:去除一些污点或者不需要的 【:缩小】:放大 目标:去掉这两个点 修复画笔工具 也就是说我们要有取样点 选择修复画笔工具按住Alt键吸取周边相近颜色松开单机…

Linux运维-服务器系统配置初始化脚本

方案一 ,是一个简化的Linux服务器初始化脚本 下面这个是一个简化的Linux服务器初始化脚本示例,它包括了更新软件包、安装常用工具、配置网络和安全设置等基本步骤:这个脚本提供了一个基本的初始化配置示例,包括软件更新、安装工具…

导航时间与坐标转换

前言: 该章节代码均在Gitee中开源:因为这章是学校作业,所以稍微正经点. 时空位置转换https://gitee.com/Ehundred/navigation-engineering/tree/master/%E5%8D%AB%E6%98%9F%E5%AF%BC%E8%88%AA%E5%8E%9F%E7%90%86/%E5%AF%BC%E8%88%AA%E6%97…

tmux工具使用鼠标滚动窗口及分屏命令

tmux工具使用鼠标滚动窗口及分屏命令 1. tmux source配置文件 长期生效2. 临时生效3. 实现分屏 1. tmux source配置文件 长期生效 vim ~/.tmux.conf echo "set -g mouse on" > ~/.tmux.conf tmux source-file ~/.tmux.conf2. 临时生效 1. 进入到tmux命令窗口 2.…

必看!硬核科普!什么是冻干?可以当主食喂的猫咪冻干分享

冻干猫粮作为近年来备受推崇的高品质选择,吸引了越来越多养猫人的目光。有着丰富养猫经验的我,早已开始采用冻干喂养。新手养猫的人可能会对冻干猫粮感到陌生,并产生疑问:这到底是什么?猫咪冻干可以天天喂吗&#xff1…

如何在自己的电脑上添加静态路由

1.任务栏搜索powershell 选择以管理员身份运行 2.输入 route add -p (永久) 目的网络地址例如192.168.10.0 mask 255.255.255.0(子网掩码)192.168.20.1(下一跳地址)。回车即可生效

LeetCode刷题 | Day 1 最大子序列求和(Largest K Subsequence Sum)

LeetCode刷题 | Day 1 最大子序列求和(Largest K Subsequence Sum) 文章目录 LeetCode刷题 | Day 1 最大子序列求和(Largest K Subsequence Sum)前言一、题目概述二、解题方法2.1 贪心思路2.1.1 思路讲解2.1.2 伪代码 + 逐步输出示例2.1.3 Python代码如下2.1.4 C++代码如下…

用WebStorm和VS Code断点调试Vue

大家好,我是咕噜铁蛋!。今天,我想和大家分享一下如何在WebStorm和VS Code这两款流行的开发工具中,使用断点调试Vue.js项目。Vue.js作为前端三大框架之一,以其轻量级和组件化的特性,受到了广大开发者的喜爱。…

客观评价一下GPT-4o

评价GPT-4o(即OpenAI发布的升级版语言模型),以下是上大学网(www.sdaxue.com)从技术能力与创新性、性能与效率、功能实用性与用户体验等几个维度进行评价,不周之出,请大家指正。 技术能力与创新性…

C++生成dll方法

#pragma once #ifdef NCNN_EXPORTS #define createV8ncnn __declspec(dllexport) #else #define createV8ncnn __declspec(dllimport) #endif #include "yolov8.h" //原来的写法 extern "C" { __declspec(dllexport) void createYolov8NCNN(char* par…

PTA字符串str1在第i个位置插入字符串str2

字符串str1在第i个位置插入字符串str2&#xff0c;如在字符串1234567890第2位插入ABC。 输入格式: 1234567890 ABC 2 输出格式: 12ABC34567890 #include<stdio.h> #include<string.h> int main() {char s1[100],s2[100];int w;scanf("%s%s%d",s1,s2,…

文件处理实践

文章目录 1.输出布尔数据2.输出整型数据3.输出浮点数4.取消省略空白符5.istringstream使用6.ostringstream使用7.读取文件8.写入文件 1.输出布尔数据 2.输出整型数据 3.输出浮点数 4.取消省略空白符 5.istringstream使用 6.ostringstream使用 7.读取文件 8.写入文件 #i…

专业FBA海运货代是什么?为什么用FBA?

一、专业FBA海运货代概述 专业FBA海运货代是专门为卖家提供海运货物进入亚马逊仓库服务的一种行业。FBA&#xff0c;全称Fulfilled by Amazon&#xff0c;即亚马逊代发货服务&#xff0c;是亚马逊为卖家提供的一种物流服务。卖家将货物发往亚马逊并寄存在其仓库&#xff0c;商…

Java的冷知识你知道吗?

1、方法参数不能超过255个 在Java中&#xff0c;方法的参数数量是有限制的&#xff0c;最多不能超过255个。这个知识点可能对于大多数程序员来说并不常用&#xff0c;因此即使是经验丰富的Java开发者也可能不清楚这一点。2、Java中的自动装箱与拆箱 自动装箱是Java 5引入的新特…

Kimichat使用案例006:用kimichat快速制作文章对应的英语词汇表

文章目录 一、介绍二、步骤三、输入的英文内容四、Kimi操作内容五、Kimi输出内容一、介绍 读了一篇英语文章,或者看了一部英语电影的台词本,想把里面不懂的词汇做成词汇表。以前必须自己手动一个个把词汇摘出来,现在有了AI,可以很轻松的一键完成。 二、步骤 首先,确定自己…

C++的算法:贪心算法

贪心算法(Greedy Algorithm)是一种在每一步选择中都采取在当前状态下最好或最优(即最有利)的选择,从而希望导致结果是全局最好或最优的算法。贪心算法在有最优子结构的问题中尤为有效,它所做的每一个选择都是基于一个局部最优决策,从而希望导致全局最优解。然而,贪心算…

UNIAPP视频获取每个10%的位置

使用timeupdate获取视频长于和当前位置 onPlay(e) {const wakit e.detail.duration / 10;const currentTime e.detail.currentTime;console.warn(wakit, currentTime);for (let i 1; i < 10; i) {if (currentTime > (wakit * i) && currentTime < (wakit …

刷新页面控制台莫名奇妙报错显示/files/test_files/file_txt.txt

今天突然发现每次刷新页面都有几个报错&#xff0c;不刷新页面就没有。 这个报错应该不是我们系统的问题&#xff0c;是因为装了浏览器插件的原因。比如我安装了 大家有没有遇到类似的问题。

【Linux】多进程基础

文章目录 查看进程相关命令进程相关函数孤儿进程僵尸进程进程回收进程通信&#xff08;IPC&#xff09;匿名管道pipe通信的使用有名管道&#xff1a;FIFO 查看进程相关命令 ps -ef&#xff1a; System V 风格查询所有的进程信息&#xff0c;-e 参数表示显示所有进程&#xff0…