「デジタルゲームにおける
人工知能のワークフローと導入フロー」
三宅陽一郎 @miyayou
国際ゲーム開発者協会 ゲームAI専門部会 代表
日本デジタルゲーム学会 理事
芸術科学会 理事
2016.4.8
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
参考文献(解説論文)
三宅陽一郎
「ディジタルゲームにおける人工知能技術の応用の現在」
(人工知能学会誌 2015年 Vol.30 No.1)
http://id.nii.ac.jp/1004/00000517/
https://jsai.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=556&item_no=1&page_id=13&block_id=8
参考文献
• Georgios Yannakakis さん 、Julian Togelius さんの以下の論
文と自分の解説論文。
• A Panorama of Artificial and Computational Intelligence in
Games (2014)
• http://julian.togelius.com/Yannakakis2014Panorama.pdf
• この論文は、ゲームAIの Method, Process, Algorithm に分
類する。そして、ゲームAIの分野と、ゲームAI技術が、ど
のような関係にあるかを、約40個のパターンに分類して、
一つ一つ事例と参考文献を上げて解説して行く。
Works (2006-2012)
AI for Game Titles
Books
WIRED A.I.
• WIRED A.I.+ Wired City
• 12月1日発売
• 「人工知能+街 特集」
なぜぼくらには人工知能が必要なのか──『WIRED』Vol.20「人工知能+未来都市」
2大特集・特別保存版 刊行に寄せてhttp://wired.jp/2015/12/01/vol20-editors-letter-ai/
経歴
京都大学(数学) 大阪大学(原子核実験物理) 東京大学
(エネルギー工学/人工知能)
高エネルギー加速器研究所(半年ぐらい。修士論文)
http://www.facebook.com/youichiro.miyake
社内AIセミナー(2005-2015)
2005-2011 毎週開催 > 200回 (1時間講義+議論)
2011-2015
毎週開催 > 150回 (1時間講義+Workshop)
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第零章 人工知能概観
この300年の技術の動向
時間
規模
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
1750 1860 1960 1990 Now…
現代は「知能化」の時代に
入りつつある。
エンジニアリングとしての人工知能の
二つのアプローチ
人工知能を作る
(キャラクターAI、ロボット…)
既にあるものを知能化する
(家電、電車、ポスター、なんでも…)
知能化
• 工場 → (知能化) → オートスケジューリング
• 配送 → (知能化) → 自動分配・自動配送
• 車 → (知能化) → 自動走行・ITS
• 家電 → (知能化) → コミュニケーション家電(ルンバなど)
• インターネット → (知能化) → Web.4.0 (GoogleのDeep Learning など)
• TV → (知能化) → キーワード・趣向による自動録画
• 注文サービス → (知能化) → 自動受付・自動サービス
社会の隅々にまで、知的機能がインプリメント(実装)される。
知能化
• 工場 → (知能化) → オートスケジューリング
• 配送 → (知能化) → 自動分配・自動配送
• 車 → (知能化) → 自動走行・ITS
• 家電 → (知能化) → コミュニケーション家電(ルンバなど)
• インターネット → (知能化) → Web.4.0 (GoogleのDeep Learning など)
• TV → (知能化) → キーワード・趣向による自動録画
• 注文サービス → (知能化) → 自動受付・自動サービス
社会の隅々にまで、知的機能がインプリメント(実装)される。
知能化
知能化
社会の隅々にまで、知的機能がインプリメント(実装)される。
知能化現実世界
(~1995)
現実世界
2.0
(2015~)
人間はどのように人工知能を
発展させて来たか?
記号
自然
言語
概念
人間
AI
より人間に近い情報の形を
理解できるように進化させて来た。
意味
言葉
記号処理
自然言語処理
セマンティック解析(意味解析)
オントロジー
情報 情報処理
情報の海
(ネットワーク)
ネット空間の人工知能
人間
とてもしんどい… おいつかない。。。
情報の海
(ネットワーク)
人工
知能
人工
知能
人工
知能
解析・抽出
提出・提案命令・指示
ネット空間の人工知能
人間
人工知能が情報の海と人間の間のインターフェースとして出現する
人間はどのように人工知能を
発展させて来たか?
記号
自然
言語
概念
人間
AI
より人間に近い情報の形を
理解できるように進化させて来た。
意味
言葉
記号処理
自然言語処理
セマンティック解析(意味解析)
オントロジー
情報 情報処理
)
人工
知能
人はどのように人工知能を使っているか?
ネットに散乱する情報を、人間がより理解しやすい形に
咀嚼して、持って来る (例)要約。意味による検索。
人間
記号の海
言葉の海
意味の海
概念の海
情報の海
ネット空間
人間はどのように人工知能を
発展させて来たか?
記号
自然
言語
概念
人間
AI
より人間に近い情報の形を
理解できるように進化させて来た。
意味
言葉
情報
画像
自然
言語
言葉
概念
意味
Deep Learning
(ディープラーニング)
人間はどのように人工知能を
発展させて来たか?
記号
自然
言語
概念
人間
AI
意味
言葉
情報
画像
自然
言語
言葉
イメー
ジ
意味
映像
自然
言語
言葉
想像
意味
)
人工
知能
人はどのように人工知能を使っているか?
情報の海を母体として、人工知能が育っている。
= 情報の海を母体として人工知能が生まれる
人間
記号の海
言葉の海
意味の海
概念の海
情報の海
デジタル世界
現実世界
(~1995)
パソコン
インター
ネット
人工
知能
クラウド
人工知能による新しい空間
新しい
現実空間の
誕生
デジタル世界
現実世界
(~1995)
パソコン
インター
ネット
人工
知能
クラウド
人工知能による新しい空間
新しい
現実空間の
誕生
キーワードは「実世界指向」
ソフトウェアは身体を持って現実に出る。
それは現実世界を変貌させて行く。
「現実世界 2.0」
飽和したネット空間のサービス競争(飽和)
IT技術による新しい現実空間のサービス(新規)
ネット空間
現実空間
クラウド/人工知能
ビックデータ
進出・
浸食
ロボット
実空間
センシング
ドローン
IoT
現在起こっていること ~ネット空間から現実空間への回帰
IT技術による新しい現実空間のサービス(新規)
ネット空間
現実空間
クラウド/人工知能
インターネット
進出・
浸食
ロボット
実空間
センシング
ドローン
IoT
現在起こっていること ~ネット空間から現実空間への回帰
ゲーム空間
人工知能
https://www.ingress.com
情報空間の拡大
~人工知能の舞台が広がる
• やがて街全体を制御する人工知能が出現する。
http://www.s-hoshino.com
情報空間の拡大
~人工知能の舞台が広がる
• やがて街全体を制御する人工知能が出現する。
• やがて家全体を制御する人工知能が出現する。
http://www.s-hoshino.com
IT技術による新しい現実空間のサービス(新規)
ネット空間
現実空間
クラウド/人工知能
インターネット
進出・
浸食
ロボット
実空間
センシング
ドローン
IoT
現在起こっていること ~ネット空間から現実空間への回帰
ゲーム空間
人工知能
https://www.ingress.com
飽和したネット空間のサービス競争(飽和)
IT技術による新しい現実空間のサービス(新規)
ネット空間
現実空間
クラウド/人工知能
インターネット
進出・
浸食
ロボット
実空間
センシング
ドローン
IoT
ネット空間から現実空間へ、現実世界からネット空間へ
ゲーム空間
人工知能
現実世界の人工知能
デジタル世界の人工知能
新しい
現実空間の
誕生
@2010-2015 SQUARE ENIX CO., LTD. All Rights Reserved.
飽和したネット空間のサービス競争(飽和)
IT技術による新しい現実空間のサービス(新規)
ネット空間
現実空間
クラウド/人工知能
インターネット
進出・
浸食
ロボット
実空間
センシング
ドローン
IoT
現実世界とデジタル世界をまたぐゲーム空間
ゲーム空間
人工知能
デジタル世界の人工知能
現実世界の人工知能
未開拓
成熟
巨大な
内部デジタル
空間
巨大な外部
空間
現実とデジタル空間
にまたがる
人工知能
飽和したネット空間のサービス競争(飽和)
IT技術による新しい現実空間のサービス(新規)
ネット空間
現実空間
クラウド/人工知能
インターネット
進出・
浸食
ロボット
実空間
センシング
ドローン
IoT
現実世界とデジタル世界をまたぐゲーム空間
ゲーム空間
人工知能
デジタル世界の人工知能
現実世界の人工知能
未開拓
成熟
巨大な内部空間
巨大な外部空間
新しい
人工知能の
誕生
我々は、
デジタル空間=現実空間にまたがる
巨大な人工知能を作り出そうとしている。
新しい現実/デジタル融合空間とは
(1)現実空間と情報空間がリアルタイムに同期
している。ネット空間と情報空間がオーバーレイ
されている。
(2)現実空間に出たロボットやデバイスたちが、
クラウドを足場として、協力な情報基盤に支えら
れている。
新しい現実/デジタル融合空間とは
(3)人工知能がネット空間と現実空間を自由に
行き来することができる。
現実世界とデジタル世界の双方にまたがる
人工知能が出現する。
(4)クラウドはAIによって現実世界とデジタル世
界の間の中継基地のような役割を果たす。
新しい人工知能
• 現実空間の検索
その時、主流になるのは、「検索エンジン」ではなく、「超検索エンジン」。
オーバーレイされたデジタル空間を通して、現実世界から検索できるエ
ンジン。
検索を超えて情報の虚偽を人工知能が判定するようになる。
(新宿に飛行船が出現→カメラでいないことを確認→真偽が判定)
• ロボットを通して、現実空間へのサービス
が可能になる。
人は現実に対して人工知能を通してアクションを行うことができる。
=実はそれは人間の脳を地球レベルに拡大していることになる。
ゲームAI入門書お薦め
参考WEBサイト
http://www.jp.square-enix.com/info/library/
参考WEBサイト
企画とエンジニアの分業
• AIの挙動を仕様書に落とし込む際、どこまで
書くか。アクションのシーケンス、思考のアル
ゴリズム
ゲームのサイズにもよりますが
身体と意思決定は独立かつ、連携しているのが望ましい。
できれば、企画さんには、意思決定だけを書いて欲しい。
身体と環境の問題と、意思決定の問題を独立に解きつつ、連携する。
しかし、身体と意思決定をつなぐ完成したモデルは未だない。
これはゲーム産業の大きな課題。
レベルデザイナー
=最終的にステージに責任を持つ人
• どこまでが企画の作業か?パラメータ調整だ
け?スクリプトをかく?設計も行う?コリジョン
の設定は?
企画=レベルデザイナーであるべき。
レベルデザイナー = AI(NPC)と地形を含めた舞台設計。
国内事例集
日本におけるデジタルゲームにおけるAI実装事例のリストです。
※CeDIL は登録するど資料ががダウンロードできます。 http://cedil.cesa.or.jp/
三宅陽一郎「クロムハウンズにおける人工知能開発から見るゲームAIの展望 」(CEDEC2006)
http://cedil.cesa.or.jp/session/detail/50
森川 幸人
AI DAY(3) ゲームとAIはホントに相性がいいのか? (CEDEC 2008)
http://cedil.cesa.or.jp/session/detail/156
大橋 晴行、高橋 義之、鎌田 浩平
AI DAY(4) 魔ごころを、きみに ~「勇者のくせになまいきだ。」が目指した自己組織化アルゴリズム
~ (CEDEC 2008)
http://cedil.cesa.or.jp/session/detail/162
田邊雅彦、WCCF AIエンジニアリング (DiGRA JANAN 2009年5月公開講座、東京大学)
サッカーゲームAIの設計と実装
http://digrajapan.org/?page_id=279
http://digrajapan.org/?wpdmact=process&did=OS5ob3RsaW5r
安藤 毅「サカつく」のサッカー試合AIシステム (CEDEC 2010)
http://cedil.cesa.or.jp/session/detail/379
並木「ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振る舞いをさせる
手法」(CEDEC2011)
http://cedil.cesa.or.jp/session/detail/697
佐竹 敏久、池谷章「ファンタシースターポータブル2のキャラメイクシステム」 (CEDEC 2010)
http://cedil.cesa.or.jp/session/detail/299
小川卓哉 「Phantasy Star Online 2におけるプロシージャルBGMシステム」(CEDEC 2012)
http://cedil.cesa.or.jp/session/detail/773
岡村信幸「ARMORED CORE Vの対戦AIにおける階層型ゴール指向プランニングと機体制御」
(CEDEC2011)
http://cedil.cesa.or.jp/session/detail/591
岡村信幸「ARMORED CORE Vのパス検索」 (CEDEC2011)
http://cedil.cesa.or.jp/session/detail/593
横山貴規氏、グラヴォ・ファビアン
FFXIV サーバーサイド経路探索システム
http://www.4gamer.net/games/032/G003263/20121205079/
白神 陽嗣, 三宅 陽一郎, 並木 幸介
FINAL FANTASY XV -EPISODE DUSCAE- におけるキャラクターAIの意思決定システム
http://cedec.cesa.or.jp/2015/session/ENG/5953.html
http://www.4gamer.net/games/075/G007535/20150831093/
長谷洋平
複数タイトルで使われた柔軟性の高いAIエンジン
http://cedec.cesa.or.jp/2015/session/ENG/1077.html
CEDEC http://cedil.cesa.or.jp 無料で登録して読めます。
海外タイトル情報源 (GDC Vault 一部有料)
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第一章 デジタルゲームAIの歴史
GDC / AI Summit
(Game Developer’s
Conference)
AIIDE
(AI and Interactive
Digital Entertainment )
IEEE CIG
(IEEE Computational
Intelligence and Games )
Game AI Conference AI Game Dev.COM
AI Game Programmers Guild
http://www.aiide.org
IEEE CIS
(IEEE Computational
Intelligence Society )
http://www.ieee-cis.org/http://www.ieee-cig.org/
主催コミュニティカンファレンス
http://www.gdconf.com/
http://gameaiconf.com/ http://aigamedev.com/
http://www.gameai.com
AAAI
- 2009 年より開催
- GDC 世界最大のゲームAIカンファレンス
(2万人)
- 5日の最初の2日間にAIチュートリアル
= AI Summit
- AI ゲームプログラマーズギルドが主催
- 2日間に渡って産学の講演者が各トピックを議
論
- これに出ると前の年のゲームAIの傾向が分かる。
- 資料はすべて GDC Vault か
AIGameDev.Com で公開
GDC AI Summit (2009~)
(Game Developer’s Conference)
http://www.gdcvault.com/
GDC
世界最大のゲームカンファレンス
GDC
2万人の来場者(エキスポ=展示ブース来場者を含む)
GDC
GDC
Artificial Intelligence in Computer Games
Speaker: Neil Kirby (Member of Technical Staff, Bell Laboratories),
Steve Rabin (Senior Software Engineer, Nintendo of America)
(AI ラウンドテーブル 全3日)
1日目 トピックごとの議論 (定員オーバーで欠席)
2日目 ①FPS ② Sports & Strategy (出席)
3日目 ビギナー向け Quick Q&A (出席)
全音声データ&写真 http://www.intrinsicalgorithm.com/GDC
• ゲームAI業界の中心人物が集まるギルド。研究者も多数在籍
• 母体となった IGDA AI-SIG は弱体化(いまいちアクティブに活動できなかった)。
• 主催 Steve Rabin (AI Game Programming Wisdom)
• 中心はメイリングリスト(英語)/情報交換 / 毎日5~6通は必ず届く。
• 各種イベント開催(AI Summit)の準備MLを兼ねる
• 入会資格は一つのタイトルでAIを担当(実はこの縛りはないので申込むとOK)
• 入っておくとゲームAIの動きが見えてとっても便利(発言もしよう)
• 産業界でのコネクション、力を持つ野心的なギルドでもある。
AI Game Programmers Guild (2008~)
GDCの歴史(なんとなく)
1987 1995 2000
ゲーム
開発者も集まって
何かする?
クリス・クロフォードの自宅で20人ぐらい。
少しづつ規模を
大きくしたけれど、
かなりアットフォーム。
(適当な発表も
OK!)
GDCの歴史(なんとなく)
2000 2006 2010
少しづつ本格化
かなり本格化
(1万人を超える)
どうしようもなく
本格化
(2万人を超える)
http://www.4gamer.net/games/149/G014956/20120306019/
UBMという Gamasutra (世界で一番有名なゲームサイト)を持つ
ゲーム関連のイベント・キャリア企業が主催
GDC/AIの歴史(なんとなく)
2000 2006 2010
発表を通して、
ゲームAIの知識が
蓄積される。
(年に2~3個の良い発表)
いろいろな
企業がAIに力を入れ始める
(米が中心)
ラウンドテーブル、
AI Programmers Dinner、
など、なんとなくコミュニティが
形成される。
競って発表する
ゲームの大型化と
ソーシャル化により
やや迷走
Game AI 知識の集積
2000 2006 2010
知識の集積
AI Game Programming Wisdom
20. Precomputed Pathfinding for Large and Detailed Worlds on MMO Servers (Fabien Gravot, Takanori Yokoyama, Youichiro Miyake)
Game AI 知識の集積
2000 2006 2010
知識の集積
AI Game Programming Wisdom
- ゲームAIの実例紹介・技術紹介
- 開発インタビュー
- 論文紹介
- カンファレンス資料 (GDC AI Tutorial, Paris
Game AI Conference ) が掲載
-非常に重要な情報源
-登録が必要(無料)
-有料会員記事と無料会員記事がある。
-Alex Champandard が主催
(研究者からゲーム産業へ。
産業と学術を繋ぐ人物)
AI Game Dev.COM
- ゲームAI業界の産業カンファレンス
- パリ・ウィーンなど欧州で開催。
- 主催は、 AIGameDev.Com
- 資料は AIGameDev.Com で公開
- 学生も多い。やはり欧州などが中心
- GDC と並んで、AI Programmers Guild も深く
関わっているが、学術との交流も志向。
Game AI Conference
Artificial Intelligence for Creative Applications http://nucl.ai/
デジタルゲームAIの歴史
2000 2006 2010
発表を通して、
ゲームAIの知識が
蓄積される。
(年に2~3個の良い発表)
いろいろな
企業がAIに力を入れ始める
(米が中心)
ラウンドテーブル、
AI Programmers Dinner、
など、なんとなくコミュニティが
形成される。
知識が集積する
競って発表する
ゲームエンジンの中に
取り込まれつつある
Game AI コミュニティの歴史
2000 2006 2010
この分野をきちんと
組織化しよう。
(IGDA AI SIG
ゲームAI標準委員会)
-産業、ミドルウェア、学術の
コミュニティ
AI Game Programmers Guild の
発足 (もっと産業で影響力を)
(IGDAは公正な機関)
http://www.igda.org/artificial-intelligence
2015
ゲーム開発の変化・
産業の変化により、やや停滞
デジタルゲームAIの歴史
2000 2006 2010
発表を通して、
ゲームAIの知識が
蓄積される。
(年に2~3個の良い発表)
いろいろな
企業がAIに力を入れ始める
(米が中心)
ラウンドテーブル、
AI Programmers Dinner、
など、なんとなくコミュニティが
形成される。
知識が集積する
競って発表する
人が集まる
デジタルゲームAIの歴史
2000 2006 2010
発表を通して、
ゲームAIの知識が
蓄積される。
(年に2~3個の良い発表)
いろいろな
企業がAIに力を入れ始める
(米が中心)
ラウンドテーブル、
AI Programmers Dinner、
など、なんとなくコミュニティが
形成される。
2015
専門家しつつ、
次のステップへ向けて、
知識が蓄積される。
ゲーム産業外にAIの
盛り上がりの影響を受ける。
(学習、プロシージャル)
デジタルゲームAIの歴史
2000 2006 2010
発表を通して、
ゲームAIの知識が
蓄積される。
(年に2~3個の良い発表)
いろいろな
企業がAIに力を入れ始める
(米が中心)
ラウンドテーブル、
AI Programmers Dinner、
など、なんとなくコミュニティが
形成される。
2015
専門家しつつ、
次のステップへ向けて、
知識が蓄積される。
ゲーム産業外にAIの
盛り上がりの影響を受ける。
(学習、プロシージャル)
GDCのゲームAI全体の傾向
2008年: 大型ゲームAI & プロシージャル
2009年: キャラクターAI(アニメーション&パスファインディング) & メタAI
Spore, Halo3, Assassin’s Creed…
Morpheme 2.0, Warhammer Online(Kynapse), Halo Wars, Left 4 Dead
http://www.digrajapan.org/modules/mydownloads/images/study/20090411.pdf
http://igda.sakura.ne.jp/sblo_files/ai-igdajp/AI/IDGA_GDC08_Miyake_public.pdf
2010年: 大型ゲームAIの完成 & キャラクター制御の高度化
Uncharted 2, Sprinter Cell:Conviction, Killzone2, The Sims 3, Bioshock 2, FIFA
http://igda.sakura.ne.jp/sblo_files/ai-igdajp/GDC2010/YMiyake_GDC_Report_2010_4_3.pdf
2011年: ゲームAIの大型から小型化 & 大型AI技術の固定化
有名AI開発者の独立(Halo3, The Sims 3, Killzone 2…)Darkspore,
The Sims: Medieval, StarCraft 2, Havok AI, Kynapse, Insomiac PathEnine
2013年: AI技術のデフォルト化&ゲームエンジンへの導入
Behavior Tree, パス検索、位置解析、プロシージャル
Unity, UE, CryEngine
2015年: よりパワフルなAI技術の導入(学習を中心に)
潤沢な計算リソースを用いたゲームそのもののリフトアップ
GDCのゲームAI全体の傾向
2009 2010 2011 2013
ゲームサイズ
大型ゲームAI技術の発展・開発
ツールの成熟
中・小型ゲームへスピンオフ
(独自実装)
2015
GDCのゲームAI全体の傾向
2009 2010 2011 2013
ゲームサイズ
大型ゲームAI技術の発展・開発
ツールの成熟
中・小型ゲームへスピンオフ
エンジンへの導入
2015
ゲームエンジンに組み込まれたAI
他のコンポーネントと融合
デジタルゲームAIの歴史
2000 2006 2010
発表を通して、
ゲームAIの知識が
蓄積される。
(年に2~3個の良い発表)
いろいろな
企業がAIに力を入れ始める
(米が中心)
ラウンドテーブル、
AI Programmers Dinner、
など、なんとなくコミュニティが
形成される。
黎明期
とりあえず
どんな知識
を使ってもよ
り高いAIを
目指そう。
発展期
ゲームへ
どんどん組
み込もう。事
例の蓄積。
大規模
拡大路線
の完成期
大型有名タイ
トルで意識的
に活用。
分散期
さまざまな
スケールの
ゲームへの
ダイバージェ
ンス
停滞期
ゲームエンジ
ンへの取り込
み・新しい技
術開発
ゲームAI全体の歴史
チェス
将棋
囲碁
デジタル
ゲームAI
19951960
ロボカップサッカー
(ロボカップ)
2010
人狼
カーリング
1980 2000 20502020
プロに勝つ(こともある) プロに勝つ(目標)
?
?
?
産学で本格的に研究が始まる
スポーツなどデータマイニングからのAI
1950
ゲームの人工知能の歴史
将棋 アクションゲーム
ゲーム 既にある。
(AIはゲームの外にある。
将棋の中にAIは含まれない)
開発当初はゲームがない
(ゲームと一緒にAIを作る
=AIはゲームの一部)
ステージ(空間) 盤の目・離散的 三次元地形・連続
時間 ターン 連続時間(リアルタイム)
登場人物 駒 キャラクター/モンスター
AI 将棋の差し手としてのAI キャラクターのブレイン/
ゲーム全体の操作するAI(メタAI)
ゲーム表現 ゲームツリー ?
状況 離散的変化 連続的変化
目的 勝利 楽しませる。ステージを成立させる。
ゲームのつながり 厳密にすべての手がつながって
いない(ツリー検索が有効)
一定時間、一定区間で区切れる。ラ
ンダムな要素も。(1~5秒間の判断)
何を作るか? 賢いAI, 面白いAI ユーザーの主観的体験(UX) AIその
ものが目的ではない。
将棋AIとアクションゲームAIの違い
一手先
分岐
三手先
二手先
ゲーム状態(=盤面)
探索
将棋・チェスなどのAI
AI(キャラクター)
AIの認識領域
プレイヤー
計画経路
弾
アクションゲームのAI
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
メタAI,キャラクターAI、ナビゲーションAIは、独立しながらも互いに
協調して機能を発揮します。
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
このように異なるAIが互いに協調して機能を発揮するAIシステムを
分散人工知能と言います。
参考文献(解説論文)
三宅陽一郎
「ディジタルゲームにおける人工知能技術の応用の現在」
(人工知能学会誌 2015年 Vol.30 No.1)
https://jsai.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=
repository_view_main_item_detail&item_id=559&item_no=1&page_i
d=13&block_id=8
https://jsai.ixsq.nii.ac.jp/ej/?action=pages_view_main&active_action=repository_view_main_item_detail&item_id=556&item_no=1&page_id=13&block_id=8
三宅陽一郎 「はじめてのゲームAI」
(技術評論社 WEB+DB PRESS、2012年、Vol.68)
参考文献
http://gihyo.jp/magazine/wdpress/archive/2012/vol68
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第二章 ゲームの人工知能の
全体像
自然知能と人工知能
人間
=自然知能
機械
=人工知能
機械(マシン)
機械(マシン)
ソフトウェア
機械(マシン)
ソフトウェア
知能
http://www.1999.co.jp/blog/1210192
機械(マシン)
ソフトウェア
知能
身体
機能
知能
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
身体性とインテリジェンス
Gray’s anatomy
脳の中心の部位は身体とつながっている。
生理機能を司っている。
それを囲うように、辺縁体、大脳がある。
http://square.umin.ac.jp/neuroinf/brain/005.html
http://www.amazon.co.jp/Grays-Anatomy-Anatomical-Clinical-Practice/dp/0443066841
意識/無意識の知性
身体の制御に
つながる
感覚を統合する
知性全体 人の意識的な部分
意識自身には機能がない
環境
身体
意識
無意識
意識的な知性
無意識的な知性
表象 意識に浮かび
上がるイメージ
人間の精神
意識
前意識
無意識
知能
言語による
精神の構造化
外部からの
情報
言語化のプロセス
シニフィアン
/シニフィエ
言語回路
(=解釈)
人間の精神
意識
前意識
無意識
外部からの
情報
生態学的人工知能
※生態=環境・身体との
結びつきを考える
伝統的な人工知能
身体知
人間の精神
意識
前意識
無意識
外部からの
情報
知能
解釈
顕
在
化
運動
統合
意
志
意識の境界面
知覚の境界面
2つの見えている世界(知覚世界、作用世界)
知覚世界 作用世界
機械の精神=人工知能
意識
前意識
無意識
知能
言語による
精神の構造化
外部からの
情報
言語化のプロセス
シンボル/010100000
言語回路
(=プログラム)
人間の精神、機械の精神
意識
前意識
識
外部からの
情報
意識
前意識
無意識
外部からの
情報
言語・非言語境界面
知覚の境界面
機械(マシン)
ソフトウェア
知能
身体
機能
知能
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の分化
技術の動向
時間
規模
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
1750 1860 1960 1990 Now…
技術の動向
時間
規模
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
1750 1860 1960 1990 Now…
現代は「知能化」の時代に
入りつつある。
知能化
• 工場 → (知能化) → オートスケジューリング
• 配送 → (知能化) → 自動分配・自動配送
• 車 → (知能化)→ 自動走行・ITS
• 家電 → (知能化) → コミュニケーション家電(ルンバとか)
• インターネット →(知能化)→ Web.4.0 (GoogleのDeep Learning など)
• TV → (知能化) → キーワード・趣向による自動録画・自動設定など。
• 注文サービス →(知能化)→自動受付・自動サービス
社会の隅々にまで、知的機能がインプリメント(実装)される。
この中には皆さんが大学で研究されている分野も
多くあるはず。
ゲーム全体の知能化
ゲーム・ソフトウェア
知能化された
ゲーム・ソフトウェア
ゲームも知能化の時代を迎えようとしている。
では「ゲームの知能化」とはどういうことだろうか?
それを見ていこう。
言葉の整理:知能と知性
• 知能 = 知的能力のこと。
• 知性 = 知能を持つ生命のこと。
英語では、どちらも、 “Intelligence” になってしまう。
• 人工知能 = 機械による知的能力のこと。
• 人工知性 = 知能を持つ自律した機械のこと。
英語では、どちらも、 “Artificial Intelligence” になってしまう。
ここでは、後者の知性の意味で”AI”という言葉を使っていく。
ゲームとはなにか
• インタラクティブなデジタル空間。
• もちろん自由に何を作ってもいいが、時代を
経て次第に構造化されてきた。
• AIもその中で、いくつかの分類されている。
現代ゲームにおけるAIの構造
• ゲームの中で人工知能が果たす役割というのが明確になってき
た。
• 主に現代では3つのAIの役割がある。(これから増えて行くかも
しれない)
ゲームそのものをコントロールする人工知能。
キャラクターのブレイン(脳)として機能する人工知能。
パス検索を始め地形・状況など空間的な情報を抽出する人工知能。
メタAI
キャラクターAI
ナビゲーションAI
人工知能の2つの軸
• 人工知能を考えるときは、その知能が何なのか、を探求するより、
どんな問題を解こうとしているか、を考えるとわかりやすい。
空間の
スケール
時間の
スケール
局所・
短時間
大局・
時間
なし
大局・
長時間
メタAI
キャラクターAI
ナビゲーションAI
それぞれのAIの役割
メタAI
ゲーム局面全体の変化を継続的に監視して、動的に、
ゲームバランス、ゲームプレイの緊張感、ゲームの面白さをコントロールする。
キャラクターAI
キャラクターの立場から、自分の周囲の状況を局所的に認識し、
自分の行動を自分の身体に応じて一定時間の中でデザインする。
ナビゲーションAI
ゲームステージ全体についての、空間的特長、現在の状況を解析する。
役割を持つAIのことを「エージェント」と言う。上記3つはすべて
「エージェント」だが、特にゲームでは「キャラクターAI」のことを
「エージェント」と言う。
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
古典的
ゲーム構造
(AIと
ゲームシステム
が混沌)
分化
ゲームの人工知能は分化し(=分散人工知能)
相互に協調しながら一つのAIシステムを構成する
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
3つのAIの連携の例
フィールド
ナビゲーション
AI
メタAI
エージェントAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
http://dear-croa.d.dooo.jp/download/illust.html
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第三章 自律型AI
このAIはどう作るか?
プレイヤー
キャラクター
岩 地面
池
例として、次のようなキャラクターのAIをどう作るか考えてみよう。
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
このAIはどう組むか?
こういったAIをゲーム産
業では「Scripted AI」と言
います。こういったAIは
ゲームデザイナーがスク
リプト言語で書く場合多
いため。
プレイヤー キャラクター
岩 地面
池
A B
、
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
http://septieme-ciel.air-nifty.com/nikubanare/2007/08/post_3c38.html
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
スクリプト
Scripted AI から自律型AIへの変化
ゲームデザイナーの頭の中 ゲームデザイナーの頭の中
知識 思考
Scripted AI 自律型 AI (Autonomous AI)
http://piposozai.blog76.fc2.com/
スクリプト
Scripted AI から自律型AIへの変化
ゲームデザイナーの頭の中 ゲームデザイナーの頭の中
知識 思考
Scripted AI 自律型 AI (Autonomous AI)
操り人形(Scripted AI)から、キャラクターが自分で考えて行動する
自律型AI(Autonomous AI)になるためには、
ゲームデザイナーが頭の中で持っている知識と思考をAIに埋め込
む必要がある。
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way Points)
、
ステップ1:
AIにゲームステージの
地形を認識させたい
=地形のデータを与える。
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
このAIはどう組むか?
地形データ
(Way Points)
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
http://dear-croa.d.dooo.jp/download/illust.htmlhttp://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
ナビゲーションAI
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
、
ステップ2:
地形データをもとに考え
る思考を与える。
地形データを用いた
思考
地形データ
(Way Points)
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
このAIはどう組むか?
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
地形データ
(Way Points)
地形データを用いた
思考
最短経路を計算
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
ここの点グループはお互いが見えている。
ここの点グループはお互いが見えている。
地形データを用いた
思考
ネットワークグラフに可視判定の情報を埋め込む。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
ここの点グループはお互いが見えている。
ここの点グループはお互いが見えない。
地形データを用いた
思考
ネットワークグラフに可視判定の情報を埋め込む。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーからキャラクターが見えていない。
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
このAIはどう組むか?
プレイヤーからキャラクターが見えない位置に動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
攻撃する
意思決定思考
地形データを用いた
思考
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
攻撃するか? 隠れるか? 牽制するか? を選ぶ思考。
= 意思決定思考
意思決定思考
地形データを用いた
思考
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way
Points)
、
これで、キャラクター
を知能化することが
できた。
地形デー
タを用いた
思考
意思決定
思考
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
ロジック
オブジェク
トを用いた
ロジック
http://piposozai.blog76.fc2.com/
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
ロジック
オブジェク
トを用いた
ロジック
ここでキャラクターに知能を与えたプロセスを振り返ってみる。
ステップ1: 知識を与えた。
ステップ2: 知識の上で操作する思考を与えた。
ステップ3: 自分の意志を決定する思考を与えた。
http://piposozai.blog76.fc2.com/
知識 思考
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
意思決定
の思考
知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考)
AI自身に「知識」と「知識の上の思考」を与えることが
知能を作る基本。
http://piposozai.blog76.fc2.com/
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考)
http://piposozai.blog76.fc2.com/
「知識」と「その上の思考」をどんどん増やして行くことでAIは成長する。
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
http://piposozai.blog76.fc2.com/
知能 = 知識 × 思考
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
http://piposozai.blog76.fc2.com/
これでキャラクター自身が知能を持つことができた。
キャラクターの持つ知能をキャラクターAIと言う。
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
http://piposozai.blog76.fc2.com/
この例ではナビゲーションAIとキャラクターAIが連携
していた。
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第四章 ナビゲーション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/
Dragon Age : Way Point
Dragon Age pathfinding program put to the test
https://www.youtube.com/watch?v=l7YQ5_Nbifo
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第五章 位置解析システム
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
3つのAIの連携の例
フィールド
地形解析・認識
AI
メタAI
エージェントAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第六章 メタAI
ゲーム全体の知能化
ゲーム・ソフトウェア
知能化された
ゲーム・ソフトウェア
かつてゲームでは人工知能は独立した部分ではなく、
ゲームシステムの中に含まれていた。
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
3つのAIシステムは序々に分化して独立して行った。
では、今度はナビゲーションAIについてさらに詳しく見てみよう。
メタ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
AAS に対して行うこと。
メタAIはプレイヤー群の移動に伴い、
その周囲(AAS)に敵の群れを
生成・消滅させたりする。
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
前方と背後のプレイヤー群から見えてない部屋に、
モンスターを発生させる。
モンスター・アイテム出現頻度
敵の種類、アイテムの種類ごとに出現頻度が違うが、頻度に応じて発生させる。
高頻度
低頻度
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
Wanderers (高頻度)
Mobs(中頻度)
Special Infected (中頻度)
Bosses (低頻度)
Weapon Caches (低頻度)
Scavenge Items (中頻度)
ボス出現アルゴリズム
(1) N体を予想される逃走経路上に配置
(2) 3つの出現イベントパターン
(何もいない、を含む)
(例) Tank, Witch, 何もいない
(3) 同じパターンのくり返しは禁止
(例) Witch, 何もいない、Witch はOK。
Witch, Witch はだめ。
何もいない
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford.
http://www.valvesoftware.com/publications.html
Tank Witch Witch Tank Witch Tank
具体的なアルゴリズム
(1) 各エリアに、出現数 N を決定する
(2) 出現数Nは予想される逃走経路の長さと
要求される密度によって計算される。
(3) あるエリアがAAS の中に入るとクリー
チャーがN体生成される。
(4) そのエリアがAAS の外に出ると生成が中
止され、クリーチャーは消滅される。
(5) Nはそのエリアがプレイヤーから見えてい
る場合、或いは、プレイヤーがリラックス
モードの場合には、強制的に0になる。
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という軽い部分だけを配信することで、コンテンツを入れ替えること
が可能になる。
参考文献
(1) Michael Booth, "Replayable Cooperative Game Design: Left
4 Dead," Game Developer's Conference, March 2009.
(2) Michael Booth, "The AI Systems of Left 4 Dead," Artificial
Intelligence and Interactive Digital Entertainment Conference
at Stanford.
http://www.valvesoftware.com/publications.html
(3) 三宅 陽一郎, “メタAI”,「デジタルゲームの技術」
P.186-190, ソフトバンク クリエイティブ
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つ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
ブラウン運動
ロバート・ブラウン博士によって、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
ゲームのデータ作成
• マニュアル = 手作業(操作)で作る。
• プロシージャル(自動生成)
= 計算によって創る
プロシージャル比率 =
データ総生産量
自動生成したデータ生産量
ゲームの規模とプロシージャルの比率
1985年
ゲームの規模
プロシージャル比率
中型
作りこみ
ゲーム
小型
作りこみ
ゲーム
中型
自動生成
ゲーム
小型
自動生成
ゲーム
メモリも少ないので、
ゲーム起動時に計算で
データを作りたい
Elite (1980, BBC) 宇宙を自動生成
https://en.wikipedia.org/wiki/Elite_(video_game)
ゲームの規模とプロシージャルの比率
1995年
ゲームの規模
プロシージャルの比率
大型
作りこみ
ゲーム
中型
作りこみ
ゲーム
小型
作りこみ
ゲーム
中型
自動生成
ゲーム
これからはグラフィックの時代だ。
ツールも充実。どんどん、作りこみ
で作って行こう。
トルネコの大冒険(チュンソフト、1993)
• ダンジョンを自動生成する。
ゲームの規模とプロシージャルの比率
2015年
ゲームの規模
プロシージャルの比率
最近のAAA
ゲーム
少し前の
AAAゲーム
技術系
インディー
ゲーム
ソーシャル
ゲーム
計算パワーも、容量もふんだんにある。
一つの大きな世界(オープンワールド)を
計算とデータで作り上げよう。
NO MAN’S SKY (Hello Games, 2016)
http://www.no-mans-sky.com/
宇宙、星系、太陽系、惑星を自動生成する。
ゲームの規模とプロシージャルの比率
ゲームの規模
プロシージャル比率
• 固定データ = どんどん更新不可能になる。
• プロシージャル = 計算により可変。
プロシージャルはゲームを柔らかくする。
リアルタイムに可変なコンテンツを作る。
ゲームの規模とプロシージャルの比率
http://www.desura.com/engines/dunia
FarCry3 におけるプロシージャル技術
FarCry2 におけるプロシージャル技術
50km四方のマップを作る
オブジェクト(草木)&アニメーションデータを自動生成
FarCry2 (Dunia Engine ) デモ
草原自動生成 時間システム
樹木自動生成 動的天候システム
動的天候システム
http://www.farcry2-hq.com/downloads,18,dunia-engine-nr1.htm
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第八章 現代のメタAI
現代のメタAI
より積極的にゲームに干渉する。
メタAI
敵配位 敵スパウニング ストーリー
レベル
動的生成
ユーザー
現代のメタ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
ヒートマップ(影響マップ)とは、対象(ここではプレイヤー)を中心に、位置に温度(影響度)を
与える方法です。距離に応じて減衰します。また時間が経つと、周囲に熱が拡散します。
Tactical Map の例 (影響マップ)
(例)敵と自分の勢力をリアルタイムに計算する。
4 6 8 8 8 8 6 4 2 0 -1 -2 -4 -4 -4 -2
4 6 8 8 8 8 4 2 1 0 -2 -4 -4 -2
4 6 8 8 8 6 3 1 0 -2 -4 -4 -4 -2
4 6 8 8 8 6 6 4 1 0 -2 -4 -4 -2
2 4 6 8 6 6 4 4 0 -1 -2 -4 -4 -4 -2
1 2 4 6 6 4 2 2 -4 -5 -3 -3 -4 -4 -2 -1
3 3 3 3 4 2 2 0 -4 -5 -5 -8 -8 -6 -4 -2
3 3 2 2 2 0 -2 -4 -8 -10 -10 -8 -4 -2
3 3 3 2 2 1 0 -4 -8 -10 -10 -8 -8 -4 -2
2 2 2 2 1 1 0 -3 -8 -10 -10 -8 -8 -4 -2
1 1 1 1 0 0 -2 -4 -8 -8 -8 -8 -8 -8 -8 -8
0 0 0 0 0 -1 -1 -2 -5 -6 -6 -6 -8 -8 -8
0 0 0 0 -1 -2 -2 -2 -4 -4 -4 -6 -8 -8 -8 -8
0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2
0 0 0 0 -1 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2 -2
0 0 0 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
ヒートマップ(影響マップ)を用いて
ゲーム中にプレイヤーの周囲を自動解析
「ヒートが増加する=プレイヤーが近づく点」
「ヒートが減少する=プレイヤーが遠ざかる点」
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
プレイヤーのスタート地点から出口までの道のりで、
コンスタントにモンスターと出会うようにする。
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
Future Work
FarCry 4 の事例
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
Future Work
Julien Varnier, Far Cry's AI: A Manifesto for Systemic Gameplay
http://archives.nucl.ai/recording/far-crys-ai-a-manifesto-for-systemic-gameplay/
FarCry 4 の事例Future Work
これからのゲームの作り方
オープンワールド
プロシージャル(自動生成)
適応型的AI
(自動AI配置、自動ミッション生成)
これからのゲームの作り方
オープンワールド
プロシージャル(自動生成)
適応型的AI
(自動AI配置、自動ミッション生成)
これからのゲームは、
広大なで多様なフィールドを持ちつつ、
稠密なゲームプレイを提供できるような
サービスとなる。
(低コストで)
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第九章 キャラクターAI
原始の海+光+熱+稲妻
http://www.yunphoto.net/jp/photobase/yp2863.html
世界
外と内の交流
エネルギーE をゲット
アクション・老廃物
物質的な次元のお話。
世界
外と内の交流=非平衡系
エネルギーE をゲット
アクション・老廃物
物質的な次元のお話。
内部構造を持つ。
(そして内部構造が維持される)
世界
生物の特徴=代謝機能を持つ
物質的な次元のお話。
内部構造を持つ。
INPUT
OUTPUT
代謝機能(内部処理)
代謝とは、外から得た物質を化学的に高いエネルギー状態から、低い状態へ還元することで、
エネルギーを得ると同時に、自分自身の体をそれによって組み換えて行くこと。
世界
外と内の交流=散逸構造
極めてメカニカルな次元。
内部構造を持つ。
INPUT
OUTPUT
代謝機能
生命は散逸構造で、エネルギーを獲得し、自己組織化するので、構造を持ち保てる。
世界
存在ってなんだろう?
極めてメカニカルな次元。
内部構造を持つ。
INPUT
OUTPUT
代謝機能
生き物の体を構成する分子は常に入れ替わっている。世界の外部と内部を循環によって
入れ替えることで、生き物は世界の中で世界を結びついているのだ。
世界
外と内の交流=散逸構造
INPUT
OUTPUT
世界
物質的循環
物質
物理的INPUT
物理的OUTPUT
生理的代謝機能
世界
情報的循環
情報INPUT
INFORMATION
OUTPUT
INFORMATION
情報処理=情報代謝
(つまり思考)
物質的存在としての身体がそうであるように、情報的存在として人間は、
情報を摂取し、記憶し(=情報体としての自分を組み換え)、情報をアウトプット・排泄する。
世界
情報的・物質的循環
物質
物理的OUTPUT
代謝機能情報INPUT
INFORMATION
OUTPUT
INFORMATION
情報処理=情報代謝
(つまり思考)
生理的代謝機能
物理的INPUT
人工知能へ
世界
情報的・物質的循環
物質
物理的OUTPUT
代謝機能情報INPUT
INFORMATION
OUTPUT
INFORMATION
情報処理=情報代謝
(つまり思考)
生理的代謝機能
物理的INPUT
キャラクターの知能を表現する
世界
http://piposozai.blog76.fc2.com/
知能
身体
キャラクターを表現する
世界
記憶
知能
身体
キャラクターを表現する
世界
記憶五感
身体
言語
知識表
現型
センサー・
物理
知能
身体
キャラクターを表現する
世界
記憶五感
身体
言語
知識表
現型
センサー・
物理
知識
生成
Knowledge
Making
身体
キャラクターを表現する
世界
記憶五感
身体
言語
知識表
現型
センサー・
物理
知識
生成
Knowledge
Making
意思決定
Decision
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
身体・
発話・
情報
発信
エフェクター
インフォメーション・フロー(情報回廊)
内部循環インフォメーション・フロー(情報回廊)
意思決定モデル
ステート(状態)ベース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
リアクティブ
非リアクティブ
意思決定
シミュレーションベース AI
Simulation-based AI
実際の静物の意思決定というものは非常に高度で複雑なプロセス。
いくつかの簡易モデルが存在する。
ルールベース意思決定
Rule-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
IF ( 前置宣言文 ) then (後置宣言文)
ルールベース意思決定
Rule-based Decision Making
ルール
ここでは、この形式の制御文をルールと言う。
もちろん、IF ( … IF (.... IF… ) ) ) のような入れ子構造の制御文も
ルールベースと呼ぶが、
ルールベースと言えば、基本的には、ルールを1つの単位として、
意思決定を行う、という意味となる。
ルール制御
ID 0 : IF …. THEN …
ID 1 : IF …. THEN …
ID 3 : IF …. THEN ….
ID 4 : IF …. THEN …
ID .. :
ID 4 : IF …. THEN …
Priority: 3
Priority: 1
Priority: 4
Priority: 5
Priority: 2
ルールに固定、あるいは変動プライオリティ(優先度)をつけて制御を行う。
あるいはランダムにルールをピックアップする場合もある。戦略思考、キャラク
ターの挙動などでよく使われる。
Priority: -
制御
ルール= IF ( 行動条件文 ) then (動作命令文)
(例) ルール制御
ID 0 : IF …. THEN …
ID 1 : IF …. THEN …
ID 3 : IF …. THEN ….
ID 4 : IF …. THEN …
ID .. :
ID 5 : IF …. THEN …
Priority: 3Priority: 1
Priority: 4
Priority: 5
Priority: 2
或いは、状況判断思考によってルールを振り分ける。
戦略思考、キャラクターの挙動などでよく使われる。
Priority: -
制御
思考
ルール= IF ( 行動条件文 ) then (動作命令文)
ステートベース意思決定
State-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ステート・マシン
ステート
ステート ステート
ステートマシン(有限状態マシン)
ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。
ループ構造により、フィードバック構造はない。
プレイヤーを待ち構えるAI
2体の敵キャラクターが哨戒していて、一人のプレイヤーが部屋に入って来る。
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
ステート・マシン
ステートマシン(有限状態マシン)
ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。
ループ構造により、フィードバック構造はない。
待機
攻撃 パトロール
警戒
追跡
追いかける
攻撃する
威嚇攻撃
味方に指示
出口をかためる
味方を呼ぶ
味方がいない
かつ
戦闘範囲外
味方と合流
味方と合流
味方がいる
見失う
見える
見失う 見つける
巡回する
10秒経つ
物音を
聴く
応答がきた
階層型ステート・マシン
ゴールベース意思決定
Goal-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ゴールベースAI (Goal-Based AI)
ゴール(目標)を単位として構築する方法
ゴール・ファースト=まずゴールを決める。
しかるのちにゴールを達成するための行動をデザインする。
ゴール ゴールを達成するために
必要なことを考える思考
行動
2つのゴールベース
ゴールベース
連鎖プランニング
階層型ゴール
プランニング
ゴールベース意思決定
連鎖プランニング
階層型プラン二ング
Goal-based decision making
F.E.A.R.におけるゴール指向プランニング
 Genre:Horror FPS
 Developer: Monolith Production
 Publisher : SIERRA
 Hardware: Windows
 Year: 2004
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
統一事実記述形式
統一事実記述形式
場所
方向
感覚
オブジェクト
情報取得時刻
未公開
場所 (位置、信頼度)
方向(方向、信頼度)
感覚のレベル(感覚の種類、信頼度)
オブジェクト(ハンドル、信頼度)
情報取得時刻
キャラクター 事件 欲求任務 パスオブジェクト
全て以下の形式(フォーマット)で記述する。
ノード
全部で本当は16個の属性がある
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
自分の記憶領域に認識した事実を蓄積する
Worlking Memory
Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005)
http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt
プランニングのための知識
シンボル
エージェントの認識する世界をもっとシンプルに表現したい
各エージェントについて(Agent-centric)
上記のシンボルは、対象とするエージェントについての情報。
kSymbol_AtNode
どのノードにいるか
kSymbol_TargetIs
AimingAtMe
どのノードにいるか
kSymbol_
WeaponArmed
武装しているか
kSymbol_
WeaponLoaded
装填されているか
kSymbol_Target
IsSuppressed
威嚇されているか
kSymbol_
UsingObject
オブジェクトを
使っているか?
kSymbol_
TargetIsDead
死んでいるか
kSymbol_
RidingVehicle
乗り物に乗っているか
kSymbol_AtNodeType
どんなタイプのノードにいるか
20個のシンボルで世界を集約して表現する
Jeff Orkin, “3 States and a Plan: The AI of F.E.A.R.",
http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.zip
シンボル
kTargetAtme = ture
この兵士Bは自分を狙っているkTargetIsDead = ture
この兵士Aは死んだ
kWeaponIsLoaded = false
私Cの武器は装填済みでない
Jeff Orkin, “3 States and a Plan: The AI of F.E.A.R.",
http://web.media.mit.edu/~jorkin/gdc2006_orkin_jeff_fear.zip
F.E.A.R.のプランニング②
シンボルによる連鎖プランニング
ターゲットAが
死んでいる
ターゲットAが
死んでいる
攻撃
武器が装填
されている
武器が装填
されている
装填する
武器を
持っている
武器を
持っている
武器を拾う
条件なし
プラナー
プランニング
ゴールベース意思決定
連鎖プランニング
階層型ゴールプラン二ング
Goal-based decision making
一つのゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
ゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
Goal
Goal
Goal Goal Goal
クロムハウンズにおけるプランニング
階層型ゴール指向型プランニング
戦略、戦術から、局所的戦闘までの幅広い戦いが
できる必要がある
階層型ゴール指向型プランニングとは?
一つのゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
ゴールはより小さなゴールから組み立てられる
Goal
Goal Goal Goal
Goal
Goal
Goal Goal Goal
映画を見たい
映画館に行く
映画を見る
映画館は新宿だ
映画館まで歩く
新宿駅に行く
晴れなら 新宿駅へ歩く
雨なら 電車で新宿へ
駅まで歩く
電車に乗る
ゴール指向型プランニングの考え方
クロムハウンズにおける
ゴール指向型プランニング
パスに沿って
移動する
通信塔を
見つける
パスを見つける通信塔
へ行く
通信塔
を占拠
通信塔を
占領する
撃つ
歩く
止まる
通信塔の
周囲に
10秒間いる
戦術、振る舞い 操作 ハウンズ
ロボット
身体
クロムハウンズにおける
リアルタイムゴール指向型プランニング
通信塔を
占領する
Seek
Shot
Walk
Stop
戦略 戦術、振る舞い 操作 ハウンズ
敵が
来
た!
パスに沿って
移動する
通信塔を
見つける
パスを見つける
通信塔
へ行く
通信塔
を占拠
通信塔の
周囲に
10秒間いる
敵と戦う
撃つ
歩く
止まる
ロボット
身体
クロムハウンズにおける
ゴール指向型プランニング
パスに沿って
移動する
通信塔を
見つける
パスを見つける通信塔
へ行く
通信塔
を占拠
通信塔を
占領する
撃つ
歩く
止まる
通信塔の
周囲に
10秒間いる
戦術、振る舞い 操作 ハウンズ
ロボット
身体
ゴール指向型AIの開発工程
歩く 撃つ 止まる
2点間を移動 前進しながら戦う
攻撃するパスをたどる
敵を叩く
味方を
守る
操作層
振る舞い層
戦術層
戦略層
通信塔
占拠
その場で静止
周囲を監視
しつつ待機
ゲーム
テスト
(80回)
問題点を
パターンと
して抽出
(パターンランゲージによる漸近的成長)
仕様UMLProgram
ゴール指向型プログラム構造
(入れ子構造)
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Class Goal
クリア条件
+
Activate()
Process()
Terminate()
Activate … 初期セッティング
Process … アクティブな間の行動Terminate … 終
了処理
(関数の内容を全てスクリプトで記述)
プログラマーのための実装工程
インスタンス
インスタンス
最終的なゴール総合図
歩く 撃つ 止まる
2点間を
移動
歩く、一度
止まる、歩く
攻撃
する
パスを
たどる
敵を叩く 味方を
守る
操作層
振る舞い層
戦術層
戦略層
通信塔
占拠
静止
する
ある地点へ
行く
本拠地
防衛
敵本拠地
破壊
味方を
助ける
巡回
する
敵基地
偵察
近付く
合流
する
巡回
する
逃げる
後退
する
前進
する
敵側面
へ移動
ビヘイビアベース意思決定
Behavior-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ビヘイビアベース
ビヘイビア
自分自身の身体的活動をターゲットにしたタスク
ビヘイビアベース
ビヘイビア ビヘイビア
アニメーションほど詳細ではなく、
文脈を形成できるレベルの身体活動を
記述する。
フィードバックは、ツリー構造の
動作に含まれてしまう。
一連の行動を展開することが
目的となる。
ビヘイビアベイスAI (Behavior-Based AI)
ビヘイビア(振る舞い)によって知能を記述する方法ビヘイビアは
具体的な身体運動の仕方を定義するものでなくてはならない。
ビヘイビア
ビヘイビア何らかの意思決定
ビヘイビア
ビヘイビアベース意思決定
ビヘイビアツリー入門
Behavior-based decision making
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なうち、
最も優先度の高いノードを実行する
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを
順番に実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
この層の中で実行可能なノードを
ランダムに一つ実行する。
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
root
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
Behavior Tree Architecture of
Spec Ops: The Line
Vienna Game/AI Conference 2012
Behavior Workshop
Vienna Game/AI Conference 2012 Behavior Workshop
"Behavior Tree Architecture of Spec Ops: The Line"
Behavior Trees in SOTL
• Events and impulses
Events can also be blocked
in a branch.
Jump here
Do not react to any following need for cover
Do this
Vienna Game/AI Conference 2012 Behavior Workshop
"Behavior Tree Architecture of Spec Ops: The Line"
Behavior Trees in SOTL
Vienna Game/AI Conference 2012 Behavior Workshop
"Behavior Tree Architecture of Spec Ops: The Line"
タスクベース意思決定
Task-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
「階層型タスクネットワーク」
これから一番有望なアルゴリズム
回復薬を作る方法
• 赤、青、緑を一色づつ集める。
• 緑、赤、緑の順番に集める。
• 青二つと赤一つ。ただし、赤の前に青を集め
ないといけない。
メソッド
(=タスクの分解の仕方)
回復薬を作る
(タスク)
回復薬を運ぶ
(タスク)
回復薬を届ける
(タスク)
メソッド
(=タスクの分解の仕方)
袋入
れる
ブランチ
全色集める
ブランチ
赤と青を集める
ブランチ
赤と緑を集める
青拾う
赤拾う
緑拾う
袋入
れる
緑拾う 緑拾う
袋入
れる
赤拾う 青拾う
赤拾う青拾う
順序なしタスク
全順序タスク
局所的順序タスク
全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある
原初タスク
回復薬を作る
(タスク)
前提条件
メソッド
(=タスクの分解の仕方)
回復薬を作る
(タスク)
回復薬を運ぶ
(タスク)
回復薬を届ける
(タスク)
回復薬を運ぶ
• 場所を持ってきて、荷物を載せて、戦場へ運ぶ。
• 荷物に載せるには、宝箱に入れて載せる必要がある。
• 宝箱には札をつけておく必要がある。
メソッドメソッド
馬車に
載せる
馬車を呼ぶ
戦場まで行
く
荷を載せる
宝箱に
札をつける
宝箱に
入れる
順序なしタスク
全順序タスク
局所的順序タスク
馬車を持っている
原初タスク
回復薬を運ぶ
(タスク)
前提条件
荷を載せる
馬車が近くにある
局所的順序タスク
袋入
れる
回復薬を届ける
(ドメイン)
ブランチ
全色集める
ブランチ
赤と青を集める
ブランチ
赤と緑を集める
青拾う
赤拾う
緑拾う
袋入
れる
緑拾う 緑拾う
袋入
れる
赤拾う 青拾う
赤拾う青拾う
順序なしタスク
全順序タスク
局所的順序タスク
全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある
原初タスク
回復薬を作る
(タスク)
袋入
れる
青拾う
赤拾う青拾う
スタート
馬車
を
呼ぶ
戦場
まで
行く
ゴール
馬車
に載
せる
宝箱
に札を
つける
宝箱
に入
れる
Scope : movie
Game AI Conference, Paris, June 2009
Architecture
Game AI Conference, Paris, June 2009
Scope
Game AI Conference, Paris, June 2009
Killzone 2 / PS3
• Max 32 players
• Team-based game modes
• Multiple game modes on one map
• Players unlock / mix “badge abilities”
• Offline (1 human player & bots)
• Online (human players & bots)
Scope
Game AI Conference, Paris, June 2009
Badges
• Scout: Cloak, Spot-and-Mark
• Tactician: Spawn Area, Air Support
• Assault: Boost
• Engineer: Sentry Turret, Repair
• Medic: Heal, Med packs
• Saboteur: Disguise, C4
Killzone 2 AI (マルチプレイヤーモード)
(1) Killzone 2 のAI思考
(2) Killzone 2 のマップ自動解析
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Killzone 2 Screen
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
司令官のAI
部隊長のAI
兵
士
の
AI
兵
士
の
AI
兵
士
の
AI
部隊長のAI
兵
士
の
AI
兵
士
の
AI
兵
士
の
AI
部隊長のAI
兵
士
の
AI
兵
士
の
AI
兵
士
の
AI
防衛、前進など戦術を指示
戦術の成功・失敗を報告
(フィードバック)
移動地点を指示
ターゲット指示
指示の再発行要求
指示の再発行要求
「Killzone 2」におけるチームの構造図と
コミュニケーション・パス
司令官のAI
部隊長のAI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
部隊長のAI
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
各
メ
ン
バ
|
の
AI
部隊長のAI
各
メ
ン
バ
|
の
A
各
メ
ン
バ
|
の
AI
各
メ
ン
バ
|
の
A
防衛、前進など戦術を指示
戦術の成功・失敗を報告
(フィードバック)
移動地点を指示
ターゲット指示
指示の再発行要求
指示の再発行要求
Individual AI
Game AI Conference, Paris, June 2009
各メンバーのエージェント・アーキテクチャ
上からの
命令
メッセージ
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
コントローラー
インプット
知能内部
感覚刺激
認識
脅威
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
対象・
現象
情報の流れ(インフォメーション・フロー)
影響を与える影響を受ける
各メンバーのエージェント・アーキテクチャ
上からの
命令
メッセージ
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
コントローラー
インプット
知能内部
感覚刺激
認識
脅威
Squad AI
Game AI Conference, Paris, June 2009
Squad AI
Game AI Conference, Paris, June 2009
Search & Destroy: Defending (2)
Search & Destroy: Defending (3)
部隊長のエージェント・アーキテクチャ
司令官から
の命令
各兵士から
の報告
情報
統合
World
State
HTN
プランナー
計画
タスク
実行機
各メンバー
への命令
知能内部
メモリ領域
実行モジュール
銃で攻撃 ロケットで攻撃
銃で攻撃
ロケットで
攻撃
敵がヒューマノイド
射程距離内
敵はヒューマノイドでも砲台でもない
射程距離内
武器を選択して攻撃
(タスク)
装填
攻撃
終了
装填
攻撃
終了
… 前進
なし
拠点を防衛するように命令する
(タスク)
それまでのメンバーデータを消去
新しくメンバーの状況を収集
命令発行シークエンス起動
(これまでの行動を停止せよ)
前進命令を発行
到着したら停止命令
拠点を防衛せよ
かがみながら近づく
行動する (タスク)
治療プランスタート
治療を周囲に通達
車
防御
ターゲットを選択
治療器具を使用する
徒歩前進
治療
行動
中止 継続 開始
治療
器具変更なし 器具変更あり
メソッド適用
メソッド適用
メソッド適用
メソッド適用
HTN (Hierarchical Task Network)
Precondition
Task
Precondition
Task
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
HTN (Hierarchical Task Network)
各AIの思考 On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
TaskList
TaskList
分岐リスト
分岐リスト
分岐(Branch)
分岐(Branch)
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
On the AI Strategy for KILLZONE 2′s Multiplayer Bots
http://aigamedev.com/open/coverage/killzone2/
Strategic Graph
Strategic Graph
WHY?
Support runtime strategic decision making algorithms.
Help interpret the manual annotations dynamically.
WHAT?
Set of areas created as groups of waypoints.
High-level graph based on the low-level waypoint network.
HOW?
Automatic area generation algorithm done at export time.
Waypoint Network
Waypoint Areas
Strategic Graph
Strategic Graph
Influence Map
Assassination: Defenders
Assassination: Attack Wave 1
Assassination: Attack Wave 2
Strategic Pathfinding Costs
Strategic Pathfinder
Strategic Pathfinder
Paris Game AI Conference, 2009.
ユーティリティベース意思決定
Utility-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
ユーティリティ・ベース
• ユーティリティ・ベースは高度に抽象的な戦術
決定の方法。
• 世界をモデル化し、評価すべき行動群の効用
(ユーティリティ)を数値に還元する。
The Sims シリーズのAIの作り方
人をダイナミクス(力学系、動的な数値の仕組み )として動かす。
世界を動かす PeerAI(=キャラクターAI) を構築。
Sub
Peer
Meta
Meta
Peer
Sub
[原則] 周囲の対象に対する、あらゆる可能な行動から、
ムード(幸せ) 係数を最大化する行動を選択する。
Sims (not under direct player control) choose what to do by selecting, from all of the
possible behaviors in all of the objects, the behavior that maximizes their current happiness.
Will Wright, AI: A Design Perspective (AIIDE 2005)
http://www.aaai.org/Papers/AIIDE/2005/AIIDE05-041.ppt
Kenneth Forbus, Will Wright, “Some notes on programming objects in The Sims – Example”
http://www.qrg.cs.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
オブジェクトに仕込むデータ構造
Data (Class, Sate)
Graphics (sprites, z-
buffers)Animations (skeletal)
Sound Effects
Code (Edith)
-Main (object thread)
-External 1
-External 2
-External 3
パラメーター
グラフィックス
アニメーション
サウンド
メインスレッド
いろいろなインタラクションの仕方
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料) ※IEで見てください。
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Kenneth Forbus, Will Wright, “Some notes on programming objects in The Sims – Example”
http://www.qrg.cs.northwestern.edu/papers/Files/Programming_Objects_in_The_Sims.pdf
The Sims における「モチーフ・エンジン」
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern University)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Data
- Needs
- Personality
- Skills
- Relationships Sloppy - Neat
Shy - Outgoing
Serious - Playful
Lazy - Active
Mean - Nice
Physical
- Hunger
- Comfort
- Hygiene
- Bladder
Mental
- Energy
- Fun
- Social
- Room
Motive Engine
Cooking
Mechanical
Logic
Body
Etc.
AIの人格モデル
最適(=最大効用)な行動を選択する
Hunger +20
Comfort -12
Hygiene -30
Bladder -75
Energy +80
Fun +40
Social +10
Room - 60
Mood +18
Toilet
- Urinate (+40 Bladder)
- Clean (+30 Room)
- Unclog (+40 Room)
Mood +26
Bathtub
- Take Bath (+40 Hygiene)
(+30 Comfort)
- Clean (+20 Room)
Mood +20
[原則] 周囲の対象に対する、あらゆる可能な行動から、
総合的な効用 (=Mood) を最大化する行動を選択する。
ムードの計算方法と各パラメーターのウェイトグラフ
Mood = W_Hunger(X_Hunger) * X_Hunger + W_Engergy(X_Energy) * X_Energy + …
-100 0 100 -100 0 100
-100 0 100 -100 0 100
-100 0 100 -100 0 100
-100 0 100 -100 0 100
W_Hunger W_Energy
W_Comfort W_Fun
W_Hygiene
W_Social
W_Bladder W_Room
効用(Utility)の計算の仕方
W_Hunger
X_Hunger
W_Hunger(-80)
-80 60
W_Hunger(60)
効用(Utility)の計算の仕方
W_Hunger
X_Hunger
W_Hunger(-80)
-80 60
W_Hunger(60)
Hunger degree at -80 = W_Hunger(-80)*(-80)
Hunger degree at 60 = W_Hunger(60)*(60)
Δ = W_Hunger(60)*(60) - W_Hunger(-80)*(-80)
Utility for hunger
限界効用逓減の法則
X_Hunger
W_Hunger(-80)
-80 60
W_Hunger(60)
Δ(-80 → 60)=W_Hunger(60)*(60) - W_Hunger(-80)*(-80)
Δ (60→90) =W_Hunger(90)*(90) - W_Hunger(60)*(60)
90
W_Hunger(90)
Δ(-80 → 60) is much larger than Δ(60→90)
ある程度満たされたものを満たすより、
満たされないものをある程度満たす方が大きな満足をもたらす
Utility for hunger
ビールは一杯目が一番おいしい
The Sims のAIの原理
三宅陽一郎、「Spore におけるゲームAI技術とプロシージャル」 (DiGRA Japan 第14回 月例研究
http://digrajapan.org/?wpdmact=process&did=Ni5ob3RsaW5r
Ken Forbus, “Simulation and Modeling: Under the hood of The Sims” (NorthWerstern大学、講義資料)
http://www.cs.northwestern.edu/%7Eforbus/c95-gd/lectures/The_Sims_Under_the_Hood_files/frame.htm
Richard Evans, Modeling Individual Personalities in The Sims 3, GDC 2010
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
The Sims 3 では、多くのムードや欲求が準備される。
行動 対象
GDC09 資料 http://www.gdcvault.com/play/1452/(307)-Breaking-the-Cookie-Cutter
並木 幸介
[CEDEC]ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振
る舞いをさせる手法
http://cedil.cesa.or.jp/session/detail/697
アフォーダンスとユーティリティ
並木 幸介
[CEDEC]ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振
る舞いをさせる手法 http://cedil.cesa.or.jp/session/detail/697
http://dear-croa.d.dooo.jp/download/illust.html
アフォーダンスとユーティリティ
並木 幸介
[CEDEC]ぽかぽかアイルー村における、アフォーダンス指向のAI事例。AIに多様な振る舞いを
させる手法 http://cedil.cesa.or.jp/session/detail/697
http://dear-croa.d.dooo.jp/download/illust.html
シミュレーションベース意思決定
Simulation-based decision making
ステート(状態)ベースAI
ゴール(目標)ベースAI
ビヘイビア(振る舞い)ベースAI
ユーティリティ(効用)ベース AI
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
タスク(仕事)ベース AI
Task-based AI
シミュレーションベース AI
Simulation-based AI
ルール(規則)ベースAI
シミュレーション・ベース
• シミュレーションは、ここではエージェントの想
像のこと。
• 問題を定式化できない場合、実際に頭の中
で動かしてみることを意味する。
• ゲームの場合は、実際にゲームのルール・原
理に従って運動させてみる。
シミュレーション・ベース
※イメージです。
要所、要所のシミュレーション結果を実際の世界の状況と比較して、
フィードバックをかける。
シミュレーション・ベース
ジャンプするシミュレーションを行うことで、成功するジャンプを見出して実行する。
http://dear-croa.d.dooo.jp/download/illust.html
Warfarmeにおける壁面移動
Daniel Brewer, “The Living AI in Warframe’s Procedural Space Ships” (Game AI Conference 2014) ※登録が必要なサイトです
http://archives.nucl.ai/recording/the-living-ai-in-warframes-procedural-space-ships/
プレイヤー
AI
プレイヤーが「ジャンプ・壁面走り・ジャンプ」したデータから
学習して、AIがそのデータをもとに同じ動きをする。
ジャンプ 壁面走り
ジャンプ
http://dear-croa.d.dooo.jp/download/illust.html
シミュレーション・ベース
加速・減速など自由な軌道を描けるAIが、複雑な地形を通過するときに、
複数の運動シミュレーションを走らすことで、もっともエレガントな軌道を見出す。
http://dear-croa.d.dooo.jp/download/illust.html
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
Armored Core V における空中移動
岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011)
https://cedil.cesa.or.jp/cedil_sessions/view/593
START GOAL
動的計画法によるパス検索
ALPHA GO 解説
ALPHA GO
• モンテカルロ木探索と DEEP LEARNING の組み合
わせ。
• モンテカルロ木探索 (シミュレーションベース)
• http://minerva.cs.uec.ac.jp/~ito/entcog/contents/l
ecture/date/5-yoshizoe.pdf
• DEEP LEARNING
• David Silver, Mastering the Game of Go with Deep
Neural Networks and Tree Search (Nature, 2016)
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 人工知能の基本 - 知識表現 -
• 第十四章 社会性を持つ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 隠れる
データドリブンの例
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
IF (赤いモンスター) THEN 逃げる
IF (青いモンスター) THEN 隠れる
IF(緑のモンスター) THEN 戦う
エージェントの学習・進化
データドリブン
プロシージャル
学習
アルゴリズム
進化
アルゴリズム
データドリブン的
アプローチ
単純な知識・ルールの蓄積は、
もっとも柔軟なキャラクターの学習足り得る。
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
Task-based AI
ステート(状態)ベースAI
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
シミュレーションベース AI
ユーティリティ(効用)ベース AI
タスク(仕事)ベース AI
世界
五感
身体
言語
知識表
現型
知識
生成
Knowledge
Making
意思決定
Decision
Making
身体
運動
生成
Motion
Making
インフォメーション・フロー(情報回廊)
記憶
Rule-based AI
State-based AI
Behavior-based AI
Goal-based AI
Utility-based AI
Task-based AI
ステート(状態)ベースAI
ゴール(目標)ベースAI
ルール(規則)ベースAI
ビヘイビア(振る舞い)ベースAI
シミュレーションベース AI
ユーティリティ(効用)ベース AI
タスク(仕事)ベース AI
ルールの蓄積
ステートの蓄積
ビヘイビアの蓄積
ゴールの蓄積
タスクの蓄積
学習
強化学習
遺伝的
アルゴリズム
統計
学習
適応 進化
ニューラル
ネットワーク
動的に変化するゲーム
集団個体 世界
プロシージャル・
コンテンツ・
ジェネレーション
カリキュラム(III) 「プロシージャル、学習、社会性」 概念マップ
データドリブン的アプローチプロシージャル的アプローチ
コミュニケーション
ブラックボード
アーキテクチャ
言語コミュニ
ケーション
非言語コミュニ
ケーション
場シンボル言語
ターゲッ
ティング
評判
システム
協調
カリキュラム(III) 「プロシージャル、学習、社会性」 概念マップ
エージェントの学習・進化
データドリブン
プロシージャル
学習
アルゴリズ
ム
進化
アルゴリズ
ム
データドリブン的
アプローチ
単純な知識・ルール・ステート・ビヘイビア・タスク・ゴール・評価関数・
シミュレーションの蓄積・改善は、もっとも柔軟なキャラクターの学習足り得る。
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第十一章 学習・進化における
プロシージャル的アプローチ
世界
五感
身体
言語
知識表
現型
知識
生成
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
http://piposozai.blog76.fc2.com/
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
何に対して何を行うか決定
特定の行動を決定
詳細な行動
ニューラルネットワークの応用
Black & White (Lionhead,2000)
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
μ : 中央値
σ: 標準偏差
機械学習
(例) 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 : 報酬=ダメージ
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
強化学習
(例)格闘ゲーム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/
強化学習
(例)格闘ゲーム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~世代後)
…
世代を経て進化させる
1つの世代が次の世代を交配によって産み出す
遺伝的アルゴリズムの仕組み
遺伝子
遺伝子
次世代
親①
親②
母集団から優秀な親を
2体ピックアップ
遺伝子を掛け合わせる 次世代の子供を産み出す
(selection) (crossover) (production)
現世代
このサイクルをくり返すことで世代を進めて、望ましい集団を産み出す
遺伝子
遺伝子
(例)① GA Racer
遺伝的アルゴリズムによって、遠くまで到達できるレーサーを作成する。
最初はここまでしか
たどり着けないが…
だんだんと遠くまで、
たどりつけるようにする。
Mat Buckland, "Building Better Genetic Algorithm", 11.4., AI Game Programming Wisdom 2
(CD-ROMにソースコードと実行ファイルがあります)
最初の世代 新世代(100~世代後)
②シミュレーションと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 ) など。
(例)④アストロノーカ
最初はすぐに罠にかかるが、 だんだんと罠にかからないようになる
MuuMuu, PlayStation®用ソフト「アストロノーカ」(Enix, 1998)
http://dlgames.square-enix.com/jp/psga/2008/astronoka/
http://www.muumuu.com/product.html
新世代(5~世代後)最初の世代 野菜
食べたい
世界最高峰の遺伝的アルゴリズムを使ったゲーム
(AIをどうゲームに使うか、という手本のようなゲーム)
どういうゲーム?
珍しい野菜を育てる
しかしバブーが野菜を食べに来る
トラップを仕掛けて野菜を守れ!
MuuMuu, PlayStation®用ソフト「アストロノーカ」(Enix, 1998)
高値で取引、そして野菜コンテストで優勝!
http://dlgames.square-enix.com/jp/psga/2008/astronoka/
http://www.muumuu.com/product.html
森川幸人,
「テレビゲームへの人工知能技術の利用」,
人工知能学会誌vol.14 No.2 1999-3
http://www.ai-gakkai.or.jp/jsai/whatsai/PDF/article-iapp-7.pdf
http://www.1101.com/morikawa/1999-04-10.html
に準拠します。
以下の解説は
詳細は以下の資料へ
全体の流れ
http://www.muumuu.com/data/2003_cedec.ppt
森川幸人, 赤尾容子, 「アリの知恵はゲームを救えるか?」,CEDEC2003
全体の流れ トラップを配置する
1日の始まり
トラップバトル開始
トラップバトル終了
トラップ成績算出
各個体の成績算出
順位を決定
下位2体を削除
適応度に応じて親を選択
子供2体を生成
新しい世代を生成
規定世代に達した?
1日の終了
世代交代数を修正
突然変異率を修正
4-① 初期の個体集合を生成
個体を多数(GAにはある程度の母数が必要)用意し、
各NPCに遺伝子コードを設定し、初期値を設定する。
56x8=448ビット
遺伝子身長 耐性_快光線腕力 脚力 耐性_かかし体重
1.87 6.85 16.25 25.03 25.03 16.25 6.85 1.87
0 1 2 3 4 5 6 7
[各ビットの重み]
[バブーの属性(総計56)]
4-②シミュレーションとNPCの評価
トラップを奥へと通り抜けることができるほど、
評価点が高くなる。
適応度 =成績+TB時間*0.3+エンジョイ*0.5+トラップ点+安全点+HP*0.5
要した時間 トラップに対する耐性
http://www.ai-gakkai.or.jp/jsai/whatsai/PDF/article-iapp-7.pdf
ゲームシステムとしての工夫
全体の適応度の平均値
1日の適応度の伸び
世代交代数
工夫その① 遺伝的アルゴリズムは集団に対するアルゴリズム
一体のトラップバトルの裏で他の20体も同じトラップバトルをして、
全体として世代交代をさせている。
工夫その②
遺伝的アルゴリズムは進化のスピードがプレイヤーに体感させるには遅い
プレイヤーには「1世代の変化」と言っているが、
実はだいたい1日5世代分進化させている。
工夫その③
プレイヤーから見て
毎日、同じ適応度の
上昇になるように、
世代交代数を調整している
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第十二章 ディープラーニング
DEEP LEARNING
深層学習とは何か?
ディープラーニング チュートリアル(もしくは研究動向報告) 岡谷 貴之 齋藤 真樹(東北大学)
http://www.vision.is.tohoku.ac.jp/files/9313/6601/7876/CVIM_tutorial_deep_learning.pdf
http://www.slideshare.net/yurieoka37/ss-28152060
http://www.slideshare.net/yurieoka37/ss-28152060
http://www.slideshare.net/yurieoka37/ss-28152060
http://www.slideshare.net/yurieoka37/ss-28152060
岡野原大輔「一般向けのDeep Learning」
http://www.slideshare.net/pfi/deep-learning-22350063
Deep Learning = 多層型ニューラルネットワーク
Deep Learning = 多層型ニューラルネットワーク
中山英樹「Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー」
http://www.slideshare.net/nlab_utokyo/deep-learning-49182466
Deep Learning = 多層型ニューラルネットワーク
中山英樹「Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー」
http://www.slideshare.net/nlab_utokyo/deep-learning-49182466
Deep Learning = 多層型ニューラルネットワーク
中山英樹「Deep Learningによる画像認識革命 ー歴史・最新理論から実践応用までー」
http://www.slideshare.net/nlab_utokyo/deep-learning-49182466
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
画面を入力
操作はあらかじめ教える
スコアによる強化学習
学習過程解析
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
分散深層強化学習でロボット制御
分散深層強化学習でロボット制御
https://research.preferred.jp/2015/06/distributed-deep-reinforcement-learning
分散深層強化学習でロボット制御
分散深層強化学習でロボット制御
https://research.preferred.jp/2015/06/distributed-deep-reinforcement-learning
分散深層強化学習でロボット制御
分散深層強化学習でロボット制御
https://research.preferred.jp/2015/06/distributed-deep-reinforcement-learning
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第十三章 社会性を持つAI (ソーシャルAI)
『Gunslinger』における
事象知識ベースによる
「うわさ」(評判)システム
評判システム
Memory Element
1
2
3
5
Group Reputation
Farmers Neural
Lawmen Hate
Bandits Like
Player Hate
Townspeople Neural
Master Event List
1. Bandit Killed Farmer
2. Player Aided Lawmen
3. Player Killed Bandit
4. Player TradedWith Townsperson
5. […]
Bandit
この盗賊(Bandit)は、Player が味方(Bandit)を殺し、
敵である保安官(Lawmen)を助けたことを聞いて、Player を嫌っている。
NPCごとの記憶
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
http://piposozai.blog76.fc2.com/
評判システム Master Event List 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 3
4.
5.
B1
B2
B3
3をアナウンス
3人のNPCに
参照されている
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC
NPC
NPC
NPC
Player
Event Announcer
イベント登録
事件発生ポイント
Player Killed Bandit.
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
事件発生ポイント
Player Killed Bandit.
Event Announcer
B1
B2
B3
イベント登録
一定半径内のNPCに
3をアナウンス
B3 B4
味方同士の場合
伝言する
他の場所でNPC同士が
ばったり出会う
Master Event List 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 4
4.
5.
参照回数を+1
(参照回数が0になればリストから消去)
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC
NPC
NPC
NPC
Player
NPC NPC
評判システム
http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/
Event Announcer
B1
B2
B3
イベント登録
一定半径内のNPCに
3をアナウンス
B3 B4
敵同士の場合
伝言しない
他の場所でNPC同士が
ばったり出会う
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
Player
NPC
NPC
NPC
NPC
NPC NPC
評判システム Master Event List 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 4
4.
5.
事件発生ポイント
Player Killed Bandit.
http://dear-croa.d.dooo.jp/download/illust.html
http://piposozai.blog76.fc2.com/
評判システム
評判システム(イベントの形式)
Master Event List 参照回数
1. Bandit Killed Farmer 4
2. Player Aided Lawmen 1
3. Player Killed Bandit 11
4.
5.
Subject Group Player
Verb DidViolenceTo
Object Group Bandit
Object Individual Joe
Magnitude 75(Killed)
Where 50,20,128(In front of saloon)
When High noon
Template KilledBanditTemplate
ReferenceCount Known by 11 NPCs
Reputation Effects Bandits hate player more
Lawmen like player more
Farmers like player more
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
評判システム(情報交換)
Memory Element 信頼度 取得時刻
1 43 0:13:43
3 76 1:4:53
7 63 1:7:45
11 12 1:24:54
12 52 2:6:55
メモリーマッチング
NPCごとの記憶 NPCごとの記憶
Memory Element 信頼度 取得時刻
2 43 0:15:13
4 87 0:46:3
7 12 2:17:56
15 53 2:14:45
71 84 3:56:15
同じイベントに対する情報がある場合は、信頼度の高い方の情報に上書き
同じ対象(例えばJoe)に対する情報がある場合は、新しい情報に上書き
上書きするイベント → Master Event List の参照回数+1
消去されるイベント → Master Event List の参照回数-1
(Master Event List で参照回数が0になればリストから消去)
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC NPC
http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/
評判システム(情報補完システム)
(NPC Aが Joe に出会ったときには、Joe は既に死んでいた)
Joe was Killed by unknown group
(Joe が Lawmen に撃たれているのを目撃)
Joe was shot by lawmen group
Joe was killed by lawmen group
不完全な情報から
情報を再構築
思い込みかも…でも、それでいい。
人間とはそういうものじゃないか…(という開発方針)
Greg lt, Kristin King, “A Dynamic Reputation System Based on Event Knowledge”, 8.6, AI Game Programming Wisdom
NPC
NPC
NPC
NPC
http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/
参考文献
(1) Greg lt, Kristin King, “A Dynamic Reputation System
Based on Event Knowledge”, 8.6, AI Game Programming
Wisdom
(2) Richard Rouse III,"Postmortem: The Game Design of
Surreal's The Suffering", Gamasutra,
http://www.gamasutra.com/view/feature/2110/postmortem_the_game_design_of_.php
(3) "Gunslinger: First Impressions",IGN,
http://ps2.ign.com/articles/134/134549p1.html
(4) Gunslinger [PS2 - Cancelled]
http://www.unseen64.net/2009/09/15/gunslinger-ps2-cancelled/
Never Winter Night における評判システム
Ultima Online の評判システム
Gunslinger の評判システム
Ever Quest の評判システム 独自の評判システム
http://www.bioware.com/en/games/#previous-games
https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcT18yxlWIEAjsDNwdmz1-
I4vTlbGVJxQp0gLDI05t4VS_URdCvD
Never Winter Night における評判システム
目撃者 誰もいない 友好種族
を攻撃
攻撃した
種族の友
好種族か
ら目撃
中立種族
を攻撃
攻撃した種族
に対する中立
種族からの目
撃
敵対す
る種族
に対し
て
敵族から目
撃
攻撃 -2 -12 -6 -4 -2 -2 0
殺人 -5 -45 -25 -15 -5 -5 0
盗む -1 -5 -3 -2 0 -1 0
モンスター 山賊 ガード 一般人
モンスター 100 0 0 0
山賊 50 50 0 0
ガード 0 0 100 100
一般人 0 0 100 80
対象
主体
各NCPの種族間友好度 初期値 (主体)が(対象)をどれぐらいよく思っているか。
敵対行動に対する友好度変化表
誰もいない場所で殺人を犯すことと、周囲に目撃者がいる場合では、
そのイベントがもたらす友好度の変化は違うはず。
Never Winter Night における評判システム
目撃者 誰もいない 友好種族
を攻撃
攻撃した
種族の友
好種族か
ら目撃
中立種族
を攻撃
攻撃した種族
に対する中立
種族からの目
撃
敵対す
る種族
に対し
て
敵族から
目撃
攻撃 -2 -12 -6 -4 -2 -2 0
殺人 -5 -45 -25 -15 -5 -5 0
盗む -1 -5 -3 -2 0 -1 0
犯人の殺した種族からの友好度が-45下がる
犯人の目撃者の種族からの友好度が-25下がる
敵対行動に対する友好度変化表
目撃
http://dear-croa.d.dooo.jp/download/illust.html
Never Winter Night における評判システム
PC モンスター 山賊 ガード 一般人
モンスター 0 100 0 0 0
山賊 0 50 50 0 0
ガード 95 0 0 100 100
一般人 75 0 0 100 80
対象
主体
種族間友好度 初期値 (主体)が(対象)をどれぐらいよく思っているか。
(注) PC のある種族に対する好感度 は、その種族のPCに対する好感度と同値とする。
参考文献
Mark Brokington, “Building a reputation system: Hatred,
Forgivveness, and Surrender in Never Winter Nights”, 6.5,
Massive Multiplayer Game Development
ブラックボードを用いた
協調ターゲッティング
集団の協調
AI
A
B
C
1
2
3
4 5
Players
http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/
集団の協調
AI
A
B
C
1
2
3
4 5
Players
集団の協調
AI
A
B
C
1
2
3
4 5
Players
混乱かつ制御不能
http://piposozai.blog76.fc2.com/
集団の協調
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy C
Slot 2
http://piposozai.blog76.fc2.com/
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy A
Slot 2
Entry
Accept!
集団の協調
http://piposozai.blog76.fc2.com/
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy A
Slot 2
Entry
Reject!
集団の協調
http://piposozai.blog76.fc2.com/
1
2 3
4 5
KS
A
B
C
Enemy B Slot 2
Enemy C Slot 1
Enemy A
Slot 2
Enemy B
Slot 1
Enemy A
Slot 2
集団の協調
http://piposozai.blog76.fc2.com/
SPRINTE CELL BLACKLIST の
文脈依存認識
学習
強化学習
遺伝的
アルゴリズム
統計
学習
適応 進化
ニューラル
ネットワーク
動的に変化するゲーム
集団個体 世界
プロシージャル・
コンテンツ・
ジェネレーション
カリキュラム(III) 「プロシージャル、学習、社会性」 概念マップ
データドリブン的アプローチプロシージャル的アプローチ
コンテンツ
• 第零章 人工知能概観
• 第一章 デジタルゲームAIの歴史
• 第二章 ゲームの人工知能の全体像
• 第三章 自律型AI
• 第四章 ナビゲーションAI
• 第五章 位置解析システム
• 第六章 メタAI
• 第七章 プロシージャルとは?
• 第八章 現代のメタAI
• 第九章 キャラクターAI
• 第十章 学習の話
• 第十一章 学習・進化におけるプロシージャル的アプローチ
• 第十二章 ディープラーニング
• 第十三章 社会性を持つAI (ソーシャルAI)
• 第十四章 人工知能の基本 - 知識表現 -
第十四章 人工知能の基本
- 知識表現 -
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
古典的
ゲーム構造
(AIと
ゲームシステム
が混沌)
分化
ゲームの人工知能は分化し(=分散人工知能)
相互に協調しながら一つのAIシステムを構成する
http://dear-croa.d.dooo.jp/download/illust.html
環境とキャラクター
環境
キャラクターはさまざまなインタラクションを環境との間に受ける。
http://dear-croa.d.dooo.jp/download/illust.html
環境とキャラクター
• 生き物が生きることは、環境との調和であり、
争いであり、関係性・インタラクションの上で
成り立っている。
• それによって生き物の行動も変わって来る。
• 高度な知性の場合は、そこに抽象的や目的
や理念が入って来て、それと対立しながら、
行動を組み立てる。
デジタルゲームの3つの基本データ
• 描画データ
= 見掛けのためのデータ
• 衝突データ(当たりモデル)
= 物理・インタラクションのためのデータ
• 知識表現データ(AIのためのデータ)
= AIが知的活動を行うためのデータ
描画データ
描画データ
http://dear-croa.d.dooo.jp/download/illust.html
衝突モデル(当たりモデル)
キャラクター衝突データ
オブジェクト衝突データ
オブジェクト衝突データ
床
物理的インタラクション
http://dear-croa.d.dooo.jp/download/illust.html
知識表現データ
知識表現データ
http://dear-croa.d.dooo.jp/download/illust.html
知識表現データ
知識表現データ
知識表現データ
知識表現データ
http://dear-croa.d.dooo.jp/download/illust.html
知識表現データ
知識表現データ
知識表現データ
知識表現データ
情報の受け渡し (例)私は座標(2.1, 3.4, 5.6)にいる。
薬草は体力を回復する
(例)私は座標(2.1, 3.4, 5.6)にいる。
薬草は体力を回復する
(例)これは岩である。
動かすことはできない。
側の点に隠れることができ
http://dear-croa.d.dooo.jp/download/illust.html
知識表現・世界表現
仮想世界の知性
=人工知能
WORLD
人工知能は生物のように世界をそのまま認識・解釈できるだろうか?
仮想世界の知性
=人工知能
WORLD
AIが世界(物・事・空間など)を解釈できるように、世界をうまく情報表現する
= 知識表現 (KR、Knowledge Representation)
知識表現
(KR)
http://dear-croa.d.dooo.jp/download/illust.html
ゲーム世界
世界をリアルタイムに解釈
知識表現と作用世界・知覚世界
AIはそのままでは
理解できない。
http://dear-croa.d.dooo.jp/download/illust.html
ゲーム世界
世界をリアルタイムに解釈
知識表現と作用世界・知覚世界
AIはそのままでは
理解できない。
現在の人工知能のレベルは難しい
http://dear-croa.d.dooo.jp/download/illust.html
ゲーム世界
知識表現
知識表現と作用世界・知覚世界
AIはそのままでは
理解できない。
http://dear-croa.d.dooo.jp/download/illust.html
ゲーム世界
知識表現
知識表現と作用世界・知覚世界
AIは知識表現を通して世界を見る。それはAIの主観を決定し、
作用世界と知覚世界も決定する。
http://dear-croa.d.dooo.jp/download/illust.html
ゲーム世界
知識表現
知識表現と作用世界・知覚世界
AIはそのままでは
理解できない。
作用世界
知覚世界
AIは知識表現を通して世界を見る。それはAIの主観を決定し、
作用世界と知覚世界も決定する。
AI
http://dear-croa.d.dooo.jp/download/illust.html
いろいろな知識表現
事実表現(信頼度表現)
意味ネットワーク
敵表現リスト
依存グラフ ルールベース表現
世界表現
Griesemer,J, "The Illusion of Intelligence: The Integration of AI and Level Design in Halo", 2002
http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
世界表現(知識表現の一つ)
マップ全体に関わる知識表現を世界表現という
(ウェイポイント、ナビメッシュを基本とする表現)
World Representation (WR)
(例) 8方向の可視距離の各ポイントに埋め込まれたウェイポイント群 (Killzone)
Straatman, R., Beij, A., Sterren, W.V.D., "Killzone's AI : Dynamic Procedural Combat Tactics", 2005
http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf
知識表現・世界表現
知識表現
世界表現
いろいろな世界表現
ナビメッシュ-ウェイポイント
階層表現
LOS マップ
戦術マップクラスタリング
敵配位マップ テリトリー表現
Tactical Point System
Halo2Killzone
Killzone2Halo Assassin’s Creed
Left 4 Dead
Alex J. Champandard, Remco Straatman, Tim Verweij, "On the AI Strategy for KILLZONE 2's Bots”
http://aigamedev.com/open/coverage/killzone2/
Damian Isla,"Building a Better Battle: HALO 3 AI Objectives",
http://halo.bungie.net/inside/publications.aspx
Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment
Conference , http://www.valvesoftware.com/company/publications.html
世界表現(知識表現の1つ)
マップ全体に関わる知識表現を世界表現という
(ウェイポイント、ナビメッシュを基本とする表現)
World Representation (WR)
(例) 8方向の可視距離の各ポイントに埋め込まれたウェイポイント群 (Killzone)
Straatman, R., Beij, A., Sterren, W.V.D., "Killzone's AI : Dynamic Procedural Combat Tactics", 2005
http://www.cgf-ai.com/docs/straatman_remco_killzone_ai.pdf
Halo2 :世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005 http://naimadgames.com/publications.html
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2 :世界表現
Halo2 :世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2 :世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2: 世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2: 世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2: 世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2: 世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Halo2: 世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
Counter Strike : Navigation Mesh
世界表現
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
知識表現・世界表現
知識表現
世界表現
オブジェクト
表現
オブジェクト表現
車
レバー
ドアの知識表現
位置 x: 3.0 y:.10,0
レバーで開けることが出来る
壊して開けることが出来る
車の知識表現
位置 x: 3.0 y:.2,0
乗って動かすことが出来る。
時速80kmで動く。
レバーの知識表現
位置 x: 5.0 y:.5,0
引くが出来る。
(結果:ドアが開く)
ドア
ドアの知識表現
位置 x:3.0 y:10.0
レバーを引くと開く(ルール)
レバーの知識表現
位置 x:5.0 y:5.0
引くことができる(アフォーダンス).
レバーを引くとドアが開く(ルール)
車の知識表現
位置 x:3.0 y:2.0
運転することができる.
最大速度: 80km
物に対する表現
オブジェクト表現
これが車である
この方向に押せば動く
Dude, Where's My Warthog: From Pathfinding to General Spatial Competence, D. Isla, Invited talk, Artificial Intelligence and Interactive Digital Entertainment (AIIDE) 2005
http://naimadgames.com/publications.html
アフォーダンス
食べること
ができる
登ること
ができる
動かすこ
とができる
http://dear-croa.d.dooo.jp/download/illust.html
作用空間
アフォーダンス
食べること
ができる
登ること
ができる
動かすこ
とができる
http://dear-croa.d.dooo.jp/download/illust.html
アフォーダンス
歩くこと
ができる
届く
押すこと
ができる
http://dear-croa.d.dooo.jp/download/illust.html
作用空間
アフォーダンス
歩くこと
ができる
届く
押すこと
ができる
http://dear-croa.d.dooo.jp/download/illust.html
知識表現データ
知識表現データ
知識表現データ
知識表現データ
情報の受け渡し (例)私は座標(2.1, 3.4, 5.6)にいる。
薬草は体力を回復する
(例)私は座標(2.1, 3.4, 5.6)にいる。
薬草は体力を回復する
(例)これは岩である。
動かすことはできない。
側の点に隠れることができ
http://dear-croa.d.dooo.jp/download/illust.html
知識
表現知識
表現
知性を豊かにするには?
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現
知識
表現
世界
表現
知識表現・世界表現が思考の足場を与える。
不安定な足場では高い思考を積み上げることはできない。
思考
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知性を豊かにするには?
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
世界
表現世界
表現世界
表現世界
表現
知識表現・世界表現が思考の足場を与える。
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知性を豊かにするには?
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
知識
表現知識
表現知識
表現知識
表現
世界
表現世界
表現世界
表現世界
表現
思考
思考
思考
知識表現・世界表現が思考の足場を与える。
ご清聴ありがとうございました。

デジタルゲームにおける 人工知能のワークフローと導入フロー