【数学建模】为什么存在最优策略?

一、说明

        在进行优化回归过程,首先要看看是否存在最优策略?

        在有限马尔可夫决策过程 (MDP) 中,最优策略被定义为同时最大化所有状态值的策略¹。换句话说,如果存在最优策略,则最大化状态 值的策略与最大化状态 s' 值的策略相同² 但为什么要有这样的政策呢?

        萨顿和巴托关于强化学习的著名入门书¹认为最优策略的存在是理所当然的,而这个问题没有得到解答。我很难相信他们并能够继续阅读!

        在本文中,我将证明有限 MDP ³ 中存在最优策略。

二、符号和定义

2.1 马尔可夫决策过程和政策

        有限 MDP 的特征在于一组有限的状态(通常用曲线 S 表示),每个状态的一组有限动作(通常用曲线 A 表示),以及立即奖励值 和下一个状态 s' 的概率分布,给定当前状态 s 和当前选择的动作 a,表示为 p(s', r|s,a)。

        给定当前状态 s,策略π是状态 s 上可能操作的概率分布,表示为 π(a|s)。 然后,给定一个策略,代理可以在环境中导航(即从一个状态转到另一个状态)并通过每个转换获得奖励。

        我们用大写字母显示随机变量,用小写字母显示它们的值。时间用下标添加到每个变量中。然后,给定策略和 MDP,并给定初始状态(时间 t=1s,对于任何 T > 1,状态、操作和奖励值的联合分布为

  

2.2 值和贝尔曼方程

        给定策略π和折扣因子 0 ≤ γ < 1,每个状态的值定义为

        以及每对状态和操作的值为

        很容易证明状态和动作-状态对的值可以用递归方式编写

        这些方程组被称为贝尔曼方程。

        我们稍后将使用以下事实:

等式 1.作为函数状态操作值的状态值。

  

2.3 最佳策略

        策略π*是最佳策略,当且仅当我们有

        对于任何状态和任何其他策略π。

三、贝尔曼最优性方程

        我们用曲线 S 显示所有可能状态的集合,用曲线 A 显示状态 s 处所有可能动作的集合。我们用δ表示克罗内克三角洲,并用以下定理开始本节。

        证明注释:我们在证明的第一行中使用了方程 1,然后反复使用了状态和动作对的值 (s*, a*) 大于或等于状态 s* 的值的事实。

        定理 1 指出,就策略π而言,只要有一对状态和操作 (s*, a*) 的值大于状态 s* 的值,那么就所有状态而言,就会有另一个策略π优于或等于(就状态值而言)π。因此,如果存在最优策略 π*,则对于任何状态 s,其值应满足

  等式 2.贝尔曼最优方程的紧凑形式。

                

        其中弯曲的 A(s) 代表状态 s 处所有可能动作的集合——人们可以很容易地通过矛盾来证明这个陈述。 使用贝尔曼方程,我们可以将方程2展开为:

等式 3.贝尔曼最优性方程的展开形式。

        这组非线性方程(与状态数一样多)被称为“贝尔曼最优方程”。因此,如果存在最优策略,则其值应满足这组方程⁴。

        因此,要证明最优策略的存在,必须证明以下两个陈述:

  1. 贝尔曼最优方程的集合有解,并且
  2. 其其中一个解决方案的值大于或等于所有状态下其他解决方案的值。

四、解决方案的存在和独特性

在本节中,我们证明了贝尔曼最优方程的集合具有唯一的解。通过这样做,我们同时证明了上述两个陈述。

4.1 贝尔曼最优运算符

        给定一组状态上的值,我们将值的向量定义为

        它只是一个实值向量,其元素等于不同状态的值。然后,我们将“贝尔曼最优算子”T定义为映射

        运算符 T 获取一个值向量并将其映射到另一个值向量。使用这种新符号,很容易看出等式 2 和 3 等价于

等式 4.贝尔曼最优性方程作为贝尔曼最优性算子的不动点。

        这一观察意味着贝尔曼最优性方程的解与贝尔曼最优性算子的不动点s 相同。因此,为了证明贝尔曼最优方程解的存在性和唯一性,可以证明贝尔曼最优性算子具有唯一的不动点。

        为此,我们需要引入另一个概念和另一个定理。

4.2 收缩映射和巴拿赫不动点定理

        考虑一个度量空间 (M,d),即 M 是一个集合,d 是在此集合上定义的度量,用于计算 M ⁵ 中每两个元素的距离。 映射 T:M → M 是一个收缩映射,如果存在 0 ≤ k < 1,对于 M 中的任何 x 和 y,我们有

直观地说,收缩映射使点彼此更近。图 1 显示了在两个点上重复应用收缩映射的图示。

图1.收缩映射图示和巴拿赫不动点定理的陈述

        我们对收缩映射感兴趣的原因是以下著名的定理,称为巴拿赫不动点定理。

证明注释: 定理的证明并不难,但我不把它包括在本文中,因为这个定理是众所周知的,证明可以很容易地在其他地方找到,例如见这里。

该定理背后的整个思想如图 1 所示:映射后所有点彼此靠近,因此,通过重复映射,所有点都收敛到一个点,即 T 的唯一不动点。

因此,为了证明贝尔曼最优性方程解的存在性和唯一性,足以证明存在一个度量,其中贝尔曼最优性算子是收缩映射。

4.3 贝尔曼最优算子是无穷范数中的收缩映射

        对于任何一对值向量 V 和 V',它们的无穷范数定义为

        在本节中,我们要证明贝尔曼最优性算子是这个范数中的收缩映射。为此,我们首先需要以下引理。

证明注释: 虽然引理不是平凡的,但它的证明并不困难,只需要基本的技术。我有一些乐趣证明它,并认为将其证明作为感兴趣的读者的练习可能会很好⁶。

现在,有了引理,我们终于可以进入我们的主定理了。

证明注释: 为了从证明的第 2 行到第 3 行,我们使用引理,从第 4 行转到第 5 行,我们使用绝对值函数的凸性。其余的都很简单。

因此,贝尔曼最优性算子具有唯一的不动点⁷,而贝尔曼最优性方程具有唯一的解。很容易证明,任何关于贝尔曼最优方程解的贪婪策略都具有等于该解的值。因此,存在最优策略!

五、结论

        我们证明了(1)最优策略的值应该满足贝尔曼最优方程。然后,我们证明了(2)贝尔曼最优方程的解是贝尔曼最优性算子的不动点。通过证明(3)贝尔曼最优算子是无穷范数中的收缩映射,并使用(4)巴拿赫不动点定理,我们证明了(5)贝尔曼最优算子具有唯一的不动点。因此,(6)存在同时最大化所有州价值的政策。

参考和引用:

 有限MDP最优策略存在的证明 :

阿里雷扎·莫迪尔沙内奇

Why does the optimal policy exist? | by Alireza Modirshanechi | Towards Data Science

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

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

相关文章

组件化开发复习

1.vue的根组件使用 // 1.创建appconst app Vue.createApp({// data: option apidata() {return {message: "Hello Vue",counter: 0,counter2: 0,content: ""}},watch: {content(newValue) {console.log("content:", newValue)}}}) createApp 函…

【升职加薪秘籍】我在服务监控方面的实践(3)-机器监控

大家好,我是蓝胖子&#xff0c;关于性能分析的视频和文章我也大大小小出了有一二十篇了&#xff0c;算是已经有了一个系列&#xff0c;之前的代码已经上传到github.com/HobbyBear/performance-analyze&#xff0c;接下来这段时间我将在之前内容的基础上&#xff0c;结合自己在公…

C语言---动态内存管理

C语言—动态内存管理 文章目录 C语言---动态内存管理1. 为什么要进行动态内存分配1.1 动态内存管理所在的区域 2. 动态内存函数的介绍2.1 malloc2.1.1 malloc语法2.1.2 malloc具体实例 2.2 free2.2.1 free语法2.2.2 free具体实例 2.3 calloc2.3.1 calloc语法2.3.2 calloc具体实…

42. 接雨水

题目介绍 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图&#xff0c;计算按此排列的柱子&#xff0c;下雨之后能接多少雨水。 示例 1&#xff1a; 输入&#xff1a;height [0,1,0,2,1,0,1,3,2,1,2,1] 输出&#xff1a;6 解释&#xff1a;上面是由数组 [0,1,0,2,1,0,1,3…

OpenShift 4 - 可观测性之用 OpenTelemetry+Jaeger 实现 Distributed Tracing

《OpenShift / RHEL / DevSecOps 汇总目录》 说明&#xff1a;本文已经在支持 OpenShift 4.13 的环境中验证 文章目录 技术架构部署 Distributed Tracing 运行环境安装测试应用并进行观测跟踪参考 说明&#xff1a; 本文使用的测试应用采用的是 “手动 Instrumentation” 方式在…

Linux系列---【CentOS 7通过MSTSC连接远程桌面】

安装对应的yum源 yum list lightdm xorgxrdp xrdp 可以看到这些软件都在epel中&#xff0c;如果没有的话&#xff0c;请先安装对应的yum源。命令如下&#xff1a; yum install -y epel-release 确认yum源没有问题之后&#xff0c;我们就可以进行安装了。 安装lightdm xorgxrdp…

【C语言】嵌入式C语言项目管理利器:深入理解Makefile的应用与实践

目录 一、makedile的概述 1、案例引入 2、makefile 3、Makefile优点 二、makefile的语法规则 1、语法规则 2、简单实战 三、makefile的变量 1、自定义变量 2、系统环境变量 3、预定义变量 4、高级makefile 一、makedile的概述 1、案例引入 gcc a.c b.c c.c ‐o …

EasyExcel写出包含多个sheet页的Excel

EasyExcel导出包含多个sheet页的Excel 1.引入依赖 引入如下的EasyExcel的依赖&#xff0c;或直接下载jar包 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.1.1</version></depende…

RT-Thread快速入门-定时器管理

1时钟节拍 任何操作系统都需要提供一个时钟节拍&#xff0c;以供系统处理所有和时间有关的事件&#xff0c;如延时、线程的时间片轮转调度以及定时器超时等。时钟节拍&#xff08;OS Tick&#xff09;是操作系统中最小的时间单位。 时钟节拍是特定的周期性中断&#xff0c;这…

Spring Boot 整合 分布式搜索引擎 Elastic Search 实现 搜索、分页与结果过滤

文章目录 ⛄引言一、酒店搜索和分页⛅需求分析⚡源码编写 二、酒店结果过滤⌚需求分析⏰修改搜索业务 ✅效果图⛵小结 ⛄引言 本文参考黑马 分布式Elastic search Elasticsearch是一款非常强大的开源搜索引擎&#xff0c;具备非常多强大功能&#xff0c;可以帮助我们从海量数据…

【java实习评审】对热门小说更新时的聚集访问流量进行性能优化优化,有较好的设计

大家好&#xff0c;本篇文章分享一下【校招VIP】免费商业项目“推推”第一期书籍详情模块java同学的文档周最佳作品。该同学来自西安建筑科技大学软件工程专业。 本项目亮点难点&#xff1a;1 热门书籍在更新点的访问压力&#xff0c;2 书籍更新通知的及时性和有效性&#xff…

浅谈能源管理系统在水泥行业中设计分析

安科瑞 华楠 摘要&#xff1a;水泥企业作为我国产业结构中重要的耗能产业&#xff0c;同时对环境的污染也比较大&#xff0c;因此在水泥企业中建立能源管理系统&#xff0c;对水泥企业的生产过程过程进行全过程的监控和管理&#xff0c;对于降低企业的能源消耗和提高企业的经济…

24 鼠标常用事件

鼠标进入&#xff1a;enterEvent鼠标离开&#xff1a;leaveEvent鼠标按下&#xff1a;mousePressEvent鼠标释放&#xff1a;mouseRelaseEvent鼠标移动&#xff1a;mouseMoveEvent 提升为自定义控件MyLabel 代码&#xff1a; //mylabel.h #ifndef MYLABEL_H #define MYLABEL_H#…

ESP32(MicroPython) 两轮差速五自由度机械臂小车

这次的项目在软件上没多少调整&#xff0c;但本人希望分享一下硬件上的经验。 小车使用两轮差速底盘&#xff0c;驱动轮在小车中间&#xff0c;前后都要万向轮。这种形式可以实现0转弯半径&#xff0c;但受万向轮及用于加高的铜柱的规格限制&#xff0c;两个万向轮难以调到相同…

基于netlify生成custom SSL certificate

&#xff08;1&#xff09;腾讯云申请 &#xff08;2&#xff09;域名控制台解析 &#xff08;3&#xff09;Nginx下载&#xff08;crt: CA certificate Chain)

C++教程 从0开始

0基础C教程 从0开始 课堂现在开始 如需学习 请订阅该标签 什么是C&#xff1f; 这个不是太重要 自行查看该链接即可 C_百度百科C&#xff08;c plus plus&#xff09;是一种计算机高级程序设计语言&#xff0c;由C语言扩展升级而产生&#xff0c;最早于1979年由本贾尼斯特劳…

轻量级Firefox Send替代方案Gokapi

想不到一个域名的变动会影响这么大&#xff0c;访问量出现断崖式下跌。由此可见&#xff0c;平时的访问应该只是一些 RSS 的访问而已。 上面是 Pageviews&#xff0c;下面是 Uniques 今天略有回升 难怪那些大公司要花钱买域名了&#xff0c;不过老苏是个佛系的人&#xff0c;一…

使用MQ发送对象错误

说明&#xff1a;使用RabbitMQ发送消息&#xff0c;消息是对象&#xff0c;出现下面这样的错误&#xff1b; 错误信息&#xff1a;Caused by: com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of com.hmall.item.pojo.Item (no Cr…

通过问题解决者手册推动你的结果 - 提高思维能力的 17 种方法

大部分人对产品管理的理解都是解决问题&#xff0c;这是他们的主要工作——找出客户的问题是什么并解决它们。但现在&#xff0c;热衷于解决问题的问题是&#xff0c;当我们看到问题时&#xff0c;本能反应是“我该如何解决它&#xff1f;” 这意味着&#xff1a;当我试图自己解…

SPEC CPU 2006 docker gcc:4 静态编译版本 Ubuntu 22.04 LTS 测试报错Invalid Run

runspec.sh #!/bin/bash source shrc ulimit -s unlimited runspec -c gcc41.cfg -T all -n 1 int fp > runspec.log 2>&1 & tail -f runspec.log runspec.log 由于指定了-T all&#xff0c;导致-n 1 失效&#xff0c;用例运行了三次&#xff08;后续验证&…