当前位置: 首页 > news >正文

强化学习入门:Gym实现CartPole随机智能体

前言

 最近想开一个关于强化学习专栏,因为DeepSeek-R1很火,但本人对于LLM连门都没入。因此,只是记录一些类似的读书笔记,内容不深,大多数只是一些概念的东西,数学公式也不会太多,还望读者多多指教。本次阅读书籍为:马克西姆的《深度强化学习实践》
 限于篇幅原因,请读者首先看下历史文章:
 马尔科夫过程
 马尔科夫奖励过程
 马尔科夫奖励过程二
 RL框架Gym简介
 本篇继续介绍:openai的RL开源框架Gym。在介绍之前,先来玩一个经典游戏。

1、CartPole游戏介绍

在这里插入图片描述
 如下图所示:CartPole游戏就是平衡木游戏:游戏中,智能体需要控制左或者右动作来维持平衡,当然,这个环境的观察是4个浮点数,包含了木棒质点的x坐标、速度、与平台的角度以及角速度的信息。
 由于目前还没有学习到RL算法,因此,本文首先借助Gym实现一个随机智能体。

2、代码

import gymif __name__ == "__main__":env = gym.make("CartPole-v0")total_reward = 0.0total_steps = 0obs = env.reset()while True:action = env.action_space.sample()obs, reward, done, _ = env.step(action)total_reward += rewardtotal_steps += 1if done:breakprint("Episode done in %d steps, total reward %.2f" % (total_steps, total_reward))

 这个代码是一个随机的智能体,即没有任何的学习策略,每次都是随机选择向左或者向右移动。同时每次调用env.step会返回当前的观察、奖励以及游戏是否结束(木棍倒了)。之后在累加奖励和步长。如果游戏结束,则跳出循环。
 可以看出,这个智能体是没有任务策略,而且也没有用到观察、以及奖励作为反馈。如果你运行代码:大概得到以下结果:
在这里插入图片描述
 从上述结果可以看出:当执行到13步时候游戏结束,且最终返回的总奖励为13。当然这个结果很差,但这只是个随机智能体版本,后续会借助RL算法来不断优化性能,使其坚持的步骤更多。

总结

 本篇只是用gym实现了一个简单的CartPole智能体,无须担心,后面博客会介绍用其余RL算法来逐渐改进这个智能体。

相关文章:

  • 基于正点原子阿波罗F429开发板的LWIP应用(5)——TFTP在线升级功能
  • 算法题(162):火烧赤壁
  • 看板中“进行中”任务过多如何优化
  • 【数据结构】树形结构--二叉树(二)
  • 梯度下降:机器学习优化的核心算法
  • 互联网大厂Java求职面试:AI与大模型技术在企业知识库中的深度应用
  • Oracle-高频业务表的性能检查
  • 【技术笔记】AI Agent 项目 SUNA 部署:MSYS2 环境中 Python 版本从 3.12 降级至 3.11 的实操指南
  • React 第五十三节 Router中 useRouteError 的使用详解和案例分析
  • 70年使用权的IntelliJ IDEA Ultimate安装教程
  • [论文阅读] 人工智能+项目管理 | 当 PMBOK 遇见 AI:传统项目管理框架的破局之路
  • Git 安装全攻略Linux、macOS、Windows 与源码编译
  • 电子行业AI赋能软件开发经典案例——某金融软件公司
  • Authpf(OpenBSD)认证防火墙到ssh连接到SSH端口转发技术栈 与渗透网络安全的关联 (RED Team Technique )
  • 总结HTML中的文本标签
  • 智能标志桩图像监测装置如何守护地下电缆安全
  • Unity 单例模式完全指南
  • SQL Server 2025 预览版新功能
  • 大疆相关知识收集
  • 命名管道实现本地通信
  • 把网站内的文本保存到txt怎么做/超级外链工具有用吗
  • 炫酷的移动端网站/免费推广自己的网站
  • 江西网站建设找哪家/百度网址安全中心怎么关闭
  • 免费的国际网站建设/泉州百度广告
  • 做网站要好多钱/app拉新接单平台
  • html界面设计工具/seo优化包括