首先还是先复习下麻将玩法。github地址 使用 maven <dependency> <groupId>com.github.esrrhs</groupId> <artifactId>majiang_algorithm</artifactId> <version>1.0.8</version> </dependency> // load AITableJian.load(Files.readAllLines(xxx)); AITableFeng.load(Files.readAllLines(xxx)); AITable.load(...
这8步是标准胡牌AI的基础,其中对于七对等特殊胡牌型没有涉及,可以把电脑设定为超过4或5对时转为特殊胡牌AI。AI难度2级时加入海牌的策略,即考虑桌面上已出的牌,AI难度3级时加入记牌分析模块,即记录玩家的出牌过程并进行分析。 1、麻将番数算法 国标麻将有88种番,可以参考《中国麻将竞赛规则》或者《世界麻将大...
github项目链接:https://github.com/yuanfengyun/mj_ai麻将概率问题:1、已经四个玩家每人有13张手牌2、桌上已经打出的牌3、玩家A有1个确定的胡牌目标 问: 玩家A摸入5张牌胡牌的概率?公式见图:概率计算公式.jpg 整体思路1、当我手上有14张牌时,如果能胡,直接胡掉。 如果不能胡,我需要知道打出哪张牌以...
在AI算法中,无法控制摸牌环节,因此策略主要集中在出牌上。麻将的基本玩法和术语,例如花色分类、术语胡牌公式等,将在文章的后续部分详细解释。对于鬼牌的讨论,由于它能变成任意牌,通常在特定情况下使用,本文将不考虑其影响,专注其他牌的组合。通过直观的例子,我们可以看到人如何思考最佳出牌策略。算法...
现代麻将游戏中,电脑一方(即AI玩家)通常采用强化学习、蒙特卡洛树搜索(MCTS)、深度神经网络(DNN)等高端算法来实现。这些算法能够使AI具备较强的游戏策略和适应能力。强化学习的应用尤为突出,因为它能够通过与环境的交互来学习如何在特定的情境下取得最大的预期奖励。对于一个如麻将这样的复杂游戏来说,这一点尤其重要。
1. 四川麻将AI算法开发完毕并已上线运营,欢迎有兴趣的朋友留言交流讨论。2. 在现实生活中,许多人都喜欢玩四川麻将。你可能已经注意到,四川麻将的胡牌方式可以用数学公式来表示。你猜到了吗?3. 公式ABCxN + AAAxN + AAx1意味着,为了胡牌,你的牌型必须满足这个公式。你需要N个顺子、N个刻子和...
目前,最常用的算法是蒙特卡洛树搜索算法,该算法以人工智能计算的方式,通过对每个动作的模拟,最终确定出最优的行动方案。而在应用此算法中时还需要考虑数值计算及每次搜索别人的行为建立模型的算法。三、学习算法 学习算法是麻将AI算法研究的一个最新成果,也是目前许多麻将AI团队正在研究的一个方向。通过学习算法,...
则为我们当前的最优拆牌方案,我们后面出牌就以这个为参考的标准出牌。后面有时间持续更新四川麻将的AI算法。这里我们可以给每一个搭子分配一个分数,为了后面计算。 这里为什么有第一个对子99了,因为我们胡牌只需要一个对子,2个对子就不能胡牌,所以只能给一个对子99分。上面理论部分的东西基本已经全部讲完,不知道...
本文探讨一种高效麻将AI算法,旨在实现高智商打麻将。麻将玩法中,摸牌由玩家无法控制,因此算法重点在于如何合理出牌。首先,复习麻将基础知识。麻将中存在鬼牌概念,定义为可以变成任意牌的牌,通常在游戏开始前指定或随机决定。但本文算法不考虑鬼牌,而是专注于其他牌型,确保在不打鬼牌的情况下,通过完美...
node.js——麻将算法(六)简易版麻将出牌AI1.0 普通麻将的出牌AI如果不是要求特别高的话,其实蛮容易实现的,毕竟大多数人打牌都只是看自己的手牌。 所以作为简易版的AI,出牌的策略只要奔着胡牌去就可以了。我们能想到的就是把相邻或相同的牌凑到一起,把单独的牌打出去。以这个思路打牌,就会慢慢接近听牌至最终的...