SlideShare a Scribd company logo
1 of 299
Download to read offline
ゲームAIと学習する
人工知能エージェント
『創作とディープラーニングの出会い → AI時代のコン
テンツ制作はいかに変容していく?』
日本デジタルゲーム学会 理事
三宅陽一郎
2017.9.6 @角川アスキー総合研究所
https://www.ai-gakkai.or.jp/my-bookmark_vol32-no4/
参考文献
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されてい
るか
• 第三章 人工知能の各種事例
• 第四章 人工知能の発展の方向
• 第五章 ゲームAIと人工生命
• 第六章 人工知能と創造性
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されてい
るか
• 第三章 人工知能の各種事例
• 第四章 人工知能の発展の方向
• 第五章 ゲームAIと人工生命
• 第六章 人工知能と創造性
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されてい
るか
• 第三章 人工知能の各種事例
• 第四章 人工知能の発展の方向
• 第五章 ゲームAIと人工生命
• 第六章 人工知能と創造性
第三章 人工知能の各種事例
AlphaGO
膨大な棋譜のデータ
(人間では多過ぎて
読めない)
この棋譜を
そっくり打てる
ように学習する
自己対戦して
棋譜を貯める
この棋譜を
そっくり打てる
ように学習する
AlphaGO
Deep Q-Learning
Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
画面を入力
操作はあらかじめ教える
スコアによる強化学習
二つの人工知能
IF (s_collison==true)
register_all(s_star);
assign_edge();
assign_vertex();
mix_all();
シンボルによる人工知能
(シンボリズム))
ニューラルネットによる人工知能
(コネクショニズム)
IBM ワトソン
など
AlphaGo
など
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
ある層の限定した領域を次の層に向けて足し合わせて
集約する=折り畳み(コンボリューション)
その時にちょっとづつずらしながら折り畳みを行う。
学習過程解析
Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
• Pπ ロールアウトポリシー(ロールアウトで討つ手を決める。
Pπ(a|s) sという状態でaを討つ確率)
• Pσ Supervised Learning Network プロの討つ手からその
手を討つ確率を決める。Pσ(a|s)sという状態でaを討つ確
率。
• Pρ 強化学習ネットワーク。Pρ(学習済み)に初期化。
• Vθ(s’) 局面の状態 S’ を見たときに、勝敗の確率を予測
する関数。つまり、勝つか、負けるかを返します。
Mastering the game of Go with deep neural networks and tree search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
https://deepmind.com/research/alphago/
Mastering the game of Go with deep neural networks and tree search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
https://deepmind.com/research/alphago/
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されてい
るか
• 第三章 人工知能の各種事例
• 第四章 人工知能の発展の方向
• 第五章 ゲームAIと人工生命
• 第六章 人工知能と創造性
第五章 ゲームAIと人工生命
プロシージャル技術
ゲームAI技術
AI技術
プロシージャル
技術
コンテンツ自動生成技術
(PCG, Procedural Contents Generation )
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
現代のメタAI
より積極的にゲームに干渉する。
メタAI
敵配位 敵スパウニング ストーリー
レベル
動的生成
ユーザー
プロシージャル
技術
Procedural Generation in WarFrame
• Warframe ではダンジョンが自動生成される。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
Black Combination in WarFrame
• ブロックを組み合わる
• 完全に零からの生成
ではない。
このような生成のことを
Semi-procedural と言う。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
WarFrame における自動生成マップの
自動解析による自動骨格抽出
• 自動生成するだけでなく、自動生成したダンジョンを、自動解
析します。ここでは、トポロジー(形状)検出を行います。
WarFrame における自動生成マップの
自動解析によるナビゲーションデータ作成
抽出した骨格に沿って
自動的にナビゲーション・データを作成します。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
スタートポイント、出口、目的地の
自動生成
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
ヒートマップ(影響マップ)を用いて
ゲーム中にプレイヤーの周囲を自動解析
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
ヒートマップ(影響マップ)とは、対象(ここではプレイヤー)を中心に、位置に温度(影響度)を
与える方法です。距離に応じて減衰します。また時間が経つと、周囲に熱が拡散します。
ヒートマップ(影響マップ)を用いて
ゲーム中にプレイヤーの周囲を自動解析
「ヒートが増加する=プレイヤーが近づく点」
「ヒートが減少する=プレイヤーが遠ざかる点」
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
アクティブ・エリアセット(Active Are Set)
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
アクティブ・エリアセットは、プレイヤーの周囲の領域で、
リアルタイムにメタAIがゲームを調整する領域
メタAIがアクティブ・エリアセット内で
ゲームを調整する
「ヒートが増加する=プレイヤーが近づく点」なので、モンスターを生成する。
「ヒートが減少する=プレイヤーが遠ざかる点」なので、モンスターを停止する。
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
メタAI (AI Director,)による
動的ペース調整
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
メタAI(自動適応ペーシング)
メタAI (AI Director,)による
動的ペース調整
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
メタAIによる出会うモンスターの数の
大域調整
Daniel Brewer, AI Postmortems: Assassin's Creed III, XCOM: Enemy Unknown, and Warframe (GDC2015)
http://www.gdcvault.com/play/1018223/AI-Postmortems-Assassin-s-Creed
プレイヤーのスタート地点から出口までの道のりで、
コンスタントにモンスターと出会うようにする。
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
ナビゲーションAI
ネットワーク上のグラフ検索法
ダイクストラ法
M
F
L
B
A
S
O
P
D
C
G
S
V
H
Q
X
K
N
J
R
T
W
E
I
U
Z
Y
G
54
6 3
7 23
B C
3
G
D E
3
2 24
L
3
3
5
5
J
F
出発点(S)を中心に、最も短い経路
を形成して行く。Gにたどり着いたら終。
各ノードの評価距離=出発点からの経路
ネットワーク上のグラフ検索法
A*法
M
F
L
B
A
S
O
P
D
C
G
S
V
H
Q
X
K
N
J
R
T
W
E
I
U
Z
Y
G
54
6 3
7 23
B C
3
3
2 24 3
5
5
出発点(S)を中心に、
そのノードまでの
最も短い経路を
形成して行く。
Gにたどり着いたら終了。
ゴール地点がわかっている場合、現在のノードとゴール
との推定距離(ヒューリスティック距離)を想定して、
トータル距離を取り、それが最少のノードを探索して行く
各ノードの評価距離=出発点からの経路+ヒューリスティック距離
ヒューリスティック距離
(普通ユークリッド距離を取る)
3+14.2 3+13.8
G H
3
5+10.5 6+8.4
パス検索とは
現在の地点から指定したポイントへの経路を、
リアルタイムで計算して導く技術。
RTS - Pathfinding A*
https://www.youtube.com/watch?v=95aHGzzNCY8
Counter Strike: Path Following (デモ)
The Official Counter-Strike Bot
http://aigamedev.com/insider/presentation/official-counter-strike-bot/
3次元パス検索
ARMORED CORE V のパス検索(CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
株式会社フロム・ソフトウェア技術部
岡村信幸
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
3次元パス検索
岡村信幸「ARMORED CORE V のパス検索(CEDEC 2011)」
https://cedil.cesa.or.jp/cedil_sessions/view/593
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
エージェントに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
現代ゲームAIの仕組み
http://dear-croa.d.dooo.jp/download/illust.html
http://www.anne-box.com/
キャラクターAI
キャラクターAI:意思決定
知能とは何か?
環境
人工知能とは?
身体
人工知能=人工的な存在(=身体)を環境の中で活動させる
入力(センサー) 行動(アウトプット)
知能
知能の内部世界
環境世界
エフェクター・
身体
センサー・
身体
思考
環境世界
エフェクター・
身体
センサー・
身体
記憶
思考
環境世界
エフェクター・
身体
センサー・
身体
記憶
環境世界
認識の
形成
記憶
センサー・
身体
記憶体
情報処理過程
情報
統合
記憶
環境世界
認識の
形成
記憶
意思の
決定
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程
情報
統合
記憶
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程 運動創出過程
身体部分
情報
統合
運動
統合
記憶
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
対象・
現象
情報の流れ(インフォメーション・フロー)
影響を与える影響を受ける
記憶
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
学習
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
キャラクターにおける学習の原理
行動の表現結果の表現 意思決定
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
キャラクターにおける学習の原理
行動の表現結果の表現 意思決定
行動とその結果から、意思決定を変化させる = 学習
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1
1
氷魔法ダメージ: 0
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1
1
氷魔法
闇魔法
ダメージ: 0
ダメージ: 8
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1
1
氷魔法
炎魔法
闇魔法
ダメージ: 0
ダメージ: 8
ダメージ: 72
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1
1
氷魔法
炎魔法
闇魔法
ダメージ: 0
ダメージ: 8
ダメージ: 72 学習フェーズ
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 0
ダメージ: 8
ダメージ: 72
(例) 氷魔法 1+0/ (72+8) = 10/10
炎魔法 1+ 72/(72+8) = 19/10
闇魔法 1+ 8/ (72+8) = 11/10
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 0
ダメージ: 0
ダメージ: 0
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 0
ダメージ: 0
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 0
ダメージ: 28
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 0
ダメージ: 49
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 42
ダメージ: 49
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 60
ダメージ: 49
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 60
ダメージ: 49
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1
1.9
1.1
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 60
ダメージ: 60
学習フェーズ
キャラクターにおける学習の原理
行動の表現
結果の表現 意思決定 行動の表現
氷魔法
炎魔法
闇魔法
1.4
2.2
1.4
氷魔法
炎魔法
闇魔法
ダメージ: 80
ダメージ: 60
ダメージ: 60
(例) 氷魔法 1+ 80/ (80+60+60) = 1.4
炎魔法 1.9 + 60/ (80+60+60) /3 = 2.2
闇魔法 1.1 + 60/ (80+60+60) /2 = 1.4
キャラクターにおける学習の原理
結果の表現 意思決定 行動の表現
実際は、たくさんの学習アルゴリズムがある。
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
身体的・感覚的レイヤー (脳の基底部分)
理知的・シンボルのレイヤー (大脳皮質)
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
身体的・感覚的レイヤー (脳の基底部分)
理知的・シンボルのレイヤー (大脳皮質)学習
学習
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
身体的・感覚的レイヤー (脳の基底部分)
理知的・シンボルのレイヤー (大脳皮質)学習
学習
学習には2種類ある。
「身体的・感覚的レイヤー (脳の基底部分)における学習」と
「理知的・シンボルのレイヤー (大脳皮質) における学習」。
学習アルゴリズム
• ベイジアンネットワーク
• サポート・ベクター・マシン
• 強化学習
• 決定木学習
• 自己組織化
• ニューラルネットワーク
• 遺伝的アルゴリズム
• 遺伝的プログラミング
自然界
人間の細胞
人間の知能
学習・進化アルゴリズム
• ベイジアンネットワーク
• サポート・ベクター・マシン
• 強化学習
• 決定木学習
• 自己組織化
• ニューラルネットワーク
• 遺伝的アルゴリズム
• 遺伝的プログラミング
自然界
人間の細胞
人間の知能
学習アルゴリズム
進化アルゴリズム
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
身体的・感覚的レイヤー (脳の基底部分)
理知的・シンボルのレイヤー (大脳皮質)
ベイジアンネットワーク
サポート・ベクター・マシン
強化学習
決定木学習
自己組織化
ニューラルネットワーク
遺伝的アルゴリズム
遺伝的プログラミング
学習アルゴリズム
進化アルゴリズム
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
身体的・感覚的レイヤー (脳の基底部分)
理知的・シンボルのレイヤー (大脳皮質)
ベイジアンネットワーク
サポート・ベクター・マシン
強化学習
決定木学習
自己組織化
ニューラルネットワーク
遺伝的アルゴリズム
遺伝的プログラミング
学習・進化アルゴリズム
• ベイジアンネットワーク
• サポート・ベクター・マシン
• 強化学習
• 決定木学習
• 自己組織化
• ニューラルネットワーク
• 遺伝的アルゴリズム
• 遺伝的プログラミング
自然界
人間の細胞
人間の知能
学習アルゴリズム
(個々のエージェントに対して)
進化アルゴリズム
(エージェントの集団に対して)
学習・進化アルゴリズム
• 「学習=学習アルゴリズム」ではない。
• 「進化=進化アルゴリズム」ではない。
学習
学習
アルゴリズム
進化
進化
アルゴリズム
学習アルゴリズムは純粋なダイナミクスを用いたアルゴリズム。
極めて適用範囲(=ストライクゾーン)の狭い方法。
プロシージャル的アプローチ
データドリブン的アプローチ
記憶やルールを蓄積する。
持っている能力を解放する。
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
エージェント・アーキテクチャ
学習をアルゴリズムとしてだけ考えるのではなく、
エージェント・アーキテクチャ上のダイナミクスの1つとして考えよ。
エージェントの学習・進化
データドリブン
プロシージャル
学習
アルゴリズム
進化
アルゴリズム
データドリブン的
アプローチ
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
リンゴ
パイナップル
いちじく
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
リンゴ
パイナップル
いちじく
マンゴー
梨
枇杷
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
リンゴ
パイナップル
いちじく
マンゴー
梨
枇杷
スイカ
メロン
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
ヒール
ザンダー
ファイア
ケアリー
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
ヒール
ヒールガ
ザンダー
ザダンガ
ファイア
ファイアガ
ケアリー
ケアリーラ
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
IF (モンスター) THEN 逃げる
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
IF (赤いモンスター) THEN 逃げる
IF (青いモンスター) THEN 隠れる
IF(緑のモンスター) THEN 戦う
エージェントの学習・進化
データドリブン
プロシージャル
学習
アルゴリズム
進化
アルゴリズム
データドリブン的
アプローチ
単純な知識・ルールの蓄積は、
もっとも柔軟なキャラクターの学習足り得る。
エージェントの学習・進化
データドリブン
プロシージャル
学習
アルゴリズ
ム
進化
アルゴリズ
ム
データドリブン的
アプローチ
単純な知識・ルール・ステート・ビヘイビア・タスク・ゴール・評価関数・
シミュレーションの蓄積・改善は、もっとも柔軟なキャラクターの学習足り得る。
学習・進化における
プロシージャル的アプローチ
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
キャラクターにおける学習の原理
行動の表現結果の表現 意思決定
キャラクターにおける様々な学習
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
キャラクターにおける様々な学習
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
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
ニューラルネットワークの応用
出力
入力
(DPS=Damage per second)
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)
Belief – Desire – Intention モデル
Desire
(Perceptrons)
Opinions
(Decision Trees)
Beliefs
(Attribute List)
戦いたい?
+0.9 -0.2
味方敵
+0.4 +0.1 -0.3
小さい 大きい中
ニューラルネットワークの応用
Black & White (Lionhead,2000)
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
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
何に対して何を行うか決定
特定の行動を決定
詳細な行動
「何に対して何をするか」悩んでいる。
ニューラルネットワークの応用
Black & White (Lionhead,2000)
Richard Evans, “Varieties of Learning”, 11.2, AI Programming Wisdom
キャラクターにおける様々な学習
(1) ニューラルネットワークの応用
(2) 機械学習の応用
(3) 強化学習の応用
機械学習
(例)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 におけるドライビング学習
• 揺らぎ
• ライン – コーナーやそのコンビネーションに対し
て、どれぐらいスムーズに車をガイドするか。
• コーナーへの突入スピードとブレーキを踏むタイ
ミングと。保守的か過激か。
• コーナーの頂点にどれぐらい近づくか、どれぐら
いの速度でそこを抜けるか?
• コーナーを抜ける時のスピードとコーナーを回る
時のスピード。
Drivatar がプレイヤーのコントロールから学習するもの
Microsoft Research
Drivatar™ in Forza Motorsport
http://research.microsoft.com/en-us/projects/drivatar/forza.aspx
機械学習
(例)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
レーシングラインを事前に構築する。生成というよりテーブルから組み合わせる。
機械学習
(例)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 motorsports (EA)
Jeffrey Schlimmer, "Drivatar and Machine Learning Racing Skills in the Forza Series"
http://archives.nucl.ai/recording/drivatar-and-machine-learning-racing-skills-in-the-forza-series/
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
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
μ : 中央値
σ: 標準偏差
その人の強さを表す
その人の強さの正確さを示す。
100回やってこのランクの人と
1000回やってこのランクの人では
1000回の人の方が正確
=標準偏差が小さい
機械学習
(例) Halo®3におけるオンライン・マッチング・システム
• スキル 𝜇 𝐴, 𝜎𝐴 のプレイヤーと、スキル
𝜇 𝐵, 𝜎 𝐵 のプレイヤーが
マッチングする確率は、
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
μ : 中央値
σ: 標準偏差
𝑒
−
(𝜇 𝐴−𝜇 𝐵)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) 強化学習の応用
強化学習とは?
行動選択
=ポリシー
(π)
環境(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 におけるキャラクター学習
実際は、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
キャラクターにおける様々な進化
(1)遺伝的アルゴリズムの応用
生物界の法則
遺伝的アルゴリズム
[原始的な学習原理] ニューラルネットワーク
[高度な学習原理] 認識過程・思考・記憶における学習
ニューラルネットワーク × 遺伝的アルゴリズム
生物の生殖・遺伝原理
生物の学習原理
生物の進化
個体を対象とする
個体集団を対象とする
学習・遺伝・進化
時間
遺伝子が継承して行く身体的な適応 進化
集団遺伝
学習
身体的
特性
身体的
特性
身体的
特性
知能的
特性
知能的
特性
知能的
特性
知識・ミームが継承して行く知能的な適応
身体的・先天的
抽象的・後天的社会
自然
発展
個体の適応
個体の学習
人間の身体・脳と学習
環境
行動
人間の脳(100億のニューロンの結合)は、産まれたときから、
周囲の環境から情報を取得し、行動し、学習する無数のサイクルの中で発展する。
感覚を通じて
世界の状態を取得
情報処理
・学習
身体を通じて
行動
ゲーム世界
NPC
ゲームAI
人間の脳(100億のニューロンの結合)は、産まれたときから、
周囲の環境から情報を取得し、行動し、学習する無数のサイクルの中で発展する。
感覚を通じて
ゲーム世界と自分の状態を取得
身体を通じて
行動
エージェントと学習
NPC
ゲーム世界
感覚を通じて
ゲーム世界と自分の状態を取得
身体を通じて
ゲーム世界と相互にインタラクション
この部分が、情報に洗われる中で、
発展・成長・学習して行く
人工知能を作る二つのアプローチ
コネクショ二ズム(結合主義)シンボリズム(記号主義)
シンボル(数列、文字列)による知識表現
によって人工知能を組み立てる方法
If ( x < 100) Jump else Walk.
Vehicle
Automobile Cycle
Sports Car Bicycle
is-a
is-ais-a
is-a
知能
神経素子(ニューロン)の
結合回路(ニューラルネットワーク)
によって人工知能を組み立てる方法
二つの方法論として、両者は相容れることなく、
徹底的に別の道をたどって人工知能を形造ろうとする
記号主義と結合主義による
エージェント・アーキテクチャーの違いとは?
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
知識表現・世界表現
相互作用
時間
時間
知覚する 行動する
?
記号主義によるエージェント・アーキテクチャー
身体
認識
過程
意思決定
機構
行動生成
過程
記憶
内部状態センサー エフェクター
NPCの知能部分
ゲーム世界
知識表現・世界表現
相互作用
時間
時間
記憶と思考の相互作用
NPCから見た認識
知識モデル化
シンボルによる記述
FSM(有限状態機械)、
ルールベース(If…then)、
プランニング、
(第2~4回のセミナー)
(シンボリズム)
ニューラルネット
結合主義によるエージェント・アーキテク
チャー
身体
センサー
NPCの知能部分
ゲーム世界
相互作用
時間
時間
モーション
身体
制御
数値入力 数値出力
(コネクショ二ズム)
ニューラルネット
結合主義によるエージェント・アーキテク
チャー
身体
センサー
NPCの知能部分
ゲーム世界
相互作用
時間
時間
モーション
身体
制御
数値入力 数値出力
情報の流れ
ウエイト(結合の強さ)
が変わって行く
(コネクショ二ズム)
学習
人工知能を作る二つのアプローチ
コネクショ二ズム(結合主義)シンボリズム(記号主義)
シンボル(数列、文字列)による知識表現
によって人工知能を組み立てる方法
If ( x < 100) Jump else Walk.
Vehicle
Automobile Cycle
Sports Car Bicycle
is-a
is-ais-a
is-a
知能
神経素子(ニューロン)の
結合回路(ニューラルネットワーク)
によって人工知能を組み立てる方法
C4アーキテクチャー ニューラルネット
集合の進化
第2章 遺伝的アルゴリズム
1. 遺伝的アルゴリズムのイメージ
2. 遺伝的アルゴリズムの原理
3. 遺伝的アルゴリズムのゲームへの応用
4. 遺伝的アルゴリズムの展望
1. 遺伝的アルゴリズムのイメージ
遺伝的アルゴリズム
集団を一定の方向に進化させる方法
最初の世代 新世代(100~世代後)
…
世代を経て進化させる
一つの世代が次の世代を交配によって産み出す
遺伝的アルゴリズムの仕組み
遺伝子
遺伝子
次世代
親①
親②
母集団から優秀な親を
2体ピックアップ
遺伝子を掛け合わせる 次世代の子供を産み出す
(selection) (crossover) (production)
現世代
このサイクルをくり返すことで世代を進めて望ましい集団を産み出す
遺伝子
遺伝子
(例)① GA Racer
遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。
最初はここまでしか
たどり着けないけど…
だんだんと遠くまで、
たどりつけるようにする。
Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2
(CD-ROMにソースコードと実行ファイルがあります)
最初の世代 新世代(100~世代後)
(例)②アステロイド
最初、船(△)は隕石(○)に
ぶつかってばかり...
最初の世代
Brian Schwab, “Genetic algorithm”, Chapter.20., AI Game Engine Programming,
Charles River Media (2004) (CD-ROMにソースコードと実行ファイルがあります)
新世代(4世代後)
次第に隕石を避けることが
できるようになる。
(例)③ムーンランディング(月着
陸)
3世代 20世代 35世代
落下法則(物理法則)のもとで降下ポイントから台座に垂直に着陸する操作を見出す
最初は全く見当違い。 だんだんと近付いて来る。
Mat Buckland, Andre Lamothe, “Moon Landings Made Easy ”, chapter.6.,
AI techniques for game programming, Premier Press (2002)
(CD-ROMにソースコードと実行ファイルがあります)
着陸地点
降下開始ポイント 降下開始ポイント 降下開始ポイント
(例)④アストロノーカ
最初はすぐに罠にかかるけど だんだんと罠にかからないようになる
MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998)
http://www.muumuu.com/games/astro/
新世代(5~世代後)最初の世代 野菜
食べたい
第2章 遺伝的アルゴリズム
1. 遺伝的アルゴリズムのイメージ
2. 遺伝的アルゴリズムの原理
3. 遺伝的アルゴリズムのゲームへの応用
4. 遺伝的アルゴリズムの展望
2. 遺伝的アルゴリズムの原理
遺伝的アルゴリズムが使える時
パラメーターのセットによって、NPCを定義する。
遺伝子=パラメーターセット
人工知能 行動
パラメーターセットが身体的特性・知能を特徴付ける
遺伝的アルゴリズムによる個体集団進化のシークエンス
①初期の個体集合を生成
②シミュレーション
④交叉による次世代生成
⑤遺伝子操作(突然変異)
個体集合
②評価
③適応度による選択
(ゲームでない場合は
このプロセスはなく、
いきなり遺伝子の適応度が
評価されることが多い)
以下、それぞれのステップの
技術を詳細に解説します。
以下の解説は、上記の解説に即します。
いろいろ教科書や解説があるけれど、ゲーム開発に関しては
上記の解説が最も優れているし、
ソースコードもあるので利用しやすいと思います。
Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2
(CD-ROMにソースコードと実行ファイルがあります)
①初期の個体集合を生成
なるべく、パラメーターの初期値は、まばらになるようにしよう!
(普通は乱数などを使って分布が均一になるようにする)
数値、或いは、記号を要素とする。
数値表現としては、
各要素を実数で表す「実数表現」と
2進数(1,0)で表す「バイナリー表現」がある。
個体を多数(GAにはある程度の母数が必要)用意し、
各NPCに遺伝子コードを設定し、初期値を設定する。
【遺伝的アルゴリズムの思想】さまざまな遺伝子による
集団の多様性を維持しながら、一つの方向に進化させる。
(解説)「バイナリー表現」と「実数表現」
3.1 56.7 5.4 2.0 23.912.3
実数表現
バイナリー表現
0110101 10100101 010100010 101010 10101010101010
記号表現
C A D F EB
ベクトル表現
…
遺伝子コードには、いろいろな表現がある
(解説)遺伝子型(遺伝子の上の表現の仕
方)
y zx
実数表現 バイナリー表現
実際のパラメータと違う表現でもよい
(例)-6.4 < x,y,z < 6.3
(x + 6.4 ) × 10 = x´
y´ z´x´
2.0 3.4-1.8 0101110 0101010 1100010
パラメーター(実数)を
そのまま使う
2進数に表現しなおす
表現の仕方によって突然変異のさせ方が違って来ます(後述)。
②シミュレーションとNPCの評価
NPCが生きるゲーム世界の中で、実際に一定時間動作させるなど
して、製作者がNPCに望む目標に対する評価値(達成値)をつける。
順位 評価値
1位 86.3
2位 78.4
3位 75.3
..…
…
100位 38.2
ゲーム製作者の意図を反映する評価関数を作る
(例) 強いNPCを作りたければ、評価値=0.7*撃破数+0.3* 残りHP
取り合えず生き延びることできるNPCなら、 評価値=生存時間
ゲーム世界
敵
敵
敵
君はこの世界でどれだけ僕が求めるにふさわしいのだ?
遺伝子を評価するのではなく、その遺伝子を持つ個体が、
世界でどれだけ優秀であるかを測る。
評価値から適応度を計算する
順位 評価値
1位 86.3
2位 78.4
3位 75.3
..…
…
100位 38.2
順位 適応度
1位 9.32
2位 8.83
3位 7.81
..…
…
100位 0.02
評価値から、その個体の環境に対する適応度を計算する。
評価値が大きいほど、適応度は大きくなるようにしておく。
評価値とは、その環境で達成した行為の点数のこと。
適応度とは、環境にどれぐらい対応しているかを表す。
両者の対応関係は、比例関係にあるならどう作ってもよい。
(例) 同じでいいや。 適応度 = 評価値
上位の点数は、差に意味がないから 適応度= log (評価値/100 ) など。
③ 選択
順位 適応度
1位 0.93
2位 0.81
3位 0.79
4位 0.63
5位 0.51
6位 0.44
7位 0.32
8位 0.28
9位 0.10
10位 0.02
適応度比例方式(ルーレット選択)
… 適応度の大きさに比例した確率で生き延びて親になれる。
(無作為にダーツを投げて親を決めるイメージ。
大きな適応度の領域ほどあたりやすい。プログラムでは勿論、乱数を使う)
生き延びて子孫(offspring)を残せる個体を決定する
(解説)スケーリング
順位 適応度
1位 0.93
2位 0.81
3位 0.79
4位 0.63
5位 0.51
6位 0.44
7位 0.32
8位 0.28
9位 0.10
10位 0.02
(問題)適応度比例方式では、あまりに小さい適応度のNPCにチャンスがない。
適応度の分布を少し緩和してからルーレットしよう!
順位 適応度
1位 10
2位 9
3位 8
4位 7
5位 6
6位 5
7位 4
8位 3
9位 2
10位 1
順位スケーリング
いろいろなスケーリング法(1)
(解説)スケーリング
順位 適応度
1位 0.93
2位 0.81
3位 0.79
4位 0.63
5位 0.51
6位 0.44
7位 0.32
8位 0.28
9位 0.10
10位 0.02
(問題)適応度比例方式では、あまりに小さい適応度のNPCにチャンスがない。
適応度の分布を少し緩和してからルーレットしよう!
順位 適応度
1位 1.45
2位 0.43
3位 -0.02
4位 -0.12
5位 -0.34
6位 -0.45
7位 -0.48
8位 -0.54
9位 -0.57
10位 -0.68
シグマスケーリング
いろいろなスケーリング法(2)
新しい適応度=
+1
新しい適応度=(適応度ー適応度の平均値)/ 2σ
(σ:標準偏差、定数)
(解説)スケーリング
順位 適応度
1位 0.93
2位 0.81
3位 0.79
4位 0.63
5位 0.51
6位 0.44
7位 0.32
8位 0.28
9位 0.10
10位 0.02
(問題)適応度比例方式では、あまりに小さい適応度のNPCにチャンスがない。
適応度の分布を少し緩和してからルーレットしよう!
順位 適応度
1位 1.65
2位 0.53
3位 -0.02
4位 -0.12
5位 -0.24
6位 -0.25
7位 -0.38
8位 -0.40
9位 -0.47
10位 -0.49
ボルツマンスケーリング
いろいろなスケーリング法(3)
新しい適応度=exp (適応度/T) / ∑exp(適応度/T)
T = 3 x NPC の数
+1
④交叉による次世代生成
遺伝子
1点交叉
切断点
選んだ2つの親の遺伝子を交叉(crossover)させる。
④交叉による次世代生成
遺伝子
遺伝子
2点交叉
切断点切断点 切断点 切断点 切断点 切断点
4点交叉
基本的に、1点交叉が基本です。
切断点が多いということは「性質が保存されにくく」次世代に分岐の多い進化を促すことです。
より多様なNPCを産み出して、ベストフィットするNPCを探すことを意味します。
1点交叉から始めて結果を見て、適度な交叉を見出すことをお薦めします。
⑤ 遺伝子操作(突然変異)
ある確率(突然変異率)で、遺伝子コード上の遺伝子
(内容)をランダムに対立遺伝子に書き換える。
バイナリー表現
0110101 10100101 010100010 101010 10101010101010
0110101 10110101 010100010 101010 10101010101010
反転
3.1 56.7 5.4 2.0 23.912.3
実数表現
3.1 56.7+0.3 5.4 2.0 23.912.3
+Δ
遺伝子に多様性を与える
D
⑤ 遺伝子操作(突然変異)
ある確率(突然変異率)で、遺伝子コード上の遺伝子
(内容)をランダムに対立遺伝子に書き換える。
記号順列表現(順序に意味がある場合。ルート検索など)
B C D E FA
BC D E FA
交換
置き換え
挿入
遺伝子に多様性を与える
B C D E FA
B C E FA
B C D E FA
A C D E B F
このプロセスを何度もくり返すことでNPCの集合は進化します
①初期の個体集合を生成
②シミュレーション
④交叉による次世代生成
⑤遺伝子操作(突然変異)
個体集合
②評価
③適応度による選択
(ゲームでない場合は
このプロセスはなく、
いきなり遺伝子の適応度が
評価されることが多い)
以下、詳細の説明終了です。
より深い理解のためには、
上記の文書やソースコードを研究してみましょう!
Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2
(CD-ROMにソースコードと実行ファイルがあります)
第2章 遺伝的アルゴリズム
1. 遺伝的アルゴリズムのイメージ
2. 遺伝的アルゴリズムの原理
3. 遺伝的アルゴリズムのゲームへの応用
4. 遺伝的アルゴリズムの展望
3. 遺伝的アルゴリズムのゲームへ応用
デモ解説
デモの組み立て方を見ながら、
ゲームへの応用へのアイデアを考えよう!
(例)① GA Racer
遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。
最初はここまでしか
たどり着けないが…
だんだんと遠くまで、
たどりつけるようにする。
Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2
(CD-ROMにソースコードと実行ファイルがあります)
最初の世代 新世代(100~世代後)
全体の流れ
…
減速(実数値 0~1)
ステアリング(実数値 0~1)
①初期の個体集合を生成
②シミュレーション
④交叉による次世代生成
⑤遺伝子操作(突然変異)
個体集合
②評価
③適応度による選択
どれだけ遠くまで行けたか?
(例)②アステロイド
最初、船(△)は隕石(○)に
ぶつかってばかり...
最初の世代
Brian Schwab, “Genetic algorithm”, Chapter.20., AI Game Engine Programming,
Charles River Media (2004) (CD-ROMにソースコードと実行ファイルがあります)
新世代(4世代後)
次第に隕石を避けることが
できるようになる。
(例)③ムーンランディング(月着
陸)
3世代 20世代 35世代
降下ポイントから台座に垂直に着陸する操作を見出す
最初は全く見当違い。 だんだんと近付いて来る。
Mat Buckland, Andre Lamothe, “Moon Landings Made Easy ”, chapter.6.,
AI techniques for game programming, Premier Press (2002)
(CD-ROMにソースコードと実行ファイルがあります)
全体の流れ
A D A D A D…
①初期の個体集合を生成
②シミュレーション
④交叉による次世代生成
⑤遺伝子操作(突然変異)
個体集合
②評価
③適応度による選択
A アクションタイプ
0 … 右回転
1 … 左回転
2 … 原則
3 … 何もしない
D 時間間隔
どれだけうまく着陸できたか?
(例)④アストロノーカ
最初はすぐに罠にかかるけど だんだんと罠にかからないようになる
MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998)
http://www.muumuu.com/games/astro/
新世代(5~世代後)最初の世代
どういうゲーム?
珍しい野菜を育てる
しかしバブーが野菜を食べに来る
トラップを仕掛けて野菜を守れ!
MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998)
http://www.muumuu.com/games/astro/
高値で取引、そして野菜コンテストで優勝!
森川幸人,
「テレビゲームへの人工知能技術の利用」,
人工知能学会誌vol.14 No.2 1999-3
http://www.1101.com/morikawa/1999-04-10.html
に準拠します。
以下の解説は
全体の流れ
http://www.muumuu.com/CEDEC2003_ants/CEDEC2003_ants.htm
森川幸人, 赤尾容子, 「アリの知恵はゲームを救えるか?」,CEDEC2003
全体の流れ トラップを配置する
1日の始まり
トラップバトル開始
トラップバトル終了
トラップ成績算出
各個体の成績算出
順位を決定
下位2体を削除
適応度に応じて親を選択
子供2体を生成
新しい世代を生成
規定世代に達した?
一日の終了
世代交代数を修正
突然変異率を修正
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)]
4-②シミュレーションとNPCの評価
トラップを奥へと通り抜けることができるほど、
評価点が高くなる。
適応度 =成績+TB時間*0.3+エンジョイ*0.5+トラップ点+安全点+HP*0.5
要した時間 トラップに対する耐性
4-③ 選択
適応度比例方式(ルーレット選択)
… 適応度の大きさに比例した確率で生き延びて親になれる。
生き延びて子孫(offspring)を残せる個体を決定する
4-④交叉による次世代生成
遺伝子
切断点
選んだ2つの親の遺伝子を交叉(crossover)させる。
(詳しい交叉の情報はわかりません)
4-⑤ 遺伝子操作(突然変異)
ある確率(突然変異率)で、遺伝子コード上の遺伝子
(内容)をランダムに対立遺伝子に書き換える。
バイナリー表現
0110101 10100101 010100010 101010 10101010101010
0110101 10110101 010100010 101010 10101010101010
反転
突然変異率 3% に設定
(1)親の遺伝子が似ているほど(ハミング距離が小さい)突然変異しやすい。
(2)突然変異が起こる場所は、トラップの置き方によってある程度限定される。
(解説)ハミング距離とは?
1010100001
1010001010
4箇所違う=距離4
二つの記号列の間の異なる要素の数
距離が小さい = 遺伝子が似ている
距離が大きい = 遺伝子が異なる
ゲームデザインにおける工夫
全体の適応度の平均値
一日の適応度の伸び
世代交代数
工夫その① 遺伝的アルゴリズムは集団に対するアルゴリズム
一体のトラップバトルの裏で他の20体も同じトラップバトルをして、
全体として世代交代をさせている。
工夫その②
遺伝的アルゴリズムは進化のスピードがプレイヤーに体感させるには遅い
プレイヤーには「1世代の変化」と言っているが、
実はだいたい1日5世代分進化させている。
工夫その③
プレイヤーから見て
毎日、同じ適応度の
上昇になるように、
世代交代数を調整している
① ニューラルネットで動く3D-PONGのNPC
② ニューラルネットで移動する「機雷除去戦車」
③ 2D-シューティングゲームへの応用「バイナリーエイリアン」
④ 衝突回避と探索を行う戦車
⑤ ニューラルネットワークの構造が進化させる「NEAT」の技術
⑥ リアルタイム「NEAT」を使ったシミュレーションゲーム「 NERO 」
ニューラルネットワーク
1. ニューラルネットへのガイダンス
2. 階層型ニューラルネット
3. ニューラルネットによるエージェント
http://www.daviddarling.info/encyclopedia/N/neuralnet.html
http://www.sanko-junyaku.co.jp/product/bio/catalog/nhc_animal/rat-neuronal-3striatum.html
ニューラルネットで動くPONGのNPC
Jeff Meyers(University of Michigan-Dearborn), April 1998
…
現在のボールのX座標
現在のボールのY座標
1フレーム前のパドルの位置
(Y座標)
今のフレームで
指定するパドルの位置
(Y座
標)
0.93
0.31
0.43
0.82
0.13
0.03
望まれる出力
(学習信号)
=
現在のボールの
Y座標
望まれる出力と実際の出力の差から、ウエイトを調整して行く。
(誤差伝播法= backward propagation of errors)
学習によって縮まって行く
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
ここの結合の強さ(ウエイト、重み)が変わって行く。
我々の脳が成長するみたいに。
ニューラルネットで動くPONGのNPC
http://www-personal.engin.umd.umich.edu/~watta/MM/pong/pong5.html
Jeff Meyers(University of Michigan-Dearborn), April 1998
ニューラルネットを持つNPCと対戦する。
ニューラルネットと対戦!
(注意)
ボールのスピードを
遅くしておかないと
対戦できない。
このNPCは、PONGに対する知識を持っているだろうか?
IF … then とか、記号で表される形で明示的に持っていない。
PONGに対応した回路という形で持っている。
ニューラルネットを
持つNPC
https://www.youtube.com/watch?v=LD6OgKEj5JE
ガイダンス終了
ニューラルネットを簡単に紹介しました。
2.階層型ニューラルネット
ニューラルネットを理解しよう① 基本思想
コネクショ二ズム(結合主義)
知性とは脳の活動によって産まれるのだ。
知性とは脳は100億以上の
ニューロン(神経素子)の結合である。
だったら、ニューロン(のモデル)を用いた
回路(ニューラルネットワーク)によって
知能を作ることが可能ではないか!
(since 1943)
http://www.sanko-junyaku.co.jp/product/bio/catalog/nhc_animal/rat-neuronal-3striatum.html
ニューラルネットだけで知性の機能を
全て再現してみよう!
神経素子(ニューロン)とは?
入力
入力
入力
出力
入力
この中にはイオン(電解,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
モデル化
数学的モデル
ニューロン
人工ニューロン
入出力関係のグラフ 入出力関係の関数(シグモイド関数)
ニューラルネットワーク
(ニューロンをつなげたもの)
道具はこれで全て。これで何ができるだろう?
ニューラルネットを理解しよう② 基本原理
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層の例だけど、
何層つなげてもよい
一旦定義してから変えることができないもの…全体の構造
変えることができるもの…ウエイト(重み)
ニューラルネットを理解しよう④ 学習
数学的モデル
数値の組み
が入ります
階層型ニューラルネットで学習とは、ある入力に対して特定の出
力(学習信号)になるようにウエイトを変化させることを言います。
学習信号
実際の信号
誤差信号
① 手動で少しずつ勘を頼りに変えて行く。 まず無理
② えらい人が考えた方法を使ってみる。 誤差伝播法
伝播する
誤差信号
伝播する
誤差信号
どうやって?
ニューラルネットを理解しよう④ 学習
数学的モデル
数値の組み
が入ります
教師信号と実際の出力の差を、ウエイトを調整する
ことで、縮めて行く。
学習信号
実際の信号
誤差信号
伝播する
誤差信号
伝播する
誤差信号
ニューラルネットの出力側から、誤差分を、後ろ側に分担して
負担するように、後ろのニューロンへ、そのニューロンが
詰める大きさを含んだ情報を伝播して行く。
誤差伝播法(Back Propagation Method)
ここで、誤差伝播法の技術的解説です。
やや煩雑なので、
まずは、サンプルプログラムなどを動かしてみてから
理解するのがよいと思います。
誤差伝播法を習得しよう①
「入力層3、隠れ層6、出力層2」なら全部で30個のウエイトがある。
各ウエイトを、ほんの少しずつ変化させて行きます(逐次的近似法)。
W+ΔW
これを、同じ教師信号を使って何度もくり返すことで、だんだんと
教師信号に近い出力を出させるようにします。
基本的な考え方
w1+Δw1
w0+Δw0
w2+Δw2
では、一体どれぐらい変えればいいのだろうか?
誤差伝播法を習得しよう②
最速降下法
変数を操作して、出力を目標値に近付ける方法。
w の関数 F(w) を F0 に逐次的に近似するには、
として、
十分に小さい数 αによって、
w を w + Δw としながら近付ける。
Δw = ー α×
w
R


2
0 ))(( FwFR 
誤差伝播法を習得しよう②
ΔW
ΔW
w
① とりあえず少しずつずつ進みましょう。(小さい数αを用意。適当なスケール)
② 傾斜のきついところは最下点より遠いので大胆に進んでしまいましょう。
③ 最下点近くは、傾斜が緩いはずなので、ゆっくり進みましょう。
ΔW = ーα×
w
R


ΔW
Y0
2
0 ))(( YwYR 
最速降下法
誤差伝播法を習得しよう③
ΔW = ーα×
2
0 ))(( YwYR 
最速降下法
w
R


学習信号(T)
実際の信号(Out)
誤差信号(Error)
ΔW = ーα×
w
R


2/))(( 2
TwOutR 
ニューラルネットの場合(出力層につい
て)
W+ΔW
Input
 OutOutInputErrorW  1**
  )1(1**)(  nWOutOutInputErrornW 
教師信号
慣性項
(解の振動を抑える)
ΔW(n)とΔW(n-1)が
異符号なら、振れ幅を
小さくするから。
1step 前の
変化分
誤差伝播法を習得しよう③
ΔW = ーα×
2
0 ))(( YwYR 
最速降下法
w
R


ΔW = ーα×
w
R


2
))(( TwOutR 
ニューラルネットの場合(出力層でない場合)
W+ΔW
Input
  )1()(*1**)(   nWwOutOutInputnW
i
i  教師信号
Output
教師信号
教師信号
教師信号
W0
W1
W2
慣性項
(解の振動を抑える)
1step 前の
変化分
誤差伝播法解説おわり
(ここはニューラルネットで唯一難解な部分です。
幾つかの参考書を読まれることをお勧めします。)
ニューラルネットを理解しよう④ 学習
数学的モデル
数値の組み
が入ります
教師信号と実際の出力の差を、ウエイトを調整する
ことで、縮めて行く。
学習信号
実際の信号
誤差信号
伝播する
誤差信号
伝播する
誤差信号
一つの学習信号に対して、誤差伝播法を何度もくり返して
ウエイトを変化させて収束させ、。学習信号を出力できるようにします。
以上で、ニューラルネットワークの仕組みの
説明はおしまいです。
ここからは具体的な使い方を見てみましょ
う!
① ニューラルネットで動く3D-PONGのNPC
② ニューラルネットで移動する「機雷除去戦車」
③ 2D-シューティングゲームへの応用「バイナリーエイリアン」
④ 衝突回避と探索を行う戦車
⑤ ニューラルネットワークの構造が進化させる「NEAT」の技術
⑥ リアルタイム「NEAT」を使ったシミュレーションゲーム「 NERO 」
ニューラルネットワーク
1. ニューラルネットへのガイダンス
2. 階層型ニューラルネット
3. ニューラルネットによるエージェント
http://www.daviddarling.info/encyclopedia/N/neuralnet.html
http://www.sanko-junyaku.co.jp/product/bio/catalog/nhc_animal/rat-neuronal-3striatum.html
3.ニューラルネットを持つエージェント
(主要参考文献)
Mat Buckland, AI techniques for game programming,
Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
ニューラルネットを持つエージェント
(1)学習させる方法 … 誤差伝播法
(2)進化させる方法 … 遺伝的アルゴリズム
① ニューラルネットで動く3D-PONGのNPC
② ニューラルネットで移動する「機雷除去戦車」
③ 2D-シューティングゲームへの応用「バイナリーエイリアン」
④ 衝突回避と探索を行う戦車
⑤ ニューラルネットワークの構造が進化させる「NEAT」の技術
⑥ リアルタイム「NEAT」を使ったシミュレーションゲーム「 NERO 」
①
②~⑥ NNxGAの手法
①ニューラルネットで動く3D-PONGのNPC
ニューラルネットで
動くNPC
訓練と共に
変化するウエイト
Youichiro Miyake, April 2004, Based on Jeff Meyers(University of Michigan-Dearborn), April 1998
http://www-personal.engin.umd.umich.edu/~watta/MM/pong/pong5.html
ニューラルネットで動く3D-PONGのNPCYouichiro Miyake, April 2004, Based on Jeff Meyers(University of Michigan-Dearborn), April 1998
http://www-personal.engin.umd.umich.edu/~watta/MM/pong/pong5.html
…
現在のボールのX座標
現在のボールのY座標
1フレーム前のパドルの位置
(X座標)
今のフレームで
指定するパドルのX座標)
0.83
0.24
0.23
0.43
0.43
0.73
現在のボールのZ座標
1フレーム前のパドルの位置
(Y座標)
今のフレームで
指定するパドルのY座標)
ボールと自分の位置から、次の瞬間の位置をニューラルネットによって決定する。
一つ前の状態がインプットとしてフィードバックされている。
このようなニューラルネットをリカレントニューラルネットという。
フィードバックの機能を実現。アクション制御に利用できる。
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
ニューラルネットで動く3D-PONGのNPC
最初は何もできないNPCだが、学習によって賢くすることが出来る。
トレーニングモード
Youichiro Miyake, April 2004, Based on Jeff Meyers(University of Michigan-Dearborn), April 1998
ニューラルネットで動く3D-PONGのNPC
望まれる出力(学習信号)と実際の出力の差から、
ウエイトを調整して行く。(誤差伝播法= backward propagation of errors)
…
現在のボールのX座標
現在のボールのY座標
1フレーム前のパドルの位置
(X座標)
0.83
0.24
0.23
0.43
0.43
0.73
現在のボールのZ座標
1フレーム前のパドルの位置
(Y座標)
この両者に対して、誤差伝播法を
多数回、くり返し、NNに学習させる
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
ここのウエイト(結合の強さ)が変わって行く。
我々の脳が成長するみたいに。
ニューラルネットで動く3D-PONGのNPC
ニューラルネットを持つNPCと対戦する。
ニューラルネットと対戦!
このNPCは、PONGに対する知識を持っているだろうか?
IF … then とか、記号で表される形で明示的に持っていない。
PONGに対応した回路という形で持っている。
ニューラルネットを持つエージェント
(1)学習させる方法 … 誤差伝播法
(2)進化させる方法 … 遺伝的アルゴリズム
① ニューラルネットで動く3D-PONGのNPC
② ニューラルネットで移動する「機雷除去戦車」
③ 2D-シューティングゲームへの応用「バイナリーエイリアン」
④ 衝突回避と探索を行う戦車
⑤ ニューラルネットワークの構造が進化させる「NEAT」の技術
⑥ リアルタイム「NEAT」を使ったシミュレーションゲーム「 NERO 」
①
②、③、④~⑥ NNxGAの手法
GA x NN
②ニューラルネットで動く「機雷除去戦車」
Mat Buckland, Chapter 7, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
左のキャタピラの回転数 右のキャタピラの回転数
2つの回転数の関係で動く
ニューラルネットで動く「機雷除去戦車」
…10 neuron
Look-AT
Closest-Mine
2つのベクトルは
規格化しておく
Look-AT
x
y
x
y
Closest-Mine
左の回転数
右の回転数
Mat Buckland, Chapter 7, AI techniques for game programming, Premier Press, 2002
自分の向きと、最近接の機雷から、機体制御に必要な
左右のキャタピラの回転数を決定する。
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
遺伝的アルゴリズムとの併用
重み重み
…
重みの実数を(4x10+10x2個)要素として遺伝子コードを定義する。
全体の仕組み
一定時間シミュレーション
機雷除去の戦績を評価関数として
遺伝的アルゴリズムによって、
遺伝子を掛け合わせる。
次の世代を生成
ゲーム内で活動させて成績を見ることで、だんだんと
優秀な個体だけを残して、新しい個体を生成して行く。
③2D-シューティングゲームへの応用「バイナリーエイリアン」
Mat Buckland, Chapter 10, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
エイリアン一体一体が、
ニューラルネットの思考を持つ。初期のアーケードゲーム
2D-シューティングゲームへの応用「バイナリーエイリア
ン」Mat Buckland, Chapter 10, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
…
15 neuron
弾丸1の
ベクトル
x
y
x
y
右へ移動
左へ移動
弾丸2の
ベクトル
x
y
弾丸3の
ベクトル
上へ移動
0.9 を超える値の中で、
最大のものが選択される。
もし、全て0.9を超えなければ、
「ドリフト」の動きをする。
このゲームでは、スクリーンに
3弾までしか表示されない。
x
y
プレイヤーの
銃の向き
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
2D-シューティングゲームへの応用「バイナリーエイリア
ン」Mat Buckland, Chapter 10, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
…
15 neuron
弾丸1の
ベクトル
x
y
x
y
右へ移動
左へ移動
弾丸2の
ベクトル
x
y
弾丸3の
ベクトル
上へ移動
x
y
プレイヤーの
銃の向き
重み
重み
…
重みの実数を要素として遺伝子コードを定義する。
全体の仕組み
リアルタイムシミュレーション
遺伝的アルゴリズムによって
やっつけられたエイリアンを補充し、
既存のエイリアンに突然変異を施す。
リアルタイム進化
撃墜されたエイリアンの補充は、生き残っているエイリアンの優秀さベスト20%の
母集団からトーナメント方式(n個(ここでは10体)をランダムに選んで、その中から
最も優秀な個体をコピーして新しい個体を生成する)で行う。
エイリアンは200体プールしておく。
この数は、ゲーム中、再生産に
よって常に維持される。
④衝突回避と探索を行う戦車
Mat Buckland, Chapter 8, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
衝突回避のために仮想的な触覚を持つ。
触覚が衝突した場合に、衝突位置を検出する。
0.4
0.7 0.0
0.0
0.0
ニューラルネットで衝突を回避
衝突回避を行う戦車
Mat Buckland, Chapter 8, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
6 neuron
触覚1
重み
重み
…
触覚2
触覚3
触覚4
触覚5
左の回転数
右の回転数
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
全体の仕組み
一定時間シミュレーション
衝突の少なさ指標を評価関数として
遺伝的アルゴリズムによって、
遺伝子を掛け合わせる。
次の世代を生成
ゲーム内で活動させて成績を見ることで、だんだんと
優秀な個体だけを残して、新しい個体を生成して行く。
衝突回避と探索を行う戦車
Mat Buckland, Chapter 8, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
NPCを、なるべく未踏野の領域に行く
ように移動させたい。
探索 各マスに、NPCがいた通算の
時間を規格化(未踏野-1、
通算時間は0~1で規格化)
して記憶する。
触覚は、自分のいるマスの
通算時間を読み取る。
衝突回避と探索を行う戦車
Mat Buckland, Chapter 8, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
6 neuron
触覚1:衝突
左の回転数
右の回転数
触覚1:滞在時間
触覚2:衝突
触覚2:滞在時間
触覚5:衝突
触覚5:滞在時間
衝突情報
…
重み
…
重みの実数を要素として遺伝子コードを定義する。
重み
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
全体の仕組み
一定時間シミュレーション
探索能力を評価関数として
遺伝的アルゴリズムによって、
遺伝子を掛け合わせる。
次の世代を生成
ゲーム内で活動させて成績を見ることで、だんだんと
優秀な個体だけを残して、新しい個体を生成して行く。
⑤ニューラルネットワークの構造が進化させる
「NEAT」の技術
Mat Buckland, Chapter 11, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
これまでニューラルネットは、最初に構造を定義した後は変化しなかった。
動的にニューラルネットの構造を変化させる技術
Neuron Evoluation of Augmenting Topologies (NEAT)
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
子供=新しいニューラルネットワーク
第3世代
第929世代
第1368世代
左は俯瞰図(赤は衝突してしまってい
る)
右は適応度ベスト4のニューラルネット
エージェント・アーキテクチャー
身体
センサー エフェクター
NPCの知能部分
ゲーム世界
相互作用
時間
時間
知覚する 行動する
機体
制御
交配の中で発展して行く
⑥リアルタイム「NEAT」を使ったシミュレーションゲーム
「 NERO 」
Neural Networks Research Group, Department of Computer Sciences, University of Texas at
Austin, Neuro-Evolving Robotic Operatives, http://www.nerogame.org/,
(ゲームがあります)
①rtNEAT(リアルタイムNEAT)システムの上で、ユーザーが兵士を訓練する。
②訓練させた兵士同士を対戦させる。
https://www.youtube.com/watch?v=YA_eHaMEa58
「 NERO 」
敵察知レーダー
左/右
前/後ろ
オブジェクトへ
の距離
ターゲットオン
兵士のニューラルネット
敵LOFセンサー
(射線)
バイアス
射撃
初期状態
「 NERO ver2.0」
敵察知レーダー
左/右
前/後ろ
オブジェクトへ
の距離
ターゲットオン
兵士のニューラルネット
敵LOFセンサー
(射線)
バイアス
射撃
NEAT
によって
発展して行く
全体の仕組み
リアルタイムシミュレーション
兵士が一人死ぬ
適応度の高い2親を選んで
遺伝子を交叉させて、新しい
兵士を作る
ゲーム内で活動させて成績を見ることで、だんだんと
優秀な個体だけを残して、新しい個体を生成して行く。
第九章
モバイルゲームにおける人工知能
AIによるゲームアプリ運用の課題解決へのアプローチ
友部博教、半田豊和(株式会社ディー・エヌ・エー)
https://cedil.cesa.or.jp/cedil_sessions/view/1511
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 人工知能の各種事例
• 第四章 人工知能の発展の方向
• 第五章 ゲームAIと人工生命
• 第六章 環世界と現象学と人工知能
• 第七章 サービスと人工知能
• 第八章 人工知能と哲学第
• 第九章 モバイルゲームにおける人工知能
• 第十章 データ解析・学習によるオンラインゲームのサポート
• 第十一章 人工知能と創造性
第十章
データ解析・学習によるオンラインゲー
ムのサポート
決定木分析:SPSSによるツリー図
こんな形のツリー図が作成されます
細かくて見えにくいので、
一部をクローズアップして見ていこう!
井澤 正志 株式会社gloops(グループス)
データマイニングによって変わった「大熱狂!!プロ野球カード」のKey Performance Indicatorの事例研究
http://cedec.cesa.or.jp/2012/program/BM/C12_P0156.html
決定木分析の結果 ①
継続と離脱で傾向差が最も現れるのは、
ユーザの強化合成の行動回数
ユーザがより強化合成の行動回数を重ねることで
強くなっていくことが実感できたのではないか?
継続ユーザと同じように行動してもらえるように、
ゲーム内でのマネジメントをしていこうよ!!
決定木分析の結果②
強化合成を実施していないユーザを対象とすると、
ユーザの任務進捗が最も継続傾向に関連
任務も仲間作りもステータスポイントの獲得手段
進めないとカード取得してもオーダー配置できない
強化合成1~24回のユーザを対象とすると、
ユーザの仲間人数が最も継続傾向に関連
井澤 正志 株式会社gloops(グループス)
データマイニングによって変わった「大熱狂!!プロ野球カード」のKey Performance Indicatorの事例研究
http://cedec.cesa.or.jp/2012/program/BM/C12_P0156.html
A Brief History of Matchmaking in Heroes of the Storm
Alex Zook, Blizzard Entertainment
https://archives.nucl.ai/recording/a-brief-history-of-matchmaking-in-heroes-of-the-storm/
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント
ゲームAIと学習する人工知能エージェント

