[0005] 本发明是针对传统Q学习算法中存在的收敛速度慢的问题,提供一种基于案例推理与合作Q学习算法,实现分布式认知无线电网络的信道和功率分配。
[0006] 本发明采用的算法具体包括以下步骤:
[0007] 步骤1、随机初始化若干案例,给定学习速率α、折扣因子γ、初始温度参数T0和总迭代次数I,利用传统Q学习算法进行学习,构建成案例库;
[0008] 步骤2、当前新案例和案例库中历史案例进行匹配,检索出最相似案例的Q值,对该Q值归一化后作为迭代的初始Q值;
[0009] 步骤3、认知用户感知当前状态st,根据动作策略选择动作at,执行后得到奖赏值rt和下一状态st+1;
[0010] 步骤4、比较当前时刻所有认知用户的奖赏值总和 和前一次迭代时刻的总奖赏值 的大小,若 则各Agent进行独立学习;若 则Agent间进行合作学习;
[0011] 步骤5、根据不同的学习方式进行Q值更新,并更新温度参数
[0012] 步骤6、重复步骤3~5,直到达到总迭代次数。
[0013] 步骤1具体包括如下内容:
[0014] 案例库构建:随机初始化若干案例Ck,进行传统的Q学习,得到最终状态‑动作函数Q值和认知系统的能量效率;将每个案例的环境因子保存为特征向量Vk,可表示为:
[0015]
[0016] 其中,n表示案例的特征个数;将最终Q值保存为解决方案Yk,将认知系统的能量效率保存为案例效用值Ek,从而构建成案例库。
[0017] 步骤2具体如下:
[0018] 假设新案例的特征向量为 采用欧式距离作为衡量案例间的相似度函数,新案例与历史案例Ck的相似函数值为:
[0019]
[0020] 其中,ξl为第l个特征的权值,∑ξl=1;从而可得匹配案例
[0021]
[0022] 其中,为案例库中历史案例总个数。
[0023] 步骤3具体如下:
[0024] 4‑1.动作选择策略:利用Boltzmann机制计算动作的选择概率然后采用轮盘赌算法进行动作的选择;其中, T为温度参数,当T
较大时指数较小,则得到的各动作概率大致相同;随着T值的减少,则概率P的取值对Q值的依赖增大,即Q值大的动作概率相对越大;
[0025] 4‑2.奖赏函数:资源分配算法旨在保证主用户正常通信的前提下,追求认知系统能量效率的最大化;因此,系统中若有用户的通信产生冲突,奖赏值为“‑3”;若认知用户的信干噪比SINRi小于阈值,则奖赏值为“0”,其中,n0为高斯白噪声功率;pi为认知用户选择的功率;hji(m)为在信道m上,认知用户j到认知用户i的信道增益; 为主用户功率;gki(m)为在信道 m上,主用户k到认知用户i的信道增益;若认知用户能正常通信,则奖赏值为“能量效率Φi”, W为信道带
宽。
[0026] 步骤4和步骤5具体如下:
[0027] 合作Q学习算法考虑多Agent系统的整体收益,若 则Agent间进行合作学习,即将自身Q值与其他具有更大奖赏值的 Agent Q值的加权和作为当前学习的Q更新值,其计算式如下所示,
[0028]
[0029] 其中,ωij为折扣权值,表明其他Agent的经验对当前Agent学习的影响程度,其计算式如下所示,
[0030]
[0031] 其中,δ为较接近1的常数,rj为Agentj当前时刻的奖赏值。
[0032] 本发明与现有技术相比,有以下明显优点:
[0033] (1)利用案例推理技术通过匹配历史案例,得到最相似案例的 Q值来初始化新问题的Q值,使得合作Q学习在迭代初期就靠近最优解,加快寻优的速度。
[0034] (2)针对多Agent独立Q学习不能实现信息共享的缺点,引入合作算法,Agent通过融合表现更好的Agent的Q值来借鉴学习经验,以加快自身的学习。