SCI一区TOP|局部强化优化算法(PRO)原理及实现【免费获取Matlab代码】

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献
    • 5.代码获取


1.背景

2024年,A Taheri受到部分强化效应(PRE)理论启发,提出了局部强化优化算法(Partial Reinforcement Optimizer, PRO)。

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

2.算法原理

2.1算法思想

PRO来自进化学习和训练的心理学理论,称为部分强化效应(PRE)理论。根据PRE理论,学习者在学习和训练过程中间歇性地强化学习或加强特定的行为。通过选择适当的强化行为和实施强化过程的时间,强化模式显著影响学习者在强化计划中的反应率和强度。

在这里插入图片描述

2.2算法过程

调度

调度是指如何以及何时需要加强行为,在不同的时间间隔内为数据结构建模。每个学习者都有一个特定的时间表,由于每个标量代表了特定学习者行为的分数优先级,分数优先级越高,下一次迭代中被选择的机会就越大。将调度中的优先级按降序排序:
τ ← F E s M a x F E s S R ← e − ( 1 − τ ) μ ⊆ { 1 , 2 , 3 , … , N } ∣ ∀ j ∈ μ , S c h e d u l e j ≥ S c h e d u l e ∗ , λ , λ ← { ∥ μ ∥ ∣ ∥ μ ∥ = [ U ( 1 , N × S R ) ] } (1) \begin{aligned} &\tau\leftarrow\frac{FEs}{MaxFEs} \\ &SR\leftarrow e^{-(1-\tau)} \\ &\mu\subseteq\{1,2,3,\ldots,N\}\quad| \forall j\in\mu, Schedule^{j} \geq Schedule^{*,\lambda}, \\ &\lambda\leftarrow\{ \|\mu\| | \|\mu\|=[U(1, N\times SR)] \} \end{aligned}\tag{1} τMaxFEsFEsSRe(1τ)μ{1,2,3,,N}∣∀jμ,SchedulejSchedule,λ,λ{μ∥∣∥μ=[U(1,N×SR)]}(1)
其中, τ \tau τ为时间因子,FEs为函数评价的次数,MaxFEs为函数评价的最大次数。其中,SR是选择率,gr是基于调度选择的行为子集,gr是选择子集的大小,是行为(决策变量)的总数。

刺激

