SlideShare a Scribd company logo
1 of 299
Download to read offline
ゲームAI入門 (後半)
日本デジタルゲーム学会理事
三宅 陽一郎
2018.7.9 @shibuya
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com @miyayou
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第7章 キャラクターAI
ビヘイビアベース意思決定
Behavior-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ビヘイビアベース
ビヘイビア
自分自身の身体的活動をターゲットにしたタスク
ビヘイビアベース
ビヘイビア ビヘイビア
アニメーションほど詳細ではなく、
文脈を形成できるレベルの身体活動を
記述する。
フィードバックは、ツリー構造の
動作に含まれてしまう。
一連の行動を展開することが
目的となる。
ビヘイビアベイスAI (Behavior-Based AI)
ビヘイビア(振る舞い)によって知能を記述する方法ビヘイビアは
具体的な身体運動の仕方を定義するものでなくてはならない。
ビヘイビア
ビヘイビア何らかの意思決定
ビヘイビア
ビヘイビアベース意思決定
ビヘイビアツリー入門
Behavior-based decision making
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なうち、
最も優先度の高いノードを実行する
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを
順番に実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを
ランダムに一つ実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
ノード選択の原理
親ノードが子ノードを選ぶ 子ノード層がノードを選ぶ
(子ノード同士が争う子ノード競合モデル
child-competitive decision model )
Halo2Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
ノードの実行スキーム(アルゴリズム)
① 優先度リスト法 ② シークエンス法
③ シークエンシャル・ルーピング法 ④ 確率的方法
あらかじめノードの実行順序を
決めておいて、実行可能な
ノードをその順番に従って実行する
基本は②と同じだが、
終端まで行くと、
もう一度実行する。
ランダムに選ぶ
あらかじめノードの優先度
(プライオリティ)を決めて、
実行可能(active)なノードのうち
最も優先度の高いノードを実行
する。実行中のノードより高い優
持つノードがactiveになったときには、
インタラプトすることができる。
root engage
search
どのスキームを選ぶかは、親ノードの種類によって決定されている。
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005 http://naimadgames.com/publications.html
ノードの実行スキーム(アルゴリズム)
⑤ オン-オフ法
ランダム、或いは
優先リスト法によって選ぶが、
一度選んだものを選び直さない
postcombat
実行順序を定義 =振る舞いの順序を規定できる。
振る舞いの順序(常識)を規定できる。
Damian Isla (2005), Handling Complexity in the Halo 2 AI, Game Developer's Conference Proceedings.,
http://www.gamasutra.com/view/feature/130663/gdc_2005_proceeding_handling_.php
意志決定ルーチン
• 親が決める
• 子が競合する
Parent
Child 2
Child 3
Child 4
Child 1
?
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
ビヘイビアベース意思決定
ビヘイビアツリー入門
HALO2におけるビヘイビアツリー
Behavior-based decision making
意志決定
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
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2におけるビヘイビアツリー
ビヘイビアツリー
(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
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2におけるビヘイビアツリー
ビヘイビアツリー
(DAG = 方向性を持った非循環グラフ)
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
まず、マップを3つの領域に区別する。
「それぞれの領域=戦術ポイント・グループ」として定義する。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
次にそれぞれの領域にビヘイビア・ツリーを割り当てる。
これが、その領域でAIが取る意思決定モジュールとなる。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
こういうチェックボックスのツールで
マスターのビヘイビアツリーをカスタマイズする。
それぞれの領域に割り当てられたビヘイビアツリーを
「スタイル」と言う。 Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
次にそれぞれの領域から領域の遷移条件を定義する。
つまり、これは「領域」をステートとするステートマシンとなる。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
3Dゲームの中のAI
Halo
(HALO、バンジー、2001年) デバッグ画面
The Illusion of Intelligence - Bungie.net Downloads
http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
タスクベース意思決定
Task-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
タスクベース意思決定
階層型タスクネットワークの説明
Task-based decision making
階層型タスクネットワーク
(ゲーム設定)回復薬を作る方法
• 赤、青、緑を一色づつ集める。
• 緑、赤、緑の順番に集める。
• 青二つと赤一つ。ただし、赤の前に青を集めないといけない。
メソッド
(=タスクの分解の仕方)
回復薬を作る
(タスク)
回復薬を運ぶ
(タスク)
回復薬を届ける
(タスク)
メソッド
(=タスクの分解の仕方)
袋入
れる
ブランチ
全色集める
ブランチ
赤と青を集める
ブランチ
赤と緑を集める
青拾う
赤拾う
緑拾う
袋入
れる
緑拾う 緑拾う
袋入
れる
赤拾う 青拾う
赤拾う青拾う
順序なしタスク
全順序タスク
局所的順序タスク
全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある
原初タスク
回復薬を作る
(タスク)
前提条件
メソッド
(=タスクの分解の仕方)
回復薬を作る
(タスク)
回復薬を運ぶ
(タスク)
回復薬を届ける
(タスク)
回復薬を運ぶ
• 馬車を持ってきて、荷物を載せて、戦場へ運ぶ。
• 荷物に載せるには、宝箱に入れて載せる必要がある。
• 宝箱には札をつけておく必要がある。
メソッドメソッド
馬車に
載せる
馬車を呼ぶ
戦場まで行
く
荷を載せる
宝箱に
札をつける
宝箱に
入れる
順序なしタスク
全順序タスク
局所的順序タスク
馬車を持っている
原初タスク
回復薬を運ぶ
(タスク)
前提条件
荷を載せる
馬車が近くにある
局所的順序タスク
袋入
れる
回復薬を届ける
(ドメイン)
ブランチ
全色集める
ブランチ
赤と青を集める
ブランチ
赤と緑を集める
青拾う
赤拾う
緑拾う
袋入
れる
緑拾う 緑拾う
袋入
れる
赤拾う 青拾う
赤拾う青拾う
順序なしタスク
全順序タスク
局所的順序タスク
全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある
原初タスク
回復薬を作る
(タスク)
生成されるタスクネットワーク
袋入
れる
青拾う
赤拾う青拾う
スタート
馬車
を
呼ぶ
戦場
まで
行く
ゴール
馬車
に載
せる
宝箱
に札を
つける
宝箱
に入
れる
タスクベース意思決定
階層型タスクネットワークの説明
KILLZONE 2 における階層型タスクネットワーク
Task-based decision making
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 のマップ自動解析
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Killzone 2 Screen
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Killzone 2 AI (マルチプレイヤーモード)
(1) Killzone 2 のAI思考
(2) Killzone 2 のマップ自動解析
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
「Killzone 2」におけるチームの構造図と
コミュニケーション・パス
司令官のAI
部隊長のAI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
部隊長のAI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
各
メ
ン
バ
|
の
AI
部隊長のAI
各
メ
ン
バ
|
の
A
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
防衛、前進など戦術を指示
戦術の成功・失敗を報告
(フィードバック)
移動地点を指示
ターゲット指示
指示の再発行要求
指示の再発行要求
各AIのアーキテクチャ
HTN Planner
各メンバーのエージェント・アーキテクチャ
上からの
命令
メッセージ
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
コントローラー
インプット
知能内部
感覚刺激
認識
脅威
Squad AI アーキテクチャ
部隊長のエージェント・アーキテクチャ
司令官から
の命令
各兵士から
の報告
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
各メンバー
への命令
知能内部
メモリ領域
実行モジュール
HTN (Hierarchical Task Network)
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
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/planning/slides/chapter11.pdf
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/planning/slides/chapter11.pdf
Task はプラナーの
規則によって整列される
HTN (Hierarchical Task Network)
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
HTN (Hierarchical Task Network)
Precondition
Task
Precondition
Task
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
銃で攻撃 ロケットで攻撃
銃で攻撃
ロケットで
攻撃
敵がヒューマノイド
射程距離内
敵はヒューマノイドでも砲台でもない
射程距離内
武器を選択して攻撃
(タスク)
装填
攻撃
終了
装填
攻撃
終了
HTN (Hierarchical Task Network)
各AIの思考 On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
TaskList
TaskList
分岐リスト
分岐リスト
分岐(Branch)
分岐(Branch)
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
… 前進
なし
拠点を防衛するように命令する
(タスク)
それまでのメンバーデータを消去
新しくメンバーの状況を収集
命令発行シークエンス起動
(これまでの行動を停止せよ)
前進命令を発行
到着したら停止命令
拠点を防衛せよ
かがみながら近づく
行動する (タスク)
治療プランスタート
治療を周囲に通達
車
防御
ターゲットを選択
治療器具を使用する
徒歩前進
治療
行動
中止 継続 開始
治療
器具変更なし 器具変更あり
メソッド適用
メソッド適用
メソッド適用
メソッド適用
かがみながら近づく
治療器具選択
治療プランスタート
治療を周囲に通達
治療する
プラン終了
防御
ターゲットを選択
治療器具を使用する
治療
中止 継続 開始
治療
器具変更なし 器具変更あり
メソッド適用
メソッド適用
メソッド適用
Squad AI アーキテクチャ
兵士へ命令
スカッドを目的に応じて動的に構成
Killzone2
スカッドを目的に応じて動的に構成
Killzone2
http://www.bungie.net/Inside/publications.aspx
Killzone2におけるHTN統計
スカッドを目的に応じて動的に構成
スカッドを目的に応じて動的に構成
最初から
決まっている
最初から
決まっている
攻撃対象、護衛対象は
ゲーム内で動的に決定
対象が決まれば
対象からの距離など
からスカッドを形成。
或いは、既にある
スカッドに対象を
割り当てる。
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.htm
l
http://thesims.ea.com/us/will/
多摩 豊,角川書店, 1990
「ウィル・ライトが明かすシムシティーのすべて」,
影響マップの方法 <解説>終わり
Killzone 2 における影響マップ
ボット、砲塔、死亡ポイントの情報を反映させる
さまざまな意思決定に用いる
Killzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出す
Killzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出す
Killzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出す
Killzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出す
安全
危険
Killzone 2 における戦略的パス検索
スカッド毎にコストと影響マップを使って戦略パスを見出す
ユーティリティベース意思決定
Utility-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ユーティリティ・ベース
• ユーティリティ・ベースは高度に抽象的な戦術決定の方法。
• 世界をモデル化し、評価すべき行動群の効用(ユーティリティ)
を数値に還元する。
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.
Will Wright, AI: A Design Perspective (AIIDE 2005)
http://www.aaai.org/Papers/AIIDE/2005/AIIDE05-041.ppt
Kenneth Forbus, Will Wright, “Some notes on programming objects in The Sims – Example”
http://www.qrg.cs.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
オブジェクトに仕込むデータ構造
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大学、講義資料) ※IEで見てください。
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Kenneth Forbus, Will Wright, “Some notes on programming objects in The Sims – Example”
http://www.qrg.cs.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
The Sims における「モチーフ・エンジン」
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern University)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Data
- Needs
- Personality
- Skills
- Relationships Sloppy - Neat
Shy - Outgoing
Serious - Playful
Lazy - Active
Mean - Nice
Physical
- Hunger
- Comfort
- Hygiene
- Bladder
Mental
- Energy
- Fun
- Social
- Room
Motive Engine
Cooking
Mechanical
Logic
Body
Etc.
AIの人格モデル
最適(=最大効用)な行動を選択する
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)
Mood +26
Bathtub
- Take Bath (+40 Hygiene)
(+30 Comfort)
- Clean (+20 Room)
Mood +20
[原則] 周囲の対象に対する、あらゆる可能な行動から、
総合的な効用 (=Mood) を最大化する行動を選択する。
ムードの計算方法と各パラメーターのウェイトグラフ
Mood = W_Hunger(X_Hunger) * X_Hunger + W_Engergy(X_Energy) * X_Energy + …
-100 0 100 -100 0 100
-100 0 100 -100 0 100
-100 0 100 -100 0 100
-100 0 100 -100 0 100
W_Hunger W_Energy
W_Comfort W_Fun
W_Hygiene
W_Social
W_Bladder W_Room
効用(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)
Hunger degree at -80 = W_Hunger(-80)*(-80)
Hunger degree at 60 = W_Hunger(60)*(60)
Δ = W_Hunger(60)*(60) - W_Hunger(-80)*(-80)
Utility for hunger
限界効用逓減の法則
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)*(90) - W_Hunger(60)*(60)
90
W_Hunger(90)
Δ(-80 → 60) is much larger than Δ(60→90)
ある程度満たされたものを満たすより、
満たされないものをある程度満たす方が大きな満足をもたらす
Utility for hunger
ビールは一杯目が一番おいしい
The Sims のAIの原理
三宅陽一郎、「Spore におけるゲームAI技術とプロシージャル」 (DiGRA Japan 第14回 月例研究
http://digrajapan.org/?wpdmact=process&did=Ni5ob3RsaW5r
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
Richard Evans, Modeling Individual Personalities in The Sims 3, GDC 2010
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
The Sims 3 では、多くのムードや欲求が準備される。
行動 対象
GDC09 資料 http://www.gdcvault.com/play/1452/(307)-Breaking-the-Cookie-Cutter
アフォーダンスとユーティリティ
• 環境がAIに対して示唆をする
= アフォーダンス指向のAI
並木 幸介
[CEDEC]ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振
る舞いをさせる手法 https://cedil.cesa.or.jp/cedil_sessions/view/697
アイルー村(2010)
参考文献
• アフォーダンスとユーティリティ
• 環境がAIに対して示唆をする
= アフォーダンス指向のAI
並木 幸介 [CEDEC]ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振る舞いをさせる手法
https://cedil.cesa.or.jp/cedil_sessions/view/697
シミュレーションベース意思決定
Simulation-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
シミュレーション・ベース
• シミュレーションは、ここではエージェントの想
像のこと。
• 問題を定式化できない場合、実際に頭の中
で動かしてみることを意味する。
• ゲームの場合は、実際にゲームのルール・原
理に従って運動させてみる。
シミュレーション・ベース
※イメージです。
要所、要所のシミュレーション結果を実際の世界の状況と比較して、
フィードバックをかける。
シミュレーション・ベース
ジャンプするシミュレーションを行うことで、成功するジャンプを見出して実行する。
Warfarmeにおける壁面移動
Daniel Brewer, “The Living AI in Warframe’s Procedural Space Ships” (Game AI Conference 2014) ※登録が必要なサイトです
http://archives.nucl.ai/recording/the-living-ai-in-warframes-procedural-space-ships/
プレイヤー
AI
プレイヤーが「ジャンプ・壁面走り・ジャンプ」したデータから
学習して、AIがそのデータをもとに同じ動きをする。
ジャンプ 壁面走り
ジャンプ
シミュレーション・ベース
加速・減速など自由な軌道を描けるAIが、複雑な地形を通過するときに、
複数の運動シミュレーションを走らすことで、もっともエレガントな軌道を見出す。
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第8章 プロシージャル
プロシージャル=動的な計算によるコンテンツ生成(思考、アセット)
プロシージャル技術
ゲームAI技術
AI技術
プロシージャル
技術
コンテンツ自動生成技術
(PCG, Procedural Contents Generation )
(例)① GA Racer遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。
最初はここまでしか
たどり着けないけど…
だんだんと遠くまで、
たどりつけるようにする。
Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2
(CD-ROMにソースコードと実行ファイルがあります)
最初の世代 新世代(100~世代後)
(例)③ムーンランディング
(月着陸)
3世代 20世代 35世代
落下法則(物理法則)のもとで降下ポイントから台座に垂直に着陸する操作を見出す
最初は全く見当違い。 だんだんと近付いて来る。
Mat Buckland, Andre Lamothe, “Moon Landings Made Easy ”, chapter.6.,
AI techniques for game programming, Premier Press (2002)
(CD-ROMにソースコードと実行ファイルがあります)
着陸地点
降下開始ポイント 降下開始ポイント 降下開始ポイント
Neural Networks in Supreme Commander 2 (GDC 2012)
Michael Robbins (Gas Powered Games)
http://www.gdcvault.com/play/1015406/Off-the-Beaten-Path-Non
http://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non
ニューラルネットワークの応用
Neural Networks in Supreme Commander 2 (GDC 2012)
Michael Robbins (Gas Powered Games)
http://www.gdcvault.com/play/1015406/Off-the-Beaten-Path-Non
http://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non
ニューラルネットワークの応用
Neural Networks in Supreme Commander 2 (GDC 2012)
Michael Robbins (Gas Powered Games)
http://www.gdcvault.com/play/1015406/Off-the-Beaten-Path-Non
http://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non
ニューラルネットワークの応用
Neural Networks in Supreme Commander 2 (GDC 2012)
Michael Robbins (Gas Powered Games)
http://www.gdcvault.com/play/1015406/Off-the-Beaten-Path-Non
http://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non
ニューラルネットワークの応用
ニューラルネットワークの応用
Black & White (Lionhead,2000)
クリーチャーを育てていくゲーム。
クリーチャーは自律的に行動するが、
訓練によって学習させることができる。
http://www.youtube.com/watch?v=2t9ULyYGN-s
http://www.lionhead.com/games/black-white/
Belief – Desire – Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
Intention
Overall Plan
(Goal, Main Object)
Attack enemy town
Specific Plan
(Goal, Object List)
Throw stone at house
Primitive Action List
Walk towards stone,
Pick it up,
Walk towards house,
Aim at house,
Throw stone at house
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
Belief – Desire – Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
Low Energy
Source =0.2
Weight =0.8
Value =
Source*Weight =
0.16
Tasty Food
Source =0.4
Weight =0.2
Value =
Source*Weight =
0.08
Unhappiness
Source =0.7
Weight =0.2
Value =
Source*Weight =
0.14
∑
0.16+0.08+0.14
Threshold
(0~1の値に
変換)
hunger
Desire(お腹すいた度)欲求を決定する
対象を決定する
それぞれの対象の
固有の情報
他にも
いろいろな
欲求を計算
Hunger
Compassion
Attack(戦いたい)
Help
ニューラルネットワークの応用
Black & White (Lionhead,2000)
機械学習
• 機械学習を導入できるところ = くり返される状況がある
• (例)格闘ゲーム、レースゲーム
• 使いどころ = 人間が調整できないほど多くて複雑な数値調
整が必要な場所
(例)場合分けがあまりにも多い、ターゲット選択
機械学習
• 微調整はできない。
• 学習をすべてやり直すしかない
(例)特にニューラルネットワーク
ゲームデザイナーの要望に応える場所では難しい。
ゲームデザイナーが気にしない場所で使うのが良い。
(例)たくさんのパターンを生成するなど
ゲーム産業はいかに機械学習を調整するか、
という課題に直面している。
生成系ニューラルネットワーク
目次
• 第一節 ニューラルネットワーク基礎
• 第二節 生成系ニューラルネットワーク
• 第三節 プロシージャル技術入門
• 第四節 ニューラルネットの歴史
第一節
ニューラルネットワーク基礎
神経素子(ニューロン)とは?
入力
入力
入力
出力
入力
この中にはイオン(電解,Na+,K+)
溶液が入っていて、入力によって電圧が
高まると出力する仕組みになっています。
100mVぐらい
ニューラルネットワーク内シグナル伝達スピード 100(m/sec) … 案外遅い
http://www.brain.riken.go.jp/jp/aware/neurons.html
ニューラルネットを理解しよう② 基本原理
http://www.pri.kyoto-u.ac.jp/brain/brain/11/index-11.html
医学的知識
http://www.biwako.shiga-u.ac.jp/sensei/mnaka/ut/sozai/ai.html
モデル化
数学的モデル
ニューロン 人工ニューロン
入出力関係のグラフ 入出力関係の関数(シグモイド関数)
ニューラルネットを理解しよう② 数学的原理
http://www.pri.kyoto-u.ac.jp/brain/brain/11/index-11.html
医学的知識
http://www.biwako.shiga-u.ac.jp/sensei/mnaka/ut/sozai/ai.html
モデル化
数学的モデル
ニューロン
人工ニューロン
入出力関係のグラフ 入出力関係の関数(シグモイド関数)
ニューラルネットワーク
(ニューロンをつなげたもの)
道具はこれで全て。これで何ができるだろう?
ニューラルネットを理解しよう③ 数学的原理
数学的モデル
入力信号
=繋がっている
ニューロンからやっ
て来ます
ウエイト(重み)
=各ニューロン間の結合の強さ
「入力信号x重み」+「バイアス」(初期電位、適当な小さな値)
出力信号
(0~1の間)
バイアスをうまく調整して、
このセンシティブな領域に入力が集中するように
調整しよう!(ニューラルネットの技術的なコツ)
ニューラルネットを理解しよう③ 数学的原理
数学的モデル 階層型ニューラルネットワーク
… 一方向にニューロンをつなげたもの
入力層 隠れ層 出力層
重み 重み
最初に定義するもの=ウエイト(重み) 、バイアス
とりあえず全ての結合を定義しておく(ニューロン間の重みを0にすれば切れる)
数値の組み
が入ります
数値の組み
が出ます
これは3層の例だけど、
何層つなげてもよい
一旦定義してから変えることができないもの…全体の構造
変えることができるもの…ウエイト(重み)
目次
• 第一章 ニューラルネットワーク基礎
• 第二節 生成系ニューラルネットワーク
• 第三節 プロシージャル技術入門
• 第四節 ニューラルネットの歴史
第二節
生成系ニューラルネットワーク
生成系ニューラルネットワーク技術
ニューラルネットワーク
GAN (一般敵対的ネット)
(ディープラーニング)
ニューロエヴォリューション
(進化的ニューラルネット)
逆伝播法
ニューラルネットワーク
生成系ニューラルネットワーク技術
ニューラルネットワーク
GAN (一般敵対的ネット)
(ディープラーニング)
ニューロエヴォリューション
(進化的ニューラルネット)
逆伝播法
ニューラルネットワーク
数学的モデル
数値の組み
が入ります
階層型ニューラルネットで学習とは、ある入力に対して特定の出
力(学習信号)になるようにウエイトを変化させることを言います。
学習信号
実際の信号
誤差信号
① 手動で少しずつ勘を頼りに変えて行く。 まず無理
② えらい人が考えた方法を使ってみる。 誤差伝播法
伝播する
誤差信号
伝播する
誤差信号
どうやって?
ニューラルネットを理解しよう 逆伝播法学習
ニューラルネットを理解しよう 逆伝播法学習
数学的モデル
数値の組み
が入ります
教師信号と実際の出力の差を、ウエイトを調整する
ことで、縮めて行く。
学習信号
実際の信号
誤差信号
伝播する
誤差信号
伝播する
誤差信号
ニューラルネットの出力側から、誤差分を、後ろ側に分担して
負担するように、後ろのニューロンへ、そのニューロンが
詰める大きさを含んだ情報を伝播して行く。
誤差伝播法(Back Propagation Method)
ニューラルネットを理解しよう 逆伝播法学習
数学的モデル 教師信号と実際の出力の差を、ウエイトを調整する
ことで、縮めて行く。
伝播する
誤差信号
伝播する
誤差信号
ニューラルネットの出力側から、誤差分を、後ろ側に分担して
負担するように、後ろのニューロンへ、そのニューロンが
詰める大きさを含んだ情報を伝播して行く。
誤差伝播法(Back Propagation Method)
信号 絵
画家: ジャスパー・フランシス・クロプシー
Painter: Jasper Francis Cropsey
タイトル: ポンプトン・プレインズ
生成系ニューラルネットワーク技術
ニューラルネットワーク
GAN (一般敵対的ネット)
(ディープラーニング)
ニューロエヴォリューション
(進化的ニューラルネット)
逆伝播法
ニューラルネットワーク
⑤ニューラルネットワークの構造が進化させる
「NEAT」の技術
Mat Buckland, Chapter 11, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
これまでニューラルネットは、最初に構造を定義した後は変化しなかった。
動的にニューラルネットの構造を変化させる技術
Neuron Evoluation of Augmenting Topologies (NEAT)
Neuro Evolution
を詳しく解説
NEAT
回路の構成を遺伝子コードで表現する。
Weight: 1.2
From: 1
To: 3
Enabled: Y
Recurrent: N
Innovation: 1
Weight: -3
From: 1
To: 4
Enabled: Y
Recurrent: N
Innovation: 6
Weight: 0.7
From: 2
To: 4
Enabled: Y
Recurrent: N
Innovation: 2
Weight: -2.1
From: 3
To: 4
Enabled: Y
Recurrent: N
Innovation: 6
Weight: 1.1
From: 3
To: 5
Enabled: N
Recurrent: N
Innovation: 3
Weight: 0.8
From: 4
To: 5
Enabled: Y
Recurrent: N
Innovation: 4
Weight: -1
From: 5
To: 3
Enabled: Y
Recurrent: Y
Innovation: 7
ID: 1
Type: Input
ID: 2
Type: Input
ID: 3
Type: hidden
ID: 4
Type: hidden
ID: 5
Type: Output
2
1
4
3
5
つなぎ方を定義する遺伝子
ニューロンを定義する遺伝子
入力 出力
NEAT
回路の構成を遺伝子コードで表現する。
Weight: 1.2
From: 1
To: 3
Enabled: Y
Recurrent: N
Innovation: 1
Weight: -3
From: 1
To: 4
Enabled: Y
Recurrent: N
Innovation: 6
Weight: 0.7
From: 2
To: 4
Enabled: Y
Recurrent: N
Innovation: 2
Weight: -2.1
From: 3
To: 4
Enabled: Y
Recurrent: N
Innovation: 6
Weight: 1.1
From: 3
To: 5
Enabled: N
Recurrent: N
Innovation: 3
Weight: 0.8
From: 4
To: 5
Enabled: Y
Recurrent: N
Innovation: 4
Weight: -1
From: 5
To: 3
Enabled: Y
Recurrent: Y
Innovation: 7
ID: 1
Type: Input
ID: 2
Type: Input
ID: 3
Type: hidden
ID: 4
Type: hidden
ID: 5
Type: Output
2
1
4
3
5
リンク(つなぎ方)を定義する遺伝子
ニューロンを定義する遺伝子
Innovation ID によってリンク、ニュー
ロンを全遺伝子共通の管理する。
無効
入力 出力
NEATにおける交叉
親1
2
1
7
3
4
1
1->4
2
2->4
3
3->4
6
3->7
7
7->4
12
1->7
1
1->4
2
2->4
3
3->4
4
2->5
5
5->4
8
5->9
9
9->4
15
3->9
親2
2
1
3
95 4
Innovation ID
ID順に並べます。
1
1->4
2
2->4
3
3->4
1
1->4
2
2->4
3
3->4
4
2->5
5
5->4
6
3->7
7
7->4
8
5->9
9
9->4
12
1->7
15
3->9
交
叉
4
2->5
5
5->4
8
5->9
9
9->4
15
3->9
1
1->4
2
2->4
3
3->4
NEATにおける交叉
親1
2
1
7
3
4
1
1->4
2
2->4
3
3->4
6
3->7
7
7->4
12
1->7
1
1->4
2
2->4
3
3->4
4
2->5
5
5->4
8
5->9
9
9->4
15
3->9
親2
2
1
3
95 4
Innovation ID
交
叉
2
1
3
95 4
4
2->5
5
5->4
8
5->9
9
9->4
15
3->9
1
1->4
2
2->4
3
3->4
子供=新しいニューラルネットワーク
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
交配の中で発展して行く
第3世代
第929世代
第1368世代
左は俯瞰図(赤は衝突してしまってい
る)
右は適応度ベスト4のニューラルネット
https://arxiv.org/pdf/1410.7326.pdf
弾幕自動生成
• Applying Evolutionary Algorithms to the Galactic Arms Race
• http://aigamedev.com/open/interviews/galactic-arms-race/
https://www.youtube.com/watch?v=N8q2uOwWcFc
生成系ニューラルネットワーク技術
ニューラルネットワーク
GAN (一般敵対的ネット)
(ディープラーニング)
ニューロエヴォリューション
(進化的ニューラルネット)
逆伝播法
ニューラルネットワーク
はじめのGAN
https://elix-tech.github.io/ja/2017/02/06/gan.html
https://arxiv.org/abs/1406.2661
生成用
ニューラルネット
判定用
ニューラルネット
データ
ベクトル 生成画像
真 = 1
偽 = 0
https://arxiv.org/abs/1406.2661
Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
Alec Radford, Luke Metz, Soumith Chintala
(Submitted on 19 Nov 2015 (v1), last revised 7 Jan 2016 (this version, v2))
https://arxiv.org/abs/1511.06434
Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks
Alec Radford, Luke Metz, Soumith Chintala
(Submitted on 19 Nov 2015 (v1), last revised 7 Jan 2016 (this version, v2))
https://arxiv.org/abs/1511.06434
目次
• 第一節 ニューラルネットワーク基礎
• 第二節 生成系ニューラルネットワーク
• 第三節 プロシージャル技術入門
• 第四節 ニューラルネットの歴史
第三節
プロシージャル技術入門
ゲームエンジンにおける自動生成
(例 DUNIA ENGINE)
• 各開発会社のゲームエンジンには、自動生成技術が組み込まれ
ている。
• https://www.youtube.com/watch?v=FI3oR6vqn1Q
次世代ゲームにおける自動生成技術
(2007年12月、三宅陽一郎)
• https://www.slideshare.net/youichiromiyake/ss-51549802
GPU-BASED PROCEDURAL PLACEMENT
IN HORIZON ZERO DAWN
• https://www.guerrilla-games.com/read/gpu-based-
procedural-placement-in-horizon-zero-dawn
• データからプロシージャルにマップなど、ゲームに必要なデー
タを生成
Rogue (1980)のレベル生成法
Rect[0] Rect[0] Rect[1]
Rect[0]
Rect[1]
Rect[2] Rect[3]
http://racanhack.sourceforge.jp/rhdoc/intromaze.html
Rogue (1980)のダンジョン生成法
Rect[0] Rect[0] Rect[1]
Rect[0]
Rect[1]
Rect[2] Rect[3]
このようにアセット(ゲームのデータ)をツールなどを通して製作するのではなく、
プログラムで作ることを「プロシージャル・コンテンツ・ジェネレーション」(PCG)と言う。
http://racanhack.sourceforge.jp/rhdoc/intromaze.html
迷路の自動的な作り方
• 穴掘り法
• 棒倒し法
• 壁伸ばし法
迷路自動生成アルゴリズム
http://www5d.biglobe.ne.jp/stssk/maze/make.html
WarFrame における自動生成マップの
自動解析による自動骨格抽出
• 自動生成するだけでなく、自動生成したダンジョンを、自動解
析します。ここでは、トポロジー(形状)検出を行います。
アーロンのアルゴリズム
• 知識ベースの人工知能
= 閉曲線で描くことを学ぶ。
1981
アーロンのアルゴリズム
• 知識ベースの人工知能
(左) 学んだ知識から描く
(右) 架空のものを学んだものから描く
19851983
アーロンのアルゴリズム
• 知識ベースの人工知能
前後関係を取れるようにする。
1986
ブラウン運動
ロバート・ブラウン博士によって、1827年に発見された現象。
微粒が媒質(液体)の中で行う不規則な運動。
アインシュタイン博士によって、熱運動する媒質の不規則な
衝突によって引き起こされると説明された。
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
ブラウン運動から地形生成
ロバート・ブラウン博士によって、1827年に発見された現象。
微粒が媒質(液体)の中で行う不規則な運動。
アインシュタイン博士によって、熱運動する媒質の不規則な
衝突によって引き起こされると説明された。
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
宮田一乗「プロシージャル技術の動向」(CEDEC 2008)
ブラウン運動から地形生成
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
https://www.youtube.com/watch?v=m4JDNzwFZFI
ブラウン運動から地形生成
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
http://www.kenmusgrave.com
ブラウン運動から地形生成
http://ja.wikipedia.org/wiki/%E3%83%96%E3%83%A9%E3%82%A6%E3%83%B3%E9%81%8B%E5%8B%95
http://www.kenmusgrave.com
NO MAN’S SKY (Hello Games, 2016)
http://www.no-mans-sky.com/
宇宙、星系、太陽系、惑星を自動生成する。
FarCry2 におけるプロシージャル技術
50km四方のマップを作る
オブジェクト(草木)&アニメーションデータを自動生成
FarCry2 (Dunia Engine ) デモ
草原自動生成 時間システム
樹木自動生成 動的天候システム
動的天候システム
http://www.farcry2-hq.com/downloads,18,dunia-engine-nr1.htm
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第9章 キャラクターAI(学習)
キャラクターにおける様々な学習・進化
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
(4) 遺伝的アルゴリズムの応用
キャラクターにおける様々な学習・進化
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
(4) 遺伝的アルゴリズムの応用
Neural Networks in Supreme Commander 2 (GDC 2012)
Michael Robbins (Gas Powered Games)
http://www.gdcvault.com/play/1015406/Off-the-Beaten-Path-Non
http://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non
ニューラルネットワークの応用
Neural Networks in Supreme Commander 2 (GDC 2012)
Michael Robbins (Gas Powered Games)
http://www.gdcvault.com/play/1015406/Off-the-Beaten-Path-Non
http://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non
ニューラルネットワークの応用
Neural Networks in Supreme Commander 2 (GDC 2012)
Michael Robbins (Gas Powered Games)
http://www.gdcvault.com/play/1015406/Off-the-Beaten-Path-Non
http://www.gdcvault.com/play/1015667/Off-the-Beaten-Path-Non
ニューラルネットワークの応用
Belief – Desire – Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
Low Energy
Source =0.2
Weight =0.8
Value =
Source*Weight =
0.16
Tasty Food
Source =0.4
Weight =0.2
Value =
Source*Weight =
0.08
Unhappiness
Source =0.7
Weight =0.2
Value =
Source*Weight =
0.14
∑
0.16+0.08+0.14
Threshold
(0~1の値に
変換)
hunger
Desire(お腹すいた度)欲求を決定する
対象を決定する
それぞれの対象の
固有の情報
他にも
いろいろな
欲求を計算
Hunger
Compassion
Attack(戦いたい)
Help
ニューラルネットワークの応用
Black & White (Lionhead,2000)
ニューラルネットワークの応用
Black & White (Lionhead,2000)
クリーチャーを育てていくゲーム。
クリーチャーは自律的に行動するが、
訓練によって学習させることができる。
http://www.youtube.com/watch?v=2t9ULyYGN-s
http://www.lionhead.com/games/black-white/
14:20-
キャラクターにおける様々な学習・進化
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
(4) 遺伝的アルゴリズムの応用
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
• 揺らぎ
• ライン – コーナーやそのコンビネーションに対し
て、どれぐらいスムーズに車をガイドするか
• コーナーへの突入スピードとブレーキを踏むタイ
ミングと。保守的か過激か。
• コーナーの頂点にどれぐらい近づくか、どれぐら
いの速度でそこを抜けるか?
• コーナーを抜ける時のスピードとコーナーを回る
時のスピード。
Drivatar がプレイヤーのコントロールから学習するもの
Microsoft Research
Drivatar™ in Forza Motorsport
http://research.microsoft.com/en-us/projects/drivatar/forza.aspx
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
プレイヤーの特性を解析する
特徴となる数値をドライブモデルに渡す
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
レーシングラインを事前に構築する。生成というよるテーブルから組み合わせる。
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
レーシングラインを事前に構築する。生成というよるテーブルから組み合わせる。
機械学習
(例)FORZA MOTORSPORT におけるドライビング学習
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
レーシングラインに沿わせるのではなく、理想とする位置とスピードから
コントローラーの制御を計算して、物理制御によって車を運転する。
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
• TrusSkill =プレイヤーの強さを正規分布の中央値と標準偏差
として扱う。
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
μ : 中央値
σ: 標準偏差
• TrusSkill =プレイヤーの強さを正規分布の中央値と標準偏差
として扱う。
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
μ : 中央値
σ: 標準偏差
その人の強さを表す
その人の強さの正確さを示す。
100回やってこのランクの人と
1000回やってこのランクの人では
1000回の人の方が正確
=標準偏差が小さい
• スキル 𝜇 𝐴, 𝜎𝐴 のプレイヤーと、スキル 𝜇 𝐵, 𝜎 𝐵
のプレイヤーが
マッチングする確率は、
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
μ : 中央値
σ: 標準偏差
𝑒
−
(𝜇 𝐴−𝜇 𝐵)2
2𝐶2
𝑑 (𝑑 =
2𝛽2
𝑐
)
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
2人が対戦して勝ったとき、負けた時の中央値、標準偏差の変化
知能と情報 : 日本知能情報ファジィ学会誌 : journal of Japan Society for Fuzzy Theory and Intelligent Informatics 22(6), 745-756, 2010-12-15
日本知能情報ファジィ学会 「オンラインゲームにおける人工知能・. プロシージャル技術の応用」
http://igda.sakura.ne.jp/sblo_files/ai-igdajp/image/JSFTII_22-6_online20game_Miyake.pdf
キャラクターにおける様々な学習
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
(4) 言語学習
強化学習とは?
行動選択
=ポリシー
(π)
環境(Env)
行動(a)
状態(S)
報酬
報酬
関数
環境のモデルはよくわからない。
でも、行動をして、それに対する結果(=報酬)が環境から返って来る。
その報酬から、現在の状態と行動の評価を見直して、
行動選択の方針を変えて行くことを強化学習という。
強化学習
(例)マルチバンディッド問題
スロット
マシン
ルーレット
マシン
フラッシュ
マシン
AI
強化学習(例)
スロット
マシン
ルーレット
マシン
フラッシュ
マシン
AI
π : どのマシンで賭けをするか?
a_0:アクション a_1:アクション a_2:アクション
R_0 : 報酬 R_1:報酬 R_2:報酬
強化学習
(例)マルチバンディッド問題
強化学習(例)
スロット
マシン
ルーレット
マシン
フラッシュ
マシン
AI
π : どのマシンで賭けをするか?
a_0:アクション a_1:アクション a_2:アクション
R_0 : 報酬 R_1:報酬 R_2:報酬
最初から、どのマシンに賭けていいか、わからない。
少しずつ賭けつつ、どのマシンからの報酬が良いかを判断しながら、
賭けを続ける。
=強化学習
環境と自分のアクションのインタラクションを見ながら、
随時、行動を決定する基準を変えて行くこと。
強化学習
(例)マルチバンディッド問題
強化学習(例)
スロット
マシン
ルーレット
マシン
フラッシュ
マシン
AI
π : どのマシンで賭けをするか?
a_0:アクション a_1:アクション a_2:アクション
R_0 : 報酬 R_1:報酬 R_2:報酬
π : 最初はどのマシンにも同じ確率 1/3 で賭ける。
でも、最初100ドルずつ賭けた時の報酬が、50ドル、20ドル、30ドル
だったとしたら?
π : どのように変化させるか? 例えば、 5:2:3 など。
強化学習
(例)マルチバンディッド問題
強化学習とは?
行動選択
=ポリシー
(π)
環境(Env)
行動(a)
状態(S)
報酬
報酬
関数
環境のモデルはよくわからない。
でも、行動をして、それに対する結果(=報酬)が環境から返って来る。
その報酬から、現在の状態と行動の評価を見直して、
行動選択の方針を変えて行くことを強化学習という。
強化学習(例)
強化学習
(例)格闘ゲーム
キック
パン
チ
波動
R_0 : 報酬=ダメージ
強化学習
(例)格闘ゲームTaoFeng におけるキャラクター学習
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
強化学習
(例)格闘ゲームTaoFeng におけるキャラクター学習
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
強化学習
(例)格闘ゲームTaoFeng におけるキャラクター学習
実際は、AIの状態(距離など)に対してアクションが学習されます。
多くの技(攻撃20種類、防御10種類ほど)が強化学習される。
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
キャラクターにおける学習の原理
行動の表現結果の表現 意思決定
強化学習(例)
強化学習
(例)格闘ゲーム
キック
パン
チ
波動
R_0 : 報酬=ダメージ
http://piposozai.blog76.fc2.com/
http://dear-croa.d.dooo.jp/download/illust.html
強化学習
(例)格闘ゲームTaoFeng におけるキャラクター学習
Ralf Herbrich, Thore Graepel, Joaquin Quiñonero Candela Applied Games Group,Microsoft Research Cambridge
"Forza, Halo, Xbox Live The Magic of Research in Microsoft Products"
http://research.microsoft.com/en-us/projects/drivatar/ukstudentday.pptx
Microsoft Research Playing Machines: Machine Learning Applications in Computer Games
http://research.microsoft.com/en-us/projects/mlgames2008/
Video Games and Artificial Intelligence
http://research.microsoft.com/en-us/projects/ijcaiigames/
キャラクターにおける様々な学習・進化
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
(4) 遺伝的アルゴリズムの応用
遺伝的アルゴリズムの応用
集団を一定の方向に進化させる方法
最初の世代 新世代(100~世代後)
…
世代を経て進化させる
1つの世代が次の世代を交配によって産み出す
遺伝的アルゴリズムの仕組み
遺伝子
遺伝子
次世代
親①
親②
母集団から優秀な親を
2体ピックアップ
遺伝子を掛け合わせる 次世代の子供を産み出す
(selection) (crossover) (production)
現世代
このサイクルをくり返すことで世代を進めて、望ましい集団を産み出す
遺伝子
遺伝子
(例)① GA Racer
遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。
最初はここまでしか
たどり着けないが…
だんだんと遠くまで、
たどりつけるようにする。
Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2
(CD-ROMにソースコードと実行ファイルがあります)
最初の世代 新世代(100~世代後)
森川幸人,
「テレビゲームへの人工知能技術の利用」,
人工知能学会誌vol.14 No.2 1999-3
http://www.ai-gakkai.or.jp/jsai/whatsai/PDF/article-iapp-7.pdf
http://www.1101.com/morikawa/1999-04-10.html
に準拠します。
以下の解説は
詳細は以下の資料へ
(例)④アストロノーカ
最初はすぐに罠にかかるが、 だんだんと罠にかからないようになる
MuuMuu, PlayStation®用ソフト「アストロノーカ」(Enix, 1998)
http://dlgames.square-enix.com/jp/psga/2008/astronoka/
http://www.muumuu.com/product.html
新世代(5~世代後)最初の世代 野菜
食べたい
世界最高峰の遺伝的アルゴリズムを使ったゲーム
(AIをどうゲームに使うか、という手本のようなゲーム)
全体の流れ トラップを配置する
1日の始まり
トラップバトル開始
トラップバトル終了
トラップ成績算出
各個体の成績算出
順位を決定
下位2体を削除
適応度に応じて親を選択
子供2体を生成
新しい世代を生成
規定世代に達した?
1日の終了
世代交代数を修正
突然変異率を修正
4-① 初期の個体集合を生成
個体を多数(GAにはある程度の母数が必要)用意し、
各NPCに遺伝子コードを設定し、初期値を設定する。
56x8=448ビット
遺伝子身長 耐性_快光線腕力 脚力 耐性_かかし体重
1.87 6.85 16.25 25.03 25.03 16.25 6.85 1.87
0 1 2 3 4 5 6 7
[各ビットの重み]
[バブーの属性(総計56)]
(C)1998 Muu Muu co.,Ltd./SYSTEM SACOM corp./ENIX
アストロノーカ(muumuu、森川幸人)
ゲームシステムとしての工夫
全体の適応度の平均値
1日の適応度の伸び
世代交代数
工夫その① 遺伝的アルゴリズムは集団に対するアルゴリズム
一体のトラップバトルの裏で他の20体も同じトラップバトルをして、
全体として世代交代をさせている。
工夫その②
遺伝的アルゴリズムは進化のスピードがプレイヤーに体感させるには遅い
プレイヤーには「1世代の変化」と言っているが、
実はだいたい1日5世代分進化させている。
工夫その③
プレイヤーから見て
毎日、同じ適応度の
上昇になるように、
世代交代数を調整している
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第10章 デバッグのAI
眞鍋 和子、「遺伝的アルゴリズムによる人工知能を用いたゲームバランス調整」(CEDEC 2017)
http://cedil.cesa.or.jp/cedil_sessions/view/1655
https://www.inside-games.jp/article/2017/09/02/109510.html
https://www.4gamer.net/games/328/G032883/20170902004/
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第11章 協調するAI
CCP における
協調配置システムの研究
CADIA Populs
http://populus.cs.ru.is/node/116
「EveOnline」を作っているCCPは、レイキャビク大学と共同で
エージェントたちの自然な振る舞いを研究した。
Humanoid Agent
in Social Game Environment (HASGE)
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
HASGE Project
(Reykjavik Univ, CCP)
http://cadia.ru.is/wiki/public:socialgame:main
F-formation (Kendon, 1984)
• 人と人が向い合うときに、形成する立ち位置。
Paul Marshall,Yvonne Rogers,Nadia Pantidi
Using F-formations to analyse spatial patterns of interaction in physical environments
http://mcs.open.ac.uk/pervasive/pdfs/MarshallCSCW2011.pdf
いろいろな F-formation パターン
Paul Marshall,Yvonne Rogers,Nadia Pantidi
Using F-formations to analyse spatial patterns of interaction in physical environments
http://mcs.open.ac.uk/pervasive/pdfs/MarshallCSCW2011.pdf
いろいろな F-formation パターン
Paul Marshall,Yvonne Rogers,Nadia Pantidi
Using F-formations to analyse spatial patterns of interaction in physical environments
http://mcs.open.ac.uk/pervasive/pdfs/MarshallCSCW2011.pdf
EVE ONLINE
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
CADIA Populs
http://populus.cs.ru.is/node/116
「EveOnline」を作っているCCPは、レイキャビク大学と共同で
エージェントたちの自然な振る舞いを研究した。
テリトリーとインフルエンス
• テリトリー(Territory) … 個人を中心とする対人
距離。
• ビヘイビア・インフルエンス
(behavioural influence)
そのビヘイビアが人を引き込む範囲。
- Social place
- Social situation
ソーシャル・ダイナミクス
Social Dynamics
= Social Behavior influence
(社会的な振る舞いが)
at Social place (社会的な場において)
makes Social Situation (シチュエーションを作る)
F-formation
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
Transactional Segment = 交流場
共有される場
(入ってはいけない!)
会話参加者の立つリング
この円内に入ったものは、
会話参加者が目をやる・
この円内に入ったものは、
会話参加者がより注意深く見る。
F-formation
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
社会的ビヘイビアが
伝えられる距離
会話に参加していると
言える距離 4人が形成するテリトリー
F-formation
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
不自然/自然
不自然/自然
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
共有される情報
Cladio Pedica - Spontaneous Avatar Behaviour for Social Territoriality Reykjavik University.
http://www.ru.is/~hannes/publications/JAAI2010.pdf
『Reckoning』における
ターゲット協調システム
ターゲッティング問題とは
複数のAIが一人(か少数)の敵を攻撃する場合、
誰がどのターゲットを攻撃するか、という問題
(袋叩きにしてはバランスが取れない)
ベルギアンAI
Grid capacity, Attack Capacity
Attack Weight = 4
12
Grid Capacity = グリッドに入れるモンスターの数
各モンスターはそれぞれ Attack Weight (整数値)を持つ
Attack Capacity = キャラクターの周りのグリッドに入るモンスターの
Attack weight の総和の最大
ベルギアンAI(例)
Attack Weight = 4
Stage
Manager
Grid Capacity = 5 … 五体まで入っていい。
Attack Capacity = 12 総和が12まで
12
RequestAssign
モンスターから
Stage Manager にリクエストして
条件に合えばアサインして、
一番近いスロットに
スロットの占有権を与える。
モンスターは攻撃したら、
占有権を速やかに
Stage Manager に返却する。
ベルギアンAI(例)
Attack Weight = 4
Stage
Manager Grid Capacity = 5 … 五体まで入っていい。
Attack Capacity = 12 総和が12まで
8
ベルギアンAI(例)
Attack Weight = 4
Stage
Manager Grid Capacity = 5 … 五体まで入っていい。
Attack Capacity = 12 総和が12まで
0
ベルギアンAI(例)
Attack Weight = 4
Stage
Manager Grid Capacity = 5 … 五体まで入っていい。
Attack Capacity = 12 総和が12まで
2
Attack Weight = 6
ベルギアンAI(例)
Attack Weight = 4
Stage
Manager Grid Capacity = 5 … 五体まで入っていい。
Attack Capacity = 12 総和が12まで
2
Attack Weight = 6
ベルギアンAI(例)
Attack Weight = 4
Stage
Manager Grid Capacity = 5 … 五体まで入っていい。
Attack Capacity = 12 総和が12まで
2
Attack Weight = 6
(通常攻撃)
Attack Weight = 10
(特殊攻撃)
モンスターから
Stage Manager にリクエストして
条件に合えばアサインして、
スロットの占有権を与える。
モンスターは攻撃したら、
占有権を速やかに
Stage Manager に返却する。
Stage
Manager
モンスターから
Stage Manager にリクエストして
条件に合えばアサインして、
スロットの占有権を与える。
モンスターは攻撃したら、
占有権を速やかに
Stage Manager に返却する。
Stage
Manager
モンスターから
Stage Manager にリクエストして
条件に合えばアサインして、
スロットの占有権を与える。
モンスターは攻撃したら、
占有権を速やかに
Stage Manager に返却する。
Stage
Manager
モンスターは、自分の
スロットを覚えない。
常に、Stage Manager が
フルコントロールする。
Stage
Manager
攻撃を開始したモンスターは
自分をロックできる。
Stage
Manager
Reckoning におけるターゲットシステム
GDC 2012 AI Postmortems:
Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun
Michael Dawe,
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
Reckoning におけるターゲットシステム
GDC 2012 AI Postmortems:
Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun
Michael Dawe,
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
Reckoning におけるターゲットシステム
GDC 2012 AI Postmortems:
Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun
Michael Dawe,
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
Reckoning におけるターゲットシステム
GDC 2012 AI Postmortems:
Kingdoms of Amalur: Reckoning, Darkness II and Skulls of the Shogun
Michael Dawe,
http://www.gdcvault.com/play/1015380/AI-Postmortems-Kingdoms-of-Amalur
考察
• ゲームにおいては、あまりエージェント同志のコミュニケーショ
ンを使うことはない。
• むしろ場や、中央制御によって簡単で操作しやすい制御を実
現することが多い。
分散人工知能
分散人工知能
複数の知的機能を組み合わせて、
一つの大きな知能を組み立てようとする知能。
複数の人工知能を組み合わせる。
石田亨 ,片桐恭弘,桑原和宏, 「分散人工知能」, コロナ社, 1996
「シンプルな機能」を組み合わせて一つの知能を作る方法。
黒板モデル
(ブラックボード・アーキテクチャ)
「シンプルな機能」を組み合わせて一つの知能を作る方法。
知識源(ナレッジソース、Knowledge Source、以下KS)
=
特定の専門的な操作をできる専門的な機能モジュール。
黒板上にあるデータに対して特定の操作を施すことができる。
KS
ブラックボード・アーキテクチャ(Blackboard Architecture)
ブラックボード
KS
KS
KS
KS
KS
KS
ブラックボードを用いた
協調ターゲッティング
集団の協調
AI
A
B
C
1
2
3
4 5
Players
集団の協調
AI
A
B
C
1
2
3
4 5
Players
集団の協調
AI
A
B
C
1
2
3
4 5
Players
混乱かつ制御不能
集団の協調
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy C
Slot 2
集団の協調
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy A
Slot 2
Entry
Accept!
集団の協調
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy A
Slot 2
Entry
Reject!
集団の協調
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy A
Slot 2
目次
参考文献
第1章 人工知能とは
第2章 ゲームAIとは
第3章 ゲームAI入門
第4章 開発者の心持ち
第5章 ゲームの知能化
第6章 ナビゲーションAI
第7章 キャラクターAI
第8章 プロシージャル
第9章 キャラクターAI(学習)
第10章 デバッグのAI
第11章 協調するAI
第12章 調整の仕方
第12章 調整の仕方
調整 ゲーム
テストプレイ
フィードバック
調整 ゲーム
テストプレイ
フィードバック
イテレーションサイクルを早めること
ご質問
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
• y.m.4160@gmail.com
• Twitter: @miyayou
• Facebook: https://www.facebook.com/youichiro.miyake

More Related Content

What's hot

ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)Youichiro Miyake
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~dena_genom
 
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)Youichiro Miyake
 
ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)Youichiro Miyake
 
