ゲームAIの中の数学(上)
三宅 陽一郎
三宅陽一郎@miyayou
2017.4.24
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com
ゲームAIの中の数学(下)は
三宅 陽一郎
三宅陽一郎@miyayou
2017.4.24
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com
https://www.slideshare.net/youichiromiyake/ai-75435715 まで
目次
第一部 ゲームAIと人工生命
第二部 ゲームAIの中の数学
https://www.slideshare.net/youichiromiyake/ai-75435715
第二部 ゲームAIの中の数学 目次
1. 迷路とデータ構造と数学
2. ダンジョン自動生成のアルゴリズム
3. ナビゲーションAIとグラフ上の数学
4. 位置解析システムとフィルタリング
5. 力学系と意識の理論
6. シミュレーションベースと動的計画法
7. 強化学習と格闘ゲーム
8. ユーティリティとキャラクターの生理と心理
9. 知能方程式とゲームAIの本質
10. 統計学習とユーザーの癖の抽出
11. ランクシステムと正規分布
12. 遺伝的アルゴリズムとキャラクターたちの進化
13. ニューラルネットワークとキャラクターの学習
14. ディープラーニングと囲碁AI
15. ニューロエボリューションとバトルロワイヤル
16. 影響マップと勢力図
17. プロシージャル技術とレベル自動生成
18. グラフィクス自動生成とフラクタル
19. 街自動生成とL-ツリー
20. Sporeとプロシージャル技術
21. EVE ONLINE と拡散律速凝集シミュレーション
目次
第一部 ゲームAIと人工生命
第二部 ゲームAIの中の数学
人工知能の歴史
1956年 1986年 2016年
人工知能
発祥
日本人工知能学会
発足
現在
経歴
京都大学(数学) 大阪大学(原子核実験物理) 東京大学
(エネルギー工学/人工知能)
高エネルギー加速器研究所(半年ぐらい。修士論文)
http://www.facebook.com/youichiro.miyake
Works (2006-2016)
AI for Game Titles
Books
「IT、都市、ヘルスケア、あらゆる領域で
人工知能と人間が共創する未来」
• WIRED 「INNOVATION INSIGTS」
http://wired.jp/innovationinsights/post/analytics-cloud/w/cocreation_with_ai
• ThinkIT https://thinkit.co.jp/author/10026
• AI最前線の現場から【スクウェア・エニックス】
人工知能学会 学会誌
ゲームAIと人工生命
FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii
DC (次世代)Hardware 時間軸20051999
ゲームの進化と人工知能
複雑な世界の
複雑なAI
ゲームも世界も、AIの身体と内面もますます複雑になる。
単純な世界の
シンプルなAI
(スペースインベーダー、タイトー、1978年) (アサシンクリード、ゲームロフト、2007年)
(例) スペースインベーダー(1978)
プレイヤーの動きに関係なく、決められた動きをする
(スペースインベーダー、タイトー、1978年)
(例)プリンス・オブ・ペルシャ
「プリンス・オブ・ペルシャ」など、
スプライトアニメーションを用意する必要がある場合、
必然的にこういった制御となる。
(プリンスオブペルシャ、1989年)
原始の海+光+熱+稲妻
http://us.123rf.com/400wm/400/400/anterovium/anterovium1102/anterovium110200037/8952668-light-beams-from-ocean-surface-penetrate-underwater-through-deep-blue-sea.jpg
ユーリーミラーの実験
ガスから生命の構成要素であるアミノ酸を合成した。
ハロルド・ュ―リーの研究室で、スタンレー・ミラーが実験(1953年)
http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Miller-Urey_experiment_JP.png
極性頭部 非極性尾部
水と仲良し 水と溶けあえない
(参考)永田和宏 「生命の内と外」 (「考える人」(Vol.45))
自己組織化
原始の海で構造化=外と内の形成
外
内
Energy
http://28275116.at.webry.info/201005/article_7.html
原始の海で構造化=外と内の形成
外
内
Energy
エントロピーの法則
時間
エネルギー
もしエネルギーが流入しなければ、その系のエントロピー(雑然さ)は増大する。
エントロピーの法則
構造のヒステリシス
Energy
生物=エネルギーが高い状態で
ひっかかっている。
なぜ?
構造のヒステリシス
世界
外と内の交流
エネルギーE をゲット
アクション・老廃物
極めてメカニカルな次元。
世界
外と内の交流=非平衡系
エネルギーE をゲット
アクション・老廃物
極めてメカニカルな次元。
内部構造を持つ。
(そして内部構造が維持される)
世界
外と内の交流=非平衡系
極めてメカニカルな次元。
内部構造を持つ。
INPUT
OUTPUT
代謝機能(内部処理)
散逸構造とは?
http://www.jst.go.jp/pr/announce/20090522/
http://www.applc.keio.ac.jp/~asakura/asakura_j/dissipative.html
散逸構造は非平衡系であり、ゆらぎを成長させ、系の自己組織化を促す。
ベナールセル
https://www.youtube.com/watch?v=UhImCA5DsQ0
世界
外と内の交流=散逸構造
極めてメカニカルな次元。
内部構造を持つ。
INPUT
OUTPUT
代謝機能
テセウスの船(パラドックス)
船の老朽化した部分を、新しい木に入れ替えているうちに、
全部を入れ替えてしまった。
はたしてこの船は元の船と同一のものであろうか?
http://img02.hamazo.tv/usr/j/a/g/jagr/629.jpg
テセウスのパラドックス
物質的構成 = 循環する
物質によらず不変なもの 構造 情報
だから、こう言える。
生物は物質的存在であると同時に、
情報的存在でもあるのだ。
テセウスのパラドックス
物質
情報
情報
物質
生物は、情報的存在であり、同時に物質的な存在である。
物質は情報に存在を与え、情報は物質に構造を与える。
情報と物質
情報
物質
生物は、情報的存在であり、同時に物質的な存在である。
物質は情報に存在を与え、情報は物質に構造を与える。
「情報と物質」から「精神と身体」へ
情報
物質
精神・知性
身体
精神と身体、そして進化
情報
物質
精神・知性
身体
進化
世界
外と内の交流=散逸構造
INPUT
OUTPUT
世界
物質的循環
物質
物理的INPUT
物理的OUTPUT
生理的代謝機能
世界
情報的循環
情報INPUT
INFORMATION
OUTPUT
INFORMATION
情報処理=情報代謝
(つまり思考)
物質的存在としての身体がそうであるように、情報的存在として人間は、
情報を摂取し、記憶し(=情報体としての自分を組み換え)、情報をアウトプット・排泄する。
世界
情報的・物質的循環
物質
物理的OUTPUT
代謝機能情報INPUT
INFORMATION
OUTPUT
INFORMATION
情報処理=情報代謝
(つまり思考)
生理的代謝機能
物理的INPUT
世界
情報的循環
情報INPUT
INFORMATION
=センサー
OUTPUT
INFORMATION
=エフェクター
情報処理=情報代謝
(つまり思考)
=意志決定
物質的存在としての身体がそうであるように、情報的存在として人間は、
情報を摂取し、記憶し(=情報体としての自分を組み換え)、情報をアウトプット・排泄する。
精神と身体、そして進化
情報
物質
精神・知性
身体
人工知能
ハードウェア
精神と身体、そして進化
情報
物質
精神・知性
身体
人工知能
ハードウェア
知能は生き物の情報的側面である。
エージェント・アーキテクチャ
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
情報体としての知能のカタチ
「情報の循環=インフォメーション・フロー」 は物質の循環の情報版。
これによって知性は自己を情報的に自己組織化できる。やはり知性も散逸構造である。
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
エージェントに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
現代ゲームAIの仕組み
http://dear-croa.d.dooo.jp/download/illust.html
http://www.anne-box.com/
3Dゲームの中のAI
Halo
(HALO、バンジー、2001年) デバッグ画面
The Illusion of Intelligence - Bungie.net Downloads
http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
Intelligence
World
センサー
Information Flow
エフェクター
Agent Architecture
知能の世界
環境世界
認識の
形成
記憶
センサー・
身体
記憶体
情報処理過程
情報
統合
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程
情報
統合
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程 運動創出過程
身体部分
情報
統合
運動
統合
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
対象・
現象
情報の流れ(インフォメーション・フロー)
影響を与える影響を受ける
遅延反応系
INPUT OUTPUT
時間
情報抽象度
反射的に行動
少し場合ごとに対応
抽象的に思考
理論的に考える
言語化のプロセス
反応を遅延させるところに、知性の生じるチャンスがある。
サブサンプション・アーキテクチャ(ロドニー・ブルックス)
INPUT OUTPUT
時間
情報抽象度
反射的に行動
少し場合ごとに対応
抽象的に思考
理論的に考える
言語化のプロセス
= 自意識の構築化
Subsumpution Architecture
運動の実現のプロセス
= 身体運動の生成
ルンバ (iRobot社)
http://chihoko777.exblog.jp/12567471/
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
エージェントに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
現代ゲームAIの仕組み
http://dear-croa.d.dooo.jp/download/illust.html
http://www.anne-box.com/
パス検索とは
現在の地点から指定したポイントへの経路を、
リアルタイムで計算して導く技術。
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/
強化学習(例)
強化学習
(例)格闘ゲーム
キック
パン
チ
波動
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/
メタ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
(自動AI配置、自動ミッション生成)
目次
第一部 ゲームAIと人工生命
第二部 ゲームAIの中の数学
第二部 ゲームAIの中の数学 目次
1. 迷路とデータ構造と数学
2. ダンジョン自動生成のアルゴリズム
3. ナビゲーションAIとグラフ上の数学
4. 位置解析システムとフィルタリング
5. 力学系と意識の理論
6. シミュレーションベースと動的計画法
7. 強化学習と格闘ゲーム
8. ユーティリティとキャラクターの生理と心理
9. 知能方程式とゲームAIの本質
10. 統計学習とユーザーの癖の抽出
11. ランクシステムと正規分布
12. 遺伝的アルゴリズムとキャラクターたちの進化
13. ニューラルネットワークとキャラクターの学習
14. ディープラーニングと囲碁AI
15. ニューロエボリューションとバトルロワイヤル
16. 影響マップと勢力図
17. プロシージャル技術とレベル自動生成
18. グラフィクス自動生成とフラクタル
19. 街自動生成とL-ツリー
20. Sporeとプロシージャル技術
21. EVE ONLINE と拡散律速凝集シミュレーション
1. 迷路とデータ構造と数学
迷路を解くAIを使ってゲームを作る (ゲームAI連続セミナー第3回付録I)
https://www.slideshare.net/youichiromiyake/ss-36659319
NPCの自由な移動 ①
Q1: 与えられた迷路を抜けることが出来るAIを考えてみよう!
どのように実装すればよいか?
NPCの自由な移動 ①
A B
C
D
EF
G H
I J
①
② ③
④⑤
⑥
⑦
⑧
A
①
②
③C
D ④
E⑤
⑥
HG
⑦
B
F ⑧
I J
最大3分岐の合流しない迷路は
2分木(binary tree)と等価である
世界表現
A1: 迷路をグラフとて表現する。
このように、ゲーム世界をAIの制御のために表現したものを
世界表現という。
「迷路内の移動=グラフ上の移動」と問題が簡単になる。
グラフ検索のアルゴリズムでAIを動かすことが可能になる。
NPCの自由な移動 ①
A B
C
D
EF
G H
I J
①
② ③
④⑤
⑥
⑦
⑧
A
①
②
③C
D ④
E⑤
⑥
HG
⑦
B
F ⑧
I J
動作例
工程1:企画が迷路を製作する
工程2:プログラマーが世界表現(ここでは2分木)を実装する。
工程3: グラフ検索アルゴリズムを実装する。
ゲーム中:スタート地点からゴール地点までパス検索を実行し、
NPCにパスにパスをたどらせる。
第二部 ゲームAIの中の数学 目次
1. 迷路とデータ構造と数学
2. ダンジョン自動生成のアルゴリズム
3. ナビゲーションAIとグラフ上の数学
4. 位置解析システムとフィルタリング
5. 力学系と意識の理論
6. シミュレーションベースと動的計画法
7. 強化学習と格闘ゲーム
8. ユーティリティとキャラクターの生理と心理
9. 知能方程式とゲームAIの本質
10. 統計学習とユーザーの癖の抽出
11. ランクシステムと正規分布
12. 遺伝的アルゴリズムとキャラクターたちの進化
13. ニューラルネットワークとキャラクターの学習
14. ディープラーニングと囲碁AI
15. ニューロエボリューションとバトルロワイヤル
16. 影響マップと勢力図
17. プロシージャル技術とレベル自動生成
18. グラフィクス自動生成とフラクタル
19. 街自動生成とL-ツリー
20. Sporeとプロシージャル技術
21. EVE ONLINE と拡散律速凝集シミュレーション
2. ダンジョン自動生成のアルゴリズム
Rogue Clone
ローグライクゲーム
プロシージャルの歴史: ダンジョン自動
生成
1980
Rogue
不思議のダンジョン
1993~
ブルードラゴン
Hellgate:London
2006
CODED ARMS
2005
ティル・ナ・ノーグ
1987~
Diablo
1996 2007
1980
FF11
2007
マビノギ
TOEO
2004
2006
MMOにおける応用
NetHack
1987
システムソフト
Blizzard
チュンソフト
KONAMI
Microsoft
flagshipstudio
namco
Square Enix
nexon
自動生成ダンジョンの面白さ
固定したダンジョン
特徴
企画(米ではレベルデザイナー)
による入念な設計と仕掛け
何度プレイしても同じ
自動生成ダンジョン
特徴
入るたびに変わるダンジョン
生成されるダンジョンのクオリティー
覚えゲーにならないですむ
ダンジョン生成法
Rogue Clone
ローグライクゲーム
Rogue NetHack
棒倒し法
穴掘り法
壁延ばし法
Ishida So, 「迷路のプログラム」, 2005
迷路自動生成法
その他、いろいろな方がいろいろなところで独自のアルゴリズムを開発
ismaze5 iMaze5
デモ
自動迷路生成
iMaze5
Ishida So, 「迷路のプログラム」, 2005
第二部 ゲームAIの中の数学 目次
1. 迷路とデータ構造と数学
2. ダンジョン自動生成のアルゴリズム
3. ナビゲーションAIとグラフ上の数学
4. 位置解析システムとフィルタリング
5. 力学系と意識の理論
6. シミュレーションベースと動的計画法
7. 強化学習と格闘ゲーム
8. ユーティリティとキャラクターの生理と心理
9. 知能方程式とゲームAIの本質
10. 統計学習とユーザーの癖の抽出
11. ランクシステムと正規分布
12. 遺伝的アルゴリズムとキャラクターたちの進化
13. ニューラルネットワークとキャラクターの学習
14. ディープラーニングと囲碁AI
15. ニューロエボリューションとバトルロワイヤル
16. 影響マップと勢力図
17. プロシージャル技術とレベル自動生成
18. グラフィクス自動生成とフラクタル
19. 街自動生成とL-ツリー
20. Sporeとプロシージャル技術
21. EVE ONLINE と拡散律速凝集シミュレーション
3. ナビゲーションAIとグラフ上の数学
ナビゲーション・データ
フリー素材屋Hoshino http://www.s-hoshino.com/
ナビゲーション・データ
ウェイポイント・グラフ
(点を要素とするネットワークグラフ)
ナビゲーションメッシュ・
グラフ
(三角形(凸角形)を要素とする
ネットワークグラフ)
歩くこと
ができる。
フリー素材屋Hoshino http://www.s-hoshino.com/
パス検索
=ゲーム内で任意の2点間の経路をゲーム進行中に計算する技術
RTS – Pathfinding A*
https://www.youtube.com/watch?v=95aHGzzNCY8
ネットワーク上のグラフ検索法
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にたどり着いたら終了。
各ノードの評価距離=出発点からの経路
ダイクストラ法
ネットワーク上のグラフ検索法
ダイクストラ法
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
ネットワーク上のグラフ検索法
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
Counter Strike (2000)におけるナビメッシュ
The Official Counter-Strike Bot
http://aigamedev.com/insider/presentation/official-counter-strike-bot/
Counter Strike (2000)におけるナビメッシュ
The Official Counter-Strike Bot
http://aigamedev.com/insider/presentation/official-counter-strike-bot/
Counter Strike: Path Following (デモ)
The Official Counter-Strike Bot
http://aigamedev.com/insider/presentation/official-counter-strike-bot/
http://www.youtube.com/watch?v=DlkMs4ZHHr8
Dragon Age : Way Point
Dragon Age pathfinding program put to the test
https://www.youtube.com/watch?v=l7YQ5_Nbifo
第二部 ゲームAIの中の数学 目次
1. 迷路とデータ構造と数学
2. ダンジョン自動生成のアルゴリズム
3. ナビゲーションAIとグラフ上の数学
4. 位置解析システムとフィルタリング
5. 力学系と意識の理論
6. シミュレーションベースと動的計画法
7. 強化学習と格闘ゲーム
8. ユーティリティとキャラクターの生理と心理
9. 知能方程式とゲームAIの本質
10. 統計学習とユーザーの癖の抽出
11. ランクシステムと正規分布
12. 遺伝的アルゴリズムとキャラクターたちの進化
13. ニューラルネットワークとキャラクターの学習
14. ディープラーニングと囲碁AI
15. ニューロエボリューションとバトルロワイヤル
16. 影響マップと勢力図
17. プロシージャル技術とレベル自動生成
18. グラフィクス自動生成とフラクタル
19. 街自動生成とL-ツリー
20. Sporeとプロシージャル技術
21. EVE ONLINE と拡散律速凝集シミュレーション
4.位置解析システムとフィルタリング
TPS (Tactical Point System)
• 戦術位置検索システム
• 目的に応じたポイントをその場で探し出す。
• CryEngine で発想され、2011年ぐらいから実
装されている。
• Unreal Engine 4では、EQS(Environment
Query System)で同じ機能がある。
• UE4上で、BehaviorTree や、BluePrintから呼び
出して使える。
沼
高台
湖
野原
敵
味方
AI(現在位置)
このような状況でAIは次にどこに行くべきか?
を自分で考えさせたい。
沼
高台
湖
野原
敵
味方
AI(現在位置)
動的にポイントを生成します
生成フェーズ
沼
高台
湖
野原
敵
味方
AI(現在位置)
フィルター1:そもそも足場の悪い点を除外します。
フィルタリング
フェーズ
沼
高台
湖
野原
敵
味方
AI(現在位置)
フィルター2:敵に近くのポイントも除外します
フィルタリング
フェーズ
沼
高台
湖
野原
敵
味方
AI(現在位置)
フィルター3:味方に近くのポイントも除外します
フィルタリング
フェーズ
沼
高台
湖
野原
敵
味方
AI(現在位置)
フィルター4:残ったポイントの中で一番高い場所を選択します。
評価
フェーズ
TPS (Tactical Point System)
ゲーム中(ランタイム)に、グリッドか円形にポイントを生成。
条件を設定して要らないポイントをふるい落とす
条件を設定して要らないポイントをふるい落とす
残ったポイントを評価する
一点だけが残る
(例)クエリー(Query)システム
=問い合わせシステム
敵
目的
地
味
方 味
方
味
方
Query(最短パス)
Query(安全パス)
Query(味方合流パス)
Query(武器の届く、高台ポイント)
ポイントを動的に配置して評価する
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
ポイントを動的に配置して評価する
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
ポイントを動的に配置して評価する
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
ポイントを動的に配置して評価する
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
ゴールデンパスとは、現在のプレイヤーの位置から、
プレイヤーが向かうであろう目的地へ、パス検索したパスのこと
を言う。つまり、ユーザーの予測経路である。
ゴールデンパス
Matthew Jack, Mika Vehkala
Spaces in the Sandbox: Tactical Awareness in Open World Games (GDC2013)
http://www.gdcvault.com/play/1018038/Spaces-in-the-Sandbox-Tactical
ゴールデンパスとTPS
ゴールデンパスに沿って TPS を働かす。
つまり、ゴールデンパスに沿ってポイントを生成して、
選別する。
EQS (E)
EQS (Environment Query System) in UE4
EQS (Environment Query System)
in UE4
EQS (Environment Query System)
in UE4
https://docs.unrealengine.com/latest/JPN/Engine/AI/EnvironmentQuerySystem/UserGuide/index.html
ゲームAIの中の数学(下)へ続く
三宅 陽一郎
三宅陽一郎@miyayou
2017.4.24
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com
https://www.slideshare.net/youichiromiyake/ai-75435715

ゲームAIの中の数学(上)