AIブームと呼ばれて久しいが、AIといわれて最初に思い浮かべるものは何だろうか。筆者の場合は、子供のころから慣れ親しんでいた「ゲーム」である。今回は、ゲーム内で使われるゲームAIを現実世界で応用することについて考えてみる。
ゲームAIの特徴は人間との協調
一般にゲームAIとは、コンピュータを用いてゲーム内のキャラクターを自動で動かすための技術である。その歴史は古く、すでに1940年には2人で石を取り合うゲーム「Nim」において、コンピュータが対戦相手を務めるNimatronが開発されている。その後、家庭用コンピュータやビデオゲームの普及に伴い発展し、近年でもAlphaGoが囲碁の世界チャンピオンに勝つなど、研究が続いている分野である。
ゲームAIの種類は、大きく以下の3つに分けられる。
- キャラクターAI:ゲーム内のキャラクター(敵や仲間)を自律的に動かす
- ナビゲーションAI:ゲーム内の最適な移動経路を探索する
- メタAI:ゲーム難易度の調整やキャラクターAI群の管理を行う
たとえばサッカーゲームを考えると、キャラクターAIは各選手の動きを制御して、ボールを持っている選手に近づきボールを奪う、敵に囲まれたらパスを出す、などの行動を行う。しかし、全選手が同じ行動をとると、全員でボールに向かっていくなど無駄が大きい。そこで、メタAIがプレイヤーやキャラクターAIの位置情報などに基づいてボールを取りに行く選手を決定し、ナビゲーションAIがその時の経路を決定する、といった形で役割分担が行われる。
ゲームAIの特徴は、メタAIが存在することである。メタAIが人間の動きに合わせてキャラクターAIたちの動きを調整することで、人間とAIの連携を生み出している。また、ゲームを面白くするためにキャラクターAIの動きを制限することで、難易度を適切に調整することもメタAIの仕事の一つである。キャラクターAIを取りまとめて指示を送るとともに、キャラクターたちの業務負荷(難易度)の調整も行っている。さしずめメタAIは、ゲームの中の管理職といった存在なのだ。
管理職AIが人間とロボットの懸け橋となる
AIの発達が目覚ましい一方で、現実世界の多くの業務はAIだけでまかなうことができないのが現状である。とくに現実世界の様々な業務を行うためには、ロボットなどの機械を介する必要があるだろう。一部の大規模な倉庫では多数のロボットを利用して物品の運搬を行う取り組みが始まっているように、今後さらにロボットを活用した業務が増えてくると考えられる。一方でロボットを利用できる場所を増やすためには、ロボットと人間が一緒に働くことが必要になるだろう。その際に、ゲームAIで培われたメタAIの技術が活躍するのではないだろうか。
たとえばコンビニでロボットを活用することを考えると、レジや掃除、品出し、質問への回答などの業務にロボットが導入されるだろう。このとき、従業員とロボットにどのように仕事を割り振るのが良いだろうか。人間にもロボットにも得意な仕事と苦手な仕事があるが、それに専念させるだけでは無駄が多い。ときにはレジに人が足りないから人間が応援に入る、顧客対応中にロボットに任せられそうだと判断したらバトンタッチする、などの臨機応変さが求められる。
ここでメタAIを利用することで、店舗の状況を判断し臨機応変に人間とAIに適切な指示出しができるようになるのではないか。さらにゲームで培われた難易度調整のノウハウを生かせば、人間にとって無理なく、かつ最大パフォーマンスを発揮できる業務量を個々人の能力に合わせて調整することも可能である。まさに店舗全体のマネージメントを行う管理職AIである。
管理職AIの学習もゲームにお任せ
では、管理職AI(メタAI)にどうやって最適なマネージメントを学習させればよいだろうか。一つの方法は、その学習にもゲームを利用することだろう。ゲームの環境やゲームAIの構築は、Unityなどのゲームエンジンによって利用しやすい形で一般化されてきている。これらを利用することで、開発の手間が削減できるだろう。ゲームエンジンを利用して店舗レイアウトなどの環境を構築し、キャラクターAIを配置して負荷状況に応じた必要な人数や業務の割り振りを学習するためのシミュレータを構築するのである。
また、管理職AIを学習させる際に重要になるのが、人間の客や従業員の動きを再現することだろう。人間の動きを再現する方法は、二つ考えれられる。一つは、現実の店舗にカメラなどのセンサーを取り付け人間の動きを計測し、構築したシミュレータ上で再現する、いわゆるデジタルツインと呼ばれる手法である。そしてもう一つは、既存のゲームの内部に管理職AI学習用の環境を構築してしまう方法だ。共通のゲームエンジンで構築された環境であれば、管理職AI学習用の環境のゲームへの移植も少ない手間ですみ、ゲームのプレイヤーを用いて人間の動きを学習することができるはずだ。
ゲーム開発会社からすれば、管理職AI開発会社が費用を負担してくれれば、安価にゲームを開発することができる。また、管理職AI開発会社にとっては、ゲームのプレイデータを提供してもらうことで、さまざまなバリエーションのある人間の動きを管理職AIに学習させることが可能となるのである。ゲーム内に学習したい対象の建物を用意し、プレイヤーに客や従業員として学習に参加してもらい、ゲーム内の通貨やアイテムで報酬を支払うという形も可能と考えられる。
ゲーム開発会社と管理職AI開発会社を結ぶプラットフォームの構築が、管理職AIの開発を加速する。既存の枠組みをうまく使えば、管理職AIの実現もそう遠くないのかもしれない。
人間とAIの協働を目指して
人間とAIが共に働く世界はすぐそこまで迫っている。AIと人間が持ち味を生かしつつ、最大限のパフォーマンスを発揮できるように管理していくことがより求められるだろう。人間とAIの協働に向けて、これからもゲームAIは「ガンガンいこうぜ」であり続けてほしいものだ。