エージェントモデルの構造を利用したミクロダイナミクス分析技法○加藤孝史 1 山根昇平 2 山田広明 2 大堀耕太郎 2 高橋真吾 3（1 富士通九州ネットワークテクノロジーズ㈱㈱富士通研究所

23

早稲田大学）

Micro Dynamics Analysis Method based on Structural Feature of Agent-based Model*T. Kato1, S. Yamane2, H. Yamada2, K. Ohori2 and S. Takahashi3（1 Fujitsu Kyushu Network Technologies Ltd., 2 Fujitsu Laboratories Ltd., 3 Waseda University）
概要－ 近年，エージェントベース社会シミュレーションの分析技法が複数提案されている．本研究では，マクロ現象が生じた原因をエージェントのモデルパラメータの変化から明らかにする分析技法
であるミクロダイナミクス分析に焦点を当てる．これまで，ミクロダイナミクス分析は専門家のノウ
ハウで実施されていたため重要なダイナミクスの見落としや，多大な時間を要するといった問題があった．本稿では，ミクロダイナミクス分析を体系的に実行する方法論の具体的な手続きを提案した上で，エージェントのモデル構造を利用した原因発見の改善を提案する．また，仮想空港におけるサインシステムのシミュレーションを用いて，クラスタリングによる仮説生成結果の違いや，実際に得られた仮説から立案した施策の効果より，提案技法の有効性を検証する．
キーワード: 社会シミュレーション，ミクロダイナミクス分析，ミクロマクロリンク，モデル構造

1

はじめに

ショッピングモールや空港での待ち時間や歩行距離
は顧客満足度の指標となっており，多様な施策案を用いた満足度向上の取り組みが行われている．しかし，実現場での施策の立案と実施を繰り返すと時間的・金銭的コストが増大するとともに，顧客満足度の低下を引き起こすリスクがある．このような問題に対して，
エージェントベース社会シミュレーション（ABSS:Agent-Based Social Simulation）を用いて施策実施後の起こり得る現象を事前に検討し，意思決定を支援する研究が進んでいる1)2)3)4)．
ABSSは，個々の振る舞いから生じる社会システムのマクロ現象を再現し，その現象が生じた原因を説明することができる．この原因説明はミクロダイナミクス
分析5)6)と呼ばれ，エージェントの内部モデル，行動モ
デル，学習モデルのパラメータ変化を分析することで実現される．しかし，従来のミクロダイナミクス分析
は専門家のノウハウにより実現されており，体系的な方法が存在しておらず，重要な原因を見落とす可能性がある．また，大量のシミュレーションログを分析する必要があるため，多大な時間を要し，実現場へのフィードバックが遅れる場合がある．
Fig.1に示すように，
ABSSの分析技法は複数提案されている．後藤ら7)は，施策によって生じる可能性のある
結果や，それをもたらすメカニズムの知見を得るシナ
リオ分析において，施策ごとの統計値の比較によるラ
ンドスケープ分析を提案している．田中ら8)は，各試行

分析対象

分析対象

全シナリオ
全試行

１シナリオ
１試行

統計値を使用した施策の分析⇒ランドスケープ分析

エージェントの振る舞いによる
マクロ現象の分析

グルーピングによるマクロ現象の分析⇒ログクラスター分析⇒ミクロダイナミクス分析

Fig. 1: 3 手法の関係性.
のエージェントの振る舞いを時系列データとして捉え，多数の試行結果をクラスタリングすることでマクロ現象が生じるプロセスをいくつかのパターン(ログクラスタ)に分類している．この技法は，各試行を単一の時
系列データとして扱っており，マクロ現象をエージェ
ント個々のミクロダイナミクスからの説明を対象としていない．一方，山根ら9)は，マクロ現象の形成に関与したエージェント群の特徴を得ることで，マクロ現象の発生原因をミクロレベルから体系的に説明する方法を提示している．
山根ら9)のミクロダイナミクス分析は，主として5つステップから構成される（Fig.2）．ステップ1では，一試行におけるシミュレーションで，注目したいマク

Fig. 2: ミクロダイナミクス分析のプロセス.

­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­
第18回社会システム部会研究会 (2019年3月17日-19日・沖縄)- 54 -

PG0002/19/0000-0054 © 2019 SICE

