最初はランダムに5枚のカードを持っています。私が変更できるのは一度だけで、私のシステムではすでに[プログラム]にルールを教えています。私の問題は、「私はこのカードが必要ではない、カードがありますか?私は自分で変更できますが、コンピュータはわかりません。おそらくそれは難しいと思うかもしれませんが、皆さんに何か助けてもらえますか?どのようにしてコンピュータシステムにポーカーをする方法を教えることができますか?
答えて
あなたはExpert Systemのデザインを研究したいと思っています。問題のドメインに適用します。
圧倒的に思われる場合は、小さくしてください。あなたの火かき棒の仲間が貪欲にペアを探し求める(そして3つまたは4つの種類の)ルールの基本的な知識ベースを作成します。それがうまくいくときは、ストレートを構築しようとするルールを追加し、ペアシークを直視してストレートなビルディングを好む場合はルールを適用し、うまくいくと、フラッシュを追加します。継続的で、小さなインクリメントがプロセスの鍵です。
The University of Alberta Computer Poker Research Groupと連絡を取り合うのはどうですか?
+1私の母親のために: –
+1、私は私のdisertationのためにそれらの1つに連絡し、彼らは非常に有用だったし、私がやっていたことに真に興味があった。 –
ゲーム理論やAIのようなサウンドは、ここで研究する必要があります。
もっと簡単なものから始めてそこから作業するのが最善ではないでしょうか?ブラックジャックのように、私は物事の壮大な計画で比較的簡単だろうと思いますか?
単純にポーカープレイプログラムを作成する場合は、上記の提案が役立ちます。あなたがポーカーをする方法を学ぶシステムを構築しようとするなら、ニューラルネットワーク、決定木、遺伝的アルゴリズムなどの機械学習/帰納学習技術を利用する必要があります。サミュエル氏は、パフォーマンスを向上させることを学んだ初期のチェッカープレイプログラムを書いています。
http://en.wikipedia.org/wiki/Arthur_Samuel
機械学習やゲームのサイトでもあります:
が、この時、あまりにも良い仕事をしないように注意してください、またはあなたがの多くを失ってしまう可能性がありお金。デビッド・レヴィによって
alt text http://ecx.images-amazon.com/images/I/616X%2BHJmE7L._SL500_AA240_.jpg
は、スタッドをカバーして描画します。あなたは読書を終えた時点でどれほど難しいのか分かります。
本は25歳以上ですが、それは良いスタートです。
あなたが勉強したいことは、ゲーム理論とデータマイニングです。トッププログラムは、大きなゲーム理論シミュレーションを使用して、できるだけ体系的なミスを少なくするように演劇をランダム化するために使用されるエキスパートシステムの許容誤差を生成する。 Webを十分に検索すると、これらのタイプのソリューションのいくつかの完全な実装が見つかりますが、それらを生成したコードが不足することがよくあります。これらの解決策の1つを受け入れるだけの欠点は、今日の研究の大半がトピックに向かっている相手のミスを十分に活用していないことです。
しかし、想像を絶するAIアルゴリズムを使って、ゲーム理論上の解決策を生み出す方法はいくつかあります。
ポーカー評価者を確認してください。 http://www.codingthewheel.com/archives/poker-hand-evaluator-roundup モンテカルロ分析を使用して、予想を最大化するために捨てるカードを見つける。
- 1. 「タイムアウト」をどのように置き換えることができますか?
- 2. evalをどのように置き換えることができますか?
- 3. フォームタグにどのように幅を与えることができますか?
- 4. ReSharperにカスタムヌルチェックを教えることはできますか?
- 5. UICollectionViewをリロードできるようにデバイスが回転していることをどのように伝えることができますか
- 6. どのようにレジスタを数えることができますか?
- 7. 行がないときにこれをどのように数えることができますか?
- 8. ここにどのファイルが必要かをどのようにして知ることができますか?
- 9. モバイルが落ちたときにトーストをどうやって得るのか教えてもらえますか?
- 10. どのようにしてリストの項目をインデックスで置き換えることができますか
- 11. どのようにすべてのURLを "/"に書き換えることができますか?
- 12. どのようにポーカー(リスト)の手を並べ替えて、それがストレートかロイヤルフラッシュかを検出するにはどうすればいいですか?
- 13. 誰でもこの画像をどのようにするかを教えていただけますか?
- 14. 私はどのようにしてユーザに既存の役割を与えることができますか?
- 15. Andorid studio 3.0.1にコンポーネントのツリービューがあり、どこから有効にすることができるのか誰かに教えてもらえますか?
- 16. どのようにしてカロリーを得ることができますか?
- 17. どのようにしてコンパイルバッファを得ることができますか?
- 18. ルビーのパターンのすべてのインスタンスをどのように置き換えることができますか?
- 19. どのようにして適切な方法でソケットを閉じることができますか?
- 20. どのメニューアイテムがDelphiで開いているかをどのように教えていますか?
- 21. どのようにすべての行の平均を個別に数えることができますか
- 22. xsltを使用してページ内のリンク数をどのように数えることができますか?
- 23. FQL iphoneで 'me()'という用語をどのように置き換えることができますか。
- 24. どのようにlog4jにプロパティファイルがあるのかを伝えることができますか?
- 25. どのように後方にループすることができますか?
- 26. XLPagerTabStripで選択したタブをどのように中央揃えにすることができますか?
- 27. どのようにして列内の単語を切り替えることができますか?
- 28. どのようにして、値のdouble配列リストを並べ替えることができますか?
- 29. どのように並べ替えることができますが、底にゼロを入れますか?
- 30. どのブックがイベントをトリガーしたかをどのようにして知ることができますか?
私はちょうど "エキスパートシステムデザイン"を見ました....このトニーと幸運:....- –
それは確かに簡単な問題ではありません。おそらく、エキスパートシステムを作成する上での最大の問題は、実際のエキスパートにアクセスする必要があるため、適切なルールセットを定義できることです。 –
Doens'tは行く方法のように見えます。 –