斗地主所有牌型组合个数统计

最近业余时间在研究排列组合的相关问题,话题涉及到了在不考虑花色的情况下?54张牌按照斗地主的方式以20,17,17的方式分给3个人有多少中可能解决方案?
我觉得这个问题有点意思,并以sql脚本的形式实现了问题的求解过程,希望大家能从这篇文章中所有收获。

问题分析

以4个3为例,分给地主1,农民2,农民3的所有组合情况如下:
4个3的组合情况
既4个3在3个玩家中的可能情况有15种。在不考虑斗地主手牌数限制的情况下,因A到K有13张牌,则A到K的所有位置的组合数有$15^{13}$种可能性。
以大王为例,分给地主1,农民2,农民3的所有组合情况如下:
大王的组合情况
在不考虑斗地主手牌数限制的情况下,大王和小王在三家的可能性有3*3=9种可能性。
所以牌型组合的理论上限是$9*15^{13}$。接近于$1.75*10^{16}$。

组合情况的一种
根据计数原理,结合上图可知:
如果37在玩家1,2,3的手牌张数分别是20,0,0的可行方法是1种。
如果8
Q在玩家1,2,3的手牌张数分别是0,17,3的可行方法是35种。
如果K到大王在玩家1,2,3的手牌张数分别是0,0,14的可行方法是1种。
所以三个步骤组合起来的总可行方法是$1*35*1=35$种方法。

具体细节参考Sql server版斗地主牌型组合统计的代码,最终的出来的结果是138712181744994,即$1.3871*10^{14}$。即在不区分花色的情况下,斗地主所有的牌型组合数。

总结

记录斗地主的所有牌型这种方式来做AI是不切实际的,毕竟普通PC机是没有办法存储$1.3871*10^{14}$条数据的。


参考资料

斗地主所有牌型组合个数统计

http://www.60points.com/138712181744994/

作者

stone liu

发布于

2018-12-03

更新于

2024-09-06

许可协议

评论