04 贝尔曼最优公式

news2024/10/4 22:34:17

贝尔曼最优公式

  • 前言
  • 1、Motivating examples
  • 2、Definition of optimal policy
  • 3、Bellman optimality equation(BOE):Introduction
  • 4、 BOE:Maximization on the right-hand side
  • 5、BOE:Rewrite as v = f(v)
  • 6、Contraction mapping theorem
  • 7、BOE:Solution
  • 8、BOE:Optimality
  • 9、Analyzing optimal policies

前言

本文来自西湖大学赵世钰老师的B站视频。
本节课介绍最优策略和贝尔曼最优公式。贝尔曼最优公式是贝尔曼公式的一个特殊情况,本次学习有两个重要概念和一个工具。
(1) 两个概念:optimal state value 和optimal policy.
(2) 一个工具:bellman optimality equation(BOE).
强化学习的目标就是寻找最优策略,因此本文主要讲最优策略。本文大纲如下:
在这里插入图片描述

1、Motivating examples

在这里插入图片描述
这是上节课介绍的贝尔曼方程,有了贝尔曼方程,我们就可以求解state value,有了state value,我们就可以进一步求解action value。下图是求解action value的流程,以状态s1出发为例:
在这里插入图片描述
以上是对前几次课的复习,由此我们可以提出一个问题,就是当前这个策略如果是不好的,我们应该怎么去提升它?这个就依赖于action value。当前的策略可以写成以下形式:
在这里插入图片描述
在这里插入图片描述
由上可知,我们已经知道a3是最好的,如果选择a3是这个新的策略,我们就获得了new policy。新的策略就是对应action value 最大。
我们首先对每一个状态都选择action value最大的 action,选择完了一次,然后再来一次迭代得到了一个新的策略,就这样不断迭代,最后那个策略就会趋向于一个最优的策略。

2、Definition of optimal policy

在这里插入图片描述

3、Bellman optimality equation(BOE):Introduction

在这里插入图片描述
贝尔曼最优公式就是在贝尔曼公式的前面加一个max,这个max就涉及到一个优化问题,就是要先解决优化问题,求解出一个策略π,带入到贝尔曼公式中。
在这里插入图片描述
上面是矩阵形式。
在这里插入图片描述

4、 BOE:Maximization on the right-hand side

下面是BOE的两种表示形式,实际上我们是得到一个式子,但有两个未知量,如何求解呢?
在这里插入图片描述
下面是一个小例子:
在这里插入图片描述
这个小例子的求解思路就可以放到贝尔曼最优公式求解中。
在这里插入图片描述

我们先给定公式右边的v(s’)一个初值,这样q(s,a)就是确定的了,此时我们需要把π(a|s)确定下来。我们知道对于网格问题有5个action,则有5个q(s,a),我们怎样求解π(a|s)?再看一个例子,假设有3个q值:
在这里插入图片描述
在这里插入图片描述
至此,我们解决了π(a|s)如何求解的问题。

5、BOE:Rewrite as v = f(v)

本文第4小节,我们知道了如何选择π(a|s),此时贝尔曼最优公式的求解问题就变的比较简单了,我们就可以给等式右边一个初值,用矩阵迭代求解了。
在这里插入图片描述

6、Contraction mapping theorem

下面介绍一些概念:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
以上实际上是迭代法求解矩阵收敛性的公式证明。
在这里插入图片描述

7、BOE:Solution

在这里插入图片描述

8、BOE:Optimality

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

9、Analyzing optimal policies

利用贝尔曼最优公式我们求解最优的策略,求解最优的state value。下面我们就用这个工具分析一些最优的策略。
在这里插入图片描述
已知红色的量,把黑色的量求解出来。
在这里插入图片描述
在这里插入图片描述
γ比较大的时候,策略会考虑的更长远。相反,γ如果等于0,策略会更加短视。

