AI 全自动玩斗地主,靠谱吗?Douzero算法教程 |
您所在的位置:网站首页 › 赚钱软件斗地主的原理是什么呢 › AI 全自动玩斗地主,靠谱吗?Douzero算法教程 |
你觉得,AI 全自动玩斗地主,胜率能有多高? 真就有100%胜率,实现欢乐豆自由? 我让这个 AI 自己玩了一小时,结果出乎意料。 Ai斗地主,就是通过 AI 算法分析游戏画面,获取玩家角色、手牌等信息。 完全自主决策这把是否叫地主,是否加倍,以及如何出牌。 设定好程序,不需要我们参与,AI 自己就能玩一下午。 算法名字是 DouZero,快手团队开发的。 不是要把欢乐豆归零的意思—— 意思是像 AlphaZero 一样从零开始训练,不需要你教他怎么打,完全自己学习。 系统只需要给出正负反馈,算法就会自我强化,做出最有效的行为决策。 跟训狗是一个道理。 斗地主的所有牌型总共有27472种。相对与围棋上亿万种的走法,算是小巫见大巫了。 那实现的难点在哪呢? 围棋是所有棋子都摆在棋盘上,对弈双方都能看到,这属于"完全信息博弈"。 而斗地主每个玩家都看不到其他人的手牌,从博弈论的角度看,斗地主是“不完全信息博弈”。 并且还要综合考虑合作机制。 两个农民玩家对抗地主玩家。不仅要保证自己赢,也要辅助队友赢。 对于AI来说就更有挑战性了。 02这里简述一下算法原理。 DouZero 是一个基于深度蒙特卡罗算法来打斗地主的强化学习算法。 所谓的蒙特卡罗就是通过不断的重复实验来估计真实价值的方法。 而在DouZero中,引入了Deep Monte-Carlo (DMC)方法。所谓DMC,就是用神经网络替换Q表,并使用均方误差 (MSE) 更新Q网络。
感觉屏幕对面的你,已经在打哈欠了,我们不多说了,具体的大家可以看看算法论文。 论文链接: https://arxiv.org/abs/2106.06135 那胜率到底多高呢? 咱们首先声明一下,我们不支持任何形式的外挂,玩游戏就图一乐呵,真让 AI 全自动去打,游戏也就失去了本身的意义。 我们只是测试算法的可行性,我让 AI 打了20局游戏,赢了13局,输了7局。综合胜率在65%。 不过样本数量不够大,官方数据中显示,AI 综合胜率大概在60%左右。 总体来看,可以达到普通玩家水平。 本以为 AI 斗地主会很厉害。 60%的胜率,就这? 03这已经是上百种斗地主 AI 算法的最高胜率了,其他算法还有20%胜率的,效果感人。 AI 斗地主没有想象中的厉害,为什么呢? 因为斗地主是个运气成分很强的游戏。 牌好的时候,闭着眼睛打也能赢。牌烂的时候,高手也救不了你。 所以只有在自己和对手的牌相对均衡的情况下,AI的优势才能被明显体现。 有时候也会出现不可思议的打法。 比如下面这种情况,我自己打不一定能赢。 wx搜索【喵宁一】查看视频 第一时间阅读文章~ “鲁迅先生”说过:打好烂牌才算本事。 大写的牛! 计算机非常擅长在完全信息下做搜索,而人类玩家则更擅长在非完全信息下进行推理和决策。 尽管斗地主属于非完全信息游戏,但以AI对于对手手牌的概率分布估计能力,以及基于此所做出的细粒度搜索和判断能力,都将远胜于人类。 人类,危! 随着 AI 推理决策、高效学习能力的提高,AI 外挂会势如破竹,横卷游戏界。 特别是FPS类射击游戏,已经有成熟的 AI 外挂了。这种纯拼技术的游戏,AI胜率几乎百分百。 给游戏业带来了巨大的挑战。 并且不仅仅是游戏业,随着深度强化学习的快速发展,这一技术被应用于军事的步伐也越来越快了。 围棋 AI 已经超越了人类,斗地主 AI 也能战胜普通水平。不出意外,未来空战,AI 超越人类飞行员也是迟早的事。 这不是空穴来风。 美军已经毫不掩饰他们在这个领域的野心了。 那个时候战争形态跟现在都会发生天翻地覆的变化。 如果大国人工智能已经达到高水平,甩出别国几条街。 我们有生之年极有可能会看到,一方没有伤亡,另外一方被灭亡的战争。 战争打到什么程度,只取决于大国愿意付出多少成本,世界舆论压力,其他大国是否干预。 只有提高自己的硬实力,才有话语权。 国家如此,人也是如此。 04最后还是逃脱不出技术号的本质,上个教程。 第一步:下载项目 项目地址: https://github.com/Vincentzyx/DouZero_For_HLDDZ_FullAuto 这个项目在DouZero 算法的基础上,加入了自动出牌、自动叫牌等模块。 项目里面已经有训练模型了,不需要我们再单独下载了。 第二步:配置环境 # 安装依赖 pip3 install -r requirements.txt pip3 install douzero这里要注意遇到下面的错误,是因为pytorch版本不对应,需要检查更换一下版本。 RuntimeError: .xxx.pth is a zip archive did you mean to use torch.jit.load()?第三步:测试运行 确认自己的屏幕缩放比,项目默认是 125%,电脑默认是100%。 python debug_screenshot.py修改main.py文件中的第58行。 # 原代码 helper.ScreenZoomRate = 1.25 #修改为 helper.ScreenZoomRate = 1.00运行项目,会出现自动开始的页面。 python main.py打开游戏,注意这个游戏指的是qq游戏中的欢乐斗地主,不是腾讯游戏。 这个坑我已经替你们踩过了—— 点击自动开始,如果想要自动开始下一把,点击单局按钮,换成自动就可以了。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |