✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。

🍎个人主页:Matlab科研工作室

🍊个人信条:格物致知。

⛄ 内容介绍

【多臂赌机】基于时变egreedy策略结合强化学习求解多臂赌机问题附matlab代码

⛄ 部分代码

%I thought what I'd do was I'd pretend I was one of those deaf-mutes, or should I?

clc

close all

clear all;

epsilon=1;  %epsilon概率进行探索(exploration),1-epsilon概率进行利用(exploitation)



T=10000;

%决策机内存初始化

Avegain=zeros(1,5);  %

Testtime=zeros(1,5);

Reward=zeros(1,T);


for i=1:T

    if rand(1)<=epsilon/sqrt(i) %探索

        num=unidrnd(5);  %随机生成最大为5的正整数,随机选择摇臂

    else   %利用

        a=findmax(Avegain(1,:));

        num=a(2);%选择平均奖赏最大的摇臂

    end

    r=Slotmachine5(num);

    if i==1                                            %更新累计奖赏

        Reward(1,i)=r;

    else

        Reward(1,i)=(Reward(1,i-1)*(i-1)+r)/i;

    end

    Avegain(1,num)=(Avegain(1,num)*Testtime(1,num)+r)/(Testtime(1,num)+1); %更新所选臂的平均奖赏

    Testtime(1,num)=Testtime(1,num)+1;                 %更新所选臂的实验次数

end


result.Testtime=Testtime;

result.Avegain=Avegain;

result.Reward=Reward;

plot(1:10000,Reward);

xlabel('测试次数');

ylabel('平均累计奖赏');

legend('ε=1/√t');

%legend('ε=1/t');

⛄ 运行结果

【多臂赌机】基于时变egreedy策略结合强化学习求解多臂赌机问题附matlab代码_Test

⛄ 参考文献

[1] 陈特. 基于多臂赌博机在线学习的无线缓存策略研究[D]. 电子科技大学.

[2] 陈特, 董彬虹, 陈延涛,等. 一种基于多目标多臂赌博机在线学习的无线缓存方法:, CN109982389A[P]. 2019.

[3] 黄科举, 杨俊安, 周继航,等. 基于多臂赌博机模型的IEEE 802.11 MAC协议认知干扰技术[J]. 通信对抗, 2017, 36(2):7.

[4] 林宝玲, 贾日恒, 林飞龙,等. 基于预算时变的多臂赌博机模型[J]. 计算机科学, 2022, 49(S02):6.

⛳️ 代码获取关注我

❤️部分理论引用网络文献,若有侵权联系博主删除
❤️ 关注我领取海量matlab电子书和数学建模资料