基于博弈的Q学习竞争窗口调整方法、系统及介质

文档序号:24634181发布日期:2021-04-09 20:44阅读:94来源:国知局
基于博弈的Q学习竞争窗口调整方法、系统及介质

本发明涉及移动自组织网络技术领域,具体地,涉及一种基于博弈的q学习竞争窗口调整方法、系统及介质。



背景技术:

近年来,随着无线通信技术的迅速发展,移动自组织网络凭借其移动性高、适应性强和成本低等特点被广泛应用于各个领域,比如抗震救灾,远程侦查等无公网区域。与此同时,移动自组织网络动态性强和拓扑差异性大的特点给网络设计带来了一定挑战,尤其对接入协议中的退避算法的设计提出了很高的要求。

目前在移动自组织网络中应用广泛的接入技术是带有冲突避免的载波侦听多路访问(carriersensemultipleaccesswithcollisionavoid,csma/ca)协议和二进制指数退避(binaryexponentialback-off,beb)算法。但是现有的退避算法无法适应移动自组织网络高动态性以及拓扑差异性大的特点,由于网络协议中参数众多且算法繁杂,这些都可能对最终某项指标产生影响,并且这种影响难以通过数学公式表达,找到闭式最优解,因此大量研究采用机器学习的方法对移动自组织网络进行优化。基于多智能体q学习的车载通信mac层信道接入技术研究将q-learning算法引入车载自组织网络,提出了一种基于q-learning的动态调整竞争窗口算法:车辆节点在通信过程中,总是选择使得累积奖赏值最大的cw值进行退避,从而达到提高传输成功率并降低时延的效果,但是没有考虑到移动自组网中拓扑差异性大的缺点。

移动自组织网络中,由于节点的移动性以及网络场景的复杂性,经常出现多跳的通信方式。在这种分布式通信网络中,由于节点的地理位置等因素,导致不同节点在网络中的负载有所不同。对于处于网络中心的节点,其具有更多的邻居节点,相应的将承担更多的转发业务,从而导致其业务负载较大;对于处于网络边缘的节点,其具有较少的邻居节点,往往不承担或者承担较少的转发业务,导致其业务负载偏小。本章针对节点的上述差异性,提出一种基于博弈的强化学习退避窗口设计方案,通过对不同节点设置针对性的退避窗口区间大小,提升整体的网络性能。

专利文献cn107426772a(申请号:cn201710537493.6)公开了一种基于q学习的动态竞争窗口调整方法、装置及设备,该方法包括:a、初始化信道接入参数和初始煺火温度;b、在初始竞争窗口大小下,传输并获取数据包传输的第一吞吐量;c、在第一吞吐量下,采取模拟煺火算法,得到第一竞争窗口大小;d、在第一竞争窗口大小下,获取数据包传输的第二吞吐量;e、将第二吞吐量和目标吞吐量按照预设公式更新q值表,并利用预设条件,更新初始煺火温度,得到更新后的煺火温度;当更新后的煺火温度大于最小阈值时,将更新后的煺火温度作为初始煺火温度,执行b至e,重复更新q值表及得到更新后的煺火温度,直至更新后的煺火温度小于或等于最小阈值时,停止更新q值表,得到最优竞争窗口。



技术实现要素:

针对现有技术中的缺陷,本发明的目的是提供一种基于博弈的q学习竞争窗口调整方法、系统及介质。

根据本发明提供的基于博弈的q学习竞争窗口调整方法,包括:

步骤1:初始化网络节点设置,包括通信协议、网络拓扑、业务到达模型和物理层标准,开始通信后网络通过广播路由信息的方式,进行自组网并建立路由表,初始状态下,节点按照默认竞争窗口大小进行退避,此后按照q学习算法输出的动作调整竞争窗口大小进行退避;

步骤2:全网节点通过路由表获知一跳邻居节点个数,并通过rts/cts信令广播至邻居节点,同时节点收到其邻居节点广播的rts/cts信息,获知并计算得出其邻居节点的平均邻居节点个数,各节点通过查询缓存区待发送的业务统计出单位时间内的业务负载大小,求出相应的负载因子;

步骤3:计算节点在网络中的权重大小,并进行广播,节点通过一跳范围内最大权重值和最小权重值计算出网络差异性指标,然后根据网路差异性指标进行博弈;

步骤4:若网络差异性大于预设阈值,则采取均衡退避策略,网络中权重最大的节点在强化学习中采用较小的竞争窗口状态集合,其他节点在强化学习中采用较大的竞争窗口状态集合;否则采用默认退避策略,网络中所有的节点采取相同的竞争窗口状态集合;