ロ現象を切り出す．ステップ2では，ステップ1のマクロ現象と関わりがあるエージェントに対してラベルの付与を行う．ステップ3では，エージェントのパラメー
タや行動・学習ログの各変数についてクラスタリングを行う．これにより，それぞれの変数について類似した特徴を持つエージェント群のクラスタを生成し，それぞれのエージェントを，各変数が属するクラスタを示した特徴ベクトルで表現することができる．ステッ
プ4の精度評価では，ステップ2で付与したラベルと特徴ベクトルとの相関を得ることにより，マクロ現象とエージェント群の特徴との関係を評価する．ステップ
5では，評価値の高いエージェント群をステップ3のク
ラスタとともに出力し，マクロ現象の原因とする．
山根らの方法論によれば，説明したいマクロ現象と相関の強いエージェントの特徴を網羅的に得ることができる．しかし，実施のための具体的な技法は明記されておらず，
分析者のノウハウに依存する部分が残る．
特に，施策の意思決定に用いる場合には，有用でない
原因が含まれる場合がある．例えば，特定の設備における待ち行列を説明したいとき，ある時間帯に来場した人々が長く待ちやすいといった原因や，その設備を含む経路をたどった人々が長く待ちやすいといった原因が得られやすい．ところが，これらの原因からは，設備の増強以外どのような施策を採れば待ち行列が解消するかについての示唆がなく，意思決定の支援に有効ではない．また，すべての特徴の組合せについて精度を計算するため，複雑なモデルを持つシミュレーシ
ョン結果に対しては計算量が増大する．
そこで，本稿では，山根らの方法論について基本的な手続きを定める．その上で，モデルパラメータや行
動・学習ログが多様なシミュレーションにおいては，
いくつかの種類の原因が存在することを，ミクロマク
ロリンクの観点から指摘する．その種類をエージェン
トのモデル構造を利用して特定する技法を提案し，ス
テップ4，5を修正する．さらに，サインシステムのシ
ミュレーション事例10)を分析し，提案技法の有効性を
検討する．

2

ステップ 3. クラスタリング
エージェントのモデルパラメータや行動・学習ログの変数ごとにクラスタリングし，各変数が属するクラスタのベクトルにより一つのエージェントの特徴を表現する．クラスタリング手法は，対象とするデータに合わせて柔軟に選択する．クラスタリングにk-meansを使用する場合について，Example 1で説明する．kはク
ラスタの個数を決めるパラメータであるが，ここでは，作られるクラスタがラベル付与エージェント群を必要十分に被覆するようにkを決める．作られるクラスタがラベル付与エージェント群を必要十分に被覆しているかどうかは，F値を用いて評価する．
Example 1 calculate_k(data, k_min, k_max)
for k = k_min to k_max doclusters  k-means(data, k)
for cluster in clusters do
f1  ラベルとクラスタでF値算出
f1_max[k]  max(f1_max, f1)
result_k  min(argmax(f1_max))
return result_k
ステップ 4. 精度評価
以下の3つの手続きに従い，精度評価を行う．
1. 全組合せ算出
ステップ3により得たクラスタから，すべてのクラスタの組み合わせについてその積集合となるエージェント群を算出する．
2. 各組み合わせの精度算出
ステップ4-1で算出したすべてのエージェント群に対して，ラベル付けされたエージェント群とのF値を(1)式に従い算出する．F値により各組
み合わせに対してマクロ現象への影響度を計測する．
2 ∗ 𝑅𝑒𝑐𝑎𝑙𝑙 ∗ 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛
𝐹=(1)
𝑅𝑒𝑐𝑎𝑙𝑙 + 𝑃𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛
3.

提案技法

本節では，
Fig.2で示したミクロダイナミクス分析の具体的な手続きを定めたうえで，
その問題点を提起し，改善策を提案する．
2.1 ミクロダイナミクス分析の基本的な手続き
山根らの手法の具体的な手続きをFig.2の5ステップ
に従って示す．
ステップ 1. 説明したいマクロ現象の決定
本分析技法において原因を得たいマクロ現象を決定する．例として混雑を対象とする場合は，シミュレー
ション結果の待ち行列やエージェントの密集度などにより混雑地点や時刻を特定し，その地点のその時刻の混雑を，説明したいマクロ現象とする．
ステップ 2. 関連するエージェントの抽出
ステップ1で決定したマクロ現象と関連するエージ
ェントの抽出し，ラベルをつける．例えば，混雑地点と時刻を決定したとき，その地点その時刻に存在したエージェントを抽出する．

評価値によるソーティング
ステップ4-2により算出したF値を用いて降順
ソートにより列挙を行う．これにより，上位に表示されている組み合わせほど，マクロ現象の主要因である可能性が高く，上位から確認していくことでマクロ現象の原因発見ができる．

ステップ 5. 原因の出力
ステップ4で得られた組み合わせを出力する．
施策の立案者は，本出力を解釈し施策を立案する．
2.2 ミクロマクロリンクが存在する状況での原因
マクロ現象は各エージェントの行動の集積であるので，その原因はミクロレベルから完全に記述可能である．このとき，ミクロマクロリンクに注意して，原因を分析することが重要になる．ミクロマクロリンクとは，ミクロ現象であるエージェントの行動がその集積としてマクロ現象を作り出し，作り出されたマクロ現象はそれが各エージェントに認知されることでそれらの行動に影響を与え，変化したエージェントの行動の集積が次の時点のマクロ現象を作り出すといった，エージェントからマクロ現象への因果関係，また，マク- 55 -

