チェス、将棋、囲碁などでAIがプロに勝利できるレベルまで成長していることは、メディアに大きく取り上げられているので知っている人も多いと思います。
上記のゲームでAIが人に勝利することができた一つの要因に、お互いの情報が完全に出そろっていることが挙げられます。将棋や囲碁のように試合全体の情報が明らかになっているゲームは、「完全情報ゲーム」と呼ばれ、AIの演算能力の高さが活きるわけです。
一方、相手プレイヤーの手札や情報を把握できないゲームを「不完全情報ゲーム」と呼び、駆け引きが重要とされているため、AIの苦手な領域だと言われていました。ですが、世の中にはAIで不完全情報ゲームを攻略している団体があります。
世界的な人気を持つ不完全情報ゲームの代表格、人狼とポーカーを攻略する団体を合わせてお届けします。
人狼ゲームを攻略する「人狼知能プロジェクト」
不完全情報ゲームの中でも人気が高い人狼ゲーム。
人狼ゲームの基本ルールを簡単に説明すると、
- 村人チームと村人に扮した人狼チームに分かれてゲームが進行
- 昼と夜のターンがあり、昼には村人に扮した人狼を含め全員で話し合い、人狼だと思う1プレイヤーを多数決でゲームから除外
- 夜には人狼のみが無言で協議し、1プレイヤーを除外
これを繰り返し、村人と人狼の数が同数になった時点で人狼チームが勝利し、村人の方が多いうちに人狼全員をゲームから除外できれば村人チームの勝利となる駆け引きが重要なゲームです。
完全情報ゲームと違い、複雑なコミュニケーションから答えを導き出す必要があるため、人間でも飛び抜けて高い勝率を出すことが難しいゲームです。
その人狼ゲームをAI研究の対象にしているのが「人狼知能プロジェクト」。
人狼知能プロジェクトは情報や人工知能などの専門家たちが集まり「人間と自然なコミュニケーションを取りながら人狼をプレイできるエージェントの構築」を目指しています。
人狼知能プロジェクトの活動は多岐にわたり、
- 人狼知能大会の開催
- 人狼知能ハッカソンやセミナーの開催
- 人狼知能関連の論文・書籍発表
- 人狼知能プラットフォームの公開
などが精力的におこなわれています。
ちなみに、第1回の人狼知能大会が開催されたとき、自然言語処理は大会要件に含まれておらず、特定の単語のみを使いAI同士がプレイしていたようですが、第3回大会からは自然言語処理部門が新設され、より自然なプレイに近い形で大会が行われているようです。
人狼知能プロジェクトのユニークな点は、「人間と自然なコミュニケーションを取りながら人狼をプレイできるエージェントの構築」というゴールに多くの優秀な研究者やエンジニアが集まり、一歩ずつゴールに向かって前進していること。
今後のプロジェクトアップデートも楽しみです。
カーネギメロン大学の誇る“人間を超えた”ポーカーAI「Libratus」
ポーカーといえば、運の要素が強いイメージがありますが、Tuomas Sandholm氏率いるカーネギーメロン大学の研究チームは、運の要素をものともせずトッププレイヤーたちを打ち破るポーカーAI『Libratus』を開発しました。
Sandholm氏はLibratusに採用された3つのシステムモジュールを公開しています。
Libratus開発チームがまずおこなったのは、ゲームの抽象化処理
ポーカーには宇宙に存在する原子の総数よりも多い、10の611乗の判断ポイントがあるため、Libratus開発チームはまずゲームの抽象化処理をおこないました。Libratusでいう抽象化処理とは、以下の通り。
- 似ている打ち手をグループ化し同一のものと認識させる
- 賭け金をある程度の大きさごとに同一のものと認識させる
たとえば、ジャックのフラッシュとクイーンのフラッシュのように、役の強さとしてほとんど変わらないものを同一のものと認識させることで、全体の演算量は大きく変わっていきます。また、ポーカーの醍醐味ともいえる賭け金の設定も、ある程度の金額ごとにまとめることで、演算量は大きく減少することになります。
戦略の切り替えでプレイの中で成長
その上でLibratus開発チームは、ブループリント戦略と呼ばれる、ゲーム初期では詳細な戦略を元にプレイし、ゲームが進むにつれて粗い戦略に切り替えていく戦い方を採用しました。
この戦略を採用することで、ほかのプレイヤーが既存の抽象化モデルに含まれていない動きをしたとき、Libratusはゲーム中に部分的なゲームの演算をおこない、それまでのプレイデータを元にした新たな抽象化モデルを作り上げることになります。この方式は、Nested subgame solvingと呼ばれています。
自動補正でブループリント戦略を下支え
最後のモジュールは、ブループリント戦略の穴を補完するための自動補正です。ゲームAIによく用いられる機械学習では、それまでの相手のプレイを分析して答えを導き出すため、相手が急にプレイスタイルを変更した場合に、対応が遅れてしまうという弱点があります。そのため、Liberatus開発チームはプレイヤーの打ち手を分析するのではなく、賭け金の動きを分析することで、Libratus自体のプレイに穴がないか判断する方式を採用しました。
上記3つのモジュールの組み合わせにより、Libratusはプロポーカープレイヤーを打ち倒すだけでなく、2016年度のポーカーAI大会で優勝したAIをも打ち倒し、トップポーカーAIの座を勝ち取りました。
不完全情報ゲームの攻略は難しい。だからこそ取り組む価値がある。
完全情報ゲームにおいて、AIの実力は人間を超えたと言われていますが、不完全情報ゲームの攻略にはまだまだたくさんの課題が残されています。
不完全情報ゲームでは、ほかのプレイヤーとどうコミュニケーションを取るのかが重要ですが、人間と対等レベルのコミュニケーションを反映するゲームAIはまだ実現できていないのが現状。今人間に勝利したといっても、少し条件が変わることでAIはあっさり負けてしまうかもしれません。
今はまだ限定条件下での強さでしかない不完全情報ゲームAIですが、これからどう発展していくのか、目が離せません。
関連記事: