SlideShare uma empresa Scribd logo
1 de 278
Baixar para ler offline
人工知能とゲーム(前篇)
三宅 陽一郎
三宅陽一郎@miyayou
2020.9
https://www.facebook.com/youichiro.miyake
http://www.slideshare.net/youichiromiyake
y.m.4160@gmail.com
コンテンツ
• 第一章 人工知能とは
• 第二章 ゲームAIとは
• 第三章 ゲームAIとは②
• 第四章 開発者の心持ち
• 第五章 ゲームの知能化
• 第六章 ナビゲーションAI
• 第七章 キャラクターAI
• 第八章 プロシージャル
• 第九章 キャラクターAI(学習)
• 第十章 協調するAI
My Works (2004-2019)
AI for Game Titles
Books
Books
ゲームAI関連
近著
ゲームAIの特徴
リアルタイム
インタラクティブ
身体を持つ
ゲーム
VR/AR ロボット・
自動運転
デジタルサイネージ
ドローン
エージェント・サービス
参考文献 (128の基本文献へのリンク)
https://www.ai-gakkai.or.jp/my-bookmark_vol32-no4/
国内事例に関しては
(20) 日本におけるゲームAI事例
参考文献
三宅陽一郎 「大規模ゲームにおける人工知能 ─ファイナルファンタジーXV の実例をもとに─」
(17ページ) (人工知能学会誌、2017 2号)
本日のコンテンツ(参考文献)
• FINAL FANTASY XV におけるキャラクターAIの意思決定システム
• FINAL FANTASY XV -EPISODE DUSCAE- のアニメーション ~接地
感向上のためのとりくみ~
SQUARE ENIX PUBLICATIONS
• http://www.jp.square-enix.com/tech/publications.html
参考文献
三宅陽一郎 「 ディジタルゲームにおける人工知能技術の応用の現在」 (20ページ)
(人工知能学会誌、2015/1号) (AI書庫から無料でDL可能 http://id.nii.ac.jp/1004/00001730/ )
参考文献
三宅陽一郎 「大規模ゲームにおける人工知能 ─ファイナルファンタジーXV の実例をもとに─」
(17ページ) (人工知能学会誌、2017 /2号) (AI書庫から無料でDL可能 http://id.nii.ac.jp/1004/00008567/ )
• ThinkIT https://thinkit.co.jp/author/10026
• AI最前線の現場から【スクウェア・エニックス】
参考になる小さなコードが掲載
コードはこちら
https://www.oreilly.co.jp/books/9784873113395/
参考文献
GAME AI PRO 3 (2017/6) 世界中から集められた記事をもとに2年ごとに発行される
http://www.gameaipro.com/
参考文献
Predictive Animation Control Using Simulations and Fitted Models.
Ingimar Hólm Guðmundsson, Skubch Hendrik, Fabien Gravot and Yoichiro Miyake
Ambient Interactions: Improving believability by leveraging Rule-based AI
Hendrik Skubch
Logging Visualization in FINAL FANTASY XV
Matthew W. Johnson, Fabien Gravot, Shintaro Minamino, Ingimar Gudmundsson,
Hendrik Skubch, and Miyake Youichiro
Guide to Effective Autogenerated Spatial Queries
Eric Johnson
A Character Decision-Making System for FINAL FANTASY XV by combining
Behavior Trees and State Machines
Youichiro Miyake, Youji Shirakami, Shimokawa Kazuya, Kousuke Namiki, Tomoki,
Komatsu, Tatsuhiro Joudan, Prasertvithyakarn Prasert, Takanori Yokoyama
第一章 人工知能とは
自然知能と人工知能
人間
=自然知能
機械
=人工知能
ダートマス会議(1956年)
• ジョン・マッカーシーのいたダートマス大学で、人
工知能をテーマとして初めて開催された会議。
• Artificial Intelligence という名称もはじめてここで
用いられた。
http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
ダートマス会議(1956年)
http://www-formal.stanford.edu/jmc/history/dartmouth/dartmouth.html
ダートマス会議(1956年)
我々は、1956年の夏の2ヶ月間、10人の人工知能研究者
がニューハンプシャー州ハノーバーのダートマス大学に集
まることを提案する。そこで、学習のあらゆる観点や知能
の他の機能を正確に説明することで機械がそれらをシミュ
レートできるようにするための基本的研究を進める。機械
が言語を使うことができるようにする方法の探究、機械上
での抽象化と概念の形成、今は人間にしか解けない問題
を機械で解くこと、機械が自分自身を改善する方法などの
探究の試みがなされるだろう。我々は、注意深く選ばれた
科学者のグループがひと夏集まれば、それらの問題のうち
いくつかで大きな進展が得られると考えている。
https://ja.wikipedia.org/wiki/%E3%83%80%E3%83%BC%E3%83%88%E3%83%
9E%E3%82%B9%E4%BC%9A%E8%AD%B0
人工知能=人間の知能を機械に写す(移す)。
機械(マシン)
ソフトウェア
知能
身体
機能
知能
http://www.1999.co.jp/blog/1210192
http://ja.wallpapersma.com/wallpaper/_-
%E3%83%AA%E3%82%B9%E3%80%81%E5%A3%81%E7%B4%99%E3%80%81%E3%83%AF%E3%82%A4%E3%83%89%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%81%AE%E3%80%81%E3%
83%9E%E3%83%83%E3%82%AF%E3%80%81%E3%83%9A%E3%83%83.html
人間の精神
意識
前意識
無意識
外部からの
情報
生態学的人工知能
※生態=環境・身体との
結びつきを考える
伝統的な人工知能
身体知
人間の精神、機械の精神
意識
前意識
無意識
外部からの
情報
意識
前意識
無意識
外部からの
情報
言語・非言語境界面
知覚の境界面
人工知能は、人間の知能を機械に移したもの。
この300年の技術の動向
時間
規模
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
1750 1860 1960 1990 Now…
現代は「知能化」の時代に
入りつつある。
第一次AIブーム 第二次AIブーム 第三次AIブーム
二つの人工知能
IF (s_collison==true)
register_all(s_star);
assign_edge();
assign_vertex();
mix_all();
シンボルによる人工知能
(シンボリズム))
ニューラルネットによる人工知能
(コネクショニズム)
IBM ワトソン
Gooogle検索
など
AlphaGo
など
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
神経素子(ニューロン)とは?
入力
入力
入力
出力
入力
この中にはイオン(電解,Na+,K+)
溶液が入っていて、入力によって電圧が
高まると出力する仕組みになっています。
100mVぐらい
ニューラルネットワーク内シグナル伝達スピード 100(m/sec) … 案外遅い
http://www.brain.riken.go.jp/jp/aware/neurons.html
ニューラルネットを理解しよう② 数学的原理
http://www.pri.kyoto-u.ac.jp/brain/brain/11/index-11.html
医学的知識
http://www.biwako.shiga-u.ac.jp/sensei/mnaka/ut/sozai/ai.html
モデル化
数学的モデル
ニューロン
人工ニューロン
入出力関係のグラフ 入出力関係の関数(シグモイド関数)
ニューラルネットワーク
(ニューロンをつなげたもの)
道具はこれで全て。これで何ができるだろう?
深階層ニューラルネットワーク
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
ニューラルネットワーク=信号(波形)処理だけで知能を作る。
人工知能がブームになるとき
時間
規模
1960 1990 2000
第一次AIブーム 第二次AIブーム 第三次AIブーム
1970 1980 2010
シンボルによる人工知能は
堅実に進化する
2 第一次AIブーム(1960年代)
もし A ならば B
もし B ならば C
よって、
もし A ならば C
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
推論ベース ニューラルネット
誕生
3 第二次AIブーム(1980年代)
IF (A) then B
IF (C) then D
IF (E) then F
IF (G) then H
IF ( I ) then J
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
ルールベース
新しい学習法=
逆伝搬法
3 第二次AIブーム(1980年代)
0 0 0
【逆伝播法】
ここが1になるように、
結合の強さを、
さかのぼって変えて行く。
4 第三次AIブーム(2010年代)
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
データベース
新しい学習法=
ディープラーニング
データベース
検索エンジン
キーワード 検索結果
検索
人
次の章で
説明
します
ある層の限定した領域を次の層に向けて足し合わせて
集約する=折り畳み(コンボリューション)
その時にちょっとづつずらしながら折り畳みを行う。
インターネットによる
膨大なデータ
4 第三次AIブーム(2010年代)
時間
規模
1960 1990 2000
第一次AIブーム 第二次AIブーム 第三次AIブーム
1970 1980 2010
ルールベース
逆伝播法
データベース
ディープ
ラーニング
推論ベース
ニューラル
ネット誕生
小型・中型
コンピュータの普及
大型コンピュータ
専門家のみのブーム
AlphaGO
膨大な棋譜のデータ
(人間では多過ぎて
読めない)
この棋譜を
そっくり打てる
ように学習する
自己対戦して
棋譜を貯める
この棋譜を
そっくり打てる
ように学習する
AlphaGO
Deep Q-Learning
Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
画面を入力
操作はあらかじめ教える
スコアによる強化学習
二つの人工知能
IF (s_collison==true)
register_all(s_star);
assign_edge();
assign_vertex();
mix_all();
シンボルによる人工知能
(記号主義)
ニューラルネットによる人工知能
(コネクショニズム)
IBM ワトソン
など
AlphaGo
など
http://www.nature.com/nature/journal/v518/n7540/full/nature14236.html
学習過程解析
Volodymyr Mnih, Koray Kavukcuoglu, David Silver, Alex Graves,
Ioannis Antonoglou, Daan Wierstra, Martin Riedmiller (DeepMind Technologies)
Playing Atari with Deep Reinforcement Learning
http://www.cs.toronto.edu/~vmnih/docs/dqn.pdf
• Pπ ロールアウトポリシー(ロールアウトで討つ手を決める。
Pπ(a|s) sという状態でaを討つ確率)
• Pσ Supervised Learning Network プロの討つ手からその
手を討つ確率を決める。Pσ(a|s)sという状態でaを討つ確
率。
• Pρ 強化学習ネットワーク。Pρ(学習済み)に初期化。
• Vθ(s’) 局面の状態 S’ を見たときに、勝敗の確率を予測
する関数。つまり、勝つか、負けるかを返します。
Mastering the game of Go with deep neural networks and tree search
http://www.nature.com/nature/journal/v529/n7587/full/nature16961.html
https://deepmind.com/research/alphago/
•人間から人工知能がどう見えるか?
•人工知能が人間をどう見るか?
コンテンツ
• 第一章 人工知能とは
• 第二章 ゲームAIとは
• 第三章 ゲームAIとは②
• 第四章 開発者の心持ち
• 第五章 ゲームの知能化
• 第六章 ナビゲーションAI
• 第七章 キャラクターAI
• 第八章 プロシージャル
• 第九章 キャラクターAI(学習)
• 第十章 協調するAI
第二章 ゲームAIとは
レベル
ナビゲーション
AI
メタAI
キャラクター
AI
エージェントを動的に配置
レベル状況を監視
キャラクターに指示
ゲームの流れを作る
自律的な判断
仲間同士の協調
時にチームAIとなる
メタAI, キャラクターAIの為に
レベルの認識のためのデータを準備
オブジェクト表現を管理
ナビゲーション・データの管理
パス検索 / 位置解析
Support
敵キャラクタ-
プレイヤー
頭脳として機能
情報獲得
コントロール
ゲーム外AI
• 開発工程を助けるAI プロシージャル機能
• バランス調整するAI 遺伝的アルゴリズム、ニューラルネット
• QAのためのAI QA-AI
• メタAI バランス調整、ゲームメーキング
• インターフェース上のAI 音声解析、言語解析、ゼスチャー認識
• データマイニングするAI ロギング&アナライジング
• シミュレーション技術 パラメーター生成
• データビジュアリゼーション ゲームを可視化する
ゲームの中、ゲームの外
ゲーム周辺
(外=開発、現実)
ゲーム
(中=コンテンツ)
ゲームの中、ゲームの外
ゲーム周辺AI
(外=開発、現実)
ゲームAI
(中=コンテンツ)
メタAI
キャラクター
AI
ナビゲーション
AI
開発支援
AI
QA-AI
自動バランス
AI
インターフェース
上のAI
データ
マイニング
シミュレーショ
ン技術ゲーム
可視化
ユーザーの
生体信号
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
とりあえず初心者の方は、
この「3つのAI」があることを出発点としましょう。
ググってみよう。
大型ゲームと小型ゲーム
ナビゲーション
AI
メタAI キャラクターAI
キャラクターAI メタAI
ナビゲーション
AI >
>
>
>
小型ゲーム
大型ゲーム
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
Unreal Engine 4 では Behavior Tree をサポート
Unreal Engine では パス検索・戦術位置検索をサポート
• スクウェア・エニックスにおける UNREAL ENGINE 4 を用いた人
工知能技術の開発事例
• https://www.youtube.com/watch?v=BV2GTGbSjq8
• 【UE4】味方AIの作り方!AIとは何かを学びながら、ブループ
リントで味方キャラクターを実装しよう
• https://qiita.com/4_mio_11/items/9e8af2ce82ee2a7625b5
Unreal Engine 4 のAIの参考情報
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
ゲームデザイナーの発想をエンジニアに伝える
エンジニアの下準備 → 実装
エンジニアからのゲームデザイナーへ技術提案
 ゲームデザイナがそれに合わせる
エンジニアからの技術提案
 地形デザイナやオブジェクトデータ班がそれに合わせる
UnityにおけるAI
• Unity は Behaivor Treeやパス検索のツールが
ある。
• 機械学習に力を入れている。ライブラリがある
が、まだベータ版。
コンテンツ
• 第一章 人工知能とは
• 第二章 ゲームAIとは
• 第三章 ゲームAIとは②
• 第四章 開発者の心持ち
• 第五章 ゲームの知能化
• 第六章 ナビゲーションAI
• 第七章 キャラクターAI
• 第八章 プロシージャル
• 第九章 キャラクターAI(学習)
• 第十章 協調するAI
第三章 ゲームAIとは②
一般的なロジックの実装とゲームAIの違い
このAIはどう作るか?
プレイヤー
キャラクター
岩 地面
池
例として、次のようなキャラクターのAIをどう作るか考えてみよう。
このAIはどう組むか?
プレイヤー キャラクター
岩 地面
池
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
A B
このAIはどう組むか?
これは、まず書く人の思
考がまずあり、その結果
を指示として書いている。
プレイヤー キャラクター
岩 地面
池
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
A B
このAIはどう組むか?
プレイヤー キャラクター
岩 地面
池
A B
つまりAI自身は何も知ら
ない、命令を受けるだけ
の操り人形なだけ。これ
は古典的な作り方。
、
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
http://septieme-ciel.air-nifty.com/nikubanare/2007/08/post_3c38.html
このAIはどう組むか?
こういったAIをゲーム産
業では「Scripted AI」と言
います。こういったAIは
ゲームデザイナーがスク
リプト言語で書く場合多
いため。
プレイヤー キャラクター
岩 地面
池
A B
、
(例)
プレイヤーがAにいれば
Bをうろうろする。
プレイヤーがBにいれば
近づいて攻撃する。
http://septieme-ciel.air-nifty.com/nikubanare/2007/08/post_3c38.html
スクリプト
Scripted AI から自律型AIへの変化
ゲームデザイナーの頭の中 ゲームデザイナーの頭の中
知識 思考
Scripted AI 自律型 AI (Autonomous AI)
スクリプト
Scripted AI から自律型AIへの変化
ゲームデザイナーの頭の中 ゲームデザイナーの頭の中
知識 思考
Scripted AI 自律型 AI (Autonomous AI)
操り人形(Scripted AI)から、キャラクターが自分で考えて行動する
自律型AI(Autonomous AI)になるためには、
ゲームデザイナーが頭の中で持っている知識と思考をAIに埋め込
む必要がある。
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way Points)
、
ステップ1:
AIにゲームステージの
地形を認識させたい
=地形のデータを与える。
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。
このAIはどう組むか?
地形データ
(Way Points)
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
ナビゲーションAI
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
、
ステップ2:
地形データをもとに考え
る思考を与える。
地形データを用いた
思考
地形データ
(Way Points)
このAIはどう組むか?
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
地形データ
(Way Points)
地形データを用いた
思考
最短経路を計算
このAIはどう組むか?
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
地形データ
(Way Points)
地形データを用いた
思考
最短経路を計算
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
AIは地形データによって、自分とプレイヤーの位置関係を知る
ことができる。(ネットワークグラフの問題に帰着)
地形データを用いた
思考
最短経路を計算
このAIはどう組むか?
ネットワークグラフに可視判定の情報を埋め込む。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
ここの点グループはお互いが見えている。
ここの点グループはお互いが見えている。
地形データを用いた
思考
ネットワークグラフに可視判定の情報を埋め込む。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
ここの点グループはお互いが見えている。
ここの点グループはお互いが見えない。
地形データを用いた
思考
ネットワークグラフに可視判定の情報を埋め込む。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーからキャラクターが見えている。
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーからキャラクターが見えていない。
このAIはどう組むか?
プレイヤーからキャラクターが見えていない。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
プレイヤーから見つけて貰うために
プレイヤーからキャラクターが見えるように動く。
このAIはどう組むか?
プレイヤーからキャラクターが見えない位置に動く。
ナビゲーションAI
地形データ
(Way Points)
地形データを用いた
思考
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way
Points)
、
ステップ3:
最後に、いつプレイヤーの
攻撃を仕掛けるか、逃げ
るか、を決定する思考を作
る。
地形デー
タを用いた
思考
意思決定
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
攻撃するか? 隠れるか? 牽制するか? を選ぶ思考。
= 意思決定思考
意思決定思考
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
攻撃する
意思決定思考
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
牽制する(=見える場所に行く)
意思決定思考
地形データを用いた
思考
ナビゲーションAI
このAIはどう組むか?
地形データ
(Way Points)
隠れる(=プレイヤーから見えない場所に行く)
意思決定思考
地形データを用いた
思考
このAIはどう組むか?
プレイヤー
キャラクター
岩 地面
池
地形データ
(Way
Points)
、
これで、キャラクター
を知能化することが
できた。
地形デー
タを用いた
思考
意思決定
思考
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
ロジック
オブジェク
トを用いた
ロジック
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
ロジック
オブジェク
トを用いた
ロジック
ここでキャラクターに知能を与えたプロセスを振り返ってみる。
ステップ1: 知識を与えた。
ステップ2: 知識の上で操作する思考を与えた。
ステップ3: 自分の意志を決定する思考を与えた。
知識 思考
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
意思決定
の思考
知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考)
AI自身に「知識」と「知識の上の思考」を与えることが
知能を作る基本。
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
知識を(データ)表現する。(知識) 知識に基づいて思考する。(AI思考)
「知識」と「その上の思考」をどんどん増やして行くことでAIは成長する。
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
知能 = 知識 × 思考
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
これでキャラクター自身が知能を持つことができた。
キャラクターの持つ知能をキャラクターAIと言う。
知能
思考知識
AIを作る
人間
地形データ
(Way
Points)
地形デー
タを用いた
思考
オブジェク
トデータ
意思決定
の思考
自分の
身体データ
身体運動
の
ロジック
この例ではナビゲーションAIとキャラクターAIが連携
していた。
コンテンツ
• 第一章 人工知能とは
• 第二章 ゲームAIとは
• 第三章 ゲームAIとは②
• 第四章 開発者の心持ち
• 第五章 ゲームの知能化
• 第六章 ナビゲーションAI
• 第七章 キャラクターAI
• 第八章 プロシージャル
• 第九章 キャラクターAI(学習)
• 第十章 協調するAI
第四章 開発者の心持ち
ゲームAI分野の特徴
• ゲームデザインと密接に絡み合う
• ユーザーのゲーム体験と深く関係する
• 目に見えない
制作ワークフロー
-- ゲーム企画段階で決めておかなければならないこと
-- ゲームAIに携わる人々(チーム)
-- エンジニアが担当するべきこと、デザイナーが担当するべきこと
ゲームAI制作
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
ゲームAI制作
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
ゲームAI制作
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
こういうの作りたい
こう作れますよ
ゲームAI制作 = お互い一歩踏み込む
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
のりしろの領域
ゲームAI制作 = お互い一歩踏み込む
エンジニア
ゲームデザイナー
(プランナー)
コミュニケーション
職業の境界
のりしろの領域
エンジニアはゲームデザインに口出しをするべき。
(例)キャラクターはAI技術でこんなことができる、こういうふうにすると面白い。
ゲームデザイナーはAI技術に口出しをするべき。
(例) こういうふうなキャラクターの思考をさせたい、など。
コンテンツ
• 第一章 人工知能とは
• 第二章 ゲームAIとは
• 第三章 ゲームAIとは②
• 第四章 開発者の心持ち
• 第五章 ゲームの知能化
• 第六章 ナビゲーションAI
• 第七章 キャラクターAI
• 第八章 プロシージャル
• 第九章 キャラクターAI(学習)
• 第十章 協調するAI
第五章 ゲームの知能化
産業革命
情報革命
ネット革命
知能革命
機械化・自動化(オートメーション化)
電子情報化
オンライン化
知能化
第二次産業革命
電動化
現代は「知能化」の時代に
入りつつある。
ゲーム全体の知能化
ゲーム・ソフトウェア
知能化された
ゲーム・ソフトウェア
ゲームも知能化の時代を迎えようとしている。
では「ゲームの知能化」とはどういうことだろうか?
それを見ていこう。
ゲーム全体の知能化
ゲーム・ソフトウェア
知能化された
ゲーム・ソフトウェア
かつてゲームでは人工知能は独立した部分ではなく、
ゲームシステムの中に含まれていた。
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
3つのAIシステムは序々に分化して独立して行った。
では、今度はナビゲーションAIについてさらに詳しく見てみよう。
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
メタAI
AIの分化
ゲームシステム
メタAI
キャラクターAI ナビゲーションAI
ナビゲーション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という軽い部分だけを配信することで、コンテンツを入れ替えること
が可能になる。
第八章 メタ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
プレイヤーのスタート地点から出口までの道のりで、
コンスタントにモンスターと出会うようにする。
コンテンツ
• 第一章 人工知能とは
• 第二章 ゲームAIとは
• 第三章 ゲームAIとは②
• 第四章 開発者の心持ち
• 第五章 ゲームの知能化
• 第六章 ナビゲーションAI
• 第七章 キャラクターAI
• 第八章 プロシージャル
• 第九章 キャラクターAI(学習)
• 第十章 協調するAI
第六章 ナビゲーションAI
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
ナビゲーション・データ
フリー素材屋Hoshino http://www.s-hoshino.com/
ナビゲーション・データ
ウェイポイント・グラフ
(点を要素とするネットワークグラフ)
ナビゲーションメッシュ・
グラフ
(三角形(凸角形)を要素とする
ネットワークグラフ)
歩くこと
ができる。
フリー素材屋Hoshino http://www.s-hoshino.com/
パス検索とは
現在の地点から指定したポイントへの経路を、
リアルタイムで計算して導く技術。
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
戦術位置解析
ゲーム中(ランタイム)にグリッドか円形にポイントを生
成
条件を設定して要らないポイントをふるい落とす
条件を設定して要らないポイントをふるい落とす
残ったポイントを評価する
一点だけが残る
敵
味方
今考えている
キャラクター
高台
高台
海
穴
ヒートマップ
ヒートマップ
http://www.xn--eckzb3bzhw32znfcp1zduw.com/data/fire.php
メタAI
http://www.xn--eckzb3bzhw32znfcp1zduw.com/data/fire.php
メタAI
http://www.xn--eckzb3bzhw32znfcp1zduw.com/data/fire.php
フロントライン
(勢力均衡線)
コンテンツ
• 第一章 人工知能とは
• 第二章 ゲームAIとは
• 第三章 ゲームAIとは②
• 第四章 開発者の心持ち
• 第五章 ゲームの知能化
• 第六章 ナビゲーションAI
• 第七章 キャラクターAI
• 第八章 プロシージャル
• 第九章 キャラクターAI(学習)
• 第十章 協調するAI
第七章 キャラクターAI
フィールド
3つのAIの連携の例
ナビゲーション
AI
メタAI
キャラクターAI
状況を監視し、キーとなる役割を
適切なタイミングでエージェントに
指示する。
自律的な判断。
仲間同士の協調
地形を解析する
目的に応じた点を見つけ出す
目的地までのパスを計算する
Support
エージェントが自律的に戦闘・協調しつつ、ナビゲーションAIが
戦術的ポイントを教え、メタAIは、全体の戦闘の流れを作る。
FC SFC SS, PS PS2,GC,Xbox Xbox360, PS3, Wii
DC (次世代)Hardware 時間軸20051999
ゲームの進化と人工知能
複雑な世界の
複雑なAI
ゲームも世界も、AIの身体と内面もますます複雑になる。
単純な世界の
シンプルなAI
(スペースインベーダー、タイトー、1978年) (アサシンクリード、ゲームロフト、2007年)
環境
人工知能とは?
身体
人工知能=人工的な存在(=身体)を環境の中で活動させる
入力(センサー) 行動(アウトプット)
知能
知能の世界
環境世界
認識の
形成
記憶
意思の
決定
身体
制御
エフェクター・
身体
運動の
構成
センサー・
身体
意思決定
モジュール
意思決定
モジュール
意思決定
モジュール
記憶体
情報処理過程 運動創出過程
身体部分
情報
統合
運動
統合
サブサンプション・アーキテクチャ(ロドニー・ブルックス)
INPUT OUTPUT
時間
情報抽象度
反射的に行動
少し場合ごとに対応
抽象的に思考
理論的に考える
言語化のプロセス
= 自意識の構築化
Subsumpution Architecture
運動の実現のプロセス
= 身体運動の生成
意思決定モデル
ステート(状態)ベース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つの単位として、
意思決定を行う、という意味となる。
推論エンジン
A B C D E
T F F F F
T T F F F
T T F T F
T T T T F
T T T T T
F T T T T
F F F T T
……………………………
……………………………
…………………
T: True F: False
ID 0 : IF A THEN B
ID 1 : IF A && D THEN C
ID 3 : IF C THEN E
ID 4 : IF B THEN D
ID .. :
ID 4 : IF E THEN ~A
ルール内の条件部がtrueの時、そのルールが発火する(fired)
すると言う。発火したルールの宣言文は true となり、またそれ
が別のルールを発火させる。
発火をくり返して、true/False
が変化して行く様子
ルール制御
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 (動作命令文)
応用可能性例
http://gomibako.symphonic-net.com/vote.cgi?genre=act_b&rating=9
ID 0 : IF (敵確認) THEN (逆方向)
ID 1 : IF (誰もいない) THEN (ランダムウォーク)
ID 2 : IF (フルーツ発見) THEN (フルーツゲット)
ID 3 : IF (パワー発見) THEN (パワーゲット)
ID 0 : IF (敵強い) THEN (サンダガ)
ID 1 : IF (自分弱い) THEN (弱い敵に攻撃)
ID 2 : IF (HP<20) THEN (ケアル)
ID 3 : IF (パワー発見) THEN (パワーゲット)
こうなっているというのではなく、こういうふうに応用できる例
パックマンなど
RPGなど
The Sims 3 における応用
街全体をソーシャルにシミュレーションして人との関係を楽しむゲーム。
たくさんのAIを「人間らしく」制御しなければならない。
特徴付けにプロダクションルールを採用。
Richard Evans, "Modeling Individual Personalities in The Sims 3", GDC 2011
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
Sims3 における応用
あらゆる相互作用を考慮
注目するエージェントの行動範囲だけを考慮
Richard Evans, "Modeling Individual Personalities in The Sims 3", GDC 2011
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
データドリブンなプロダクション・ルール
プロダクションルール
Richard Evans, "Modeling Individual Personalities in The Sims 3", GDC 2011
http://www.gdcvault.com/play/1012450/Modeling-Individual-Personalities-in-The
Sims3 における応用
プロダクションルール
プロダクションルールは種類によってランク付けされていて、
最もランクの高いルールが発火する。
ルールが発火すると他のSimは、その特性を理解する。
データドリブンなプロダクション・ルール
Sims3 における応用
ステートベース意思決定
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体の敵キャラクターが哨戒していて、一人のプレイヤーが部屋に入って来る。
ステート・マシン
ステートマシン(有限状態マシン)
ステートに自分への命令、遷移条件に世界と自分の状況の変化を書く。
ループ構造により、フィードバック構造はない。
待機
攻撃 パトロール
警戒
追跡
追いかける
攻撃する
威嚇攻撃
味方に指示
出口をかためる
味方を呼ぶ
味方がいない
かつ
戦闘範囲外
味方と合流
味方と合流
味方がいる
見失う
見える
見失う 見つける
巡回する
10秒経つ
物音を
聴く
応答がきた
階層型ステート・マシン
(例) Quake HFSM
状態遷移図を用いる
http://ai-depot.com/FiniteStateMachines/FSM-Practical.html
ゴールベース意思決定
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
Goal Goal Goal
ゴールベース意思決定
連鎖プランニング
階層型プラン二ング
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
F.E.A.R のCOMの感覚(センサー)
レイキャスト(視線チェック)、パス検索など重たい処理からなる関数
SensorNodeCombat 隠れる、或いは、隠れながら攻撃できる場所を探す。
SensorSeeEnemy 敵が見えるかチェック
PassTarget 戦術ポイントまでのパスを見つけ、かつそのパスが敵から安全であることをチェックする。
CoverNode 隠れることができるノード
世界
センサー
SensorNodeCombat
SensorSeeEnemy
PassTarget
CoverNode
知識表現
事実形式
センサー = 五感からの情報、及び、五感から得られるはずの情報を模擬する機能
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秒間いる
敵を倒し
た!
Clear!
戦術、振る舞い 操作 ハウンズ
ロボット
身体
ゴール指向型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点間を
移動
歩く、一度
止まる、歩く
攻撃
する
パスを
たどる
敵を叩く 味方を
守る
操作層
振る舞い層
戦術層
戦略層
通信塔
占拠
静止
する
ある地点へ
行く
本拠地
防衛
敵本拠地
破壊
味方を
助ける
巡回
する
敵基地
偵察
近付く
合流
する
巡回
する
逃げる
後退
する
前進
する
敵側面
へ移動
キャラクター
エージェント
アーキテクチャ
意思決定
反射型AI 非反射型AI
ルールベースAI
インフォメーション・フロー
ステートベースAI
ビヘイビア
ベースAI
ゴールベースAI
タスクベースAI
ユーティリティベー
スAI
シミュレーション
ベースAI
GOAP
(ゴール指向
アクション
プラン二ング)
HTN(階層型
タスク
プラン二ング)
FSM
(有限状態
マシン)
BT
(ビヘイビア
ツリー)
カリキュラム(II) 「キャラクターの作り方」 概念マップ
ビヘイビアベース意思決定
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
バトル
撤退
休憩
攻撃
隠れる
逃走する
足止めする
立ち止まる
回復する
トラップ
眠る
回復薬を飲む
弓を放つ
剣を振る
森に潜む
穴を掘る
建物に隠れる
攻撃魔法
氷系
風系プライオリティ
プライオリティ
シークエンス
シークエンス
ランダム
プライオリティ
ランダム
プライオリティ
ランダム
ビヘイビア
(末端ノード)
層
層
選択ルール
選択ルール
ノード選択の原理
親ノードが子ノードを選ぶ 子ノード層がノードを選ぶ
(子ノード同士が争う子ノード競合モデル
child-competitive decision model )
Halo2Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
ノードの実行スキーム(アルゴリズム)
① 優先度リスト法 ② シークエンス法
③ シークエンシャル・ルーピング法 ④ 確率的方法
あらかじめノードの実行順序を
決めておいて、実行可能な
ノードをその順番に従って実行する
基本は②と同じだが、
終端まで行くと、
もう一度実行する。
ランダムに選ぶ
あらかじめノードの優先度
(プライオリティ)を決めて、
実行可能(active)なノードのうち
最も優先度の高いノードを実行
する。実行中のノードより高い優
持つノードがactiveになったときには、
インタラプトすることができる。
root engage
search
どのスキームを選ぶかは、親ノードの種類によって決定されている。
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005 http://naimadgames.com/publications.html
ノードの実行スキーム(アルゴリズム)
⑤ オン-オフ法
ランダム、或いは
優先リスト法によって選ぶが、
一度選んだものを選び直さない
postcombat
実行順序を定義 =振る舞いの順序を規定できる。
振る舞いの順序(常識)を規定できる。
Damian Isla (2005), Handling Complexity in the Halo 2 AI, Game Developer's Conference Proceedings.,
http://www.gamasutra.com/view/feature/130663/gdc_2005_proceeding_handling_.php
意志決定ルーチン
• 親が決める
• 子が競合する
Parent
Child 2
Child 3
Child 4
Child 1
?
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
ビヘイビアベース意思決定
ビヘイビアツリー入門
HALO2におけるビヘイビアツリー
Behavior-based decision making
意志決定
Root
Self-preservation
Engage
Search
Charge
Fight
Guard
Cover
Presearch
Uncover
Guard
Grenade
Investigate
Idle Guard
Retreat Flee
Vehicle fight
Vehicle strafe
Melee
Root
Engage
Search Uncover
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2におけるビヘイビアツリー
ビヘイビアツリー
(DAG = 方向性を持った非循環グラフ)
意志決定
良い点
• 直感的
• モジュール型
• スケーラブル
悪い点
• あまりシンプルではない
• デバッグが困難
• メモリを取る
Root
Self-preservation
Engage
Search
Charge
Fight
Guard
Cover
Presearch
Uncover
Guard
Grenade
Investigate
Idle Guard
Retreat Flee
Vehicle fight
Vehicle strafe
Melee
Root
Engage
Search Uncover
Damian Isla, Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2におけるビヘイビアツリー
ビヘイビアツリー
(DAG = 方向性を持った非循環グラフ)
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
まず、マップを3つの領域に区別する。
「それぞれの領域=戦術ポイント・グループ」として定義する。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
次にそれぞれの領域にビヘイビア・ツリーを割り当てる。
これが、その領域でAIが取る意思決定モジュールとなる。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
こういうチェックボックスのツールで
マスターのビヘイビアツリーをカスタマイズする。
それぞれの領域に割り当てられたビヘイビアツリーを
「スタイル」と言う。 Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
Halo2: Orders & Styles
Order
Initial
If killed X enemies
If X dead
Order
fallback
Style A
Style C
Order
push
forward
Style B
次にそれぞれの領域から領域の遷移条件を定義する。
つまり、これは「領域」をステートとするステートマシンとなる。
Handling Complexity in the Halo 2 AI, D. Isla, GDC 2005
http://naimadgames.com/publications.html
3Dゲームの中のAI
Halo
(HALO、バンジー、2001年) デバッグ画面
The Illusion of Intelligence - Bungie.net Downloads
http://downloads.bungie.net/presentations/gdc02_jaime_griesemer.ppt
ユーティリティベース意思決定
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
シミュレーションベース意思決定
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
シミュレーション・ベース
• シミュレーションは、ここではエージェントの想
像のこと。
• 問題を定式化できない場合、実際に頭の中
で動かしてみることを意味する。
• ゲームの場合は、実際にゲームのルール・原
理に従って運動させてみる。
シミュレーション・ベース
※イメージです。
要所、要所のシミュレーション結果を実際の世界の状況と比較して、
フィードバックをかける。
シミュレーション・ベース
ジャンプするシミュレーションを行うことで、成功するジャンプを見出して実行する。
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がそのデータをもとに同じ動きをする。
ジャンプ 壁面走り
ジャンプ
シミュレーション・ベース
加速・減速など自由な軌道を描けるAIが、複雑な地形を通過するときに、
複数の運動シミュレーションを走らすことで、もっともエレガントな軌道を見出す。
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
動的計画法によるパス検索

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

