『デジタルゲームの教科書』
発売記念著者トークイベント
2010.5.15 (土)三宅 陽一郎y.m.4160@gmail.com
Twitter: miyayou
http://www.s-dogs.jp/dgame/index.html

株式会社グルーブシンク

松井悠y_matsui@groovesync.com

Contact Information
Youichiro Miyake
y.m.4160@gmail.com• Mail：• Twitter: @miyayou• Blog：http://blogai.igda.jp• LinkedIn:

http://www.linkedin.com/in/miyayou• Facebook：

http://www.facebook.com/youichiro.miyake

キャラクターAIとは何かを考えてみよう！

⼈⼯知能とは何だろう？
知能とは何だろう？
知性とは何だろう？

⼈⼯知能とは何だろう？
知能

環境

身体
人工知能を考えるときは「環境」「身心（内部状態）」「知性」３つの要素に着目しよう！
5

知性の３つの基本要素
知能（心）

身体
身体は身体として一つのシステム

知性は知性として一つのシステム

環境
環境は環境として一つのシステム「３つの自律システム」とその相互作用 = 知性

知性の３つの基本要素
知能
（心）

身体

環境
「３つの自律システム」とその相互作用

ゲームAIはどのように発展して来たか？
身体知能

知能の構造化による自律化

身体の内部構造と力学による自律化

2004- エージェント間
エージェント間の協調
2000- エージェント・
エージェント・アーキテクチャ
1990- アルゴリズムによるアルゴリズムによるＡＩによるＡＩ
1975- パターンによるパターンによるＡＩによるＡＩ

2002- IK +ラグドール＋ラグドール＋ 物理アニメーション
物理アニメーション＋プロシージャル・プロシージャル・アニメーション
1994- 3D 関節モデル
関節モデル–スキン 固定アニメーション
固定アニメーション+ブレンド
1980- 2D - スプライト – 移動－
移動－スプライト・スプライト・アニメーション

環境
環境の物理法則による自律化
2004- 複雑な複雑な地形、地形、多数の多数のオブジェクト
2000- 3D - 物理
物理シミュレーション
シミュレーション
1994- 3D - ゲーム
ゲーム物理
物理
1980- 2D - スプライト
スプライト移動ゲーム物理
移動- ゲーム
物理

環境、身体、知性は内部に構造と運動を持ち、動的な自律システムとして稼動する方向へ発展した。

ゲームAIはどのように発展して来たか？
知能

身体

知能の構造化による自律化①

身体の内部構造と力学による自律化⑤④①知能による身体制御の方法②身体の環境へのアクション③環境から身体への制限④環境の知覚⑤身体から知性への要求

環境
環境の物理法則による自律化②③

第１期 ①単純なパターンＡＩ

同じパターンをくり返すだけ

(例) スペースインベーダー(1978)

プレイヤーの動きに関係なく、決められた動きをする「知性 - 環境 - ⾝体」相関図
パターン
身体

知性環境

第１期 ②複数のパターンを持つＡＩ
Interactive

あらかじめ決められた行動を、状況によって使いわけるＡＩ「プリンス・オブ・ペルシャ」など、スプライトアニメーションを用意する必要がある場合、数パターンに限られる。

「知性 - 環境 - ⾝体」相関図
条件に条件に応じた命令
じた命令

身体

知性
身体動作は
身体動作は保証される
保証される
予約された
予約された情報の情報の獲得

環境・環境・オブジェクトとの衝突との衝突

環境

第１期 ③プロシージャルなＡＩ
Interactive

シューティングゲームなど、機体の軌道や弾道を、逐次的に関数の計算で行なう。
（例）数値列を用意する場合もある。

「知性 - 環境 - ⾝体」相関図
状況に状況に応じて作じて作られた運動
られた運動

身体

知性
身体動作は身体動作は保証される
保証される
予約された
予約された
情報の情報の獲得

環境・
環境・オブジェクトとの衝突との衝突

環境

第２期 構造化されるＡＩ
アセンブラからＣ言語への移行
２Ｄから３Ｄが主流へ → ＡＩにとって爆発的な情報量の増大
８０年代のＡＩ技術の盛り上がりがゲームへスピンオフ

グリッド上のロジック
俯瞰制御