人工知能とゲーム(後篇)
人工知能とゲーム(後篇)人工知能とゲーム(後篇)
人工知能とゲーム(後篇)Youichiro Miyake
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作るtorisoup
 
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろうはじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろうMasahiko Nakamura
 
UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-com044
 
ゲームAIの中の数学(上)
ゲームAIの中の数学(上)ゲームAIの中の数学(上)
ゲームAIの中の数学(上)Youichiro Miyake
 
次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 Youichiro Miyake
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術Youichiro Miyake
 
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景UnityTechnologiesJapan002
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例sairoutine
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!Masahiko Nakamura
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫Yuta Imai
 

What's hot (20)

ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)ゲームAI製作のためのワークショップ(III)
ゲームAI製作のためのワークショップ(III)
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
 
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
 
ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)ゲームAI製作のためのワークショップ(II)
ゲームAI製作のためのワークショップ(II)
 
人工知能とゲーム(後篇)
人工知能とゲーム(後篇)人工知能とゲーム(後篇)
人工知能とゲーム(後篇)
 
【Unity】 Behavior TreeでAIを作る
 【Unity】 Behavior TreeでAIを作る 【Unity】 Behavior TreeでAIを作る
【Unity】 Behavior TreeでAIを作る
 
先進的なルックデベロップメント
先進的なルックデベロップメント先進的なルックデベロップメント
先進的なルックデベロップメント
 
はじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろうはじめてのAI~ 愛のあるAIを作ろう
はじめてのAI~ 愛のあるAIを作ろう
 
UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-UE4でAIとビヘイビアツリーと-基礎-
UE4でAIとビヘイビアツリーと-基礎-
 
ゲームAIの中の数学(上)
ゲームAIの中の数学(上)ゲームAIの中の数学(上)
ゲームAIの中の数学(上)
 
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
バイキング流UE4活用術 ~BPとお別れするまでの18ヶ月~
 
次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術
 
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
【Unite Tokyo 2019】Unityとプロシージャルで作るオープンワールド背景
 
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
CEDEC2019 大規模モバイルゲーム運用におけるマスタデータ管理事例
 
トリコの動かし方
トリコの動かし方トリコの動かし方
トリコの動かし方
 
猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について猫でも分かる UE4のAnimation Blueprintの運用について
猫でも分かる UE4のAnimation Blueprintの運用について
 
UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!UE4のためのより良いゲーム設計を理解しよう!
UE4のためのより良いゲーム設計を理解しよう!
 
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow) UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
UE4ディープラーニングってやつでなんとかして!環境構築編(Python3+TensorFlow)
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
 

Similar to ゲームAI入門(後半)

IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16) IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16) miyayou
 
IGDA日本 GDC2011報告会 「ゲームAI分野レポート」
IGDA日本 GDC2011報告会 「ゲームAI分野レポート」IGDA日本 GDC2011報告会 「ゲームAI分野レポート」
IGDA日本 GDC2011報告会 「ゲームAI分野レポート」Youichiro Miyake
 