ロ現象からエージェントへの因果関係を指す11)．ミク
ロマクロリンクは，人々が環境を認知し自律的に行動を変える社会的状況で生じる．そのため社会的状況をモデル化するABSSにおいても，当然ミクロマクロリン
クは存在する．ミクロマクロリンクが存在する状況では，マクロ現象を作り出したエージェントの行動を特定するだけでなく，当該エージェントの行動が環境か
らどのような影響を受けて作り出されたのかまで特定することが重要になる．

変数B

変数C

変数D

変数E

クラスター0クラスター0クラスター0クラスター0クラスター0クラスター1クラスター1クラスター1クラスター1クラスター1クラスター2クラスター2クラスター3クラスター3「属性」「認知」「行動」それぞれから
1つ以上のクラスタを抽出

本論文では，環境からエージェントへの影響の痕跡であるエージェントが持つ「認知」変数に着目し，「行
動」「属性」「認知」の3種類の変数から，原因を分析・記述する枠組みを提案する．ここで，行動変数とは，エージェントの行動の結果に関わる値である．属性変数とは，エージェントの行動傾向や意思決定様式を規定するそれぞれのエージェント固有の値である．認知変数とは，環境認知や学習をきっかけにエージェントの行動傾向や意思決定様式を変化させる内部変数であり，一般に時間変化する値である．エージェントが持
つ変数が三つのどの変数に属するかは，エージェントのモデル構造から決定することができる．
行動変数は，
マクロ現象を作り出した直接の原因である．属性変数
は，各エージェントの行動傾向を決める要因であるので原因となった行動を説明するものである．認知変数
は，環境からエージェントへの影響の痕跡であり，かつ，各エージェントの行動を決める要因であるのでこれもまた原因となった行動を説明するものである．
「行
動」「属性」「認知」から分析することで，マクロ現象の原因である行動とその行動を引き起こした属性（エージェント単位に還元できる因果効果）と，認知を介してその行動を引き起こした環境要因（ミクロマクロリンクに関連した因果効果）を区別することができる．
この技法を2.1の基本的な手続きのステップ4に反映させ，それをステップ4’とする．
ステップ4’. 精度評価
1. 「属性」「認知」「行動」変数の組合せ算出「属性」「認知」「行動」変数のそれぞれにおいてクラスタを1つ以上抽出する．Fig. 3に例を示す．
2. 従来のステップ4
ステップ4’-1により事前に「属性」「認知」「行動」それぞれにおいてクラスタが1つも含まれない組み合わせを除外しているため，従来のステップ4を実行することで「属性」「認知」「行動」それぞれにおいて最低1つのクラスタを含む組み合わせを得ることが可能となる．
以上により，解釈性が高く施策に直接結びつく結果を得ることを提案する．

分析技法の検証

本節では，サインシステムのシミュレーション事例を対象とし，提案技法の有効性を下記 2 つの仮説を検証する．
１．2.1 項の基本的な手続きと比較して，解釈すべき原因数を減らすことができる．
２．2.1 項の基本的な手続きと比較して，有効な施
10)

行動

変数A

クラスター2

2.3 エージェントモデル構造を利用した技法

3

認知

属性

Fig. 3: ステップ 4’-1
策導出を支援できる．
3.1 分析対象のシミュレーション
サインシステム事例 10)は大型の施設におけるサー

ビスの質を向上させるためのサインシステムの影
響をシミュレーションにより計測したものである．
本シミュレーションの特徴は，サインモデルである．
サインモデルはエージェントに渡す情報と，その取得範囲で構成されており，エージェントがサインモデルの情報取得範囲に入ることで，エージェントはその情報を得ることができる．エージェントは利用したい施
設カテゴリの想起集合を持っており，その集合内から
1 つのカテゴリを確率的に選択する．カテゴリを達成できる施設の選択は，そのカテゴリに属している認知している施設集合から各エージェントの施設に対する選好値と現在位置から施設までの移動時間から(2)式に従い効用値を算出し，(3)式の多項ロジットモデルを用いて確率的に選択する．
𝑈(𝑖) = 𝛼ℎ𝑖 + 𝛽 ∙ 𝑡𝑖𝑚𝑒ℎ𝑖(2)𝛼ℎ𝑖 はエージェント ℎ の施設 𝑖 に対する選好値で，𝑡𝑖𝑚𝑒ℎ𝑖 はエージェント ℎ が施設 𝑖 へ到達するために必要な時間で，𝛽は移動時間に対する重みを示す．
exp𝑈(𝑖)(3)𝑝(𝑖) =∑𝑛∈𝑋 exp𝑈(𝑛)𝑋 = {𝑛|𝑆𝑒𝑟𝑣𝑖𝑐𝑒𝐹𝑎𝑐𝑖𝑙𝑖𝑡𝑦𝑛 ∈ 𝑐ℎ𝑜𝑖𝑐𝑒_𝑠𝑒𝑡ℎ }𝑆𝑒𝑟𝑣𝑖𝑐𝑒𝐹𝑎𝑐𝑖𝑙𝑖𝑡𝑦𝑛 ∈ 𝑐ℎ𝑜𝑖𝑐𝑒_𝑠𝑒𝑡ℎ は，エージェント ℎの選択可能な施設集合を示す．
Fig. 4 にシミュレーションの図を示す．本シミュレーションは仮想の空港における出国前エリアのみを対象としており，このエリアに存在する施設のカテゴリ
として，食事，携帯，両替，ATM，BOOK，ラウンジ，
お土産，保険の 8 種類がある．また，出国後エリアには免税店，ファッションの 2 種類も存在する．
本検証では，エージェントが行動可能な範囲を 7 つのエリアに分けることで，移動の軌跡をたどる(エリアa,b,c,d,e,f,g)．また，フロアマップ型サインについても，どのような時系列でサインから情報を得たかの軌跡を得るためにユニークな名前を振った(サイン a,b,c)．優
先度においては，食事，お土産，免税店，両替，ATMの 5 種類において，各エージェントでいずれかの優先度が高めになるようにランダムで決定する．
3.2 仮説生成の実行条件
本検証では，前述したシミュレーションを用いて仮
想空港内のある施設の混雑解消を行う．Fig. 5 に本シ
ミュレーションの施設情報を示す．2000 エージェント- 56 -