在这里插入图片描述
当我们把forbidden arera的惩罚值设置的比较大时,策略会选择绕过forbidden area。
在这里插入图片描述
策略选择的重点不在于奖励值设置的绝对大小,而在于相对大小。
在这里插入图片描述

下面再看一个例子:
在这里插入图片描述
很多人可能会觉得,我每走一步,应该给一个惩罚,即r=-1,实际当中这个r=-1就代表一种能量的消耗,这样的话智能体就不会绕远路,它就会尽可能地走最短的路径到目标区域,如果没有r=-1的话,好像就会绕远路,是这个样子吗?通过上图示例我们可以发现并不是这样子的,因为除了r来约束它不要绕远路之外,还有γ,因为它越绕远路就意味着我得到到达目标的奖励越晚,那么对应γ的次方就会越大,那么打折就会越厉害,所以它自然就会找一个最短的路径过去。

最后总结如下:
在这里插入图片描述

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

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

相关文章

最新微信智能电子名片源码 全开源可二开 智能名片系统开发

在数字化日益深入人心的今天,名片已不再是简单的纸质交换工具,而是成为了一个展示个人或企业形象、促进商务交流的重要窗口。分享一款全新的微信智能电子名片系统,源码开源、可二次开发的灵活性,更在功能上进行了全面升级和优化&a…

MySQL软件安装基于压缩包

打开mysql官网网址 MySQL :: Download MySQL Community Server 本次针对版本8的安装包方式进行安装,下载成功后接下来对MySQL进行安装 下载后有一个以zip后缀结尾的压缩包文件 对于安装包方式安装,比起可视化安装省去了许多安装步骤,这里直接…

数据结构的二叉树(c语言版)

一.二叉树的概念 1.二叉树的基本概念 二叉树是一种常见的树状数据结构,它由若干个节点组成,这些节点通过边连接起来。每个节点最多可以有两个子节点,分别称为左子节点和右子节点。 二叉树的特点是每个节点最多有两个子节点,而且…

如何根据列值选择DataFrame中的行?

在Python的数据分析库Pandas中,DataFrame是一种非常强大的数据结构,用于存储和操作表格数据。有时,我们可能需要根据某些列的特定值选择DataFrame中的行。本文将介绍如何使用Pandas进行此类操作,并提供一些实用的示例。 基本原理…

商场学习之微服务

前言 寒假前在新电脑上配置了java环境,maven仓库,node,js,navicat,MySQL,linux,vmware等环境,创建了6个mysql数据库,77张表。 如此多的表,字段,去手写基础…

常用网口操作

目录 网卡闪烁识别 查看光口或者电口 电口查看链接 如何去掉ip地址 网卡闪烁识别 装好系统后,不知道哪个名称对应哪个网卡,可以执行下面的命令。此时物理网卡会一闪一闪,按住ctrc,停止闪烁。这样就不担心找错网卡啦。也不用一…

【计算机网络篇】数据链路层(8)共享式以太网的退避算法和信道利用率

文章目录 🛸共享式以太网的退避算法🥚截断二进制指数算法 🍔共享式以太网的信道利用率 🛸共享式以太网的退避算法 在使用CSMA/CD协议的共享总线以太网中,正在发送帧的站点一边发送帧一边检测碰撞,当检测到…

宝塔面板怎么解决nginx跨域问题

