我想现实生活中应该有很多朋友都在玩四川麻将,不知道你有没有发现其实四川麻将是否胡牌其实也是可以用数学公式来表达的。不知道你猜到了没有?? 好了,好了 不留悬念了我直接给出来。ABCxN+AAAxN+AAx1 这个是什么意思了,意思就是你想要胡牌 那么你的牌型必须要满足以上这个公式你才能胡牌。你手牌必须是有N个顺子,或者N个刻子和一个对子组成才能胡牌。那么你现在知道了胡牌公式,那你会计算当前手牌的向听数吗?(向听数:这手牌摸几张牌能够听牌)。我想很多人打了多年的麻将,都不一定第一时间能看出手牌的向听数。这个其实在你写程序的时候非常重要,如果没有这个你就不知道别人打一张牌来,你是碰不碰,杠不杠。我可以直接告诉你其实也是有公式可以找的。
胡牌数:当手牌有N张时,最多需要N/3*2+1手即可胡
向听数:代表听牌最多需要N/3*2手听牌
这个公式我们是怎么得来的来,我们一起来看下面一张图片**
大家看上面这张图片,假设我们手牌有14张,最坏的情况我们摸9张牌就可以听牌。为什么是9张不是8张,不是10张了。这个就要根据我们前面的胡牌公式来了,因为如果你要胡牌手牌就必须是连子或者或者加一个对子。那么我们这个就很好推倒出来了,一个连子由三张牌组成,一个刻子由3张牌组成,我们假设你只有连子中得一张牌,那么你就只差2张可以组成一个连子,那么你组成连子就需要2手,依次类推,你就可以得到我们最多有几首牌可以胡牌的公式。我们每组成一个搭子就会降低进听数。 **N/3*2+1** 下面我们一起给一张图片来计算一下胡牌的步数。
上面这张图片需要3张牌就可以胡牌,你算对了吗?为什么是三首了,**1手:我们来看1,3差一张2万**,**2手:889差一张7或者一张8,**
**3手:2饼差一张2或者3条差一张3条** 我们计算这个有什么用了,只要我们能快速的计算出来这个,我们就能知道我们现在牌型到了什么阶段了,我们需要怎么出牌了。还有一个特别重要的时刻就是,我们能够快速的分辨出牌,别人出一张牌,我们是否决定要碰牌。其实决定我们是否要碰牌,就是看我们有没有让牌型向听数量倒退,这个决定是否碰牌的算法,我们放到后面来讲。
可能现在很多人有一个疑问???为什么我们要把7拆成
而不是
了?如果你发现了这个问题,那么恭喜你可以进入我们今天将的最重要的环节,如果拆解一个最优的牌型。
我们怎么才能拆解出最优的牌型,我们第一步就得把所有牌能组成的可能全部拆解出来。我们还是以上一首牌为例子:
1万3万可以组成的牌
7,8,,9能组成的牌
5筒可能组成的3种牌型
6筒可能组成的牌型
7筒能组成的所有可能
8筒所有的可能
9筒所有的可能
我们通过这个计算就能完成第一步把这手牌所有能组成的搭子全部拆解出牌,我们知道一首牌胡牌为N/2*3+1,那么搭子的最大数量也就为N/3+1,这个大家下面可以自己去推算,我在这里就不一一讲解了,然后我们通过排列组合的方式至多组合5个搭子,看哪一个分数最大,听牌数量最少的。则为我们当前的最优拆牌方案,我们后面出牌就以这个为参考的标准出牌。后面有时间持续更新四川麻将的AI算法。这里我们可以给每一个搭子分配一个分数,为了后面计算。
这里为什么有第一个对子99了,因为我们胡牌只需要一个对子,2个对子就不能胡牌,所以只能给一个对子99分。上面理论部分的东西基本已经全部讲完,不知道大家有没有思路,有没有想法了,有想法的朋友留言交流
围棋AlphaGo点燃的AI之火渐渐降温之际,微软今天上午发布了他们在麻将游戏中取得的重大突破:麻将AI “Suphx”在国际知名专业麻将平台“天凤”上荣升十段。
“十段”是什么概念呢?天凤平台上,全球范围内现役十段的人类选手仅十几位。Suphx取得“十段”的成绩,大致可相当于围棋中AlphaGo挑战胜了李世石。
这是一个不凡的成绩。
从AI这门学科诞生之日起,游戏AI始终与 AI 研究进展相生相伴,跳棋、双陆棋、国际象棋和围棋,都曾先后推动了AI的发展。
图:MarionTinsley 与 Chinook 对战(左);GarryKasparov 与 Deep Blue 对战(右)
这些棋类游戏有共同之处是,1)它们均有一个简单而清晰的规则,有清晰的胜负判定条件和行动准则;2)博弈双方能够查看所有游戏状态;3)在公众认知中,掌握和精通这些棋牌类游戏往往在一定程度上是人类智力的彰显。
相比以上这几种棋类游戏,麻将却是规则复杂、胜负判定繁琐、信息非完全公开的,且更重要的是在公众认知中麻将更多地有“运气”和“凭直觉”的成分。
因此麻将AI若能取得超越人类的水平,可以期待它将带来新的一波热潮。
一、Suphx的晋级之路
“天凤”是日本(不要问为什么不是中国四川)的一个在线麻将竞技平台,创立于2006年。因其完善的竞技规则、专业的段位体系,很快便成为业界知名的高水平专业麻将平台,受到职业麻将界的广泛承认。
我们知道,麻将的输赢与围棋不一样,并不仅仅取决于玩家的实力,还取决于抓到的手牌等,如果一个人运气比较差,拿到一手烂牌,可能再强的实力也只能是输得不那么难看。所以,麻将不像围棋一样,不能单靠一轮对弈,而是要通过多轮(甚至上千轮)对弈才能看出一个雀士的实力。
天凤的评价制度,采用Rating制和段位制并行的制度。刚刚注册时等级从“新人”开始,点数(pt)会根据游戏的情况增减,并最终决定雀士的升段(升级)和降段(降级)。玩家的段位越高,在比赛中排位第四受到的点数惩罚也越多,点数扣除到一定程度会导致降段。按照这种规则,如果雀士的实力水平一定的话,自己的等级也会相对地稳定在某一个段位上。
根据段位,游戏者可以使用的桌也会发生变化。天凤平台为高水平麻将玩家提供两种竞技房间:“特上房”对四段以上所有玩家免费开放,允许AI参与游戏,目前所有玩家在此房间的最高段位是十段;“凤凰房”仅对七段以上的人类付费玩家开放,目前不允许AI参与游戏,在该房间能够达到的最高段位是十一段,称为“天凤位”。
自天凤平台在2006年推出以来,全球范围内达到四人麻将(四麻)天凤位的雀士也不过13人,曾经达到过十段的玩家约有180位,而现役十段的人类玩家仅有十几位。
微软亚洲研究院开发的麻将AI Suphx在今年3月份开始登录天凤平台,经过近三个多月、与人类玩家展开了5000余场四麻对局后,6月份Suphx成功晋级天凤十段,也是首个晋级十段的AI系统。
在5000余场对局中,Suphx的稳定段位超过了8.7。这样的稳定段位是一个极高的数字。
据统计,天凤平台的所有顶级人类玩家在取得十段后,在“特上房”共参加过近万场比赛,整体稳定段位为7.4。与所有取得过天凤十段的顶级人类玩家相比,Suphx在特上房的稳定水平要领先约1.3个段位。
此前,天凤平台还活跃着另外两个麻将AI系统,由东京大学在2015年开发的“爆打”和 Dwango 公司于 2018 年开发的基于深度学习模型的“NAGA25”,二者的稳定段位均在6.5左右。
事实上,在晋级十段之前,Suphx很长一段时间稳定在九段,其独特的打牌风格在麻将领域刮起了不小的“AI风”,很多麻友都尝试从中学习新的打牌方式,并且在中国,很多麻友亲切地称她为“苏菲老师”、“苏菲姐姐”。
Suphx是通过神经网络对下牌能否赢进行预测,然后根据麻将的积分规则对预测结果进行决策,最大程度的提高加分以提高段位。在AI训练中,对模型进行大量的数据训练,实现Suphx的连升十段,能够超越国际上专业的麻将平台“天风”上的顶尖人物,成为麻将领域非常有名的人工智能模型,让人工智能又在这种棋牌领域战胜了人脑。人工智能的研究确实很厉害,但是还是人研究出来的,所以不能因为人工智能的出现就开始恐慌。
至于Suphx能够荣升十段,最主要的还是神经网络模型的使用,以及对于麻将计分升级段位的规则的掌握。在掌握麻将的计分规则和升级规则后就要写出相应的算法,保证能够在最后的比分中胜利,然后升级段位。所以根据比分规则,就要尽可能保持排在第一或者第二位,这样才能够加分,在第三位不会有加分,在第四位就会扣分。而只有加分到一定的分数,才能进行段位的升级,所以还是要尽可能在第一第二位。根据上述的规则,就要把控自己在第一第二位,进而写出相应的算法。
关于对于牌的预测也是有难度的。因为每个拥有牌的人能够得知的只有自己的牌以及已经打出的牌,所以要根据已经得知的牌进行预测,然后决策要下什么牌能够有最大的赢得可能。这就要利用神经网络进行预测,构建神经网络模型,然后对模型进行训练,让模型进行学习。
超级麻将AI Suphx就是通过神经网络以及算法进行和顶尖人才的较量。虽然AI模型能够在比赛上战胜人类,但是人工智能还是人创造的,所以还是不要恐慌。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)