退場

エリアb

サインb

エリアc

サインc

サインa
エリアa
エリアf

エリアe

エリアg
フロアマップ型サイン

入場

矢印型サイン
Fig. 4: シミュレーションのサイン配置
施設8:BOOK
施設7:ATM 施設10:ATM
施設6:両替
施設9:両替
施設5:携帯
施設4:携帯施設14:お土産

施設11:食事

施設13:お土産

施設12:ラウンジ

施設15:両替

施設16:ATM
施設17:保険施設18:携帯

20
18
16
14
12
10
8
6
4
2
0

238
594
890
1197
1462
1747
2049
2290
2512
2767
3013
3238
3445
3666
3928
4185
4459
4738
5008
5274
5531
5811
6149
6555

待ち行列[人]Fig. 5: 出国前エリアの施設情報

時刻

Fig. 6: 施設 11 における待ち行列の遷移を出現させ，各施設の待ち行列を測定したところ，食事カテゴリである施設 11 で混雑が観測できた．施設
11 における待ち行列の遷移を Fig. 6 に示す．特に時刻
2000~5000 の待ち行列において大きい値が続いている
ことが確認できる．本検証では，想起カテゴリに食事が含まれていて施設 11 へアクセスする可能性がある，想起カテゴリに「食事」が含まれるエージェントの中から，時刻 2000~5000 に施設 11 へアクセスしたエー
ジェントをターゲットとしてその特徴を捉えることで混雑原因の発見，また施策の立案の検証を行う．
本検証において使用したパラメータを Table 1 に示す．内部モデルのパラメータである入場時刻，退場時
刻，優先度，想起カテゴリの 4 つを属性として，行動モデルの結果である回遊した施設のルートやエリアのルートの 2 つを行動として，学習により情報を得た情報取得サインを認知として使用する．また，各パラメ
ータにおけるクラスタリングの設定を Table 2 に示す．
入場時刻と退場時刻においてはユークリッド距離を使用し，2 次元の k-means を実施する．優先度は 3.1 節に記載したように 5 パターンのみであるためクラスタリ
ングは実施しない．想起カテゴリは，10 種のカテゴリをそれぞれ含むかどうかで 10 桁のバイナリを生成しハミング距離を用いた k-means によりクラスタリングを行う．施設ルートとエリアルートは，それぞれ回遊した施設やエリアを時系列で羅列しレーベンシュタイ
ン距離を使用した k-means によるクラスタリングを実施する．同様に情報取得サインにおいても，情報取得元となったサインを時系列で羅列しレーベンシュタイ
ン距離を使用した k-means によるクラスタリングを実施する．k-means におけるクラスタ数 k は Example 1 に従い自動で決定する．
出力においてはステップ 4 とステップ 4’の両方を実施し出力結果の比較を行う．また，ステップ 4’の出力
結果より施策を立案し，シミュレーションにて施策の効果を確認する．
3.3 実行結果
2 章の各ステップと施策立案，施策実行の流れで実行結果を説明する．

- 57 -

Table 1: 使用したパラメータ

Table 2: 距離関数とクラスタリング手法

分類

変数

説明

変数

距離関数

クラスタリング手法

属性

入場時刻

出国前エリアに出
現した時刻

入場時刻

ユークリッド距離

K-means

属性

退出時刻

出国前エリアから退場した時刻

優先度

属性

優先度

食事，お土産，免
税店，両替，ATM
の5パターン

想起カテゴリ

ハミング距離K-means

施設ルート

レーベンシュタイン
距離K-means

エリアルートレーベンシュタイン
距離K-means

情報取得サインレーベンシュタイン
距離K-means

退出時刻

属性

想起カテゴリエージェントが選択する施設のカテゴ
リ

行動

施設ルート

エージェントが回遊した施設のルート行動

エリアルートエージェントが回遊したエリアのルート

認知