1.找到宝塔的nginx配置文件 宝塔有一点不同,nginx配置文件不在nginx的安装目录中,应当去/www/server/panel/vhost/nginx找到 2.添加你要跨域的地址 location /api {proxy_pass http://localhost:8080;proxy_set_header Host $host;proxy_set_header X-…

故障电弧产生的原因以及相关设备介绍-安科瑞 蒋静

1故障电弧的危害 故障电弧是指由于电气线路或设备中绝缘老化破损、电气连接松动、空气潮湿、电压电流急剧升高等原因引起空气击穿所导致的气体游离放电现象。故障电弧发生时,其中心温度可高达3000 ℃左右,并伴随有金属喷溅物,足以引燃任何可…

消息队列——Kafka

1、什么是消息队列,什么是Kafka? 我们通常说的消息队列,简称MQ(Message Queue),它其实就指消息中间件,比较流行的开源消息中间件有:Kafka、RabbitMQ、RocketMQ等。今天我们要介绍的…

用balenaEtcher烧录ubuntu的iso文件都失败,所以选用了另一种烧录的软件Rufus,然后烧录成功了+安装ubuntu的坑

https://releases.ubuntu.com/bionic/进入网页下载ubuntu 选择烧录软件将下载的Ubuntu烧录到U盘中 之前用这个U盘烧录过一次,成功了,后来应该是U盘受损或者是什么其他原因使得用这个U盘总是烧录失败 换思路:由于一直使用balenaEtcher烧录ubu…

FileZilla一款免费开源的FTP软件,中文正式版 v3.67.0

01 软件介绍 FileZilla 客户端是一个高效且可信的跨平台应用程序,支持 FTP、 FTPS 和 SFTP 协议,其设计宗旨在于为用户提供一个功能丰富且直观的图形界面。此客户端的核心特性包括一个站点管理器,该管理器能有效地存储和管理用户连接详情及登…

Penpad 品牌升级为Pencils Protocol,提供用户“一鱼多吃”

Penpad是Scroll生态中最大综合平台之一,目前其得到了Scroll官方以及社区的支持,是Scroll包括成就系统、忠诚度积分等系列计划的首批合作伙伴,同时其也得到了OKX Wallet在内的行业伙伴的长期支持。 目前Penpad正在开启生态通证的Launch活动&am…

centos7同步银河麒麟服务器SP系列外网yum源包同步不完整问题

centos7同步银河麒麟服务器SP系列外网yum源包同步不完整问题 一 问题描述二 解决方法三 外网源配置步骤 一 问题描述 Red 7.7 x86架构同步银河麒麟服务器SP arm架构外网源的yum包不完整问题,yum repolist查看源里面有15000左右的包,使用reposync命令同步…

C++新特性-线程

主要内容 thread、condition、mutexatomicfunction、bind使用新特性实现线程池(支持可变参数列表)异常协程其他 1 C11多线程thread 重点: join和detach的使用场景thread构造函数参数绑定c函数绑定类函数线程封装基础类互斥锁mutexconditi…

鲜活很有感染力的女生图片_活力满满有生命力女生图片

鲜活很有感染力的女生图片_活力满满有生命力女生图片

Vue中CSS动态样式绑定与注意事项

vue中css使用动态变量_vue css变量 动态-CSDN博客 需求: vue使用el-select,下拉选择值时‘输入框’的背景图片就改变为对应所选项的背景图 分析 : 每次下拉选择,值发生变化,背景图与值一一对应绑定,为动态…

nuxt3.0+scrollreveal动画插件实现页面滚动加载动画效果

项目安装 npm install scrollreveal --save 在src下创建plugins文件夹,写入名为scrollreveal.client.ts的文件。 import { defineNuxtPlugin } from "#app"; import scrollReveal from scrollrevealexport default defineNuxtPlugin((nuxtApp) > {l…

STL中的优先级队列

目录 1.引言 2.简介 3.基本操作 4.实现原理 5.自定义优先级比较 6.相关题目 7.能特点 8.总结 1.引言 在C标准库中,优先级队列是一种非常有用的数据结构,它允许我们根据元素的优先级来对其进行排序和访问。这种数据结构在多种应用场景中都发挥着重…

WordPress插件Show IDs by Echo,后台显示文章、页面、分类、标签、媒体库、评论、用户的ID

WordPress的这款Show IDs by Echo插件,可以让我们设置是增加一列ID还是直接在“编辑 |快速编辑 |查看”操作后面增加ID,而且支持展示以下内容的ID: 文章页面类别标签评论自定义帖子类型自定义分类法用户媒体 Show IDs by Echo插件的安装及启…