决策单调性与四边形不等式

news/2025/3/30 20:56:50/文章来源:https://www.cnblogs.com/biyimouse/p/18795151

决策单调性

对于类似于 \(F_i = \underset{0\leq j < i}{\min}\{F_j + w(j, i)\}\) 的转移方程,记 \(p_i\)\(i\) 的最优决策,则若 \(p_i\) 单调不减,则乘 \(F\) 具有决策单调性。

一维四边形不等式

对于定义在整数集合上的二元函数 \(w(x, y)\),若满足对于任意 \(a \leq b \leq c \leq d\) 都存在 \(w(a, d) + w(b, c) \geq w(a, c) + w(b, d)\),则称 \(w\) 满足四边形不等式。

它的另一种等价的表现形式是 \(\forall a < b, w(a, b + 1) + w(a + 1, b + 1) \geq w(a, b) + w(a + 1, b + 1)\)

证明:

对于 \(a < c\),根据四边形不等式,有 \(w(a, c + 1) + w (a + 1, c) \geq w(a, c) + w(a + 1, c + 1)\)

对于 \(a + 1 < c\),同样地有 \(w(a + 1, c + 1) + w(a + 2, c) \geq w(a + 1, c) + w(a + 2, c + 1)\)

两式相加并化简得到 \(w(a, c + 1) + w(a + 2, c) \geq w(a, c) + w(a + 2, c + 1)\)

即对于 \(a, a + 2, c, c + 1\) 也满足四边形不等式。依此类推,\(\forall a \leq b \leq c\),有 \(a,b, c, c + 1\) 满足四边形不等式。这相当于让 \(b\)\(a\) 开始向右滑动,同理可以使 \(d\)\(c\) 开始滑动。所以 \(a, b, c, d\) 满足四边形不等式。

接着有定理:在上文提到的转移方程中,若 \(w\) 满足四边形不等式,则 \(F\) 具有决策单调性。

证明:

为了方便,下文记 \(p_i\)\(p\)

由于 \(p\)\(i\) 的最优决策,所以对于 \(\forall j < p\),有 \(F_j + w(j, i) \geq F_p + w(p, i)\)

