使用Q-learning算法让Chrome小恐龙自动学习躲避障碍物(示例)

简介: 原理很简单,就是给定小恐龙障碍物类型、障碍物距离、游戏的相对速度作为状态,小恐龙有跳跃,低头,不做任何动作这三种动作可选,小恐龙存活则奖励碰到障碍物则惩罚。
img_8473bc5b72301d392888375a006e0b88.png

原理很简单,就是给定小恐龙障碍物类型障碍物距离游戏的相对速度作为状态,小恐龙有跳跃,低头,不做任何动作这三种动作可选,小恐龙存活则奖励碰到障碍物则惩罚
Q-learning算法详细说明可参考知乎问题:如何用简单例子讲解 Q - learning 的具体过程?
在示例中我默认让小恐龙不做任何动作让其慢慢纠正错误,不然你们会看到:

img_413da0b79c973b5c06b619cfdbeabd92.gif

img_cca30f5f87cf1accbda3c21ef114f3a0.gif

img_1a2ee6fff0a74fff272c056bbab85c1f.gif

不停乱跳或是低头有点鬼畜

按空格开始游戏

相关文章
|
2月前
|
机器学习/深度学习 数据采集 搜索推荐
Paper Digest | 突破个性化推荐数据稀疏性:长尾增强的图对比学习算法研究
本文提出了一种新的长尾增强的图对比学习方法(LAGCL),该方法促使模型同时兼顾头部节点与尾部节点之间的知识,并通过长尾增强技术来使模型产出更均匀更准确的节点表征,从而改进基于 GNN 的推荐任务。
|
7天前
|
机器学习/深度学习 算法 前端开发
Scikit-learn进阶:探索集成学习算法
【4月更文挑战第17天】本文介绍了Scikit-learn中的集成学习算法,包括Bagging(如RandomForest)、Boosting(AdaBoost、GradientBoosting)和Stacking。通过结合多个学习器,集成学习能提高模型性能,减少偏差和方差。文中展示了如何使用Scikit-learn实现这些算法,并提供示例代码,帮助读者理解和应用集成学习提升模型预测准确性。
|
7天前
|
机器学习/深度学习 算法 Python
使用Python实现集成学习算法:Bagging与Boosting
使用Python实现集成学习算法:Bagging与Boosting
18 0
|
14天前
|
算法
【算法学习--字符串】(不含KMP算法)
【算法学习--字符串】(不含KMP算法)
|
1月前
|
Rust Dart 算法
55.3k star!开源算法教程,附带动画图解,学习算法不再苦恼!
55.3k star!开源算法教程,附带动画图解,学习算法不再苦恼!
|
1月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
Opencv(C++)学习系列---Laplacian拉普拉斯边缘检测算法
|
1月前
|
算法 C++ 计算机视觉
Opencv(C++)学习系列---Canny边缘检测算法
Opencv(C++)学习系列---Canny边缘检测算法
|
1月前
|
算法 Java 索引
【数据结构与算法】4、双向链表(学习 jdk 的 LinkedList 部分源码)
【数据结构与算法】4、双向链表(学习 jdk 的 LinkedList 部分源码)
31 0
|
1月前
|
存储 算法 Java
【数据结构与算法】1、学习动态数组数据结构(基本模拟实现 Java 的 ArrayList 实现增删改查)
【数据结构与算法】1、学习动态数组数据结构(基本模拟实现 Java 的 ArrayList 实现增删改查)
45 0
|
2月前
|
存储 缓存 网络协议
计算机网络:思科实验【3-集线器与交换机的区别、交换机的自学习算法】
计算机网络:思科实验【3-集线器与交换机的区别、交换机的自学习算法】

热门文章

最新文章