デジタルゲームAIの基本技術(時間軸の認識技術)
前回に引き続き、デジタルゲームAIの技術について述べる。今回は時間軸の認識技術について。
デジタルゲームの教科書 知っておくべきゲーム業界最新トレンド
次の重要な認識である時間について、デジタルゲームにおいてAIを時間から眺めることは非常に重要なポイントとなる。このAIに時間軸の認識を与えるには、まずAIに過去(記憶)を与える必要がある。AIに記憶を与えるには、記憶領域(メモリ)の確保と、その記憶の形式を決定することが必要で、記憶の形式がそのAIの知的基盤を決定する。
たとえばF.E.A.R.というゲームでは、そのステージのオブジェクトや的について「AIから見た場所、方向、刺激、欲求、情報取得時刻、情報信頼度」という共通の知識フォーマットで記憶の形成を行う。この記憶を利用して、AIは情報を抽出して意思決定に利用する。Dumcanでは、おなじオブジェクトについて、タイムスタンプ付きの記憶を保持している。この時系列記憶によって、壁の後ろにみうしなった球が、いつ壁の後ろから現れるかを予測する。
次にAIに未来の感覚を与える手段については様々なアプローチがある。それらの中で最もよく利用されているのが「ゴール指向プランニング(Goal-oriented(Goal-based) Planning)」となる。ゴール指向とは、AIの行動原理であり、第一に目標(ゴール)を決定し、それを達成するように行動を設計する。反射型のAIが現在の環境に反応するのに対して、ゴール指向AIは、まず未来に目標を設計してから行動する。このゴールが複数ある時は、意思決定アルゴリズムでどのゴールを遂行するのかを決めた上で行動する。
このゴール指向プランニングは90年代にシミュレーションゲームで利用されてきたもので、シミュレーションゲームでは「生産」というプロセスがある場合に、「Aを作る為にはBが、Bを作る為にはCが必要」といった取り決めに従って順番にCからB、BからAを作るものとなる。シミュレーションゲームではこれらの生産の準備がツリー状のデータで与えられていて、AIはそれに従って生産活動を行う(例:age of empire)。この手段では静的にプランニングが実行されるだけのものとなる。
これに対して、プランニングをFPSの敵のようなリアルタイムに行動するAIに組み込むという手法が2000年中盤から行われてきた。(例:F.E.A.R.) これは予めアクションを「(アクションを行える)前提条件」「行動」「行動の結果」の3つの要素によって記述して、複数のアクションの中で「前提」が「結果」に含まれている行動をつなげていくという「連鎖プランニング」という手法を用いている。(Goal Oriented Action Planning : GOAP)
連鎖型プランニングは、同じ次元の要素を繋ぐ為にそれぞの条件マッチングに厳しい制約がある。これに対して、現実のさらに難しい問題に対応するものとして「階層型プランニング」が提案された。これはゴールをいくつかの中ゴールに分解し、さらに中ゴールを小ゴールに分解して、そのゴールを順番に達成していくことで、最終的に元のゴールを達成するものとなる。
この階層型プランニングは単にゴールが静的に分解されるものではなく、そのゴールがアクティブになった時点で、状況に合わせて動的に次の階層のゴールに分解される(スタックに積まれる)。スタックに積まれたゴールは順番にアクティブにして実行されるが、アクティブになったゴールはアクティブになった時点で、その時の状況に応じて次の階層へ分解される。
これまで述べた技術を組み合わせたものとして「時間スケール階層型技術」がある。これは即応型の「反射型AI」と「プランニング型AI」を組み合わせることで、狭い領域で即応性が必要な部分では反射型を長いスパンで考えることが必要な部分ではプランニング型を組み合わせるもので、基本的には各時間スケールごとにプランが作られ、その場その場では時間スケールの最も小さなものを最優先するアルゴリズムが用いられる。
「時間スケール階層型技術」のもう一つの方式としてはサブサンプション(subsumption)方式がある。これは最も原始的な反射行動から、高度な行動を一つの層がそれより下位の層をつつむように機能を保持しながら構築していく手法で、例えば「センサーに反応があれば曲がる」「無ければ進む」が第一層、その機能を利用した高度な行動「徘徊する」「避ける」が第二層、さらにそれらを利用して「パスプラン」「調査する」などの行動を作るのが第三層という形で構築する。
コメント
[…] デジタルゲームAIの基本技術(時間認織) 過去記憶、未来(プランニング) […]
[…] デジタルゲームAIの基本技術(時間軸の認識技術) […]
[…] ゲームAI: 自動計画問題は、”デジタルゲームAIの基本技術(時間認織) 過去記憶、未来(プランニング)“でも述べられているように、ゲームAIの分野でも活用されている。これは例え […]