对于 \(i' > i\),根据四边形不等式,有 \(w(j, i') + w(p, i) \geq w(j, i) + w(p, i')\)

那么将两式相加即可得到 \(F_j + w(j, i') \geq F_p + w(p, i')\),从而得出对于 \(i'\)\(p\) 一定不劣于 \(j\)

因此 \(F\) 具有决策单调性。

所以在对于上述转移方程进行转移时,我们可以维护一个 \(p\) 数组。

最开始 \(p\) 全为 \(0\),当我们做完某个 \(F_i\) 时应该考虑对于 \(j > i\),是否决策 \(i\) 优于 \(p_j\)。换句话说,我们要对于所有能更新的 \(j\) 进行更新。

根据决策单调性,一定存在某个分界点 \(p\) 使得 \(p\) 往后的所有都能使用 \(i\) 更新,而 \(p\) 往前的所有都不能用 \(i\) 更新。所以我们可以使用二分。

具体实现中,我们可以构造一个三元组 \((p, l, r)\),表示对于区间 \([l, r]\) 的最优决策是 \(p\)。然后维护队列,一开始加入 \((0, 1, n)\)。然后每次从队头删除小于当前 \(i\) 范围的三元组,从队尾不断访问三元组的 \(l\),看 \(l\) 是否能被更新,如果可以说明 \(l \sim r\) 都可以更新。我们维护一个 \(maxr\),然后直接删除队尾。直到访问到某个 \(l\) 不能更新,就在 \(l \sim r\) 内二分找出 \(p\),然后将区间劈成 \([l, p - 1]\)\([p, maxr]\) 即可。

这样做总体的复杂度是 \(O(nlogn)\),比原先的 \(O(n^2)\) 快很多。

二维四边形不等式

二维四边形不等式用来优化形如 \(F_{i, j} = \underset{1\leq k < j}{\min}\{F_{i, k} + F_{k + 1, j} + w(i, j)\}\) 的方程。

在上述转移方程中,如果满足:

  1. \(F_{i, i} = w_{i, i} = 0\)
  2. \(w\) 满足四边形不等式
  3. 对于任意 \(a \leq b \leq c \leq d\),满足 \(w(a, d) \geq w(b, c)\)

那么 \(F\) 也满足四边形不等式。

证明:

我们考虑数学归纳法。

\(j - i = 1\) 时,\(F_{i, j + 1} + F_{i + 1, j} = F_{i, i + 2} + F_{i + 1, i + 1} = F_{i, i + 2}\)

其中 \(F_{i, i + 2}\) 的最优决策可能为 \(i\)\(i + 1\),我们分别讨论。

若为 \(i + 1\),则有 $$ F_{i, i + 2} = F_{i, i + 1} + F_{i + 2, i + 2} + w(i, i + 2) = w(i, i + 1) + w(i, i + 2) \geq w(i, i + 1) + w(i + 1, i + 2) = F_{i, i + 1} + F_{i + 1, i + 2} = F_{i, j} + F_{i + 1, j + 1} $$

若为 \(i\),同理可得 \(F_{i, i + 2} \geq F_{i + 1, j + 1} + F_{i, j}\)

所以当 \(j - i = 1\) 时,\(F\) 满足四边形不等式。

接下来我们考虑对于 \(j - i = k\) 的情况,假设我们已经证明了 \(j - i < k\) 时满足四边形不等式。

假设 \(F_{i, j + 1}\) 的最优决策为 \(x\)\(F_{i + 1, j}\) 的最优决策为 \(y\)。设 \(i + 1\leq x \leq y\)

那么有 \(F_{i, j + 1} + F_{i + 1, j} = F_{i, x} + F_{x + 1, j} + w(i, j + 1) + F_{i + 1, y} + F_{y + 1, j} + w(i + 1, j)\)

同时 \(F_{i, j} + F_{i + 1, j + 1} \leq F_{i, x} + F_{x + 1, j} + w(i, j) + F_{i + 1, y} + F_{y + 1, j + 1} + w(i + 1, j + 1)\)

由于 \(w\) 满足四边形不等式,所以有 \(w(i, j + 1) + w(i + 1, j) \geq w(i + 1, j + 1) + w(i, j)\)

根据归纳假设,\(F_{x + 1, j + 1} + F_{y + 1, j} \geq F_{x + 1, j} + F_{y + 1, j + 1}\)

那么根据以上所有的式子我们可以得到 \(F_{i, j + 1} + F_{i + 1, j} \geq F_{i, j} + F_{i + 1, j + 1}\)

定理(二维决策单调性):

在上述转移方程中,我们记 \(P_{i, j}\)\(F_{i, j}\) 的最优决策,如果 \(F\) 满足四边形不等式,则对于任意 \(i < j\),有 \(P_{i, j - 1} \leq P{i, j} \leq P_{i + 1, j}\)

证明:

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

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

相关文章

读DAMA数据管理知识体系指南32参考数据和主数据概念(下)

读DAMA数据管理知识体系指南32参考数据和主数据概念(下)1. 主数据 1.1. 主数据是有关业务实体(如雇员、客户、产品、金融结构、资产和位置等)的数据,这些实体为业务交易和分析提供了语境信息 1.2. 实体是客观世界的对象(人、组织、地方或事物等)​ 1.3. 实体被实体、实例…

Springboot3+Vue3实现JWT登录鉴权

做鉴权原因: 管理系统的数据是敏感的,隐私的,每个角色的权限是不同的,必须在数据的增删改查操作时候对访问的用户进行权限验证 JWT(Json Web Token) 用于在网络应用间安全的传递消息。它以紧凑且自包含的方式,通过JSON对象在各方之间传递经过验证的信息。JWT通常由三部分…

搜维尔科技:SenseGlove触觉反馈手套-自动化和培训的突破

触觉力反馈技术领导者SenseGlove和机器人操控创新者Aeon宣布推出HEART项目。此次合作将虚拟现实 、力反馈触觉手套(SenseGlove)和机器人系统(Aeon)集成在一起,以实现直观控制和实时力反馈,使机器人训练更加方便和有效。 自动化和培训的突破 由于产品需求不断变化以及机器…

搜维尔科技:Haption通用遥控控制器,可轻松集成到工业机器人控制中

TeleRobotics EXtender (TREX) 是一个专为力反馈远程操作而设计的框架。它为操作员必须在危险、具有挑战性或受限的环境中操作的情况提供了一种创新的解决方案,使他们能够在不暴露自己风险的情况下执行任务。借助 TREX,操作员可以手动控制远程机器人,具有很高的灵活性和精确…

Elasticsearch 的搜索功能

Elasticsearch 的搜索功能建议阅读顺序:Elasticsearch 入门 Elasticsearch 搜索(本文)1. 介绍 使用 Elasticsearch 最终目的是为了实现搜索功能,现在先将文档添加到索引中,接下来完成搜索的方法。 查询的分类:叶子查询:叶查询子句在特定字段中查找特定值,例如 match、t…

20242213 实验二《Python程序设计》实验报告

20242213 2024-2025-2 《Python程序设计》实验2报告 课程:《Python程序设计》 班级: 2422 姓名: 刘宗林 学号:20242213 实验教师:王志强 实验日期:2025年3月26日 必修/选修: 公选课 1.实验内容设计并编写一个计算器程序,实现基本运算功能;功能包括加、减、乘、除、取余…

《实战Java高并发程序设计(第3版)》 | PDF免费下载

《实战Java高并发程序设计(第3版)》主要介绍基于Java的并行程序设计基础、思路、方法和实战。第一,立足于并行程序基础,详细介绍Java并行程序设计的基本方法。第二,进一步详细介绍JDK对并行程序的强大支持,帮助读者快速、稳健地进行并行程序开发。第三,详细讨论“锁”的…

《DeepSeek原理与项目实战》 | PDF免费下载

DeepSeek 是一种基于 Transformer 架构的生成式 AI(Artificial Intelligence)大模型,融合了MoE 架构、混合精度训练、分布式优化等先进技术,具备强大的文本生成、多模态处理和任务定制化能力。本书系统性地介绍了开源大模型 DeepSeek-V3 的核心技术及其在实际开发中的深度应…

实现极限网关(INFINI Gateway)配置动态加载

还在停机更新 Gateway 配置,OUT 了。 今天和大家分享一个 Gateway 的功能:动态加载配置(也称热更新或热加载)。 这个功能可以在 Gateway 不停机的情况下更新配置并使之生效。 配置样例如下: path.data: data path.logs: logconfigs:auto_reload: true # set true to auto …

ubuntu20.04安装Synergy

问题 最近在Ubuntu20.04上安装新版本的Synergy遇到一些问题,Synergy最后一个支持ubuntu20.04的版本是v3.1.3-beta,下面是下载地址: https://symless.com/synergy/download/other 在安装的时候遇到下面的问题:提示依赖libssl1,然后尝试安装下面的软件包: sudo apt install…

Netty源码—7.ByteBuf原理二

大纲 9.Netty的内存规格 10.缓存数据结构 11.命中缓存的分配流程 12.Netty里有关内存分配的重要概念 13.Page级别的内存分配 14.SubPage级别的内存分配 15.ByteBuf的回收9.Netty的内存规格 (1)4种内存规格 (2)内存申请单位(1)4种内存规格 一.tiny:表示从0到512字节之间的内存大…

一文速通Python并行计算:03 Python多线程编程-多线程同步(上)—基于互斥锁、递归锁和信号量

在 Python 多线程编程中,线程同步是确保多个线程安全访问共享资源的关键技术。本篇文章介绍了互斥锁(Lock)、递归锁(RLock) 和 信号量(Semaphore) 的概念与应用。互斥锁用于防止多个线程同时修改数据,递归锁适用于嵌套锁定场景,而信号量则限制同时访问资源的线程数。一…