情報取得サインエージェントが情報を取得したサインステップ 1. 説明したいマクロ現象の決定
今回のシミュレーションでは，食事カテゴリの施設へアクセスする可能性があるエージェント，つまり想起カテゴリに「食事」が含まれている 893 のエージェ
ントを母集団の全エージェントとする．Fig. 6 より，その全エージェントの中で時刻 2000~5000 に施設 11 へアクセスしたエージェントを原因発見のターゲットとする．
ステップ 2. 関連するエージェントの抽出
時刻 2000~5000 に施設 11 へアクセスしたエージェ
ント数は 45 となった．この 45 エージェントから共通する特徴を探る．

設ルート，エリアルートおよび情報取得サインの 4 ク
ラスタリング結果を Table 3，Table 4，Table 5，Table 6に示す．また，後の実行結果に出現するクラスタに着色している．想起カテゴリおよび施設ルートにおいては，各要素が重複することが無いため，各クラスタにおける出現回数を，エリアルートおよび情報取得サインにおいては同じエリアやサインを複数回経由することがあるため，出現割合を示す．sum 列には想起カテ
ゴリにおけるカテゴリ数，施設ルートにおけるアクセ
スした施設数，エリアルートにおける回遊したエリア
数，情報取得サインにおける情報取得数の各クラスタの平均値を記載している．size 列にはクラスタに属するエージェント数を記載している．エリアルートにおいては，fac 列を追加し，入場してからの 3 エリアがf,a,c を経由するルートである割合を示す．同様に情報取得サインにおいても ab 列を追加し，入場後の 2 サ
インが a,b である割合を示す．

ステップ 3. クラスタリング

ステップ 4. 精度評価

k-means によるクラスタリングを行った 5 パラメー
タの k は，Example 1 に従い自動で k を決定した．それぞれのクラスタ数は，入退場時刻が 19 クラスタ，想起カテゴリは 9 クラスタ，施設ルートは 7 クラスタ，
エリアルートは 15 クラスタ，情報取得サインは 7 ク
ラスタとなった．優先度に関しては存在する 5 パターンである食事，お土産，免税店，両替，ATM の 5 分類をそのままクラスタとした．ハミング距離を使用した
想起カテゴリ，レーベンシュタイン距離を使用した施改善策実施前各パラメータのクラスタの全組み合わせと，各組み合わせの精度を算出する．単純な全クラスタの組合せ
数は 1228800 となるが，ターゲットのエージェントが含まれていないクラスタを除外した組み合わせ数は172800 となる．さらにこの 172800 の組み合わせのうちターゲットが含まれていないものを除外することでターゲットと関連する全組み合わせ数は 2004 となる．
これらの組み合わせに対し F 値による精度評価を行う．

Table 3: 想起カテゴリにおける各クラスタの統計値
clusterNo 食事 ラウンジ 保険 BOOK 両替 ファッション 携帯 ATM お土産 免税店 sum size
0 1.000.23 0.00

0.33 0.24

0.15 0.00 0.29

0.00

0.50 2.74 155

1 1.000.33 0.13

0.21 1.00

0.11 0.92 0.19

0.27

0.26 4.41

85

2 1.000.61 0.21

0.69 0.19

0.63 0.55 0.93

0.00

0.35 5.16

75

3 1.000.24 1.00

0.18 0.48

0.09 0.02 0.33

0.17

0.50 4.00 101

4 1.000.22 0.25

0.25 0.00

0.20 1.00 0.08

0.33

0.37 3.71 110

5 1.000.10 0.08

0.17 0.83

0.67 0.05 0.77

0.14

0.34 4.16

6 1.000.20 0.11

0.28 0.33

0.24 0.00 0.00

1.00

0.37 3.53 100

7 1.000.37 0.31

0.36 0.09

0.25 0.26 1.00

1.00

0.33 4.97

89

8 1.000.57 0.76

0.52 0.72

0.73 0.49 0.20

0.78

0.52 6.29

82- 58 -

96

Table 4: 施設ルートにおける各クラスタの統計値
施設番号

clusterNo

0.05

2.00

77

0.10

1.00

93

0.00

0.00

0.00

636

0.50

0.50

0.50

4.00

2

0.00

0.00

0.00

4.00

1

0.00

0.00

0.00

0.00

1.00

73

0.00

0.18

0.27

0.00

3.00

11

6

7

8

9

10

11

12

13

14

15

16

17

18

0 0.06

0.06

0.08

0.01

0.22

0.17

0.12

0.66

0.00

0.19

0.08

0.08

0.06

0.14

1 0.04

0.03

0.08

0.06

0.14

0.05

0.09

0.00

0.00

0.17

0.01

0.06

0.08

0.09

2 0.00

0.00

0.00

0.00

0.00

0.00

0.00

0.00

0.00

0.00

0.00

0.00

0.00

3 0.00

0.00

0.00

0.50

0.50

0.00

0.00

1.00

0.00

0.00

0.00

0.50

4 0.00

0.00

1.00

0.00

0.00

0.00

1.00

1.00

0.00

