真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

matlab中小球不落地的示例分析

小編給大家分享一下matlab中小球不落地的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

為企業(yè)提供網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、全網(wǎng)營銷推廣、競價(jià)托管、品牌運(yùn)營等營銷獲客服務(wù)。成都創(chuàng)新互聯(lián)擁有網(wǎng)絡(luò)營銷運(yùn)營團(tuán)隊(duì),以豐富的互聯(lián)網(wǎng)營銷經(jīng)驗(yàn)助力企業(yè)精準(zhǔn)獲客,真正落地解決中小企業(yè)營銷獲客難題,做到“讓獲客更簡單”。自創(chuàng)立至今,成功用技術(shù)實(shí)力解決了企業(yè)“網(wǎng)站建設(shè)、網(wǎng)絡(luò)品牌塑造、網(wǎng)絡(luò)營銷”三大難題,同時(shí)降低了營銷成本,提高了有效客戶轉(zhuǎn)化率,獲得了眾多企業(yè)客戶的高度認(rèn)可!

matlab中小球不落地的示例分析      

訓(xùn)練1000次之后的agent效果

在利用之前FrozenLake環(huán)境訓(xùn)練當(dāng)中那種面向?qū)ο蠓绞焦芾沓绦驎r(shí)發(fā)現(xiàn)訓(xùn)練后期運(yùn)行速度變慢、而且是肉眼可觀察到的變慢,所以采用了matlab另一種程序文件管理方式packages

matlab中小球不落地的示例分析      

以+和名稱命名文件夾形成一個(gè)包、在包內(nèi)可以新建函數(shù)或者前面用到的class

這里就直接使用函數(shù)文件、調(diào)用函數(shù)時(shí)需要寫明包的名字、比如env.step()

可以觀察到在訓(xùn)練1000后運(yùn)行速度也不會出現(xiàn)肉眼可見的變化

這種方式比起面向?qū)ο竽J胶唵斡螒颦h(huán)境搭建要更容易上手

在傳參和調(diào)用的時(shí)候采取結(jié)構(gòu)體變量存儲原先的對象參數(shù)、也就是原先那種一個(gè)文件夾下十幾個(gè)函數(shù)文件一個(gè)main文件模式下的全局變量、比如

function self = step(self,action)

% 一步動作

self.done = 0;

self.reward=0;

temp_w=self.agent(5)+5*(2-action);

if temp_w<5

    temp_w=5;

end

if temp_w>25

    temp_w=25;

end

self.reward=0;

ballPos  = self.observation(1:2);

ballVel  = self.observation(3:4);

if ballPos(1) > self.weight

    ballPos(1) = self.weight;

    ballVel(1) = -ballVel(1);                         % 邊界

elseif ballPos(1) < 0.1

    ballPos(1) = 0.1;

    ballVel(1) = -ballVel(1);

elseif ballPos(2) >= self.height

    ballPos(2) = self.height;

    ballVel(2) = -ballVel(2);                         % 頂部墻

    self.score=self.score+1;

elseif ballPos(2) < 1

    if abs(self.agent(5) - ballPos(1)) <= 5                 % 底部方塊

        ballVel(2) = -ballVel(2);

        self.reward=10;

    else                                              % 方塊沒接住球

        self.reward=-1;

        self.done=1;

    end

end

ballPos = ballPos + ballVel;

self.observation=[ballPos;ballVel;temp_w];

end

這是agent執(zhí)行一個(gè)動作的函數(shù)、把這個(gè)環(huán)境中所以變量存儲在self參數(shù)中、在env.step(env,A)中傳遞進(jìn)來、最后再返回出去

對比原先的oop模式、可以看出就是再傳參的時(shí)候顯式的傳入整個(gè)環(huán)境

matlab強(qiáng)化學(xué)習(xí)Q-Learning與Sarsa對比

matlab強(qiáng)化學(xué)習(xí)Sarsa與Sarsa(lambda)對比

最后就是這個(gè)訓(xùn)練程序了、依然采用q-table、所以沒有太多變化、將之前提出的幾個(gè)優(yōu)化想法都加進(jìn)來

% 強(qiáng)化學(xué)習(xí)

ccc

% rng('default');

env0=env.single_pong(30,30,0.001);

single_pong_rl=rl.rl_q_table(env0.actions,0.9,0.2,0.9);

fig.fig=figure(1);

fig.base=0;

%%

for episode =1:env0.max_episodes*1

    fig.show = ~mod(episode,1);

    env0=env.reset(env0);

    fig=env.render(env0,fig);

    while 1

        A = rl.choose_action(single_pong_rl,env0.agent);

        env0 = env.step(env0,A);  % 采取動作獲得狀態(tài)和獎勵

        single_pong_rl=rl.learn(single_pong_rl,env0, A);  % 更新

        rl.dump(single_pong_rl,fig.show);

        env0.agent=env0.observation;

        fig=env.render(env0,fig);

        if env0.done

            break

        end

    end

end

%%

clear fig A episode

close all

save(filename);

以上是“matlab中小球不落地的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


網(wǎng)站名稱:matlab中小球不落地的示例分析
網(wǎng)址分享:http://weahome.cn/article/jhcegg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部