深入理解强化学习——马尔可夫决策过程:价值迭代-[确认性价值迭代]

news/2024/7/8 0:33:29

分类目录:《深入理解强化学习》总目录


如果我们知道子问题 V ∗ ( s ′ ) V^*(s') V(s)的最优解,就可以通过价值迭代来得到最优的 V ∗ ( s ) V^*(s) V(s)的解。价值迭代就是把贝尔曼最优方程当成一个更新规则来进行,即:
V ( s ) ← max ⁡ a ∈ A ( R ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V ( s ′ ) ) V(s)\leftarrow\max_{a\in A}(R(s, a)+\gamma\sum_{s'\in S}p(s'|s, a)V(s')) V(s)aAmax(R(s,a)+γsSp(ss,a)V(s))

只有当整个马尔可夫决策过程已经达到最佳的状态时,上式才满足。但我们可以把它转换成一个备份的等式。备份的等式就是一个迭代的等式。我们不停地迭代贝尔曼最优方程,价值函数就能逐渐趋向于最佳的价值函数,这是价值迭代算法的精髓。

为了得到最佳的 V ∗ V^* V,对于每个状态的 V V V,我们直接通过贝尔曼最优方程进行迭代,迭代多次之后,价值函数就会收敛。这种价值迭代算法也被称为确认性价值迭代(Deterministic Value Iteration)。

参考文献:
[1] 张伟楠, 沈键, 俞勇. 动手学强化学习[M]. 人民邮电出版社, 2022.
[2] Richard S. Sutton, Andrew G. Barto. 强化学习(第2版)[M]. 电子工业出版社, 2019
[3] Maxim Lapan. 深度强化学习实践(原书第2版)[M]. 北京华章图文信息有限公司, 2021
[4] 王琦, 杨毅远, 江季. Easy RL:强化学习教程 [M]. 人民邮电出版社, 2022


http://lihuaxi.xjx100.cn/news/1892422.html

相关文章

C++ 把引用作为参数

我们已经讨论了如何使用指针来实现引用调用函数。下面的实例使用了引用来实现引用调用函数。 #include <iostream> using namespace std;// 函数声明 void swap(int& x, int& y);int main () {// 局部变量声明int a 100;int b 200;cout << "交换前…

卧槽!jmeter 竟然这么牛逼,压测爽歪歪~

# Http请求模拟 1、新建线程组 操作&#xff1a;鼠标右键测试计划 -> 添加 -> Threads(Users) -> 线程组 -> 修改测试计划名称 新建线程组 2、添加取样器HTTP请求 操作&#xff1a;鼠标右键线程组 -> 添加 -> Sampler -> HTTP请求 -> 填写请求参数 添…

Kafka事务是怎么实现的?Kafka事务消息原理详解(文末送书)

目录 一、Kafka事务性消息1.1 介绍Kafka事务性消息1.2 事务性消息的应用场景1.3 Kafka事务性消息的优势 二、Kafka事务性消息的使用2.1 配置Kafka以支持事务性消息生产者配置消费者配置 2.2 生产者&#xff1a;发送事务性消息创建Kafka生产者开始事务发送消息提交或中止事务 2.…

保障事务隔离级别的关键措施

目录 引言 1. 锁机制的应用 2. 多版本并发控制&#xff08;MVCC&#xff09;的实现 3. 事务日志的记录与恢复 4. 数据库引擎的实现策略 结论 引言 事务隔离级别是数据库管理系统&#xff08;DBMS&#xff09;中的一个关键概念&#xff0c;用于控制并发事务之间的可见性。…

一步步教你制作婚礼策划展示小程序

随着互联网的发展&#xff0c;越来越多的服务和产品开始通过线上进行展示和销售。婚庆行业也不例外。通过制作婚庆小程序&#xff0c;商家可以更好地展示婚庆服务、婚礼策划、婚宴预定等相关信息&#xff0c;吸引更多的潜在客户。本文将介绍如何从零开始制作婚庆小程序&#xf…

纯前端使用XLSX导出excel表格

1 单个sheet page.js(页面中的导出方法) import { exportExcel } from ../../../utils/exportExcel.js; leadOut() {const arr [{ id: 1, name: 张三, age: 14, sex: 男 },{ id: 2, name: 李四, age: 15, sex: 女 },{ id: 3, name: 王五, age: 16, sex: 男 },];const allR…

【ET8框架入门】2.ET框架解析

菜单栏相关&#xff1a;ENABLE_DLL选项 ET->ChangeDefine->ADD_ENABLE_DLL/REMOVE_ENABLE_DLL 一般在开发阶段使用Editor时需要关闭ENABLE_DLL选项。该选项关闭时&#xff0c;修改脚本之后&#xff0c;会直接重新编译所有的代码&#xff0c;Editor在运行时会直接使用最…

算法Day31 房间收纳

房间收纳 Description 对于零落的玩具&#xff0c;你需要进行收纳&#xff0c;为了将最多的玩具进行收纳&#xff0c;请你合理分配收纳柜和房间数量。 请你将一些玩具收纳在一个房间中&#xff0c;给你一个二维数组 roomTypes&#xff0c;其中的roomTypes[i] {numberOfBoxes_…