ページ 11

ポーカーゲームにおけるCPUの思考ルーチンの実装

Posted: 2012年4月03日(火) 15:17
by サンタクロース
こんばんわ

今回はポーカーゲームにおけるCPUの思考ルーチンの実装の仕方について質問したいと思います

私が現在作っているポーカーゲームでは、プレイヤーとCPU4人の計5人で行われるものです

そこでCPUには以下の動作をさせたいのです
・「レイズ」「ドロップ」「コール」の選択する
・カードチェンジする時に、どのカードを捨てるかを決める

今の私では、これらの動作を実現するためには、状況ごとにif文を多用して力技で実装するくらいしか思いうかばないのですが、よりスマートな実装方法は存在するのでしょうか?
もしあるのならば、さわり程度にご教授いただければと思います

ちなみにif文を多用して力技で実装するというのは、
例えば、「手札の役が良ければ、レイズ(掛け金を上げる)する」
   「手札に役がなく明らかに勝てなそうであれば(ドロップ)する」というものです。
もちろんこれだけでは相手の手が丸わかりになってしまうので、
「たまに、手札に役が無くてもレイズ(掛け金を上げる)する」というブラフ行為を
乱数によって実装しようと思っています

Re: ポーカーゲームにおけるCPUの思考ルーチンの実装

Posted: 2012年4月03日(火) 15:36
by beatle
基本的にはif文多用になると思います。
スマートと言えるかは分かりませんが、その他には機械学習を用いる手法もあります。
まあ要するに、ポーカーの対戦記録をいっぱい集めてきて、その中から勝利パターンを見つけてくるってわけです。
if文多用より難しいかもしれませんね。データ集めも、学習も。

Re: ポーカーゲームにおけるCPUの思考ルーチンの実装

Posted: 2012年4月03日(火) 22:26
by softya(ソフト屋)
まあ間違いなくif文と条件テーブルになるでしょう。
ニューラルネットワークなどのAI学習システムを導入して学習させる方法もあります。

googleで参考になるリンクを検索してみて下さい。
「人工知能 ポーカー - Google 検索」 人工知能なので難しい内容が多いとは思います。
https://www.google.co.jp/search?num=50& ... 3l0.frgbld.

Re: ポーカーゲームにおけるCPUの思考ルーチンの実装

Posted: 2012年4月09日(月) 21:24
by サンタクロース
>>beatleさん、softyaさん 回答ありがとうございます

人工知能を理解し組み込もうとすると大分時間がかかると思うので、いったんはif文の分岐によって完成させたいと思います

人工知能については、麻雀ゲーム(作るとしたらですが)を作るときに、そのあたりに学習しようと思います