强化学习的动态规划二

一、典型示例

        考虑如下所示的4×4网格。

图1

        非终端状态为S = {1, 2, . . . , 14}。在每个状态下有四种可能的行为,A = {up, down, right, left},这些行为除了会将代理从网格上移走外,其他都会确定性地引起相应的状态转换。因此,例如,p(6|5, right) = 1,p(10|5, right) = 0,p(7|7, right) = 1。这是一个无折扣的、分段的(episodic)任务。在到达终端状态之前的所有转换中,奖励为s1。终端状态在图中被着色(尽管它显示在两个地方,但它在形式上是一个状态)。预期奖励函数r(s, a, s0) = =1 对于所有状态s、s0和行为a。假设代理遵循等概率随机策略(所有行为的可能性相等)。图2的左侧显示了通过迭代政策评估计算出的值函数{vk}的序列。最终估计值实际上是vπ,在这种情况下,对于每个状态,它给出了从该状态终止的预期步数的否定。

图2

        小型网格世界中迭代策略评估的收敛。左侧一列是随机策略(所有动作均等)的状态值函数近似序列。右侧一列是与值函数估计相对应的贪婪策略序列(箭头的表示是所有实现最大值的动作)。最后一项策略只保证比随机策略有所改进,但在这种情况下,它和第三次迭代后的所有策略都是最优的。

二、策略改进

        我们计算一个策略的价值函数的理由是为了找出更好的策略。假设我们已经确定了一个任意确定性策略π的价值函数vπ。对于一些状态s,我们想知道是否应该改变策略以确定性地选择一个动作a = π(s)。我们知道从s开始遵循当前政策有多好,即vπ(s),但是改变到新政策会更好还是更差呢?回答这个问题的其中一种方式是考虑在s中选择a并随后遵循现有政策π。这种行为的值是

        关键标准在于这个值是否大于或小于vπ(s)。如果它更大,也就是说,如果在s中选择一次a然后遵循π比一直遵循π更好,那么人们就会期望每次遇到s时选择a会更好,并且新政策实际上会更好。 这是一个一般结果的特殊情况,该一般结果称为策略改进定理。让π和π0是任何一对确定性策略,对于所有的s∈S,

那么策略π0必须和π一样好或者更好。也就是说,它必须从所有状态s∈S获得更大或相等的期望回报:

此外,如果在任何状态下上式存在严格不等式,则至少在某个状态下存在严格不等式。这一结果特别适用于我们在前一段中考虑的两个策略,一个是原始的确定性策略π,另一个是除了π0(s) = a = π(s)之外与π相同的改变策略π0。显然,在除s以外的所有状态下都成立。因此,如果qπ(s, a) > vπ(s),则改变策略确实优于π。

        证明策略改进定理的想法很容易理解。我们不断扩展qπ的一侧,并重新应用(4.7),直到得到vπ0(s)

        到目前为止,我们已经看到,给定一个策略及其价值函数,我们可以很容易地评估在单个状态下对特定行动的政策变化。考虑在所有状态和所有可能的行为上的变化是很自然的延伸,在每个状态下选择根据qπ(s, a)看起来最好的行动。换句话说,考虑新的贪婪策略π0,由下式给出。

        其中argmaxa表示后续表达式最大化的a值(任意打破平局)。贪婪策略采取的是短期内看起来最好的行动-在一步预测之后-根据vπ。通过构造,贪婪策略符合策略改进的条件,因此我们知道它与原始策略一样好,或者更好。通过使新政策对原始策略变得贪婪,从而改善原始策略的过程,称为策略改进。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java入门,程序=数据结构+算法

一、前言 在学习java的时候,我印象最深的一句话是:程序数据结构算法,对于写java程序来说,这就是java的入门。 二、java基本数据结构与算法 1、数据类型 java中的数据类型8种基本数据类型: 整型 byte 、short 、int…

32 mysql in 的实现

