builderscon 2016 講演資料...

191
人工知能によってプログラムを 有機化する 三宅 陽一郎 (ゲームAI開発者) https://www.facebook.com/youichiro.miyake http://www.slideshare.net/youichiromiyake [email protected] 2016.12.3 @ Red Bull Studios Tokyo (後篇)

Upload: youichiro-miyake

Post on 16-Apr-2017

1.247 views

Category:

Software


3 download

TRANSCRIPT

Page 1: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

人工知能によってプログラムを有機化する

三宅 陽一郎

(ゲームAI開発者)

https://www.facebook.com/youichiro.miyake http://www.slideshare.net/youichiromiyake [email protected]

2016.12.3 @

Red Bull Studios Tokyo

(後篇)

Page 2: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

目次

• 第一章 人工知能の作り方

• 第二章 ソフトウェアの構造

• 第三章 人工知能へ

• 第四章 知識構造

• 第五章 ナビゲーションAI

• 第六章 メタAI ゲーム全体の思考

• 第七章 思考

• 第八章 思考の構造

Page 3: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

第六章 メタAI ゲーム全体の思考

Page 4: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゲーム全体の知能化

ゲーム・ソフトウェア 知能化された

ゲーム・ソフトウェア

かつてゲームでは人工知能は独立した部分ではなく、 ゲームシステムの中に含まれていた。

Page 5: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

AIの分化

ゲームシステム

メタAI

キャラクターAI ナビゲーションAI

3つのAIシステムは序々に分化して独立して行った。 では、今度はナビゲーションAIについてさらに詳しく見てみよう。

Page 6: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

3つのAIの連携の例

フィールド

地形解析・認識 AI

メタAI

エージェントAI

状況を監視し、キーとなる役割を適切なタイミングでエージェントに指示する。

自律的な判断。 仲間同士の協調

地形を解析する 目的に応じた点を見つけ出す 目的地までのパスを計算する

Support

http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/

Page 7: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

レベル

ナビゲーションAI

メタAI

キャラクターAI

エージェントを動的に配置 レベル状況を監視 キャラクターに指示 ゲームの流れを作る

自律的な判断 仲間同士の協調 時にチームAIとなる

メタAI, キャラクターAIの為に レベルの認識のためのデータを準備 オブジェクト表現を管理 ナビゲーション・データの管理 パス検索 / 位置解析

Support

敵キャラクタ-

プレイヤー

頭脳として機能

情報獲得

コントロール

http://dear-croa.d.dooo.jp/download/illust.html http://piposozai.blog76.fc2.com/

Page 8: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタAI

©2016 SQUARE ENIX CO., LTD. All Rights Reserved.

Page 9: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタAIの歴史

1980 1990

メタAIというのは、ゲームそのものに埋め込まれたAI。

1980 1990 2000

古典的メタAI

現代のメタAI

キャラクターAI技術の発展

Page 10: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタAIの歴史

1980 1990 2000

古典的メタAI

現代のメタAI

キャラクターAI技術の発展

その歴史は古く、1980年代にまでさかのぼる。 その時代と現代のメタAIは、異なる点も多いので、 古典的メタAI、現代のメタAIと名づけて区別することにしよう。

Page 11: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

(例)「ゼビウス」(ナムコ、1983) 敵出現テーブル巻き戻し

敵0

敵1

敵2

敵3

敵4

敵5

『あと面白い機能なんですけれど、 ゼビウスには非常に簡単なAIが組み込まれています。 「プレイヤーがどれくらいの腕か」というのを判断して、 出てくる敵が強くなるんです。 強いと思った相手には強い敵が出てきて、 弱いと思った相手には弱い敵が出てきます。 そういったプログラムが組み込まれています。 ゲームの難易度というのは「初心者には難しくて、上級者には簡単だ」ということが、 ひとつの難易度で(調整を)やっていくと起きてしまうので、 その辺を何とか改善したいな、ということでそういったことを始めてみたのですけれど、 お陰で割合にあまり上手くない人でも比較的長くプレイできる、 うまい人でも最後のほうに行くまで結構ドラマチックに楽しめる、 そういった感じになっています。』

- 遠藤雅伸(出演)、1987、「糸井重里の電視遊戯大展覧会」『遠藤雅伸ゼビウスセミナー』フジテレビ -

Page 12: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

現代のメタAI

より積極的にゲームに干渉する。

メタAI

敵配位 敵スパウニング ストーリー レベル 動的生成

ユーザー

Page 13: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタ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 の事例を見てみる。

Page 14: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

適応型動的ペーシング

[基本的発想]

(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

Page 15: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタ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

より具体的なアルゴリズム

Page 16: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタ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

Page 17: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタ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) と言う。