Halo2 におけるHFSM(階層型有限状態マシン) 事前資料
Halo2 におけるHFSM(階層型有限状態マシン)  事前資料Halo2 におけるHFSM(階層型有限状態マシン)  事前資料
Halo2 におけるHFSM(階層型有限状態マシン) 事前資料Youichiro Miyake
 
CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)Youichiro Miyake
 
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Youichiro Miyake
 
ゲームのための人工知能(下)
ゲームのための人工知能(下)ゲームのための人工知能(下)
ゲームのための人工知能(下)Youichiro Miyake
 
ゲームAIの中の数学(下)
ゲームAIの中の数学(下)ゲームAIの中の数学(下)
ゲームAIの中の数学(下)Youichiro Miyake
 
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェントゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェントYouichiro Miyake
 
『ゲームAI技術入門』講義用素材
『ゲームAI技術入門』講義用素材『ゲームAI技術入門』講義用素材
『ゲームAI技術入門』講義用素材Youichiro Miyake
 
人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)Youichiro Miyake
 
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」Youichiro Miyake
 
ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)Youichiro Miyake
 

Similar to ゲームAI入門(後半) (12)

IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16) IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
 
IGDA日本 GDC2011報告会 「ゲームAI分野レポート」
IGDA日本 GDC2011報告会 「ゲームAI分野レポート」IGDA日本 GDC2011報告会 「ゲームAI分野レポート」
IGDA日本 GDC2011報告会 「ゲームAI分野レポート」
 
