一种大型复杂系统分布式多智能体确定性策略控制方法与流程

文档序号:24077512发布日期:2021-02-26 17:07阅读:97来源:国知局
一种大型复杂系统分布式多智能体确定性策略控制方法与流程

[0001]
本申请涉及大型复杂系统运行控制技术领域,具体而言,涉及一种大型复杂系统分布式多智能体确定性策略控制方法。


背景技术:

[0002]
大量的单独智能体以及它们间的连接所构成的系统,可称为多智能体网络。在此框架中,每个成员采集的信息都是局部且分散的,且它们不具备独立完成整个任务的能力,即个体间无法通过信息交换来使得所有成员的状态量趋于相等,故无法通过协作完成大型复杂系统中的复杂任务。


技术实现要素:

[0003]
为了解决上述问题,本申请实施例提供了一种大型复杂系统分布式多智能体确定性策略控制方法。
[0004]
第一方面,本申请实施例提供了一种大型复杂系统分布式多智能体确定性策略控制方法,所述方法包括:
[0005]
确定大型复杂系统中各控制节点对应的各智能体的本节点控制目标,设置每个所述智能体的奖励函数;
[0006]
随机获取所述大型复杂系统的初始化状态,确定当前控制周期内所述智能体的动作对应的动作集合,基于所述动作集合以及所述奖励函数对应的环境奖励集合得到经验集合,存储所述经验集合至经验缓冲区并更新所述初始化状态;
[0007]
根据所述经验缓冲区对所述智能体进行训练直至遍历整个所述智能体;
[0008]
重复所述确定当前控制周期内所述智能体的动作对应的动作集合的步骤,直至遍历所有所述智能体,得到目标深度策略网络;
[0009]
重复所述随机获取所述大型复杂系统的初始化状态的步骤,对所述目标深度策略网络进行收敛,基于收敛后的所述目标深度策略网络对所述大型复杂系统进行控制。
[0010]
优选的,所述确定大型复杂系统中各控制节点对应的各智能体的本节点控制目标,包括:
[0011]
设置大型复杂系统的总体控制目标;
[0012]
对所述总体控制目标进行分解,将所述大型复杂系统的各个控制节点作为多智能体,使每个智能体分别将对应的分解后的所述总体控制目标作为本节点控制目标。
[0013]
优选的,所述确定当前控制周期内所述智能体的动作对应的动作集合,包括:
[0014]
通过确定性策略计算获取当前控制周期内所述智能体的动作a
i

