問題タブ [poker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
statistics - プログラムでポーカーオッズを計算するにはどうすればよいですか?
私はポーカーオッズを計算するための簡単なゲーム/ユーティリティを書こうとしています。そのための公式について説明しているリソースがたくさんあることは知っていますが、それをコードに変換するのに問題があると思います。特に、テキサスホールデムに興味があります...
私はいくつかの異なるアプローチがあることを理解しています。1つはあなたが見ることができるカードに基づいてあなたがいくらかの手を引くオッズを計算することができるということです。もう1つのアプローチは、特定のハンドを獲得するオッズを計算することです。2番目のアプローチは、より多くのデータ(プレーヤーの数など)を入力する必要があるため、はるかに複雑に見えます。
私はあなたが私のためにそれを書くことを求めていませんが、正しい方向へのいくつかの微調整は助けになるでしょう:-)
c# - 正規表現を使用してポーカー ハンドのスコアを取得する
C#でポーカーゲームを開発しています。現時点では、 を使用してプレイヤーの手のスコアを取得しようとしていRegEx
ます。文字列 (カードのスーツと数字で構成される) を検索し、一致するスーツまたは数字を探しますRegEx
。私が 2 マッチを獲得した場合、プレイヤーはペアを持ち、3 マッチで彼は 3 つの種類を持っています。
現時点では、カード クラス (番号とスーツ)、デッキ クラス (52 枚のカードを含む)、およびシャッフルされたデッキから 5 枚のカードを取得するハンド クラスの 3 つのクラスがあります。
デッキ クラスにはshuffleDeck()
; Hand クラスには、スコアを計算する関数があります (RegEx を使用しているこれらの関数にあります)。
RegEx
手が持っている5つのスーツと数字を追加して、使用する文字列を生成します.
これは良いアイデアですか、それとも別の方法で行う必要がありますか?
ご協力ありがとうございました
PS。私は、新しく学んだツールをすべてに使用したいと考えている経験の浅いプログラマーの 1 人です。
c# - デザイン パターン: テキスト ファイル内の類似しているが異なるスキーマの解析
よろしくお願いします。この問題に適用できる(設計)パターンがあるかどうか疑問に思っています。
類似しているが異なる形式のテキスト ファイルから値を解析、処理、および抽出しようとしています。
より具体的には、多数の異なる Web サイトからオンライン ポーカー ハンド履歴ファイルを受け取り、特定のデータ フィールド (ハンド #、DateTime、プレーヤー) を解析する処理エンジンを構築しています。ファイルを解析するロジックがフォーマットごとに若干異なるようにする必要がありますが、抽出された値の処理は同じです。
私の最初の考えは、ファイルの種類ごとに「スキーマ」を受け入れ、それに応じて解析/処理するクラスを1つだけ作成することです。これにはもっと良い解決策があると確信しています。
ありがとう!
ボーナス ポイント: C# での特定の実装のヒント。
java - AI をプレイするテキサス ホールデムをゼロから構築する
Java で Texas Hold 'Em AI エンジンを構築することに興味があります。これは長期プロジェクトであり、少なくとも 2 年間は投資する予定です。私はまだ大学生で、野心的なものはまだ作っていませんが、長期的に興味を持ち続ける問題に取り組みたいと思っています。私は AI の分野は初めてです。大学でのデータ構造のクラスから、BFS や DFS、バックトラッキング、DP、ツリー、グラフなどの基本的な構成要素を知っています。正規表現を学んでおり、SCJP と SCJD のために勉強しています。 )統計コース。
質問:
-どこから始めればよいですか? どの本を選べばいいですか?ポーカー プレイ プログラムはどのような AI で実行されますか? どのオープンソース プロジェクトからページを取得できますか? Java の優れた AI リソースはありますか? 私も Lisp を学ぶことに興味があります。Jatha は得意ですか?
java - ポーカー ハンドがストレートかどうかを判断する関数は?
宿題で、ランクとスーツの種類が列挙された Card クラスが与えられました。2 つのポーカー ハンド (各ハンドはArrayList
5 枚のカード) を比較し、勝者を決定する必要があります。
エースの後にカウントをやり直さなければならないので、このisStraight()
関数は本当に私を悩ませています。例えば、
クイーン、キング、エース、ツー、スリー
まだストレートと見なされます。この機能をコーディングする最良の方法は何ですか?
ランク/スーツの列挙型コードが役立つ場合は、次のとおりです。
java - ポーカー ハンド (ワン ペア) を決定するのに助けが必要
これはコードの一部に過ぎないため、配列などが見えなくても問題ありません。アイデアは、5 枚のカードがあり、どのカードがペアであるかを判断したいということです。誰かが私の言いたいことを理解していますか?
ruby-on-rails - Ruby での解析 (on Rails)
オンライン ポーカーを支援する Rails アプリを作成したいと考えています。私は PokerStars でプレイしており、プレイしたハンドごとにテキスト データを利用できます。形式は次のとおりです。
Ruby 用の解析ライブラリはありますか、それとも手動でハッキリと行う必要がありますか?
algorithm - NPハード?オンライン ポーカー共謀検出のアルゴリズムの複雑さ?
1,000 万人のプレイヤーがいるオンライン ポーカー サイトの共謀検出のアルゴリズムの複雑さを説明する最良の方法は何ですか?
仮定します(これらの仮定は大きな違いを生むとは思わないので、無視してかまいませんが、明確にするために):
- サイトの登録ユーザー数が 10,000,000 であること。
- これらのプレイヤーが合計 50 億回のハンドをプレイしたこと。
- 提供される唯一の情報は、サイトの「マスターハンド履歴データベース」であり、すべてのプレーヤーのホールカードと各ハンドの賭けアクションが含まれています.
- 言い換えれば、IP アドレスを調べたり、異常なレーキ/利益パターンを探したりするなどの近道をすることはできません。
- ちょうど N 人 (N は 2 から 10 の間) のプレーヤーのグループを渡すと、グループ内のすべてのプレーヤーが共謀した場合に TRUE を返す関数が与えられたと仮定します。すべてのプレイヤーではなく一部のプレイヤーが共謀者である場合、関数は FALSE を返します。TRUE の戻り値は、(たとえば) 75% の信頼度で作成されます。
あなたの仕事は、共謀したすべてのプレイヤーの完全なリストと、彼が共謀したプレイヤーの完全なリストを作成することです。最近、この問題が NP 困難であると説明されているのを耳にしましたが、これは正確ですか? 単に「難しい」ものを「NP」または「NP-hard」と呼ぶことがあります。
ありがとう!
c# - ルックアップの最適化: ディクショナリ キー ルックアップと配列インデックス ルックアップ
お気に入りのプロジェクトの 1 つとして、7 カード ポーカーのハンド評価を書いています。その速度を最適化しようとしている間 (私はその挑戦が好きです)、Dictionary キー検索のパフォーマンスが配列インデックス検索と比較して非常に遅いことにショックを受けました。
たとえば、52 の choose 7 = 133,784,560 の可能な 7 枚のカード ハンドすべてを列挙するこのサンプル コードを実行しました。
出力:
このタイプの動作は予想されますか (パフォーマンスが 8 分の 1 に低下します)。IIRC では、ディクショナリには平均で O(1) ルックアップがあり、配列には最悪の O(1) ルックアップがあるため、配列ルックアップが高速になると期待していますが、それほどではありません!
現在、ポーカーハンドのランキングを辞書に保存しています。これが辞書検索と同じくらい速い場合は、アプローチを再考して代わりに配列を使用する必要があると思いますが、ランキングのインデックス作成は少し難しくなり、おそらくそれについて別の質問をする必要があります.
artificial-intelligence - どこで PokerBot (およびその他のゲーム) を合法的に操作できますか?
知的な挑戦のために PokerBot (および他のいくつかのゲーム) を構築したいと考えています。ただし、倫理的かつ合法的な方法でこれを行いたいだけです。
そのため、すべてのプレイヤーとゲーム オペレーターが私が pokerbot を実行していることを認識できるゲーム サーバーが必要です。それは不正行為ではなく、標準です。おそらく、人間であることはルールに反するところですら。
(ポーカーだけでなく、他のゲーム用の PlayerBot も構築したいと考えています。)
まだ存在しない場合、そのような環境を構築するための共同プロジェクトを行ってくれる人はいますか?
更新: オープン API は、サーバーがボットに対してオープンであることの究極の兆候であると言えます。API なし = ボットは歓迎されません。
また、リアルマネーではなくポイントでプレイできるのも嬉しいです。