Halo2 におけるHFSM(階層型有限状態マシン) 事前資料
Halo2 におけるHFSM(階層型有限状態マシン)  事前資料Halo2 におけるHFSM(階層型有限状態マシン)  事前資料
Halo2 におけるHFSM(階層型有限状態マシン) 事前資料
 
CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)
 
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
 
ゲームのための人工知能(下)
ゲームのための人工知能(下)ゲームのための人工知能(下)
ゲームのための人工知能(下)
 
ゲームAIの中の数学(下)
ゲームAIの中の数学(下)ゲームAIの中の数学(下)
ゲームAIの中の数学(下)
 
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェントゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
 
『ゲームAI技術入門』講義用素材
『ゲームAI技術入門』講義用素材『ゲームAI技術入門』講義用素材
『ゲームAI技術入門』講義用素材
 
人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)
 
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
 
ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)ゲームAI製作のためのワークショップ(I)
ゲームAI製作のためのワークショップ(I)
 

More from Youichiro Miyake

AIES 2021 Keynote lecture
AIES 2021 Keynote lecture AIES 2021 Keynote lecture
AIES 2021 Keynote lecture Youichiro Miyake
 
業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在Youichiro Miyake
 
スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用Youichiro Miyake
 
スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能Youichiro Miyake
 