More Related Content

What's hot

クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)Youichiro Miyake
 
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)Youichiro Miyake
 
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」Youichiro Miyake
 
「ゲームの未来を語る」
「ゲームの未来を語る」「ゲームの未来を語る」
「ゲームの未来を語る」Youichiro Miyake
 
東京大学 経済学部講義 後半
東京大学 経済学部講義 後半東京大学 経済学部講義 後半
東京大学 経済学部講義 後半Youichiro Miyake
 
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Youichiro Miyake
 
ゲームのための人工知能(下)
ゲームのための人工知能(下)ゲームのための人工知能(下)
ゲームのための人工知能(下)Youichiro Miyake
 
ゲームAI公開セミナー#2「物語生成」
ゲームAI公開セミナー#2「物語生成」ゲームAI公開セミナー#2「物語生成」
ゲームAI公開セミナー#2「物語生成」Youichiro Miyake
 
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」Sho Iwamoto
 
ゲーム AI 公開セミナーオンライン #1
ゲーム AI 公開セミナーオンライン #1ゲーム AI 公開セミナーオンライン #1
ゲーム AI 公開セミナーオンライン #1Youichiro Miyake
 
黒川塾七八(78)講演資料
黒川塾七八(78)講演資料黒川塾七八(78)講演資料
黒川塾七八(78)講演資料Youichiro Miyake
 
CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)Youichiro Miyake
 
謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」Youichiro Miyake
 
デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」Youichiro Miyake
 
デジタルゲームの調整・デバッグ・品質管理 における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理 における人工知能技術の応用Youichiro Miyake
 
MMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインMMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインKatsumi Mizushima
 
デジタルゲームにおける 人工知能のワークフローと導入フロー
デジタルゲームにおける人工知能のワークフローと導入フローデジタルゲームにおける人工知能のワークフローと導入フロー
デジタルゲームにおける 人工知能のワークフローと導入フローYouichiro Miyake
 
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用Youichiro Miyake
 
Power Automate for desktopで最強の防具を手に入れた話
Power Automate for desktopで最強の防具を手に入れた話Power Automate for desktopで最強の防具を手に入れた話
Power Automate for desktopで最強の防具を手に入れた話kinuasa
 

What's hot (20)

物語自動生成
物語自動生成物語自動生成
物語自動生成
 
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)クロムハウンズにおける人工知能開発から見るゲームAIの展望 (CEDEC2006)
クロムハウンズにおける 人工知能開発から見るゲームAIの展望 (CEDEC2006)
 
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
ゲームにおける遺伝的アルゴリズム「NERO における学習と進化 」(前半)
 
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
IGDA日本 GDC2016報告会 「人工知能の行方 -ゲームエンジンとVRの間で-」
 
