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


小编给大家分享一下matlab中小球不落地的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!训练1000次之后的agent效果在利用之前FrozenLake环境训练当中那种面向对象方式管理程序时发现训练后期运行速度变慢、而且是肉眼可观察到的变慢,所以采用了matlab另一种程序文件管理方式packages以+和名称命名文件夹形成一个包、在包内可以新建函数或者前面用到的class这里就直接使用函数文件、调用函数时需要写明包的名字、比如env.step()可以观察到在训练1000后运行速度也不会出现肉眼可见的变化这种方式比起面向对象模式简单游戏环境搭建要更容易上手
在传参和调用的时候采取结构体变量存储原先的对象参数、也就是原先那种一个文件夹下十几个函数文件一个main文件模式下的全局变量、比如function self = step(self,action)% 一步动作self.done = 0;self.reward=0;temp_w=self.agent(5)+5*(2-action);if temp_w
temp_w=5;endif temp_w>25 temp_w=25;endself.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)
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)
if abs(self.agent(5) – ballPos(1))
ballVel(2) = -ballVel(2); self.reward=10; else % 方块没接住球 self.reward=-1; self.done=1; endendballPos = ballPos + ballVel;self.observation=[ballPos;ballVel;temp_w];end这是agent执行一个动作的函数、把这个环境中所以变量存储在self参数中、在env.step(env,A)中传递进来、最后再返回出去对比原先的oop模式、可以看出就是再传参的时候显式的传入整个环境matlab强化学习Q-Learning与Sarsa对比
matlab强化学习Sarsa与Sarsa(lambda)对比

最后就是这个训练程序了、依然采用q-table、所以没有太多变化、将之前提出的几个优化想法都加进来% 强化学习c 香港云主机cc% 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); % 采取动作获得状态和奖励 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 endend%%clear fig A episodeclose allsave(filename);
以上是“matlab中小球不落地的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注开发云行业资讯频道!

相关推荐: Hive数据类型有哪些

这篇文章将为大家详细讲解有关Hive数据类型有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 hive 目前支持的数据类型如下: — 数值类型 Numeric TypesTINYINT (1-byte signed i…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 10/14 09:50
下一篇 10/14 09:50

相关推荐