摘要:
杂谈:为啥L4自动驾驶独角兽全都gg了 不是本人,觉得是一个很直白且锐气的分享,听到了很多不一样的东西,听完整个人都爽了。 一句话说寄: 在planning上面临重大问题 自动驾驶的两个赛道: robotaxi:替代网约车司机(城市环境为主,复杂多变,极难处理)。 robotruck:替代卡车司机( 阅读全文
摘要:
demo展示 这是一个剪刀石头布预测模型,会根据最近20局的历史数据训练模型,神经网络输入为最近2局的历史数据。 如何拥有较为平滑的移植体验? 保持两种语言,和两个框架的API文档处于打开状态,并随时查阅:Python,JavaScript;Pytorch,TensorFlow JS(用浏览器 F3 阅读全文
摘要:
开始之前 先考虑几个问题: Q1:如何展开无雷区? Q2:如何计算格子的提示数? Q3:如何表示扫雷游戏的状态? Q4:如何设置环境中的奖励? A1:可以使用递归函数,或是堆栈。 A2:一般的做法是,需要打开某格子时,再去统计周围的雷数。如果有方便的二维卷积函数可以调用,这会是个更简洁的方法: $$ 阅读全文
摘要:
一个骰子,一个跑道,停在某个格子上有奖励。包含这种玩法的游戏不要太多,拿“大富翁”作个图示: 在玩的时候时常在问自己: 我停在前方第n格的概率是多少? 我停在前方第n格的期望掷骰子数是多少? 感性上,我停在前方第100格的概率,应该和我停在前方第1000格的概率是一样的,那么这个概率是多少? 不妨就 阅读全文
摘要:
回老家跟侄子玩,因为不想惯着他玩手机的臭毛病,就跟他玩一些纸笔游戏,比如这个: 从起点出发抵达终点,如何在不走重复格子的前提下,走过尽可能多的格子,并吃到尽可能多的金币?其中,黑色格子是墙壁不能走。 感觉还挺有意思的,不妨就来写一个“一笔画”的求解器,找出所有最优的轨迹。 思路: 可以先输出所有从起 阅读全文
摘要:
如果想用强化学习去实现扫雷、2048这种带有数字提示信息的游戏,自然是希望自定义 gym 环境时能把字符显示出来。上网查了很久,没有找到gym自带的图形工具Viewer可以显示字符串的信息,反而是通过pyglet: import pyglet from gym.envs.classic_contro 阅读全文
摘要:
在 强化学习实战 | 表格型Q-Learning玩井字棋(三)优化,优化 中,我们经过优化和训练,得到了一个还不错的Q表格,这一节我们将用pygame实现一个有人机对战,机机对战和作弊功能的井字棋游戏。至于胜率统计这个功能,其实没有必要了——因为Q表格AI内战永远是平局。基本的pygame用法可以学 阅读全文
摘要:
在 强化学习实战 | 表格型Q-Learning玩井字棋(二)开始训练!中,我们让agent“简陋地”训练了起来,经过了耗费时间的10万局游戏过后,却效果平平,尤其是初始状态的数值表现和预期相差不小。我想主要原因就是没有采用等价局面同步更新的方法,导致数据利用率较低。等价局面有7个,分别是:旋转90 阅读全文
摘要:
在 强化学习实战 | 表格型Q-Learning玩井字棋(一)搭个框架 中,我们构建了以Game() 和 Agent() 类为基础的框架,本篇我们要让agent不断对弈,维护Q表格,提升棋力。那么我们先来盘算一下这几个问题: Q1:作为陪练的一方,策略上有什么要求吗? A1:有,出棋所导致的状态要完 阅读全文
摘要:
在 强化学习实战 | 自定义Gym环境之井子棋 中,我们构建了一个井字棋环境,并进行了测试。接下来我们可以使用各种强化学习方法训练agent出棋,其中比较简单的是Q学习,Q即Q(S, a),是状态动作价值,表示在状态s下执行动作a的未来收益的总和。Q学习的算法如下: 可以看到,当agent在状态S, 阅读全文