「ゲームの未来を語る」
「ゲームの未来を語る」「ゲームの未来を語る」
「ゲームの未来を語る」
 
東京大学 経済学部講義 後半
東京大学 経済学部講義 後半東京大学 経済学部講義 後半
東京大学 経済学部講義 後半
 
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
 
ゲームのための人工知能(下)
ゲームのための人工知能(下)ゲームのための人工知能(下)
ゲームのための人工知能(下)
 
ゲームAI公開セミナー#2「物語生成」
ゲームAI公開セミナー#2「物語生成」ゲームAI公開セミナー#2「物語生成」
ゲームAI公開セミナー#2「物語生成」
 
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
ゲームデザインを改善/批評するための時間構造モデル「ワンダールクス」
 
ゲーム AI 公開セミナーオンライン #1
ゲーム AI 公開セミナーオンライン #1ゲーム AI 公開セミナーオンライン #1
ゲーム AI 公開セミナーオンライン #1
 
黒川塾七八(78)講演資料
黒川塾七八(78)講演資料黒川塾七八(78)講演資料
黒川塾七八(78)講演資料
 
CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)
 
謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」謎解き分科会講演 「NOT DIGITAL」
謎解き分科会講演 「NOT DIGITAL」
 
デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」
 
デジタルゲームの調整・デバッグ・品質管理 における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理 における人工知能技術の応用
 
MMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインMMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザイン
 
デジタルゲームにおける 人工知能のワークフローと導入フロー
デジタルゲームにおける人工知能のワークフローと導入フローデジタルゲームにおける人工知能のワークフローと導入フロー
デジタルゲームにおける 人工知能のワークフローと導入フロー
 
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
 
Power Automate for desktopで最強の防具を手に入れた話
Power Automate for desktopで最強の防具を手に入れた話Power Automate for desktopで最強の防具を手に入れた話
Power Automate for desktopで最強の防具を手に入れた話
 

Similar to ゲームAIと学習する人工知能エージェント

人間と人工知能(後篇)
人間と人工知能(後篇)人間と人工知能(後篇)
人間と人工知能(後篇)Youichiro Miyake
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史ide_an
 
開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料IGDA Japan
 
ゲームAI入門(前半)
ゲームAI入門(前半)ゲームAI入門(前半)
ゲームAI入門(前半)Youichiro Miyake
 
人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)Youichiro Miyake
 
実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案IGDA Japan
 
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)KIT Cognitive Interaction Design
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング聡 中川
 
ゲームのための人工知能(上)
ゲームのための人工知能(上)ゲームのための人工知能(上)
ゲームのための人工知能(上)Youichiro Miyake
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたTomohiro Suzuki
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術Youichiro Miyake
 