Page 18: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタ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

Page 19: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メタ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

Page 20: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

安全な領域までの道のり(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

Page 21: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

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

Page 22: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

プレイヤーからの可視領域

可視領域(プレイヤーから見えている部屋)では、敵のスパウニング(発生)はできない。

Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html

Page 23: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

敵出現領域

背後 前方

Michael Booth, "The AI Systems of Left 4 Dead," Artificial Intelligence and Interactive Digital Entertainment Conference at Stanford. http://www.valvesoftware.com/publications.html

前方と背後のプレイヤー群から見えてない部屋に、 モンスターを発生させる。

Page 24: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

モンスター・アイテム出現頻度

敵の種類、アイテムの種類ごとに出現頻度が違うが、頻度に応じて発生させる。

高頻度

低頻度

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 (中頻度)

Page 25: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ボス出現アルゴリズム (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

Page 26: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

具体的なアルゴリズム

(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

Page 27: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

まとめ

メタAIは、ゲームの流れを動的に作るAIで、キャラクターAI、イベントなどには命令だけを出す。これは明確に、メタAIと他のモジュールが独立した関係にあるから可能なこと。

Page 28: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

まとめ

メタAIを入れ替えるだけで、ゲームコンテンツが入れ替えることができる。メタAIという軽い部分だけを配信することで、コンテンツを入れ替えることが可能になる。

Page 29: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

参考文献

(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, ソフトバンク クリエイティブ

Page 30: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

世界 / データ群 (Undefined)

センサー エフェクター

インフォメーション・フロー

知識 表現

思考

エージェント・アーキテクチャ

Page 31: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

世界 / データ群 (Undefined)

センサー エフェクター

インフォメーション・フロー

知識 表現

思考

エージェント・アーキテクチャ

Page 32: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

キャラクターAI

センサー

エフェクター

メタAI

Page 33: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

目次

• 第一章 人工知能の作り方

• 第二章 ソフトウェアの構造

• 第三章 人工知能へ

• 第四章 知識構造

• 第五章 ナビゲーションAI

• 第六章 メタAI ゲーム全体の思考

• 第七章 思考

• 第八章 思考の構造

Page 34: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

第七章 思考

Page 35: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

意思決定モデル

ステート(状態)ベース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

実際の静物の意思決定というものは非常に高度で複雑なプロセス。 いくつかの簡易モデルが存在する。

Page 36: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ルールベース意思決定

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

Page 37: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ステートベース意思決定

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

Page 38: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ユーティリティベース意思決定

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

Page 39: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴールベース意思決定

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

Page 40: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴールベースAI (Goal-Based AI) ゴール(目標)を単位として構築する方法

ゴール・ファースト=まずゴールを決める。 しかるのちにゴールを達成するための行動をデザインする。

ゴール ゴールを達成するために 必要なことを考える思考

行動

Page 41: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

2つのゴールベース

ゴールベース

連鎖プランニング

階層型ゴール プランニング

Page 42: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴールベース意思決定

連鎖プランニング 階層型プラン二ング

Goal-based decision making

Page 43: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

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

Page 44: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

統一事実記述形式

統一事実記述形式

場所

方向

感覚

オブジェクト

情報取得時刻

未公開

場所 (位置、信頼度)

方向(方向、信頼度)

感覚のレベル(感覚の種類、信頼度)

オブジェクト(ハンドル、信頼度)

情報取得時刻

キャラクター 事件 欲求 任務 パス オブジェクト

全て以下の形式(フォーマット)で記述する。

ノード

全部で本当は16個の属性がある

Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005) http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt

Page 45: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

自分の記憶領域に認識した事実を蓄積する

Worlking Memory

Agent Architecture Considerations for Real-Time Planning in Games (AIIDE 2005) http://web.media.mit.edu/~jorkin/AIIDE05_Orkin_Planning.ppt

Page 46: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

プランニングのための知識

シンボル

エージェントの認識する世界をもっとシンプルに表現したい

各エージェントについて(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

Page 47: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

シンボル 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

Page 48: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

F.E.A.R.のプランニング② シンボルによる連鎖プランニング

ターゲットAが

死んでいる

ターゲットAが

死んでいる

攻撃

武器が装填

されている

武器が装填

されている

装填する

武器を

持っている 武器を

持っている

武器を拾う

条件なし

プラナー

プランニング

Page 49: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴールベース意思決定 連鎖プランニング

階層型ゴールプラン二ング

Goal-based decision making

Page 50: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

一つのゴールはより小さなゴールから組み立てられる

Goal

Goal Goal Goal

Page 51: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴールはより小さなゴールから組み立てられる

Goal

Goal Goal Goal

Goal

Goal

Goal Goal Goal

Page 52: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

クロムハウンズにおけるプランニング

階層型ゴール指向型プランニング

戦略、戦術から、局所的戦闘までの幅広い戦いが できる必要がある

Page 53: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

階層型ゴール指向型プランニングとは?

Page 54: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

一つのゴールはより小さなゴールから組み立てられる

Goal

Goal Goal Goal

Page 55: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴールはより小さなゴールから組み立てられる

Goal

Goal Goal Goal

Goal

Goal

Goal Goal Goal

Page 56: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

映画を見たい

映画館に行く

映画を見る

映画館は新宿だ

映画館まで歩く

新宿駅に行く

晴れなら 新宿駅へ歩く

雨なら 電車で新宿へ

駅まで歩く

電車に乗る

ゴール指向型プランニングの考え方

Page 57: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

クロムハウンズにおける ゴール指向型プランニング

パスに沿って 移動する

通信塔を 見つける

パスを見つける 通信塔 へ行く

通信塔 を占拠

通信塔を 占領する

撃つ

歩く

止まる 通信塔の 周囲に

10秒間いる

戦術、振る舞い 操作 ハウンズ

ロボット 身体

Page 58: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

クロムハウンズにおける

リアルタイムゴール指向型プランニング

通信塔を 占領する

Seek

Shot

Walk

Stop

戦略 戦術、振る舞い 操作 ハウンズ

敵が来た!

パスに沿って 移動する

通信塔を 見つける

パスを見つける

通信塔 へ行く

通信塔 を占拠

通信塔の 周囲に

10秒間いる

敵と戦う

撃つ

歩く

止まる

ロボット 身体

Page 59: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

クロムハウンズにおける ゴール指向型プランニング

パスに沿って 移動する

通信塔を 見つける

パスを見つける 通信塔 へ行く

通信塔 を占拠

通信塔を 占領する

撃つ

歩く

止まる 通信塔の 周囲に

10秒間いる

戦術、振る舞い 操作 ハウンズ

ロボット 身体

Page 60: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴール指向型AIの開発工程

歩く 撃つ 止まる

2点間を移動 前進しながら戦う

攻撃する パスをたどる

敵を叩く 味方を 守る

操作層

振る舞い層

戦術層

戦略層

通信塔 占拠

その場で静止

周囲を監視 しつつ待機

ゲーム テスト (80回)

問題点を パターンと して抽出

(パターンランゲージによる漸近的成長)

仕様 UML Program

Page 61: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ゴール指向型プログラム構造 (入れ子構造)

Class Goal

クリア条件 +

Activate() Process()

Terminate()

Class Goal

クリア条件 +

Activate() Process()

Terminate()

Class Goal

クリア条件 +

Activate() Process()

Terminate()

Class Goal

クリア条件 +

Activate() Process()

Terminate()

Activate … 初期セッティング

Process … アクティブな間の行動Terminate … 終了処理

(関数の内容を全てスクリプトで記述)

プログラマーのための実装工程

インスタンス

インスタンス

Page 62: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

最終的なゴール総合図

歩く 撃つ 止まる

2点間を 移動

歩く、一度 止まる、歩く

攻撃 する

パスを たどる

敵を叩く 味方を 守る

操作層

振る舞い層

戦術層

戦略層

通信塔 占拠

静止 する

ある地点へ 行く

本拠地 防衛

敵本拠地 破壊

味方を 助ける

巡回 する

敵基地 偵察

近付く 合流 する

巡回 する

逃げる

後退 する

前進 する

敵側面 へ移動

Page 63: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ビヘイビアベース意思決定

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

Page 64: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ビヘイビアベース

ビヘイビア 自分自身の身体的活動をターゲットにしたタスク

Page 65: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ビヘイビアベース

ビヘイビア ビヘイビア

アニメーションほど詳細ではなく、 文脈を形成できるレベルの身体活動を 記述する。

フィードバックは、ツリー構造の 動作に含まれてしまう。 一連の行動を展開することが 目的となる。

Page 66: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ビヘイビアベイスAI (Behavior-Based AI)

ビヘイビア(振る舞い)によって知能を記述する方法ビヘイビアは具体的な身体運動の仕方を定義するものでなくてはならない。

ビヘイビア

ビヘイビア 何らかの意思決定

ビヘイビア

Page 67: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ビヘイビアベース意思決定 ビヘイビアツリー入門

Behavior-based decision making

Page 68: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 69: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

この層の中で実行可能なうち、 最も優先度の高いノードを実行する

Page 70: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 71: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

この層の中で実行可能なノードを 順番に実行する。

Page 72: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 73: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 74: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 75: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 76: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 77: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

この層の中で実行可能なノードを ランダムに一つ実行する。

Page 78: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 79: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

root

バトル

撤退

休憩

攻撃

隠れる

逃走する

足止めする

立ち止まる

回復する

トラップ

眠る

回復薬を飲む

弓を放つ

剣を振る

森に潜む

穴を掘る

建物に隠れる

攻撃魔法

氷系

風系 プライオリティ

プライオリティ

シークエンス

シークエンス

ランダム

プライオリティ ランダム

プライオリティ

ランダム

ビヘイビア (末端ノード)

選択ルール

選択ルール

Page 80: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

シミュレーションベース意思決定

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

Page 81: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

シミュレーション・ベース

• シミュレーションは、ここではエージェントの想像のこと。

• 問題を定式化できない場合、実際に頭の中で動かしてみることを意味する。

• ゲームの場合は、実際にゲームのルール・原理に従って運動させてみる。

Page 82: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

シミュレーション・ベース

※イメージです。

要所、要所のシミュレーション結果を実際の世界の状況と比較して、 フィードバックをかける。

Page 83: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

シミュレーション・ベース

ジャンプするシミュレーションを行うことで、成功するジャンプを見出して実行する。

http://piposozai.blog76.fc2.com/

Page 84: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

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://piposozai.blog76.fc2.com/

http://dear-croa.d.dooo.jp/download/illust.html

Page 85: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

シミュレーション・ベース

加速・減速など自由な軌道を描けるAIが、複雑な地形を通過するときに、 複数の運動シミュレーションを走らすことで、もっともエレガントな軌道を見出す。

Page 86: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Armored Core V における空中移動

岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011) https://cedil.cesa.or.jp/cedil_sessions/view/593

START GOAL

Page 87: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Armored Core V における空中移動

岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011) https://cedil.cesa.or.jp/cedil_sessions/view/593

START GOAL

Page 88: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Armored Core V における空中移動

岡村 信幸, ARMORED CORE Vのパス検索 (CEDEC 2011) https://cedil.cesa.or.jp/cedil_sessions/view/593

START GOAL

動的計画法によるパス検索

Page 89: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

タスクベース意思決定

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

Page 90: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

「階層型タスクネットワーク」

これから一番有望なアルゴリズム

Page 91: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

http://dear-croa.d.dooo.jp/download/illust.html

Page 92: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

回復薬を作る方法

• 赤、青、緑を一色づつ集める。

• 緑、赤、緑の順番に集める。

• 青二つと赤一つ。ただし、赤の前に青を集めないといけない。

Page 93: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メソッド

(=タスクの分解の仕方)

回復薬を作る (タスク)

回復薬を運ぶ (タスク)

回復薬を届ける (タスク)

Page 94: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メソッド (=タスクの分解の仕方)

袋入 れる

ブランチ 全色集める

ブランチ 赤と青を集める

ブランチ 赤と緑を集める

青拾う

赤拾う

緑拾う

袋入 れる

緑拾う 緑拾う 袋入 れる

赤拾う 青拾う

赤拾う 青拾う

順序なしタスク

全順序タスク

局所的順序タスク

全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある

原初タスク

回復薬を作る (タスク)

前提条件

Page 95: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メソッド

(=タスクの分解の仕方)

回復薬を作る (タスク)

回復薬を運ぶ (タスク)

回復薬を届ける (タスク)

Page 96: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

回復薬を運ぶ

• 場所を持ってきて、荷物を載せて、戦場へ運ぶ。

• 荷物に載せるには、宝箱に入れて載せる必要がある。

• 宝箱には札をつけておく必要がある。

Page 97: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

メソッド

メソッド

馬車に 載せる

馬車を呼ぶ 戦場まで行

く 荷を載せる

宝箱に 札をつける

宝箱に入れる

順序なしタスク

全順序タスク

局所的順序タスク

馬車を持っている

原初タスク

回復薬を運ぶ (タスク)

前提条件

荷を載せる

馬車が近くにある

局所的順序タスク

Page 98: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

袋入 れる

回復薬を届ける (ドメイン)

ブランチ 全色集める

ブランチ 赤と青を集める

ブランチ 赤と緑を集める

青拾う

赤拾う

緑拾う

袋入 れる

緑拾う 緑拾う 袋入 れる

赤拾う 青拾う

赤拾う 青拾う

順序なしタスク

全順序タスク

局所的順序タスク

全色広場にある 広場には赤と緑の宝石がある 赤と青の宝石がある

原初タスク

回復薬を作る (タスク)

Page 99: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

袋入 れる

青拾う

赤拾う 青拾う

スタート

馬車を 呼ぶ

戦場まで行く

ゴール

馬車に載せる

宝箱 に札を つける

宝箱に入れる

Page 100: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Scope : movie

Game AI Conference, Paris, June 2009

Page 101: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Architecture

Game AI Conference, Paris, June 2009

Page 102: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

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)

Page 103: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

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

Page 104: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

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/

Page 105: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Killzone 2 Screen

On the AI Strategy for KILLZONE 2′s Multiplayer Bots http://aigamedev.com/open/coverage/killzone2/

Page 106: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

司令官のAI

部隊長のAI

兵 士 の AI

兵 士 の AI

兵 士 の AI

部隊長のAI

兵 士 の AI

兵 士 の AI

兵 士 の AI

部隊長のAI

兵 士 の AI

兵 士 の AI

兵 士 の AI

防衛、前進など戦術を指示

戦術の成功・失敗を報告 (フィードバック)

移動地点を指示

ターゲット指示

指示の再発行要求

指示の再発行要求

Page 107: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

「Killzone 2」におけるチームの構造図と コミュニケーション・パス

司令官のAI

部隊長のAI

各メンバ | の AI

各メンバ | の AI

各メンバ | の A

部隊長のAI

各メンバ | の AI

各メンバ | の A

各メンバ | の AI

部隊長のAI

各メンバ | の A

各メンバ | の AI

各メンバ | の A

防衛、前進など戦術を指示

戦術の成功・失敗を報告 (フィードバック)

移動地点を指示

ターゲット指示

指示の再発行要求

指示の再発行要求

Page 108: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Individual AI

Game AI Conference, Paris, June 2009

Page 109: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

各メンバーのエージェント・アーキテクチャ

上からの 命令

メッセージ

情報 統合

World State

HTN プランナー

計画

タスク 実行機

コントローラー インプット

知能内部

感覚刺激

認識

脅威

Page 110: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

知能の世界

環境世界

認識の 形成

記憶

意思の 決定

身体 制御

エフェクター・身体

運動の 構成

センサー・身体

意思決定 モジュール

意思決定 モジュール

意思決定 モジュール

対象・ 現象

情報の流れ(インフォメーション・フロー)

影響を与える 影響を受ける

Page 111: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

各メンバーのエージェント・アーキテクチャ

上からの 命令

メッセージ

情報 統合

World State

HTN プランナー

計画

タスク 実行機

コントローラー インプット

知能内部

感覚刺激

認識

脅威

Page 112: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Squad AI

Game AI Conference, Paris, June 2009

Page 113: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Squad AI

Game AI Conference, Paris, June 2009

Page 114: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Search & Destroy: Defending (2)

Paris Game AI Conference, 2009.

Page 115: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Search & Destroy: Defending (3)

Paris Game AI Conference, 2009.

Page 116: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Ⓒ2014 SQUARE ENIX CO., LTD. All Rights Reserved.

部隊長のエージェント・アーキテクチャ

司令官からの命令

各兵士からの報告

情報 統合

World State

HTN プランナー

計画

タスク 実行機

各メンバーへの命令

知能内部

メモリ領域

実行モジュール

Page 117: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

銃で攻撃 ロケットで攻撃

銃で攻撃

ロケットで 攻撃

敵がヒューマノイド 射程距離内

敵はヒューマノイドでも砲台でもない 射程距離内

武器を選択して攻撃 (タスク)

装填

攻撃

終了

装填

攻撃

終了

Page 118: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

… 前進

なし

拠点を防衛するように命令する (タスク)

それまでのメンバーデータを消去

新しくメンバーの状況を収集

命令発行シークエンス起動 (これまでの行動を停止せよ)

前進命令を発行

到着したら停止命令

拠点を防衛せよ

Page 119: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

かがみながら近づく

治療器具選択

行動する (タスク)

治療プランスタート

治療を周囲に通達

治療する

プラン終了

防御

ターゲットを選択

治療器具を使用する

徒歩前進

治療

行動

中止 継続 開始

治療

器具変更なし 器具変更あり

メソッド適用

メソッド適用

メソッド適用

メソッド適用

Page 120: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

HTN (Hierarchical Task Network)

Precondition

Task

Precondition

Task

On the AI Strategy for KILLZONE 2′s Multiplayer Bots http://aigamedev.com/open/coverage/killzone2/

Page 121: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

HTN (Hierarchical Task Network) 各AIの思考 On the AI Strategy for KILLZONE 2′s Multiplayer Bots

http://aigamedev.com/open/coverage/killzone2/

Page 122: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

TaskList

TaskList

分岐リスト

分岐リスト

分岐(Branch)

分岐(Branch)

On the AI Strategy for KILLZONE 2′s Multiplayer Bots http://aigamedev.com/open/coverage/killzone2/

Page 123: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

On the AI Strategy for KILLZONE 2′s Multiplayer Bots http://aigamedev.com/open/coverage/killzone2/

Page 124: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

目次

• 第一章 人工知能の作り方

• 第二章 ソフトウェアの構造

• 第三章 人工知能へ

• 第四章 知識構造

• 第五章 ナビゲーションAI

• 第六章 メタAI ゲーム全体の思考

• 第七章 思考

• 第八章 思考の構造

Page 125: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

第八章 思考の構造

Page 126: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

コンポジット構造(ゴール、タスク)

要素 要素

要素

要素

要素

要素

要素

コンポジット・パターン(デザインパターン)

Page 127: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

連結型アーキテクチャ(ゴール、タスク)

要素 要素 要素

Page 128: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

知識

思考

最小の知能の単位 階層型アーキテクチャ

Page 129: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

知識 思考

知識 思考

知識 思考

メタ思考

メタ思考アーキテクチャ

Page 130: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

思考の構造

• 階層型

• メタ思考型

• コンポジット型

• 連結型アーキテクチャ

Page 131: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

思考の構造

• 階層型

• メタ思考型

• コンポジット型

• 連結型アーキテクチャ

静的な思考 動的に生成される思考

Page 132: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

コンポジット構造(ゴール、タスク)

要素 要素

要素

要素

要素

要素

要素

コンポジット・パターン(デザインパターン)

動的(リアルタイム)に生成

Page 133: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

連結型アーキテクチャ(ゴール、タスク)

要素 要素 要素

動的(リアルタイム)に生成

Page 134: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

知識

思考

最小の知能の単位 階層型アーキテクチャ

動的(リアルタイム)に生成

Page 135: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

知識 思考

知識 思考

知識 思考

メタ思考

メタ思考アーキテクチャ

動的(リアルタイム)に生成

Page 136: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

思考の構造

• 階層型

• メタ思考型

• コンポジット型

• 連結型アーキテクチャ

静的な思考 動的に生成される思考

Page 137: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

スクリプト

Scripted AI から自律型AIへの変化

ゲームデザイナーの頭の中 ゲームデザイナーの頭の中

知識 思考

Scripted AI 自律型 AI (Autonomous AI)

操り人形(Scripted AI)から、キャラクターが自分で考えて行動する自律型AI(Autonomous AI)になるためには、

ゲームデザイナーが頭の中で持っている知識と思考をAIに埋め込む必要がある。

Page 138: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

スクリプト

Scripted AI から自律型AI、生成型AI

ゲームデザイナーの頭の中

ゲームデザイナーの頭の中

知識 思考

Scripted AI 自律型 AI (Autonomous AI)

知識 その場で 思考 生成

生成的AI (Generative AI)

http://piposozai.blog76.fc2.com/

Page 139: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

付録1: 概念とアーキテクチャ

Page 140: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

人工知能が用いる概念

• ゴール

• タスク

• ユーティリティ

• エージェント

• 知識

Page 141: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

概念構造

ソフトウェア構造

Page 142: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

世界に向かってソフトウェアを開いて行く

世界

プログラムの断片

Page 143: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

世界に向かってソフトウェアを開いて行く

世界

プログラムの断片

Page 144: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

世界に向かってソフトウェアを開いて行く

世界

プログラムの断片

Page 145: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

プログラムの断片

プログラムの断片

Page 146: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

世界

知能

Page 147: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Abstraction

Time

World

Sensor Effector

World Dynamics

Artificial Intelligence

Object

Object Object

Object

Object

明確に内的対象を 外的事物と同じように 存在するものとして 導入することができる。

Page 148: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Decision-Making

Physical Informat

ion

Abstract Informat

ion

More Abstract Informat

ion

Abstraction

Time

Decision-Making

Decision-Making

Decision-Making

Multi-Layered Blackboard

Abstraction

Abstraction

Reduction

Reduction

Reduction

World

World Dynamics

Artificial Intelligence

Object

Object image on the lowest layer (Umwelt)

Object image on the second layer

Object image on the third

layer

Object image on the top

layer

インフォメーション・フローは 志向性の流れを作り出している。

Page 149: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

統合された エージェント・アーキテクチャ

Page 150: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Physical Informat

ion

Abstract Informat

ion

More Abstract Informat

ion

Abstraction

Time

Decision-Making

Decision-Making

Decision-Making

Multi-Layered Blackboard

Abstraction

Abstraction

Reduction

Reduction

Reduction

World

Sensor Effector

World Dynamics

Artificial Intelligence

Decision-Making

Decision-Making

Page 151: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Physical Informat

ion

Abstract Informat

ion

More Abstract Informat

ion

Abstraction

Time

Decision-Making

Decision-Making

Decision-Making

Multi-Layered Blackboard

Abstraction

Abstraction

Reduction

Reduction

Reduction

World

World Dynamics

Artificial Intelligence

Object

Object image on the lowest layer (Umwelt)

Object image on the second layer

Object image on the third

layer

Decision-Making Object image

on the top layer

Page 152: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Physical Informat

ion

Abstract Informat

ion

More Abstract Informat

ion

Abstraction

Time

Decision-Making

Decision-Making

Decision-Making

Multi-Layered Blackboard

Abstraction

Abstraction

Reduction

Reduction

Reduction

World

World Dynamics

Artificial Intelligence

Object

Object image on the lowest layer (Umwelt)

Object image on the second layer

Object image on the third

layer

Decision-Making Object image

on the top layer

Page 153: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

Physical Informat

ion

Abstract Informat

ion

More Abstract Informat

ion

Abstraction

Time

Decision-Making

Decision-Making

Decision-Making

Multi-Layered Blackboard

Abstraction

Abstraction

Reduction

Reduction

Reduction

World

World Dynamics

Artificial Intelligence

Object

Object image on the lowest layer (Umwelt)

Object image on the second layer

Object image on the third

layer

Decision-Making Object image

on the top layer

Page 154: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

付録2: 記憶とアーキテクチャ

Page 155: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

記憶の海 (Working Memory)

ステージからワーキングメモリに記憶(スタック)する。

注意の焦点 t=T

注意の焦点 t=T

http://piposozai.blog76.fc2.com/

Page 156: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ステージからワーキングメモリに記憶(スタック)する。

注意の焦点 t=T

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

http://piposozai.blog76.fc2.com/

Page 157: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

ステージからワーキングメモリに記憶(スタック)する。

注意の焦点 t=T

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

http://piposozai.blog76.fc2.com/

Page 158: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

ステージからワーキングメモリに記憶(スタック)する。

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

対象Aに対する記憶スタック

意識の流れ

http://piposozai.blog76.fc2.com/

Page 159: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

C4 アーキテクチャ (MIT メディアラボ Synthetic Creature Group, 2000)

キャラクターAIの内部モデルとしてのブラックボード・アーキテクチャ

特徴: - AIの各機能が モジュール化されている - モジュール同士は ブラックボードを経由して コミュニケーションを取る。 - 各モジュールはKS

記憶領域

ブラックボードには記憶だけでなく、 知識、身体の情報など、個体の持つ あらゆる情報が表現される

ブラックボード・アーキテクチャ = 記憶の場所 + 制御アーキテクチャ

ブラックボードは、 キャラクター表現そのもの。

古典的機能

エージェントにおける 新しい機能

Page 160: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

ステージからワーキングメモリに記憶(スタック)する。

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

対象Aに対する記憶スタック

意識の流れ

http://piposozai.blog76.fc2.com/

Page 161: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

ステージからワーキングメモリに記憶(スタック)する。

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

対象Aに対する記憶スタック

http://piposozai.blog76.fc2.com/

Page 162: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

テンポラリー記憶の圧縮・パッキング

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

対象Aに対する記憶スタック

情報の圧縮・パッキング =対象Aに対する知識

http://piposozai.blog76.fc2.com/

Page 163: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

テンポラリー記憶の圧縮・パッキング

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

対象Aに対する記憶スタック

対象Aに 対する知識

対象Aに対する知識

http://piposozai.blog76.fc2.com/

Page 164: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

ワーキングメモリから短期記憶へさらにスタック。

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

対象Aに対する記憶スタック

対象Aに 対する知識

対象Aに対する知識

短期記憶

書き込み

http://piposozai.blog76.fc2.com/

Page 165: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

ステージからワーキングメモリに記憶(スタック)する。

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

スイカに対する記憶スタック

Page 166: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

テンポラリー記憶の圧縮・パッキング

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

スイカに対する記憶スタック

スイカに対する知識

Page 167: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

テンポラリー記憶の圧縮・パッキング

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

スイカに対する記憶スタック

スイカに対する知識

スイカに対する知識

Page 168: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

ワーキングメモリから短期記憶へさらにスタック。

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

スイカに対する記憶スタック

スイカに対する知識

スイカに対する知識

短期記憶

書き込み

Page 169: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

テンポラリー記憶の圧縮・パッキング

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

地形に対する記憶スタック

地形に対する知識

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 170: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

テンポラリー記憶の圧縮・パッキング

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

地形に対する記憶スタック

地形に対する知識

地形に対する知識

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 171: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点 t=T

ワーキングメモリから短期記憶へさらにスタック。

注意の焦点 t=T

注意の焦点 t=T-1

記憶の海 (Working Memory)

注意の焦点 t=T-2

注意の焦点 t=T-3

注意の焦点 t=T-N

注意の焦点 t=T…

意識の流れ

地形に対する記憶スタック

地形に対する知識

地形に対する知識

短期記憶

書き込み

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 172: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点

人間は意識の中に世界がどう現われたかを覚えている。

ゴブリンに 対する知識

地形に対する知識

スイカ に対する知識

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 173: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

付録: : 記憶の構造

第一節 テンポラリーな記憶のスタック

第二節 記憶のリコール(呼び出し)

第三節 記憶の階層構造

Page 174: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点

人間は意識の中に世界がどう現われたかを覚えている。

ゴブリンに 対する知識

地形に対する知識

スイカ に対する知識

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 175: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点

記憶のマッチングとリコール

ゴブリンに 対する知識

地形に対する知識

スイカ に対する知識

呼び出し =マッチング

書き込み =対象の判別 && 知識・経験の想起 =リコール

こいつ 出会った ことある!

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://piposozai.blog76.fc2.com/

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 176: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点

記憶のマッチングとリコール

ゴブリンに 対する知識

地形に対する知識

スイカ に対する知識

呼び出し =マッチング

書き込み =対象の判別 知識・経験の想起 =リコール

ここ 見たこと ある!

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://piposozai.blog76.fc2.com/

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 177: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点

記憶のマッチングとリコール

ゴブリンに 対する知識

地形に対する知識

スイカ に対する知識

呼び出し =マッチング

書き込み =対象の判別 知識・経験の想起 =リコール

これ 見たこと ある!

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://piposozai.blog76.fc2.com/

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 178: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点

記憶のマッチングとリコール

ゴブリンに 対する知識

地形に対する知識

スイカ に対する知識

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://piposozai.blog76.fc2.com/

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 179: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

注意の焦点

記憶体=プロセッサー(KS)

モンスターに 対する知識

地形に対する知識

スイカ に対する知識

特定の対象に対する知識は専門家(エキスパート)が 受け持っているとみなすことができる。

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://piposozai.blog76.fc2.com/

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 180: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

へび

に対する知識

注意の焦点

記憶体=プロセッサー(KS)

ゴブリンに 対する知識

地形に対する知識

スイカ

に対する知識

リンゴに

対する知識

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://piposozai.blog76.fc2.com/

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

Page 181: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

付録: 記憶の構造

第一節 テンポラリーな記憶

第二節 記憶のリコール

第三節 記憶の階層構造

Page 182: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

へび

に対する知識

注意の焦点

記憶の呼び出しと書き込みも黒板モデルとみなすことができる。

ゴブリンに 対する知識

地形に対する知識

スイカ

に対する知識

リンゴに

対する知識

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html

http://piposozai.blog76.fc2.com/

Page 183: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

短期記憶

注意の焦点

マルチスケールな記憶システム構造

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html http://piposozai.blog76.fc2.com/

Page 184: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

長期記憶

短期記憶

注意の焦点

マルチスケールな記憶システム構造

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html http://piposozai.blog76.fc2.com/

Page 185: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

固定記憶

長期記憶

短期記憶

注意の焦点

マルチスケールな記憶システム構造

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html http://piposozai.blog76.fc2.com/

Page 186: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

固定記憶

長期記憶

短期記憶

注意の焦点

マルチスケールな記憶システム構造

スタック

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html http://piposozai.blog76.fc2.com/

Page 187: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

固定記憶

長期記憶

短期記憶

注意の焦点

マルチスケールな記憶システム構造

スタック

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html http://piposozai.blog76.fc2.com/

Page 188: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

固定記憶

長期記憶

短期記憶

注意の焦点

マルチスケールな記憶システム構造

リコール

スタック

http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html http://piposozai.blog76.fc2.com/

Page 189: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

固定記憶

長期記憶

短期記憶

注意の焦点

記憶構造

※時間スケールはそれぞれのスタック・リコールで異なる。 http://www.123rf.com/photo_10039937_foggy-forest-at-the-morning-at-autumn.html http://piposozai.blog76.fc2.com/

Page 190: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

記憶のレベル

さまざまな記憶レベルに モンスターに関する記憶が 記録されています。

Page 191: Builderscon 2016 講演資料 「人工知能によってプログラムを有機化する」(後篇)

記憶のレベル

http://piposozai.blog76.fc2.com/