見出し画像

ポーカーAI開発の思い

はじめに

ナガメ研究所は今、何をしているの?

現在、ノーリミットテキサスホールデム(以下NL、ポーカー)を行うAIを作成しています。Unity ML-Agents Toolkitを使って強化学習やセルフプレイを試しています。この記事では,考えていることとかつらつら書いていきます。

ポーカーを題材に選んだのはなぜ?

発端は以下の動画。世界のヨコサワさんが日本のポーカーについて熱く語っているのでぜひご視聴ください。自分も何かできることはないかなと思い、得意分野の情報や統計,特にAI技術を用いたエンタメがなにかできないかな~と考えていました。

ゲームとAI

ゲームをするAIはかなり歴史が古く,対象としては囲碁や将棋,チェスが挙げられます.将棋をよく見ているので例にあげてみます.将棋AIは,ほんの数年前まではアマチュア有段者ぐらいのレベルでした.しかしそのうちプロと競うようになり,やがて圧勝するようになりました.今ではAIの盤面評価が解説の上に出ていて,どちらが優勢なのか,今の1手が良かったのか悪かったのか,次に指すべき最も良い手は何かなどがわかるようになっています.藤井聡太五冠(2022/2/12)はAIからも戦法を学んでるらしいですね.このように,人よりも強くなったAIをどう使うかはその人やコミュニティ次第であり,将棋は良い例だと思います.

ポーカーとAIの関係

将棋や囲碁など、ゲームの内容がすべて見えている場合のゲームを完全情報ゲームと呼ばれます。逆に,ポーカーは相手の手札や山札の情報を伏せた状態でゲームが進行することから不完全情報ゲームと呼ばれます。他には麻雀も不完全情報ゲームですね。ざっくりそんな感じです。

このポーカーというゲーム、実は様々な研究がなされており、AI技術よりも先に,数学的なアプローチがあります。ゲーム理論最適戦略(Game Theory Optimal strategy、以下GTO)といいます。
軽くGTOに触れると,特定のプレイを頻繁に行ったり、それをまれに行ったりしているときに、エクスプロイトされるのを回避するためのポーカー戦略の一種です.エクスプロイトとは,相手がセオリー通りじゃないプレイ(例えば弱いハンドを強くみせかけるブラフ)などの弱点をつく戦略です.
強いハンドだけプレイしていると,勝負にだれも乗ってくれませんし,ベットサイズからハンドがバレないように戦略を組むべきです.

GTOを用いて次の手を計算するには,かなりの時間がかかります.そこで,ある程度解を近似できるモデルとしてAIの機械学習が用いられた研究論文があります.具体的な手法の話はそのうち別の記事で書こうと思います
この研究の結果からいうと,1万回ゲームを行い,トッププロより強いAIができているそうです.興味深いのは,GTO戦略に近似したモデルだけで勝ってしまうということです.人間に勝つには,ほぼ完璧なGTO戦略があればよいということですね.GTOに則れば負けることはなく,相手がGTOから外れる行動をすればするだけ利益が得られるので,計算ミスのないAI側に軍配があがったようです.

目標

すでに研究結果もあるので,”単純”に人に勝てるAIを作ることは他所に任せます。そういったところを目指すことは研究分野では価値があっても,ポーカーコミュニティでは否定的に思われることでしょう.ポーカーはオンラインでも実際にお金を賭けて行わていますが(筆者はやったことありませんが),相手がAIでは勝てず,プレイする人口が減ることでポーカーが衰退するのは好ましくないからです.
個人的にやりたいことは、AIが行うポーカーの魅力を発見して、人の興味をそそるようなモノを作ることです.人間らしい読みや、エンタメ性のあるプレイングはできないか?ポーカーをもっと盛り上げるために、AI技術とどう向きあうべきかといったところを考えていきたいです.
しかし、いきなり何をどうしたら良いかわからないので、まずはポーカーがまともにできるAI開発をしようと考えています。強化学習の勉強もかねてそこらへんのノウハウも今後記事にできたらと思います.

ポーカーAIに対する意見

AIでポーカーをやることには批判が多いかもしれません.以下はパッと思いつく内容ですが,他にもあればご意見ください.

  1. ポーカーは人とやるのが面白いのであって,機械とやることに意味はない.

  2. オンラインがAIだらけになったら誰もやらなくなる

  3. ライブでもスマホや小型デバイスなどを使った不正が横行するのではないか

AIに限らず,新しい技術が業界に入ることは避けられず,いつか誰かがやります.(というかもうやられているでしょう)
1に関して,ポーカーAIが浸透してくれば,この意見は最もです.車と人間がフルマラソンの距離を走ってタイムを競うことに意味はありません.最初はAIの性能が悪いのでいい勝負ができて面白いかもしれませんが,高性能になるほど意味は薄れていくでしょう.そこで現在の将棋の世界では,AIはもう先生と呼ばれる立ち位置にいます.ただ,AIの使い方はまだまだあると信じています.

2と3に関して,1で書いたようにAIが成熟してくると問題になってきます.不正にAIやプログラムを使うことを防ぐ手立ては現状ありません.
この問題に関しては,先にAIが人間を超えた分野であるチェスが参考になります.
人間がコンピューターに勝てなくなってもチェスの人気は衰えていない
この記事内に書かれている対策を要約すると
・プレイヤーは携帯電話の持ち込みなし
・観客とのコミュニケーション禁止
また
・プレイヤーのチートが疑われるがチートの仕組みについて確証がない場合、最終手段として「トップコンピュータープログラムとプレイヤーの動きを照合し、一致率が高すぎる場合はプレイヤーを失格とする
といった対策が取られており,さらに観客との間には偏光ガラスがあるそうです.
小規模の大会やゲーム場では対策が難しい場合もありますが,打つ手は十分ありそうです.

おわりに

先程の記事で紹介されたチェスプレイヤーのコメントで,「コンピューター的に考えれば最善手は別にあったが、私は人間として最高のプレイをした」とあるのが興味深いです.観客からすれば人間味のある手のほうが面白く,喜ばれる可能性があります.最善手とは別に,エンタメ性のある試合内容が喜ばれる可能性もあります.ポーカーをもっと盛り上げるにはどういった舵取りが良いのか,悩みますね.

最後まで読んでいただきありがとうございます.ツイッターやyoutubeを今後更新していく予定なので,ぜひフォローよろしくお願いしたします!モチベになります!



この記事が気に入ったらサポートをしてみませんか?