AI に取り組むべき4つの領域
AI に取り組むべき4つの領域AI に取り組むべき4つの領域
AI に取り組むべき4つの領域Daisuke Masubuchi
 
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来Takaaki Ichijo
 
GDC07 Report
GDC07 ReportGDC07 Report
GDC07 ReportKenji Ono
 
Imagine Cup 2016 作品応募に向けて
Imagine Cup 2016 作品応募に向けてImagine Cup 2016 作品応募に向けて
Imagine Cup 2016 作品応募に向けてAya Tokura
 
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24俊仁 小林
 
ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】
ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】
ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】亘 中谷
 
ゲームの中の人工知能
ゲームの中の人工知能ゲームの中の人工知能
ゲームの中の人工知能Youichiro Miyake
 
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
 

Similar to ゲームAIと学習する人工知能エージェント (20)

人間と人工知能(後篇)
人間と人工知能(後篇)人間と人工知能(後篇)
人間と人工知能(後篇)
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史
 
開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料開催趣旨・00年代イントロ・パネルディスカッション資料
開催趣旨・00年代イントロ・パネルディスカッション資料
 
ゲームAI入門(前半)
ゲームAI入門(前半)ゲームAI入門(前半)
ゲームAI入門(前半)
 
人工知能とゲーム(前篇)
人工知能とゲーム(前篇)人工知能とゲーム(前篇)
人工知能とゲーム(前篇)
 
