Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

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

4,864 views

Published on

ゲームの人工知能の中に潜む数学を順番に解説します。
(上)(下)編からなります。

(下)
https://www.slideshare.net/youichiromiyake/ai-75435715

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 と拡散律速凝集シミュレーション

Published in: Education
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
  • Hi there! Essay Help For Students | Discount 10% for your first order! - Check our website! https://vk.cc/80SakO
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

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

  1. 1. ゲームAIの中の数学(上) 三宅 陽一郎 三宅陽一郎@miyayou 2017.4.24 https://www.facebook.com/youichiro.miyake http://www.slideshare.net/youichiromiyake y.m.4160@gmail.com
  2. 2. ゲーム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 まで
  3. 3. 目次 第一部 ゲームAIと人工生命 第二部 ゲームAIの中の数学 https://www.slideshare.net/youichiromiyake/ai-75435715
  4. 4. 第二部 ゲーム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 と拡散律速凝集シミュレーション
  5. 5. 目次 第一部 ゲームAIと人工生命 第二部 ゲームAIの中の数学
  6. 6. 人工知能の歴史 1956年 1986年 2016年 人工知能 発祥 日本人工知能学会 発足 現在
  7. 7. 経歴 京都大学(数学) 大阪大学(原子核実験物理) 東京大学 (エネルギー工学/人工知能) 高エネルギー加速器研究所(半年ぐらい。修士論文) http://www.facebook.com/youichiro.miyake
  8. 8. Works (2006-2016) AI for Game Titles Books
  9. 9. 「IT、都市、ヘルスケア、あらゆる領域で 人工知能と人間が共創する未来」 • WIRED 「INNOVATION INSIGTS」 http://wired.jp/innovationinsights/post/analytics-cloud/w/cocreation_with_ai
  10. 10. • ThinkIT https://thinkit.co.jp/author/10026 • AI最前線の現場から【スクウェア・エニックス】
  11. 11. 人工知能学会 学会誌
  12. 12. ゲームAIと人工生命
  13. 13. FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii DC (次世代)Hardware 時間軸20051999 ゲームの進化と人工知能 複雑な世界の 複雑なAI ゲームも世界も、AIの身体と内面もますます複雑になる。 単純な世界の シンプルなAI (スペースインベーダー、タイトー、1978年) (アサシンクリード、ゲームロフト、2007年)
  14. 14. (例) スペースインベーダー(1978) プレイヤーの動きに関係なく、決められた動きをする (スペースインベーダー、タイトー、1978年)
  15. 15. (例)プリンス・オブ・ペルシャ 「プリンス・オブ・ペルシャ」など、 スプライトアニメーションを用意する必要がある場合、 必然的にこういった制御となる。 (プリンスオブペルシャ、1989年)
  16. 16. 原始の海+光+熱+稲妻 http://us.123rf.com/400wm/400/400/anterovium/anterovium1102/anterovium110200037/8952668-light-beams-from-ocean-surface-penetrate-underwater-through-deep-blue-sea.jpg
  17. 17. ユーリーミラーの実験 ガスから生命の構成要素であるアミノ酸を合成した。 ハロルド・ュ―リーの研究室で、スタンレー・ミラーが実験(1953年) http://ja.wikipedia.org/wiki/%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB:Miller-Urey_experiment_JP.png
  18. 18. 極性頭部 非極性尾部 水と仲良し 水と溶けあえない (参考)永田和宏 「生命の内と外」 (「考える人」(Vol.45))
  19. 19. 自己組織化
  20. 20. 原始の海で構造化=外と内の形成 外 内 Energy
  21. 21. http://28275116.at.webry.info/201005/article_7.html
  22. 22. 原始の海で構造化=外と内の形成 外 内 Energy
  23. 23. エントロピーの法則 時間 エネルギー もしエネルギーが流入しなければ、その系のエントロピー(雑然さ)は増大する。
  24. 24. エントロピーの法則
  25. 25. 構造のヒステリシス Energy 生物=エネルギーが高い状態で ひっかかっている。 なぜ? 構造のヒステリシス
  26. 26. 世界 外と内の交流 エネルギーE をゲット アクション・老廃物 極めてメカニカルな次元。
  27. 27. 世界 外と内の交流=非平衡系 エネルギーE をゲット アクション・老廃物 極めてメカニカルな次元。 内部構造を持つ。 (そして内部構造が維持される)
  28. 28. 世界 外と内の交流=非平衡系 極めてメカニカルな次元。 内部構造を持つ。 INPUT OUTPUT 代謝機能(内部処理)
  29. 29. 散逸構造とは? 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
  30. 30. 世界 外と内の交流=散逸構造 極めてメカニカルな次元。 内部構造を持つ。 INPUT OUTPUT 代謝機能
  31. 31. テセウスの船(パラドックス) 船の老朽化した部分を、新しい木に入れ替えているうちに、 全部を入れ替えてしまった。 はたしてこの船は元の船と同一のものであろうか? http://img02.hamazo.tv/usr/j/a/g/jagr/629.jpg
  32. 32. テセウスのパラドックス 物質的構成 = 循環する 物質によらず不変なもの 構造 情報
  33. 33. だから、こう言える。 生物は物質的存在であると同時に、 情報的存在でもあるのだ。
  34. 34. テセウスのパラドックス 物質 情報 情報 物質 生物は、情報的存在であり、同時に物質的な存在である。 物質は情報に存在を与え、情報は物質に構造を与える。
  35. 35. 情報と物質 情報 物質 生物は、情報的存在であり、同時に物質的な存在である。 物質は情報に存在を与え、情報は物質に構造を与える。
  36. 36. 「情報と物質」から「精神と身体」へ 情報 物質 精神・知性 身体
  37. 37. 精神と身体、そして進化 情報 物質 精神・知性 身体 進化
  38. 38. 世界 外と内の交流=散逸構造 INPUT OUTPUT
  39. 39. 世界 物質的循環 物質 物理的INPUT 物理的OUTPUT 生理的代謝機能
  40. 40. 世界 情報的循環 情報INPUT INFORMATION OUTPUT INFORMATION 情報処理=情報代謝 (つまり思考) 物質的存在としての身体がそうであるように、情報的存在として人間は、 情報を摂取し、記憶し(=情報体としての自分を組み換え)、情報をアウトプット・排泄する。
  41. 41. 世界 情報的・物質的循環 物質 物理的OUTPUT 代謝機能情報INPUT INFORMATION OUTPUT INFORMATION 情報処理=情報代謝 (つまり思考) 生理的代謝機能 物理的INPUT
  42. 42. 世界 情報的循環 情報INPUT INFORMATION =センサー OUTPUT INFORMATION =エフェクター 情報処理=情報代謝 (つまり思考) =意志決定 物質的存在としての身体がそうであるように、情報的存在として人間は、 情報を摂取し、記憶し(=情報体としての自分を組み換え)、情報をアウトプット・排泄する。
  43. 43. 精神と身体、そして進化 情報 物質 精神・知性 身体 人工知能 ハードウェア
  44. 44. 精神と身体、そして進化 情報 物質 精神・知性 身体 人工知能 ハードウェア 知能は生き物の情報的側面である。
  45. 45. エージェント・アーキテクチャ WORLD INTELLIGENCE センサー エフェクター 認識 Knowledge Making 意志決定 Decision Making 運動 Motion Making 記憶体 Memory 情報体としての知能のカタチ
  46. 46. エージェント・アーキテクチャ WORLD INTELLIGENCE センサー エフェクター 認識 Knowledge Making 意志決定 Decision Making 運動 Motion Making 記憶体 Memory 情報体としての知能のカタチ 情報の循環=インフォメーション・フロー
  47. 47. エージェント・アーキテクチャ WORLD INTELLIGENCE センサー エフェクター 認識 Knowledge Making 意志決定 Decision Making 運動 Motion Making 記憶体 Memory 情報体としての知能のカタチ 「情報の循環=インフォメーション・フロー」 は物質の循環の情報版。 これによって知性は自己を情報的に自己組織化できる。やはり知性も散逸構造である。
  48. 48. レベル ナビゲーション AI メタAI キャラクター AI エージェントを動的に配置 レベル状況を監視 エージェントに指示 ゲームの流れを作る 自律的な判断 仲間同士の協調 時にチームAIとなる メタAI, キャラクターAIの為に レベルの認識のためのデータを準備 オブジェクト表現を管理 ナビゲーション・データの管理 パス検索 / 位置解析 Support 敵キャラクタ- プレイヤー 頭脳として機能 情報獲得 コントロール 現代ゲームAIの仕組み http://dear-croa.d.dooo.jp/download/illust.html http://www.anne-box.com/
  49. 49. 3Dゲームの中のAI Halo (HALO、バンジー、2001年) デバッグ画面 The Illusion of Intelligence - Bungie.net Downloads http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
  50. 50. Intelligence World センサー Information Flow エフェクター Agent Architecture
  51. 51. 知能の世界 環境世界 認識の 形成 記憶 センサー・ 身体 記憶体 情報処理過程 情報 統合
  52. 52. 知能の世界 環境世界 認識の 形成 記憶 意思の 決定 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 記憶体 情報処理過程 情報 統合
  53. 53. 知能の世界 環境世界 認識の 形成 記憶 意思の 決定 身体 制御 エフェクター・ 身体 運動の 構成 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 記憶体 情報処理過程 運動創出過程 身体部分 情報 統合 運動 統合
  54. 54. 知能の世界 環境世界 認識の 形成 記憶 意思の 決定 身体 制御 エフェクター・ 身体 運動の 構成 センサー・ 身体 意思決定 モジュール 意思決定 モジュール 意思決定 モジュール 対象・ 現象 情報の流れ(インフォメーション・フロー) 影響を与える影響を受ける
  55. 55. 遅延反応系 INPUT OUTPUT 時間 情報抽象度 反射的に行動 少し場合ごとに対応 抽象的に思考 理論的に考える 言語化のプロセス 反応を遅延させるところに、知性の生じるチャンスがある。
  56. 56. サブサンプション・アーキテクチャ(ロドニー・ブルックス) INPUT OUTPUT 時間 情報抽象度 反射的に行動 少し場合ごとに対応 抽象的に思考 理論的に考える 言語化のプロセス = 自意識の構築化 Subsumpution Architecture 運動の実現のプロセス = 身体運動の生成
  57. 57. ルンバ (iRobot社) http://chihoko777.exblog.jp/12567471/
  58. 58. レベル ナビゲーション AI メタAI キャラクター AI エージェントを動的に配置 レベル状況を監視 エージェントに指示 ゲームの流れを作る 自律的な判断 仲間同士の協調 時にチームAIとなる メタAI, キャラクターAIの為に レベルの認識のためのデータを準備 オブジェクト表現を管理 ナビゲーション・データの管理 パス検索 / 位置解析 Support 敵キャラクタ- プレイヤー 頭脳として機能 情報獲得 コントロール 現代ゲームAIの仕組み http://dear-croa.d.dooo.jp/download/illust.html http://www.anne-box.com/
  59. 59. パス検索とは 現在の地点から指定したポイントへの経路を、 リアルタイムで計算して導く技術。 RTS - Pathfinding A* https://www.youtube.com/watch?v=95aHGzzNCY8
  60. 60. Counter Strike: Path Following (デモ) The Official Counter-Strike Bot http://aigamedev.com/insider/presentation/official-counter-strike-bot/
  61. 61. 強化学習(例) 強化学習 (例)格闘ゲーム キック パン チ 波動 R_0 : 報酬=ダメージ http://piposozai.blog76.fc2.com/ http://dear-croa.d.dooo.jp/download/illust.html
  62. 62. 強化学習 (例)格闘ゲーム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/
  63. 63. 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
  64. 64. 計画を立てるAI/計画を変更するAI Jeff Orkins, Three States and a Plan: The AI of FEAR http://alumni.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.pdf
  65. 65. 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
  66. 66. CERA-CRANIUM認識モデル http://aigamedev.com/open/article/conscious-bot/
  67. 67. 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:
  68. 68. 2K Bot Prize FPSを用いたチューリングテスト http://aigamedev.com/open/article/conscious-bot/Movie: AI と人間のプレイヤーが混在しながら戦う。 人間と一番間違われたAIが優勝。
  69. 69. http://www.botprize.org/2010.html
  70. 70. http://www.botprize.org/2010.html
  71. 71. レベル ナビゲーション AI メタAI キャラクター AI エージェントを動的に配置 レベル状況を監視 エージェントに指示 ゲームの流れを作る 自律的な判断 仲間同士の協調 時にチームAIとなる メタAI, キャラクターAIの為に レベルの認識のためのデータを準備 オブジェクト表現を管理 ナビゲーション・データの管理 パス検索 / 位置解析 Support 敵キャラクタ- プレイヤー 頭脳として機能 情報獲得 コントロール 現代ゲームAIの仕組み http://dear-croa.d.dooo.jp/download/illust.html http://www.anne-box.com/
  72. 72. メタAIの歴史 1980 1990 メタAIというのは、ゲームそのものに埋め込まれたAI。 1980 1990 2000 古典的メタAI 現代のメタAI キャラクターAI技術の発展
  73. 73. メタAIの歴史 1980 1990 2000 古典的メタAI 現代のメタAI キャラクターAI技術の発展 その歴史は古く、1980年代にまでさかのぼる。 その時代と現代のメタAIは、異なる点も多いので、 古典的メタAI、現代のメタAIと名づけて区別することにしよう。
  74. 74. (例)「ゼビウス」(ナムコ、1983) 敵出現テーブル巻き戻し 敵0 敵1 敵2 敵3 敵4 敵5 『あと面白い機能なんですけれど、 ゼビウスには非常に簡単なAIが組み込まれています。 「プレイヤーがどれくらいの腕か」というのを判断して、 出てくる敵が強くなるんです。 強いと思った相手には強い敵が出てきて、 弱いと思った相手には弱い敵が出てきます。 そういっ たプログラムが組み込まれています。 ゲームの難易度というのは「初心者には難しくて、上級者 には簡単だ」ということが、 ひとつの難易度で(調整を)やっていくと起きてしまうので、 その辺を何 とか改善したいな、ということでそういったことを始めてみたのですけれど、 お陰で割合にあまり上 手くない人でも比較的長くプレイできる、 うまい人でも最後のほうに行くまで結構ドラマチックに楽 しめる、 そういった感じになっています。』 - 遠藤雅伸(出演)、1987、「糸井重里の電視遊戯大展覧会」『遠藤雅伸ゼビウスセミナー』フジテレビ - ゼビウス
  75. 75. 現代のメタAI より積極的にゲームに干渉する。 メタAI 敵配位 敵スパウニング ストーリー レベル 動的生成 ユーザー
  76. 76. メタ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 の事例を見てみる。
  77. 77. 適応型動的ペーシング [基本的発想] (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
  78. 78. メタ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 より具体的なアルゴリズム
  79. 79. メタ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
  80. 80. メタ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) と 言う。
  81. 81. メタ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
  82. 82. メタ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
  83. 83. 安全な領域までの道のり(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
  84. 84. プレイヤーからの可視領域 可視領域(プレイヤーから見えている 部屋)では、敵のスパウニング(発生) はできない。 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html
  85. 85. 敵出現領域 背後 前方 Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html 前方と背後のプレイヤー群から見えてない部屋に、 モンスターを発生させる。
  86. 86. まとめ メタAIは、ゲームの流れを動的に作るAIで、キャラクターAI、イベントなどに は命令だけを出す。これは明確に、メタAIと他のモジュールが独立した関 係にあるから可能なこと。
  87. 87. これからのゲームの作り方 オープンワールド プロシージャル(自動生成) 適応型的AI (自動AI配置、自動ミッション生成)
  88. 88. 目次 第一部 ゲームAIと人工生命 第二部 ゲームAIの中の数学
  89. 89. 第二部 ゲーム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 と拡散律速凝集シミュレーション
  90. 90. 1. 迷路とデータ構造と数学 迷路を解くAIを使ってゲームを作る (ゲームAI連続セミナー第3回付録I) https://www.slideshare.net/youichiromiyake/ss-36659319
  91. 91. NPCの自由な移動 ① Q1: 与えられた迷路を抜けることが出来るAIを考えてみよう! どのように実装すればよいか?
  92. 92. 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を動かすことが可能になる。
  93. 93. NPCの自由な移動 ① A B C D EF G H I J ① ② ③ ④⑤ ⑥ ⑦ ⑧ A ① ② ③C D ④ E⑤ ⑥ HG ⑦ B F ⑧ I J 動作例 工程1:企画が迷路を製作する 工程2:プログラマーが世界表現(ここでは2分木)を実装する。 工程3: グラフ検索アルゴリズムを実装する。 ゲーム中:スタート地点からゴール地点までパス検索を実行し、 NPCにパスにパスをたどらせる。
  94. 94. 第二部 ゲーム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 と拡散律速凝集シミュレーション
  95. 95. 2. ダンジョン自動生成のアルゴリズム
  96. 96. 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
  97. 97. 自動生成ダンジョンの面白さ 固定したダンジョン 特徴 企画(米ではレベルデザイナー) による入念な設計と仕掛け 何度プレイしても同じ 自動生成ダンジョン 特徴 入るたびに変わるダンジョン 生成されるダンジョンのクオリティー 覚えゲーにならないですむ
  98. 98. ダンジョン生成法 Rogue Clone ローグライクゲーム Rogue NetHack 棒倒し法 穴掘り法 壁延ばし法 Ishida So, 「迷路のプログラム」, 2005 迷路自動生成法 その他、いろいろな方がいろいろなところで独自のアルゴリズムを開発
  99. 99. ismaze5 iMaze5 デモ 自動迷路生成 iMaze5 Ishida So, 「迷路のプログラム」, 2005
  100. 100. 第二部 ゲーム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 と拡散律速凝集シミュレーション
  101. 101. 3. ナビゲーションAIとグラフ上の数学
  102. 102. ナビゲーション・データ フリー素材屋Hoshino http://www.s-hoshino.com/
  103. 103. ナビゲーション・データ ウェイポイント・グラフ (点を要素とするネットワークグラフ) ナビゲーションメッシュ・ グラフ (三角形(凸角形)を要素とする ネットワークグラフ) 歩くこと ができる。 フリー素材屋Hoshino http://www.s-hoshino.com/
  104. 104. パス検索 =ゲーム内で任意の2点間の経路をゲーム進行中に計算する技術 RTS – Pathfinding A* https://www.youtube.com/watch?v=95aHGzzNCY8
  105. 105. ネットワーク上のグラフ検索法 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にたどり着いたら終了。 各ノードの評価距離=出発点からの経路 ダイクストラ法
  106. 106. ネットワーク上のグラフ検索法 ダイクストラ法 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にたどり着いたら終了。 各ノードの評価距離=出発点からの経路
  107. 107. ネットワーク上のグラフ検索法 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
  108. 108. ネットワーク上のグラフ検索法 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
  109. 109. Counter Strike (2000)におけるナビメッシュ The Official Counter-Strike Bot http://aigamedev.com/insider/presentation/official-counter-strike-bot/
  110. 110. Counter Strike (2000)におけるナビメッシュ The Official Counter-Strike Bot http://aigamedev.com/insider/presentation/official-counter-strike-bot/
  111. 111. Counter Strike: Path Following (デモ) The Official Counter-Strike Bot http://aigamedev.com/insider/presentation/official-counter-strike-bot/
  112. 112. http://www.youtube.com/watch?v=DlkMs4ZHHr8
  113. 113. Dragon Age : Way Point Dragon Age pathfinding program put to the test https://www.youtube.com/watch?v=l7YQ5_Nbifo
  114. 114. 第二部 ゲーム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 と拡散律速凝集シミュレーション
  115. 115. 4.位置解析システムとフィルタリング
  116. 116. TPS (Tactical Point System) • 戦術位置検索システム • 目的に応じたポイントをその場で探し出す。 • CryEngine で発想され、2011年ぐらいから実 装されている。 • Unreal Engine 4では、EQS(Environment Query System)で同じ機能がある。 • UE4上で、BehaviorTree や、BluePrintから呼び 出して使える。
  117. 117. 沼 高台 湖 野原 敵 味方 AI(現在位置) このような状況でAIは次にどこに行くべきか? を自分で考えさせたい。
  118. 118. 沼 高台 湖 野原 敵 味方 AI(現在位置) 動的にポイントを生成します 生成フェーズ
  119. 119. 沼 高台 湖 野原 敵 味方 AI(現在位置) フィルター1:そもそも足場の悪い点を除外します。 フィルタリング フェーズ
  120. 120. 沼 高台 湖 野原 敵 味方 AI(現在位置) フィルター2:敵に近くのポイントも除外します フィルタリング フェーズ
  121. 121. 沼 高台 湖 野原 敵 味方 AI(現在位置) フィルター3:味方に近くのポイントも除外します フィルタリング フェーズ
  122. 122. 沼 高台 湖 野原 敵 味方 AI(現在位置) フィルター4:残ったポイントの中で一番高い場所を選択します。 評価 フェーズ
  123. 123. TPS (Tactical Point System) ゲーム中(ランタイム)に、グリッドか円形にポイントを生成。 条件を設定して要らないポイントをふるい落とす 条件を設定して要らないポイントをふるい落とす 残ったポイントを評価する 一点だけが残る
  124. 124. (例)クエリー(Query)システム =問い合わせシステム 敵 目的 地 味 方 味 方 味 方 Query(最短パス) Query(安全パス) Query(味方合流パス) Query(武器の届く、高台ポイント)
  125. 125. ポイントを動的に配置して評価する 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
  126. 126. ポイントを動的に配置して評価する 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
  127. 127. ポイントを動的に配置して評価する 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
  128. 128. 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 ポイントを動的に配置して評価する
  129. 129. 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 ゴールデンパスとは、現在のプレイヤーの位置から、 プレイヤーが向かうであろう目的地へ、パス検索したパスのこと を言う。つまり、ユーザーの予測経路である。
  130. 130. ゴールデンパス 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
  131. 131. ゴールデンパスとTPS ゴールデンパスに沿って TPS を働かす。 つまり、ゴールデンパスに沿ってポイントを生成して、 選別する。
  132. 132. EQS (E) EQS (Environment Query System) in UE4
  133. 133. EQS (Environment Query System) in UE4
  134. 134. EQS (Environment Query System) in UE4 https://docs.unrealengine.com/latest/JPN/Engine/AI/EnvironmentQuerySystem/UserGuide/index.html
  135. 135. ゲーム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

×