[0015][0016]
其中为深度策略网络,θ
i
为深度策略网络参数,o
i
为当前智能体能够观测到的局部状态;
[0017]
确定所述动作a
i
对应的动作集合
[0018]
优选的,所述基于所述动作集合以及所述奖励函数对应的环境奖励集合得到经验集合,存储所述经验集合至经验缓冲区并更新所述初始化状态,包括:
[0019]
获取所述大型复杂系统的环境奖励集合以及新的大型复杂系统状态x';
[0020]
基于所述动作集合α、环境奖励集合r、初始化状态x、新的大型复杂系统状态x'生成经验集合(x,a,r,x');
[0021]
将所述经验集合(x,a,r,x')存入经验缓存区d,并更新所述初始化状态x=x'。
[0022]
优选的,所述根据所述经验缓冲区对所述智能体进行训练,包括:
[0023]
从所述经验缓存区d中随机提取总数为s个的训练集合(x
j
,a
j
,r
j
,x'
j
),根据下述公式得到深度策略网络的训练目标:
[0024][0025]
其中,γ是系统折扣,取值范围0<γ<1;
[0026]
根据下述公式计算所述智能体的深度策略网络损失函数:
[0027][0028]
根据下述公式计算所述深度策略网络训练过程中的最快梯度:
[0029][0030]
更新目标深度策略网络参数:
[0031]
θ'
i

τθ
i
+(1-τ)θ'
i
[0032]
其中,τ是深度策略网络参数的更新率,调整τ可以调整训练的速度,取值范围一般取0<τ<0.5。
[0033]
第二方面,本申请实施例提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法的步骤。
[0034]
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面或第一方面的任意一种可能的实现方式提供的方法。
[0035]
本发明的有益效果为:1.在大型复杂系统中采用分布式多智能体控制方法,构建多个智能体,相互分享信息,根据自身的控制目标,在训练的过程中,不断优化自身,提高控制性能。
[0036]
2.为了避免个别智能体的自私行为,智能体训练过程共用同一个经验缓冲区,使智能体在学习的过程中,必须兼顾周围智能体的状态,可以加速训练过程。
[0037]
3.在大型复杂系统中,每个智能体承担的任务是不一致的,将智能体的奖励函数设计为与控制目标以及大型复杂系统状态紧密相关,以此完成共同的任务。
附图说明
[0038]
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例中所需使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0039]
图1为本申请实施例提供的一种大型复杂系统分布式多智能体确定性策略控制方法的流程示意图;
[0040]
图2为本申请实施例提供的一种大型复杂系统分布式多智能体确定性策略控制方法的原理举例示意图;
[0041]
图3为本申请实施例提供的凝给水系统的原理举例示意图;
[0042]
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
[0043]
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0044]
在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本发明的多个实施例,不同实施例之间可以替换或者合并组合,因此本发明也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征a、b、c,另一个实施例包含特征b、d,那么本发明也应视为包括含有a、b、c、d的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
[0045]
下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本发明内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
[0046]
参见图1,图1是本申请实施例提供的一种大型复杂系统分布式多智能体确定性策略控制方法。在本申请实施例中,所述方法包括:
[0047]
s101、确定大型复杂系统中各控制节点对应的各智能体的本节点控制目标,设置每个所述智能体的奖励函数。
[0048]
在一种可实施方式中,所述确定大型复杂系统中各控制节点对应的各智能体的本节点控制目标,包括:
[0049]
设置大型复杂系统的总体控制目标;
[0050]
对所述总体控制目标进行分解,将所述大型复杂系统的各个控制节点作为多智能体,使每个智能体分别将对应的分解后的所述总体控制目标作为本节点控制目标。
[0051]
s102、随机获取所述大型复杂系统的初始化状态,确定当前控制周期内所述智能体的动作对应的动作集合,基于所述动作集合以及所述奖励函数对应的环境奖励集合得到经验集合,存储所述经验集合至经验缓冲区并更新所述初始化状态。
[0052]
在一种可实施方式中,所述确定当前控制周期内所述智能体的动作对应的动作集合,包括:
[0053]
通过确定性策略计算获取当前控制周期内所述智能体的动作a
i