実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案実体験に基づく、少人数制作によるシューティングゲームの提案
実体験に基づく、少人数制作によるシューティングゲームの提案
 
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
知能が作る社会・社会が作る知能:HAI研究による知能と社会のデザイン(大澤 博隆)
 
GDC2018報告会
GDC2018報告会GDC2018報告会
GDC2018報告会
 
先端技術 競技プログラミング
先端技術 競技プログラミング先端技術 競技プログラミング
先端技術 競技プログラミング
 
ゲームのための人工知能(上)
ゲームのための人工知能(上)ゲームのための人工知能(上)
ゲームのための人工知能(上)
 
Cocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみましたCocos sharpでゲーム開発してみました
Cocos sharpでゲーム開発してみました
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術
 
AI に取り組むべき4つの領域
AI に取り組むべき4つの領域AI に取り組むべき4つの領域
AI に取り組むべき4つの領域
 
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
[Unite 2016 Tokyo]Unityを使った個人ゲーム開発における「収益化」の現状と未来
 
GDC07 Report
GDC07 ReportGDC07 Report
GDC07 Report
 
Imagine Cup 2016 作品応募に向けて
Imagine Cup 2016 作品応募に向けてImagine Cup 2016 作品応募に向けて
Imagine Cup 2016 作品応募に向けて
 
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
変化の時代で勝つためのアジャイルゲーム開発 2012 03-24
 
ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】
ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】
ガリュウケンドー 大決戦プレゼンテーション 【ゲームクリエイター就職大作戦】
 
ゲームの中の人工知能
ゲームの中の人工知能ゲームの中の人工知能
ゲームの中の人工知能
 
IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16) IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
IGDA日本 GDC報告会 ゲームAI分野レポート(2011_4_16)
 

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と学習する人工知能エージェント