• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
 

ゲームの中の人工知能

on

  • 613 views

Slide for my Lecture of Game AI held in Tamagawa University on 2014.6.26

Slide for my Lecture of Game AI held in Tamagawa University on 2014.6.26

Statistics

Views

Total Views
613
Views on SlideShare
583
Embed Views
30

Actions

Likes
10
Downloads
8
Comments
0

3 Embeds 30

https://twitter.com 19
http://www.plurk.com 10
http://s.deeeki.com 1

Accessibility

Categories

Upload Details

Uploaded via SlideShare as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    ゲームの中の人工知能 ゲームの中の人工知能 Presentation Transcript

    • ゲームの中の人工知能 三宅 陽一郎 http://www.facebook.com/youichiro.miyake Twitter: @miyayou 感想・ご質問は メイルtwitter やfacebookまで 2014.6.26 @玉川大学
    • 自己紹介 京都大学(数学) 大阪大学(原子核実験物理) 東京大学 (エネルギー工学/人工知能) 高エネルギー加速器研究所(半年ぐらい。修士論文)
    • Works (2006-2012) AI for Game Titles AI for Books
    • ご質問 http://www.facebook.com/youichiro.miyake Twitter: @miyayou 感想・ご質問は メイルtwitter やfacebookまで ゲームAI千夜一夜 http://blogai.igda.jp/ 三宅陽一郎 論文・講演資料集(4) http://blogai.igda.jp/article/92899318.html
    • Books Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers Fabien Gravot, Takanori Yokoyama, and Youichiro Miyake http://www.crcpress.com/product/isbn/9781466565968 Table of Contents General Wisdom ~ Movement and Pathfinding Pathfinding Architecture Optimizations Steve Rabin and Nathan Sturtevant Choosing a Search Space Representation Nathan R. Sturtevant Creating High-Order Navigation Meshes through Iterative Wavefront Edge Expansions D. Hunter Hale and G. Michael Youngblood Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers Fabien Gravot, Takanori Yokoyama, and Youichiro Miyake Techniques for Formation Movement using Steering Circles Stephen Bjore Collision Avoidance for Preplanned Locomotion Bobby Anguelov Crowd Pathfinding and Steering Using Flow Field Tiles Elijah Emerson Efficient Crowd Simulation for Mobile Games Graham Pentheny Animation-Driven Locomotion with Locomotion Planning Jarosław Ciupiński Strategy and Tactics Tactical Position Selection: An Architecture and Query Language Matthew Jack Tactical Pathfinding on a NavMesh Daniel Brewer Beyond the Kung-Fu Circle: A Flexible System for Managing NPC Attacks Michael Dawe Hierarchical AI for Multiplayer Bots in Killzone 3 Remco Straatman, Tim Verweij, Alex Champandard, Robert Morcus, and Hylke Kleve Using Neural Networks to Control Agent Threat Response Michael Robbins ~
    • FFXIV A Realm Reborn パス検索 [SQEXOC 2012] FFXIVで使われているAI技術 ~敵NPCはどうやって経路を探索しているのか? http://www.4gamer.net/games/032/G003263/20121205079/
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • 知能とは何か? 人工知能とは何か? 第一章
    • 知能とは何か? • 知能はハードウェアか、ソフトウェアか? • 知能は身体的存在か、電気的存在か? • 知能は物理的存在か、情報的存在か? ゲームにおける人工知能は、身体的であると同時に、情報的存在、 であると捉える。
    • 社会科学 知能 知能 脳科学 生物学 認知科学 哲学(現象学)心理学 精神医学 動物学 探求する
    • 知能 知能 脳科学 認知科学 哲学(現象学) 精神医学 動物学 知能 探求する 社会科学 生物学 心理学
    • 知能 知能知能 いろいろな学問で明らかになって行く知能の部分
    • 知能と人工知能 知能知能 いろいろな学問で明らかになって行く知能の部分 人工知能 表現する
    • 知能と人工知能 知能知能 いろいろな学問で明らかになって行く知能の部分 人工知能 表現する 探求する サイエンス
    • 人工知能とは? • 人工知能とは、知能をそのまま表現するもの ではない。 • 知能の原理は中心に向かって、序々にしか わかっていない。 • 人工知能は知能の表現である。 • どのレベルで知能を表現するかで、全くアプ ローチが変わって来る。
    • 知能 知能 知能 人 知能 見る いろいろな学問で明らかになって行く知能の部分 人間から「知能の現れ」として見える部分 言葉を使う 警戒しながら歩く 暗くなると眠る なわばりを守る
    • 知能を作るということ。 いろいろな学問で明らかになって行く知能の部分 人間から「知能の現れ」として見える部分 知能の原理、知能の本質。 ゲームにおける 人工知能を作る。
    • 知能を作るということ。 ゲームにおける 人工知能を作る。 どのレベルで人工知能を作るか、ということがまず重要になります。
    • 知能を作るということ。 ゲームにおける 人工知能を作る。 どのレベルで人工知能を作るか、ということがまず重要になります。 時代を経るごとに AIの作り方は深くなる。
    • ゲームAIを創る。 (進化するゲームと進化するAI)
    • ゲームAIを創る。 (進化するゲームと進化するAI)
    • ゲームAIを創る。 (進化するゲームと進化するAI)
    • FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代)Hardware 時間軸20051999 ゲームの進化と人工知能 複雑な世界の 複雑なAI ゲームも世界も、AIの身体と内面もますます複雑になる。 単純な世界の シンプルなAI
    • (例) スペースインベーダー(1978) プレイヤーの動きに関係なく、決められた動きをする
    • (例)プリンス・オブ・ペルシャ 「プリンス・オブ・ペルシャ」など、 スプライトアニメーションを用意する必要がある場合、 必然的にこういった制御となる。
    • パックマン、Halo パックマン Halo
    • Quake (1996) State-based AI http://www.idsoftware.com/ A Practical Analysis of FSM within the domain of first-person shooter (FPS) computer game http://ai-depot.com/FiniteStateMachines/FSM-Practical.html  Genre:SciFi-FPS  Developer: id Software  Publisher : GT Interactive  Hardware: PC  Year: 1996
    • 知能を作るということ。 ゲームにおける 人工知能を作る。 どのレベルで人工知能を作るか、ということがまず重要になります。 時代を経るごとに AIの作り方は深くなる。
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • エージェント・アーキテクチャ 第二章
    • 知能の深さを要求する3つの要因 環境
    • 知能の深さを要求する3つの要因 環境 身体
    • 知能の深さを要求する3つの要因 環境 身体 ロール・ミッション (役割・果たすべきこと) 抽象的な ミッション
    • 知能の深さを要求する3つの要因 • 環境… 深く環境を認識することが必要となる。 • 身体… どのような状態で、次にどんな行動が 可能か? • ロール・ミッション … そこで果たすべき役割、 目的。
    • エージェント(代理、使い魔) 以下の3つの条件を持つもの。 • 身体を持つ(=エフェクターを持つ)。
    • エージェント 以下の3つの条件を持つもの。 • 身体を持つ(=エフェクターを持つ)。 • センサー(感覚)を持つ。
    • エージェント 以下の3つの条件を持つもの。 • 身体を持つ(=エフェクターを持つ)。 • センサー(感覚)を持つ。 • 役割・目標を持つ。
    • 自律型エージェント Autonomous Agent 以下の4つの条件を持つもの。 • 身体を持つ(=エフェクターを持つ)。 • センサー(感覚)を持つ。 • 役割・目標を持つ。 • 自分自身で自分の行動を決定できる。 !
    • 自律型エージェント 以下の4つの条件を持つもの。 • 身体を持つ(=エフェクターを持つ)。 • センサー(感覚)を持つ。 • 役割・目標を持つ。 • 自分自身で自分の行動を決定できる。 デジタルゲームではエージェント、AI、キャラクターは、 ほぼ同じ意味で使います。 !
    • デジタルゲームにおけるエージェント “Skyrim”
    • デジタルゲームにおけるエージェント “Halo” series
    • では、このようなエージェントを どのようにして作るのでしょうか?
    • エージェント・アーキテクチャ 環境 身体 ロール・ミッション (役割・果たすべきこと) 抽象的な ミッション
    • エージェント・アーキテクチャ 人工知能 世界 センサー エフェクタ
    • エージェント・アーキテクチャ 世界 五感 身体 言語 知識表 現型 知識 生成 意思決定 身体 運動 生成
    • エージェント・アーキテクチャ 世界 五感 身体 言語 知識表 現型 知識 生成 Knowledge Making 意思決定 Decision Making 身体 運動 生成 Motion Making
    • エージェント・アーキテクチャ 世界 五感 身体 言語 知識表 現型 知識 生成 Knowledge Making 意思決定 Decision Making 身体 運動 生成 Motion Making インフォメーション・フロー(情報回廊)
    • エージェント・アーキテクチャ 世界 五感 身体 言語 知識表 現型 知識 生成 Knowledge Making 意思決定 Decision Making 身体 運動 生成 Motion Making インフォメーション・フロー(情報回廊) 水の流れが水車が動かすように、 情報の流れが知能を動かす。 = 時間連続的な知性
    • エージェント・アーキテクチャ・モデル
    • アカデミックなAIとの違い リアルタイムAI 連続時間、連続空間 ターンベースAI 離散時間、離散空間 http://game.e-frontier.co.jp/ai/shogi16/
    • 将棋(テーブルゲーム)AIと アクションゲームAIの違い アクションゲーム 将棋 ゲーム 開発当初はゲームがない (ゲームと一緒にAIを作る =AIはゲームの一部) 既にある。 (AIはゲームの外にある。 将棋の中にAIは含まれない) ステージ(空間) 三次元地形・連続 盤の目・離散的 時間 連続時間(リアルタイム) ターン 登場人物 キャラクター/モンスター 駒 AI キャラクターのブレイン/ ゲーム全体の操作するAI(メタAI) 将棋の差し手としてのAI ゲーム表現 ? ゲームツリー 状況 連続的変化 離散的変化 目的 楽しませる。ステージを成立させる。 勝利 ゲームのつながり 一定時間、一定区間で区切れる。ランダ ムな要素も。(1~5秒間の判断) 厳密にすべての手がつながっていない(ツリー 検索が有効) 何を作るか? ユーザーの主観的体験(UX) AIそのも のが目的ではない。 賢いAI, 面白いAI http://igda.sakura.ne.jp/sblo_files/ai-igdajp/image/YMiyake_GPW_2012_11_10.pdf
    • ブラックボード・アーキテクチャ(Blackboard Architecture) Blackboard KS KS KS KS KS KS Arbiter Motivations Emotions Attention Etc. 特徴: - 中央の黒板に情報が蓄積される(されて行く)。 - モジュールはKS(=Knowledge Source)と呼ばれ、特定の専門的な知識や技術に基づいた操作を 黒板の情報に対して行う。 - Arbiter(=調停者)がKSをどのように(順序、タイミングなど)動作させるかを行う。 Bruce Blumberg , Damian Isla, "Blackboard Architectures", AI Game Programming Wisdom (Charles River Media) , 2002
    • 黒板アーキテクチャの歴史 コンピューターの処理速度が遅かった時代に、 取得した科学的統計データを、複数のコンピューターを並列して 分散処理するために発展されたアーキテクチャ。 H. Penny Nii, "The Blackboard Model of Problem Solving and the Evolution of Blackboard Architectures" http://www.aaai.org/ojs/index.php/aimagazine/article/view/537 H. Penny Nii, "Blackboard Application Systems, Blackboard Systems and a Knowledge Engineering Perspective", http://www.aaai.org/ojs/index.php/aimagazine/article/view/550 1970年代には様々な局面で応用される。 1980年代にはいろいろな形に発展される。 1990年代に分散処理、エージェントの概念が発展して一時忘れられる。 2000年代にキャラクターAIの内部記憶モデルとして新しい用途として復活する。 (MIT Media Lab. の C4 アーキテクチャで使用され、以後デジタルゲームの キャラクターAIの内部で用いられる)
    • C4 アーキテクチャ (MIT メディアラボ Synthetic Creature Group, 2000) キャラクターAIの内部モデルとしてのブラックボード・アーキテクチャ
    • C4 アーキテクチャ (MIT メディアラボ Synthetic Creature Group, 2000) キャラクターAIの内部モデルとしてのブラックボード・アーキテクチャ 特徴: - AIの各機能が モジュール化されている - モジュール同士は ブラックボードを経由して コミュニケーションを取る。 - 各モジュールはKS 記憶領域 ブラックボードには記憶だけでなく、 知識、身体の情報など、個体の持つ あらゆる情報が表現される ブラックボード・アーキテクチャ = 記憶の場所 + 制御アーキテクチャ ブラックボードは、 キャラクター表現そのもの。 古典的機能 エージェントにおける 新しい機能
    • C4アーキテクチャ は 黒板アーキテクチャを応用したアーキテクチャ 特徴: - AIの各機能がモジュール化されている - モジュール同士はブラックボードを経由してコミュニケーションを取る。 - 各モジュールはKS
    • AI モジュール(身体と知能を持つ) 黒板 モジュール 1 (センサー) モジュール … モジュール 8 記憶領域 A 記憶領域 B 記憶領域 X(身体) 記憶領域 … アービター 環境 (ゲーム ワールド) 環境 (ゲーム ワールド) モジュール 9 インフォメーション・フロー
    • AI モジュール(身体と知能を持つ) 黒板 モジュール 1 (センサー) モジュール … モジュール 8 記憶領域 A 記憶領域 B 記憶領域 X(身体) 記憶領域 … アービター 環境 (ゲーム ワールド) 環境 (ゲーム ワールド) モジュール 9 インフォメーション・フロー
    • 知能モジュール1 (センサー) 知能モジュール2 知能モジュール… 知能モジュール8 知能モジュール9 記憶領域A 記憶領域B 記憶領域X (身体) 記憶領域…アービター 環境(ゲームワールド) 環境(ゲームワールド)
    • 知能モジュール1 (センサー) 知能モジュール2 知能モジュール… 知能モジュール8 知能モジュール9 記憶領域A 記憶領域B 記憶領域X (身体) 記憶領域…アービター 環境(ゲームワールド) 環境(ゲームワールド)
    • C4 Architecture D. Isla, R. Burke, M. Downie, B. Blumberg (2001)., “A Layered Brain Architecture for Synthetic Creatures”, http://characters.media.mit.edu/Papers/ijcai01.pdf http://naimadgames.com/publications.html MIT Media Lab. Synthetic Characters Group Researching Virtual Pet in Digital World.
    • References for C4 Architecture (1) MIT Media Lab Synthetic Characters Group, http://characters.media.mit.edu/ (2) R. Burke, D. Isla, M. Downie, Y. Ivanov, B. Blumberg, (GDC2001), “CreatureSmarts: The Art and Architecture of a Virtual Brain”,http://characters.media.mit.edu/Papers/gdc01.pdf (3) D. Isla, R. Burke, M. Downie, B. Blumberg (2001)., “A Layered Brain Architecture for Synthetic Creatures”, http://characters.media.mit.edu/Papers/ijcai01.pdf (4) D. Isla, B. Blumberg (2002), “Object Persistence for Synthetic Characters”,http://characters.media.mit.edu/Papers/objectPersistence.pdf (5) Movies of Duncan,http://web.media.mit.edu/~bruce/whatsnew.html (6) Object Persistence for Synthetic Characters. D. Isla, B. Blumberg. In the Proceedings of the First International Joint Conference on Autonomous Agents and Multiagent Systems, AAMAS2002.,http://characters.media.mit.edu/Papers/objectPersistence.pdf Figures on following pages are from these references.
    • C4 アーキテクチャー バーチャルな空間に生きる犬が実現され、後にF.E.A.R. のNPCのAIに応用される。 デジタル空間で生きる生物の知性のために提案されたアーキテクチャー MIT Media Lab. Synthetic Characters Group 論文: (ゲームAIにおける最重要論文の1つ) 生き物の知性をエージェント・アーキテクチャーに写し取る D. Isla, R. Burke, M. Downie, B. Blumberg (2001)., “A Layered Brain Architecture for Synthetic Creatures”, http://characters.media.mit.edu/Papers/ijcai01.pdf
    • Demo Movie Trial-medium Duncanは、どんなバーチャル牧羊犬 なのか見てみよう! (MIT Media Lab Bruce Blumberg’s Web Page) http://web.media.mit.edu/~bruce/whatsnew.html
    • C4 アーキテクチャーの課題 仮想空間でリアルに生きる動物のためのアーキテクチャー (応用)バーチャル牧羊犬“Duncan” プレイヤーは羊飼いとなってボイスで指示したり、訓練(学習)したりする。
    • 認識ツリーとは? センサーから得た情報が、一体何の情報なのか、 分類(抽出)する条件分岐ツリー。
    • 認識ツリーとワーキングメモリー PercepMemoryObjects ワーキングメモリー 抽象・分類 認識ツリー 認識ツリーで分類した情報を、PerceptMemoryObjectとして ワーキングメモリーへ蓄積して行く。 記憶 (時間的に連続な)
    • 記憶によって可能になること = 予測と驚き 見失わない! 予想通りでない =驚く 対象(ボール)が遮蔽物に隠れても、 履歴の記憶から動きを予測することが出来る。
    • 認識ツリーによって可能になること ①判断間違い ゲーム世界 センサー 認識ツリー ワーキングメモリー (感覚から世界を再構成している) 認識ツリーは、間違いを犯すこともある。 人間らしい間違い 羊 羽毛の山
    • 認識ツリーによって可能になること ②学習 ゲーム世界 センサー 認識ツリー ワーキングメモリー (感覚から世界を再構成している) (I) 精緻化 = 条件判定のロジックやパラメーターを、より詳細にして行く。 (II) 発展 = 一般的な概念の学習
    • 認識ツリーによって可能になること ③個性を付け ゲーム世界 センサー 認識ツリー ワーキングメモリー (感覚から世界を再構成している) 生物ごとに必要な認識の仕方は違う。 認識ツリーによるNPCの個性化 動物を詳しく分類 植物を詳しく分類 肉食動物 草食動物
    • Demo Movie Persistence バーチャル牧羊犬Duncanは、記憶を持つ。 一体それが、行動にどう現れるか、見てみよう! (MIT Media Lab Bruce Blumberg’s Web Page) http://web.media.mit.edu/~bruce/whatsnew.html
    • Halo Agent Architecture  Genre:SciFi-FPS  Developer: BUNGIE Studio  Publisher : Microsoft  Hardware: Xbox, Windows, Mac  Year: 2002 Jaime Griesemer(GDC 2002),The Illusion of Intelligence: The Integration of AI and Level Design in Halo http://halo.bungie.net/inside/publications.aspx
    • イベント 「敵発見」 「味方死亡」 「ダメージ受けた」 「プレイヤー発砲」 などイベントを抽出 状況解析 Jaime Griesemer(GDC 2002),The Illusion of Intelligence: The Integration of AI and Level Design in Halo http://halo.bungie.net/inside/publications.aspx Halo Agent Architecture
    • チャージ, 退却, 隠れる場所探す グレネードを投げる、車に入る、死体を確認 単純なロジックで1ページ未満の 簡単なコードからなる。傾向としては、 「グラントはすぐ逃げる。」「エリートは傷つくと隠れる。」 「ジャッカルはシールドを持つ。」 各振る舞いはトリガーを持つ トリガーによって、振る舞いはお互い競合する 位置取り FSM Jaime Griesemer(GDC 2002),The Illusion of Intelligence: The Integration of AI and Level Design in Halo http://halo.bungie.net/inside/publications.aspx Halo Agent Architecture
    • Halo Agent Architecture Demo Halo AI Retrospective: 8 Years of Work on 30 Seconds of Fun Author: Damian Isla (AI Engineering Lead) http://halo.bungie.net/inside/publications.aspx
    • Halo Agent Architecture  Genre:SciFi-FPS  Developer: BUNGIE Studio  Publisher : Microsoft  Hardware: Xbox, Windows, Mac  Year: 2002 Jaime Griesemer(GDC 2002),The Illusion of Intelligence: The Integration of AI and Level Design in Halo http://halo.bungie.net/inside/publications.aspx
    • F.E.A.R Agent Architecture  Genre:Horror FPS  Developer: Monolith Production  Publisher : SIERRA  Hardware: Windows  Year: 2004 Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005) http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt Sensors Working Memory Planner BlackboardNavigation Animation / Movement Targeting Weapons World World
    • Killzone 2 Architecture  Genre: FPS  Developer: Guerrilla Games  Publisher : SCE  Hardware: PlayStation 3  Year: 2009 Based on: Alex Champandard, Tim Verweij, Remco Straatman, "Killzone 2 Multiplayer Bots", http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf
    • Killzone 2 Architecture  Genre: FPS  Developer: Guerrilla Games  Publisher : SCE  Hardware: PlayStation 3  Year: 2009 Based on: Alex Champandard, Tim Verweij, Remco Straatman, "Killzone 2 Multiplayer Bots", http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf
    • Killzone 2 Architecture  Genre: FPS  Developer: Guerrilla Games  Publisher : SCE  Hardware: PlayStation 3  Year: 2009 Based on: Alex Champandard, Tim Verweij, Remco Straatman, "Killzone 2 Multiplayer Bots", http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf
    •  Genre:Simulation  Developer: Maxis  Publisher : EA  Hardware: PC  Year: 2000 The Sims’ Motive Engine The Sims Architecture http://www.cs.northwestern.edu/~forbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/v3_document.htm
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • 意識モデル 第三章
    • MC = Machine Consiouness • マシンの持つ意識(MC)についてはゲーム分野 ではあまり研究されてこなかった。 • 最近は、MCの研究が盛り上がりつつある。 • ゲーム分野のAIについてもMCを考えたい。 • ここでは、あまり哲学的な議論に立ち入らない ために、意識⇒注意 と置き換えて考えます。
    • 2つの意識の種類 P - Consciousness (Phenomenal consciousness) 現象的意識(主観的体験、クオリア) A - Consciousness ( Access consciousness) 精神活動に対する意識 (Ned Block, 1942)
    • 2つの意識の種類 P - Consciousness (Phenomenal consciousness) 現象的意識(主観的体験、クオリア) A - Consciousness ( Access consciousness) 精神活動に対する意識 (Ned Block, 1942)
    • A-Consciousness に関する3つのアイデア (1) 黒板モデル =ブラックボード・アーキテクチャ (Blackboard Architecture) (2) GWT = Global Workspace Theory (Baar, 1988) (3) MDM = Multiple Draft Model (Dennett, 1991)
    • (1) ブラックボード・アーキテクチャ(Blackboard Architecture) Blackboard KS KS KS KS KS KS Arbiter Motivations Emotions Attention Etc. 特徴: - 中央の黒板に情報が蓄積される(されて行く)。 - モジュールはKS(=Knowledge Source)と呼ばれ、特定の専門的な知識や技術に基づいた操作を 黒板の情報に対して行う。 - Arbiter(=調停者)がKSをどのように(順序、タイミングなど)動作させるかを行う。 Bruce Blumberg , Damian Isla, "Blackboard Architectures", AI Game Programming Wisdom (Charles River Media) , 2002
    • (2) Baar’s Global Workspace Theory (GWT) フォーカス している対象の 情報 Working Space Processor
    • GWT (Global Workspace Theory) フォーカス している対象の 情報 劇場と観衆のモデル。スポットライトがあたっている部分(注意=フォーカスが向 いている対象)に観衆(プロセッサー)が注意して処理を行う。 Working Space Processor
    • (3) Dennett’s Multiple Draft Model 意識 無意識 協調 http://www.conscious-robots.com/en/conscious-machines/theories-of-consciousness/multiple-draft.html 仮想マシン
    • Dennett’s Multiple Draft Model 意識 無意識 協調 http://www.conscious-robots.com/en/conscious-machines/theories-of-consciousness/multiple-draft.html 仮想マシン 新聞社の編集モデル。新聞社にはたくさんの新しい情報が来て、何度も記事が 書きなおされる。最終版だけがリリースされる。編集者=協調するプロセッサー、 新聞=意識の登る情報。
    • A-Consciousness に関する3つのアイデア (1) 黒板モデル =ブラックボード・アーキテクチャ (Blackboard Architecture) (2) GWT = Global Workspace Theory (Baar, 1988) (3) MDM = Multiple Draft Model (Dennett, 1991) 3つのアイデアをかけあわせる Arrabales, R. Ledezma, A. and Sanchis, A. "Towards the Generation of Visual Qualia in Artificial Cognitive Architectures". (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
    • Global Workspace Theory (GWT) 注意の焦点 Focus of Attention (スポットライト) 舞台裏の人々=ディレクター、シーンデザイナー、など。 コンテキストの生成とコントロール(舞台裏) ワーキングメモリ (Scene,Stage) 専門 プロセッサー (観客) ブロードキャスト テンポラリー な連携 Arrabales, R. Ledezma, A. and Sanchis, A. “Towards the Generation of Visual Qualia in Artificial Cognitive Architectures”. (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
    • Baar’s Global Workspace Theory (GWT) 注意の焦点 Focus of Attention (スポットライト) 舞台裏の人々=ディレクター、シーンデザイナー、など。 コンテキストの生成とコントロール(舞台裏) ワーキングメモリ (Scene,Stage) 専門 プロセッサー (観客) ブロードキャスト テンポラリー な連携 意識の構造を舞台に見立てています。ステージ(=ワーキングメモリ)上にスポット ライト(=注意、アテンション)が注ぐところに、注意の焦点があります。 Arrabales, R. Ledezma, A. and Sanchis, A. “Towards the Generation of Visual Qualia in Artificial Cognitive Architectures”. (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
    • Arrabales, R. Ledezma, A. and Sanchis, A. “Towards the Generation of Visual Qualia in Artificial Cognitive Architectures”. (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf Baar’s Global Workspace Theory (GWT) 注意の焦点 Focus of Attention (スポットライト) 舞台裏の人々=ディレクター、シーンデザイナー、など。 コンテキストの生成とコントロール(舞台裏) ワーキングメモリ (Scene,Stage) 専門 プロセッサー (観客) ブロードキャスト ブロードキャスト テンポラリー な連携 その輝いている領域が、観客(=プロセッサー)と舞台裏のこのお芝居を支えている人々に 向けて見られる(=ブロードキャスト)ことになり、観客から拍手なりアドバイスなりが返され ることで舞台上の演技が変化して行きます。 いろいろな意見や反響が返されることで 舞台上の演技がまた変化していく。
    • Arrabales, R. Ledezma, A. and Sanchis, A. “Towards the Generation of Visual Qualia in Artificial Cognitive Architectures”. (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf Baar’s Global Workspace Theory (GWT) 注意の焦点 Focus of Attention (スポットライト) 舞台裏の人々=ディレクター、シーンデザイナー、など。 コンテキストの生成とコントロール(舞台裏) ワーキングメモリ (Scene,Stage) 専門 プロセッサー (観客) ブロードキャスト ブロードキャスト テンポラリー な連携 観客(=プロセッサー)は必要の応じて連携したグループ(Interim Coalition) になって、その中で意見を戦わせて調整して発表することもあります。
    • Global Workspace Theory (GWT) 注意の焦点 Focus of Attention (スポットライト) 舞台裏の人々=ディレクター、シーンデザイナー、など。 コンテキストの生成とコントロール(舞台裏) ワーキングメモリ (Scene,Stage) 専門 プロセッサー (観客) ブロードキャスト ブロードキャスト テンポラリー な連携 【まとめ】観客(=プロセッサー)はステージ(=ワーキングメモリ)上にスポットライト(=注意、 アテンション)が注がれた役者の演技(=オブジェクトの振る舞い)について考えて(=情報 処理、思考)意見を役者に伝えます(=ワーキングメモリに書き込みます)。 Arrabales, R. Ledezma, A. and Sanchis, A. “Towards the Generation of Visual Qualia in Artificial Cognitive Architectures”. (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf いろいろな意見や反響が返されることで 舞台上の演技がまた変化していく。
    • CERA-CRANIUM認識モデル Arrabales, R. Ledezma, A. and Sanchis, A. "Towards the Generation of Visual Qualia in Artificial Cognitive Architectures". (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
    • 単純な認識 Single Percept が 得た情報から さらにProcessor が 解釈した情報を、 同じ Workspaceに書き込む CERA-CRANIUM認識モデル Arrabales, R. Ledezma, A. and Sanchis, A. "Towards the Generation of Visual Qualia in Artificial Cognitive Architectures". (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
    • CORE Layer は、Physical Laryer 、Mission Layer のうちで、 どの認識を生成するかを決定するコマンドを投げる。 CERA-CRANIUM認識モデル Arrabales, R. Ledezma, A. and Sanchis, A. "Towards the Generation of Visual Qualia in Artificial Cognitive Architectures". (2010) http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • 認識と運動 第四章
    • 認識と運動 • 認識と運動は別々の問題ではない。 • 認識は運動を促し、運動は認識を促す。 • この認識と運動の双方向の連動関係を、協 応の関係、と言います。
    • 認識と運動の協応 人工知能 世界 センサー エフェクタ ボールが来たから避ける。
    • 認識と運動の協応 人工知能 世界 センサー エフェクタ バスケでシュートをするから目をゴールに動かす。
    • 認識と運動の協応 https://karmalifee.files.wordpress.com/2010/08/ept_sports_nba_experts-155186961-1282080011.jpg
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • 階層化 第五章
    • AI モジュール 身体の表現としての黒板 五感の情報表現としての黒板 記号的表現としての黒板 環境 (ゲーム ワールド) 環境 (ゲーム ワールド) インフォメーション・フロー(感覚) インフォメーション・フロー(記号) 物理的・化学的な現象のフロー 記号情報 感覚情報 力学作用 抽象化 抽象化 具象化 具象化 記号情報 感覚情報 力学作用 【タイトル】デジタルゲームにおける人工知能エンジン 【内容】エージェント・アーキテクチャの最新のデザインを解説しています。 【日時】2014.2 【誌名】映像情報メディア学会 学会誌 2014年2月号 【ファイル名】YMiyake_ITE_2014_2.pdf 【論文URL】http://igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/YMiyake_ITE_2014_2.pdf
    • インフォメーション・フロー(感覚) インフォメーション・フロー(記号) 物理的・化学的な現象のフロー 仮想的 身体 記号的表現としての黒板 五感の情報表現としての黒板 身体の表現としての黒板 【タイトル】デジタルゲームにおける人工知能エンジン 【内容】エージェント・アーキテクチャの最新のデザインを解説しています。 【日時】2014.2 【誌名】映像情報メディア学会 学会誌 2014年2月号 【ファイル名】YMiyake_ITE_2014_2.pdf 【論文URL】http://igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/YMiyake_ITE_2014_2.pdf
    • 知能 環境 インフォメーション・フローと物理的な力の流れ 身体表現としての黒板 知覚表現としての黒板 記号・象徴としての黒板 知能内部のインフォメーション・フロー 【タイトル】デジタルゲームにおける人工知能エンジン 【内容】エージェント・アーキテクチャの最新のデザインを解説しています。 【日時】2014.2 【誌名】映像情報メディア学会 学会誌 2014年2月号 【ファイル名】YMiyake_ITE_2014_2.pdf 【論文URL】http://igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/YMiyake_ITE_2014_2.pdf
    • 知能 環境 インフォメーション・フローと物理的な力の流れ 身体表現としての黒板 知覚表現としての黒板 記号・象徴としての黒板 アービター 知能内部のインフォメーション・フロー アービターはどう思考するかを決定する。メタ思考、メタ知識のレイヤー。 【タイトル】デジタルゲームにおける人工知能エンジン 【内容】エージェント・アーキテクチャの最新のデザインを解説しています。 【日時】2014.2 【誌名】映像情報メディア学会 学会誌 2014年2月号 【ファイル名】YMiyake_ITE_2014_2.pdf 【論文URL】http://igda.sakura.ne.jp/sblo_files/ai-igdajp/academic/YMiyake_ITE_2014_2.pdf
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • 知能モデル 第六章
    • 知能のモデル化の方針(ポリシー) ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI 知能というものは非常に高度で基本的には「よくわらない」。 知能全体を模倣することは現段階では難しい。 一つの方向性から知能をモデル化しよう。 知能 … based AI ユーティリティ(効用)ベース AI これらは背反ではない。デジタルゲームの高度なAIの場合は組み合わされるのが普通。 Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI 「○○-based AI」とは、○○をAIを構築する基本単位(アトミック)として採用したAIということ。 タスク(仕事)ベース AI Task-based AI
    • 知能のモデル化の方針(ポリシー) 知能というものは非常に高度で基本的には「よくわらない」。 知能全体を模倣することは現段階では難しい。 一つの方向性から知能をモデル化しよう。 知能 一つの方向性から知能をモデル化しよう、とする試みは、当然、常に不完全なものだが、 それぞれの知的特徴を持ち、その特徴を活かせるように使い分けるしかない。 ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI … based AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI タスク(仕事)ベース AI Task-based AI
    • 知能のモデル化.1 知能 ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI … based AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI タスク(仕事)ベース AI Task-based AI
    • 世界 知性 ステートベースAI (State-Based AI) 状態 状態によって世界を記述、状態によって制御を行う。 内面 状態 状態
    • ステートマシン (State Machine) 知性 状態 状態 状態 状態を遷移条件で結んで、環境の変化を遷移条件で表現し身体制御を行う。
    • (例) Quake HFSM 状態遷移図を用いる http://ai-depot.com/FiniteStateMachines/FSM-Practical.html
    • 知能のモデル化.2 知能 ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI … based AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI タスク(仕事)ベース AI Task-based AI
    • ルールベースAI (Rule-Base AI) ルールを単位として構築する方法 ID 0 : IF … THEN …. ID 1 : IF … THEN …. ID 2 : IF … THEN …. ID .. : …. ID N : IF … THEN …. ID 0 : IF … THEN …. ID 1 : IF … THEN …. ID 2 : IF … THEN ….
    • (例) 推論エンジン A B C D E T F F F F T T F F F T T F T F T T T T F T T T T T F T T T T F F F T T …………………………… …………………………… ………………… T: True F: False True, False が変化し過ぎてゲームでは明示的にはあまり使われない。 しかしゲームの制御はループ構造なので暗黙にこのようなシステムになっていることが多い。 ID 0 : IF A THEN B ID 1 : IF A && D THEN C ID 3 : IF C THEN E ID 4 : IF B THEN D ID .. : ID 4 : IF E THEN ~A ルール内の Statement まで単位(atomic)とする
    • (例) ルール制御 ID 0 : IF …. THEN … ID 1 : IF …. THEN … ID 3 : IF …. THEN …. ID 4 : IF …. THEN … ID .. : ID 4 : IF …. THEN … Priority: 3 Priority: 1 Priority: 4 Priority: 5 Priority: 2 ルールに固定、あるいは変動プライオリティ(優先度)をつけて制御を行う。 あるいはランダムにルールをピックアップする場合もある。 Priority: - 制御 戦略思考、キャラクターの挙動などでよく使われる。
    • (例) ルール制御 ID 0 : IF …. THEN … ID 1 : IF …. THEN … ID 3 : IF …. THEN …. ID 4 : IF …. THEN … ID .. : ID 4 : IF …. THEN … Priority: 3 Priority: 1 Priority: 4 Priority: 5 Priority: 2 或いは、状況判断思考によってルールを振り分ける。 Priority: - 制御 思考 戦略思考、キャラクターの挙動などでよく使われる。
    • 応用可能性例 ID 0 : IF (敵確認) THEN (逆方向) ID 1 : IF (誰もいない) THEN (ランダムウォーク) ID 2 : IF (フルーツ発見) THEN (フルーツゲット) ID 2 : IF (パワー発見) THEN (パワーゲット) ID 0 : IF (敵強い) THEN (攻撃魔法) ID 1 : IF (自分弱い) THEN (弱い敵に攻撃) ID 2 : IF (HP<20) THEN (回復魔法) ID 2 : IF (パワー発見) THEN (パワーゲット) こうなっているというのではなくて、こういうふうに応用できる例
    • Sims3 における応用 街全体をソーシャルにシミュレーションして人との関係を楽しむゲーム。 たくさんのAIを「人間らしく」制御しなければならない。 特徴付けにプロダクションルールを採用。
    • Sims3 における応用 あらゆる相互作用を考慮 注目するエージェントの行動範囲だけを考慮
    • データドリブンなプロダクション・ルール プロダクションルール Sims3 における応用
    • プロダクションルール プロダクションルールは種類によってランク付けされていて、 最もランクの高いルールが発火する。 ルールが発火すると他のSimは、その特性を理解する。 データドリブンなプロダクション・ルール Sims3 における応用
    • 知能のモデル化.3 知能 ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI … based AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI タスク(仕事)ベース AI Task-based AI
    • タスクベースAI タスク(=仕事)を単位として構築する方法 タスク(=仕事)の表現は様々なだが、具体的な 仕事の内容を示したものでなければならない。 (単純な場合) 初期状態 ゴールTask1 Carry A to Ground Task2 Carry B to Ground Task3 Carry C on B A B C B C AA B C A BC A C B Task3 Carry A on C
    • Killzone 2 のAI Based on: Alex Champandard, Tim Verweij, Remco Straatman, "Killzone 2 Multiplayer Bots", http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf 単純なタスクベースのシステムは機能するし、使われることも多い。しかし、 近年の複雑なゲームのAIではよりマルチな時間・空間スケールに対応する必要があり、 階層型タスクネットワーク(HTN, Hierarchical Task Network)が使用される。
    • Killzone 2 AI (マルチプレイヤーモード) (1) Killzone 2 のAI思考 (2) Killzone 2 のマップ自動解析
    • Killzone 2 Screen
    • Killzone 2 AI (マルチプレイヤーモード) (1) Killzone 2 のAI思考 (2) Killzone 2 のマップ自動解析
    • Killzone2 AI 集団のAIのコントロールの仕方を考える
    • Killzone2 AI 防衛、前進など戦術を指示 戦術の成功・失敗を報告 (フィードバック) 移動地点を指示 戦況を報告(フィードバック) ターゲット指示 指示の再発行要求
    • 各AIのアーキテクチャ HTN Planner
    • HTN (Hierarchical Task Network)
    • HTN (Hierarchical Task Network) Domain Method Method Method Precondition Precondition Precondition Precondition Precondition Task Task Task Task Task Task Task Task Task Task Task Task TaskTask Task Task Task Task Branch Branch Branch Branch Branch Task を実行する順序などは決められている
    • HTN (Hierarchical Task Network) Dana Nau et al., “SHOP2: An HTN Planning System”, Journal of Artificial Intelligence Research 20 (2003) 379-404
    • HTN (Hierarchical Task Network) Dana Nau et al., “SHOP2: An HTN Planning System”, Journal of Artificial Intelligence Research 20 (2003) 379-404 Task はプラナーの 規則によって整列される
    • HTN (Hierarchical Task Network) Dana S. Nau,"Hierarchical Task Network Planning", Lecture slides for Automated Planning: Theory and Practice http://www.cs.umd.edu/~nau/cmsc722/notes/chapter11.pdf
    • HTN (Hierarchical Task Network) Task はプラナーの 規則によって整列される Dana S. Nau,"Hierarchical Task Network Planning", Lecture slides for Automated Planning: Theory and Practice http://www.cs.umd.edu/~nau/cmsc722/notes/chapter11.pdf
    • HTN (Hierarchical Task Network)
    • HTN (Hierarchical Task Network) Precondition Task Precondition Task
    • HTN (Hierarchical Task Network) 各AIの思考
    • TaskList TaskList 分岐リスト 分岐リスト 分岐(Branch) 分岐(Branch)
    • Squad AI アーキテクチャ
    • Killzone2におけるHTN統計
    • 各AIのアーキテクチャ HTN Planner
    • 兵士へ命令
    • スカッドを目的に応じて動的に構成 Killzone2
    • スカッドを目的に応じて動的に構成 Killzone2 http://www.bungie.net/Inside/publications.aspx
    • スカッドを目的に応じて動的に構成
    • スカッドを目的に応じて動的に構成 最初から 決まっている 最初から 決まっている 攻撃対象、護衛対象は ゲーム内で動的に決定 対象が決まれば 対象からの距離など からスカッドを形成。 或いは、既にある スカッドに対象を 割り当てる。
    • Killzone 2 AI (マルチプレイヤーモード) (1) Killzone 2 の AI思考 (2) Killzone 2 のマップ自動解析
    • マップ AIの基本原則:異なる目的に、異なるデータ表現を作成する たとえ、同じ対象物であっても、AIの行動用途に応じてデータ表現を作れ。 戦略思考 戦術思考 特に、マップに関してはを「データ階層化」しておくこと(世界表現) ウェイポイント
    • Killzoneにおけるマップ AIの基本原則:異なる目的に、異なるデータ表現を作成する たとえ、同じ対象物であっても、AIの行動用途に応じてデータ表現を作れ。 戦略思考 戦術思考 特に、マップに関してはを「データ階層化」しておくこと(世界表現) ウェイポイント
    • 戦略グラフを作りたい
    • Killzone 2 のウェイポイント
    • ウェイポイントをクラスター化 サイズと含むウェイポイント数を決めて なるべく正方形になるように形成
    • 戦略グラフ
    • 戦略グラフ 各エリア間で接するポイントをピックアップして結ぶ
    • 戦略グラフ 何に使うのか? グローバルな戦況判断
    • 影響マップの方法 <解説>
    • Influence Map(影響マップ) http://www.fdaw.unimaas.nl/education/4.5GAI/slides/Influence%20Maps.ppt 0,2 0,4 0,6 0,4 0,2 0,0 0,4 0,6 0,8 0,6 0,4 0,2 0,6 0,8 1,0 0,8 0,6 0,4 0,4 0,6 0,8 0,6 0,4 0,2 0,2 0,4 0,6 0,4 0,2 0,0 0,0 0,2 0,4 0,2 0,0 0,0 セル分割されたマップに、問題とする性質の評価値を 記録して行く方法 (例)①占有度
    • Influence Map(影響マップ) http://www.fdaw.unimaas.nl/education/4.5GAI/slides/Influence%20Maps.ppt セル分割されたマップに、問題とする性質の評価値を 記録して行く方法 (例)①占有度 ② 通過可能確率 0,2 0,4 0,6 0,4 0,2 0,0 0,4 0,6 0,8 0,6 0,4 0,2 0,6 0,8 1,0 0,8 0,6 0,4 0,4 0,6 0,8 0,6 0,4 0,2 0,2 0,4 0,6 0,4 0,2 0,0 0,0 0,2 0,4 0,2 0,0 0,0
    • Influence Map(影響マップ) http://www.fdaw.unimaas.nl/education/4.5GAI/slides/Influence%20Maps.ppt 0,2 0,4 0,6 0,4 0,2 0,0 0,4 0,6 0,8 0,6 0,4 0,2 0,6 0,8 1,0 0,8 0,6 0,4 0,4 0,6 0,8 0,6 0,4 0,2 0,2 0,4 0,6 0,4 0,2 0,0 0,0 0,2 0,4 0,2 0,0 0,0 (例)様々なIMから計算して戦略的な位置取りを計算する 0,50 0,75 0,75 1,00 0,75 0,50 0,75 1,00 1,00 1,00 0,75 0,50 0,75 1,00 0,75 0,75 0,50 0,25 0,75 1,00 0,75 0,50 0,25 0,00 0,75 1,00 0,75 0,50 0,25 0,00 0,75 1,00 0,75 0,50 0,25 0,00 4 6 8 8 8 8 6 4 2 0 -1 -2 -4 -4 -4 -2 4 6 8 8 8 8 4 2 1 0 -2 -4 -4 -2 4 6 8 8 8 6 3 1 0 -2 -4 -4 -4 -2 4 6 8 8 8 6 6 4 1 0 -2 -4 -4 -2 2 4 6 8 6 6 4 4 0 -1 -2 -4 -4 -4 -2 1 2 4 6 6 4 2 2 -4 -5 -3 -3 -4 -4 -2 -1 3 3 3 3 4 2 2 0 -4 -5 -5 -8 -8 -6 -4 -2 3 3 2 2 2 0 -2 -4 -8 -10 -10 -8 -4 -2 3 3 3 2 2 1 0 -4 -8 -10 -10 -8 -8 -4 -2 2 2 2 2 1 1 0 -3 -8 -10 -10 -8 -8 -4 -2 1 1 1 1 0 0 -2 -4 -8 -8 -8 -8 -8 -8 -8 -8 0 0 0 0 0 -1 -1 -2 -5 -6 -6 -6 -8 -8 -8 0 0 0 0 -1 -2 -2 -2 -4 -4 -4 -6 -8 -8 -8 -8 0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
    • Age of Empire(AOE)における利用例 AOEはタイルベースの RTS(リアルタイムストラテジー) マップは毎回、自動生成
    • Age of Empire(AOE)における利用例① Figure 3: Influence map around gold mines. 1.0 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 金鉱=アトラクター (吸引源) AIに金鉱の発掘小屋を適切な位置に置かせるには? = 金鉱に近いが、近すぎてはいけないところに置く -1.0 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 防壁=デトラクター (排斥源) 金鉱の回りのタイル(仮想的)防壁を置いて、 近すぎも遠すぎもしない点に最高点のタイルが来るようにする = 自動位置検出 金鉱発掘小屋の最適位置自動検出
    • Age of Empire(AOE)における利用例② 1.0 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 高い場所=アトラクター (吸引源) 兵士を街からなるべく遠く、高台の場所に置かせたい = 高い場所(アトラクター)、家がある(デトラクター)とする -1.0 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 家がある場所=デトラクター (排斥源) 兵隊の配置の最適位置自動検出
    • Age of Empire(AOE)における利用例③ この排斥源が与えるコストをパス検索のコストとすると、 「なるべく遠ったことにない敵の基地からみつかりにくいパス」 を見つけることが出来る。 -1.0 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 -0.6 既知の敵のビル、以前通ったルート = デトラクタ (排斥源) 兵隊の配置の最適位置自動検出
    • SimCity における影響マップの利用 第一層 道路や鉄道、要素の大きさ要 素間の関係をシミュレーション 第二層 「人口密度」「交通渋滞」「環境 汚染度」「ランドバリュー」「犯 罪発生率」をシミュレーション 第三層 地形の影響をシミュレーション 第四層 「人口増加率」「消防署」「警察 署」「消防署の影響」「警察署 の影響」をシミュレーション Crime = Pop. Density^2 - Land Value - Police Effect Land Value = Distance[Zonetype] + Terrain + Transport “AI: A Desing Perspective” AIIDE 2005 http://www.aiide.org/aiide2005/talks/index.html http://thesims.ea.com/us/will/ 多摩 豊,角川書店, 1990 「ウィル・ライトが明かすシムシティーのすべて」,
    • 影響マップの方法 <解説>終わり
    • Killzone 2 における影響マップ ボット、砲塔、死亡ポイントの情報を反映させる さまざまな意思決定に用いる
    • Killzone 2 における戦略的パス検索 スカッド毎にコストと影響マップを使って戦略パスを見出す
    • Killzone 2 における戦略的パス検索 スカッド毎にコストと影響マップを使って戦略パスを見出す
    • Killzone 2 における戦略的パス検索 スカッド毎にコストと影響マップを使って戦略パスを見出す
    • Killzone 2 における戦略的パス検索 スカッド毎にコストと影響マップを使って戦略パスを見出す 安全 危険
    • Killzone 2 における戦略的パス検索 スカッド毎にコストと影響マップを使って戦略パスを見出す
    • Killzone 2 AIのまとめ (1) 各AI、スカッドAIに階層型タスクネットワークプラ ナー(HTN Planner) を導入した。 (2) 戦略マップを自動生成した(マップを階層化した)。 (3) 戦略マップ上に影響マップの方法を導入して、ス カッドの戦略思考、戦略的パス検索を導入した。
    • References (1) AI Summit '10: Slides, Notes, Highlights and Photos http://aigamedev.com/open/coverage/gdc10-slides-highlights/#session1 (2) On the AI Strategy for KILLZONE 2's Multiplayer Bots http://aigamedev.com/open/coverage/killzone2/ (3) Killzone 2 Multiplayer Bots http://files.aigamedev.com/coverage/GAIC09_Killzone2Bots_StraatmanChampandard.pdf (4) Maria Cutumisu, Duane Szafron, "An Architecture for Game Behavior AI: Behavior Multi-Queues", http://webdocs.cs.ualberta.ca/~duane/publications/pdf/2009aiideMC.pdf (5) Kutluhan Erol. James Hendler. Dana S. Nau., "HTN Planning: Complexity and Expressivity.", http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.57.6003&rep=rep1&type=ps (6) Dana S. Nau,"Hierarchical Task Network Planning", Lecture slides for Automated Planning: Theory and Practice http://www.cs.umd.edu/~nau/cmsc722/notes/chapter11.pdf
    • 知能のモデル化.4 知能 ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI … based AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI タスク(仕事)ベース AI Task-based AI
    • ゴールベースAI (Goal-Based AI) ゴール(目標)を単位として構築する方法 ゴール・ファースト=まずゴールを決める。 しかるのちにゴールを達成するための行動をデザインする。 ゴール ゴールを達成するために 必要なことを考える思考 行動
    • 193 クロムハウンズにおけるプランニング 階層型ゴール指向型プランニング 戦略、戦術から、局所的戦闘までの幅広い戦いが できる必要がある
    • 194 階層型ゴール指向型プランニングとは? ゲームAI連続セミナー第3回「Chrome HoundsにおけるチームAI」 http://www.geocities.jp/mnagaku2000/igda/gate.html?gameai3.zip http://cedil.cesa.or.jp/uploads/search_documents/2006/archive/pdfXYZMMMM08087/r41.pdf
    • 195 一つのゴールはより小さなゴールから組み立てられる Goal Goal Goal Goal
    • 196 ゴールはより小さなゴールから組み立てられる Goal Goal Goal Goal Goal Goal Goal Goal Goal
    • 197 映画を見たい 映画館に行く 映画を見る 映画館は新宿だ 映画館まで歩く 新宿駅に行く 晴れなら 新宿駅へ歩く 雨なら 電車で新宿へ 駅まで歩く 電車に乗る ゴール指向型プランニングの考え方
    • 198 クロムハウンズにおける ゴール指向型プランニング パスに沿って 移動する 通信塔を 見つける パスを見つける通信塔 へ行く 通信塔 を占拠 通信塔を 占領する 撃つ 歩く 止まる 通信塔の 周囲に 10秒間いる 戦術、振る舞い 操作 ハウンズ
    • 199 クロムハウンズにおける リアルタイムゴール指向型プランニング 通信塔を 占領する Seek Shot Walk Stop 戦略 戦術、振る舞い 操作 ハウンズ 敵が 来 た! パスに沿って 移動する 通信塔を 見つける パスを見つける 通信塔 へ行く 通信塔 を占拠 通信塔の 周囲に 10秒間いる 敵と戦う 撃つ 歩く 止まる
    • 200 クロムハウンズにおける リアルタイムゴール指向型プランニング パスに沿って 移動する 通信塔を 見つける パスを見つける通信塔 へ行く 通信塔 を占拠 通信塔を 占領する 撃つ 歩く 止まる 通信塔の 周囲に 10秒間いる 敵を倒し た! Clear! 戦術、振る舞い 操作 ハウンズ
    • 201 ゴール指向型プランニングによって 敵本拠地へ進行しつつ敵の攻撃に対処する 様子をご覧下さい。 思考がその場で状況に応じて生成(インスタンス)される
    • 202 Conquer_Combas_TeamAI.avi
    • 203 リアルタイムゴール指向型プランニングによって 状況に即応しつつ長期的戦略を実行するデモ
    • 204 Interuption2.avi
    • 205 リアルタイムゴール指向型プランニングによって 状況に即応しつつ長期的戦略を実行するデモ このようにして、一つ一つの戦略を実装して行く。 では、実際に、誰が、どのようにして作って行くのか?
    • 206 ゴール指向型AIの開発工程 歩く 撃つ 止まる 2点間を移動 前進しながら戦う 攻撃するパスをたどる 敵を叩く 味方を 守る 操作層 振る舞い層 戦術層 戦略層 通信塔 占拠 その場で静止 周囲を監視 しつつ待機 ゲーム テスト (80回) 問題点を パターンと して抽出 (パターンランゲージによる漸近的成長) 仕様UMLProgram
    • 207 ゴール指向型プログラム構造 (入れ子構造) Class Goal クリア条件 + Activate() Process() Terminate() Class Goal クリア条件 + Activate() Process() Terminate() Class Goal クリア条件 + Activate() Process() Terminate() Class Goal クリア条件 + Activate() Process() Terminate() Activate … 初期セッティング Process … アクティブな間の行動Terminate … 終 了処理 (関数の内容を全てスクリプトで記述) プログラマーのための実装工程 インスタンス インスタンス
    • 208 最終的なゴール総合図 歩く 撃つ 止まる 2点間を 移動 歩く、一度 止まる、歩く 攻撃 する パスを たどる 敵を叩く 味方を 守る 操作層 振る舞い層 戦術層 戦略層 通信塔 占拠 静止 する ある地点へ 行く 本拠地 防衛 敵本拠地 破壊 味方を 助ける 巡回 する 敵基地 偵察 近付く 合流 する 巡回 する 逃げる 後退 する 前進 する 敵側面 へ移動
    • 知能のモデル化.5 知能 ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI … based AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI タスク(仕事)ベース AI Task-based AI
    • ビヘイビアベイスAI (Behavior-Based AI) ビヘイビア(振る舞い)によって知能を記述する方法ビヘイビアは 具体的な身体運動の仕方を定義するものでなくてはならない。 ビヘイビア ビヘイビア何らかの意思決定 ビヘイビア
    • ビヘイビア ビヘイビア= AIに何かをさせるために、一時的に アクターをコントロールするプログラムのこと。 ビヘイビア=時間をまたぐアクション: • ポイントへ移動 • 向く • 撃つ • しゃがむ • 会話する • アクションをトリガーする ビヘイビアは行動妥当性と行動時間を持つ。 e.g., • Fight • Vehicle entry • Throw grenade • Find cover • Cover friend • Check body • Wake up a sleeping grunt • Etc. Halo2: ~130 in total
    • ビヘイビア ビヘイビア= AIに何かをさせるために、一時的に アクターをコントロールするプログラムのこと。 ビヘイビア=時間をまたぐアクション: • ポイントへ移動 • 向く • 撃つ • しゃがむ • 会話する • アクションをトリガーする ビヘイビアは行動妥当性と行動時間を持つ。 e.g., • Fight • Vehicle entry • Throw grenade • Find cover • Cover friend • Check body • Wake up a sleeping grunt • Etc. Halo2: ~130 in total Target Selection Behavior Perception & Knowledge Model Looking Aiming / Shooting Moving Animation, Physics, Sound World Talking
    • The Combat Cycle Idle Combat Self- preservation Search Flight
    • 意志決定 ビヘイビアツリー (or DAG = 方向性を持った非循環グラフ) 良い点 • 直感的 • モジュール型 • スケーラブル 悪い点 • あまりシンプルではない • デバッグが困難 • メモリを取る Root Self-preservation Engage Search Charge Fight Guard Cover Presearch Uncover Guard Grenade Investigate Idle Guard Retreat Flee Vehicle fight Vehicle strafe Melee Root Engage Search Uncover
    • 意志決定ルーチン • 親が決める • 子が競合する Parent Child 2 Child 3 Child 4 Child 1 ?
    • 決定ルーチン 子ノード競合戦略 • アナログな決定法 • バイナリーな決定法 – 優先度リスト (root , Engage) – シーケンシャル – シーケンシャル・ルーピング(search) – ランダム – ワン・オフ・ランダム (postcombat) デザイン原則 #1 : A,B,Cが与えられたら,常にDを 選ぶ (全体の中で) Parent Child 2 Child 3 Child 4 Child 1 ?
    • ノード選択の原理 親ノードが子ノードを選ぶ 子ノード層がノードを選ぶ (子ノード同士が争う子ノード競合モデル child-competitive decision model ) Halo2
    • 子ノード競合モデル 実数による評価値システム バイナリーテスト & 選択アルゴリズム Halo2Chrome Hounds 第3回セミナー参照 長所:状況を評価できる。欠点:評価式が複雑 評価関数によって、行動がその状況で 実行できるかだけを判断し、実行可能な 行動の実行順序をアルゴリズムが決定 バイナリーテスト…車に乗っている、いないか、 敵をみつけているか、いないか複数の条件判定からなる。
    • ノードの実行スキーム(アルゴリズム) ① 優先度リスト法 ② シークエンス法 ③ シークエンシャル・ルーピング法 ④ 確率的方法 あらかじめノードの実行順序を 決めておいて、実行可能な ノードをその順番に従って実行する 基本は②と同じだが、 終端まで行くと、 もう一度実行する。 ランダムに選ぶ あらかじめノードの優先度 (プライオリティ)を決めて、 実行可能(active)なノードのうち 最も優先度の高いノードを実行 する。実行中のノードより高い優 持つノードがactiveになったときには、 インタラプトすることができる。 root engage search どのスキームを選ぶかは、親ノードの種類によって決定されている。
    • ノードの実行スキーム(アルゴリズム) ⑤ オン-オフ法 ランダム、或いは 優先リスト法によって選ぶが、 一度選んだものを選び直さない postcombat 実行順序を定義 =振る舞いの順序を規定できる。 振る舞いの順序(常識)を規定できる。 Damian Isla (2005), Handling Complexity in the Halo 2 AI, Game Developer's Conference Proceedings., http://www.gamasutra.com/gdc2005/features/20050311/isla_01.shtml
    • 知能のモデル化.6 知能 ステート(状態)ベースAI ゴール(目標)ベースAI ルール(規則)ベースAI ビヘイビア(振る舞い)ベースAI … based AI ユーティリティ(効用)ベース AI Rule-based AI State-based AI Behavior-based AI Goal-based AI Utility-based AI タスク(仕事)ベース AI Task-based AI
    • 効用ベースの意志決定 このように効用によって意思決定を行うAI の ことを、 効用を基本とするAI (Utility-based AI) という。 Utility-based AI
    • Sims3 における応用 街全体をソーシャルにシミュレーションして人との関係を楽しむゲーム。 たくさんのAIを「人間らしく」制御しなければならない。 特徴付けにプロダクションルールを採用。
    • The Sims の最初の目標 エージェントが社会生活を営みながら、 インタラクションする社会を作りたい。 どうすればよいか? (1) 自律的に生活を営む。 (2) エージェント同士の 社会的にインタラクション (3) Edith による 各行動のつくり込み
    • The Sims の最初の目標 エージェントが社会生活を営みながら、 インタラクションする社会を作りたい。 どうすればよいか? (1) 自律的に生活を営む (2) エージェント同士の 社会的にインタラクション (3) Edith による 各行動のつくり込み
    • (1) 自律的に生活を営むAIを作る
    • 自律型AIの作り方 三宅陽一郎、「これからのゲームAIの作り方」 (GDC2009報告会) http://www.digrajapan.org/modules/mydownloads/images/study/20090411.pdf
    • 自律型AIの作り方 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t) If (H(t) > 0.5) goto GetFood ハングリー度が0.5 を超えたら餌を取りに行く。
    • 自律型AIの作り方 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t)If (H(t) > 0.5) goto GetFood Else Sleep 1日 食べ物
    • 自律型AIの作り方(個性付け) 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t)If (0.8*H(t) > 0.5) goto GetFood Else Sleep 1日 食べ物 お腹の減りにくいAIとなる。
    • 自律型AIの作り方 知性 (心) 身体 時間(t) ハングリー度(H) H(t)=sin(1/24*t)If (H(t) > 0.8 && S(t) < 0.1) goto GetFood Else If (H(t) < 0.3 && S(t) > 0.7) goto Sleep Else Free_Walk 1日 眠りたい度(H) S(t)=sin(1/48*t) 1日 + 寝床 食べ物
    • 自律型AIの作り方(個性づけ) 知性 (心) 身体 時間(t) ハングリー度(H) If (0.5*H(t) > 0.8 && S(t) < 0.1) goto GetFood Else If (H(t) < 0.3 && 1.5*S(t) > 0.7) goto Sleep Else Free_Walk 1日 眠りたい度(H) S(t)=sin(1/48*t) 1日 + 寝床 食べ物 お腹の減りにくく、あまり眠らないAIとなる。 H(t)=sin(1/24*t)
    • 自律型AIの作り方(+環境) 知性 (心) 身体 環境
    • 自律型AIの作り方 知性 (心) 身体 ハングリー度(H) H(t)=sin(1/24*t) If (H(t) > 0.8 && S(t) < 0.1) goto GetFood Else If (H(t) < 0.3 && S(t) > 0.7) goto Sleep Else If( (1-H(t))*D(t) < 0.9) Goto Fight Else Free_Walk 1日 眠りたい度(H) S(t)=sin(1/48*t) 1日 + 寝床 食べ物 + 環境 危険度(D) D(t)= 1/敵との距離 1日 敵
    • Mat Bucklandの自律型エージェントのデモ オライリー・ジャパン 「実例で学ぶゲームAIプログラミング」 (Mat Buckland著、松田晃一訳) http://www.oreilly.co.jp/books/9784873113395/ 目標を持ち、目標ごとに内部状態に 応じて変動する関数を持つ ① 攻撃する ② 移動する ③ 回復アイテムを取る ④ 武器を取る … 意思決定:全てのゴールのうち、最大 値を持つゴールを選択して行動する。 (例)③ H(t) = 0.8 * ((1– 現在のHP)/回復アイテムまでの距離) デモ
    • こういったデモに3Dモデルを被せると… ① Chromehounds (Fromsoftware, Xbox360,2006) ゲームAI連続セミナー第3回「Chrome HoundsにおけるチームAI」 http://www.geocities.jp/mnagaku2000/igda/gate.html?gameai3.zip http://cedil.cesa.or.jp/uploads/search_documents/2006/archive/pdfXYZMMMM08087/r41.pdf
    • こういったデモに3Dモデルを被せると… ② The Sims 3 (Maxis, EA) Sims Getting Smarter: AI in The Sims 3(IGN) http://pc.ign.com/articles/961/961065p1.html GDC10 Richard Evans,"Modeling Individual Personalities in The Sims 3" http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The Trait … 特性。性格パラメーター Wish … 将来の目標 Breaking the Cookie-Cutter: Modeling Individual Personality, Mood, and Emotion in Characters
    • 自律型AIのコアの作り方 ① AIの内部変数として、時間的に自律変化する変数(=関数)をセットする。 ② その変数値(と外部環境の変数を結び付けながら)、異なる行動を取るよう にプログラムを書く。 ③ そういった変数を複数増やして、組み合わせることで、 複雑な 内部構造を持つAIを作ることが出来る。 [参考] ゴール指向AI, BDIアーキテクチャ
    • The Sims のAIの原理 三宅陽一郎、「Spore におけるゲームAI技術とプロシージャル」 (DiGRA Japan 第14回 月例研究 会)http://www.igda.jp/modules/mydownloads/visit.php?cid=2&lid=77
    • The Sims シリーズのAIの作り方 人をダイナミクス(力学系、動的な数値の仕組み )として動かす。 世界を動かす PeerAI(=キャラクターAI) を構築。 Sub Peer Meta Meta Peer Sub [原則] 周囲の対象に対する、あらゆる可能な行動から、 ムード(幸せ) 係数を最大化する行動を選択する。 Sims (not under direct player control) choose what to do by selecting, from all of the possible behaviors in all of the objects, the behavior that maximizes their current happiness.
    • オブジェクトに仕込むデータ構造 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
    • Hunger +20 Comfort -12 Hygiene -30 Bladder -75 Energy +80 Fun +40 Social +10 Room -60 Mood +18 Toilet -Urinate (+40 Bladder) -Clean (+30 Room) -Unclog (+40 Room) Bathtub -Take Bath(+40 Hygiene) (+30 Comfort) -Clean (+20 Room) Mood +26 Mood +20 [原則] 周囲の対象に対する、あらゆる可能な行動から、 Happiness (ここではMood) 係数を最大化する行動を選択する。 最適な行動を選択する
    • Moodの計算のためのウエイト Mood = W_Hunger(X_Hunger) * X_Hunger + W_Engergy(X_Energy) * X_Energy + … w_ w_ w_ w_ w_ w_ w_ w_ = Mood (-100..+100) (ウエイト=Moodへどれぐらい貢献するか)
    • 効用(Utility)の計算の仕方 W_Hunger関数 X_Hunger W_Hunger(-80) -80 60 W_Hunger(60)
    • 効用(Utility)の計算の仕方 W_Hunger関数 X_Hunger W_Hunger(-80) -80 60 W_Hunger(60) -80の時の食事欲求 = W_Hunger(-80)*(-80) 60の時の食事欲求 = W_Hunger(60)*(60) Δ(変化分)=W_Hunger(60)*(60) - W_Hunger(-80)*(-80)
    • 効用(Utility)の計算の仕方 W_Hunger関数 X_Hunger W_Hunger(-80) -80 60 W_Hunger(60) -80の時の食事欲求 = W_Hunger(-80)*(-80) 60の時の食事欲求 = W_Hunger(60)*(60) Δ(変化分)=W_Hunger(60)*(60) - W_Hunger(-80)*(-80) 効用 効用
    • 限界効用逓減の法則 X_Hunger W_Hunger(-80) -80 60 W_Hunger(60) Δ(-80 → 60)=W_Hunger(60)*(60) - W_Hunger(-80)*(-80) Δ(60→90) =W_Hunger(90)*(80) - W_Hunger(90)*(60) 90 W_Hunger(90) Δ(-80 → 60) の方が Δ(60→90) より圧倒的に大きい ある程度満たされたものを満たすより、 満たされないものをある程度満たす方が大きな満足をもたらす 効用 ビールは一杯目が一番おいしい
    • The Sims 3 では、多くのムードや欲求が準備される。 行動 対象 GDC10 Richard Evans,"Modeling Individual Personalities in The Sims 3" http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
    • 物と欲求の相互作用マップ マップから満たしたい動機パラメーターに関係した インラクションだけをピックアップできる 動機 パラメーター インタラク ション
    • 特定の欲求は自動的に充足 特定の動機パラメーターからの影響を軽減
    • Mood を最大化 冷蔵庫が最も総合的にMoodを上昇させるから
    • 冷蔵庫へ行きます。 Mood を最大化
    • Mood を最大化 お腹が膨れたので、ちょっと退屈だから、女の子と話します。
    • コンテンツ 第一章 知能とは何か? 第二章 エージェント・アーキテクチャ 第三章 意識モデル 第四章 認識と運動 第五章 階層化 第六章 知能モデル 第七章 まとめ
    • まとめ • 人工知能は他の学問明らかにして来た知能 の機能を実装したものである。 • デジタルゲームのAI実装にはさまざまなレベ ルがある。 • エージェント・アーキテクチャが世界と知能を 結ぶ。 • 意思決定には代表的な6つのアルゴリズム がある。
    • ご清聴ありがとうございました。 http://www.facebook.com/youichiro.miyake Twitter: @miyayou 感想・ご質問は メイルtwitter やfacebookまで ゲームAI千夜一夜 http://blogai.igda.jp/ 三宅陽一郎 論文・講演資料集(4) http://blogai.igda.jp/article/92899318.html