F.E.A.Rにおけるゴール指向プランニング
F.E.A.Rにおけるゴール指向プランニングF.E.A.Rにおけるゴール指向プランニング
F.E.A.Rにおけるゴール指向プランニング
 
スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能スマートシティ、ゲームエンジン、人工知能
スマートシティ、ゲームエンジン、人工知能
 
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザインワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
ワンランク上のゲームデザイン・レベルデザイン・UIデザインを考える 「コンテキスト」「コンフリクト」「コントラスト」デザイン
 
ゲーム産業講義2020年6月
ゲーム産業講義2020年6月ゲーム産業講義2020年6月
ゲーム産業講義2020年6月
 
ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介ゲームAI・実装事例の紹介
ゲームAI・実装事例の紹介
 
UE4で実現できた理想のゲーム開発ワークフロー
UE4で実現できた理想のゲーム開発ワークフローUE4で実現できた理想のゲーム開発ワークフロー
UE4で実現できた理想のゲーム開発ワークフロー
 
MMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザインMMORPGで考えるレベルデザイン
MMORPGで考えるレベルデザイン
 
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
【GDM37】ゲームAIにおける意思決定と地形表現~『LEFT ALIVE』を事例に紹介~
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
【Unite Tokyo 2018】ユニティちゃんトゥーンシェーダー2.0使いこなしスペシャル ~こだわりの活用法を紹介します!~
【Unite Tokyo 2018】ユニティちゃんトゥーンシェーダー2.0使いこなしスペシャル ~こだわりの活用法を紹介します!~【Unite Tokyo 2018】ユニティちゃんトゥーンシェーダー2.0使いこなしスペシャル ~こだわりの活用法を紹介します!~
【Unite Tokyo 2018】ユニティちゃんトゥーンシェーダー2.0使いこなしスペシャル ~こだわりの活用法を紹介します!~
 
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
【Unite 2018 Tokyo】60fpsのその先へ!スマホの物量限界に挑んだSTG「アカとブルー」の開発設計
 