1.00

0.00

0.00

5 0.00

0.00

0.00

0.00

0.00

0.00

0.00

1.00

0.00

0.00

0.00

6 0.00

0.09

0.36

0.09

0.55

0.18

0.18

0.73

0.00

0.18

0.18

エリア
a

size

5

Table 6: 情報取得サインの各クラスタ統計値

Table 5: エリアルートの各クラスタ統計値
No

sum

4

b

c

d

e

f

g

fac

No

sum size

サイン

a

b

c

ab

sum size

0 0.27 0.13 0.21 0.10 0.10 0.14 0.06

0.37

27.30

67

0 0.25

0.58

0.17

0.39

16.30

155

1 0.26 0.10 0.28 0.15 0.01 0.12 0.08

0.93

12.83

59

2 0.28 0.13 0.19 0.11 0.09 0.13 0.07

0.32

34.24

50

1 0.01

0.00

0.00

0.00

1.03

468

3 0.40 0.05 0.09 0.21 0.02 0.05 0.18

0.50

65.67

6

2 0.03

0.00

0.97

0.00

79.00

1

4 0.23 0.17 0.29 0.10 0.04 0.11 0.05

0.90

18.88

68

3 0.18

0.60

0.21

0.47

24.03

106

5 0.23 0.10 0.17 0.05 0.14 0.23 0.08

0.07

9.93

41

4 0.08

0.27

0.65

0.29

53.57

7

6 0.26 0.11 0.18 0.08 0.12 0.18 0.07

0.05

18.70

60

5 0.38

0.41

0.21

0.28

9.27

123

7 0.29 0.13 0.18 0.10 0.09 0.14 0.07

0.30

48.72

43

8 0.20 0.18 0.31 0.14 0.04 0.08 0.05

0.78

21.90

60

6 0.15

0.55

0.30

0.39

34.88

33

9 0.28 0.12 0.16 0.10 0.10 0.15 0.08

0.26

39.48

46

10 0.28 0.13 0.18 0.08 0.12 0.14 0.06

0.33

23.66

64

においては，
そのクラスタの取り得る範囲を入場時刻，
退場時刻それぞれで記載する．優先度においては優先
11 0.28 0.12 0.17 0.09 0.11 0.15 0.07 0.29 30.79 58
度が高いカテゴリを表示している．想起カテゴリ，施
12 0.29 0.19 0.26 0.03 0.09 0.13 0.00 0.93 11.73 102
設ルート，エリアルートおよび情報取得サインにおい
13 0.24 0.16 0.31 0.11 0.04 0.11 0.03 0.96 15.71 96てはクラスタの情報をセルに記載するのが難しいため
14 0.27 0.11 0.18 0.08 0.12 0.18 0.07 0.14 14.64 73
クラスタ番号を表示している．それぞれのクラスタ番
号は Table 3,4,5,6 と紐づいている．
改善策実施後
主要因と考えられる F 値が最大の組み合わせ(index
改善前の 2004 組み合わせに対し，「属性」「認知」 12)より，「属性」における優先度と，「行動」におけ「行動」のそれぞれにおいて最低 1 パラメータが含まる施設ルート，「認知」における情報取得サインの 3
れる組み合わせに絞り込む．結果の組み合わせ数は項目が原因の主な特徴として考えられる．この Table 8
820 となり，半分以上は施策に結びつかない組み合わの index 12 において，実行結果をパラメータごとに確せとして除外する．
認し，ターゲットの特徴を把握する．まずは「属性」である優先度について検証する．優先度が食事となっステップ 5. 原因の出力ており，素直に食事を優先させるエージェントが集ま原因の出力では算出した精度である F 値に 0.15 のっていたと考えられる．続いて「行動」である施設ル
閾値を設定し，閾値以上の組み合わせを主要因としてートについて検証する．施設ルートにおいては Table 4
出力する．ステップ 4 の改善策実施前の原因出力結果のクラスタ 5 より，施設 11 以外にアクセスしていなの一部を Table 7 に，実施後の結果を Table 8 に示す． いエージェントであることがわかる．その理由として各行が組み合わせとなっており，その組み合わせの評
は，限定された時間のほとんどを列に並んでいる時間
価値(precision, recall, f1)と，全エージェント中でその組として消費していることが考えられる．
最後に「認知」
み合わせに当てはまるエージェント数を and 列に，タである情報取得サインについて検証する．情報取得サーゲットとなるエージェントの中でその組み合わせにインにおいて，Table 6 のクラスタ 3 より，施設 11 に当てはまるエージェント数を TRUE 列に表示している． 近いサイン b での情報取得回数が多いことがわかる．
各要素に「-」が記載されているものは，そのパラメー
また sum 列において他のクラスタより値が小さく，列タを組み合わせに考慮しないことを表す．
Table 8 の inに並ぶ時間が長いため情報取得回数も少なくなっていdex は，「属性」「認知」「行動」を考慮しない Table
ることがわかる．また，Table 6 の ab 列より最初にサ
7 での出力の index を表示している．
イン a を確認し，続いてサイン b を確認するエージェ
ントがどのクラスタよりも多いことが確認できた．こ
改善策実施後の結果による原因の分析
れらより，ターゲットとしている混雑に関連するエー
Table 8 に改善実施後の実行結果を示す．入退場時刻
ジェントの特徴は，食事優先の選択を行っており施設- 59 -

