
PORKER
何を作ったのか
PORKERは、手札4枚のオマハホールデムを対象にした最善手予測アプリです。
その時点の状況を入力すると、有力なアクションを予測して表示し、
プレイヤーが判断の参考にできるようにしています。
さらに、アプリ内ではその予測AIを使ったCPU対戦もでき、
解析ツールとしてだけでなく実戦練習の場としても使える構成にしています。
取り組んだこと
- テキサスホールデムより分岐が大きい、オマハ特有の複雑な意思決定を扱うこと
- 最善手予測だけでなく、同じAIを相手にしたCPU対戦まで一体化すること
- 強化学習や教師あり学習を含めたAI構築の実験
- 手入力の負担を減らすため、OpenCVとOCRを使った状況入力の補助
狙い
題材としてオマハを選んだのは、
テキサスホールデムよりも手札が多く判断が難しいこと、
そしてテキサス向けの強いAIはすでに存在していたことが理由です。
難しいゲームに対して、自分たちでエンジンから作り、
どこまで実用的な予測AIを組めるかを試したプロジェクトでもあります。
技術的には、強化学習による学習も試しましたが、
当時は十分に強いAIを作るところまでは到達できませんでした。
一方で、プロの対戦履歴を入手できたため、
それを使った教師あり学習では比較的実用的な強さのAIを作ることができました。
このためPORKERは、試行錯誤の結果として
「理論上の学習手法を試す場」から「実際に使える予測アプリ」へ形を変えていった作品でもあります。
また、状況入力を毎回手で行うのは負担が大きいため、
画像認識で自動化できないかにも挑戦しました。
当時は現在のような高性能な画像解析AIを使える状況ではなかったため、
OpenCVとOCRを組み合わせて画面から情報を拾う仕組みを作っています。
精度面ではまだ課題がありましたが、
実用性を高めるために周辺体験まで含めて工夫したプロジェクトでした。