IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社Cygamesの特許一覧

特開2023-155679形勢評価装置、形勢評価方法、およびプログラム
<>
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図1
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図2
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図3
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図4
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図5
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図6
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図7
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図8
  • 特開-形勢評価装置、形勢評価方法、およびプログラム 図9
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023155679
(43)【公開日】2023-10-23
(54)【発明の名称】形勢評価装置、形勢評価方法、およびプログラム
(51)【国際特許分類】
   G06N 5/04 20230101AFI20231016BHJP
   A63F 13/79 20140101ALI20231016BHJP
   A63F 13/80 20140101ALI20231016BHJP
   G06N 5/025 20230101ALI20231016BHJP
【FI】
G06N5/04
A63F13/79
A63F13/80 B
G06N5/02 150
【審査請求】有
【請求項の数】15
【出願形態】OL
(21)【出願番号】P 2022065152
(22)【出願日】2022-04-11
(11)【特許番号】
(45)【特許公報発行日】2022-12-08
(71)【出願人】
【識別番号】511249637
【氏名又は名称】株式会社Cygames
(74)【代理人】
【識別番号】100110928
【弁理士】
【氏名又は名称】速水 進治
(74)【代理人】
【識別番号】100127236
【弁理士】
【氏名又は名称】天城 聡
(72)【発明者】
【氏名】倉林 修一
(57)【要約】
【課題】新たなゲーム形勢評価技術を提供する。
【解決手段】本発明は、過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶部11と、評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得部12と、参照データの中から、対象状態情報と類似する参照状態情報を抽出する検索部13と、抽出された参照状態情報に紐付くゲーム結果に基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価する評価部14と、評価の結果を出力する出力部15と、を有する形勢評価装置10を提供する。
【選択図】図2
【特許請求の範囲】
【請求項1】
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶部と、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得部と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索部と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価部と、
前記評価の結果を出力する出力部と、
を有する形勢評価装置。
【請求項2】
前記評価部は、抽出された前記参照状態情報に紐付く前記ゲーム結果を計量し、
前記出力部は、前記計量の結果を、前記評価の結果として出力する請求項1に記載の形勢評価装置。
【請求項3】
前記検索部は、最近傍探索又は近似最近傍探索で、前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項1又は2に記載の形勢評価装置。
【請求項4】
前記参照データは、前記ゲームプレイの特性に基づきグループ化され、
前記参照データ記憶部は、前記グループ毎に前記参照データを記憶し、
前記検索部は、前記評価対象のゲームプレイの特性に基づき前記評価対象のゲームプレイが属する前記グループを特定し、特定した前記グループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項1又は2に記載の形勢評価装置。
【請求項5】
前記参照データは、前記ゲームプレイの特性に基づきグループ化され、
前記参照データ記憶部は、前記グループ毎に前記参照データを記憶し、
前記検索部は、前記評価対象のゲームプレイの特性に基づき前記評価対象のゲームプレイが属する前記グループを特定し、特定した前記グループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項3に記載の形勢評価装置。
【請求項6】
前記ゲームプレイは、先手及び後手が交互にアクションを行うゲームのプレイであり、
前記参照データは、初手から数えたアクション回数に基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの前記評価時点におけるアクション回数をさらに取得し、
前記検索部は、前記評価時点におけるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項4に記載の形勢評価装置。
【請求項7】
前記ゲームプレイは、先手及び後手が交互にアクションを行うゲームのプレイであり、
前記参照データは、初手から数えたアクション回数に基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの前記評価時点におけるアクション回数をさらに取得し、
前記検索部は、前記評価時点におけるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項5に記載の形勢評価装置。
【請求項8】
前記検索部は、(前記評価時点におけるアクション回数-α)から(前記評価時点におけるアクション回数+α)に含まれるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項6に記載の形勢評価装置。
【請求項9】
前記検索部は、(前記評価時点におけるアクション回数-α)から(前記評価時点におけるアクション回数+α)に含まれるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項7に記載の形勢評価装置。
【請求項10】
前記ゲームプレイは、先手及び後手各々がキャラクタを選択して行うゲームのプレイであり、
前記参照データは、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイで先手が選択したキャラクタ及び後手が選択したキャラクタを示す情報をさらに取得し、
前記検索部は、前記評価対象のゲームプレイにおいて先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項4に記載の形勢評価装置。
【請求項11】
前記参照データは、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性をさらに取得し、
前記検索部は、前記評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項4に記載の形勢評価装置。
【請求項12】
複数のプレイヤーによって過去に実行された複数回のゲームプレイの前記ログデータの中から、プレイヤー特性が所定条件を満たす前記プレイヤーによって過去に実行されたゲームプレイの前記ログデータを抽出し、抽出した前記ログデータに基づき前記参照データを作成する参照データ作成部をさらに有する請求項1又は2に記載の形勢評価装置。
【請求項13】
前記ゲームプレイ中のゲーム状態は多次元のベクトルで表現され、
前記参照状態情報及び前記対象状態情報は、前記多次元のベクトルを含み、
前記多次元のベクトルの中に、ゲーム中に使用されるオブジェクトに関連するベクトルが含まれ、
前記検索部は、前記対象状態情報に含まれる前記多次元のベクトルの中に、前記新オブジェクトに関連するベクトルが含まれている場合、所定の変換情報を用いて、前記多次元のベクトルの中の前記新オブジェクトに関連するベクトルを、前記新オブジェクトと異なる他の前記オブジェクトに関連するベクトルに変換し、変換後の前記多次元のベクトルを用いて、前記対象状態情報と類似する前記参照状態情報を抽出する請求項1又は2に記載の形勢評価装置。
【請求項14】
コンピュータが、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶し、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得工程と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索工程と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価工程と、
前記評価の結果を出力する出力工程と、
を実行する形勢評価方法。
【請求項15】
コンピュータを、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶手段、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得手段、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索手段、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価手段、
前記評価の結果を出力する出力手段、
として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、形勢評価装置、形勢評価方法、およびプログラムに関する。
【背景技術】
【0002】
近年、将棋のネット中継が人気を集めている。この中継では、将棋AI(Artificial Intelligence)による形勢評価(どちらが有利か)がリアルタイム表示されるため、難しい将棋の形勢を初心者でも容易に理解できる。非特許文献1に、将棋の形勢評価を行う技術が開示されている。
【先行技術文献】
【非特許文献】
【0003】
【非特許文献1】Yoko Nishihara, Reona Takayama, Kensuke Hishida, and Ryosuke Yamanishi. 2018. Enjoy Watching Japanese Chess Games like Football: an Evaluation Method of Game Positions for Beginners. In Proceedings of the 2018 Annual Symposium on Computer-Human Interaction in Play Companion Extended Abstracts (CHI PLAY '18 Extended Abstracts). Association for Computing Machinery, New York, NY, USA, 569-575、[online]、2018年10月23日、[2022年3月24日検索]、インターネット<URL: https://dl.acm.org/doi/10.1145/3270316.3271508>
【発明の概要】
【発明が解決しようとする課題】
【0004】
本発明者は、形勢評価AIをeスポーツにも導入し、急速に戦術が高度化するeスポーツにおける攻防の妙を、初心者でも直感的に理解できるようにすることを検討した。しかし、ルールがほぼ固定された将棋と異なり、eスポーツでは頻繁に更新されるルールやゲーム要素に対応可能なAIが求められる。非特許文献1に開示の技術は、将棋の形勢評価を行う技術であり、上記理由等からeスポーツの形勢評価にそのまま利用することは難しい。
【0005】
本発明は、新たなゲーム形勢評価技術を提供することを課題とする。
【課題を解決するための手段】
【0006】
本発明の一態様によれば、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶部と、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得部と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索部と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価部と、
前記評価の結果を出力する出力部と、
を有する形勢評価装置が提供される。
【0007】
また、本発明の一態様によれば、
コンピュータが、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶し、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得工程と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索工程と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価工程と、
前記評価の結果を出力する出力工程と、
を実行する形勢評価方法が提供される。
【0008】
また、本発明の一態様によれば、
コンピュータを、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶手段、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得手段、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索手段、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価手段、
前記評価の結果を出力する出力手段、
として機能させるプログラムが提供される。
【発明の効果】
【0009】
本発明の一態様によれば、新たなゲーム形勢評価技術が実現される。
【図面の簡単な説明】
【0010】
上述した目的、およびその他の目的、特徴および利点は、以下に述べる公的な実施の形態、およびそれに付随する以下の図面によってさらに明らかになる。
【0011】
図1】形勢評価装置のハードウエア構成の一例を示す図である。
図2】形勢評価装置の機能ブロック図の一例を示す図である。
図3】形勢評価装置により実現される情報の一例を模式的に示す図である。
図4】形勢評価装置の処理の流れの一例を示すフローチャートである。
図5】形勢評価装置の機能ブロック図の他の一例を示す図である。
図6】実施例のゲームの盤面の一例を模式的に示す図である。
図7】実施例のアーキテクチャの一例を模式的に示す図である。
図8】実施例のログデータ及び参照データの構成を模式的に示す図である。
図9】実施例のゲーム状態を示すベクトルの一例を模式的に示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施の形態について、図面を用いて説明する。尚、すべての図面において、同様な構成要素には同様の符号を付し、適宜説明を省略する。
【0013】
<第1の実施形態>
「概要」
本実施形態の形勢評価装置は、過去に実行された複数回のゲームプレイのログデータに基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価する。
【0014】
より具体的には、形勢評価装置は、過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶しておく。すなわち、参照データは、過去に実行された複数回のゲームプレイにおいて実際に生じたゲーム状態と、そのようなゲーム状態になった後の実際のゲーム結果とを紐付けたデータである。
【0015】
そして、形勢評価装置は、評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得すると、上記参照データの中から、対象状態情報と類似する参照状態情報を抽出する。次いで、形勢評価装置は、抽出された参照状態情報に紐付くゲーム結果に基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価する。
【0016】
「ハードウエア構成」
次に、形勢評価装置のハードウエア構成の一例を説明する。形勢評価装置の各機能部は、任意のコンピュータのCPU(Central Processing Unit)、メモリ、メモリにロードされるプログラム、そのプログラムを格納するハードディスク等の記憶ユニット(あらかじめ装置を出荷する段階から格納されているプログラムのほか、CD(Compact Disc)等の記憶媒体やインターネット上のサーバ等からダウンロードされたプログラムをも格納できる)、ネットワーク接続用インターフェイスを中心にハードウエアとソフトウエアの任意の組合せによって実現される。そして、その実現方法、装置にはいろいろな変形例があることは、当業者には理解されるところである。
【0017】
図1は、形勢評価装置のハードウエア構成を例示するブロック図である。図1に示すように、形勢評価装置は、プロセッサ1A、メモリ2A、入出力インターフェイス3A、周辺回路4A、バス5Aを有する。周辺回路4Aには、様々なモジュールが含まれる。形勢評価装置は周辺回路4Aを有さなくてもよい。なお、形勢評価装置は物理的及び/又は論理的に分かれた複数の装置で構成されてもよい。この場合、複数の装置各々が上記ハードウエア構成を備えることができる。
【0018】
バス5Aは、プロセッサ1A、メモリ2A、周辺回路4A及び入出力インターフェイス3Aが相互にデータを送受信するためのデータ伝送路である。プロセッサ1Aは、例えばCPU、GPU(Graphics Processing Unit)などの演算処理装置である。メモリ2Aは、例えばRAM(Random Access Memory)やROM(Read Only Memory)などのメモリである。入出力インターフェイス3Aは、入力装置、外部装置、外部サーバ、外部センサ、カメラ等から情報を取得するためのインターフェイスや、出力装置、外部装置、外部サーバ等に情報を出力するためのインターフェイスなどを含む。入力装置は、例えばキーボード、マウス、マイク、物理ボタン、タッチパネル等である。出力装置は、例えばディスプレイ、スピーカ、プリンター、メーラ等である。プロセッサ1Aは、各モジュールに指令を出し、それらの演算結果をもとに演算を行うことができる。
【0019】
「機能構成」
次に、本実施形態の形勢評価装置の機能構成を詳細に説明する。図2に、本実施形態の形勢評価装置10の機能ブロック図の一例を示す。図2に示すように、形勢評価装置10は、参照データ記憶部11と、取得部12と、検索部13と、評価部14と、出力部15とを有する。
【0020】
参照データ記憶部11は、過去に実行された複数回のゲームプレイのログデータに基づき生成された参照データを記憶する。参照データは、過去に実行された複数回のゲームプレイにおいて実際に生じたゲーム状態と、そのようなゲーム状態になった後に決した実際のゲーム結果とを紐付けたデータである。
【0021】
「ログデータ」は、ゲームプレイ中のゲーム状態、ゲーム内でプレイヤーが選択したアクション(プレイヤーが選択した操作)、及びその後に決したゲーム結果を特定可能なデータである。例えば、ログデータは、最初のゲーム状態と最初のアクションの対、そして、そのアクションの影響を受けた結果としてのゲーム状態と次のアクションの対、を繰り返し、最終的に勝敗が決した最終状態で終端した配列である。
【0022】
「ゲーム状態」は、ゲームから取得できるものであって、ゲーム結果に影響し得る少なくとも1つのパラメータの値で特定される。以下、ゲーム状態を特定するためのパラメータを、ゲーム状態特定パラメータと呼ぶ。ゲーム状態特定パラメータの値は、ゲームの進行に従い変化し得る。どのようなパラメータをゲーム状態特定パラメータとするかは様々であり、ゲームの種類や内容等に応じて決定できる。
【0023】
例えば対戦型のカードゲームの場合、盤面のカード情報、手札数、破棄されたカード枚数、プレイヤーの体力、各種ポイント(カードを場に出すために消費するポイント、カードを進化させるために消費するポイント等)、ターン数、リーダーキャラ情報等が例示されるが、これらに限定されない。なお、ここでは対戦型のカードゲームを例に説明したが、本実施形態で利用できるゲームの種類はこれに限定されない。
【0024】
ゲームにおいて、ゲーム状態特定パラメータの値は、数値、変数名等を取り得る。参照データにおいて、各ゲーム状態特定パラメータの値は、ゲームで利用される数値や変数名をそのまま利用してもよい。しかし、以下で説明する検索部13による検索のし易さ等を考慮すると、ゲームで利用される数値や変数名を所定のルールで正規化し(例:0~1)、ベクトルにエンコードした値を、参照データにおけるゲーム状態特定パラメータの値とすることが好ましい。これにより、ある特定のゲーム状態同士の類似性を、ベクトル間の類似性として定量的に計量することが可能となる。
【0025】
「ゲーム内でプレイヤーが選択したアクション(プレイヤーが選択した操作)」は、ゲーム内でプレイヤーの入力により選択されたアクションである。例えば対戦型のカードゲームの場合、カードの利用(どのカードを利用したかも示される)等が例示される。
【0026】
「ゲーム結果」は、ゲームの種類や内容等に応じて定義される。例えば、対戦型のカードゲームの場合、ゲーム結果は「先手勝利」及び「後手勝利」を含むことができる。また、「引き分け」という結果があり得るゲームの場合、ゲーム結果は「引き分け」を含んでもよい。また、スコアで競い合うゲームの場合、ゲーム結果は「P点差以上で先手勝利」、「P点差以内で先手勝利」、「P点差以上で後手勝利」及び「P点差以内で後手勝利」を含んでもよい。
【0027】
取得部12は、評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する。対象状態情報において、ゲーム状態は、参照データと同様にゲーム状態特定パラメータの値で示される。
【0028】
取得部12は、オンラインゲームのゲームサーバやプレイヤー端末(パーソナルコンピュータ、スマートフォン、タブレット端末、携帯電話、ゲーム端末等)から対象状態情報等の各種情報を取得することができる。取得部12は、ゲームの実行中、一定時間ごとに繰り返し対象状態情報を取得することができる。
【0029】
検索部13は、参照データ記憶部11が記憶する参照データの中から、取得部12が取得した対象状態情報と類似する参照状態情報を抽出する。検索部13は、最近傍探索又は近似最近傍探索で、上記抽出を実現することができる。
【0030】
例えば、参照データは、ゲームプレイの特性に基づきグループ化される。すなわち、ゲームプレイの特性が一致するもの又は所定レベル以上類似するもの同士でまとめてグループ化される。そして、参照データ記憶部11は、グループ毎に参照データを記憶する。グループ化に利用するゲームプレイの特性は様々であり、ゲームの種類や内容等に応じて決定できる。例えば、対戦型のカードゲームの場合、プレイヤーが選択したキャラクタを採用してもよい。その他、ターン数などのゲームのパラメータの値を、上記ゲームプレイの特性として利用してもよい。その他、プレイヤー特性(ゲームの習熟度(上級者、中級者、初級者)、性別、国籍、年齢層、プレイ年数等)を、上記ゲームプレイの特性として利用してもよい。そして、検索部13は、評価対象のゲームプレイの特性(又は、評価対象のゲームプレイの評価時点における特性)に基づき評価対象のゲームプレイが属するグループを特定し、特定したグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出する。なお、当該構成の具体例は、以下の実施形態で説明する。
【0031】
評価部14は、検索部13により抽出された参照状態情報に紐付くゲーム結果に基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価する。評価部14は、評価対象のゲームプレイの評価結果が、上述のように定義される複数のゲーム結果(「先手勝利」、「後手勝利」等)各々となる確率を、検索部13により抽出された参照状態情報に紐付くゲーム結果に基づき算出する。
【0032】
具体的には、評価部14は、検索部13により抽出された複数の参照状態情報に紐付く複数のゲーム結果の中に、複数のゲーム結果各々が含まれる割合を、複数のゲーム結果各々の上記確率として算出する。例えば、検索部13によりM個の参照状態情報が抽出され、そのうちのM個が「先手勝利」というゲーム結果と紐付く場合、評価部14は先手勝利となる確率としてM/Mを算出する。
【0033】
なお、評価部14は、算出した上記確率を補正する手段を備えてもよい。一例として、評価部14は、検索部13により抽出された複数の参照状態情報の集合と、対象状態情報との類似度に基づき、算出した上記確率を補正してもよい。評価部14は、類似度が高いほど補正処理の後の上記確率が高くなるように補正する。例えば、「類似度が基準値以上の場合は補正なしで、類似度が基準値未満の場合は算出した上記確率を下げる」というルールで補正処理を行ってもよい。下げ幅は類似度と基準値との乖離の大きさに応じたものとしてもよい。なお、当該補正のルールはあくまで一例であり、これに限定されない。
【0034】
「検索部13により抽出された複数の参照状態情報の集合と、対象状態情報との類似度」は、例えば、検索部13により抽出された複数の参照状態情報各々と、対象状態情報との類似度の統計値(平均値、最大値、最小値、最頻値、中央値等)としてもよいし、その他の手段で算出してもよい。
【0035】
算出した上記確率を補正する手段の他の例として、評価部14は、検索部13により抽出された複数の参照状態情報各々の元となったゲームプレイが実行されたタイミングと現時点との乖離に基づき、算出した上記確率を補正してもよい。評価部14は、上記乖離が小さいほど補正処理の後の上記確率が高くなるように補正する。例えば、「上記乖離が基準値未満の場合は補正なしで、上記乖離が基準値以上の場合は算出した上記確率を下げる」というルールで補正処理を行ってもよい。下げ幅は上記乖離と基準値との差の大きさに応じたものとしてもよい。なお、当該補正のルールはあくまで一例であり、これに限定されない。
【0036】
「検索部13により抽出された複数の参照状態情報各々の元となったゲームプレイが実行されたタイミング」は、検索部13により抽出された複数の参照状態情報各々の元となったゲームプレイが実行されたタイミング(日時)の統計値(最も古いタイミング、最も新しいタイミング、最頻値、中央値等)とすることができる。
【0037】
このように、評価部14は、検索部13により抽出された参照状態情報に紐付くゲーム結果を計量(統計、補正等)することで、ゲーム形勢を評価することができる。
【0038】
出力部15は、評価部14によるゲーム形勢の評価の結果を出力する。例えば、出力部15から出力されたゲーム形勢の評価の結果は、ゲームサーバに入力されてもよい。そして、評価対象のゲームプレイのゲーム画面上にゲーム形勢の評価の結果が表示されてもよい。その他、出力部15から出力されたゲーム形勢の評価の結果は、ゲームの視聴者用の画面を生成するシステムに入力されてもよい。そして、ゲームの視聴者用の画面上にゲーム形勢の評価の結果が表示されてもよい。図3に、ゲーム画面上やゲームの視聴者用の画面上に表示されるゲーム形勢の評価の結果の一例を示す。図3に示す例では、ゲーム結果は「先手勝利」又は「後手勝利」であり、各々となる確率がゲーム形勢の評価の結果として示されている。
【0039】
なお、上述した機能を備える形勢評価装置10は、ゲームサーバ上に実現されてもよい。すなわち、ゲームサーバと形勢評価装置10は物理的及び/又は論理的に一体となって構成されてもよい。その他、形勢評価装置10は、プレイヤー端末上に実現されてもよい。すなわち、プレイヤー端末と形勢評価装置10は物理的及び/又は論理的に一体となって構成されてもよい。その他、形勢評価装置10は、ゲームサーバ及びプレイヤー端末とは物理的及び/又は論理的に分かれた独立した装置であってもよい。
【0040】
次に、図4のフローチャートを用いて、形勢評価装置10の処理の流れの一例を説明する。以下の処理は、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価する処理である。当該処理の前に、予め、過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データが参照データ記憶部11に記憶されている。
【0041】
まず、取得部12は、評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する(S10)。次いで、検索部13は、参照データ記憶部11に記憶されている参照データの中から、S10で取得された対象状態情報と類似する参照状態情報を抽出する(S11)。次いで、評価部14は、S11で抽出された参照状態情報に紐付くゲーム結果に基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価する(S12)。そして、出力部15は、S12で算出された評価の結果、すなわち評価対象のゲームプレイの評価時点におけるゲーム形勢を示す情報を出力する(S13)。
【0042】
形勢評価装置10は、評価対象のゲームプレイの実行中、上記処理を繰り返し行うことができる。
【0043】
「作用効果」
本実施形態の形勢評価装置10によれば、ゲームプレイ中に起こり得るゲーム状態と、そのようなゲーム状態になった後のゲーム結果の実績とに基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価することができる。このため、ゲームのルールやゲーム要素を考慮せずに、ゲーム形勢を評価することが可能となる。結果、ルールやゲーム要素が頻繁に更新されたりするゲームにおいても、当該技術を利用してゲーム形勢を評価することができる。
【0044】
また、形勢評価装置10は、過去のログデータに基づき、そのような状態になった場合に各ゲーム結果となる確率を算出し、その確率をゲーム形勢の評価の結果として出力することが分かる。このため、視聴者が分かり易く、かつ納得し易い評価の結果を出力することができる。
【0045】
<第2の実施形態>
第2の実施形態では、形勢評価装置10の構成、具体的には参照データのデータベースの構成、及び当該データベースを検索する処理が具体化される。
【0046】
ゲーム状態が互いに同様の状態であったとしても、そのタイミング、すなわちゲームの序盤か、中盤か、終盤か等に応じて、ゲーム結果が互いに異なり得る。第2の実施形態の形勢評価装置10は、当該点を考慮して、ゲーム形勢を評価することができる構成を備える。
【0047】
第2の実施形態のゲームは、先手及び後手が交互にアクションを行う対戦型のゲームである。例えば、対戦型のカードゲーム等が該当する。
【0048】
そして、第2の実施形態では、参照データは、初手から数えたアクション回数(「ターン数」という場合もある)に基づきグループ化される。すなわち、参照データ記憶部11は、初手から数えたアクション回数に応じて複数の参照データをグループ化し、グループ毎に分けて参照データを記憶する。
【0049】
例えば、アクション回数別にグループを作成してもよい。この場合、アクション回数1に対応するグループ、アクション回数2に対応するグループ等が作成される。その他、複数のアクション回数別にグループを作成してもよい。例えば、連続する所定数のアクション回数をまとめて1つのグループとしてもよい。この場合、例えば、アクション回数1~3に対応するグループ、アクション回数4~6に対応するグループ等が作成される。
【0050】
取得部12は、評価対象のゲームプレイの評価時点におけるアクション回数をさらに取得する。そして、検索部13は、評価対象のゲームプレイの評価時点におけるアクション回数に対応するグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出する。
【0051】
なお、検索部13は、(評価対象のゲームの評価時点におけるアクション回数-α)から(評価対象のゲームの評価時点におけるアクション回数+α)に含まれるアクション回数各々に対応する1つ又は複数のグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出してもよい。αは正の整数であり、具体的な値は設計的事項であるが、例えば3~5程度とすることができる。アクション回数がわずかに違っても、ゲーム状態が互いに同様の状態になれば、同様のゲーム結果になる場合が多い。評価対象のゲームの評価時点におけるアクション回数に対応するグループのみならず、上述のような複数のグループに属する参照データを検索対象とすることで、抽出される参照データの数を増やすことができる。結果、より信頼度の高いゲーム形勢の評価結果を得ることができる。
【0052】
第2の実施形態の形勢評価装置10のその他の構成は、第1の実施形態の形勢評価装置10の構成と同様である。
【0053】
第2の実施形態の形勢評価装置10によれば、第1の実施形態の形勢評価装置10と同様の作用効果が実現される。また、第2の実施形態の形勢評価装置10によれば、評価対象のゲームプレイの評価時点におけるアクション回数と同程度のアクション回数時点で評価対象のゲームプレイと同様のゲーム状態になった後のゲーム結果の過去の実績に基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価することができる。
【0054】
ゲーム状態が互いに同様の状態になったとしても、そのタイミング、すなわちゲームの序盤か、中盤か、終盤か等に応じて、ゲーム結果が互いに異なり得る。上述のような第2の実施形態の形勢評価装置10によれば、評価対象のゲームプレイの評価時点におけるタイミングを考慮して、ゲーム形勢を評価することができる。このため、より信頼度の高い評価を行うことができる。また、アクション回数に基づき検索する対象とする参照データを絞り込むことができるので、コンピュータの処理負担が軽減する。
【0055】
<第3の実施形態>
第3の実施形態では、形勢評価装置10の構成、具体的には参照データのデータベースの構成、及び当該データベースを検索する処理が具体化される。
【0056】
ゲーム状態が互いに同様の状態になったとしても、プレイヤーが選択しているキャラクタに応じて、ゲーム結果が互いに異なり得る。第3の実施形態の形勢評価装置10は、当該点を考慮して、ゲーム形勢を評価することができる構成を備える。
【0057】
第3の実施形態のゲームは、先手及び後手各々がキャラクタを選択して行うゲームである。例えば、対戦型のカードゲーム等が該当する。なお、「キャラクタ」の呼称はゲームごとに異なり得る。第3の実施形態の「キャラクタ」は、例えばキャラクタ、クラス、属性等の概念を含むものである。
【0058】
そして、第3の実施形態では、参照データは、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに基づきグループ化される。すなわち、参照データ記憶部11は、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに応じて複数の参照データをグループ化し、グループ毎に分けて参照データを記憶する。例えば、参照データ記憶部11には「先手がキャラクタAを選択し、後手がキャラクタBを選択した場合の参照データ」、「先手がキャラクタAを選択し、後手がキャラクタCを選択した場合の参照データ」のように、先手及び後手が選択したキャラクタの組み合わせ毎に参照データが記憶される。
【0059】
取得部12は、評価対象のゲームプレイで先手が選択したキャラクタ及び後手が選択したキャラクタを示す情報をさらに取得する。そして、検索部13は、評価対象のゲームプレイにおいて先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに対応するグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出する。
【0060】
なお、第3の実施形態の形勢評価装置10は、第2の実施形態の形勢評価装置10の構成を備えてもよい。この場合、参照データは、初手から数えたアクション回数と、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせとに基づきグループ化される。すなわち、参照データ記憶部11は、初手から数えたアクション回数と、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせとに応じて複数の参照データをグループ化し、グループ毎に分けて参照データを記憶する。
【0061】
そして、検索部13は、評価対象のゲームプレイにおいて先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに対応するとともに、評価時点におけるアクション回数に対応するグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出する。
【0062】
第3の実施形態の形勢評価装置10のその他の構成は、第1及び第2の実施形態の形勢評価装置10の構成と同様である。
【0063】
第3の実施形態の形勢評価装置10によれば、第1及び第2の実施形態の形勢評価装置10と同様の作用効果が実現される。また、第3の実施形態の形勢評価装置10によれば、評価対象のゲームプレイと同じキャラクタを先手及び後手が選択した状況下で、評価対象のゲームプレイと同様のゲーム状態になった後のゲーム結果の過去の実績に基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価することができる。
【0064】
ゲーム状態が互いに同様の状態になったとしても、先手及び後手が選択したキャラクタに応じて、ゲーム結果が互いに異なり得る。上述のような第3の実施形態の形勢評価装置10によれば、評価対象のゲームプレイにおいて先手及び後手が選択したキャラクタを考慮して、ゲーム形勢を評価することができる。このため、より信頼度の高い評価を行うことができる。また、先手及び後手が選択したキャラクタに基づき検索する対象とする参照データを絞り込むことができるので、コンピュータの処理負担が軽減する。また、第2の実施形態の形勢評価装置10の構成をさらに採用することで、より信頼度の高い評価を行うことができるとともに、よりコンピュータの処理負担が軽減される。
【0065】
<第4の実施形態>
第4の実施形態では、形勢評価装置10の構成、具体的には参照データのデータベースの構成、及び当該データベースを検索する処理が具体化される。
【0066】
ゲーム状態が互いに同様の状態になったとしても、プレイヤー特性に応じて、ゲーム結果が互いに異なり得る。第4の実施形態の形勢評価装置10は、当該点を考慮して、ゲーム形勢を評価することができる構成を備える。
【0067】
第4の実施形態では、参照データは、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに基づきグループ化される。すなわち、参照データ記憶部11は、先手のプレイヤー特性と後手のプレイヤー特性の組み合わせに応じて複数の参照データをグループ化し、グループ毎に分けて参照データを記憶する。プレイヤー特性は、ゲームの習熟度(上級者、中級者、初級者)、性別、国籍、年齢層、プレイ年数等である。例えば、参照データ記憶部11には「先手及び後手が上級者の場合の参照データ」、「先手が上級者で後手が中級者の場合の参照データ」のように、先手及び後手のプレイヤー特性の組み合わせ毎に参照データが記憶される。
【0068】
取得部12は、評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性を取得する。例えば、ゲームサーバにおいて予め複数のプレイヤー各々のプレイヤー特性が登録されていてもよい。そして、取得部12はゲームサーバから、評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性を取得してもよい。
【0069】
そして、検索部13は、評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに対応するグループに属する参照データの中から、対象状態情報と類似する前記参照状態情報を抽出する。
【0070】
なお、第4の実施形態の形勢評価装置10は、第2の実施形態の形勢評価装置10の構成を備えてもよい。この場合、参照データは、初手から数えたアクション回数と、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせとに基づきグループ化される。すなわち、参照データ記憶部11は、初手から数えたアクション回数と、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせとに応じて複数の参照データをグループ化し、グループ毎に分けて参照データを記憶する。
【0071】
そして、検索部13は、評価対象のゲームプレイにおける先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに対応するとともに、評価時点におけるアクション回数に対応するグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出する。
【0072】
その他、第4の実施形態の形勢評価装置10は、第3の実施形態の形勢評価装置10の構成を備えてもよい。この場合、参照データは、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせと、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせとに基づきグループ化される。すなわち、参照データ記憶部11は、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせと、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせとに応じて複数の参照データをグループ化し、グループ毎に分けて参照データを記憶する。
【0073】
そして、検索部13は、評価対象のゲームプレイにおいて先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに対応するとともに、評価対象のゲームプレイにおける先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに対応するグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出する。
【0074】
その他、第4の実施形態の形勢評価装置10は、第2及び第3の実施形態の形勢評価装置10の構成を備えてもよい。この場合、参照データは、初手から数えたアクション回数と、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせと、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせとに基づきグループ化される。すなわち、参照データ記憶部11は、初手から数えたアクション回数と、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせと、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせとに応じて複数の参照データをグループ化し、グループ毎に分けて参照データを記憶する。
【0075】
そして、検索部13は、評価対象のゲームプレイにおいて先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに対応するとともに、評価対象のゲームプレイにおける先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに対応し、さらに、評価時点におけるアクション回数に対応するグループに属する参照データの中から、対象状態情報と類似する参照状態情報を抽出する。
【0076】
第4の実施形態の形勢評価装置10のその他の構成は、第1乃至第3の実施形態の形勢評価装置10の構成と同様である。
【0077】
第4の実施形態の形勢評価装置10によれば、第1乃至第3の実施形態の形勢評価装置10と同様の作用効果が実現される。また、第4の実施形態の形勢評価装置10によれば、評価対象のゲームプレイと同じプレイヤー特性を備えた先手及び後手が行ったゲームプレイにおいて、評価対象のゲームプレイと同様のゲーム状態になった後のゲーム結果の過去の実績に基づき、評価対象のゲームプレイの評価時点におけるゲーム形勢を評価することができる。
【0078】
ゲーム状態が互いに同様の状態になったとしても、先手及び後手のプレイヤー特性に応じて、ゲーム結果が互いに異なり得る。上述のような第4の実施形態の形勢評価装置10によれば、評価対象のゲームプレイにおける先手及び後手のプレイヤー特性を考慮して、ゲーム形勢を評価することができる。このため、より信頼度の高い評価を行うことができる。また、先手及び後手のプレイヤー特性に基づき検索する対象とする参照データを絞り込むことができるので、コンピュータの処理負担が軽減する。また、第2及び第3の実施形態の形勢評価装置10の少なくとも一方の構成をさらに採用することで、より信頼度の高い評価を行うことができるとともに、よりコンピュータの処理負担が軽減される。
【0079】
<第5の実施形態>
本実施形態の形勢評価装置10は、上述した参照データを作成する機能をさらに有する。図5に、第5の実施形態の形勢評価装置10の機能ブロック図の一例を示す。図5に示すように、形勢評価装置10は、ログデータ記憶部16と、参照データ作成部17とをさらに有する点で、第1乃至第4の実施形態と異なる。
【0080】
ログデータ記憶部16は、過去に実行された複数回のゲームプレイのログデータを記憶する。ログデータは、各種属性情報に紐付けて記憶される。属性情報は、上述したプレイヤー特性、プレイが実行された日時等が例示される。
【0081】
参照データ作成部17は、ログデータ記憶部16に記憶されているログデータに基づき、第1乃至第4の実施形態で説明した参照データを作成し、参照データ記憶部11に記憶させる。
【0082】
なお、参照データ作成部17は、ログデータ記憶部16に記憶されているログデータの中から、所定のログデータを抽出し、抽出したログデータに基づき参照データを作成してもよい。この場合、抽出されたなかったログデータは、参照データの作成に利用されない。
【0083】
例えば、参照データ作成部17は、プレイヤー特性が所定条件を満たすプレイヤーによって過去に実行されたゲームプレイのログデータを抽出してもよい。所定条件は、例えば習熟度が所定レベル以上(例:上級者)等である。
【0084】
その他、参照データ作成部17は、プレイが実行された日時が所定日時より前(すなわち、比較的新しい)のログデータを抽出してもよい。
【0085】
第5の実施形態の形勢評価装置10のその他の構成は、第1乃至第4の実施形態の形勢評価装置10の構成と同様である。
【0086】
第5の実施形態の形勢評価装置10によれば、第1乃至第4の実施形態の形勢評価装置10と同様の作用効果が実現される。また、第5の実施形態の形勢評価装置10によれば、ログデータの中から所定のログデータのみを抽出し、抽出したログデータに基づき参照データを作成することができる。
【0087】
例えば、第5の実施形態の形勢評価装置10によれば、習熟度が高いプレイヤーのログデータのみを抽出し、抽出したログデータに基づき参照データを作成することができる。プレイヤーの習熟度が低い場合、あるゲーム状態になった後にプレイヤーが行うアクションが大きくばらつき得る。結果、そのようなゲーム状態になった後のゲーム結果も大きくばらつき得る。このような習熟度が低いプレイヤーのログデータと、習熟度が高いプレイヤーのログデータを一纏めにして参照データを作成し、ゲーム形勢を評価すると、評価結果の信頼度が低くなる。また、ゲームの視聴者は、上級者目線でのゲーム形勢の評価結果を欲していると考えられる。
【0088】
習熟度が高いプレイヤーのログデータのみを抽出し、抽出したログデータに基づき参照データを作成することで、信頼度が高く、またより視聴者が求めている評価結果(上級者目線でのゲーム形勢の評価結果)を作成することができる。また、素人目には差がないようでも習熟度が高いプレイヤーにとっては大差の盤面では、90%などの高い確信度で勝敗を提示し、序盤から中盤などの習熟度が高いプレイヤーでも勝敗予測が難しい盤面では、50%程度の低い確信度で勝敗を提示する」という挙動を、自然に、かつ、合理的に実現することができる。
【0089】
その他、第5の実施形態の形勢評価装置10によれば、プレイが実行された日時が所定日時より前(すなわち、比較的新しい)のログデータのみを抽出し、抽出したログデータに基づき参照データを作成することができる。時間の経過とともに新たなゲーム戦略が開発され、プレイの仕方も変わってくる。このため、過去においては、あるゲーム状態になるとあるゲーム結果になる確率が高かったが、最近では、必ずしもそうならないという状況が発生し得る。
【0090】
比較的新しいログデータのみを抽出し、抽出したログデータに基づき参照データを作成することで、信頼度が高い評価結果を作成することができる。
【0091】
<実施例>
「概要」
本実施例では、AI(形勢評価装置10)がゲーム環境をブラックボックスとして扱ったまま、盤面(ゲーム状態)の変化過程と勝敗結果(ゲーム結果)を紐付けた近似最近傍探索によるPvPゲームのゲーム形勢を評価する。本実施例の技術的特徴は、ある特定の盤面から勝敗を予測するとき、その盤面と類似する局面を、対戦したキャラクタの組み合わせと初手から数えた時のアクション回数毎に分類された過去データから探索し、その類似局面の勝敗結果から勝敗確率を算出する点にある。これにより、ゲームルールや環境をシステムが学習することなく、すなわち、ゲームシステムをブラックボックス化したままプレイ中の盤面と勝敗結果のペアのみで学習できるため、幅広いPvPゲームに適用できる。
【0092】
具体的には、本実施例は、学習対象となるゲームプレイのログデータ全てについて、それら構成する盤面それぞれを、数千次元の特徴ベクトルに変換し、それらを、対戦したキャラクタの組み合わせと初手から数えた時のアクション回数毎に近似最近傍探索のデータベースを構築する。例えば、8種類のキャラクタが存在し、平均30アクションでバトルが終了するゲームの場合、8×8×30=720個のデータベースを構築する。これは、上記実施形態で説明したグループを720個作成することと同じことである。
【0093】
ゲームの実行時、すなわち、形勢評価をする局面においては、当該局面で画面上に存在するカードやパラメータ情報を特徴ベクトルqとするとき、本実施例は、局面と同じキャラクタの組み合わせの、(局面と同じアクション数+N)から(局面と同じアクション数-N)に含まれるアクション回数のデータベースを対象として、現在の局面の特徴ベクトルqの近似最近傍探索(ANN)を行い、類似する局面データの集合を取得する。この集合における勝敗の割合を、推論対象の局面での勝敗確率とする。これにより、「このタイプの局面から勝利できたのは、N人中M人」というエビデンスに基づく評価結果を算出することができるようになる。
【0094】
「実施方法」
本実施例は、端的には、「現在と似た、過去の盤面の勝敗結果から、現在の盤面の勝敗予測をする」というものである。具体的には、図6に示すようなゲームの盤面状況を、各次元の値を0~1で正規化した多次元ベクトルとしてエンコードし、その多次元ベクトルと類似する過去の盤面を高速に検索するシステムである。図6では、各プレイヤーが選択したキャラクタ、各種パラメータの値、アクション回数、各プレイヤーが所持しているカードC及びC、場に出されたカードC等が示されている。
【0095】
このシステムを実現するアーキテクチャを、図7に示す。本実施例では、勝敗予測のために複雑な機械学習や深層学習を利用せず、盤面の類似性のみを用いて勝敗予測を行うため、通常のゲーム運用の中で蓄積されるログデータから、リアルタイムにベクトルデータベースを構築することができる。
【0096】
本実施例の中核的な機能は、モジュールM1とモジュールM2の連携にある。[M2]Slicerが、1つのPvPバトルの中で変化していく盤面(図6参照)を、それぞれが独立した瞬間的なリプレイ情報として抽出し、[M1]Encoderが、その抽出した瞬間的な盤面から、ゲームの状況を示すデータとして、盤面のカード情報、手札数、破棄されたカード枚数、プレイヤーの体力、各種ポイント(カードを場に出すために消費するポイント、カードを進化させるために消費するポイント等)、ターン数、リーダーキャラ情報など、双方のプレイヤーに公開されている情報を、各次元の値を0~1で正規化した多次元ベクトルとしてエンコードする。これにより、ある特定の盤面同士の類似性を、ベクトル間の類似性として定量的に計量することが可能となる。
【0097】
「データ構造」
本実施例の基本的なデータ構造は、ゲームシステム内で生成されるログデータと、近似最近傍探索のためのデータベースに格納されるベクトルデータの2つである。本実施例において、ログデータは、図8に示すように、盤面上の状態を示す木構造のテキスト(例えば、JSONと呼ばれるデータ形式を採用することができる)と、その盤面状態においてプレイヤーが実行したアクションの列として定義できる。すなわち、ログデータとは、初期状態と最初のアクションの対、そして、アクションの影響を受けた結果としての状態と次のアクションの対、を繰り返し、最終的に勝敗が決した最終状態で終端した配列である。当該ログデータの配列の例を式1に示す。
【0098】
【数1】
【0099】
ここで、Stateiは、i番目のゲーム状態を示し、Actioniは、i番目に実行されたアクションを示し、Win_Loseはゲーム結果(勝敗、引き分け、無効試合が決した状態等)を示す。Stateiは、最もシンプルには、盤面上、および、デッキ内のカードの集合であり、式2のように定義できる。
【0100】
【数2】
【0101】
ここで、cardsp1 0は、場に出されているプレイヤー1(先攻)側の0番目のカードであり、cardsp2 0は、場に出されているプレイヤー2(後攻)側の0番目のカードである。また、carddp1 0は、プレイヤー1(先攻)の手札に入っている0番目のカードであり、carddp2 0は、プレイヤー2(先攻)の手札に入っている0番目のカードである。
【0102】
次に、近似最近傍探索のためのデータベースは式3のように定義できる。
【0103】
【数3】
【0104】
ここで、それぞれの要素db1, db2, db3..., dbxは、先手クラス、後手クラス、そして、初手から数えたアクション数の組み合わせごとに生成されるサブデータベースを意味する。例えば、「先手〇〇・後手××・8アクション目」や、「先手〇〇・後手△△・1アクション目」という単位でサブデータベースを構築する。すなわち、8種類のキャラクタが存在し、平均30アクションでバトルが終了するゲームの場合、8×8×30=720個のサブデータベースが構築される。それぞれのサブデータベースは独立しており、ある特定のサブデータベースへの更新操作は、他のサブデータベースに一切影響しない。
【0105】
「プリミティブ関数」
[M1]Encoderは、ある特定の瞬間のゲームの盤面を、4000次元程度のベクトルへ変換するモジュールである。このモジュールは、例えば、対戦型のカードゲームを対象とした場合、盤面のカード情報、手札数、破棄されたカード枚数、プレイヤーの体力、各種ポイント(カードを場に出すために消費するポイント、カードを進化させるために消費するポイント等)、ターン数、リーダーキャラ情報など、双方のプレイヤーに公開されている情報を、各次元の値を0~1で正規化した多次元ベクトルとしてエンコードする。この時、先手と後手を区別してエンコードするために、ID:1000030のカードを先手と後手の両方が1枚ずつ場に出していた時は、1000030_firstが0.33、1000030_secondが0.33のように表すことができる。このベクトルの例を図9示す。図9に示すデータにおいては、[M1]Encoderにより生成された多次元ベクトルが並んでいる。図では、一例として、先手及び後手のカードを示すベクトルが示されている。先手に対応する「F」の文字と、後手に対応する「S」の文字で、先手と後手の情報を識別可能にしている。
【0106】
また、この[M1]Encoderの拡張として、互換性のあるカードをそれぞれ紐づけておき、ある特定のカードが盤面に存在する状況において、互換性のあるカードへも値を設定することにより、新規カードを問い合わせに用いて、当該カードが存在しない過去の盤面を検索できるようしてもよい。
【0107】
例えば、既存カード1000枚に対応する4000次元のベクトルがシステムで用いられているときに、それらの次元に全く含まれない新規カード2枚を追加するとき、この2枚のカードと既存のカード1000枚との関係を定義する変換行列を用いることにより、新規カードを4000次元のベクトル内に埋め込むことができる。具体的には、新規カードAが、ID:1000030とID:1000050の機能を同時に果たせるようなカードであった場合、ID:1000030とID:1000050の次元に1.0や0.6等の正の値を持たせた、表1のような関係情報により、新規カードAを既存のベクトルに写像する事ができる。また、新規カードBが、ID:1000040の亜種である場合は、表1のように、ID:1000040にのみ1.0を付与することとなる。新規カードが存在する盤面から過去の盤面を検索する場合は、この行列(関係情報)を用いて、新規カードを過去のカードに写像することにより、擬似的に類似局面を探すことができる。
【0108】
【表1】
【0109】
すなわち、「ゲームプレイ中のゲーム状態は多次元のベクトルで表現される」、「参照状態情報及び対象状態情報は、多次元のベクトルを含む」、「多次元のベクトルの中に、ゲーム中に使用されるオブジェクトに関連するベクトルが含まれる」という状況下において、上記実施形態で説明した検索部13は、対象状態情報に含まれる多次元のベクトルの中に、新オブジェクト(上記「新規カード」)に関連するベクトルが含まれている場合、所定の変換情報(表1のような関係情報)を用いて、多次元のベクトルの中の新オブジェクトに関連するベクトルを、新オブジェクトと異なる他のオブジェクトに関連するベクトルに変換し、変換後の多次元のベクトルを用いて、対象状態情報と類似する参照状態情報を抽出することができる。
【0110】
[M2]Slicerは、ログデータを、ある瞬間的な盤面の情報の集合に変換するモジュールである。一般的に、ログデータは、プレイヤーやゲームの管理者たるゲームシステム、そして、NPC(これらをまとめて、アクターと呼ぶ)が採用した行動とその時に使用した乱数を記録した履歴として実装されており、「場の情報」は保存されていない。これは、アクターの行動を完全に再現できれば、必ず同じ場を再現できるためである。しかしながら、このままのアクターの行動の列としてのログデータは、機械学習に必ずしも適さない。そこで本実施例では、ログデータを実際にゲームシステム上で再生し、その中で得られる、それぞれの瞬間的な盤面の情報を抽出する。ここで抽出される盤面の情報はゲームシステムに固有の情報であり、例えば、Unityゲームエンジンで実装されたゲームでは、C#言語のオブジェクトとして表現されるものである。
【0111】
[M3]ANN Search Engineは、膨大な数の盤面のベクトル(参照データ)から、ある特定の盤面に類似するベクトルを検索するモジュールである。本実施例では、極めて膨大な量のベクトル、具体的には、1つのバトルが、仮に平均8ターン程度で終了し、1つのターン内で先手アクションにより5つの状態変化が起き、後手アクションにより同数の5つのアクションが起きる場合、1つのバトルから[M1]Slicerにより80個のベクトルが生成されることになる。さらに、1日で100万回のバトルが行われる時、1日で、8000万ベクトルが生成されることとなる。このように大量のベクトルの中から、ある特定のベクトルと類似するものを高速に検索する技術として、本実施例では、近似最近傍探索(Approximate Nearest Neighbor Search)の技術を使用する。このANNは、式4に示すように、ある特定の局面を示すベクトルq、および、qと同じ先手クラス・後手クラス・qと所定の回数だけアクション数が前後するサブデータベースN個を与えると、N個のサブデータベースの中から、qと類似するベクトルをk個取得する。
【0112】
【数4】
【0113】
このk個のベクトルそれぞれに対応するログデータの勝敗結果を参照することにより、kに占める先手勝利割合を、形勢評価の結果として出力する。
【0114】
このように、本実施例は、膨大な量のログデータをエビデンスとして、「このタイプの局面から勝利できたのは、N人中M人」という誰もが納得できる形勢評価を実現することができる。
【0115】
「効果」
本実施例の最大の優位性は、「このタイプの局面から勝利できたのは、N人中M人」という誰もが納得できる形勢評価を実現することにある。このようなエビデンス・ベースドな形勢評価に加えて、本発明は次のような利点を有する。
【0116】
・高速:本実施例が使用する近似最近傍探索は、従来の厳密な近傍探索との比較において、極めて高速に動作する。具体的には、数十億件のベクトルの中から類似するベクトルを数msのレイテンシで検索することができようになっており、リアルタイムのeスポーツ中継に追随する形勢評価を行うことができる。
【0117】
・インクリメンタルな更新:本実施例が採用する近似最近傍探索は検索エンジンであるため、機械学習と異なり、データの追加が推論結果に、精度劣化などの著しい負の影響を及ぼすことはなく、安全にインクリメンタルな更新を行うことができる。この特徴により、ゲーム運用や攻略情報の流通に伴い、常に最善手などのメタが変化することを前提として、最新の流行の戦術を、本実施例による形勢評価AIは近似最近傍検索のためのデータベースの更新として容易に取り込むことができる。
【0118】
・汎用性:本実施例による学習方法は、ターン制バトルに幅広く適用可能であり、人間のプレイ傾向を模倣するAIを様々なジャンルに広げることができる。
【0119】
「変形例」
本実施例の応用として、ある特定の局面から、その次に取られたアクションを検索することにより、「達人(上級者)なら次はこの手を出す」というようなアドバイスをゲーム中にリアルタイムに行うことができる。例えば、初心者へのハンデとして、「N回まではAIからの支援を受けて良い」というような、新しい形のハンデを実装することができる。この場合、プレイヤーは、N回まで、上記アドバイスを受けることが可能となる。
【0120】
以上、図面を参照して本発明の実施形態について述べたが、これらは本発明の例示であり、上記以外の様々な構成を採用することもできる。上述した実施形態の構成は、互いに組み合わせたり、一部の構成を他の構成に入れ替えたりしてもよい。また、上述した実施形態の構成は、趣旨を逸脱しない範囲内において種々の変更を加えてもよい。また、上述した各実施形態や変形例に開示される構成や処理を互いに組み合わせてもよい。
【0121】
また、上述の説明で用いた複数のフローチャートでは、複数の工程(処理)が順番に記載されているが、各実施の形態で実行される工程の実行順序は、その記載の順番に制限されない。各実施の形態では、図示される工程の順番を内容的に支障のない範囲で変更することができる。また、上述の各実施の形態は、内容が相反しない範囲で組み合わせることができる。
【0122】
上記の実施の形態の一部または全部は、以下の付記のようにも記載されうるが、以下に限られない。
1. 過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶部と、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得部と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索部と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価部と、
前記評価の結果を出力する出力部と、
を有する形勢評価装置。
2. 前記評価部は、抽出された前記参照状態情報に紐付く前記ゲーム結果を計量し、
前記出力部は、前記計量の結果を、前記評価の結果として出力する1に記載の形勢評価装置。
3. 前記検索部は、最近傍探索又は近似最近傍探索で、前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する1又は2に記載の形勢評価装置。
4. 前記参照データは、前記ゲームプレイの特性に基づきグループ化され、
前記参照データ記憶部は、前記グループ毎に前記参照データを記憶し、
前記検索部は、前記評価対象のゲームプレイの特性に基づき前記評価対象のゲームプレイが属する前記グループを特定し、特定した前記グループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する1から3のいずれかに記載の形勢評価装置。
5. 前記ゲームプレイは、先手及び後手が交互にアクションを行うゲームのプレイであり、
前記参照データは、初手から数えたアクション回数に基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの前記評価時点におけるアクション回数をさらに取得し、
前記検索部は、前記評価時点におけるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する4に記載の形勢評価装置。
6. 前記検索部は、(前記評価時点におけるアクション回数-α)から(前記評価時点におけるアクション回数+α)に含まれるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する5に記載の形勢評価装置。
7. 前記ゲームプレイは、先手及び後手各々がキャラクタを選択して行うゲームのプレイであり、
前記参照データは、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイで先手が選択したキャラクタ及び後手が選択したキャラクタを示す情報をさらに取得し、
前記検索部は、前記評価対象のゲームプレイにおいて先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する4から6のいずれかに記載の形勢評価装置。
8. 前記参照データは、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性をさらに取得し、
前記検索部は、前記評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する4から7のいずれかに記載の形勢評価装置。
9. 複数のプレイヤーによって過去に実行された複数回のゲームプレイの前記ログデータの中から、プレイヤー特性が所定条件を満たす前記プレイヤーによって過去に実行されたゲームプレイの前記ログデータを抽出し、抽出した前記ログデータに基づき前記参照データを作成する参照データ作成部をさらに有する1から8のいずれかに記載の形勢評価装置。
10. 前記ゲームプレイ中のゲーム状態は多次元のベクトルで表現され、
前記参照状態情報及び前記対象状態情報は、前記多次元のベクトルを含み、
前記多次元のベクトルの中に、ゲーム中に使用されるオブジェクトに関連するベクトルが含まれ、
前記検索部は、前記対象状態情報に含まれる前記多次元のベクトルの中に、前記新オブジェクトに関連するベクトルが含まれている場合、所定の変換情報を用いて、前記多次元のベクトルの中の前記新オブジェクトに関連するベクトルを、前記新オブジェクトと異なる他の前記オブジェクトに関連するベクトルに変換し、変換後の前記多次元のベクトルを用いて、前記対象状態情報と類似する前記参照状態情報を抽出する1から9のいずれかに記載の形勢評価装置。
11. コンピュータが、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶し、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得工程と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索工程と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価工程と、
前記評価の結果を出力する出力工程と、
を実行する形勢評価方法。
12. コンピュータを、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶手段、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得手段、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索手段、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価手段、
前記評価の結果を出力する出力手段、
として機能させるプログラム。
【符号の説明】
【0123】
10 形勢評価装置
11 参照データ記憶部
12 取得部
13 検索部
14 評価部
15 出力部
16 ログデータ記憶部
17 参照データ作成部
1A プロセッサ
2A メモリ
3A 入出力I/F
4A 周辺回路
5A バス
図1
図2
図3
図4
図5
図6
図7
図8
図9
【手続補正書】
【提出日】2022-10-13
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶部と、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得部と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索部と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価部と、
前記評価の結果を出力する出力部と、
を有する形勢評価装置。
【請求項2】
前記評価部は、抽出された前記参照状態情報に紐付く前記ゲーム結果を計量し、
前記出力部は、前記計量の結果を、前記評価の結果として出力する請求項1に記載の形勢評価装置。
【請求項3】
前記検索部は、最近傍探索又は近似最近傍探索で、前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項1又は2に記載の形勢評価装置。
【請求項4】
前記参照データは、前記ゲームプレイの特性に基づきグループ化され、
前記参照データ記憶部は、前記グループ毎に前記参照データを記憶し、
前記検索部は、前記評価対象のゲームプレイの特性に基づき前記評価対象のゲームプレイが属する前記グループを特定し、特定した前記グループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項1又は2に記載の形勢評価装置。
【請求項5】
前記参照データは、前記ゲームプレイの特性に基づきグループ化され、
前記参照データ記憶部は、前記グループ毎に前記参照データを記憶し、
前記検索部は、前記評価対象のゲームプレイの特性に基づき前記評価対象のゲームプレイが属する前記グループを特定し、特定した前記グループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項3に記載の形勢評価装置。
【請求項6】
前記ゲームプレイは、先手及び後手が交互にアクションを行うゲームのプレイであり、
前記参照データは、初手から数えたアクション回数に基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの前記評価時点におけるアクション回数をさらに取得し、
前記検索部は、前記評価時点におけるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項4に記載の形勢評価装置。
【請求項7】
前記ゲームプレイは、先手及び後手が交互にアクションを行うゲームのプレイであり、
前記参照データは、初手から数えたアクション回数に基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの前記評価時点におけるアクション回数をさらに取得し、
前記検索部は、前記評価時点におけるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項5に記載の形勢評価装置。
【請求項8】
前記検索部は、(前記評価時点におけるアクション回数-α)から(前記評価時点におけるアクション回数+α)に含まれるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項6に記載の形勢評価装置。
【請求項9】
前記検索部は、(前記評価時点におけるアクション回数-α)から(前記評価時点におけるアクション回数+α)に含まれるアクション回数に対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項7に記載の形勢評価装置。
【請求項10】
前記ゲームプレイは、先手及び後手各々がキャラクタを選択して行うゲームのプレイであり、
前記参照データは、先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイで先手が選択したキャラクタ及び後手が選択したキャラクタを示す情報をさらに取得し、
前記検索部は、前記評価対象のゲームプレイにおいて先手が選択したキャラクタと後手が選択したキャラクタの組み合わせに対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項4に記載の形勢評価装置。
【請求項11】
前記参照データは、先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに基づきグループ化され、
前記取得部は、前記評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性をさらに取得し、
前記検索部は、前記評価対象のゲームプレイの先手のプレイヤー特性及び後手のプレイヤー特性の組み合わせに対応するグループに属する前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する請求項4に記載の形勢評価装置。
【請求項12】
複数のプレイヤーによって過去に実行された複数回のゲームプレイの前記ログデータの中から、プレイヤー特性が所定条件を満たす前記プレイヤーによって過去に実行されたゲームプレイの前記ログデータを抽出し、抽出した前記ログデータに基づき前記参照データを作成する参照データ作成部をさらに有する請求項1又は2に記載の形勢評価装置。
【請求項13】
前記ゲームプレイ中のゲーム状態は多次元のベクトルで表現され、
前記参照状態情報及び前記対象状態情報は、前記多次元のベクトルを含み、
前記多次元のベクトルの中に、ゲーム中に使用されるオブジェクトに関連するベクトルが含まれ、
前記検索部は、前記対象状態情報に含まれる前記多次元のベクトルの中に、前記オブジェクトに含まれない新オブジェクトに関連するベクトルが含まれている場合、所定の変換情報を用いて、前記対象状態情報に含まれる前記多次元のベクトルの中の前記新オブジェクトに関連するベクトルを前記オブジェクトに関連するベクトルに変換し、変換後の前記多次元のベクトルを用いて、前記対象状態情報と類似する前記参照状態情報を抽出する請求項1又は2に記載の形勢評価装置。
【請求項14】
コンピュータが、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶し、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得工程と、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索工程と、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価工程と、
前記評価の結果を出力する出力工程と、
を実行する形勢評価方法。
【請求項15】
コンピュータを、
過去に実行された複数回のゲームプレイのログデータに基づき生成されたデータであって、ゲームプレイ中のゲーム状態を示す参照状態情報と、そのゲーム状態の後に決したゲーム結果との組み合わせを複数含む参照データを記憶する参照データ記憶手段、
評価対象のゲームプレイの評価時点におけるゲーム状態を示す対象状態情報を取得する取得手段、
前記参照データの中から、前記対象状態情報と類似する前記参照状態情報を抽出する検索手段、
抽出された前記参照状態情報に紐付く前記ゲーム結果に基づき、前記評価対象のゲームプレイの前記評価時点におけるゲーム形勢を評価する評価手段、
前記評価の結果を出力する出力手段、
として機能させるプログラム。