Replaying Japan Keynote 2021
Replaying Japan Keynote 2021 Replaying Japan Keynote 2021
Replaying Japan Keynote 2021 Youichiro Miyake
 
デジタルゲームと人工知能
デジタルゲームと人工知能デジタルゲームと人工知能
デジタルゲームと人工知能Youichiro Miyake
 
クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展Youichiro Miyake
 
フロイトと人工知能の意識モデル -「新記号論」を読んで -
フロイトと人工知能の意識モデル  -「新記号論」を読んで - フロイトと人工知能の意識モデル  -「新記号論」を読んで -
フロイトと人工知能の意識モデル -「新記号論」を読んで - Youichiro Miyake
 
バーチャルワールド、 スマートシティ、人工知能
バーチャルワールド、スマートシティ、人工知能バーチャルワールド、スマートシティ、人工知能
バーチャルワールド、 スマートシティ、人工知能Youichiro Miyake
 
人工知能にとっての他者と自分
人工知能にとっての他者と自分人工知能にとっての他者と自分
人工知能にとっての他者と自分Youichiro Miyake
 
AI時代の幸福と人間力
AI時代の幸福と人間力AI時代の幸福と人間力
AI時代の幸福と人間力Youichiro Miyake
 
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの かYouichiro Miyake
 
