如何以编程方式计算扑克赔率?

时间:2008-10-11 09:57:42

标签: statistics probability poker

我正在尝试编写一个简单的游戏/实用程序来计算扑克赔率。我知道有很多resources讨论了这样做的公式,但我想我无法将其转换为代码。特别是,我对Texas Hold-em感兴趣...

我知道有几种不同的方法,一种方法是你可以根据你能看到的牌来计算你手牌的几率。另一种方法是计算你赢得某手牌的几率。第二种方法似乎要复杂得多,因为你必须输入更多的数据(有多少玩家等)

我不是要求你为我写这篇文章,但是一些正确方向的推动会有所帮助: - )

6 个答案:

答案 0 :(得分:21)

以下是文章的一些链接,可以作为起点帮助:Poker Logic in C#Fast, Texas Holdem Hand Evaluation and Analysis

“这个代码片段可以让你用C#和.NET艰难地计算扑克概率。”

理论基础在这个Wikipedia article about Poker Probabilities和优秀的statistical tutorial中给出。

SpecialKEval中可以找到用Objective-C,Java,C / C ++或Python编写的完整项目的示例。其他链接和阅读可以在其中找到。

答案 1 :(得分:8)

蒙特卡罗模拟是获得扑克手牌赔率计算的常用方法。有很多例子可以在网上对holdem实施这种模拟。

http://www.codeproject.com/KB/game/MoreTexasHoldemAnalysis1.aspx

答案 2 :(得分:2)

Pokersource和统计文章都是不错的建议。但这最好用蒙特卡罗模拟来完成,这是一种有用,简单且功能强大的方法来处理这类难题。

与奥马哈Hi-lo一样,与Hold'em

一样

答案 3 :(得分:1)

如果你有相当强大的C能力,请看pokersource。这很简单,我担心,但你要找的一些东西很复杂。如果您可以获得正确的输入格式(也不容易),使用该库的poker-eval程序可能会执行您想要的大部分操作。 this onethis等网站也使用此库AFAIK。

不过,情况可能更糟,你可能想要像Omaha Hi-lo那样计算一些棘手的东西......

答案 4 :(得分:1)

看看这里:

http://specialk-coding.blogspot.com/2010/04/texas-holdem-7-card-evaluator_23.html

蒙特卡罗模拟通常比精确的评估者慢。

答案 5 :(得分:0)

德州扑克扑克游戏评估员的完整源代码可以在这里找到:

http://www.advancedmcode.org/poker-predictor.html

它是为matlab构建的,GUI id是m编码的,但计算引擎是c ++。

它允许赔率和概率计算。在我的2.4Ghz笔记本电脑上,它可以在0.3秒内处理100000个10人游戏计算。

准确的实时计算机:-)