1.一种基于群智能强化学习的区块链计算任务卸载方法,其特征在于,包括以下步骤:S1,以一个时间维度T内的多个决策点的卸载决策下所获得的累计收益为最大为目标,构建优化目标函数:其中, 表示任意的终端n的收益;
表示IoT终端的集合;
其中, 表示t时刻终端n的期望奖励;
分别表示付费、延时和能耗的权重;
分别表示终端n在时间t的付费总计、延时总计和能耗总计;
所述优化目标函数需满足以下条件:其中Dmax来表示能接受的最高延时;
表示终端n在t时间的能源大小;
Cmax表示t时间终端n可支付的费用;
S2,采用基于强化学习的麻雀搜索算法求解优化目标函数;
S2‑1,随机生成初始的卸载方案;
S2‑2,将初始的卸载方案输入多智能体的SSA进行迭代优化,每次迭代都由中心控制器分发搜索策略,智能体根据搜索策略进行位置更新,并将其observation和reward反馈给中心控制器,中心控制器会根据这些反馈信息,更新Q–table中的Q–value,以便后面更好选择搜索策略,直到迭代结束,输出最优的卸载方案;
S3,将最优的卸载决策发送给IoT区块链系统,使其能够做出收益最大化的卸载决策。
2.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法,其特征在于,t时刻终端n的期望奖励 的计算公式如下:其中,Rt表示t时刻创建区块所获得的奖励;
表示t时刻终端n的计算能力大小;
表示t时刻所有终端的算力总和;
表示对于任意的终端n,先于其他终端创建区块而获得收益的概率;其计算公式如下:其中 表示t时刻终端n创造新区块的概率;
u表示一次哈希计算所需要的CPU转数。
3.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法一种,其特征在于,终端n在t时刻的付费总计 的计算公式为:其中, 表示终端n需要给所有边缘服务商支付的计算资源总费用;
表示支付给云的计算资源费用;
其中, 表示边缘服务器m对单位计算量的收费;
M表示边缘服务器的总数量;
表示t时刻选择边缘服务器m的终端数量;
β是折扣率;
表示第k个子任务的计算任务大小;
表示第k个任务处理密度;
表示t时刻终端n的第k个子任务是否卸载到边缘服务器m进行计算;
cloud
c 是一个常数,表示云服务提供商对单位计算量的收费;
K表示子任务数量;
表示t时刻终端n的第k个子任务是否卸载到云服务器进行计算。
4.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法一种,其特征在于,终端n在t时刻进行任务的时延总计 的计算公式为:其中, Dmax表示能接受的最高延时;
表示终端n本地计算的子任务总时延;
表示终端n卸载到边缘服务器m上的子任务总时延;
表示卸载到云服务器的子任务总时延;
终端n本地计算的子任务总时延 的计算公式如下:其中K表示子任务总数;
表示t时刻第k个子任务的计算任务大小;
表示t时刻第k个子任务的任务处理密度;
表示t时刻终端n的第k个子任务是否在本地计算;
表示t时刻终端n使用的本地计算能力,且 fn,l表示终端n的最大计算能力;
终端n卸载到边缘服务器的所有子任务最大时延 的计算公式为:终端n卸载到边缘服务器m上的子任务总时延,m=1,2,…M;
其中, 表示终端n选择将任务卸载到云上的通信时延;
表示t时刻第k个子任务的计算任务大小;
表示t时刻终端n的第k个子任务是否卸载到云服务器进行计算;
终端n卸载到边缘服务器m上的子任务计算时延;
表示t时刻终端n租借云服务器的计算资源;
α是由于租借边缘服务器m的计算资源的终端过多而引起的延迟参数;
表示t时刻终端n租借边缘服务器m的计算资源;
终端n卸载到云服务器的所有子任务总时延 的计算公式为:表示终端n将任务卸载到云上的计算时延;
表示终端n将任务卸载到云上的通信时延;
其中 表示t时刻第k个子任务的计算任务大小;
表示t时刻终端n的第k个子任务是否卸载到云服务器进行计算;
表示t时刻终端n租借云服务器的计算资源。
5.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法一种,其特征在于,t时刻终端n进行计算任务的能耗总计 的计算公式为:其中,kn是与硬件结构相关的常数;
为fn,l的平方,fn,l表示终端n的最大计算能力。
6.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法一种,其特征在于,所述搜索策略包括策略1、策略2、策略3和/或策略4:经过策略1更新后的麻雀位置为:其中, 表示第ep+1次迭代第i只麻雀的位置;
i表示第i只麻雀;
ep代表当前迭代次数;
itermax表示最大迭代次数;
r1、r2都是取值为(0,1)的随机数;
ST为取值为(0.5,1)的随机数;
Q为服从标准正态分布的随机数;
L表示一个1×D的矩阵,其元素全为1;
经过策略2更新后的麻雀位置为:其中,Xb表示当前最优位置, 表示第ep+1次迭代的最优位置;
Xw表示当前最差位置, 表示第ep次迭代时的最差位置;
A表示一个D×1的矩阵,其中每一个元素随机赋值为1或‑1;
Ns表示麻雀种群数量;
经过策略3更新后的麻雀位置为:其中, 表示第ep+1次迭代的最优位置;
Q为服从标准正态分布的随机数;
UB和LB分别为位置空间X取值上限和下限;
经过策略4更新后的麻雀位置为:
7.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法一种,其特征在于,所述中心控制器分发搜索策略是采用轮盘赌选择法进行策略选择的,包括:每一个策略被选中的概率计算如下:其中pa表示策略a被选中的概率;
Q–value(a)表示策略a的Q值大小;
Q–value(j)表示策略j的Q值大小;
A表示动作取值空间;
随后,计算出每个策略的累积概率,计算公式如下:qa=∑j∈Apj (41)其中,pj表示策略j被选中的概率;
A表示动作取值空间;
最后,在[0,1]区间内产生一个服从均匀分布的随机数r,若r
8.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法一种,其特征在于,所述初始的卸载方案由行为克隆(BC)根据当前的环境变量获得,BC由单层全连接神经网络组成,其中输入层神经元个数为环境变量个数,输出层神经元个数为解的维度,隐藏层被设置为128个神经元;并且,BC采用Relu作为激活函数,以及采用Adam作为优化器。
9.根据权利要求1所述的一种基于群智能强化学习的区块链计算任务卸载方法一种,其特征在于,所述中心控制器会根据这些反馈信息,更新Q–table中的Q–value包括:计算observation,其公式为:计算reward,其公式为:中心控制器为智能体分配了策略a,则Q–table的更新公式如下所示:其中 表示第ep次迭代时,第i个智能体对于策略a的Q值大小;
a表示某个策略。