ゲームの人工知能の作り方
三宅 陽一郎
三宅陽一郎@miyayou
2017.10.28
@岡山理科大学
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com
人工知能の歴史
1956年 1986年 2016年
人工知能
発祥
日本人工知能学会
発足
現在
経歴
京都大学(数学) 大阪大学(原子核実験物理) 東京大学
(エネルギー工学/人工知能)
高エネルギー加速器研究所(半年ぐらい。修士論文)
http://www.facebook.com/youichiro.miyake
Works (2006-2016)
AI for Game Titles
Books
(雑談)アニメの中の人工知能
[小型]アンドロイド型(人型)~動物型
人間が出来ないことをするAI=人間の側で役に立つAI
アトム
(鉄腕アトム、1952年-)
エイトマン
(エイトマン、1963年)
ドラえもん
(ドラえもん、1973年-)
アナイラザー
(宇宙戦艦ヤマト、1974年-)
ハロ
(ガンダム、1979年)
ゴンスケ
(21エモン、1981年)
ブラックマジック M-66
(M66、1987年)
エイトロン
(DTエイトロン、1998年)
人型!
猫型!
蜘蛛型?!
[大型]アンドロイド型(人型)~動物型
巨大な体で物語の中心になる
鉄人28号
(鉄人28号、1963年-)
ジャイアントロボ
(ジャイアントロボ、1994年-
(実写 1967年))
トランスフォーマー
(トランスフォーマー、1985年-)
タチコマ
(攻殻機動隊、1995年-)
ゾイド
(ゾイド、1999年-)
金属生命体
船全体を統制する自律型AI
autonomous AI
人間をサポートするAI、人間を包むAI
銀河鉄道999機関部
(銀河鉄道999、1978年-)
パトレイバーHOS
(パトレイバー、1988年)
アスラーダ、サイバーシステム
(サイバーフォーミュラ・、1991年)
オモイカネ
(宇宙戦艦ナデシコ、1996年)
キャナル
(ロストユニバース、1998年)
AI ダーナ
(フルメタル・パニック、2002年)
雪風
(戦闘妖精雪風、2002年)
レオパルド コロニーを操作する
(宇宙をかける少女、2009年)
ヴェーダ 人類の運命を操作
(ガンダム00、2007年)
マリ
(星に願いを、2009年)
純粋な意思決定機関AI
マギ・システム
(エヴァンゲリオン、1995年-)
エキスパートシステム
複数のAIによる投票システム
169台のコンピューターを並列化した
東京大学のクラスターマシン
あから2010
(情報処理学会、2010年-)
複数の将棋AIによる投票システム
=合議制AI
女流棋士との対決(2010.10.11) AIの勝利
プロ棋士vsコンピューター - 「あから2010」の威力を目撃してきた
http://journal.mycom.co.jp/articles/2010/10/12/akara/index.html
(雑談)SFの中の人工知能
ファウンデーション・シリーズ &
ロボット・シリーズ
人工知能と社会
ロボット
世代
人口
人工知能
少子高齢化社会
ロボットと人工知能で
少子高齢化社会を支える
参考文献
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
三宅陽一郎 「大規模ゲームにおける人工知能 ─ファイナルファンタジーXV の実例をもとに─」
(17ページ) (人工知能学会誌、2017 2号)
三宅の目標
• キャラクターに意識を持たせたい
= 自意識を持たせたい
= 世界を「経験」させたい。
• ThinkIT https://thinkit.co.jp/author/10026
• AI最前線の現場から【スクウェア・エニックス】
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例
• 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第一章 人工知能とは
自然知能と人工知能
人間
=自然知能
機械
=人工知能
ダートマス会議(1956年)
我々は、1956年の夏の2ヶ月間、10人の人工知能研究者
がニューハンプシャー州ハノーバーのダートマス大学に集
まることを提案する。そこで、学習のあらゆる観点や知能
の他の機能を正確に説明することで機械がそれらをシミュ
レートできるようにするための基本的研究を進める。機械
が言語を使うことができるようにする方法の探究、機械上
での抽象化と概念の形成、今は人間にしか解けない問題
を機械で解くこと、機械が自分自身を改善する方法などの
探究の試みがなされるだろう。我々は、注意深く選ばれた
科学者のグループがひと夏集まれば、それらの問題のうち
いくつかで大きな進展が得られると考えている。
https://ja.wikipedia.org/wiki/%E3%83%80%E3%83%BC%E3%83%88%E3%83%
9E%E3%82%B9%E4%BC%9A%E8%AD%B0
人工知能=人間の知能を機械に写す(移す)。
機械(マシン)
ソフトウェア
知能
身体
機能
知能
http://www.1999.co.jp/blog/1210192
http://ja.wallpapersma.com/wallpaper/_-
%E3%83%AA%E3%82%B9%E3%80%81%E5%A3%81%E7%B4%99%E3%80%81%E3%83%AF%E3%82%A4%E3%83%89%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%81%AE%E3%80%81%E3%
83%9E%E3%83%83%E3%82%AF%E3%80%81%E3%83%9A%E3%83%83.html
人間の精神
意識
前意識
無意識
外部からの
情報
生態学的人工知能
※生態=環境・身体との
結びつきを考える
伝統的な人工知能
身体知
人間の精神、機械の精神
意識
前意識
識
外部からの
情報
意識
前意識
無意識
外部からの
情報
言語・非言語境界面
知覚の境界面
人工知能は、人間の知能を機械に移したもの。
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例
• 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第二章 なぜ、今、人工知能技術が
注目されているのか?
この300年の技術の動向
時間
規模
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
1750 1860 1960 1990 Now…
現代は「知能化」の時代に
入りつつある。
第一次AIブーム 第二次AIブーム 第三次AIブーム
二つの人工知能
IF (s_collison==true)
register_all(s_star);
assign_edge();
assign_vertex();
mix_all();
シンボルによる人工知能
(シンボリズム))
ニューラルネットによる人工知能
(コネクショニズム)
IBM ワトソン
Gooogle検索
など
AlphaGo
など
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.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.nature.com/nature/journal/v518/n7540/full/nature14236.html
ニューラルネットワーク=信号(波形)処理だけで知能を作る。
人工知能がブームになるとき
時間
規模
1960 1990 2000
第一次AIブーム 第二次AIブーム 第三次AIブーム
1970 1980 2010
シンボルによる人工知能は
堅実に進化する
2 第一次AIブーム(1960年代)
もし A ならば B
もし B ならば C
よって、
もし A ならば C
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
推論ベース ニューラルネット
誕生
3 第二次AIブーム(1980年代)
IF (A) then B
IF (C) then D
IF (E) then F
IF (G) then H
IF ( I ) then J
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
ルールベース
新しい学習法=
逆伝搬法
3 第二次AIブーム(1980年代)
0 0 0
【逆伝播法】
ここが1になるように、
結合の強さを、
さかのぼって変えて行く。
4 第三次AIブーム(2010年代)
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
データベース
新しい学習法=
ディープラーニング
データベース
検索エンジン
キーワード 検索結果
検索
人
次の章で
説明
します
インターネットによる
膨大なデータ
4 第三次AIブーム(2010年代)
時間
規模
1960 1990 2000
第一次AIブーム 第二次AIブーム 第三次AIブーム
1970 1980 2010
ルールベース
逆伝播法
データベース
ディープ
ラーニング
推論ベース
ニューラル
ネット誕生
小型・中型
コンピュータの普及
大型コンピュータ
専門家のみのブーム
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例
• 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第三章 ゲームAIと人工生命
FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii
DC (次世代)Hardware 時間軸20051999
ゲームの進化と人工知能
複雑な世界の
複雑なAI
ゲームも世界も、AIの身体と内面もますます複雑になる。
単純な世界の
シンプルなAI
(スペースインベーダー、タイトー、1978年) (アサシンクリード、ゲームロフト、2007年)
(例) スペースインベーダー(1978)
プレイヤーの動きに関係なく、決められた動きをする
(スペースインベーダー、タイトー、1978年)
(例)プリンス・オブ・ペルシャ
「プリンス・オブ・ペルシャ」など、
スプライトアニメーションを用意する必要がある場合、
必然的にこういった制御となる。
(プリンスオブペルシャ、1989年)
原始の海+光+熱+稲妻
https://pro.foto.ne.jp/free/product_dl.php/cPath/21_25_39/products_id/2980
http://28275116.at.webry.info/201005/article_7.html
原始の海で構造化=外と内の形成
外
内
Energy
世界
外と内の交流=散逸構造
INPUT
OUTPUT
世界
情報的・物質的循環
物質
物理的OUTPUT
代謝機能情報INPUT
INFORMATION
OUTPUT
INFORMATION
情報処理=情報代謝
(つまり思考)
生理的代謝機能
物理的INPUT
エージェント・アーキテクチャ
WORLD
INTELLIGENCE
センサー エフェクター
認識
Knowledge
Making
意志決定
Decision
Making
運動
Motion
Making
記憶体 Memory
情報体としての知能のカタチ
エージェント・アーキテクチャ
WORLD
INTELLIGENCE
センサー エフェクター
認識
Knowledge
Making
意志決定
Decision
Making
運動
Motion
Making
記憶体 Memory
情報体としての知能のカタチ
情報の循環=インフォメーション・フロー
エージェント・アーキテクチャ
WORLD
INTELLIGENCE
センサー エフェクター
認識
Knowledge
Making
意志決定
Decision
Making
運動
Motion
Making
記憶体 Memory
情報体としての知能のカタチ
「情報の循環=インフォメーション・フロー」 は物質の循環の情報版。
これによって知性は自己を情報的に自己組織化できる。やはり知性も散逸構造である。
3Dゲームの中のAI
Halo
(HALO、バンジー、2001年) デバッグ画面
The Illusion of Intelligence - Bungie.net Downloads
http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例
• 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第四章
ゲームのための3つの人工知能
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
エージェントに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
現代ゲームAIの仕組み
http://dear-croa.d.dooo.jp/download/illust.html
http://www.anne-box.com/
Intelligence
World
センサー
Information Flow
エフェクター
Agent Architecture
知能の世界
環境世界
認識の
形成
記憶
センサー・
身体
記憶体
情報処理過程
情報
統合
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程
情報
統合
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程 運動創出過程
身体部分
情報
統合
運動
統合
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
対象・
現象
情報の流れ(インフォメーション・フロー)
影響を与える影響を受ける
遅延反応系
INPUT OUTPUT
時間
情報抽象度
反射的に行動
少し場合ごとに対応
抽象的に思考
理論的に考える
言語化のプロセス
反応を遅延させるところに、知性の生じるチャンスがある。
サブサンプション・アーキテクチャ(ロドニー・ブルックス)
INPUT OUTPUT
時間
情報抽象度
反射的に行動
少し場合ごとに対応
抽象的に思考
理論的に考える
言語化のプロセス
= 自意識の構築化
Subsumpution Architecture
運動の実現のプロセス
= 身体運動の生成
ルンバ (iRobot社)
http://chihoko777.exblog.jp/12567471/
強化学習(例)
強化学習
(例)格闘ゲーム
キック
パン
チ
波動
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/
F.E.A.R.のプランニング
シンボルによる連鎖プランニング
ターゲットAが
死んでいる
ターゲットAが
死んでいる
攻撃
武器が装填
されている
武器が装填
されている
装填する
武器を
持っている
武器を
持っている
武器を拾う
条件なし
プラナー
プランニング
Jeff Orkins, Three States and a Plan: The AI of FEAR
http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf
計画を立てるAI/計画を変更するAI
Jeff Orkins, Three States and a Plan: The AI of FEAR
http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf
CORE Layer は、Physical Laryer 、Mission Layer のうちで、
どの認識を生成するかを決定するコマンドを投げる。
CERA-CRANIUM認識モデル
Arrabales, R. Ledezma, A. and Sanchis, A. "Towards the Generation of Visual Qualia
in Artificial Cognitive Architectures". (2010)
http://www.conscious-robots.com/raul/papers/Arrabales_BICS2010.pdf
CERA-CRANIUM認識モデル
http://aigamedev.com/open/article/conscious-bot/
2K Bot Prize
FPSを用いたチューリングテスト
http://www.conscious-robots.com/en/conscious-machines/conscious-robots/conscious-robots-team-wins-the-2k-botprize-2010-competi.html
http://aigamedev.com/open/article/conscious-bot/Movie:
2K Bot Prize
FPSを用いたチューリングテスト
http://aigamedev.com/open/article/conscious-bot/Movie:
AI と人間のプレイヤーが混在しながら戦う。
人間と一番間違われたAIが優勝。
http://www.botprize.org/2010.html
http://www.botprize.org/2010.html
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
エージェントに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
現代ゲームAIの仕組み
http://dear-croa.d.dooo.jp/download/illust.html
http://www.anne-box.com/
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
ネットワーク上のグラフ検索法
ダイクストラ法
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にたどり着いたら終。
各ノードの評価距離=出発点からの経路
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
ネットワーク上のグラフ検索法
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/
Dragon Age
Dragon Age pathfinding program put to the test
https://www.youtube.com/watch?v=l7YQ5_Nbifo
3次元パス検索
ARMORED CORE V のパス検索
岡村信幸
http://cedil.cesa.or.jp/cedil_sessions/view/593
http://cedil.cesa.or.jp/cedil_sessions/view/591
http://www.4gamer.net/games/100/G010022/20110906085/
https://game.watch.impress.co.jp/docs/news/475938.html
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
エージェントに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
現代ゲームAIの仕組み
http://dear-croa.d.dooo.jp/download/illust.html
http://www.anne-box.com/
メタAIの歴史
1980 1990
メタAIというのは、ゲームそのものに埋め込まれたAI。
1980 1990 2000
古典的メタAI
現代のメタAI
キャラクターAI技術の発展
メタAIの歴史
1980 1990 2000
古典的メタAI
現代のメタAI
キャラクターAI技術の発展
その歴史は古く、1980年代にまでさかのぼる。
その時代と現代のメタAIは、異なる点も多いので、
古典的メタAI、現代のメタAIと名づけて区別することにしよう。
(例)「ゼビウス」(ナムコ、1983)
敵出現テーブル巻き戻し
敵0
敵1
敵2
敵3
敵4
敵5
『あと面白い機能なんですけれど、 ゼビウスには非常に簡単なAIが組み込まれています。
「プレイヤーがどれくらいの腕か」というのを判断して、 出てくる敵が強くなるんです。
強いと思った相手には強い敵が出てきて、 弱いと思った相手には弱い敵が出てきます。 そういっ
たプログラムが組み込まれています。 ゲームの難易度というのは「初心者には難しくて、上級者
には簡単だ」ということが、 ひとつの難易度で(調整を)やっていくと起きてしまうので、 その辺を何
とか改善したいな、ということでそういったことを始めてみたのですけれど、 お陰で割合にあまり上
手くない人でも比較的長くプレイできる、 うまい人でも最後のほうに行くまで結構ドラマチックに楽
しめる、 そういった感じになっています。』
- 遠藤雅伸(出演)、1987、「糸井重里の電視遊戯大展覧会」『遠藤雅伸ゼビウスセミナー』フジテレビ -
現代のメタAI
より積極的にゲームに干渉する。
メタAI
敵配位 敵スパウニング ストーリー
レベル
動的生成
ユーザー
メタAI Left 4 Dead の事例
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and
Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
今回は Left 4 Dead の事例を見てみる。
適応型動的ペーシング
[基本的発想]
(1) ユーザーがリラックスしている時に、ユーザーの
緊張度が一定の敷居を超えるまで敵をぶつけ
続ける。
(2) ユーザーの緊張度が一定の緊張度を超えると
敵を引き上げる。
(3) リラックスすると敵を出現し始める((1)へ)。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and
Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAI(=AI Director)によるユーザーのリラックス度に応じた敵出現度
ユーザーの緊張度
実際の敵出現数
計算によって
求められた
理想的な敵出現数
Build Up …プレイヤーの緊張度が目標値を超えるまで
敵を出現させ続ける。
Sustain Peak … 緊張度のピークを3-5秒維持するために、
敵の数を維持する。
Peak Fade … 敵の数を最小限へ減少していく。
Relax … プレイヤーたちが安全な領域へ行くまで、30-45秒間、
敵の出現を最小限に維持する。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
より具体的なアルゴリズム
メタAIがゲームを認識する方法
キャラクター用に作成された
ナビゲーションメッシュを
メタAIがゲームの
状況を認識するために使用する。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAIが作用を行う領域
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAIが作用(敵の生成・
消滅)を行う領域を、
AAS(= Active Area Set) と
言う。
メタAIが作用を行う領域
(AAS=Active Area Set)
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
メタAIが作用を行う領域
(AAS=Active Area Set)
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
安全な領域までの道のり(Flow Distance)
メタAIはプレイヤー群の経路を
トレースし予測する。
- どこへ来るか
- どこが背面になるか
- どこに向かうか
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
プレイヤーからの可視領域
可視領域(プレイヤーから見えている
部屋)では、敵のスパウニング(発生)
はできない。
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
敵出現領域
背後 前方
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
前方と背後のプレイヤー群から見えてない部屋に、
モンスターを発生させる。
まとめ
メタAIは、ゲームの流れを動的に作るAIで、キャラクターAI、イベントなどに
は命令だけを出す。これは明確に、メタAIと他のモジュールが独立した関
係にあるから可能なこと。
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例
• 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第五章 事例
メタAI
• 仲間同士で協調して動作させたい
仲間全体を統括管理するAI(メタAI)からの指示で
行動を切り替える
メタAI
戦闘中メタAIが仲間に与える指示としては、
• プレイヤーや仲間のピンチを助けよ
• プレイヤーが敵に拘束されているから助けよ
• プレイヤーが逃げているから追従せよ
• 作戦が発動したのでそれに合わせた行動をせよ
• など。このような指令によって、戦闘を引き締めて、戦
闘全体に緩急を与える。
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程 運動創出過程
身体部分
情報
統合
運動
統合
意思決定モデル
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
意思決定というものは非常に高度で複雑なプロセスです。
でも、ゲームで用いるいくつかの簡易モデルが存在します。
シミュレーションベース AI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。
タスク(仕事)ベース AI
Task-based AI
意思決定
Simulation-based AI
ステート(状態)ベースAI
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なうち、
最も優先度の高いノードを実行する
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを
順番に実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを
ランダムに一つ実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
意思決定モデル
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
意思決定というものは非常に高度で複雑なプロセスです。
でも、ゲームで用いるいくつかの簡易モデルが存在します。
シミュレーションベース AI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。
タスク(仕事)ベース AI
Task-based AI
意思決定
Simulation-based AI
ステート(状態)ベースAI
ステートベース
ステート 自分の行動を記述する。
ステート ステート
遷移条件
世界と自己の変化を記述する。
ステート・マシン
ステート
ステート ステート
ステートマシン(有限状態マシン)
ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。
ループ構造により、フィードバック構造はない。
ステート・マシン
ステートマシン(有限状態マシン)
ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。
ループ構造により、フィードバック構造はない。
待機
攻撃 パトロール
ハイブリッド型ノードフォーマット
ステートマシン
待機 移動
ステートマシン
移動
ビヘイビアツリー
・組み合わせられる
・共有できる
攻撃
たたかう
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
エージェントに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
現代ゲームAIの仕組み
http://dear-croa.d.dooo.jp/download/illust.html
http://www.anne-box.com/
ナビゲーションAI
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
ネットワーク上のグラフ検索法
ダイクストラ法
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/
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例
• 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第六章 意思決定アルゴリズム
意思決定モデル
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
意思決定というものは非常に高度で複雑なプロセスです。
でも、ゲームで用いるいくつかの簡易モデルが存在します。
シミュレーションベース AI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。
タスク(仕事)ベース AI
Task-based AI
意思決定
Simulation-based AI
ステート(状態)ベースAI
一つのゴールはより小さなゴールから組み立てられる
ⓒ2016 SQUARE ENIX CO., LTD. All Rights Reserved.
Goal
Goal Goal Goal
ゴールはより小さなゴールから組み立てられる
ⓒ2016 SQUARE ENIX CO., LTD. All Rights Reserved.
Goal
Goal Goal Goal
Goal
Goal
Goal Goal Goal
意思決定モデル
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
意思決定というものは非常に高度で複雑なプロセスです。
でも、ゲームで用いるいくつかの簡易モデルが存在します。
シミュレーションベース AI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。
タスク(仕事)ベース AI
Task-based AI
意思決定
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
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 3 では、多くのムードや欲求が準備される。
行動 対象
GDC09 資料 http://www.gdcvault.com/play/1452/(307)-Breaking-the-Cookie-Cutter
アフォーダンスとユーティリティ
並木 幸介
[CEDEC]ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振
る舞いをさせる手法 http://cedil.cesa.or.jp/session/detail/697
アフォーダンスとユーティリティ
並木 幸介
[CEDEC]ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振
る舞いをさせる手法 http://cedil.cesa.or.jp/session/detail/697
参考文献
三宅陽一郎
「ディジタルゲームにおける
人工知能技術の応用の現在」
(19ページ)
(人工知能学会誌、2015)
※PDFをダウンロードできます。
http://id.nii.ac.jp/1004/00000517/
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
意思決定モデル
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
意思決定というものは非常に高度で複雑なプロセスです。
でも、ゲームで用いるいくつかの簡易モデルが存在します。
シミュレーションベース AI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
「○○-based AI」とは、○○をAIを構築する基本単位として採用したAIということ。
タスク(仕事)ベース AI
Task-based AI
意思決定
Simulation-based AI
ステート(状態)ベースAI
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例
• 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第七章 街の人工知能の作り方
©2017 SQUARE ENIX CO., LTD. All Rights Reserved.
古典的なスマートオブジェクト
• スマートオブジェクト:
情報を発する
• インタラクションに必要なデー
タを持つ:
– アニメーション
– AI ステートマシン
– サウンド
– など
Hunger: -10
Provides: Food
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第八章 集合の進化
遺伝的アルゴリズムのイメージ
遺伝的アルゴリズム
集団を一定の方向に進化させる方法
最初の世代 新世代(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にソースコードと実行ファイルがあります)
着陸地点
降下開始ポイント 降下開始ポイント 降下開始ポイント
全体の仕組み
一定時間シミュレーション
衝突の少なさ指標を評価関数として
遺伝的アルゴリズムによって、
遺伝子を掛け合わせる。
次の世代を生成
ゲーム内で活動させて成績を見ることで、だんだんと
優秀な個体だけを残して、新しい個体を生成して行く。
ニューラルネットワークの構造が進化させる
「NEAT」の技術
Mat Buckland, Chapter 11, AI techniques for game programming, Premier Press, 2002
(実行ファイルとソースコードがCD-ROMにあります)
これまでニューラルネットは、最初に構造を定義した後は変化しなかった。
動的にニューラルネットの構造を変化させる技術
Neuron Evoluation of Augmenting Topologies (NEAT)
(例)④アストロノーカ
最初はすぐに罠にかかるけど だんだんと罠にかからないようになる
MuuMuu, プレイステーション用ソフト「アストロノーカ」(Enix, 1998)
http://www.muumuu.com/games/astro/
新世代(5~世代後)最初の世代 野菜
食べたい
ニューラルネットワークの応用
Black & White (Lionhead,2000)
クリーチャーを育てていくゲーム。
クリーチャーは自律的に行動するが、
訓練によって学習させることができる。
ⓒ2015 SQUARE ENIX CO., LTD. All Rights Reserved.
http://www.youtube.com/watch?v=2t9ULyYGN-s
http://www.lionhead.com/games/black-white/
Belief – Desire – Intention モデル
ⓒ2015 SQUARE ENIX CO., LTD. All Rights Reserved.
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 モデル
ⓒ2015 SQUARE ENIX CO., LTD. All Rights Reserved.
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
Unhappines
s
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)
目次
• 第一章 人工知能とは?
• 第二章 なぜ今、人工知能技術が注目されているか
• 第三章 ゲームAIと人工生命
• 第四章 ゲームのための3つの人工知能
• 第五章 事例 第六章 意思決定アルゴリズム
• 第七章 街の人工知能の作り方
• 第八章 集合の進化
• 第九章 人工知能と創造性
第九章 人工知能と創造性
プロシージャルとは?
プロシージャル技術
ゲーム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
迷路の自動的な作り方
• 穴掘り法
• 棒倒し法
• 壁伸ばし法
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
高校生向け「ゲームの人工知能の作り方」

高校生向け「ゲームの人工知能の作り方」