(57)【要約】  本願は、仮想環境における仮想対象のスケジューリング方法、装置及びデバイスを開示し、人工知能に関し、コンピュータ技術分野に属する。前記方法は、仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得するステップと、フレームデータに対して特徴抽出を行い、ターゲット仮想対象の状態特徴を得るステップと、状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得るステップと、価値ネットワーク予測モデルを呼び出してＮ種の後続状態特徴を処理し、Ｎ種のスケジューリングポリシーを実行する場合の予期報酬収益を得るステップと、ターゲット仮想対象を、予期報酬収益が最も高いスケジューリングポリシーを実行するように制御するステップと、を含む。【選択図】図２
2022502112.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータデバイスが実行する、仮想環境における仮想対象のスケジューリング方法であって、前記仮想環境に、少なくとも２つの仮想対象及び前記仮想対象が使用するための仮想リソースが含まれ、前記方法は、
前記仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得するステップと、
前記フレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得るステップであって、前記状態特徴は、関連仮想対象及び前記仮想リソースの状態を含み、前記関連仮想対象は、前記ターゲット仮想対象及び前記ターゲット仮想対象と利害関係を有する仮想対象を含む、ステップと、
Ｎ種のスケジューリングポリシーに基づいて前記状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得るステップであって、Ｎは、正整数であり、Ｎ≧２である、ステップと、
価値ネットワーク予測モデルを呼び出して前記Ｎ種の後続状態特徴を処理し、前記ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得るステップと、
前記Ｎ種のスケジューリングポリシーの予期報酬収益に基づいて、前記Ｎ種のスケジューリングポリシーからターゲットスケジューリングポリシーを選択し、前記ターゲット仮想対象を、前記ターゲットスケジューリングポリシーを実行するように制御するステップと、を含む、
仮想環境における仮想対象のスケジューリング方法。
【請求項２】
前記仮想環境の地図は、ｎ個の移動領域に分割され、前記ｎは、前記地図の画素値未満であり、ｎは、正整数であり、ｎ≧２であり、
Ｎ種のスケジューリングポリシーに基づいて前記状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得るステップは、
前記ターゲット仮想対象に対応するｍ種の行為を取得するステップであって、ｍは、正整数であり、ｍ≧１である、ステップと、
前記ターゲット仮想対象に対応するｍ種の行為及び前記ｎ個の移動領域に基づいて、前記Ｎ種のスケジューリングポリシーを得るステップであって、前記スケジューリングポリシーは、前記ｎ個の移動領域のうちのｉ番目の移動領域に移動して、前記ｍ種の行為のうちの第ｊ種の行為を実行することを含み、ｉ、ｊは、正整数であり、１≦ｉ≦ｎ、１≦ｊ≦ｍである、ステップと、
前記Ｎ種のスケジューリングポリシーを前記状態特徴に作用させ、所定の状態遷移関係に基づいて、前記Ｎ種の後続状態特徴を得るステップであって、前記状態遷移関係は、前記スケジューリングポリシーを状態特徴に作用させた後の状態変化を表すためのものである、ステップと、を含むことを特徴とする
請求項１に記載の方法。
【請求項３】
前記地図は、前記ｎ個の移動領域のアレイに均一に分割されるか、又は前記地図は、前記仮想リソースの所在位置に従ってｎ個の移動領域に分割されることを特徴とする
請求項２に記載の方法。
【請求項４】
前記フレームデータに対して特徴抽出を行い、現在状況状態における前記ターゲット仮想対象の状態特徴を得るステップは、
前記フレームデータにおける前記関連仮想対象の状態及び前記仮想リソースの状態を読み取り、前記状態特徴を抽出するステップを含み、
前記関連仮想対象の状態は、前記関連仮想対象の位置、体力値、攻撃力値、防御力値、経験値、殺傷数、死亡数又は経済値のうちの少なくとも１つを含み、
前記仮想リソースの状態は、仮想リソースの位置、体力値、攻撃力値、防御力値、耐久値又は占領状態のうちの少なくとも１つを含むことを特徴とする
請求項３に記載の方法。
【請求項５】
前記少なくとも２つの仮想対象はそれぞれ、少なくとも２つの互いに敵対する陣営に属し、
前記仮想リソースは、建築物、中立生体、軍隊、乗り物、武器又は弾薬のうちの少なくとも１つを含み、
前記占領状態は、中立状態、コントロール状態、占有状態又は争奪状態を含み、
前記中立状態は、前記仮想リソースが如何なる陣営にも属しないことを表し、
前記コントロール状態は、仮想リソースが所在する移動領域内に同一の陣営の少なくとも１つの仮想対象が含まれることを表し、
前記占有状態は、前記仮想リソースが属する陣営を表し、
前記争奪状態は、前記仮想リソースが所在する移動領域内に異なる陣営に属する少なくとも２つの仮想対象が含まれることを表すことを特徴とする
請求項４に記載の方法。
【請求項６】
前記価値ネットワーク予測モデルは、サンプルデータセットに基づいて訓練して得られた予期報酬収益規律を表すためのものであり、前記サンプルデータセットは、サンプル状態特徴及び前記サンプル状態特徴に対応する実際報酬収益を含み、
価値ネットワーク予測モデルを呼び出して前記Ｎ種の後続状態特徴を処理する前に、
ｐ個のサンプルフレームデータを取得するステップであって、ｐは、正整数であり、ｐ≧２である、ステップと、
前記ｐ個のサンプルフレームデータに対して特徴抽出を行い、前記各サンプルフレームデータのサンプル状態特徴を得るステップであって、前記サンプル状態特徴は、前記関連仮想対象の状態、又は前記関連仮想対象及び前記仮想リソースの状態を含む、ステップと、
前記ｐ個のサンプル状態特徴のうちの各サンプル状態特徴の実際報酬収益を算出するステップと、
前記ｐ個のサンプル状態特徴をオリジナル価値ネットワーク予測モデルに入力し、前記各サンプル状態特徴の訓練結果を得るステップと、
各セットの前記サンプルデータセットに対して、前記訓練結果を前記サンプル状態特徴の実際報酬収益と比較し、計算損失を得るステップであって、前記計算損失は、前記訓練結果と前記サンプル状態特徴の実際報酬収益との誤差を示すためのものである、ステップと、
前記少なくとも１セットのサンプルデータセットにそれぞれ対応する計算損失に基づいて、誤差逆伝播アルゴリズムで訓練して前記価値ネットワーク予測モデルを得るステップと、を更に含むことを特徴とする
請求項１から５のいずれか一項に記載の方法。
【請求項７】
ｐ個の前記サンプルフレームデータを取得するステップは、
前記仮想環境のアプリケーションプログラムが実行されるときに生じるｌ個の履歴フレームデータを取得するステップであって、ｌは、正整数であり、ｌ≧ｐである、ステップと、
所定の時間ステップに従って前記ｌ個の履歴フレームデータからｑ個の候補フレームデータを抽出するステップであって、ｑは、正整数であり、ｐ≦ｑ≦ｌである、ステップと、
前記ｑ個の候補フレームデータを読み取り、前記ｑ個の候補フレームデータ内の攻撃行為を含むフレームデータを前記サンプルフレームデータとして決定し、前記ｐ個のサンプルフレームデータを得るステップと、を含むことを特徴とする
請求項６に記載の方法。
【請求項８】
前記ｐ個のサンプル状態特徴のうちの各サンプル状態特徴の実際報酬収益を算出するステップは、
前記サンプル状態特徴における前記ターゲット仮想対象の行為及び状態に基づいて、前記各サンプル状態特徴の即時収益を算出するステップであって、前記即時収益は、前記行為に起因する前記状態の変化による勝利条件への貢献である、ステップと、
前記ｐ個のサンプルフレームデータのうちのｉ番目のサンプルフレームデータに対して、前記ｉ番目のサンプルフレームデータの即時収益及びｉ＋１番目のサンプルフレームデータの即時収益に基づいて、前記ｉ番目のサンプルフレームデータの実際報酬収益を算出するステップであって、ｉは、正整数であり、ｉ≦ｐである、ステップと、を含むことを特徴とする
請求項６又は７に記載の方法。
【請求項９】
前記Ｎ種のスケジューリングポリシーの予期報酬収益に基づいて、前記Ｎ種のスケジューリングポリシーからターゲットスケジューリングポリシーを選択するステップは、
前記Ｎ種のスケジューリングポリシーのうちの予期報酬収益が最も高いスケジューリングポリシーをターゲットスケジューリングポリシーとして取得するステップを含むことを特徴とする
請求項１から８のいずれか一項に記載の方法。
【請求項１０】
仮想環境における仮想対象のスケジューリング装置であって、前記仮想環境に少なくとも２つの仮想対象及び前記仮想対象が使用するための仮想リソースが含まれ、前記装置は、
前記仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得するように構成されるデータ取得モジュールと、
前記フレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得るように構成される特徴抽出モジュールであって、前記状態特徴は、関連仮想対象及び前記仮想リソースの状態を含み、前記関連仮想対象は、前記ターゲット仮想対象及び前記ターゲット仮想対象と利害関係を有する仮想対象を含む、特徴抽出モジュールと、
Ｎ種のスケジューリングポリシーに基づいて前記状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得るように構成される状態演繹モジュールであって、Ｎは、正整数であり、Ｎ≧２である、状態演繹モジュールと、
価値ネットワーク予測モデルを呼び出して前記Ｎ種の後続状態特徴を処理し、前記ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得るように構成される価値評価モジュールと、
前記Ｎ種のスケジューリングポリシーの予期報酬収益に基づいて、前記Ｎ種のスケジューリングポリシーから、ターゲットスケジューリングポリシーを選択し、前記ターゲット仮想対象を、前記ターゲットスケジューリングポリシーを実行するように制御するように構成される制御モジュールと、を備える、
仮想環境における仮想対象のスケジューリング装置。
【請求項１１】
コンピュータデバイスであって、メモリと、プロセッサと、を備え、前記メモリに、コンピュータ可読命令が記憶されており、前記コンピュータ可読命令が前記プロセッサにより実行されるときに、前記プロセッサに、請求項１から９のいずれか一項に記載の仮想環境における仮想対象のスケジューリング方法を実行させる、
コンピュータデバイス。
【請求項１２】
プロセッサに、請求項１から９のいずれか一項に記載の方法を実行させるコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
（関連出願の相互参照）
本願は、２０１８年１１月２１日に中国特許局に提出された出願番号が２０１８１１３９３３８８．０であり、発明名称が「仮想環境における仮想対象のスケジューリング方法、装置及びデバイス」である中国特許出願の優先権を主張し、該中国特許出願の全内容が参照として本願に組み込まれる。
【０００２】
本願は、コンピュータ技術分野に関し、特に仮想環境における仮想対象のスケジューリング方法、装置及びデバイスに関する。
【背景技術】
【０００３】
人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ：ＡＩ）は、人間のような考え方で応答を行い、対応する行為を行うコンピュータプログラムシステムであり、画像認識、音声認識、自然言語処理及びエキスパートシステム等の分野に広く利用されている。ここで、エキスパートシステムは、人間の専門家を擬似して課題を解決するＡＩである。例えば、囲碁棋士を擬似して囲碁をするＡＩアルファ碁（Ａｌｐｈａｇｏ）は、エキスパートシステムの１つである。
【０００４】
スマートフォン、タブレットのような端末に、二次元又は三次元の仮想環境を有するアプリケーションプログラムが数多く存在し、例えば、マルチプレイヤーオンラインバトルアリーナ（Ｍｕｌｔｉｐｌａｙｅｒ  Ｏｎｌｉｎｅ  Ｂａｔｔｌｅ  Ａｒｅｎａ  Ｇａｍｅｓ：ＭＯＢＡ）、シミュレーションゲーム（Ｓｉｍｕｌａｔｉｏｎ  Ｇａｍｅ：ＳＬＧ）等が挙げられる。上記のアプリケーションプログラムにおいて、ユーザは、勝つために、仮想対象（例えば、仮想人物）を制御してスケジューリングポリシーを実行し、ユーザが、何らかの原因で仮想対象を制御することができない場合、ＡＩに頼って、対応するスケジューリングポリシーを実行するようにユーザに支援する必要がある。
【０００５】
仮想環境における状況状態空間が、囲碁よりも遥かに大きく、しかも仮想対象の実行可能な行為が、連続性及び多様性を有する。例えば、ＭＯＢＡゲームにおける地図のサイズは、約５００００×５００００画素であり、６０種以上の異なる種類の操作可能な単位を含む。各操作可能な単位は、連続性及び多様性を有し、従って、ＡＩは、仮想環境の状態を演繹しにくくて、ＡＩによるスケジューリングポリシーの決定の正確度が低い。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本願の各実施例によれば、仮想環境における仮想対象のスケジューリング方法、装置及びデバイスを提供する。
【課題を解決するための手段】
【０００７】
一態様によれば、本願の実施例は、仮想環境における仮想対象のスケジューリング方法を提供する。前記方法は、コンピュータデバイスにより実行され、前記仮想環境に少なくとも２つの仮想対象及び前記仮想対象が使用するための仮想リソースが含まれ、前記方法は、
前記仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得するステップと、
前記フレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得るステップであって、前記状態特徴は、関連仮想対象及び前記仮想リソースの状態を含み、前記関連仮想対象は、前記ターゲット仮想対象及び前記ターゲット仮想対象と利害関係を有する仮想対象を含む、ステップと、
前記状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得るステップであって、Ｎは、正整数であり、Ｎ≧２である、ステップと、
価値ネットワーク予測モデルを呼び出して前記Ｎ種の後続状態特徴を処理し、前記ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得るステップと、
前記ターゲット仮想対象を、前記Ｎ種のスケジューリングポリシーのうちの予期報酬収益が最も高いスケジューリングポリシーを実行するように制御するステップと、を含む。
【０００８】
一態様によれば、本願の実施例は、仮想環境における仮想対象のスケジューリング装置を提供する。前記仮想環境に少なくとも２つの仮想対象及び前記仮想対象により使用に供する仮想リソースが含まれ、前記装置は、
前記仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得するように構成されるデータ取得モジュールと、
前記フレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得るように構成される特徴抽出モジュールであって、前記状態特徴は、関連仮想対象及び前記仮想リソースの状態を含み、前記関連仮想対象は、前記ターゲット仮想対象及び前記ターゲット仮想対象と利害関係を有する仮想対象を含む、特徴抽出モジュールと、
前記状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得るように構成される状態演繹モジュールであって、Ｎは、正整数であり、Ｎ≧２である、状態演繹モジュールと、
価値ネットワーク予測モデルを呼び出して前記Ｎ種の後続状態特徴を処理し、前記ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得るように構成される価値評価モジュールと、
前記ターゲット仮想対象を、前記Ｎ種のスケジューリングポリシーのうちの予期報酬収益が最も高いスケジューリングポリシーを実行するように制御するように構成される制御モジュールと、を備える。
【０００９】
一態様によれば、本願の実施例は、コンピュータデバイスを提供する。前記コンピュータデバイスは、メモリと、プロセッサと、を備え、前記メモリにコンピュータ可読命令が記憶されており、前記コンピュータ可読命令が前記プロセッサにより実行されるとき、前記プロセッサに上記の仮想環境における仮想対象のスケジューリング方法を実行させる。
【００１０】
一態様によれば、本願の実施例は、コンピュータ可読命令を記憶した１つ又は複数の不揮発性記憶媒体を提供する。前記コンピュータ可読命令が１つ又は複数のプロセッサにより実行されるとき、１つ又は複数のプロセッサに上記の仮想環境における仮想対象のスケジューリング方法を実行させる。
【００１１】
本願の１つ又は複数の実施例に関する詳細は、下記図面及び記述の中に示される。本願の他の特徴、目的、及び利点は、明細書、図面及び特許請求の範囲から明らかになる。
【図面の簡単な説明】
【００１２】
【図１】本願の幾つかの例示的な実施例に提供されるコンピュータシステムの構造を示すブロック図である。
【図２】本願の幾つかの例示的な実施例に提供される仮想環境における仮想対象のスケジューリング方法のフローチャートである。
【図３】本願の幾つかの例示的な実施例による価値ネットワーク予測モデルの訓練方法を示すフローチャートである。
【図４】本願の幾つかの例示的な実施例による仮想環境の地図を示す概略図である。
【図５】本願の幾つかの例示的な実施例に提供される仮想環境における仮想対象のスケジューリング方法のフローチャートである。
【図６】本願の幾つかの例示的な実施例による状態特徴演繹の効果を示す図である。
【図７】本願の幾つかの例示的な実施例による仮想装置の全体的アーキテクチャを示す図である。
【図８】本願の幾つかの例示的な実施例による訓練モジュールの作動を示すフローチャートである。
【図９】本願の幾つかの例示的な実施例による予測モジュールの作動を示すフローチャートである。
【図１０】本願の幾つかの例示的な実施例による予測モジュールの作動を示す概略図である。
【図１１】本願の幾つかの例示的な実施例による仮想環境における仮想対象のスケジューリング装置を示すブロック図である。
【図１２】本願の幾つかの例示的な実施例によるコンピュータデバイスの構造を示すブロック図である。
【発明を実施するための形態】
【００１３】
本願の実施例における技術的解決手段をより明確に説明するために、上記で、実施例の説明に必要な図面を簡単に説明している。勿論、以下の図面は本願の一部の実施例に過ぎず、当業者は創造的な労力を払わなくても、これらの図面に基づいて他の図面を得ることもできる。
【００１４】
本願の目的、技術的解決手段及びメリットをより明確にするために、以下、図面を参照しながら、本願の実施形態をさらに詳しく説明する。
【００１５】
まず、本願の実施例に係る用語を説明する。
【００１６】
仮想環境は、アプリケーションプログラムが端末で実行されるときに表示（又は提供）される仮想環境である。該仮想環境は、実世界をシミュレーションする環境であってもよく、セミシミュレーションされたセミ架空の三次元環境であってもよく、完全に架空された三次元環境であってもよい。仮想環境は、二次元仮想環境、２．５次元仮想環境及び三次元の仮想環境のうちのいずれか１つであってもよい。幾つかの実施例において、該仮想環境は更に、少なくとも２つの仮想キャラクター同士の仮想環境における対戦に用いられ、該仮想環境において、少なくとも２つの仮想キャラクターのための仮想リソースを有する。選択的に、該仮想環境の地図は、正方形又は矩形であり、該正方形又は矩形は、対称な左下の対角領域及び右上の対角領域を含む。仮想環境において対戦の勝利を得るための勝利条件は、敵の陣営のターゲット拠点を占領又は破壊することを含む。該ターゲット拠点は、敵の陣営の全ての拠点であってもよく、敵の陣営の一部の拠点（例えば、メイン基地及び防御塔）であってもよい。
【００１７】
仮想対象は、仮想環境における可動対象を指す。該可動対象は、仮想人物、仮想動物、アニメキャラクターのうちの少なくとも１つのであってもよい。幾つかの実施例において、仮想環境が三次元の仮想環境である場合、仮想対象は、三次元の立体モデルである。各仮想対象は、三次元の仮想環境において自体の形状及び体積を有し、三次元の仮想環境における一部の空間を占める。選択的に、仮想対象は、ＭＯＢＡゲームにおけるヒーロー、兵士又は中立生体であってもよい。本願の実施例において、ターゲット仮想対象がヒーローであることを例として説明する。
【００１８】
ＭＯＢＡゲームは、仮想環境において複数の拠点を提供し、ユーザにより、仮想環境において、異なる陣営に属する仮想対象の対戦、拠点の占領、又は敵の拠点の破壊を制御するゲームである。例えば、ＭＯＢＡゲームは、仮想対象を２つの陣営に分け、仮想環境に分散して競争させ、敵の全ての拠点を破壊又は占領することを勝利条件とする。ＭＯＢＡゲームは、局を単位とする。１局のＭＯＢＡゲームの持続時間は、ゲーム開始時刻から勝利条件を達成する時刻までの期間である。
【００１９】
スケジューリングポリシーは、仮想対象をターゲット領域に移動してターゲット領域において対応するタスクを実行することを決定するための行為である。例えば、より高い報酬を得るために、領域Ａで防御を行う仮想対象を大規模に領域Ｂに移送して敵の陣営の仮想対象とローカル対戦を実行する。一般的には、スケジューリングポリシーは、ユーザに対して、全体像を把握することができる能力が高く求められている。
【００２０】
フレームデータは、仮想環境のアプリケーションプログラムが実行されるときに生じるデータである。仮想環境のユーザインタフェースがフレームを単位として表示されるため、アプリケーションプログラムが実行されるときに生じるデータもフレームを単位とする。従って、フレームデータと呼ばれる。ここで、フレームデータに仮想環境における各仮想対象に対応するフレームデータを含む。仮想対象に対応するフレームデータは、仮想対象に対応するユーザインタフェースを生成するためのデータである。アプリケーションプログラムがＭＯＢＡゲームであることを例として、仮想対象Ａを制御する端末Ａは、ＭＯＢＡゲームを実行するとき、所定の時間間隔毎に、１フレームの仮想対象Ａに対応するゲーム画面（即ち、ユーザインタフェース）を表示する。各フレームのゲーム画面に対応するデータは、仮想対象Ａに対応するフレームデータである。
【００２１】
収益（Ｒｅｗａｒｄ）は、仮想対象のスケジューリングポリシー及び／又は行為による勝利条件への全体的な貢献である。仮想対象の行為による勝利条件への貢献は、即時収益であり、仮想対象のスケジューリングポリシーによる勝利条件への貢献は、報酬収益である。例えば、仮想対象が領域Ａで防御を行い、仮想対象の行為は、仮想動物を攻撃することであり、仮想動物を攻撃することでもたらした経験値の増加による勝利条件への貢献は、仮想対象Ａの即時収益である。それに対して、ユーザは、仮想対象を領域Ａから領域Ｂに大規模に移送して敵の陣営の仮想対象とローカル対戦を行うように制御し、仮想対象からの敵の陣営の仮想対象への殺傷による勝利条件への貢献は、報酬収益である。
【００２２】
価値ネットワーク（Ｖａｌｕｅ  ｎｅｔｗｏｒｋ）モデルは、仮想環境のアプリケーションプログラムの各状況状態における状態特徴及び対戦結果に基づいて、各状態特徴による勝利条件への貢献を算出し、それによって該状態特徴の報酬収益を得て、大量の状態特徴−報酬収益のサンプル対データ集合を得て、状態特徴−報酬収益のサンプル対データ集合を利用して、教師あり深層学習モデルにより、状態特徴に対して報酬収益の予測を行う機械学習モデルを得るためのものである。
【００２３】
機械学習モデルは、演算モデルであり、大量のノード（又はニューロンと呼ばれる）を互いに接続してなるものである。各ノードは、１つのポリシー関数に対応し、２ノードあたりの接続は、該接続信号による加重値を表し、これは、重みと呼ばれる。サンプルを機械学習モデルのノードに入力した後、各ノードにより、１つの出力結果を出力し、該出力結果を次のノードの入力サンプルとする。機械学習モデルは、サンプルの最終的出力結果により、各ノードのポリシー関数及び重みを調整し、該プロセスは、訓練と呼ばれる。
【００２４】
本願の実施例で提供される方法は、仮想環境における仮想対象に対するスケジューリングに適用可能である。演繹法で、仮想環境の状況状態を演繹することができる。演繹法は、囲碁に対して演繹することにも適用可能である。これからの全ての実行可能な碁石の打ち行為に基づいて、囲碁の現在状況状態に対してシミュレーションして演繹し、このことは１局が終了するまで継続され、これにより、これからの各打ち行為の最終的な勝負確率を得、それによって、最適な打ちポリシーを正確に決定する。囲碁を１９×１９の二次元空間で表すことができるため、囲碁の状況状態は、離散の有限状態であり、また、１局の囲碁は、平均で約１５０回のラウンドである。状況状態の転換は、打ち行為に基づいて一意的に決定される。従って、離散の状態空間、行為空間、及び限られているラウンド回数に基づいて、囲碁の状況状態に対する演繹を実現することができる。
【００２５】
仮想環境について、例えば、スマートフォン、タブレットのような端末において、マルチプレイヤーオンラインバトルアリーナ（Ｍｕｌｔｉｐｌａｙｅｒ  Ｏｎｌｉｎｅ  Ｂａｔｔｌｅ  Ａｒｅｎａ  Ｇａｍｅｓ：ＭＯＢＡ）、シミュレーションゲーム（Ｓｉｍｕｌａｔｉｏｎ  Ｇａｍｅ：ＳＬＧ）等のような、二次元又は三次元の仮想環境を有するアプリケーションプログラムは数多く存在する。上記のアプリケーションプログラムにおいて、ユーザは、勝つために、仮想対象（例えば、仮想人物）を制御してスケジューリングポリシーを実行し、ユーザが、何らかの原因で仮想対象を制御することができない場合、ＡＩに頼って、対応するスケジューリングポリシーを実行するようにユーザに支援する必要がある。ＡＩがスケジューリングポリシーを実行する前に、本願の実施例に提供される方法により、現在状況状態に対して演繹を行い、最適なスケジューリングポリシーを決定することができる。
【００２６】
人工知能（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ：ＡＩ）は、デジタルコンピュータ又はデジタルコンピュータにより制御される機械を利用して人間の知能をシミュレーション、延伸、拡張し、環境を感知して知識を取得し、知識を利用して最適な結果を得る理論、方法、技術及びアプリケーションシステムである。換言すれば、人工知能は、コンピュータ科学における１つの総合的技術である。それは、知能の本質を把握しようとするものであり、人間の知能と類似した方式で応答できる新たなインテリジェント機械を生み出す。人工知能は、複数種類のインテリジェント機械の設計原理及び実現方法を検討し、機械に、感知、推理及びポリシー決定機能を持たせることである。
【００２７】
人工知能技術は、総合的な学科であり、広範な分野に係る。これは、ハードウェア技術を有するだけでなく、ソフトウェア技術も有する。人工知能の基礎技術は一般的には、センサ、専用人工知能チップ、クラウドコンピューティング、分散型記憶、ビッグデータ処理技術、操作／インタラクションシステム、メカトロニクスなどの技術を含む。人工知能ソフトウェア技術は主に、コンピュータビジョン技術、音声処理技術、自然言語処理技術及び機械学習／深層学習などを含む。
【００２８】
コンピュータビジョン技術（Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ：ＣＶ）は、機械を、如何に「見える」ようにするかを研究する科学的技術である。更に、人間の眼の代わりに、カメラ及びコンピュータを利用してターゲットを認識、追跡、測定する機械的ビジョン技術であり、また、グラフィックス処理を更に行い、コンピュータにより処理して人間の眼による観察又はデバイスによる検出に更に適する画像を得る。科学的学科として、コンピュータビジョンは、関連理論及び技術を検討し、画像又は多次元データから情報を取得できる人工知能システムを確立しようとする。コンピュータビジョン技術は一般的には、画像処理、画像認識、画像意味理解、画像検索、ＯＣＲ、ビデオ処理、ビデオ意味理解、ビデオコンテンツ／行為認識、三次元物体再構成、３Ｄ技術、仮想現実、拡張現実、位置推定とマッピングの同時実行等の技術を含み、更に、一般的な顔認識、指紋認識などの生体特徴認識技術を含む。
【００２９】
機械学習（Ｍａｃｈｉｎｅ  Ｌｅａｒｎｉｎｇ：ＭＬ）は、複数の分野に係る学科であり、確率論、統計学、近似論、凸分析、アルゴリズム複雑度理論などの複数の学科に係る。これは、コンピュータが人間の学習行為を如何に擬似又は実現させるかを主に研究し、新たな知識又は技能を取得し、既存の知識構造を再構築して自体の性能を継続的に改善する。機械学習は、人工知能のキーポイントであり、コンピュータに知能を持たせるための根本的な手段であり、人工知能の各分野に適用される。機械学習及び深層学習は一般的には、人工ニューラルネットワーク、信頼ネットワーク、強化学習、転移学習、帰納的学習、デモンストレーション学習などの技術を含む。
【００３０】
人工知能技術の検討及び進歩に伴い、人工知能技術は、例えば、通常のインテリジェントホーム、インテリジェントウェアラブルデバイス、仮想アシスタント、スマートスピーカ、スマートマーケティング、無人運転、無人機、ロボット、インテリジェント医療、スマートカスタマーサービスなどの多くの分野において検討されて適用されている。技術の進歩に伴い、人工知能技術は、より多くの分野に適用され、ますます重要な価値を発揮すると考えられている。
【００３１】
本願の実施例で提供される技術的解決手段は、人工知能機械学習などの技術に係る。具体的には、下記実施例を参照しながら、説明する。
【００３２】
図１は、本願の幾つかの例示的な実施例に提供されるコンピュータシステムの構造を示すブロック図である。該コンピュータシステム１００は、第１端末１１０と、第２端末１３０と、サーバ１２０と、を備える。
【００３３】
第１端末１１０に、仮想環境をサポートするアプリケーションプログラムがインストール、実行されている。第１端末がアプリケーションプログラムを実行するとき、第１端末のディスプレイに、アプリケーションプログラムのユーザインタフェース１１１が表示される。該アプリケーションプログラムは、軍事シミュレーションプログラム、ＭＯＢＡゲーム又はＳＬＧゲームのうちのいずれか１つであってもよい。第１端末１１０は、第１ユーザ１０１により使用される端末である。第１ユーザ１０１は、第１端末１１０を使用して、仮想環境における第１仮想対象を、動作させるように制御する。該動作は、身体姿勢調整、腹這い、歩行、走り、サイクリング、ジャンプ、運転、ピックアップ、シューティング、攻撃又は投擲のうちの少なくとも１つを含むが、これらに限定されない。例示的に、第１仮想対象は、第１仮想人物であり、例えば、シミュレーションキャラクター又はアニメーションキャラクターである。
【００３４】
第２端末１３０に、仮想環境をサポートするアプリケーションプログラムがインストール、実行されている。該アプリケーションプログラムは、軍事シミュレーションプログラム、ＭＯＢＡゲーム又はＳＬＧゲームのうちのいずれか１つであってもよい。第２端末がアプリケーションプログラムを実行するとき、第２端末のディスプレイにアプリケーションプログラムのユーザインタフェース１３１が表示される。第２端末１３０は、第２ユーザ１０２により使用される端末である。第２ユーザ１０２は、第２端末１３０を利用して、仮想環境に位置する第２仮想対象を、動作させるように制御する。例示的に、第２仮想対象は、第２仮想人物である。例えば、シミュレーションキャラクター又はアニメーションキャラクターである。
【００３５】
幾つかの実施例において、第１仮想人物及び第２仮想人物は、同一の仮想環境に位置する。幾つかの実施例において、第１仮想人物及び第２仮想人物は、同一の陣営、同一のチーム、同一の組織に属する、仲間関係又は一時的通信権限を有する者であってもよい。選択的に、第１仮想人物及び第２仮想人物は、異なる陣営、異なるチーム、異なる組織に属するか又は敵対関係を有してもよい。
【００３６】
幾つかの実施例において、第１端末１１０と第２端末１３０にインストールされるアプリケーションプログラムは同じであるか、又は２つの端末にインストールされるアプリケーションプログラムは、異なる制御システムプラットフォームの同一種類のアプリケーションプログラムである。第１端末１１０は、一般的に、複数の端末のうちの１つを指してもよい。第２端末１３０は、一般的に、複数の端末のうちの１つを指してもよい。本実施例において、第１端末１１０及び第２端末１３０のみを例として説明する。第１端末１１０のデバイスタイプは、第２端末１３０のデバイスタイプと同じであるか又は異なる。該デバイスタイプは、スマートフォン、タブレット、電子ブックリーダ、ＭＰ３プレーヤー、ＭＰ４プレーヤー、ラップトップ型ポータブルコンピュータ又はデスクトップコンピュータのうちの少なくとも１つを含む。
【００３７】
他の端末１４０は、開発者に対応する端末であってもよい。端末１４０に仮想環境のアプリケーションプログラムの開発及びエディットプラットフォームがインストールされている。開発者は、端末１４０においてアプリケーションプログラムを編集し、編集したアプリケーションプログラムファイルを有線又は無線ネットワークを介してサーバ１２０に伝送することができる。第１端末１１０及び第２端末１３０は、サーバ１２０からアプリケーションプログラムに対応する更新パッケージをダウンロードしてアプリケーションプログラムの更新を実現することができる。
【００３８】
第１端末１１０、第２端末１３０及び他の端末１４０は、無線ネットワーク又は有線ネットワークを経由してサーバ１２０に接続される。
【００３９】
サーバ１２０は、１台のサーバ、複数台のサーバ、クラウドコンピューティングプラットフォーム又は仮想センタのうちの少なくとも１つを含む。サーバ１２０は、三次元の仮想環境をサポートするアプリケーションプログラムにバックグラウンドサービスを提供するためのものである。幾つかの実施例において、サーバ１２０は、主なコンピューティング動作を担い、端末は、副次的なコンピューティング動作を担う。又は、サーバ１２０は、主なコンピューティング動作を担い、端末は、主なコンピューティング動作を担う。又は、サーバ１２０と端末は、分散型コンピューティングアーキテクチャを利用して協働コンピューティングを行う。
【００４０】
サーバ１２０は、少なくとも１つのサーバモジュール１２１を含む。サーバモジュール１２１は、プロセッサ１２２、ユーザデータベース１２３、アプリケーションプログラムデータベース１２４、ユーザ向けの入力／出力インタフェース（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｉｎｔｅｒｆａｃｅ：Ｉ／Ｏインタフェース）１２５及び開発者向けの入力／出力インタフェース１２６を含む。ここで、プロセッサ１２２は、サーバモジュール１２１に記憶されている命令をロードし、ユーザデータベース１２３及びアプリケーションプログラムデータベース１２４におけるデータを処理するように構成される。ユーザデータベース１２３は、第１端末１１０及び／又は第２端末１３０により無線ネットワーク又は有線ネットワークを経由してアップロードされたユーザデータを記憶するように構成される。アプリケーションプログラムデータベース１２４は、仮想環境のアプリケーションプログラムにおけるデータを記憶するように構成される。ユーザ向けのＩ／Ｏインタフェース１２５は、無線ネットワーク又は有線ネットワークを経由して第１端末１１０及び／又は第２端末１３０と通信を確立してデータを交換するように構成される。開発者向けのＩ／Ｏインタフェース１２６は、無線ネットワーク又は有線ネットワークを経由して他の端末１４０と通信を確立してデータを交換するように構成される。
【００４１】
ＡＩが、ユーザがターゲット仮想対象を制御してスケジューリングを行うことを補助するシーンにおいて、第１ユーザ１０１は、第１端末１１０を使用して、仮想環境における第１仮想対象を、動作させるように制御する。ユーザが第１仮想対象を制御するのに不都合である場合、アプリケーションプログラムにおいてＡＩ支援制御機能を有効化することができ、サーバ１２０は、ＡＩ支援制御機能が有効化されたことを示す信号を受信した後、第１仮想対象に対してスケジューリングを行う。
【００４２】
ＡＩがターゲット仮想対象を、ユーザと対戦するように制御するシーンにおいて、サーバ１２０は、仮想環境における第１仮想対象を、動作させるように制御する。第２ユーザ１０２は、第２端末１３０を使用して、同一の仮想環境に位置する第２仮想対象を、動作させるように制御する。
【００４３】
ＡＩが少なくとも１つの仮想対象を、仮想環境において対戦するように制御するシーンにおいて、サーバ１２０は、仮想環境における複数の仮想対象を、対戦するように制御する。該適用シーンにおいて、第１端末１１０及び第２端末１３０は、選択可能なデバイスになる。
【００４４】
上記の適用シーンにおいて、サーバ１２０は、下記方式により、スケジューリングポリシーを評価する。仮想環境においてアプリケーションプログラムを実行するときに生じるフレームデータを取得する。フレームデータにおける、ターゲット仮想対象に対応するターゲットフレームデータを抽出する。ターゲットフレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得る。価値ネットワーク予測モデルを呼び出して状態特徴を処理し、ターゲット仮想対象が現在状況状態でＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得、Ｎは、正整数であり、Ｎ≧２である。ここで、ターゲット仮想対象は、第１仮想対象であってもよく、第２仮想対象であってもよく、又は、他の端末により制御される他の仮想対象であってもよい。
【００４５】
当業者であれば、上記の端末の数がより多くてもよく又はより少なくてもよいことが自明である。例えば、上記の端末は、１つのみであってもよく、又は、上記の端末は、数十個又は数百個であってもよく、又はより多くの数であってもよい。本願の実施例は、端末の数及びデバイスタイプを限定するものではない。
【００４６】
図２は、本願の幾つかの例示的な実施例に提供される仮想環境における仮想対象のスケジューリング方法のフローチャートである。該方法は、図１に示すようなコンピュータシステム１００に適用可能であり、該方法は、以下を含む。
【００４７】
ステップ２０１において、仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得する。
【００４８】
フレームデータは、仮想環境のアプリケーションプログラムが実行されるときに生じるデータであり、フレームデータは、仮想環境における各仮想対象のデータ及び各仮想リソースのデータを含む。仮想環境のユーザインタフェースがフレームを単位として表示されるため、アプリケーションプログラムが実行されるときに生じるデータもフレームを単位とし、従って、フレームデータと呼ばれる。サーバは、所定の時間間隔毎に、フレームデータを取得し、又は、新たなフレームデータが生成されるときに、サーバは、新たに生成されるフレームデータを取得する。
【００４９】
例示的に、仮想対象のデータは、仮想対象の位置（座標）、属性（経験値、経済値、体力値、殺傷数、死亡数、リソース値及び能力値など）又は行為（移動タイプ行為、ピックアップタイプ行為及び攻撃タイプ行為等）のうちの少なくとも１つを含み、仮想リソースは、建築物、中立生体、軍隊、乗り物、武器又は弾薬のうちの少なくとも１つを含む。仮想リソースのデータは、仮想リソースの位置（座標）、属性（耐久値、体力値、能力値、帰属など）又は行為（移動行為、攻撃行為等）のうちの少なくとも１つを含む。
【００５０】
ステップ２０２において、フレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得る。
【００５１】
サーバは、フレームデータに対して特徴抽出を行い、現在状況状態における少なくとも２つの仮想対象のうちのターゲット仮想対象の状態特徴を得、該状態特徴は、関連仮想対象の状態及び仮想リソースの状態を含む。
【００５２】
ここで、関連仮想対象は、ターゲット仮想対象及びターゲット仮想対象と利害関係を有する仮想対象を含む。例えば、ターゲット仮想対象と同一の陣営に属する仮想対象及びターゲット仮想対象又はターゲット仮想対象と同一の陣営の仮想対象の視野範囲に出現する敵の仮想対象である。
【００５３】
例示的に、ターゲット仮想対象の状態特徴は、関連仮想対象の状態及び仮想リソースの状態を含む。例えば、仮想対象Ａ、仮想対象Ｂ及び仮想対象Ｃは、陣営１に属し、仮想対象Ｄ、仮想対象Ｅ及び仮想対象Ｆは、陣営２に属し、仮想対象Ａは、サーバにより制御されるターゲット仮想対象である。ここで、仮想対象Ｄは、仮想対象Ｂの視野範囲にあり、仮想対象Ｅは、仮想対象Ａの視野範囲にあり、仮想対象Ａとの対戦状態にあり、仮想対象Ａと利害関係を有する。仮想対象Ｆは、仮想対象Ａ、仮想対象Ｂ及び仮想対象Ｃの視野範囲に位置しない。従って、関連仮想対象は、仮想対象Ａ、仮想対象Ｂ、仮想対象Ｃ、仮想対象Ｄ及び仮想対象Ｅを含む。
【００５４】
サーバは、フレームデータにおける関連仮想対象のデータ及び仮想リソースのデータを読み取り、特徴抽出を行い、状態特徴を得る。例えば、サーバにより抽出された状態特徴は、Ｓ（Ｓ１ｈ，  Ｓ２ｈ，……，Ｓ０１ｔ，Ｓ０２ｔ，……，Ｓ０１ｍ，Ｓ０２ｍ，……）である。ここで、Ｓは、現在状況状態におけるターゲット仮想対象の状態特徴を表し、Ｓ＊ｈは、＊番目の仮想対象の状態を表し、Ｓ＊ｔは、＊番目の建築物の状態を表し、Ｓ＊ｍは、＊番目の中立生体の状態を表す。
【００５５】
状態特徴が、関連仮想対象の状態及び仮想リソースの状態としてサンプリングされることにより、仮想環境における現在状況のサンプリングを実現することができる。関連仮想対象及び仮想リソースの数が限られているため、仮想環境における現在状況の離散化が実現することができる。
【００５６】
例示的に、ＭＯＢＡゲームに２つの陣営が含まれる。各陣営に５個の仮想対象が含まれる。ＭＯＢＡゲーム地図に、１４４個の争奪、占領又は破壊することができる仮想リソース位置が含まれる。従って、抽出された状態特徴に、５〜１０個の仮想対象の状態、及び１４４個の仮想リソースの状態が含まれる。これにより、仮想環境における現在状況のサンプリング及び離散化が実現することができる。
【００５７】
ステップ２０３において、状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得、Ｎは、正整数であり、Ｎ≧２である。
【００５８】
例示的に、Ｎ種のスケジューリングポリシーに基づいて状態特徴に対して演繹を行い、各スケジューリングポリシーをそれぞれ実行して、各スケジューリングポリシーに対応する後続状態特徴を得ることができる。スケジューリングポリシーが、ｎ個の移動可能な領域に移動してｍ種の行為を実行することを例として説明すると、ターゲット仮想対象は、ｍ種の実行可能な行為（ピックアップタイプ行為及び攻撃タイプ行為を含み、ここで、ピックアップタイプ行為は、物品のピックアップ、物品の装備、物品の破壊又は物品の改造などのうちの少なくとも１つを含み、攻撃タイプ行為は、シューティング、物理的攻撃、魔法攻撃又は弾薬投擲等のうちの少なくとも１つを含む）、及びｎ個の移動可能な領域に対応され、ｍ種の行為及びｎ個の移動可能な位置から、ターゲット仮想対象のＮ種のスケジューリングポリシーを構成する。ｍ、ｎは、正整数であり、ｍ≧１、ｎ≧２、ｍ＊ｎ＝Ｎである。サーバは、ターゲット仮想対象がＮ種のスケジューリングポリシーを実行した後、現在状況状態がＮ種の後続状況状態に変換されることによって、当前状況状態における状態特徴からＮ種の後続状態特徴に変換されることを演算する。例えば、現在状態特徴において、移動領域１に位置する建築物１の状態は、中立状態であり、ターゲット仮想対象のＮ種のスケジューリングポリシーのうちの第ｉ種のスケジューリングポリシーが、移動領域１へ移動することであり、ターゲット仮想対象が移動領域１に移動した後、移動領域１における建築物１の状態は、中立状態からコントロール状態に変換される。
【００５９】
ステップ２０４において、価値ネットワーク予測モデルを呼び出してＮ種の後続状態特徴を処理し、ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得る。
【００６０】
ここで、予期報酬収益は、各種のスケジューリングポリシーによる仮想環境における対戦の勝利条件への貢献を表す。サーバは、Ｎ種の後続状態特徴を価値ネットワーク予測モデルに入力し、各種のスケジューリングポリシーにそれぞれ対応する予測報酬収益を得る。つまり、ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益は、Ｎ種のスケジューリングポリシーの各種のスケジューリングポリシーにそれぞれ対応する予期報酬収益を指す。
【００６１】
例示的に、スケジューリングポリシーがｎ個の移動領域へ移動することを例として、ターゲット仮想対象の移動可能な領域は、移動領域１、移動領域２及び移動領域３であり、状態特徴を読み取ることで、移動領域１の状態が、中立状態の建築物を有するという状態であり、移動領域２の状態が、同一陣営の仮想対象と敵の陣営の仮想対象との対戦状態であり、移動領域３の状態が、中立状態の中立生体を有するという状態であることを得る。価値ネットワーク予測モデルは、ターゲット仮想対象が移動領域１に移動する場合の予期報酬収益を１と予測し、ターゲット仮想対象が移動領域２に移動する場合、占領に対して有益な効果を有し、予期報酬収益が３であると予測し、ターゲット仮想対象が移動領域３に移動する場合、中立生体を殺して経験値を得て、その予期報酬収益が２であると予測する。
【００６２】
ステップ２０５において、ターゲット仮想対象を、Ｎ種のスケジューリングポリシーのうちの予期報酬収益が最も高いスケジューリングポリシーを実行するように制御する。
【００６３】
サーバは、Ｎ種のスケジューリングポリシーの予期報酬収益のうちの予期報酬収益が最も高いスケジューリングポリシーをターゲットスケジューリングポリシーとして、ターゲット仮想対象を、ターゲットスケジューリングポリシーを実行させるように制御する。例示的に、ステップ２０４に記載したように、サーバは、ターゲット仮想対象を移動領域１に移動する場合の予期報酬収益が１であることを算出し、ターゲット仮想対象を移動領域２に移動する場合の予期報酬収益が３であることを算出し、ターゲット仮想対象を移動領域３に移動する場合の予期報酬収益が２であることを算出し、予期報酬収益が最も高いスケジューリングポリシーを決定する。つまり、移動領域２への移動は、ターゲットスケジューリングポリシーである。ターゲット仮想対象を、移動領域２に移動するように制御する。
【００６４】
幾つかの実施例において、スケジューリングポリシーの予期報酬収益に基づいて、前記Ｎ種のスケジューリングポリシーからターゲットスケジューリングポリシーを選択し、ターゲット仮想対象を、ターゲットスケジューリングポリシーを実行するように制御する。例えば、予期報酬収益が最も高い上記のスケジューリングポリシーをターゲットスケジューリングポリシーとして選択することができる。また、他のポリシー選択方法で、ターゲットスケジューリングポリシーを選択することもできる。例えば、ユーザは、あるヒーローキャラクターの生命値を優先して保障するように予め設定し、これにより、予期報酬収益が所定の順位の前であり、且つ該ヒーローキャラクターの生命値損失が最も小さいスケジューリングポリシーをターゲットスケジューリングポリシーとして選択することができる。
【００６５】
よって、本願の実施例において、仮想環境の現在状況における状態特徴を取得し、該状態特徴が関連仮想対象の状態及び仮想リソースの状態としてサンプリングされるため、仮想環境における現在状況のサンプリングを実現することができる。関連仮想対象及び仮想リソースの数が限られているため、仮想環境における現在状況状態の離散化を実現することができる。これにより、限られた離散化した状態特徴を基に、Ｎ種のスケジューリングポリシーによって、Ｎ種の後続状態特徴を得る。更に、価値ネットワーク予測モデルを呼び出すことで、Ｎ種の後続状態特徴を処理し、ターゲット仮想対象が各種のスケジューリングポリシーを実行する場合の予期報酬収益を得る。さらに、現在状況状態の状態特徴に対して、勝負条件を達成するまでの最後の状態特徴まで演繹を行わなくてもよく、これにより、演繹のステップを簡略化し、仮想環境の状況状態に対する演繹を実現し、それによって、ＡＩがスケジューリングポリシーを実行するように仮想対象を制御する場合の正確度を向上させる。
【００６６】
それと同時に、本願の実施例において、仮想対象により実行されるスケジューリングポリシーは、現在状況の状態特徴及びＮ種のスケジューリングポリシーに基づいて演繹を行い、Ｎ種の後続状態特徴を得て、価値ネットワークモデルによりＮ種のスケジューリング特徴を処理することで得られたものである。従って、仮想環境のアプリケーションプログラムのロジックに依存せず、ＡＩが仮想対象を、スケジューリングを実行するように制御する場合の適応性を向上させる。
【００６７】
サーバは、価値ネットワーク予測モデルを呼び出して状態特徴を処理する前に、価値ネットワーク予測モデルを訓練する必要がある。価値ネットワーク予測モデルの訓練データは、ユーザが仮想環境のアプリケーションプログラムを実行した履歴データに基づいたものである。下記実施例において、価値ネットワーク予測モデルの訓練プロセスを説明する。
【００６８】
図３は、本願の幾つかの例示的な実施例による価値ネットワーク予測モデルの訓練方法を示すフローチャートである。該方法は、図１に示すようなコンピュータシステム１００に適用可能である。該方法は、図２に示した実施例におけるステップ２０２の前に実行される方法である。該方法は以下を含む。
【００６９】
ステップ３０１において、ｐ個のサンプルフレームデータを取得し、ｐは、正整数であり、ｐ≧２である。
【００７０】
選択的に、サーバがｐ個のサンプルフレームデータを取得するための方法は、下記ステップを含むが、これらに限定されない。
【００７１】
ステップ３０１ａにおいて、ｌ個の履歴フレームデータを取得し、ｌは、正整数であり、ｌ≧ｐである。
【００７２】
サーバは、仮想環境のアプリケーションプログラムを実行するときに生じる履歴フレームデータを取得し、ｌ個の履歴ターゲットフレームデータを得る。
【００７３】
例示的に、実行して勝利条件を満たす１局のＭＯＢＡゲームは、２００００フレームほどの履歴フレームデータが生じる。サーバは、局を単位として、少なくとも１局のＭＯＢＡゲームを実行するときに生じる履歴フレームデータを取得し、履歴フレームデータを得る。
【００７４】
ステップ３０１ｂにおいて、所定の時間ステップに従ってｌ個の履歴フレームデータからｑ個の候補フレームデータを抽出して、ｑは、正整数であり、ｐ≦ｑ≦ｌである。
【００７５】
サーバは、所定の時間ステップを単位として、ｍ個の履歴フレームデータから抽出を行い、ｑ個の候補フレームデータを得る。例示的に、履歴フレームデータの間の時間間隔は、０．０５秒である。サーバは、所定の時間ステップである１秒を単位として、履歴フレームデータから抽出を行い、候補フレームデータを得る。これにより、処理されるべきフレームデータの数を９５％低減させる。
【００７６】
ステップ３０１ｃにおいて、ｑ個の候補フレームデータを読み取り、候補フレームデータ内の攻撃行為を含むフレームデータをサンプルフレームデータとして決定し、ｐ個のサンプルフレームデータを得て、ｎ≦ｑである。
【００７７】
サーバは、候補フレームデータを読み取り、候補フレームデータ内の攻撃行為を含むフレームデータをサンプルフレームデータとして決定し、ｐ個のサンプルフレームデータを得る。
【００７８】
ステップ３０２において、各サンプルフレームデータに対して特徴抽出を行い、ｐ個のサンプルフレームデータのサンプル状態特徴を得る。
【００７９】
サーバは、サンプルフレームデータに対して特徴抽出を行い、ｐ個のサンプルフレームデータの状態特徴を得る。該状態特徴は、関連仮想対象の状態及び仮想リソースの状態を含む。
【００８０】
選択的に、仮想リソースは、建築物、中立生体、軍隊、乗り物、武器又は弾薬のうちの少なくとも１つを含む。関連仮想対象の状態は、関連仮想対象の位置、体力値、攻撃力値、防御力値、経験値、殺傷数、死亡数又は経済値のうちの少なくとも１つを含む。仮想リソースの状態は、仮想リソースの位置、体力値、攻撃力値、防御力値、耐久値又は占領状態のうちの少なくとも１つを含む。
【００８１】
仮想リソースの占領状態は、中立状態、コントロール状態、占有状態又は争奪状態を含む。
【００８２】
中立状態は、仮想リソースが如何なる陣営にも属しないことを表す。例えば、中立生体及び中立建築物の占領状態が中立状態である。いずれかの陣営の仮想対象は、中立生体を攻撃して、中立生体を、コントロールされる状態にすることができる。
【００８３】
コントロール状態は、仮想リソースが所在する移動領域内に同一の陣営の少なくとも１つの仮想対象が含まれることを表す。例えば、中立建築物１は、移動領域１に位置し、移動領域１に、陣営１に属する仮想対象Ａが含まれる。従って、中立建築物１の占領状態は、陣営１によりコントロールされるという状態である。
【００８４】
占有状態は、前記仮想リソースがいずれかの陣営に属することを表す。例えば、防御塔１は、陣営１に属する建築物であり、他の陣営は、防御塔１をコントロールすることができない。他の陣営の仮想対象は、移動中において、該防御塔１を迂回又は破壊するしかできない。
【００８５】
争奪状態は、前記仮想リソースが所在する移動領域内に異なる陣営に属する少なくとも２つの仮想対象が含まれることを表す。例えば、中立生体又は中立建築物が所在する移動領域内に、陣営１及び陣営２にそれぞれ属する仮想対象が存在する。該中立生体又は中立建築物の占領状態は、争奪状態である。
【００８６】
本実施例において、仮想環境の地図は、仮想リソースの所在位置に従ってｎ個の移動領域に分割される。ｎは、正整数であり、ｎ≧２である。例示的に、図４に示すように、仮想環境の地図４００は、仮想リソース（図４における三角形は、仮想建築物の標識であり、星形は、中立生体の標識である）の所在位置に応じて１０個の移動領域４１１−４２０に分割される。該地図４００に、ターゲット仮想対象４０１、ターゲット仮想対象４０１と同一の陣営に属する仮想対象４０２、ターゲット仮想対象４０１の視野範囲内に位置し、且つ敵の陣営に属する仮想対象４０４、仮想対象４０２の視野範囲内に位置し、且つ敵の陣営に属する仮想対象４０３が表示される。図４における矢印に示すように、ターゲット仮想対象が移動できる移動領域は、１０個の移動領域（ターゲット仮想対象が所在する移動領域４１１を含む）である。
【００８７】
ステップ３０３において、ｐ個のサンプル状態特徴のうちの各サンプル状態特徴の即時収益を算出する。
【００８８】
例示的に、サーバは、サンプル状態特徴における仮想対象の行為及び状態を読み取り、仮想対象が該行為を実行することによって引き起こされる状態変化を算出し、これにより、状態変化による勝利条件への貢献を算出し、即時収益を得る。例えば、サンプル状態特徴１における仮想対象の経験値が２であり、仮想対象の行為は、中立生体を攻撃しているという行為であり、仮想対象が、中立生体を殺した後に、３である経験値を得ることができる。つまり、仮想対象が中立生体を殺した後の経験値は、５である。サーバは、仮想対象の経験値が２から５まで増加することによる勝利条件への貢献を演算して、サンプル状態特徴１の即時収益を得る。
【００８９】
ステップ３０４において、ｐ個のサンプル状態特徴のうちのｉ番目のサンプル状態特徴に対して、ｉ番目のサンプル状態特徴の即時収益及びｉ＋１番目のサンプル状態特徴の即時収益に基づいて、ｉ番目のサンプル状態特徴の実際報酬収益を算出し、ｉは、正整数であり、ｉ≦ｐである。
【００９０】
各状態特徴の実際報酬収益は、累計結果である。例えば、ｐ個のサンプル状態特徴のうちのｘ番目からｙ番目までのサンプル状態特徴は、同一局の対戦における最初の状態特徴から最終の状態特徴であり、ｉ番目のサンプル状態特徴は、ｘ番目のサンプル状態特徴からｙ番目のサンプル状態特徴のうちのいずれか１つのサンプル状態特徴であり、ｉ番目のサンプル状態特徴の実際報酬収益は、ｉ＋１番目のサンプル状態特徴の即時収益からｙ番目のサンプル状態特徴の即時収益までの累計値である。
【００９１】
例示的に、下記式により、ｉ番目のサンプル状態特徴の実際報酬収益を算出することができる。
【００９２】
【数１】
2022502112.tif 000003
ただし、Ｇｉは、ｉ番目のサンプル状態特徴の実際報酬収益を表す。Ｒ＊は、＊番目のサンプル状態特徴の即時収益を表す。λ＊−ｉ−１は、＊番目のサンプル状態特徴の即時収益によるｉ番目のサンプル状態特徴への影響因子を表す。＊番目のサンプル状態特徴とｉ番目のサンプル状態特徴との時間が長いほど、影響因子は、小さくなる。
【００９３】
スケジューリングポリシーθを実行する場合のｉ番目のサンプル状態特徴の実際報酬収益は、下記式により算出される。
【００９４】
【数２】
2022502112.tif 000004
ただし、Ｖθ（ｓ）は、スケジューリングポリシーθを実行する場合のサンプル状態特徴Ｓの実際報酬収益を表す。Ｅ［ｓ］は、状態特徴ｓでの予期報酬収益を表す。νは、反復演算で得られたパラメータを表す。
【００９５】
サーバは、ステップ３０１からステップ３０４を繰り返して実行し、１局を単位として、サンプルフレームデータを継続的に取得し、複数セットのサンプル状態特徴−収益（即時収益、実際報酬収益）のサンプルデータセットを抽出することができる。
【００９６】
ステップ３０５において、オリジナル価値ネットワーク予測モデルを呼び出して各サンプル状態特徴を処理し、各サンプル状態特徴の訓練結果を得る。
【００９７】
サーバは、各サンプル状態特徴をオリジナル価値ネットワーク予測モデルに入力し、各サンプル状態特徴の訓練結果を得る。ここで、オリジナル価値ネットワーク予測モデルは、訓練されていない機械学習モデルである。各サンプル状態特徴の訓練結果は、オリジナル価値ネットワークモデルにより予測された、サンプル状態特徴において各スケジューリングポリシーを実行する場合の予期報酬収益である。
【００９８】
ステップ３０６において、各セットのサンプルデータセットに対して、訓練結果を実際収益と比較し、計算損失を得て、該計算損失は、訓練結果とサンプル状態特徴の実際収益との誤差を示すためのものである。
【００９９】
例示的に、サンプル状態特徴Ｓ１を例として、スケジューリングポリシーθ１を実行する場合の実際報酬収益は、２であり、スケジューリングポリシーθ２を実行する場合の実際報酬収益は、−１であり、スケジューリングポリシーθ３を実行する場合の実際報酬収益は、３である。サンプル状態特徴Ｓ１の訓練結果は、スケジューリングポリシーθ１を実行する場合の予期報酬収益が１．５であり、スケジューリングポリシーθ２を実行する場合の予期報酬収益が−１であり、スケジューリングポリシーθ３を実行する場合の予期報酬収益が２であることである。従って、計算損失は、（０．５，０，１）である。
【０１００】
ステップ３０７において、少なくとも１セットのサンプルデータセットにそれぞれ対応する計算損失に基づいて、誤差逆伝播アルゴリズムで訓練して価値ネットワーク予測モデルを得る。
【０１０１】
サーバは、少なくとも１セットのサンプルデータセットにそれぞれ対応する計算損失に基づいて、誤差逆伝播アルゴリズムで訓練して価値ネットワーク予測モデルを得る。ここで、該価値ネットワーク予測モデルは、状態特徴に基づいて、該状態特徴において各種のスケジューリングポリシーを実行する場合の予期報酬収益を予測するためのものである。
【０１０２】
よって、本願の実施例において、サンプルフレームデータにおけるデータを読み取ることで、サンプルフレームデータの状態特徴を抽出する。該状態特徴は、関連仮想対象の状態及び仮想リソースの状態を含む。サーバは、仮想環境における全てのパラメータを状態特徴としてサンプルフレームデータの状態を表す必要がないため、状態特徴の決定を簡略化することができる。これにより、サーバの演算量を低減させ、サーバの処理速度を向上させる。
【０１０３】
選択的に、本願の実施例において、所定の時間ステップに従って、履歴フレームデータから抽出して候補フレームデータを得る。候補フレームデータ内の攻撃行為を含むフレームデータをサンプルフレームデータとして決定する。全ての履歴ターゲットフレームデータを処理する必要がないため、サーバの処理効率が向上した。
【０１０４】
選択的に、本願の実施例において、各フレームのサンプルフレームデータの即時収益を算出し、各フレームのサンプルフレームデータの即時収益及び該サンプルフレームデータの次のフレームのサンプルフレームデータの即時収益に基づいて、該サンプルフレームデータの実際報酬収益を算出する。該サンプルフレームデータの後の全てのフレームのサンプルフレームデータによる実際報酬収益への影響を累積計算する必要がないため、サーバの演算量が低減した。従って、サーバの処理速度が向上した。
【０１０５】
図５は、本願の幾つかの例示的な実施例に提供される仮想環境における仮想対象のスケジューリング方法のフローチャートである。該方法は、図１に示すようなコンピュータシステム１００に適用可能であり、該方法は、以下を含む。
【０１０６】
ステップ５０１において、仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得する。
【０１０７】
サーバがフレームデータを取得するための方法は、図２に示す実施例におけるステップ２０１を参照することができる。ここで、詳細な説明を省略する。
【０１０８】
ステップ５０２において、フレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得る。
【０１０９】
サーバがフレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得て、該状態特徴は、関連仮想対象の状態及び仮想リソースの状態を含む。
【０１１０】
選択的に、仮想リソースは、建築物、中立生体、軍隊、乗り物、武器又は弾薬のうちの少なくとも１つを含む。関連仮想対象の状態は、関連仮想対象の位置、体力値、攻撃力値、防御力値、経験値、殺傷数、死亡数又は経済値のうちの少なくとも１つを含む。仮想リソースの状態は、仮想リソースの位置、体力値、攻撃力値、防御力値、耐久値又は占領状態のうちの少なくとも１つを含む。仮想リソースの占領状態は、中立状態、コントロール状態、占有状態又は争奪状態を含む。
【０１１１】
サーバがフレームデータに対して特徴抽出を行い、現在状況状態におけるターゲット仮想対象の状態特徴を得るための方法は、図２に示した実施例におけるステップ２０１及び図３に示した実施例におけるステップを参照することができる。
【０１１２】
ステップ５０３において、前記ターゲット仮想対象に対応するｍ種の行為を取得し、ｍは、正整数であり、ｍ≧１である。
【０１１３】
サーバは、フレームデータにおけるターゲット仮想対象のデータを読み取り、ターゲット仮想対象による実行可能なｍ種の行為を取得する。該行為は、ピックアップタイプ行為及び攻撃タイプ行為を含む。選択的に、物品のピックアップ、物品の装備、物品の破壊又は物品の改造などのうちの少なくとも１つを含む。攻撃タイプ行為は、シューティング、物理的攻撃、魔法攻撃又は弾薬投擲等のうちの少なくとも１つを含む。
【０１１４】
ステップ５０４において、前記ターゲット仮想対象に対応するｍ種の行為及び前記ｎ個の移動領域に基づいて、前記Ｎ種のスケジューリングポリシーを得て、前記スケジューリングポリシーは、前記ｎ個の移動領域のうちのｉ番目の移動領域に移動して、前記ｍ種の行為のうちの第ｊ種の行為を実行することを含み、ｉ、ｊは、正整数であり、１≦ｉ≦ｎ、１≦ｊ≦ｍである。
【０１１５】
例示的に、サーバは、ｍ種の行為及びｎ個の移動領域に基づいて、スケジューリングポリシー空間を構成する。該空間は、ｍ行ｎ列の行列である。又は、該空間は、ｎ行ｍ列の行列である。該スケジューリングポリシー空間に、Ｎ種のスケジューリングポリシーが含まれる。
【０１１６】
ステップ５０５において、Ｎ種のスケジューリングポリシーを状態特徴に作用させ、所定の状態遷移関係に基づいて、Ｎ種の後続状態特徴を得る。
【０１１７】
ここで、状態遷移関係は、前記スケジューリングポリシーを状態特徴に作用させた後の状態変化を表すためのものである。
【０１１８】
例示的に、状態遷移関係の１つの表現形態は、状態遷移行列である。状態遷移行列に仮想対象、仮想リソースの状態、及び行為のマッピング関係が含まれる。サーバは、スケジューリングポリシー空間に状態遷移行列を乗算することで、Ｎ種の後続状態特徴を得る。
【０１１９】
例えば、スケジューリングポリシーにおける仮想対象の行為が物理的攻撃であり、該物理的攻撃の攻撃力は、５であり、状態特徴Ｓにおける攻撃される建築物１の耐久値は、６である場合、後続状態特徴Ｓ’における建築物１の耐久値は、１である。
【０１２０】
ステップ５０６において、価値ネットワーク予測モデルを呼び出してＮ種の後続状態特徴を処理し、ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得る。
【０１２１】
例示的に、図６に示すように、状態特徴Ｓにおいて、ターゲット仮想対象４０１は、移動領域４１１に位置し、ターゲット仮想対象４０１は、Ｎ種のスケジューリングポリシーを実行することで、状態特徴を後続状態特徴Ｓ’に変換する。後続状態特徴Ｓ’の状態特徴空間において、ターゲット仮想対象４０１は、移動領域４１１〜４２０に位置し、実行可能な複数種類の行為を実行することができる。サーバは、価値ネットワーク予測モデルを呼び出して後続状態Ｓ’を処理し、後続状態Ｓ’における各サブ空間の予期報酬収益を得る。
【０１２２】
ステップ５０７において、ターゲット仮想対象を、Ｎ種のスケジューリングポリシーのうちの予期報酬収益が最も高いスケジューリングポリシーを実行するように制御する。
【０１２３】
サーバは、Ｎ種のスケジューリングポリシーのうちの予期報酬収益が最も高いスケジューリングポリシーをターゲットスケジューリングポリシーとして、端末に制御命令を送信する。該制御命令は、ターゲット仮想対象を、ターゲットスケジューリングポリシーを実行するように制御するよう端末に指示するためのものである。
【０１２４】
従って、本願の実施例において、現在状況における状態特徴を抽出する。該状態特徴に関連仮想対象の状態及び仮想リソースの状態のみが含まれるため、仮想環境における現在状況の離散化及びサンプリング処理が実現することができる。これにより、現在状況状態における状態特徴を基に、Ｎ種のスケジューリングポリシーによって、現在状況状態特徴のＮ種の後続状態特徴を得る。更に、価値ネットワーク予測モデルを呼び出すことで、Ｎ種の後続状態特徴を処理し、ターゲット仮想対象が各種のスケジューリングポリシーを実行する場合の予期報酬収益を得る。また、現在状況状態の状態特徴に対して、勝負条件を達成するまでの最後の状態特徴まで演繹を行わなくてもよく、これにより、演繹ステップを簡略化し、仮想環境の状況状態に対する演繹を実現し、それによって、ＡＩがスケジューリングポリシーを実行するように仮想対象を制御する場合の正確度を向上させる。
【０１２５】
本願の各実施例における各ステップはステップ番号に示される順番に応じて順次実行されるとは限らないと理解されるべきである。本明細書に特に明記しない限り、これらのステップの実行は厳格な順番に限定されるものではない。これらのステップは、他の順番で実行されてもよい。また、各実施例における少なくとも一部のステップは、複数のサブステップ又は複数の段階を含んでもよい。これらのサブステップ又は段階は、必ずしも同一の時刻で実行されるとは限らず、様々な時刻で実行されてもよい。これらのサブステップ又は段階は必ずしも実行順番で実行されるとは限らず、他のステップ又は他のステップのサブステップや段階の少なくとも一部と共に順次実行されてもよいし、交替で実行されてもよい。
【０１２６】
一実施例において、サーバを更に提供する。該端末は、仮想環境における仮想対象のスケジューリング装置を含む。仮想環境における仮想対象のスケジューリング装置に、各モジュールが含まれる。各モジュールの全て又は一部は、ソフトウェア、ハードウェア又はその組み合わせにより実現する。
【０１２７】
例示的な実施例において、図７に示すように、本願の実施例におけるサーバは、データ取得モジュール７１０と、訓練モジュール７２０と、価値評価モジュール７３０と、制御モジュール７４０と、を備える。ここで、価値ネットワーク訓練モジュー７２０は、状態サンプリングモジュール７２１と、特徴抽出モジュール７２２と、収益抽出モジュール７２３と、機械学習訓練モジュール７２４と、を備える。価値評価モジュール７３０は、特徴抽出モジュール７２２と、状態演繹モジュール７３１と、予測モジュール７３２と、を備える。以下、各モジュールを説明する。
【０１２８】
一、訓練モジュール
状態サンプリングモジュール７２１において、一般的には、１局のＭＯＢＡゲームの持続期間は、約数十分間以上である。ゲームに変換されるフレームデータは、数万フレーム以上である。実際のゲームプロセスにおいて、マクロ的な状況変化が相対的に遅く、フレームデータとフレームデータとの間の状況状態は、大きな相関性を有する。仮想対象の攻撃行為が状況状態変化の主要要因であるため、状態サンプリングモジュール７２１において、仮想対象の攻撃行為を中心にして、さらに所定の時間ステップに基づいて、ＭＯＢＡゲームの履歴フレームデータに対してサンプリングを行い、サンプルデータを得る。これにより、攻撃行為を基礎としたサンプルデータを得る。サンプルデータを減少させると共に、状況状態の相関性が低いフレームデータを残している。
【０１２９】
図８に示すように、データ取得モジュール７１０は、１局のＭＯＢＡゲームで生じる履歴フレームデータ８０１を取得し、履歴フレームデータ８０１を状態サンプリングモジュール７２１に送信する。状態サンプリングモジュール７２１は、所定の時間ステップで履歴ターゲットフレームデータ８０１から抽出して候補フレームデータ８０２を得て、候補フレームデータ８０２における攻撃行為を含むフレームデータを読み取り、サンプルフレームデータ８０３を得る。
【０１３０】
特徴抽出モジュール７２２は、サンプルフレームデータ８０３における関連仮想対象の状態８０４１及び仮想リソースの状態８０４２を抽出し、サンプル状態特徴８０４を得る。
【０１３１】
収益抽出モジュール７２３において、価値ネットワークモデルにより予測される予期報酬収益は、時刻ｔの状況状態が、あるスケジューリングポリシーを実行してから得られる報酬収益を表す。つまり、次の全ての時刻における即時収益の累積を表す。実際に、１局のゲームが終了しない限り、全ての即時収益を明示的に取得して各状況状態の報酬収益を算出することができない。従って、ベルマン（Ｂｅｌｌｍａｎ）方程式を導入する。これにより、現在状況状態の報酬収益の算出は、次の状況状態の報酬収益及び現在状況状態の即時収益のみに関わる。即時収益の参照要因は、仮想対象の経験値、経済値、仮想対象の体力値（血量）、殺傷数、死亡数及び建築物の耐久値を含むが、これらに限定されない。本願の実施例において、図７に示すように、収益抽出モジュール７２３は、各サンプル状態特徴８０４の即時収益を算出し、複数のサンプル状態特徴８０４のうちの各サンプル状態特徴の即時収益及び次のフレームのサンプル状態特徴の即時収益に基づいて、各サンプル状態特徴の実際報酬収益８０５を算出する。
【０１３２】
機械学習訓練モジュール７２４は、ＭＯＢＡゲームにおけるユーザの対戦履歴フレームデータから得られた状況状態特徴及び実際報酬集積からなるサンプルデータセットを利用して、例えば、多層畳み込みニューラルネットワークのような機械学習モデルにより、大量の反復訓練を行い、価値ネットワーク予測モデルを得る。本願の実施例において、サーバは、各サンプル状態特徴８０４をオリジナル価値ネットワーク予測モデルに入力し、訓練結果８０６を得て、訓練結果８０６と実際報酬収益８０５との差分値に基づいて計算損失を得て、オリジナル価値ネットワーク予測モデルに対して訓練を行い、価値ネットワーク予測モデルを得る。
【０１３３】
二、価値評価モジュール
特徴抽出モジュール７２２は、ＭＯＢＡゲームで生じるフレームデータに対して状態抽出を行い、各フレームデータの状態特徴を得る。
【０１３４】
例示的に、図９に示すように、データ取得モジュール７１０は、現在状態におけるフレームデータ９０１を得て、フレームデータ９０１を特徴抽出モジュール７２２に送信する。特徴抽出モジュール７２２は、フレームデータ９０１における関連仮想対象の状態９０３１及び仮想リソースの状態９０３２を読み取り、状態特徴９０３を得て、状態特徴９０３を状態演繹モジュール７３１に送信する。
【０１３５】
状態演繹モジュール７３１は、Ｎ種のスケジューリングポリシーに基づいて状態特徴９０３に対して演繹を行い、ターゲット仮想対象により実行されるＮ種のスケジューリングポリシーを得て、状態特徴９０３を後続状態特徴９０４１、９０４２及び９０４３に遷移させ、後続状態特徴を予測モジュール７３２に送信する。
【０１３６】
予測モジュール７３２は、訓練された価値ネットワークモデルを利用して状態特徴９０４１、９０４２及び９０４３を予測し、状態特徴９０４１、９０４２及び９０４３にそれぞれ対応する予期報酬収益９０５１、９０５２及び９０５３を出力する。
【０１３７】
三、制御モジュール
制御モジュール７４０は、予測モジュール７３２から出力された予期報酬収益９０５１、９０５２及び９０５３に基づいて、予期報酬収益が最も高いスケジューリングポリシーをターゲットスケジューリングポリシーとし、ターゲット仮想対象を、ターゲットスケジューリングポリシーを実行するように制御する。
【０１３８】
一例示的な実施例において、図１０に示すように、本願の一例示的なスケジューリングフローチャートを示す。該プロセスは以下を含む。
【０１３９】
ステップＳ１００１において、データ取得モジュールは、フレームデータを取得し、該フレームデータは、ステップＳ１００１におけるグローバル地図に対応するデータであってもよい。ステップＳ１００２において、特徴抽出モジュールは、フレームデータにおける関連仮想対象の状態（即ち、当方陣営のヒーローキャラクターの状態及び当方陣営のヒーローキャラクターの視野範囲内の敵の陣営のヒーローキャラクターの状態）及び仮想リソースの状態（双方の拠点の状態及び中立生体の状態を含む）を読み取り、現在状況状態の状態特徴Ｓを抽出する。ステップＳ１００３において、状態演繹モジュールは、状態特徴Ｓに対して演繹を行い、複数種類の後続状態特徴からなる状態特徴空間Ｓ’を得る。ステップＳ１００４において、予測モジュールにより予期報酬収益が最も高いスケジューリングポリシーを決定した後、制御モジュールは、ターゲット仮想対象を、報酬収益が最も高いスケジューリングポリシーを実行するように制御する（ターゲット仮想対象は、当方陣営のいずれか１つのヒーローキャラクターであってもよく、図１０のステップＳ１００４における矢印方向は、決定されたスケジューリングポリシーである）。
【０１４０】
図１１を参照すると、図１１は、本願の幾つかの例示的な実施例による仮想環境における仮想対象のスケジューリング装置の構造を示すブロック図である。該装置は、ソフトウェア、ハードウェア又は両者の組み合わせにより、図１の実施例におけるサーバ１２０として実現することができる。該装置は、データ取得モジュール１１１０と、特徴抽出モジュール１１２０と、状態演繹モジュール１１３０と、予測モジュール１１４０と、制御モジュール１１５０と、収益抽出モジュール１１６０と、機械学習訓練モジュール１１７０と、状態サンプリングモジュール１１８０と、を備える。ここで、収益抽出モジュール１１６０、機械学習訓練モジュール１１７０及び状態サンプリングモジュール１１８０は、選択可能なモジュールである。
【０１４１】
データ取得モジュール１１１０は、仮想環境のアプリケーションプログラムを実行するときに生じるフレームデータを取得するように構成される。
【０１４２】
特徴抽出モジュール１１２０は、フレームデータに対して特徴抽出を行い、現在状況状態における少なくとも２つの仮想対象のうちのターゲット仮想対象の状態特徴を得るように構成され、該状態特徴は、関連仮想対象の状態及び仮想リソースの状態を含む。
【０１４３】
状態演繹モジュール１１３０は、Ｎ種のスケジューリングポリシーに基づいて状態特徴に対して演繹を行い、Ｎ種の後続状態特徴を得るように構成され、Ｎは、正整数であり、Ｎ≧２である。
【０１４４】
予測モジュール１１４０は、価値ネットワーク予測モデルを呼び出してＮ種の後続状態特徴を処理し、ターゲット仮想対象がＮ種のスケジューリングポリシーを実行する場合の予期報酬収益を得るように構成される。
【０１４５】
制御モジュール１１５０は、ターゲット仮想対象を、Ｎ種のスケジューリングポリシーのうちの予期報酬収益が最も高いスケジューリングポリシーを実行するように制御するように構成される。
【０１４６】
任意選択的な実施例において、仮想環境の地図は、ｎ個の移動領域に分割され、ｎは、地図の画素値未満であり、ｎは、正整数であり、ｎ≧２である。
【０１４７】
状態演繹モジュール１１３０は更に、ターゲット仮想対象に対応するｍ種の行為を取得するように構成され、ｍは、正整数であり、ｍ≧１であり、状態演繹モジュール１１３０は更に、ターゲット仮想対象に対応するｍ種の行為及びｎ個の移動領域に基づいて、Ｎ種のスケジューリングポリシーを得るように構成され、スケジューリングポリシーは、ｎ個の移動領域のうちのｉ番目の移動領域に移動してｍ種の行為のうちの第ｊ種の行為を実行することを含み、ｉ、ｊは、正整数であり、１≦ｉ≦ｎ、１≦ｊ≦ｍであり、状態演繹モジュール１１３０は更に、Ｎ種のスケジューリングポリシーを状態特徴に作用させ、所定の状態遷移関係に基づいて、Ｎ種の後続状態特徴を得るように構成される。
【０１４８】
任意選択的な実施例において、仮想環境の地図は、ｎ個の移動領域のアレイに均一に分割されるか又は該地図は、仮想リソースの所在位置に従ってｎ個の移動領域に分割される。
【０１４９】
任意選択的な実施例において、特徴抽出モジュール１１２０は更に、フレームデータにおける関連仮想対象の状態及び仮想リソースの状態を読み取り、状態特徴を抽出するように構成され、関連仮想対象の状態は、関連仮想対象の位置、体力値、攻撃力値、防御力値、経験値、殺傷数、死亡数又は経済値のうちの少なくとも１つを含む。仮想リソースの状態は、仮想リソースの位置、体力値、攻撃力値、防御力値、耐久値又は占領状態のうちの少なくとも１つを含む。
【０１５０】
任意選択的な実施例において、少なくとも２つの仮想対象はそれぞれ、少なくとも２つの互いに敵対する陣営に属する。仮想リソースは、建築物、中立生体、軍隊、乗り物、武器又は弾薬のうちの少なくとも１つを含む。仮想リソースの占領状態は、中立状態、コントロール状態、占有状態又は争奪状態を含む。中立状態は、仮想リソースが如何なる陣営にも属しないことを表す。コントロール状態は、仮想リソースが所在する移動領域内に同一の陣営の少なくとも１つの仮想対象が含まれることを表す。占有状態は、仮想リソースが属する陣営を表す。争奪状態は、仮想リソースが所在する移動領域内に異なる陣営に属する少なくとも２つの仮想対象が含まれることを表す。
【０１５１】
任意選択的な実施例において、価値ネットワーク予測モデルは、サンプルデータセットに基づいて訓練して得られた予期報酬収益規律を表すためのものであり、該サンプルデータセットは、サンプル状態特徴及びサンプル状態特徴に対応する実際報酬収益を含み、
データ取得モジュール１１１０は更に、ｐ個のサンプルフレームデータを取得するように構成され、ｐは、正整数であり、ｐ≧２である。
【０１５２】
特徴抽出モジュール１１２０は更に、ｐ個のサンプルフレームデータに対して特徴抽出を行い、各サンプルフレームデータのサンプル状態特徴を得るように構成され、該サンプル状態特徴は、関連仮想対象の状態及び仮想リソースの状態を含む。
【０１５３】
収益抽出モジュール１１６０は、ｐ個のサンプル状態特徴のうちの各サンプル状態特徴の実際報酬収益を算出するように構成される。
【０１５４】
機械学習訓練モジュール１１７０は、ｐ個のサンプル状態特徴をオリジナル価値ネットワーク予測モデルに入力し、各サンプル状態特徴の訓練結果を得て、各セットのサンプルデータセットに対して、訓練結果をサンプル状態特徴の実際報酬収益と比較し、計算損失を得るように構成され、該計算損失は、訓練結果とサンプル状態特徴の実際報酬収益との誤差を示すためのものであり、機械学習訓練モジュール１１７０は、少なくとも１セットのサンプルデータセットにそれぞれ対応する計算損失に基づいて、誤差逆伝播アルゴリズムで訓練して価値ネットワーク予測モデルを得るように構成される。
【０１５５】
任意選択的な実施例において、データ取得モジュール１１１０は更に、仮想環境のアプリケーションプログラムが実行されるときに生じるｌ個の履歴フレームデータを取得するように構成され、ｌは、正整数であり、ｌ≧ｐである。
【０１５６】
状態サンプリングモジュール１１８０は、所定の時間ステップに従ってｌ個の履歴フレームデータからｑ個の候補フレームデータを抽出するように構成され、ｑは、正整数であり、ｐ≦ｑ≦ｌであり、状態サンプリングモジュール１１８０は、ｑ個の候補フレームデータを読み取り、ｑ個の候補フレームデータ内の攻撃行為を含むフレームデータをサンプルフレームデータとして決定し、ｐ個のサンプルフレームデータを得るように構成される。
【０１５７】
収益抽出モジュール１１６０は更に、サンプル状態特徴におけるターゲット仮想対象の行為及び状態に基づいて、各サンプル状態特徴の即時収益を算出し、ｐ個のサンプルフレームデータのうちのｉ番目のサンプルフレームデータに対して、ｉ番目のサンプルフレームデータの即時収益及びｉ＋１番目のサンプルフレームデータの即時収益に基づいて、ｉ番目のサンプルフレームデータの実際報酬収益を算出するように構成され、ｉは、正整数であり、ｉ≦ｐである。
【０１５８】
図１２は、本願の幾つかの例示的な実施例によるコンピュータデバイスの構造を示す概略図である。該コンピュータデバイスは、図１に示す実施例におけるサーバ１２０であってもよい。具体的には、前記コンピュータデバイス１２００は、中央演算装置（ＣＰＵ）１２０１と、ランダムアクセスメモリ（ＲＡＭ）１２０２及び読み出し専用メモリ（ＲＯＭ）１２０３を含むシステムメモリ１２０４と、システムメモリ１２０４と中央演算装置１２０１を接続するためのシステムバス１２０５と、を備える。前記コンピュータデバイス１２００は、コンピュータ内の各デバイス間の情報伝送を支援するための基本入力／出力システム（Ｉ／Ｏシステム）１２０６と、オペレーティングシステム１２１３、アプリケーションプログラム１２１４及び他のプログラムモジュール１２１５を記憶するための大容量記憶装置１２０７と、を更に備える。
【０１５９】
前記基本入力／出力システム１２０６は、情報を表示するためのディスプレイ１２０８と、マウス、キーボードのようなユーザによる情報入力のための入力デバイス１２０９と、を備える。前記ディスプレイ１２０８及び入力デバイス１２０９はいずれもシステムバス１２０５に接続された入力出力コントローラ１２１０を介して中央演算装置１２０１に接続される。前記基本入力／出力システム１２０６は、キーボード、マウス又は電子スタイラスなどの複数の他のデバイスからの入力を受信して処理するための入力出力コントローラ１２１０を更に備えてもよい。同様に、入力出力コントローラ１２１０は、ディスプレイ、プリンタ又は他のタイプの出力デバイスに出力を更に提供する。
【０１６０】
前記大容量記憶装置１２０７は、システムバス１２０５に接続された大容量記憶コントローラ（図示されず）を介して中央演算装置１２０１に接続される。前記大容量記憶装置１２０７及びそれに関連するコンピュータ可読記憶媒体は、コンピュータデバイス１２００に不揮発性記憶を提供する。つまり、前記大容量記憶装置１２０７は、ハードディスク又はＣＤ−ＲＯＩドライブのようなコンピュータ可読記憶媒体（図示されず）を含んでもよい。
【０１６１】
一般性を失うことなく、前記コンピュータ可読記憶媒体は、コンピュータ記憶媒体及び通信媒体を含んでもよい。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール又は他のデータなどの情報を記憶するための如何なる方法又は技術により実現される揮発性又は不揮発性、取外し可能および取外し不可能な媒体を含む。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＰＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリ又は他のソリッドステート記憶媒体、ＣＤ−ＲＯＭ、ＤＶＤ又は他の光学記憶媒体、カセット、磁気テープ、磁気ディスク又は他の磁気記憶媒体を含む。勿論、当業者であれば、前記コンピュータ記憶媒体が上記のに限定されないことを理解すべきである。上記のシステムメモリ１２０４及び大容量記憶装置１２０７は、メモリと総称されてもよい。
【０１６２】
メモリに、１つ又は複数のプログラムが記憶される。１つ又は複数のプログラムは、１つ又は複数の中央演算装置１２０１により実行されるように構成される。１つ又は複数のプログラムは、上記の仮想環境における仮想対象のスケジューリング方法を実現させるための命令を含む。中央演算装置１２０１は、該１つ又は複数のプログラムを実行して上記の各方法実施例で提供される仮想環境における仮想対象のスケジューリング方法を実現させる。
【０１６３】
本願の各実施例によれば、前記コンピュータデバイス１２００は更に、インターネットなどのネットワークを経由してネットワークにおけるリモートコンピュータに接続されて実行されてもよい。つまり、コンピュータデバイス１２００は、前記システムバス１２０５に接続されたネットワークインタフェースユニット１２１１を介してネットワーク１２１２に接続される。又は、ネットワークインタフェースユニット１２１１により、他のタイプのネットワーク又はリモートコンピュータシステム（図示されず）に接続されてもよい。
【０１６４】
前記メモリは、１つ又は１つ以上のプログラムを更に含む。前記１つ又は１つ以上のプログラムは、メモリに記憶される。前記１つ又は１つ以上のプログラムは、本発明の実施例で提供される仮想環境における仮想対象のスケジューリング方法におけるコンピュータデバイスにより実行されるステップを含む。
【０１６５】
本願の実施例は、コンピュータ可読記憶媒体を更に提供する。該記憶媒体に、少なくとも１つの命令、少なくとも１つのプログラム、コード集合又は命令集合が記憶されている。前記少なくとも１つの命令、前記少なくとも１つのプログラム、前記コード集合又は命令集合は、前記プロセッサによりロードされて実行され、上記のいずれか１つの実施例に記載の仮想環境における仮想対象のスケジューリング方法を実現させる。
【０１６６】
本願は、コンピュータプログラム製品を更に提供する。コンピュータプログラム製品がコンピュータで実行されるとき、コンピュータに上記の各方法実施例で提供される仮想環境における仮想対象のスケジューリング方法を実行させる。
【０１６７】
本明細書で言及した「複数」は、２つ又は２つ以上を指すことが理解されるべきである。用語「及び／又は」は、関連対象の関連関係を説明するためのものであり、３通りの関係が存在することを表す。例えば、Ａ及び／又はＢは、Ａのみが存在すること、ＡとＢが同時に存在すること、Ｂのみが存在するという３つの場合を表す。文字「／」は一般的には、前後関連対象が「又は」という関係であることを示す。
【０１６８】
上記の本願の実施例の番号は記述するためのものに過ぎず、実施例の優劣を代表しない。
【０１６９】
上記の実施例の全て又は一部のステップはハードウェアにより実行されてもよいし、プログラム命令に係るハードウェアにより実行されてもよく、該プログラムは、コンピュータ可読記憶媒体に記憶されてもよく、上記の言及した記憶媒体は、読み出し専用メモリ、磁気ディスク又は光ディスクなどであってもよいことは当業者であれば理解されるべきである。
【０１７０】
以上は、本願の好適な実施例に過ぎず、本願を限定するものではない。本願の精神や原則を逸脱することなく行われるあらゆる修正、同等置換、改良などはすべて本願の保護範囲内に含まれるものとする。
【図１】
2022502112.tif 000005
【図２】
2022502112.tif 000006
【図３】
2022502112.tif 000007
【図４】
2022502112.tif 000008
【図５】
2022502112.tif 000009
【図６】
2022502112.tif 000010
【図７】
2022502112.tif 000011
【図８】
2022502112.tif 000012
【図９】
2022502112.tif 000013
【図１０】
2022502112.tif 000014
【図１１】
2022502112.tif 000015
【図１２】
2022502112.tif 000016
【国際調査報告】
2022502112.tif 000017
2022502112.tif 000018
2022502112.tif 000019
2022502112.tif 000020