Innovative City Forum 2020 講演資料
 Innovative City Forum 2020 講演資料 Innovative City Forum 2020 講演資料
Innovative City Forum 2020 講演資料Youichiro Miyake
 
人工知能とビジネス
人工知能とビジネス人工知能とビジネス
人工知能とビジネスYouichiro Miyake
 
人工知能とは何か?
人工知能とは何か?人工知能とは何か?
人工知能とは何か?Youichiro Miyake
 

More from Youichiro Miyake (20)

AIES 2021 Keynote lecture
AIES 2021 Keynote lecture AIES 2021 Keynote lecture
AIES 2021 Keynote lecture
 
業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在
 
スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用スマートシティへのデジタルゲームAIの応用
スマートシティへのデジタルゲームAIの応用
 
スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能
 
Replaying Japan Keynote 2021
Replaying Japan Keynote 2021 Replaying Japan Keynote 2021
Replaying Japan Keynote 2021
 
デジタルゲームと人工知能
デジタルゲームと人工知能デジタルゲームと人工知能
デジタルゲームと人工知能
 
クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展
 
フロイトと人工知能の意識モデル -「新記号論」を読んで -
フロイトと人工知能の意識モデル  -「新記号論」を読んで - フロイトと人工知能の意識モデル  -「新記号論」を読んで -
フロイトと人工知能の意識モデル -「新記号論」を読んで -
 
