ポーカーオッズをプログラムで計算するにはどうすればよいですか?
-
10-07-2019 - |
質問
私はポーカーオッズを計算する簡単なゲーム/ユーティリティを作成しようとしています。 リソースは、そうするための式について語っていますが、私は推測しますそれをコードに変換するのに問題があります。特に、テキサスホールデムに興味があります...
私は、いくつかの異なるアプローチがあることを理解しています。一つは、あなたが見ることができるカードに基づいて、あなたがハンドを引くオッズを計算できるということです。もう1つのアプローチは、特定のハンドに勝つ確率を計算することです。 2番目のアプローチは、より多くのデータ(プレーヤーの数など)を入力する必要があるため、はるかに複雑に思われます
私のためにそれを書くことを求めているわけではありませんが、正しい方向へのいくつかのナッジが役立つでしょう:-)
解決
出発点として役立つ記事へのリンクを次に示します。 C#のポーカーロジックおよび Fast、Texas Holdem Hand Evaluation and Analysis
"このコードスニペットを使用すると、C#と.NETを使用して、難しい方法でポーカー確率を計算できます。"
理論的基礎は、このポーカー確率に関するウィキペディアの記事に記載されています。この優れた統計チュートリアルで。
Objective-C、Java、C / C ++、またはPythonで記述された完全なプロジェクトの例は、 SpecialKEval 。さらなるリンクと読み物はそこにあります。
他のヒント
モンテカルロシミュレーションは、ポーカーハンドのオッズ計算を行うための一般的なアプローチです。ネット上でこのようなシミュレーションをホールデムに実装する例はたくさんあります。
http://www.codeproject.com/KB/game/MoreTexasHoldemAnalysis1.aspx
Pokersourceと統計記事は悪い提案ではありません。しかし、これは本当にこの種の困難な問題に対する便利でシンプルで強力なアプローチであるモンテカルロシミュレーションで最もよく行われます。
Hold'emと同様に、オマハハイローでも同様に機能します
かなり強力なC能力がある場合は、 pokersource をご覧ください。単純ではありませんが、恐れていますが、探しているもののいくつかは複雑です。ライブラリを使用するpoker-evalプログラムは、入力フォーマットを正しく取得できる場合(おそらく簡単ではないかもしれませんが)、おそらくあなたが望むことの多くを行います。 this やこれもこのライブラリを使用します。
さらに悪いことに、オマハハイローのようなトリッキーなものを計算したいかもしれません...
こちらもご覧ください:
http:// specialk-coding .blogspot.com / 2010/04 / texas-holdem-7-card-evaluator_23.html
モンテカルロシミュレーションは、多くの場合、優れた正確な評価者よりも遅くなります。
テキサスホールデムポーカーゲームエバリュエーターの完全なソースコードは、次の場所にあります。
http://www.advancedmcode.org/poker-predictor.html
これはmatlab用に構築されており、GUI IDはmコードですが、計算エンジンはc ++です。
オッズと確率の計算が可能です。私の2.4Ghzラップトップでは、0,3秒で100000人のプレイヤーのゲーム計算を処理できます。
正確なリアルタイムコンピューター:-)