前言 这里我们主要是来探讨一下 mysql 中 in 的使用, find_in_set 的使用 这两者 在我们实际应用中应该也是 非常常用的了 测试数据表如下 CREATE TABLE tz_test (id int(11) unsigned NOT NULL AUTO_INCREMENT,field1 varchar(16) DEFAULT NULL,field2 varchar(16) DEFAU…

macOS 下 starUML 软件激活方案

starUML每次打开都弹出提示其实挺烦的,于是研究了一下如何 po 解(激活)它。记录一下方法以便以后使用。 我觉得这个软件很好用,大型项目的所有图我都是用这个软件画的。 直接上步骤!先关掉starUML 1、安装 asar,以便可以打开 asa…

4+1视图的理解和使用

软件架构 原文: Architectural Blueprints—The “41” View Model of Software Architecture 老外的原文还是很值得一看的,互联网上的很多文章理解得都比较粗浅 什么是软件架构?面试的时候很多面试官可能会问你最近在做的项目的架构。其实这…

通讯录(C语言文件版本)(超详细过程)

❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️ ❇️❇️❇️❇️ 不同的信念 ❇️❇️❇️❇️ ❇️❇️❇️ 决定不同的命运 ❇️❇️❇️ ❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️❇️ &#x1f4d6;通讯录 ✅具备的功能 ℹ️需要的头文件名 #include<…

警惕Mallox勒索病毒的最新变种mallox,您需要知道的预防和恢复方法。

尊敬的读者&#xff1a; 在这个数字时代&#xff0c;恶意软件不再是仅限于技术领域的威胁&#xff0c;而是每个人都可能面临的潜在风险。其中&#xff0c;.mallox勒索病毒崭露头角&#xff0c;它不仅能够以不可思议的方式加密您的数据&#xff0c;还能要求您支付赎金以获取解密…

基于饥饿游戏算法的无人机航迹规划-附代码

基于饥饿游戏算法的无人机航迹规划 文章目录 基于饥饿游戏算法的无人机航迹规划1.饥饿游戏搜索算法2.无人机飞行环境建模3.无人机航迹规划建模4.实验结果4.1地图创建4.2 航迹规划 5.参考文献6.Matlab代码 摘要&#xff1a;本文主要介绍利用饥饿游戏算法来优化无人机航迹规划。 …

运维基础-Docker容器命令部署

Docker基础知识 安装问题-有podmanCentos8使用yum install docker -y时&#xff0c;默认安装的是podman-docker软件安装docker yum list installed | grep dockeryum -y remove xxxxDocker安装配置下载安装docker启动docker&#xff0c;并设置开机启动下载所需镜像 centos镜像进…

红海云签约澳森集团,为钢铁行业人力资源数字化转型注入新动能

辛集市澳森特钢集团有限公司&#xff08;以下简称“澳森集团”&#xff09;是集钢铁冶炼、轧钢及钢材深加工、新型建材、国际贸易、房地产开发、酒店餐饮、热力供应于一体的大型钢铁联合企业&#xff0c;是华北地区最具品牌影响力和核心竞争力的综合性大型企业集团。 近日&…

批量剪辑:高效处理视频文件的图文解析,AI智剪方法

随着视频文件的数量和种类不断增加&#xff0c;传统的视频剪辑方法往往效率低下且费时费力。为了解决这个问题&#xff0c;批量剪辑和AI智剪技术应运而生。在剪辑过程中&#xff0c;AI智剪可自动调整画面质量、音效、色彩等参数&#xff0c;以保证视频质量。它们可以帮助我们高…

C++定义一个 Student 类,在该类定义中包括:一个数据成员 score(分数)及两个静态数据 成员 total(总分)和学生人数 count

完整代码&#xff1a; /*声明一个Student类&#xff0c;在该类中包括一个数据成员score&#xff08;分数&#xff09;、两个静态数据成员total_score&#xff08;总分&#xff09;和count&#xff08;学生人数&#xff09;&#xff1b;还包括一个成员函数account&#xff08;&…

Sqoop的安装和使用

目录 一.安装 二.导入 1.全量导入 一.MySQL导入HDFS 二.MySQL导入Hive 2.增量导入 一.过滤导入hdfs/hive 二.导出 一.安装 1.下载地址&#xff1a;sqoop下载地址 2.解压 tar -zxvf ./sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C ../module/ 3.改名和配置归属权限 #改名…

IDEA在service面板中不显示微服务的项目

在.idea文件夹下的workspace文件中的project标签内添加如下代码段&#xff0c;&#xff0c;重启idea即可看到所有服务出现在了service面板中 <component name"RunDashboard"><option name"configurationTypes"><set><option value&q…

Spring-创建非懒加载的单例Bean源码

补充&#xff1a;关于扫描的逻辑 /*** Scan the class path for candidate components.* param basePackage the package to check for annotated classes* return a corresponding Set of autodetected bean definitions*/ public Set<BeanDefinition> findCandidateCo…

在PyCharm中直接启动mitmproxy并自动打开关闭系统代理

前言 在前面的文章中&#xff0c;有几篇是介绍mitmproxy 的。 这个mitmproxy 的确是个捕获数据的好工具&#xff0c;但在运行时候需要在命令行启动&#xff0c;这是很令人苦恼的。 之前也尝试过脱离命令行去启动mitmproxy&#xff0c;在Python中启动mitmproxy&#xff0c;脱离…

电脑技巧:台式机噪音非常大的几个原因以及解决办法

目录 一、CPU风扇灰尘太厚、风扇轴承老化 二、电源风扇有灰尘或者老化 三、显卡风扇有灰尘或者老化 四、硬盘老化导致的电脑主机声音大 五、台式机CPU风扇声音过大 今天小编给大家分享台式机噪音非常大的几个原因以及解决办法&#xff0c;值得收藏&#xff01; 一、CPU风…

Telnet/ssh/Serial远程工具WindTerm

Telnet/ssh/Serial远程工具WindTerm 一、WindTerm 概述二、WindTerm 下载 一、WindTerm 概述 在远程终端工具中&#xff0c;secureCrt 和 XShell 是两款比较有名的远程工具&#xff0c;但收费。上一篇文章就介绍了一款免费软件MobaXterm&#xff0c;但菜单都是英文的&#xff0…

Adobe Photoshop Elements 2024 v24.0 简体中文版 | 中文直装版

下载&#xff1a; http://dt1.8tupian.net/2/29913a53b500.pg3介绍&#xff1a;Photoshop Elements 2024(简称PSE即PS简化版)是一款定位在数码摄影领域的全新的图像处理软件&#xff0c;该软件包括了专业版的大多数特性&#xff0c;只有少量的简化选项&#xff0c;提供了调整颜…

MedianFlow 跟踪算法详解

在技术日新月异的时代&#xff0c;今天的技术可能在明天就会被新的技术取代&#xff0c;例如现在爆火的大模型。但目前看来&#xff0c;大模型还不能做到无所不能。 所以这篇博客还是来考古一下&#xff0c;写一下传统的跟踪算法。这里不是为了怼大模型而为了写一篇传统算法而…

路由器基础(八):策略路由配置

在实际网络应用中&#xff0c;策略路由也是一种重要的技术手段。尽管 在考试并不注重策略路由&#xff0c;但是实际上应用较多&#xff0c;建议考生除了掌握基本的静态路由协议IP route-static, 动态路由协议RIP 、OSPF的基础配置外&#xff0c;还要掌握如何配置策略路由。…