首页 > 编程语言 >在很多游戏问题中规划算法表现的要比强化学习算法还好,那么为什么还要研究RL

在很多游戏问题中规划算法表现的要比强化学习算法还好,那么为什么还要研究RL

时间:2024-11-09 13:29:49浏览次数:1  
标签:游戏 求解 启发式 算法 贪吃蛇 还好 RL

根据前段时间分享的对一些游戏,如《俄罗斯方块》、《贪吃蛇》、《2048》游戏上来看,可以知道一个精调好的规划算法(启发式算法),在人为给定的一些预设条件下运行,其最终的算法性能会比一般的RL算法实现的效果要好,但是为什么我们还要研究RL算法呢,那么是不是说明RL算法这种AI算法就没有太多的意义来用来打游戏了呢?

本篇是解惑blog。

其实,通过之前的blogs的分析我们可以发现,使用启发式算法确实在形式上更加的简单,并且不需要像AI算法那样花费长时间进行算法模型的训练,而且在算法的最终表现上甚至要优于RL算法,但是我们也可以清楚的发现在这些启发式的规划算法中我们对于这些条件的设定其实都是所谓的来自于专家角度的,也就是说比如规划法解《俄罗斯方块》尤其,如何判定哪个action之后的next observation更好,这其中的cost函数所包括的各个因素(积木块堆积的高度、凹凸度,等等)都是通过专家给定的,并且这些因素的权重也是所谓的专家优化和调整过的,可以看到在启发式算法中最重要的就是专家经验,而且这个专家经验是根据具体游戏的不同而不同的,就比如在《俄罗斯方块》、《贪吃蛇》、《2048》游戏上,就需要三个完全不相关的不同的专家经验来给出启发式条件设定的。总的来说,启发式算法的求解效果是建立在有很好专家经验的基础上的,虽然启发式算法的不需要训练和求解效果极好的表现都是AI算法无法比拟的,但是这种解法并不通用,也就是说对于10000个游戏就需要10000个启发式算法和启发式条件,而这就意味着需要10000个专家经验来对启发式条件微调,但是AI算法是通用的,就比如RL中的DQN算法解决atari 2600游戏一样,我们可以在小幅度调整甚至可以不需要调整的情况下直接使用DQN算法来对这些游戏进行求解。而且要知道,我们使用AI算法求解学术中的问题并不是以此为终点的,而是要在此基础上可以泛化到或者说推广到其他的实际问题中的,而启发式算法由于其解决问题的这种特定性是不具备泛化性和向外推广性的,因此我们为了追求更加通用的求解方法所以才会需要研究AI算法。

使用启发式算法是同样可以求解atari游戏的,比如我们可以根据不同的游戏预先设定启发规则,比如设置当敌人到达某位置后我们发射子弹等等,但是这样并不能得到通用型的智能算法;再比如在cartpole游戏中,在小车平衡杆问题下,我们使用物理公式进行数学解析式下的建模求解就可以获得极好的解法,这是远比RL算法要有更好表现的,但是这种解法是需要针对特定问题进行物理建模再转成数学解析的,这是无法通用推广并泛化到其他问题中的,而我们使用DQN或A3C或PPO算法来解决cart-pole问题同样也可以应用到其他问题中的。



使用启发式算法求解《贪吃蛇》游戏的视频:

I Created a PERFECT SNAKE A.I.

汉密尔顿法求解《贪吃蛇》简直封神了,可以说这个表现是AI算法难以匹敌的,不过这个解法也就只能用来解决《贪吃蛇》游戏了。

使用强化学习算法求解《贪吃蛇》游戏的视频:

A.I. Learns to play Snake using Deep Q Learning

可以看到,使用启发式算法求解《贪吃蛇》需要专家不断调整算法的设计和启发规则,其主要耗费的是人脑,而强化学习算法求解《贪吃蛇》主要耗费的是计算机的计算资源。


强化学习算法library库:(集成库)

https://github.com/Denys88/rl_games

https://github.com/Domattee/gymTouch

个人github博客地址:
https://devilmaycry812839668.github.io/

标签:游戏,求解,启发式,算法,贪吃蛇,还好,RL
From: https://www.cnblogs.com/xyz/p/18536686

