• 大小: 2.35KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


Q学习的matlab代码。自己写的并且配了详细注释,很好理解。

资源截图

代码片段和文件信息

% Q学习例程
addpath(‘modules‘);
%% %%%%%%%%%%%%%%%%%%%%%%%%% Q学习初始设置 %%%%%%%%%%%%%%%%%%%%%%%%%
% 设置学习率参数γ
    gamma=0.80;
% 设置奖励矩阵R
    R=[-inf-inf-inf-inf   0 -inf;
       -inf-inf-inf   0-inf 100;
       -inf-inf-inf   0-inf -inf;
       -inf   0   0-inf   0 -inf;
          0-inf-inf   0-inf 100;
       -inf   0-inf-inf   0 100];
% 初始化知识矩阵Q
    Q=zeros(size(R));
% 设置目标
    Target=6;
% 收敛判断符
    count=0;
    Q_last=ones(size(R))*inf;
%% %%%%%%%%%%%%%%%%%%%%%%%%%%% 强化学习 %%%%%%%%%%%%%%%%%%%%%%%%%%%
% 定义最大学习次数
episode_max=50000;
% 迭代学习
    for episode=0:episode_max
    %% 选择随机初始状态
    % 读取状态总数
        state_num=size(R1);
    % 选择随机初始状态
        state=randperm(state_num1);
    %% 随机搜索直到到达目标
        while 1
        %% 根据当前状态随机选择一个可执行的行为
        % 找出可执行的行为
            choices=find( R(state:)>=0 );
        % 随机选择一个可执行行为
            action=act_rand_select( choices );
        %% 根据下一个状态更新Q表
        % 根据所选行为到达下一个状态
            ne

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2618  2018-03-17 18:14  Q_learning\Q_learning.m
     目录           0  2018-03-16 16:52  Q_learning\modules\
     文件         369  2018-03-16 16:00  Q_learning\modules\act_rand_select.m
     文件         504  2018-03-16 17:20  Q_learning\modules\conver_check.m
     目录           0  2018-03-16 22:52  Q_learning\

评论

共有 条评论