步骤5:网络中各节点按照步骤4产生的竞争窗口状态集合进行q学习,输出最优竞争窗口区间,并依此进行通信;

步骤6:网络拓扑结构发生改变或业务负载产生较大波动后,重复执行步骤2-5。

优选的,通过查询路由表和统计流量的方式,确认节点在网络中的重要性,对于任意节点k,其通过路由表查询获取本节点的一跳邻居节点个数nk,通过rts/cts附加位信息获取一跳通信范围内邻居节点的邻居节点个数∑ini,并计算出邻居节点的平均邻居个数对于任意节点k,统计当前时间段内的业务负载大小lk,根据业务负载lk对信道传输速率rk的相对大小划分节点是否为重业务节点,以负载因子lk表示:

根据负载因子lk、邻居节点数个数nk和邻居节点的平均邻居个数计算权重:

其中,b为常数,为保证边缘节点在网络中的基本权重。

优选的,对一跳通信范围内权重最大的节点,通过rts/cts控制信令广播权重yi,获知一跳范围内最小的节点权重为计算差异指标根据g的取值确定网络节点差异性的大小;

若g值超过预设阈值,则判定网络差异性大,采用均衡退避策略:权重最大的节点采用较小的竞争窗口区间,即相同右值下更小的左值;权重最小的节点采用较大的竞争窗口区间,即相同右值下更大的左值。

优选的,以节点作为智能体,退避算法中竞争窗口的区间左值作为环境状态集合,即cwmin=2s-1,以单位时间内竞争窗口左值cwmin的取值作为动作集合以网络传输成功率和平均时延为优化目标,进行学习,其更新公式为:

q(s,a)←q(s,a)+α[r+γmaxaq(s',a)-q(s,a)]

其中,γ为折扣因子,表示过去采用的动作对当前动作的影响大小;r为奖励,表示在当前状态s下采取动作a所获得的由传输成功率和平均时延指标评价的奖励函数大小;α为收敛因子,是影响收敛速度的主要因子;s'为过去状态。

根据本发明提供的基于博弈的q学习竞争窗口调整系统,包括:

模块m1:初始化网络节点设置,包括通信协议、网络拓扑、业务到达模型和物理层标准,开始通信后网络通过广播路由信息的方式,进行自组网并建立路由表,初始状态下,节点按照默认竞争窗口大小进行退避,此后按照q学习算法输出的动作调整竞争窗口大小进行退避;

模块m2:全网节点通过路由表获知一跳邻居节点个数,并通过rts/cts信令广播至邻居节点,同时节点收到其邻居节点广播的rts/cts信息,获知并计算得出其邻居节点的平均邻居节点个数,各节点通过查询缓存区待发送的业务统计出单位时间内的业务负载大小,求出相应的负载因子;

模块m3:计算节点在网络中的权重大小,并进行广播,节点通过一跳范围内最大权重值和最小权重值计算出网络差异性指标,然后根据网路差异性指标进行博弈;

模块m4:若网络差异性大于预设阈值,则采取均衡退避策略,网络中权重最大的节点在强化学习中采用较小的竞争窗口状态集合,其他节点在强化学习中采用较大的竞争窗口状态集合;否则采用默认退避策略,网络中所有的节点采取相同的竞争窗口状态集合;

模块m5:网络中各节点按照模块m4产生的竞争窗口状态集合进行q学习,输出最优竞争窗口区间,并依此进行通信;

模块m6:网络拓扑结构发生改变或业务负载产生较大波动后,依次调用模块m2-m5。

优选的,通过查询路由表和统计流量的方式,确认节点在网络中的重要性,对于任意节点k,其通过路由表查询获取本节点的一跳邻居节点个数nk,通过rts/cts附加位信息获取一跳通信范围内邻居节点的邻居节点个数∑ini,并计算出邻居节点的平均邻居个数对于任意节点k,统计当前时间段内的业务负载大小lk,根据业务负载lk对信道传输速率rk的相对大小划分节点是否为重业务节点,以负载因子lk表示:

根据负载因子lk、邻居节点数个数nk和邻居节点的平均邻居个数计算权重:

其中,b为常数,为保证边缘节点在网络中的基本权重。

优选的,对一跳通信范围内权重最大的节点,通过rts/cts控制信令广播权重yi,获知一跳范围内最小的节点权重为计算差异指标根据g的取值确定网络节点差异性的大小;

若g值超过预设阈值,则判定网络差异性大,采用均衡退避策略:权重最大的节点采用较小的竞争窗口区间,即相同右值下更小的左值;权重最小的节点采用较大的竞争窗口区间,即相同右值下更大的左值。

优选的,以节点作为智能体,退避算法中竞争窗口的区间左值作为环境状态集合,即cwmin=2s-1,以单位时间内竞争窗口左值cwmin的取值作为动作集合以网络传输成功率和平均时延为优化目标,进行学习,其更新公式为:

q(s,a)←q(s,a)+α[r+γmaxaq(s',a)-q(s,a)]

其中,γ为折扣因子,表示过去采用的动作对当前动作的影响大小;r为奖励,表示在当前状态s下采取动作a所获得的由传输成功率和平均时延指标评价的奖励函数大小;α为收敛因子,是影响收敛速度的主要因子;s'为过去状态。

根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现上述的方法的步骤。

与现有技术相比,本发明具有如下的有益效果:

本发明使用博弈论对网络场景进行分析,确定不同节点进行q学习的状态集合,然后利用q学习算法产生决策,更新竞争窗口区间,以达到优化整体网络性能的大小。

附图说明

通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:

图1为合作博弈系统模型图;

图2为合作博弈仿真拓扑图;

图3为合作博弈的传输成功率曲线;

图4为合作博弈的平均时延曲线;

图5为合作博弈的中心节点的传输成功率曲线;

图6为合作博弈的中心节点的平均时延曲线;

图7为合作博弈的边缘节点的传输成功率曲线;

图8为合作博弈的边缘节点的平均曲线;

图9为合作博弈实施流程图。

具体实施方式

下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。

实施例:

本发明提出了在移动自组织网络中使用基于博弈的强化学习竞争窗口设计方案:网络节点通过查询路由表、流量统计的方式查询自己的邻居节点个数和负载大小,并通过rts/cts的机制广播以上信息,进一步确定网络的差异性,然后根据网络差异性的大小判断采用何种博弈策略,根据相应的博弈策略确定强化学习的状态集然后进行强化学习,最终确定竞争窗口的区间,并依此进行通信。该方法采取的是系统一边通信一边训练的方式,即系统按照当前的状态集进行强化学习和通信,当网络负载发生变化或拓扑发生变化后,网络节点重新决策确定状态集,然后按照新的状态集进行强化学习和通信,不断重复以上过程,直至迭代终止。

本发明采用q-learning算法作为强化学习的实现方法,优化对象为竞争窗口cw的左区间,即cwmin,以提高系统传输成功率和降低平均时延为目标,将通信环境建模如下:

状态s:通信中节点当前的最小竞争窗口大小,即cwmin=2s-1。最小竞争窗口大小直接决定了退避时间的下限并间接影响了退避时间的平均值大小,对信道的碰撞和数据的时延有重要影响,状态s的集合由博弈策略给出。

动作a:本发明中动作设置为调整状态s的大小,在通信系统中,网络节点需要按照现有参数通信一段时间后才能得出通信性能,因此动作的改变是周期性的,在间隔相等时间后,对状态s进行调整。

奖励r:本发明中将网络节点周期性通信得到的指标变化量作为奖励,所述指标为传输成功率pdr和平均时延delay。为了使不同量纲的指标能够有效体现变化程度,对这些指标进行归一化如下:

r=μ*pdr+(1-μ)*delay

上式中μ为权重因子,表示传输成功率变化量在奖励中的占比;pdrnow,pdrpast分别表示当前单位时间内的传输成功率和前一个单位时间内的传输成功率;delaynow,delaypast分别表示当前单位时间内的平均时延和前一个单位时间内的平均时延。

转移概率p:本发明中,所有节点独立进行q学习算法,并且选择的动作能够被通信设备准确执行,因此状态转移概率为1。

在分布式网络场景中,不同节点的业务负载有所不同,状态s的集合对网络性能的影响将被放大,若状态集合区间较大,那么可能导致不同节点强化学习效果反复震荡的情况,若状态集合区别较小,那么退避算法退化为固定参数的机制,无法适应环境的变化。本发明基于博弈论中的双头垄断模型提出一种竞争窗口设计方案,以适应差异性的网络拓扑结构。

古诺关于产业组织理论的双头垄断模型指出,市场容量有限,不同公司的产量决定了产品的价格,进一步影响了公司利润。这与通信信道的接入问题相似。如果不同节点对信道的接入概率较低,那么信道没有得到充分利用,而如果每个节点都频繁接入信道,则会导致信道冲突,降低信道利用率。

通过观察退避窗口对平均时延和传输成功率的影响可以发现,在一定业务负载下,退避窗口越大,碰撞概率越低,但平均时延也有所下降,传输成功率与平均时延呈负相关,因此使用古诺的双头垄断模型来描述两个节点的决策行为,然后引申至多节点的博弈行为,最后针对差异性较大的网络场景设计一种合作博弈模型。

博弈论建模:

令q1,q2分别表示节点1,2接入信道的能力(通过调整退避参数设置),网络中接入信道的总能力q=q1+q2,令表示网络在此退避参数下成功传输的能力,其中a表示信道最大传输能力,k为常数。设网络的信令开销为常数c,且c<a。根据古诺的假定,两个节点同时进行接入信道能力的决策。

假定节点的收益与单位时间内成功发送的数据包数成线性正相关,则在一般的两个参与者的标准式博弈中,参与者i的收益ui(si,sj)可写为:

ui(qi,qj)=qi[k(a-q-c)]…………(1)

在古诺的双头垄断模型中,一对决策组合若为纳什均衡,对每一个节点i,应为下面最大化问题的解:

在纳什均衡下,节点的接入参数必须满足:

解方程组可得:满足上面的假设。

以上均衡的物理意义为,每一个网络节点都希望成为信道的垄断者,它会选择参数qi使得自身收益πi(qi,qj)最大化,在q=q1+q2到达均衡值之前,每个节点都倾向于增大qi以增大自身的收益;在达到均衡值后,各节点可能会继续增大,但对各个节点而言,其单方面的偏离均衡解的行为将导致自身收益的下降,而在非合作的前提下,以上破坏均衡的行为不会发生。

事实上,在分布式网络中,网络节点数目可能有n个,令qi表示节点i的接入能力,且q=q1+q2+…+qn表示网络中接入信道的总能力,反需求函数p(q)=a-q,信令开销为固定值c。所有节点不清楚其他节点的决策,独立作出决策,则决策的过程为

对于第i个网络节点,其目标为最大化自己的收益,即:

对式(4)求解可得:

以上结果表明,在n个节点共享信道的非合作博弈模型中,当达到纳什均衡时,所有节点将拥有相同的接入能力,并且所有节点的接入能力之和不会超过信道承载能力上限。在分布式网络中,每个节点根据自身的一跳邻居节点数目,计算出自己的均衡策略,以此参数作为状态集合进行强化学习接入信道。

合作博弈模型:在以上博弈模型中,各节点以最大化自身的通信性能为目标,选择相应的博弈均衡策略,然而这样的均衡策略在节点负载不均衡的情况下可能导致部分节点的性能急剧恶化,因此提出一种合作博弈模型,以优化网络的整体性能为目标,对各节点的均衡策略进行分析。为了更好地分析问题,作出以下假设:

各节点具有统计自身业务负载的能力。设节点i的业务负载为li,信道传输速率为ri,根据业务负载对信道传输速率的相对大小划分节点是否为重业务节点,以负载因子li表示,定义如下:

一般情况,我们认为当li≥1时,节点即为重业务节点,其负载因子随业务负载的增加线性增加;当li<1时,节点为正常节点,其负载因子随业务负载的增加指数增加,因而在节点几乎无负载时,其负载因子很小且增长趋势很小。

节点i可以通过查询路由表,获知一跳范围内节点个数ni;节点i通过广播rts/cts控制信令,获知周围一跳节点的邻居节点个数,并计算出平均邻居节点个数节点i根据以上信息结合负载因子li得出节点在网络中的权重:

上式(7)中,b为常数,其物理意义为保证边缘节点在网络中的基本权重。

对节点i而言,其收益定义为:

ui(qi,q-i)=yiqi(a-q)…………(8)

收益函数为所有节点的收益之和,即:

∑iui(qi,q-i)=∑iyiqi(a-q)…………(9)

在准静态网络中,每个节点的退避窗口一定存在,因此qi≥p,p为退避窗口设置的最小值,且节点在网络中的权重在短时间内保持不变,即yi为常数。假设信道传输能力a不变,且则对收益函数进行放缩,求解最大值可得:

上式表明当整体性能趋于最优时,非最大权重的节点的接入信道的能力全部取最小值p,而最大权重的节点的接入信道能力根据实际情况计算可得。

本发明的系统模型如图1所示,实施流程如图9所示,下面结合具体实例对本发明的实施方式进行具体说明:

步骤1:对于任意节点k,其通过路由表查询获取本节点的一跳邻居节点个数nk,通过rts/cts控制信令的附加位信息获取一跳通信范围内邻居节点的邻居节点个数∑ini,并计算出邻居节点的平均邻居个数

步骤2:对于任意节点k,统计当前时间段内的业务负载大小lk,根据业务负载lk对信道传输速率rk的相对大小划分节点是否为重业务节点,以负载因子lk表示。

步骤3:对于任意节点k,根据负载因子lk、邻居节点数个数nk和邻居节点的平均邻居个数计算权重

步骤4:对于任意节点k,进入决策阶段,根据节点情况的不同,分别做出以下决策:

对于一跳通信范围内权重最大的节点,通过rts/cts控制信令广播权重yi(在控制信令中增加指示位,相应的增加开销),获知一跳范围内最小的节点权重为计算差异指标差异指标阈值gt=2,根据g的取值确定网络节点差异性的大小,决策如下:

(1)若网络节点差异性大,即g>gt,则对于权重最大的节点,决策如下:

网络业务负载较大,则采用默认退避策略,调整退避窗口为(15,1023);

网络业务负载较小,则采用均衡退避策略,设置强化学习中最小退避窗口的参数集为cwmin∈{7,15,31},使用强化学习后的cwmin进行决策;

权重最大的节点做出决策后,通过广播控制信息,告知其他邻居节点。

对于一跳范围内权重非最大的节点,在等待权重最大的邻居做出选择后,决策如下:

网络业务负载较大,则采用默认退避策略,调整退避窗口为(15,1023);

网络业务负载较小,则采用均衡退避策略,设置强化学习中最小退避窗口的参数集为cwmin∈{63,127,255},使用强化学习后的cwmin进行决策;

所有节点重复以上行为,直至整个网络决策完毕。

(2)若网络节点差异性小,即g≤gt,决策如下:

所有节点均采用默认退避窗口大小(15,1023);

步骤5:网络拓扑结构发生改变或业务负载产生较大波动后,重复步骤1-4。

仿真设置及性能分析:

使用ns3软件网络仿真器进行仿真,考虑节点差异性较大的网络场景如图2所示,mac协议为csma/ca,相关参数参考ieee802.11a协议标准,设置9个节点参与通信,最大通信跳数为2,中心节点的负载明显高于其他节点。网络拓扑如图2,参数设置如表1所示。

表1

在图2所示的仿真场景中,参与通信的节点有0,1,2,3,4,5,6,7,8。其中0号节点只能与1号节点通信,1号节点可以与所有节点通信,1号节点与2-8号节点互为邻居。设置的通信链路包含:0->1,1->4,2->0,3->0,4->5,5->6,6->7,7->8,所有通信链路的负载相同。其中1号节点为重业务节点其业务负载占总业务负载的3/9,属于权重较大的节点。

仿真结果分析:

本发明通过将采用博弈论的竞争窗口设计方案与默认竞争窗口设计方案进行仿真对比,选取传输成功率和平均时延作为评判指标,仿真结果,可以从整体、中心节点和边缘节点三个方面进行分析。

整体网络的性能如下图3、图4所示,在图3和图4中,网络在小于等于3mbps的情况下均衡策略采取了不同节点不同退避窗口的博弈决策,与默认退避策略相比,其平均时延有所上升,传输成功率也有所提高,但幅度都比较小。

对于中心节点(1号节点而言),其网络性能如下图5、图6所示,从图5和图6可以看出,中心节点虽然业务负载比较重,但是在采用均衡退避策略之后,由于其他节点的退避窗口的延长,因此中心节点获得了更多的接入信道的机会,因此其平均时延较之前由3.7ms下降至1.7ms,改善效果明显,而传输成功率维持在100%不变。

对边缘节点(0号节点而言),其网络性能如图7、图8所示,从图7和图8中可以看出对于边缘节点而言,在中低业务负载下,采用均衡退避策略,可以使传输成功率大幅提高约10%,而平均时延只增加2-3ms,对于时延不敏感业务可以忽略不计。

综上所述,在低业务负载下,网络采用均衡退避策略,其平均时延与默认策略相比几乎没有差异,在传输成功率上有少量提升。对于边缘节点,采用均衡策略可以有效提高其传输成功率;对于中心节点,可以有效降低其平均时延。在中高负载后,网络切换退避策略,性能与默认退避策略保持一致。基于合作博弈模型的退避算法可以在部分中低负载差异性网络中,在几乎不影响平均时延的情况下,提高整体和边缘节点的传输成功率,而对于中心节点,在维持其高传输成功率的情况下,可以进一步降低其时延。此博弈策略适用于中心节点为时延敏感型,其他节点为时延不敏感型的网络。

本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。

以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1