【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門【Unity道場】新しいPrefabワークフロー入門
【Unity道場】新しいPrefabワークフロー入門
 
ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」ゲームをおもしろくする技術 「ゲームとお笑い」
ゲームをおもしろくする技術 「ゲームとお笑い」
 
ゲームの中の人工知能
ゲームの中の人工知能ゲームの中の人工知能
ゲームの中の人工知能
 
UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!UE4.17で入る新機能を一気に紹介・解説!
UE4.17で入る新機能を一気に紹介・解説!
 
ゲームエンジンの歴史概要
ゲームエンジンの歴史概要ゲームエンジンの歴史概要
ゲームエンジンの歴史概要
 
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
Unity道場 14 Shader Forge 102 ~ShaderForgeをつかって学ぶシェーダー入門~ カスタムライティング/トゥーンシェーダー編
 
Epic Online Services でできること
Epic Online Services でできることEpic Online Services でできること
Epic Online Services でできること
 
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
ゲームの楽しさを図式化する ―楽しさを網羅的に分類する「主体性構造モデル」
 
Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話Unityアニメーションシステムの 今と未来の話
Unityアニメーションシステムの 今と未来の話
 

Semelhante a 人工知能とゲーム(前篇)

ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係
gipwest
 

Semelhante a 人工知能とゲーム(前篇) (20)

