你的“跳一跳”榜上有名了吗?聊聊“跳一跳”开挂方法

最近“跳一跳”在朋友圈风靡一时,吃饭的时候,人家跟你聊跳了多少步,你要没上200都不好意思跟人家打招呼。作为AI研发的机构,我们更关心怎么样才能自动让AI走的更远的问题。网上也有不少解决问题的版本,我们也做了一下归纳,大概有这样的一些套路:

Auto-Jump算法“跳一跳”

1、手机环境搭建:adb手机连接输出控制、手机调试模式

2、开发环境搭建:Python、opencv

3、使用算法

a、opencv 基于图像处理识别棋子的定位、跳台之间的距离,测量距离跟时间的线性关系。

b、在上一步的基础上将opencv的改进加入神经网络、卷积神经网络。

C、将opencv算法收集的3000个样本数据进行训练收集。

小结:典型的opencv目标识别和监督学习的办法

AI“跳一跳”

模仿学习中最简单的行为克隆方法:收集很多好的游戏输入输出数据,然后使用监督学习训练。

1、构造游戏数据库

用其他外挂方法收集大量的游戏输入输出数据,加入AI代码,通过线性回归训练了一个简单的线性模型来估计跳跃距离和按压时间的关系。

2、构造端到端神经网络模型及训练

构造了一个5层的卷积神经网络,用一个简单的回归模型使用构建的数据库进行训练。

3、安装PyTorch深度学习框架:pytorch.org、运行代码。

小结:基于卷积神经网络的图片回归的监督学习办法

Python“跳一跳”

通过ADB 工具获取当前手机截图,并用 ADB 将截图 pull 上来,Python脚本计算图形的距离和按压的时间,最后使用ADB控制它跳动。

实现原理

1、手机连接PC,PC通过adb命令对手机游戏界面截图,并保存在PC上。

2、PC端根据保存的图片进行处理(读取RGB值),获取棋子的位置,获取下一步棋盘的位置,然后利用"两点之间距离公式"来计算出两点之间的距离,然后根据经验值计算出按压时间。

3、通过adb命令模拟按压时间来实现棋子的跳跃。

小结:计算机图形算法中的目标识别的回归方法

JavaScript版本"AI"脚本

实现的原理

1、使用opencv实现的快速找色函数找出并计算棋子位置。具体为先根据棋子颜色找出棋子顶部位置,再遍历顶部这一行的像素找出顶部的中点位置,偏移得到棋子底部中点位置。

2、使用项目wangshub/wechat_jump_game的算法缓慢找出并计算跳跃目标的位置。

3、根据跳跃距离乘以系数计算按压时间并按压。

小结:仍然是一个基于opencv的位置识别方法

最后一个:

手工制图“跳一跳

想出这个方法的玩家可以说的是跳一跳的真爱粉了,玩家在手机屏幕上画函数坐标,根据两平台的距离计算出按压的时间。不过,经过我们专家团一致认为,这个有51%以上的概率属于搞笑用的,纯属博大家开心一笑。


原文发布于微信公众号 - 奇点(qddata)

原文发表时间:2018-01-15

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏涂小刚的专栏

Spark-ALS 分布式实现详解

本文重点阐述了 Spark ML 库中 ALS 的实现,要看懂以上计算流程,请务必结合源代码理解,在实际源码实现中,使用了很多优化技巧。

1.6K3
来自专栏量子位

OpenAI发布新强化学习算法:近端策略优化

允中 编译自 blog.openai.com 量子位 出品 | 公众号 QbitAI OpenAI今天发布一类新的强化学习算法:近端策略优化(Proximal ...

3385
来自专栏机器之心

贾扬清撰文详解Caffe2:从强大的新能力到入门上手教程

选自 Nvidia Blog 作者:Aaron Markham、贾扬清 机器之心编译 昨天,Facebook 推出了 Caffe2,一个兼具表现力、速度和模块性...

3043
来自专栏机器之心

教程 | AI玩微信跳一跳的正确姿势:跳一跳Auto-Jump算法详解

39611
来自专栏量子位

如何用3D-CNN确认说话人身份?这里有Code+Paper

安妮 编译自 Github 量子位出品 | 公众号 QbitAI 说话人确认(Speaker Verification)是一种以语言特性确认说话人身份的技术。 ...

3544
来自专栏有趣的Python和你

sklearn调包侠之无敌小抄

1666
来自专栏机器之心

评测 | CNTK在Keras上表现如何?能实现比TensorFlow更好的深度学习吗?

选自MiniMaxir 作者:Max Woolf 机器之心编译 参与:Jane W、吴攀 Keras 是由 François Chollet 维护的深度学习高级...

2875
来自专栏CreateAMind

Deep Learning Book 中文第五章-5.6 机器学习基础

学习算法:任务、性能度量、经验;容量、过拟合、欠拟合;超参数;估计、偏差、方差;最大似然估计;贝叶斯统计。

953
来自专栏AI研习社

AI 玩微信跳一跳的正确姿势——跳一跳 Auto-Jump 算法详解

最近,微信小游戏跳一跳可以说是火遍了全国,从小孩子到大孩子仿佛每一个人都在刷跳一跳,作为无(zhi)所(hui)不(ban)能(zhuan)的 AI 程序员,我...

3998
来自专栏AI研习社

问答 | 迁移学习有哪些入门建议?

1253

扫码关注云+社区

领取腾讯云代金券