もちろん、最初はランダムに5枚のカードを持っています。私が変更できるのは 1 回だけであり、システムの [プログラム] ポーカー ルールも既に教えています。私の問題は、「このカードは必要ないか、カードがあるか」をどのように選択できるかです。私は自分で変更できますが、コンピューターは知りません。難しいとは思いますが、どなたかアドバイスいただけないでしょうか?
7 に答える
ポーカーボットを始めるための優れた情報が掲載されている、実用的なポーカーボットシリーズ(パート1、2、3、4、5、6、7、8)の作成方法をご覧ください。
具体的には、手の価値を評価する方法について詳しく説明しているパート8をご覧ください。あなたがしたいことは、手札のカードを統計的に評価し、そこからどのカードが勝ちの手札を獲得する可能性が最も高いかを決定することです。その後、不要なカードを捨てることができます。
アルバータ大学コンピュータ ポーカー研究グループに連絡してみてはどうでしょうか。
ポーカープレイプログラムを簡単に作成したい場合は、上記の提案が役立ちます。ポーカーのプレイ方法を学習するシステムの構築を検討している場合は、ニューラルネットワーク、決定木、遺伝的アルゴリズムなどの機械学習/誘導学習技術を利用する必要があります。サミュエルズは、パフォーマンスを向上させることを学んだ初期のチェッカー演奏プログラムを書きました。
http://en.wikipedia.org/wiki/Arthur_Samuel
機械学習とゲームに関するサイトもあります。
勉強したいことはゲーム理論とデータマイニングです。上位のプログラムは、大規模なゲーム理論シミュレーションを使用して、体系的なミスをできるだけ少なくする方法でプレイをランダム化するために使用されるエキスパート システムの許容範囲を生成します。Web を十分に検索すると、これらのタイプのソリューションのいくつかの完全な実装が見つかりますが、それらを生成したコードが欠けていることがよくあります。これらの解決策の 1 つだけを受け入れることのマイナス面は、相手の過ちを十分に活用していないことです。これは、今日の研究のほとんどがこのトピックに向けられているところです。
ただし、考えられるほぼすべての AI アルゴリズムを使用して、ゲーム理論ソリューションを生成する方法は多数あります。
Expert System s Designを研究したいと思うでしょう。そして、それを問題のドメインに適用します。
圧倒されると思われる場合は、小さく始めてください。ポーカー ボットが貪欲にペア (および 3 つまたは 4 つの種類) を探すようにするルールの基本的な知識ベースを作成します。それがうまくいっているときは、ストレートを構築しようとするルールを追加し、ペアを探すよりもストレートを構築することを優先する場合のルールを追加し、それがうまく機能しているときにフラッシュを追加します。継続的で小さな増加がプロセスの鍵です。
ポーカー評価者を確認してください。http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup モンテカルロ分析を使用して、期待を最大化するために排出するカードを見つけます。
David Levyによるコンピューターゲームマンシップ
スタッドとドローをカバーします。読み終わる頃には、その難しさに気付くはずです。
この本は 25 年以上前のものですが、良いスタートであることに注意してください。