ゲームのための人工知能(上)
ゲームのための人工知能(上)ゲームのための人工知能(上)
ゲームのための人工知能(上)
 
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
ゲームAI開発最前線 ~『ゲームAI技術入門』刊行記念 特別対談~
 
ゲームAIと人工生命
ゲームAIと人工生命ゲームAIと人工生命
ゲームAIと人工生命
 
デジタルゲームにおける 人工知能のワークフローと導入フロー
デジタルゲームにおける人工知能のワークフローと導入フローデジタルゲームにおける人工知能のワークフローと導入フロー
デジタルゲームにおける 人工知能のワークフローと導入フロー
 
CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)CODE FES 2017 講演資料(後篇)
CODE FES 2017 講演資料(後篇)
 
デジタルゲームにおける人工知能技術
デジタルゲームにおける人工知能技術デジタルゲームにおける人工知能技術
デジタルゲームにおける人工知能技術
 
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)
 
PLANETS 「ゲームオブザラウンド」05 講演資料
PLANETS 「ゲームオブザラウンド」05 講演資料PLANETS 「ゲームオブザラウンド」05 講演資料
PLANETS 「ゲームオブザラウンド」05 講演資料
 
次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術 次世代ゲームにおける自動生成技術
次世代ゲームにおける自動生成技術
 