[0054][0055]
其中为深度策略网络,θ
i
为深度策略网络参数,o
i
为当前智能体能够观测到的局部状态;
[0056]
确定所述动作a
i
对应的动作集合
[0057]
在一种可实施方式中,所述基于所述动作集合以及所述奖励函数对应的环境奖励集合得到经验集合,存储所述经验集合至经验缓冲区并更新所述初始化状态,包括:
[0058]
获取所述大型复杂系统的环境奖励集合以及新的大型复杂系统状态'
[0059]
x;
[0060]
基于所述动作集合α、环境奖励集合r、初始化状态x、新的大型复杂系统状态x'生成经验集合(x,a,r,x');
[0061]
将所述经验集合(x,a,r,x')存入经验缓存区d,并更新所述初始化状态x=x'。
[0062]
s103、根据所述经验缓冲区对所述智能体进行训练直至遍历整个所述智能体。
[0063]
在一种可实施方式中,所述根据所述经验缓冲区对所述智能体进行训练,包括:
[0064]
从所述经验缓存区d中随机提取总数为s个的训练集合(x
j
,a
j
,r
j
,x'
j
),根据下述公式得到深度策略网络的训练目标:
[0065][0066]
其中,γ是系统折扣,取值范围0<γ<1;
[0067]
根据下述公式计算所述智能体的深度策略网络损失函数:
[0068][0069]
根据下述公式计算所述深度策略网络训练过程中的最快梯度:
[0070][0071]
更新目标深度策略网络参数:
[0072]
θ'
i

τθ
i
+(1-τ)θ'
i
[0073]
其中,τ是深度策略网络参数的更新率,调整τ可以调整训练的速度,取值范围一般取0<τ<0.5。
[0074]
s104、重复所述确定当前控制周期内所述智能体的动作对应的动作集合的步骤,直至遍历所有所述智能体,得到目标深度策略网络。
[0075]
s105、重复所述随机获取所述大型复杂系统的初始化状态的步骤,对所述目标深度策略网络进行收敛,基于收敛后的所述目标深度策略网络对所述大型复杂系统进行控制。
[0076]
具体的,如图2所示,各个智能体在训练、遍历的过程中,通过同一个经验缓冲区来存储训练过程中所产生的经验集合,以此使得后续进行训练的智能体从经验缓冲区随机提取的用于训练的集合数据与之前训练的智能体的训练数据产生关联,进而保证了智能体的
训练过程中能够兼顾周围智能体的状态,避免个别智能体的自私行为。同时,由于大型复杂系统的初始化状态是预先设置的,在每一次控制周期对所有智能体训练完成后,将改变初始化状态的数值,重复进行训练,以此实现对深度策略网络的收敛。
[0077]
示例性的,如图3所示,以电厂典型系统——凝给水系统为例,整个过程具体包括以下步骤:
[0078]
步骤1,以凝给水系统为研究对象,设定大型复杂系统的总体控制目标r*,根据不同的工况,由于还存在多个回流管路,控制异常复杂。
[0079]
步骤2,对凝给水系统的总体控制目标r*进行分解,以各个控制节点为多智能体,即大型复杂控制系统由分布式多智能体组成,每个智能体根据分解的指标r
i
为本节点控制目标,设计每个智能体的奖励函数r
i
,共计有n个智能体。
[0080]
奖励函数r
i
均设计为当前测量值与控制目标的差值以及差值的导数之和,同时将蒸汽发生器的水位作为核心控制指标,以较大的比重的加入各个智能体的获得的奖励函数。
[0081]
单舷凝水智能体的智能体动作为凝水泵转速与凝水阀门开度;单舷给水智能体的给水泵转速、给水阀门开度以及回流阀门开度。
[0082]
步骤3,开始动作探索,获得系统初始化状态x。
[0083]
步骤4,通过确定性策略获得当前控制周期内每个智能体的动作a
i

[0084][0085]
为深度策略网络,θ
i
为深度策略网络参数,o
i
为当前智能体能够观测到的局部状态。
[0086]
采取获取大型复杂系统环境奖励以及新的大型复杂系统状态x'。
[0087]
将(x,a,r,x')存入经验缓冲区
[0088]
覆盖当前的状态:
[0089]
x=x'
[0090]
步骤5,依次对智能体进行训练,针对第i个智能体。
[0091]
从经验缓冲区随机提取总计为s个的(x
j
,a
j
,r
j
,x'
j
),得到深度策略网络的训练目标:
[0092][0093]
γ是系统折扣,取值范围0<γ<1。
[0094]
步骤6,获得第i个智能体的深度策略网络损失函数,
[0095][0096]
步骤7,获得深度策略网络训练过程中的最快梯度,
[0097]
[0098]
步骤8,为了增强训练的稳定性,同时保证快速收敛,更新目标深度策略网络参数θ'
i

[0099]
θ'
i

τθ
i
+(1-τ)θ'
i
[0100]
其中τ是深度策略网络参数的更新率,调整τ可以调整训练的速度,取值范围一般取0<τ<0.5。
[0101]
步骤9,重复步骤5到步骤8,重复n次,遍历整个智能体。
[0102]
步骤10,重复步骤4到步骤9,重复多次,次数根据系统实际情况设定,通常设定为覆盖一个大的系统运行周期即可,可以取值100。
[0103]
步骤11,重复步骤3到步骤10,重复多次,次数根据系统实际情况设定,通常根据训练收敛的情况取值,可以取值5000。
[0104]
步骤12,训练结束,将完成训练的目标深度策略网络实施于大型复杂系统,
[0105][0106]
通过上述步骤实现凝给水系统的分布式多智能体控制。
[0107]
参见图4,其示出了本发明实施例所涉及的一种电子设备的结构示意图,该电子设备可以用于实施图1所示实施例中的方法。如图4所示,电子设备400可以包括:至少一个中央处理器401,至少一个网络接口404,用户接口403,存储器405,至少一个通信总线402。
[0108]
其中,通信总线402用于实现这些组件之间的连接通信。
[0109]
其中,用户接口403可以包括显示屏(display)、摄像头(camera),可选用户接口403还可以包括标准的有线接口、无线接口。
[0110]
其中,网络接口404可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。
[0111]
其中,中央处理器401可以包括一个或者多个处理核心。中央处理器401利用各种接口和线路连接整个终端400内的各个部分,通过运行或执行存储在存储器405内的指令、程序、代码集或指令集,以及调用存储在存储器405内的数据,执行终端400的各种功能和处理数据。可选的,中央处理器401可以采用数字信号处理(digital signal processing,dsp)、现场可编程门阵列(field-programmable gate array,fpga)、可编程逻辑阵列(programmable logic array,pla)中的至少一种硬件形式来实现。中央处理器401可集成中央中央处理器(central processing unit,cpu)、图像中央处理器(graphics processing unit,gpu)和调制解调器等中的一种或几种的组合。其中,cpu主要处理操作系统、用户界面和应用程序等;gpu用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到中央处理器401中,单独通过一块芯片进行实现。
[0112]
其中,存储器405可以包括随机存储器(random access memory,ram),也可以包括只读存储器(read-only memory)。可选的,该存储器405包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器405可用于存储指令、程序、代码、代码集或指令集。存储器405可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器405可选的还可以是至少一个位于远离前述中央处理器401的存储装置。如图4所示,作为一种计算机存储介质的存储器405中可以包括操作
系统、网络通信模块、用户接口模块以及程序指令。
[0113]
在图4所示的电子设备400中,用户接口403主要用于为用户提供输入的接口,获取用户输入的数据;而处理器401可以用于调用存储器405中存储的大型复杂系统分布式多智能体确定性策略控制应用程序,并具体执行以下操作:
[0114]
确定大型复杂系统中各控制节点对应的各智能体的本节点控制目标,设置每个所述智能体的奖励函数;
[0115]
随机获取所述大型复杂系统的初始化状态,确定当前控制周期内所述智能体的动作对应的动作集合,基于所述动作集合以及所述奖励函数对应的环境奖励集合得到经验集合,存储所述经验集合至经验缓冲区并更新所述初始化状态;
[0116]
根据所述经验缓冲区对所述智能体进行训练直至遍历整个所述智能体;
[0117]
重复所述确定当前控制周期内所述智能体的动作对应的动作集合的步骤,直至遍历所有所述智能体,得到目标深度策略网络;
[0118]
重复所述随机获取所述大型复杂系统的初始化状态的步骤,对所述目标深度策略网络进行收敛,基于收敛后的所述目标深度策略网络对所述大型复杂系统进行控制。
[0119]
本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、dvd、cd-rom、微型驱动器以及磁光盘、rom、ram、eprom、eeprom、dram、vram、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器ic),或适合于存储指令和/或数据的任何类型的媒介或设备。
[0120]
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
[0121]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0122]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置,可通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些服务接口,装置或单元的间接耦合或通信连接,可以是电性或其它的形式。
[0123]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0124]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0125]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储器包括:u盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0126]
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通进程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储器中,存储器可以包括:闪存盘、只读存储器(read-only memory,rom)、随机存取器(random access memory,ram)、磁盘或光盘等。
[0127]
以上所述者,仅为本公开的示例性实施例,不能以此限定本公开的范围。即但凡依本公开教导所作的等效变化与修饰,皆仍属本公开涵盖的范围内。本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其实施方案。本发明旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未记载的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的范围和精神由权利要求限定。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1