無数のレイキャスト（射線計算）
主観制御

第２期 ①ＡＩの構造化とロジック実装
複雑な思考による行動

戦闘
case ATTACK: if (-----)
if(-----)
else ...

警戒休憩

複雑な環境下（処理するべき情報が多い）で、キャラクターを制御する仕組みを入れる。

(例) Quake HFSM

http://ai-depot.com/FiniteStateMachines/FSM-Practical.html

状態遷移図を用いる

「知性 - 環境 - ⾝体」相関図
ボーン
構造を構造を持つ身体

FSMなど
FSMなど構造化された構造化された
知性

身体

知性

環境・
環境・オブジェクトとの複雑との複雑な複雑な衝突

限定された
限定された情報された情報の情報の獲得

環境オブジェクトに仕込むデータ構造
Data (Class, Sate)

パラメーターGraphics (sprites, zbuffers)
Animations (skeletal)

グラフィックス
アニメーション

Sound Effects

サウンド

Code (Edith)-Main (object thread)-External 1-External 2-External 3

メインスレッド
いろいろなインタラクションの仕方

Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm

ＮＰＣに仕込むデータ構造

Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm

最適な⾏動を選択する
ToiletMood +26-Urinate (+40 Bladder)-Clean (+30 Room)-Unclog (+40 Room)
Hunger +20
Comfort -12
Hygiene -30
Bladder -75
Energy +80
Fun+40Social +10
Room -60

Bathtub
Mood +20-Take Bath(+40 Hygiene)(+30 Comfort)-Clean(+20 Room)

Mood +18[原則原則]
原則 周囲の周囲の対象に対象に対する、する、あらゆる可能あらゆる可能な可能な行動から行動から、から、Happiness （ここではMood）） 係数を
ここでは係数を最大化する最大化する行動する行動を行動を選択する選択する。
する。

「知性 - 環境 - ⾝体」相関図
FSMなど
FSMなど構造化された構造化された
知性

知性から知性から身体から身体へ身体へ制御情報を制御情報を渡す
身体から身体から知性から知性へ
知性へ現在の現在の状態を状態を渡す

身体

知性

限定された
限定された情報の情報の獲得

ボーン
構造を構造を持つ身体

物理的相互作用環境

構造化された環境

第３期 ＡＩアーキテクチャの時代
個々のアルゴリズムや構造的なＡＩ（第２期）

包括的なアーキテクチャへ
キャラクターＡＩのためのフレームワークを構築する。

「知性 - 環境 - ⾝体」相関図
知性から知性から身体から身体へ
身体へ制御情報を制御情報を渡す
FSMなど
FSMなど構造化された構造化された
知性

身体から身体から知性
から知性へ
知性へ現在の現在の状態を状態を渡す

限定された
限定された情報の情報の獲得

ボーン
構造を構造を持つ身体

物理的相互作用

構造化
された環境
された環境

「知性 - 環境 - ⾝体」相関図
知性から知性から身体から身体へ身体へ制御情報を制御情報を渡す
FSMなど
FSMなど構造化された構造化された
知性

ボーン
構造を構造を持つ身体

身体から身体から知性
現在の状態を状態を渡す
から知性へ
知性へ現在の限定された
限定された情報の情報の獲得

物理的相互作用

構造化
された環境
された環境

エージェント・アーキテクチャ
全体を包括する共通の基盤システムを作りましょう！

エージェントとは？
① 環境に対して情報を集める感覚（センサー）を持つ② 自ら判断する能⼒を持つ。
③ 環境に対して働きかけることができる能⼒を持つ。

！

感覚を持ち

自ら判断して世界に働きかける能力を持つ

エージェント・アーキテクチャーにおける情報の流れ

ＮＰＣ

感覚を感覚を通じてゲーム世界
世界とと自分自分のの状態
状態をを取得ゲーム
世界

身体を身体を通じて
ゲーム世界
世界とと相互相互ににインタラクション
ゲーム
世界

ゲーム世界

エージェント・アーキテクチャ

時間

ＮＰＣの知能部分

ＮＰＣからから見見た認識
ＮＰＣから認識過程

意思決定機構

行動生成
過程

知識モデル
モデル化
化 記憶
知識モデル
記憶とと思考思考のの相互作用