ゲームと人工知能
ゲームと人工知能ゲームと人工知能
ゲームと人工知能
 
東方ゲームAIとその歴史
東方ゲームAIとその歴史東方ゲームAIとその歴史
東方ゲームAIとその歴史
 
AI時代の幸福と人間力
AI時代の幸福と人間力AI時代の幸福と人間力
AI時代の幸福と人間力
 
ゲームAIから見るAIの歴史
ゲームAIから見るAIの歴史ゲームAIから見るAIの歴史
ゲームAIから見るAIの歴史
 
デジタルゲームの調整・デバッグ・品質管理 における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理 における人工知能技術の応用
 
人間と人工知能(後篇)
人間と人工知能(後篇)人間と人工知能(後篇)
人間と人工知能(後篇)
 
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
デジタルゲームの調整・デバッグ・品質管理における人工知能技術の応用
 
ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係ソーシャルゲームとスマフォアプリとクラウドの関係
ソーシャルゲームとスマフォアプリとクラウドの関係
 
立教大学講義「デジタルゲームの人工知能」
立教大学講義「デジタルゲームの人工知能」立教大学講義「デジタルゲームの人工知能」
立教大学講義「デジタルゲームの人工知能」
 
デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」デジハリ講義 第8回「人工知能と未来」
デジハリ講義 第8回「人工知能と未来」
 
