首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计算得克萨斯州获胜概率的软件如何保持他们或奥马哈手相对于8个随机对手的手?

计算得克萨斯州获胜概率的软件如何保持他们或奥马哈手相对于8个随机对手的手?
EN

Stack Overflow用户
提问于 2014-10-22 19:25:07
回答 2查看 1.2K关注 0票数 5

这里有德州的电脑游戏,你可以玩多达8个对手,其中一些电脑游戏会告诉你获胜的可能性,假设你的对手的手都是随机的。如果有人不知道,每个牌手会得到2张私人牌,最后5张社区牌在中间发(前3张,然后1张,再多1张),胜利者是能做出最好的5张扑克牌的玩家,他们可以使用他们的2张私人牌和5张社区牌的任意组合。在奥马哈,每个玩家有4张私人扑克牌,还有5张社区卡,获胜者是使用2张私人卡和3张社区卡制作出最好的5张扑克牌牌的玩家。

所以,对于任何一位玩家的私人牌,有超过10^24种方式可以处理8位对手的私人牌和5张社区牌。那么,假设你的8个对手的手是随机的,他们如何计算/估计你一开始赢的概率呢?在奥马哈,情况更糟,虽然我从来没有见过奥马哈电脑游戏,实际上给你的机会与8个随机对手的手。但无论如何,有什么编程技巧可以使这些获胜的概率计算完成(或者说,在小数点3或4位内修正),比蛮力更快?我希望有人能回答,谁写了这样一个程序之前运行得足够快,因此我问这里。我希望答案不涉及随机抽样估计,因为总有一个很小的机会,可能是遥远的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-22 19:51:56

正如您所指出的,预期的获胜率是一个难以处理的大求和,必须进行近似。标准的方法是使用Monte方法,它包括反复模拟各种手,并取经验平均值:#win/#博弈。

有趣的是,这种近似方法的( MSE )误差与具体的维数(组合数)无关,如果你赢了X=1,输了0,MSE= var(X)/N = p*(1-p)/N,其中p= Prob(X=1) (未知),N是样本数。

有许多不同的蒙特卡罗技术可以改善香草抽样方法的方差,如重要性抽样、公共随机数、Rao-Blackwellization化、控制变量和分层抽样等。

编辑:刚刚看到你正在寻找一种非随机近似方法,我怀疑你是否会有太多的确定性近似方法,我知道目前的技术在计算扑克研究使用蒙特卡洛方法来计算这些概率,尽管有一些方差减少技巧。

关于“因为总有一个很小的机会,可能是很远的”,你总是可以得到一个高概率的界限错误率与Hoeffding的不等式。

票数 5
EN

Stack Overflow用户

发布于 2014-10-22 20:42:38

我会使用预先计算的赔率表,而不是实时计算。列出它们的表非常容易找到,并且已经存在了很长时间,因此它们是经过验证的工具。这将是相当简单的匹配您的洞卡+社区卡在预先计算的表格中列出的百分比,并立即返回给你,跳过飞行计算时间。

一副牌中只有52张牌(经典的),所以如果你只是提前找到所有可能的解决方案,那么从这些纸牌中读出要快得多,而不是重新计算每一只手在飞行中的几率。

下面是一个指向不完全赔率表的链接:http://www.learn-texas-holdem.com/texas-holdem-odds-probabilities.htm

我会把它当成密码破解。不要强迫每个字符单独使用,而是使用一个通用密码列表来减少计算时间。这种情况的不同之处在于,你提前知道了每一个可能的组合。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26515472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档