一時記憶(Working Memory)
センサー

事前記憶

知覚する
する
知覚

内部状態

行動

知識表現・世界表現・アフォーダンス
(ゲーム
ゲーム世界
世界のの特徴特徴をを抽出抽出したしたデータデータのこと
世界したデータのこと)

ゲーム世界

身体相互作用時間

エフェクタ

C4 アーキテクチャー
デジタル空間デジタル空間で空間で生きる生物
きる生物の生物の知性のために知性のために提案のために提案された
提案されたアーキテクチャーされたアーキテクチャー

MIT Media Lab.
Synthetic Characters Group
論⽂： D. Isla, R. Burke, M. Downie, B. Blumberg (2001).,“A Layered Brain Architecture for Synthetic Creatures”,
http://characters.media.mit.edu/Papers/ijcai01.pdf（ゲームＡＩ
ゲームＡＩにおけるＡＩにおける最重要論文における最重要論文の最重要論文の１つ）

生き物の知性をエージェント・アーキテクチャーに写し取る
バーチャルなバーチャルな空間に空間に生きる犬きる犬が実現され実現され、され、後にF.E.A.R. のＮＰＣのＮＰＣのＡＩにＡＩに応用される応用される。
される。

MIT メディアラボ

C4 アーキテクチャー
時間

ＮＰＣの知能部分
認識
ツリー

アクションと対象の選択

PercepMemoryObjects

センサー

ワーキングメモリー

モーター
システム

ブラックボード

知識表現・世界表現
ゲーム世界

身体相互作用時間

モーション

情報が埋め込まれたナビゲーションメッシュ（１） 水や砂地は、ハウンズのスピードを減速させるので、メッシュに表面の性質を埋め込んでおく
最短時間の経路を導く
ハウンズがハウンズが地表効果を地表効果を考慮して考慮して移動して移動する
移動する（２） 障害物が破壊されたら、メッシュのデータを更新する

ハウンズがハウンズが状況の状況の変化に変化に対応して対応して移動して移動する
移動するナビゲーションメッシュ上のA*アルゴリズム

ChromeHounds NPCのＡＩのアーキテクチャー
時間

ＮＰＣの知能部分
評価値による評価値によるゴールによるゴール選択
ゴール選択

認識
過程

＋階層型ゴール
階層型ゴール指向
ゴール指向
プランニング
反射モード
反射モード

センサー

行動生成
過程

記憶

モーション

知識表現・世界表現
ゲーム世界

身体
相互作用

時間

「知性 - 環境 - ⾝体」相関図
知性から知性から身体から身体へ身体へ制御情報を制御情報を渡す
FSMなど
FSMなど構造化された構造化された
知性

ボーン
構造を構造を持つ身体

身体から身体から知性現在の状態を状態を渡す
から知性へ
知性へ現在の限定された
限定された情報の情報の獲得

物理的相互作用環境
エージェント・アーキテクチャ
全体を包括する共通の基盤システムを作りましょう！

ゲームAIはどのように発展して来たか？
身体

知能
知能の構造化による自律化

身体の内部構造と力学による自律化

2004- エージェント間エージェント間の協調
2000- エージェント・
エージェント・アーキテクチャ
1990- アルゴリズムによるアルゴリズムによるＡＩによるＡＩ
1975- パターンによるパターンによるＡＩによるＡＩ

2002- IK +ラグドール＋ラグドール＋ 物理アニメーション
物理アニメーション＋プロシージャル・プロシージャル・アニメーション
1994- 3D 関節モデル
関節モデル–スキン 固定アニメーション
固定アニメーション+ブレンド
1980- 2D - スプライト – 移動－
移動－スプライト・
スプライト・アニメーション

環境
環境の物理法則による自律化
2004- 複雑な複雑な地形、地形、多数の多数のオブジェクト
2000- 3D - 物理
物理シミュレーション
シミュレーション
1994- 3D - ゲーム
ゲーム物理
物理
1980- 2D - スプライト
スプライト移動ゲーム物理
移動- ゲーム
物理

環境、身体、知性は内部に構造と運動を持ち、動的な自律システムとして稼動する方向へ発展した。ここまでは、キャラクターAIの話でした。

メタAIとは何かを考えてみよう！