バーチャルワールド、 スマートシティ、人工知能
バーチャルワールド、スマートシティ、人工知能バーチャルワールド、スマートシティ、人工知能
バーチャルワールド、 スマートシティ、人工知能
 

Mais de Youichiro Miyake

Mais de Youichiro Miyake (20)

AIES 2021 Keynote lecture
AIES 2021 Keynote lecture AIES 2021 Keynote lecture
AIES 2021 Keynote lecture
 
業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在業績リスト 三宅陽一郎 2021年9月現在
業績リスト 三宅陽一郎 2021年9月現在
 
Replaying Japan Keynote 2021
Replaying Japan Keynote 2021 Replaying Japan Keynote 2021
Replaying Japan Keynote 2021
 
デジタルゲームと人工知能
デジタルゲームと人工知能デジタルゲームと人工知能
デジタルゲームと人工知能
 
クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展クラシックゲームを用いたディープラーニングの近年の発展
クラシックゲームを用いたディープラーニングの近年の発展
 
フロイトと人工知能の意識モデル -「新記号論」を読んで -
フロイトと人工知能の意識モデル  -「新記号論」を読んで - フロイトと人工知能の意識モデル  -「新記号論」を読んで -
フロイトと人工知能の意識モデル -「新記号論」を読んで -
 
