デジタルゲームの教科書 発売記念著者トークイベント 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 Mail: y.m.4160@gmail.com Twitter: @miyayou Blog: http://blogai.igda.jp LinkedIn: http://www.linkedin.com/in/miyayou Facebook: http://www.facebook.com/youichiro.miyake
キャラクター AI とは何かを考えてみ よう!
知能とは何だろう? 知能とは何だろう? 知性とは何だろう?
知能とは何だろう? 知能 環境 身体 人工知能を考えるときは 環境 身心 ( 内部状態 ) 知性 3 つの要素に着目しよう! 5
知性の 3 つの基本要素 知能 ( 心 ) 知性は知性として一つのシステム 身体 身体は身体として一つのシステム 環境 環境は環境として一つのシステム 3 つの自律システム とその相互作用 = 知性
知性の 3 つの基本要素 知能 ( 心 ) 身体 環境 3 つの自律システム とその相互作用
ゲーム AI はどのように発展して来たか? 知能 知能の構造化による自律化 身体 身体の内部構造と力学による自律化 2004- エージェント間の協調 2002- IK + ラグドール + 物理アニメーション 2000- エージェント アーキテクチャ +プロシージャル アニメーション 1990- アルゴリズムによる AI 1994-3D 関節モデル スキン固定アニメーション + ブレンド 1980-2D - スプライト 移動 -スプライト アニメーション 1975- パターンによる AI 環境 環境の物理法則による自律化 2004- 複雑な地形地形 多数多数のオブジェクト 2000-3D - 物理シミュレーション 1994-3D - ゲーム物理 1980-2D - スプライト移動 - ゲーム物理 環境 身体 知性は内部に構造と運動を持ち 動的な自律システムとして稼動する方向へ発展した
ゲーム AI はどのように発展して来たか? 知能 知能の構造化による自律化 1 5 身体 身体の内部構造と力学による自律化 4 1 知能による身体制御の方法 2 身体の環境へのアクション 3 環境から身体への制限 4 環境の知覚 5 身体から知性への要求 2 3 環境 環境の物理法則による自律化
第 1 期 1 単純なパターン AI 同じパターンをくり返すだけ
( 例 ) スペースインベーダー (1978) プレイヤーの動きに関係なく 決められた動きをする
知性 - 環境 - 体 相関図 知性 パターン 身体 環境
第 1 期 2 複数のパターンを持つ AI Interactive あらかじめ決められた行動を 状況によって使いわける AI プリンス オブ ペルシャ など スプライトアニメーションを用意する必要がある場合 数パターンに限られる
知性 - 環境 - 体 相関図知性身体環境条件条件条件条件に応じたじたじたじた命令命令命令命令環境環境環境環境 オブジェクトオブジェクトオブジェクトオブジェクトとのとのとのとの衝突衝突衝突衝突身体動作身体動作身体動作身体動作は保証保証保証保証されるされるされるされる予約予約予約予約されたされたされたされた情報情報情報情報の獲得獲得獲得獲得
第 1 期 3 プロシージャルな AI Interactive シューティングゲームなど 機体の軌道や弾道を 逐次的に関数の計算で行なう ( 例 ) 数値列を用意する場合もある
知性 - 環境 - 体 相関図知性身体環境状況状況状況状況に応じてじてじてじて作られたられたられたられた運動運動運動運動環境環境環境環境 オブジェクトオブジェクトオブジェクトオブジェクトとのとのとのとの衝突衝突衝突衝突身体動作身体動作身体動作身体動作は保証保証保証保証されるされるされるされる予約予約予約予約されたされたされたされた情報情報情報情報の獲得獲得獲得獲得
第 2 期構造化される AI アセンブラから C 言語への移行 2D から 3D が主流へ AI にとって爆発的な情報量の増大 80 年代の AI 技術の盛り上がりがゲームへスピンオフ グリッド上のロジック俯瞰制御 無数のレイキャスト ( 射線計算 ) 主観制御
第 2 期 1AI の構造化とロジック実装 複雑な思考による行動 戦闘 case ATTACK: if (-----) if(-----) else... 警戒 休憩 複雑な環境下 ( 処理するべき情報が多い ) で キャラクターを制御する仕組みを入れる
( 例 ) Quake HFSM http://ai-depot.com/finitestatemachines/fsm-practical.html 状態遷移図を用いる
知性 - 環境 - 体 相関図知性身体環境 FSM FSM FSM FSM などなどなどなど構造化構造化構造化構造化されたされたされたされた知性知性知性知性ボーンボーンボーンボーン構造構造構造構造を持つ身体身体身体身体環境環境環境環境 オブジェクトオブジェクトオブジェクトオブジェクトとのとのとのとの複雑複雑複雑複雑な衝突衝突衝突衝突限定限定限定限定されたされたされたされた情報情報情報情報の獲得獲得獲得獲得
オブジェクトに仕込むデータ構造 Data (Class, Sate) Graphics (sprites, z- buffers) 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
NPC に仕込むデータ構造 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
最適な 動を選択する Toilet Mood +26 -Urinate (+40 Bladder) -Clean (+30 Room) -Unclog (+40 Room) Hunger +20 Comfort -12 Hygiene -30 Bladder -75 Energy +80 Fun +40 Social +10 Room -60 Bathtub Mood +20 -Take Bath(+40 Hygiene) (+30 Comfort) -Clean (+20 Room) Mood +18 [ 原則 ] 周囲の対象対象に対するする あらゆるあらゆる可能可能な行動行動からから Happiness ( ここでは Mood) 係数を最大化最大化するする行動行動を選択選択するする
知性 - 環境 - 体 相関図知性身体環境 FSM FSM FSM FSM などなどなどなど構造化構造化構造化構造化されたされたされたされた知性知性知性知性ボーンボーンボーンボーン構造構造構造構造を持つ身体身体身体身体物理的相互作用物理的相互作用物理的相互作用物理的相互作用知性知性知性知性からからからから身体身体身体身体へ制御情報制御情報制御情報制御情報を渡す身体身体身体身体からからからから知性知性知性知性へ現在現在現在現在の状態状態状態状態を渡す限定限定限定限定されたされたされたされた情報情報情報情報の獲得獲得獲得獲得構造化された環境
第 3 期 AI アーキテクチャの時代 個々のアルゴリズムや構造的な AI( 第 2 期 ) 包括的なアーキテクチャへキャラクター AI のためのフレームワークを構築する
知性 - 環境 - 体 相関図構造化構造化構造化構造化されたされたされたされた環境環境環境環境 FSM FSM FSM FSM などなどなどなど構造化構造化構造化構造化されたされたされたされた知性知性知性知性物理的相互作用物理的相互作用物理的相互作用物理的相互作用知性知性知性知性からからからから身体身体身体身体へ制御情報制御情報制御情報制御情報を渡す身体身体身体身体からからからから知性知性知性知性へ現在現在現在現在の状態状態状態状態を渡す限定限定限定限定されたされたされたされた情報情報情報情報の獲得獲得獲得獲得ボーンボーンボーンボーン構造構造構造構造を持つ身体身体身体身体
知性 - 環境 - 体 相関図構造化構造化構造化構造化されたされたされたされた環境環境環境環境 FSM FSM FSM FSM などなどなどなど構造化構造化構造化構造化されたされたされたされた知性知性知性知性ボーンボーンボーンボーン構造構造構造構造を持つ身体身体身体身体物理的相互作用物理的相互作用物理的相互作用物理的相互作用知性知性知性知性からからからから身体身体身体身体へ制御情報制御情報制御情報制御情報を渡す身体身体身体身体からからからから知性知性知性知性へ現在現在現在現在の状態状態状態状態を渡す限定限定限定限定されたされたされたされた情報情報情報情報の獲得獲得獲得獲得エージェント アーキテクチャ全体を包括する共通の基盤システムを作りましょう!
エージェントとは? 1 環境に対して情報を集める感覚 ( センサー ) を持つ 2 自ら判断する能 を持つ 3 環境に対して働きかけることができる能 を持つ! 感覚を持ち 自ら判断して 世界に働きかける能力を持つ
エージェント アーキテクチャーにおける情報の流れ NPC 感覚を通じてゲーム世界世界と自分自分の状態状態を取得 身体を通じてゲーム世界世界と相互相互にインタラクション ゲーム世界
エージェント アーキテクチャ身体認識過程意思決定機構行動生成過程一時記憶 (Working Memory) 内部状態センサーエフェクタ NPC の知能部分ゲーム世界知識表現 世界表現 アフォーダンス相互作用相互作用相互作用相互作用時間時間記憶記憶記憶記憶と思考思考思考思考の相互作用相互作用相互作用相互作用 NPC NPC NPC NPC からからからから見た認識認識認識認識知識知識知識知識モデルモデルモデルモデル化 ( ゲームゲームゲームゲーム世界世界世界世界の特徴特徴特徴特徴を抽出抽出抽出抽出したしたしたしたデータデータデータデータのことのことのことのこと ) 知覚知覚知覚知覚するするするする行動行動行動行動事前記憶
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 ( ゲーム AI における最重要論文最重要論文の 1つ ) 生き物の知性をエージェント アーキテクチャーに写し取る バーチャルな空間空間に生きるきる犬が実現実現されされ 後に F.E.A.R. の NPC の AI に応用応用されるされる
MIT メディアラボ NPC の知能部分 C4 アーキテクチャー 時間 認識ツリー アクションと対象の選択 モーターシステム センサー PercepMemoryObjects ワーキングメモリー ブラックボード モーション 知識表現 世界表現 時間 ゲーム世界 相互作用 身体
情報が埋め込まれたナビゲーションメッシュ (1) 水や砂地は ハウンズのスピードを減速させるので メッシュに表面の性質を埋め込んでおく 最短時間の経路を導くハウンズが地表効果地表効果を考慮考慮してして移動移動する (2) 障害物が破壊されたら メッシュのデータを更新する ハウンズが状況状況の変化変化に対応対応してして移動移動する
ナビゲーションメッシュ上の A* アルゴリズム
ChromeHounds NPC の AI のアーキテクチャー身体認識過程評価値評価値評価値評価値によるによるによるによるゴールゴールゴールゴール選択選択選択選択 + 階層型階層型階層型階層型ゴールゴールゴールゴール指向指向指向指向プランニングプランニングプランニングプランニング行動生成行動生成行動生成行動生成過程過程過程過程記憶センサー NPC の知能部分ゲーム世界知識表現 世界表現相互作用相互作用相互作用相互作用時間時間モーションモーションモーションモーション反射反射反射反射モードモードモードモード
知性 - 環境 - 体 相関図環境 FSM FSM FSM FSM などなどなどなど構造化構造化構造化構造化されたされたされたされた知性知性知性知性ボーンボーンボーンボーン構造構造構造構造を持つ身体身体身体身体物理的相互作用物理的相互作用物理的相互作用物理的相互作用知性知性知性知性からからからから身体身体身体身体へ制御情報制御情報制御情報制御情報を渡す身体身体身体身体からからからから知性知性知性知性へ現在現在現在現在の状態状態状態状態を渡す限定限定限定限定されたされたされたされた情報情報情報情報の獲得獲得獲得獲得エージェント アーキテクチャ全体を包括する共通の基盤システムを作りましょう!
ゲーム AI はどのように発展して来たか? 知能 知能の構造化による自律化 2004- エージェント間の協調 2000- エージェント アーキテクチャ 1990- アルゴリズムによる AI 1975- パターンによる AI 身体 身体の内部構造と力学による自律化 2002- IK + ラグドール + 物理アニメーション +プロシージャル アニメーション 1994-3D 関節モデル スキン固定アニメーション + ブレンド 1980-2D - スプライト 移動 -スプライト アニメーション 環境 環境の物理法則による自律化 2004- 複雑な地形地形 多数多数のオブジェクト 2000-3D - 物理シミュレーション 1994-3D - ゲーム物理 1980-2D - スプライト移動 - ゲーム物理 環境 身体 知性は内部に構造と運動を持ち 動的な自律システムとして稼動する方向へ発展した
ここまでは キャラクター AI の話で した
メタ AI とは何かを考えてみよう!