Table 7: 「属性」「認知」「行動」を考慮しない出力結果
index

入退場時刻
入場時刻 退場時刻

優先度

想起カテゴリ

施設ルート

エリアルート

情報取得サインprecision

recallf1

and TRUE

0.356

0.578

0.441

73

26

1

-

-

-

-

クラスター5

-

-

2

-

-

-

クラスター0クラスター5--0.5 0.289

0.366

26

13

3

-

-

食事

-

クラスター5--0.34 0.378

0.358

50

17

4

-

-

-

-

- クラスター13

クラスター30.37 0.222

0.278

27

10

5

-

-

食事

クラスター0クラスター5

-

-

0.45

0.2

0.277

20

9

6

-

-

-

-

クラスター5クラスター1-

1 0.156

0.269

7

7

7

-

-

-

-

5

-

クラスター3

0.269

22

9

0.2

ステップα. 施策の立案
ターゲットの特徴は，「食事優先の選択を行っており施設 11 の列で消費する時間が多く，入場後にサイン a,b を確認し施設 11 へ向かう」となった．これに対する施策として，サイン a における施設 11 の案内を除外し，集客を分散させるものを立案した．これにより，サイン a,b を確認し施設 11 へ向かう食事優先のエージェントを分散させる．施設 11 における待ち人数の比較を Fig. 7 に示す．今回の検証でターゲットとした時刻 2000~5000 において，施設 11 の混雑が緩和されていることが確認できる．また，施策前の施設 11 を訪れたエージェントの目的達成数の平均値が 1.56 に対し，施策後の目的達成数の平均値が 1.60 と増加しており，施設 11 で混雑に巻き込まれていたエージェン
20

before
after

18
16

待ち行列[人]

14
12
10
8

6
4
2

0
222
587
857
1108
1370
1584
1845
2114
2355
2572
2772
2987
3180
3369
3556
3760
3956
4182
4404
4605
4826
5087
5320
5531
5747
6036
6320
6633

11 の列で消費する時間が多く，入場後にサイン a,b を確認し施設 11 へ向かうとすることができる．
改善策実施前後の出力の比較
Table 8 の改善実施後の結果を確認すると，F 値が0.15 以上の組み合わせ数は 7 となった．改善策を行わずに組み合わせを列挙し，F 値が 0.15 以上となる組み合わせ数を確認したところ 49 となり，本改善策による選択を行った場合の 7 倍の数が出力される結果となる．また，「属性」「認知」「行動」を踏まえた組み
合わせを選択した Table 8 の index は，全組み合わせを出力した Table 7 での index を示す．Table8 の index に注目すると，従来の出力の 12~45 行目であることがわ
かる．従来の出力では施策立案者が「属性」「認知」「行動」すべて含まれる組み合わせに到達することは厳しいと予想できる．
また，Table 7 で施策を立案するために F 値の上位から検証すると，index 1 においては施設ルートのクラス
タ 5 のみとなり，これは施設 11 にのみアクセスしたという情報しかなく，適切な施策の立案はできない．
index 2 においては想起カテゴリがクラスタ 0，施設ル
ートがクラスタ 5 となり，目的カテゴリが少なく，施設 11 にのみアクセスしたという結果となり，同様に施策の立案は難しい．index 3 においては食事優先で施設 11 にのみアクセスしたという結果となり，こちらも同様に施策の立案は難しい．このように index を辿っていくと 12 で Table 8 において原因を出力した結果にたどり着く．このように，「属性」「認知」「行動」
それぞれの特徴を得ない場合，原因発見を体系的に実行できたといえる結果とはならない．

0.409

時刻

Fig. 7: 施設 11 における待ち行列の遷移

Table 8: ステップ 4 の改善策実施後の実行結果
属性
index

入退場時刻
入場時刻 退場時刻

行動

優先度 想起カテゴリ 施設ルート

認知precision

recallクラスター3

0.438

0.156

0.23

16

7

クラスター3

0.714

0.111

0.192

7

5

エリアルート

情報取得サイン-- クラスター13

クラスター5f1

and TRUE

12

-

-

食事

-

24

-

-

両替

-

33

-

-

食事

-

-

クラスター0

0.261

0.133

0.176

23

6

35

-

-

食事

-

- クラスター13

クラスター3

0.357

0.111

0.169

14

5

41

-

-

食事

-

クラスター5 クラスター13

クラスター30.8 0.089

0.16

5

4

43

-

-

-

クラスター0- クラスター13

クラスター3

0.8

0.089

0.16

5

4

45

-

-

-

クラスター00.667 0.089

0.157

6

4

クラスター5クラスター5-- 60 -