バーチャルワールド、 スマートシティ、人工知能
バーチャルワールド、スマートシティ、人工知能バーチャルワールド、スマートシティ、人工知能
バーチャルワールド、 スマートシティ、人工知能
 
人工知能にとっての他者と自分
人工知能にとっての他者と自分人工知能にとっての他者と自分
人工知能にとっての他者と自分
 
AI時代の幸福と人間力
AI時代の幸福と人間力AI時代の幸福と人間力
AI時代の幸福と人間力
 
人工知能と未来
人工知能と未来人工知能と未来
人工知能と未来
 
人工知能と社会
人工知能と社会人工知能と社会
人工知能と社会
 
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
 
Innovative City Forum 2020 講演資料
 Innovative City Forum 2020 講演資料 Innovative City Forum 2020 講演資料
Innovative City Forum 2020 講演資料
 
人工知能とDX
人工知能とDX人工知能とDX
人工知能とDX
 
人工知能と哲学
人工知能と哲学人工知能と哲学
人工知能と哲学
 
人工知能とビジネス
人工知能とビジネス人工知能とビジネス
人工知能とビジネス
 
人工知能とは何か?
人工知能とは何か?人工知能とは何か?
人工知能とは何か?
 
Hapic と AI
Hapic と AIHapic と AI
Hapic と AI
 

ゲームAI入門(後半)