我的问题是:当一个完整的低谷有太多的排列时,我如何计算获胜的机会。
我正在开发德州扑克扑克应用程序。基本功能是概率计算器。甲板由52张牌组成,每位牌手持有两张牌,桌面上放置5张牌,然后对获胜者进行评估。因此,如果桌面上有4张牌,则最后一张牌有44种可能的结果。当桌子上有3张牌时,有45 * 44种排列。但如果桌子上没有卡片,我必须考虑48 * 47 * 46 * 45 * 44 = 205.476.480的排列。如果我设法实现"命令并不重要,那么我将获得1.712.304排列,这对于我的CakePHP Web服务器来说仍然是大约15倍。
答案 0 :(得分:0)
关键是只考虑相关的卡片。 而不是创建和评估每个可能的手的组合,只考虑那些实际上改善你的手的组合。
一个例子(未完成)
手是心脏的5 +黑桃的8。以下卡片组合改进了这一手:
对于每一个,你可以快速计算概率。
在早期,您可以通过忽略需要超过n个匹配卡的组合来加快计算速度,因为它们几乎没有效果(每个人在开始时都有机会获得皇家同花顺,但大多数人永远不会得到一个)。
您甚至可以预先计算起手的值。这些只是大约13 * 13的值(每张卡有13个选项,适合与否的时间为2,因为顺序无关,除以2)。