クラスター5

トが他の施設で目的を達成していることが確認できた．

ち時間削減手法のシミュレーション評価，人工知能学
会論文誌，32(5), AG16-F, 1/8 (2017)
4 議論
5) Ohori K., Takahashi S: Market Design for Standardization
山根ら 9)は，ミクロダイナミクス分析を体系的に実Problems with Agent-based Social Simulation, Journal of
施するためのプロセスを提示しているが，具体的な分
Evolutionary Economics, 22(1), 49/77 (2012)
析技法について明記しておらず，分析者に依存する部
6) Yamane S., Ohori K., Obata A., Kobayashi N., Yugami N:
分が残っていた．また，施策の意思決定に用いる場合
Agent-Based Social Simulation for a Checkout Layout Deには，有用でない原因が含まれる場合がある．また，sign of a Specific Supermarket, In: 13th Int. Workshop on
すべての特徴の組合せについて精度を計算するため，
Multi-Agent Based Simulation (MABS2012), 153/164 (2012)
複雑なモデルを持つシミュレーション結果に対しては
7) Goto, Yusuke, Takahashi, Shingo: Landscape Analysis of
計算量が増大する．
Possible Outcomes, Agent-Based Approaches in Economic
本提案では，山根ら 9)の枠組みの手続きを具体化，改and Social Complex Systems VI: Post-Proceedings of The
善し，サインシステム事例 10)のシミュレーションを使AESCS International Workshop, 87/98 (2009)
用して混雑原因の仮説の立案，施策の検証を行った．
8) Tanaka Y., Kikuchi T., Kunigami M., Yamada T., Takahashi
山根らの方法論におけるステップ 4 の精度評価の際に，H., Terano T: Classification of Simulation Results Using Log「属性」「認知」「行動」それぞれが関係する組み合
Clusters in Agent Simulation, Second Int. Workshop of Artiわせのみを選択することにより，①解釈すべき原因数
ficial Intelligence of and for Business. JSAI Int. Symposiumを減らすことができる，②有効な施策導出を支援でき
on AI 2017 (2017)9) Yamane S., Yamada H., Ohori K., Anai H., Sakai S.,
る，の 2 点の効果が確認できた．また，「属性」「認Takahashi K., Ouchi J., Takahashi S: Systematic Analysis of知」「行動」を考慮した実行結果より得られた原因にMicro Dynamics in Agent Based Simulation, In: Proceedings
対して立案した施策により，混雑を緩和できることをof the 2018 Winter Simulation Conference, 4214/4215 (2018)
確認した．
10) 内海，高橋，大堀，穴井，山根：大型施設におけるサ
本検証では仮想的な空港を模擬したシミュレーショ
インシステム評価のためのエージェントベースシミュ
ンを対象とした分析結果のみを示したが，実際の空港
レーション，SICE システム・情報部門社会システム部を再現したシミュレーション 12) や，小売店を再現し
会 第 10 回社会システム部会研究会資料，87/92 (2016)
たシミュレーション 6)に対しても本手法による原因発11) Squazzoni F: Agent-Based Computational Sociology, 13/14,
見と施策効果の検証を行っており，対象の異なる複数
Wiley: UK (2012)のシミュレーションについて本手法が有効であること
12) http://pr.fujitsu.com/jp/news/2018/12/7.html
を確認している．

今回山根ら 9)の枠組みを実現するための具体的な分析手法と，その改善点を提案し施策の立案を実施し得られた課題は以下の 2 点である．1)「属性」「認知」「行動」を考慮した組み合わせを出力することにより解釈性は高まったが，まだ人手による要約は必要である．クラスタリング結果において似通った性質を持つ
クラスタが発生することに起因するため，クラスタリ
ングにおける改善策，もしくは似通った性質のクラス
タもしくは組み合わせを何かしらの指標でまとめる方法を思案する必要がある．2)実社会における問題点の改善や，満足度の向上を目的とするのであれば，理想は施策の立案とその影響範囲と効果が出力され，施策立案者は出力結果を元に施策を選択する形式であるため，本提案で得られた原因から実施すべき施策を得る
体系的な手法を考案する必要がある．
参考文献
1)

2)

3)

4)

Alessandro P., Cesare G., Giuseppe I., Andrea R., Matteo I:
Agent-Based Simulation of Pedestrian Behaviour in Closed
Spaces: A Museum Case Study, Journal of Artificial Societies and Social Simulation, 17(1) 16. doi: 10.18564/jasss.2336(2014)
Fayez, M. S., Kaylani, A., Cope, D., Rychlik, N., Mollaghasemi, M: Managing airport operations using simulation,
Journal of Simulation, 2, 41/52 (2008)
Crociani, L., Lämmel, G., Park, H. J., Vizzari, G: Cellular
Automaton Based Simulation of Large Pedestrian FacilitiesA Case Study on the Staten Island Ferry Terminals, arXiv
preprint arXiv:1709.03297 (2017)
清水，松林，納谷：混雑飽和状態の遊園地における待- 61 -