人工知能にとっての他者と自分
人工知能にとっての他者と自分人工知能にとっての他者と自分
人工知能にとっての他者と自分
 
人工知能と未来
人工知能と未来人工知能と未来
人工知能と未来
 
人工知能と社会
人工知能と社会人工知能と社会
人工知能と社会
 
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
「人工 知能 が 『 生命 』 となるとき」 人間はなぜ AI にキャラクターを欲望するの か
 
Innovative City Forum 2020 講演資料
 Innovative City Forum 2020 講演資料 Innovative City Forum 2020 講演資料
Innovative City Forum 2020 講演資料
 
人工知能とDX
人工知能とDX人工知能とDX
人工知能とDX
 
人工知能と哲学
人工知能と哲学人工知能と哲学
人工知能と哲学
 
人工知能とビジネス
人工知能とビジネス人工知能とビジネス
人工知能とビジネス
 
人工知能とは何か?
人工知能とは何か?人工知能とは何か?
人工知能とは何か?
 
デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術デジタルゲームにおけるマルチエージェント操作技術
デジタルゲームにおけるマルチエージェント操作技術
 
Hapic と AI
Hapic と AIHapic と AI
Hapic と AI
 
人工知能と身体
人工知能と身体人工知能と身体
人工知能と身体
 
ゲンロンカフェ講演資料 「変わる社会と変わる人工知能」
ゲンロンカフェ講演資料 「変わる社会と変わる人工知能」ゲンロンカフェ講演資料 「変わる社会と変わる人工知能」
ゲンロンカフェ講演資料 「変わる社会と変わる人工知能」
 
人工知能とアート
人工知能とアート人工知能とアート
人工知能とアート
 

人工知能とゲーム(前篇)