任何试图刺激学习者的行为以引起反应的尝试都是通过应用操作来改变所提出的解决方案的决策变量来建模。使用以下操作来生成新的解:
S F i ← τ + U ( 0 , β ˉ ) ,   w h e r e   β ˉ ← ∑ j ∈ μ ( S c h e d u l e i , j M a x ( S c h e d u l e i ) ) S i μ ← { ( X b e s t μ − X i μ ) If rand < 0.5 ( X i μ − X j μ ) Otherwise. X i , n e w μ ← X i μ + S F i × S i μ (2) \begin{aligned} &SF_{i}\leftarrow\tau+U(0,\bar{\beta}),\mathrm{~where~}\bar{\beta}\leftarrow\sum_{j\in\mu}\left(\frac{Schedule_{i,j}}{Max\left(Schedule_{i}\right)}\right) \\ &S_i^\mu\leftarrow\begin{cases}(X_{best}^\mu-X_i^\mu)&\text{If rand < 0.5}\\[1ex](X_i^\mu-X_j^\mu)&\text{Otherwise.}\end{cases} \\ &X_{i,new}^{\mu}\leftarrow X_{i}^{\mu}+SF_{i}\times S_{i}^{\mu} \end{aligned}\tag{2} SFiτ+U(0,βˉ), where βˉjμ(Max(Schedulei)Schedulei,j)Siμ{(XbestμXiμ)(XiμXjμ)If rand < 0.5Otherwise.Xi,newμXiμ+SFi×Siμ(2)

强化

应用正强化来增加特定行为的分数,学习者的目标函数作为刺激阶段改进后的响应:
S c h e d u l e i μ ← S c h e d u l e i μ + ( S c h e d u l e i μ × R R ) (3) Schedule_i^\mu\leftarrow Schedule_i^\mu+(Schedule_i^\mu\times RR)\tag{3} ScheduleiμScheduleiμ+(Scheduleiμ×RR)(3)
其中,RR为强化率。当没有反应时,就会施加负强化。在这种情况下,学习者的目标函数在刺激阶段后减小,导致特定行为得分下降:
S c h e d u l e i μ ← S c h e d u l e i μ − ( S c h e d u l e i μ × R R ) (4) Schedule_i^\mu\leftarrow Schedule_i^\mu-(Schedule_i^\mu\times RR)\tag{4} ScheduleiμScheduleiμ(Scheduleiμ×RR)(4)

重新调度

在训练过程中为学习者应用一个新的时间表,当学习者的所有行为都持续受到负强化时。在这种情况下,PRO利用计划的标准偏差(Std)作为度量来确定何时需要重新安排学习者的计划:
Schedule i ← { U ( 0 , 1 ) if Std(Schedule i ) = 0 D o nothing otherwise (5) \text{Schedule}_{\mathrm{i}}\leftarrow\begin{cases}U(0,1)\quad\text{if Std(Schedule}_{\mathrm{i}})=0\\Do\text{nothing}\quad\text{otherwise}\end{cases}\tag{5} Schedulei{U(0,1)if Std(Schedulei)=0Donothingotherwise(5)
X i ← { U ( L B , U B ) i f   S t d ( S c h e d u l e i ) = 0 D o nothing o t h e r w i s e (6) \mathrm X_\mathrm{i}\leftarrow\left\{\begin{matrix}U(L_B,U_B)&\mathrm{if~Std(Schedule_i)=0}\\Do\text{nothing}&\mathrm{otherwise}\end{matrix}\right.\tag{6} Xi{U(LB,UB)Donothingif Std(Schedulei)=0otherwise(6)

在这里插入图片描述

流程图

在这里插入图片描述

伪代码

在这里插入图片描述

3.结果展示

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

4.参考文献

[1] Taheri A, RahimiZadeh K, Beheshti A, et al. Partial reinforcement optimizer: An evolutionary optimization algorithm[J]. Expert Systems with Applications, 2024, 238: 122070.

5.代码获取

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

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

相关文章

Python数据科学 | 是时候跟Conda说再见了

本文来源公众号“Python数据科学”&#xff0c;仅用于学术分享&#xff0c;侵权删&#xff0c;干货满满。 原文链接&#xff1a;是时候跟Conda说再见了 1 简介 conda作为Python数据科学领域的常用软件&#xff0c;是对Python环境及相关依赖进行管理的经典工具&#xff0c;通…

【漏洞复现】红帆iOffice.net wssRtSyn接口处存在SQL注入

【产品&&漏洞简述】 红帆iOffice.net从最早满足医院行政办公需求&#xff08;传统OA&#xff09;&#xff0c;到目前融合了卫生主管部门的管理规范和众多行业特色应用&#xff0c;是目前唯一定位于解决医院综合业务管理的软件&#xff0c;是最符合医院行业特点的医院综…

SVN学习(001 svn安装)

尚硅谷SVN高级教程(svn操作详解) 总时长 4:53:00 共72P 此文章包含第1p-第p19的内容 介绍 为什么使用版本控制工具 版本控制工具的功能 版本控制简介 客户端服务器结构 c/s结构 服务端的结构&#xff1a; 服务程序 、版本库(存放我们上传的文件) 客户端的三个基本操作&#…

记录一次递归查询导致的 java.lang.StackOverflowError: null

问题截图&#xff1a; 由于作者使用递归统计信息&#xff0c;刚开始这个接口运行得正常&#xff0c;但是上线运行一段时间后接口就出现了&#xff0c;如图的栈溢出错误。可以看出确实是堆栈溢出了&#xff0c;解决栈溢出目前只有两种方式&#xff1a; 第一种调大栈的大小&…

小程序开发的技术难点

小程序开发是一项技术难度较高的工作&#xff0c;需要开发者具备多方面的知识和技能&#xff0c;小程序开发的技术难点主要体现在以下几个方面。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#xff0c;欢迎交流合作。 1. 多端兼容 小程序需要在微信、支付宝…

Flow Matching For Generative Modeling

Flow Matching For Generative Modeling 一、基于流的&#xff08;Flow based&#xff09;生成模型 生成模型 我们先回顾一下所谓的生成任务&#xff0c;究竟是想要做什么事情。我们认为&#xff0c;世界上所有的图片&#xff0c;是符合某种分布 p d a t a ( x ) p_{data}(…

MES管理系统如何设计生产质量管理功能

在现代制造业中&#xff0c;MES管理系统作为连接企业计划层与车间操作层的关键桥梁&#xff0c;其生产者计量管理功能的设计显得尤为重要。一个完善的MES管理系统生产质量管理模块&#xff0c;不仅要求能够实时、准确地采集和分析生产过程中的质量数据&#xff0c;还需要能够与…

Unity3d 游戏暂停(timeScale=0)引起的deltaTime关联的系列问题解决

问题描述 游戏暂停的功能是通过设置timeScale0实现的&#xff0c;不过在暂停游戏的时候&#xff0c;需要对角色进行预览和设置&#xff0c;为了实现这个功能&#xff0c;是通过鼠标控制相机的操作&#xff0c;为了使相机的操作丝滑&#xff0c;获取鼠标操作系数乘以Time.delta…

如何在React中使用CSS模块,并解释为什么使用它们比传统CSS更有益?

在React中使用CSS模块是一种将CSS类名局部化到单个组件的方法&#xff0c;从而避免了全局作用域中的类名冲突。CSS模块允许你为组件编写样式&#xff0c;并确保这些样式只应用于该组件&#xff0c;而不会影响到其他组件。 以下是在React中使用CSS模块的步骤&#xff1a; 安装C…

Excel 识别数据层次后转换成表格

某列数据可分为 3 层&#xff0c;第 1 层是字符串&#xff0c;第 2 层是日期&#xff0c;第 3 层是时间&#xff1a; A1NAME122024-06-03304:06:12404:09:23508:09:23612:09:23717:02:2382024-06-02904:06:121004:09:231108:09:2312NAME2132024-06-031404:06:121504:09:231620…

FreeBSD在zfs挂接第二块ssd 硬盘

为FreeBSD机器新增加了一块ssd硬盘&#xff1a;骑尘 256G 先格式化分区硬盘 进入bsdconfig 选Disk Management 选择ada1 &#xff0c;也就是新增加的硬盘 选择auto 然后选择Entire Disk 提示信息 The existing partition scheme on this disk (MBR) │ …

如何解决windows自动更新,释放C盘更新内存

第一步&#xff1a;首先关闭windows自动更新组件 没有更新windows需求&#xff0c;为了防止windows自动更新&#xff0c;挤占C盘空间&#xff0c;所以我们要采取停止Windows Update服务。按下WinR打开运行对话框&#xff0c;输入services.msc&#xff0c; 然后按Enter。在服务…

传输大文件之镭速自动清理过期文件

电子文档的普及无疑极大地便利了我们的工作与生活&#xff0c;但随之而来的是如何有效管理这些日益增多的文件。企业面临着存储空间紧张、文件传输复杂、敏感信息泄露等挑战。自动化文件清理的需求日益凸显&#xff0c;这不仅关乎个人对高效工作环境的追求&#xff0c;更是企业…

绘唐3工具—让创作触手可及

绘唐AIGC&#xff08;Artificial Intelligence Generated Creativity&#xff09;是一种新兴的技术&#xff0c;通过人工智能生成创意&#xff0c;让创作更加触手可及。 绘唐3下载地址https://qvfbz6lhqnd.feishu.cn/wiki/KnRawcWQxiFrj5kC8lVcCEypnZc 绘唐AIGC结合了人工智能…

element-plus的form表单组件之checkbox组件

单个checkbox 绑定的响应式的值类型为bool类型&#xff0c;同一个组的checkbox多选其值对应值的数组&#xff0c;类型根据checkbox的value值而来。 label只用来显示具体的值&#xff0c;根据value属性来设置。 element-plus的checkbox提供多种特性。 如单选&#xff0c;多选…

B站广告开户投流是什么政策?要哪些资质?

B站&#xff08;哔哩哔哩&#xff09;作为年轻人喜爱的视频分享社区&#xff0c;其广告价值也日益凸显。为了更好地服务广告主&#xff0c;B站近日对广告开户投流政策进行了更新&#xff0c;云衔科技作为专业的数字营销服务商&#xff0c;也积极响应&#xff0c;为广告主提供一…

【java分布式计算】控制反转和依赖注入(DI IOC AOP)

考试要求&#xff1a;了解控制反转的基本模式&#xff0c;用依赖注入编写程序 目录 控制反转&#xff08;Inversion of Control, IOC&#xff09;&#xff1a; 依赖注入&#xff08;Dependency Injection, DI&#xff09;&#xff1a; 依赖注入的三种实现方式 具体的例子 …

C#——装箱与拆箱详情

装箱与拆箱 装箱: 将值类型转换成引用类型的过程&#xff1b; 拆箱: 把引用类型转为值类型的过程&#xff0c;就是拆箱 装箱 拆箱

韩顺平0基础学Java——第27天

p548-568 明天开始坦克大战 Entry 昨天没搞明白的Map、Entry、EntrySet&#xff1a;//GPT教的 Map 和 Entry 的关系 1.Map 接口&#xff1a;它定义了一些方法来操作键值对集合。常用的实现类有 HashMap、TreeMap 等。 2. Entry接口&#xff1a;Entry 是 Map 接口的一个嵌…

LDO的原理及测试方法

一、基本结构 这是LM317芯片的核心,这个电路单元称为Bandgap Reference带隙基准源。属于模拟集成电路中的经典电路结构。 LDO拓扑结构图 常见的基本结构 利用VBE的负温度系数,而VT是正温度系数,正负温度系数抵消就的得到稳定的基准参考电压了(三极管的方程VBE=VT*In(lC/IS…