相关文章

  • Vue3 - 详细实现将多个文件批量导出为ZIP压缩包格式并下载功能,vue3将文件批量下载打包
    前言Vue2版本,请访问这篇文章。在vue3|nuxt3项目开发中,详解实现把多个文件组合成一个ZIP压缩包格式下载到用户本地,将文件批量下载打包成zip格式并自定义压缩包命名名称,vue3批量下载文件并导出为压缩包的功能,如何将后端返回的二进制文件流打包成zip格式,支持任意文件......
  • The World is a Theatre
    TA.TheWorldisaTheatreTherearenboysandmgirlsattendingatheatreclub.Tosetaplay“TheBigBangTheory”,theyneedtochooseagroupcontainingexactlytactorscontainingnolessthan4boysandnolessthanonegirl.Howmanywaysare......
  • C++算法练习-day38——106.从中序和后序遍历序列构造二叉树
    题目来源:.-力扣(LeetCode)题目思路分析题目要求根据一棵二叉树的中序遍历(inorder)和后序遍历(postorder)结果重建这棵二叉树。中序遍历的特点是左子树->根节点->右子树,而后序遍历的特点是左子树->右子树->根节点。利用这两个遍历的特点,我们可以递归地重建整棵树。后序......
  • Hyperledger fabrics实战项目(区块链溯源)
    Hyperledgerfabrics是什么Hyperledgerfabric是一个全新解决问题的方式,是基于区块链的企业级分布式账本,通过智能合约来解决多个组织间的信任问题.Hyperledgerfabrics特点模块化:组件可定制,可插拔设计,隔离功能可扩展:支持多个共识机制,高性能处理,分区和多通道超安......
  • 基于springboot+vue的协同过滤算法的音乐推荐系统设计与实现(源码+lw+部署文档+讲解等
    课题摘要基于springboot+vue的协同过滤算法的音乐推荐系统是一款为音乐爱好者打造的智能推荐平台,同时具备源码、lw、部署文档和讲解。系统中的音乐资源极为丰富,涵盖了各种风格,如流行、摇滚、古典、民谣、爵士、电子等。每首歌曲都有详细的信息,包括歌手、专辑、发行时......
  • RLGF无人机深度强化学习任务的通用训练框架(SAC, DQN, DDQN, PPO, Dueling DQN, DDPG)
    RLGF是一个通用的训练框架,适用于无人机的深度强化学习任务。该框架集成了多种主流的深度强化学习算法,包括SAC(SoftActor-Critic)、DQN(DeepQ-Network)、DDQN(DoubleDeepQ-Network)、PPO(ProximalPolicyOptimization)、DuelingDQN(决斗深度Q网络)以及DDPG(DeepDeterministicPo......
  • (60)使用LMS算法和NLMS(归一化LMS)算法进行降噪
    文章目录前言一、关于自适应降噪仿真的几点说明1.降噪2.参考信号与噪声信号3.LMS算法的步长4.自适应降噪原理5.维纳滤波器系数二、LMS与NLMS自适应降噪的仿真三、仿真结果前言本文介绍了LMS自适应滤波器和NLMS自适应滤波器在降噪方面的应用,阐明期望信号、参考信......
  • JavaCV 图像边缘检测 之 Canny 算法
    ......
  • 算法专题:字符串
    目录1.最长公共前缀1.1算法原理1.2算法代码2.最长回文子串2.1算法原理2.2算法代码3.二进制求和3.1算法原理 3.2算法代码4.字符串相乘4.1算法原理 4.2算法代码1.最长公共前缀.-力扣(LeetCode)1.1算法原理有以下两种策略:两两进行比较统一......
  • 深入解析 Transformers 框架(四):Qwen2.5/GPT 分词流程与 BPE 分词算法技术细节详解
    前面我们已经通过三篇文章,详细介绍了Qwen2.5大语言模型在Transformers框架中的技术细节,包括包和对象加载、模型初始化和分词器技术细节:深入解析Transformers框架(一):包和对象加载中的设计巧思与实用技巧深入解析Transformers框架(二):AutoModel初始化及Qwen2.5模型加载全......