JP6199480B2 - シミュレーション解析方法および情報処理システム - Google Patents

シミュレーション解析方法および情報処理システム Download PDF

Info

Publication number
JP6199480B2
JP6199480B2 JP2016505990A JP2016505990A JP6199480B2 JP 6199480 B2 JP6199480 B2 JP 6199480B2 JP 2016505990 A JP2016505990 A JP 2016505990A JP 2016505990 A JP2016505990 A JP 2016505990A JP 6199480 B2 JP6199480 B2 JP 6199480B2
Authority
JP
Japan
Prior art keywords
agent
simulation
agents
scenarios
behavior
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016505990A
Other languages
English (en)
Other versions
JPWO2015132893A1 (ja
Inventor
幸二 福田
幸二 福田
泰幸 工藤
泰幸 工藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2015132893A1 publication Critical patent/JPWO2015132893A1/ja
Application granted granted Critical
Publication of JP6199480B2 publication Critical patent/JP6199480B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/20Design optimisation, verification or simulation
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/01Detecting movement of traffic to be counted or controlled
    • G08G1/0104Measuring and analyzing of parameters relative to traffic conditions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)
  • Debugging And Monitoring (AREA)

Description

本発明は、シミュレーション解析方法及び情報処理システムに関し、特に、多数のシナリオのもとでエージェントベースシミュレーションを実行した場合のシミュレーション結果を解析する方法及び装置に関する。
シミュレーションとは、注目する現象を何らかの方法でモデル化し、計算機の中でモデルを動作させることで模擬するものである。現象のモデル化にあたって、世界全体を、互いに影響を受けて相互作用する多数の微視的な構成要素の集まりであると捉えることがある。この場合、現象のシミュレーションは、個々の微視的な構成要素の振る舞いをモデル化し計算機で模擬することになる。このようなシミュレーションの一例として、エージェントベースシミュレーション(Agent−Based Simulation、ABS)と呼ばれる手法が知られている。
特許文献1には、エージェントベースシミュレーションを適用した交通流シミュレーション方式が開示されている。特許文献1の交通流シミュレーションでは、個々の自動車の振る舞いを微視的なエージェントとしてモデル化して、エージェントベースシミュレーションを実行する。
非特許文献1には、エージェントベースシミュレーションの一形態として、エージェント間で送受信するメッセージの到着順および内部状態の更新処理の順番を保障する離散イベントシミュレーション(Discrete Event Simulation)と呼ばれるシミュレーション方式が開示されている。
また、エージェントベースシミュレーションのエージェント間のメッセージのやり取りを可視化するために、ネットワーク図が一般的に用いられる。非特許文献2には、複雑な構成のネットワーク図を視覚的に見やすい2次元の配置構成となるように描画するためのグラフ描画アルゴリズムが開示されている。
特許第3462589号 「シミュレーション装置」
K.D. Tocher and D.G. Owen, "The automatic programming of simulations",Proceedings of the Second International Conference on Operational Research, p. 50−68, 1960 Fruchterman,et.al,"Graph Drawing by Force−Directed Placement",Software−Practice & Expereience (Wiley) 21(11),p.1129−1164,1991
複雑な社会現象など広範囲な問題にエージェントベースシミュレーションを適用するにあたっての課題は、エージェントベースシミュレーションの結果得られる微視的なエージェントの振る舞いの時系列から、注目すべきエージェント集団の特徴的な振る舞い(巨視的なイベント)を抽出する、巨視的なイベント認識および抽出に関するものである。
上述のように、エージェントベースシミュレーションは、世界全体を、互いに影響を受けて相互作用する多数の微視的な構成要素(エージェント)の集まりであるととらえて、エージェントの振る舞い、および、エージェント同士の相互作用をモデル化し計算機で模擬することでシミュレーションを行う。シミュレーションの結果得られるのは、微視的な個々のエージェントの振る舞いの時系列である。一方、シミュレーションを実行するユーザーにとって興味があるのは、多くの場合、微視的な個々のエージェントの振る舞いではなく、ある程度多数のエージェントが集まった集団としての特徴的な振る舞い(巨視的なイベント)である。したがって、シミュレーション結果として得られる多数の個々の微視的なエージェントの振る舞いの時系列から、エージェント集団の振る舞いである巨視的なイベントを抽出する必要がある。
現在、多くのエージェントベースシミュレーションの実行環境では、この巨視的なイベント認識および抽出処理は、処理の実行に先立って、どのような巨視的なイベントに注目して抽出するのかをあらかじめ特定する必要がある。例えば、特許文献1で開示されている交通流シミュレーションでは、個々の自動車の振る舞いを微視的なエージェントとしてモデル化して、エージェントベースシミュレーションを実行する。このとき、「渋滞」という巨視的なイベントを、「20台以上の自動車の列の平均速度が20km毎時以下である状態が10分以上継続する状態」等とあらかじめ定義しておき、エージェントベースシミュレーションの実行結果から、この定義に合致するような(微視的なエージェントである)自動車の集団を認識・抽出し、渋滞の発生条件等を検討している。
しかしながら、複雑な社会現象など広範囲な問題にエージェントベースシミュレーションを適用することを考えると、注目する巨視的なイベント(現象)をあらかじめ特定して定義することは困難である。というのは、一般に、エージェントベースシミュレーションでは、エージェント同士の連鎖的な相互作用により、しばしば、微視的なエージェントのモデルからは予想もつかないような複雑な巨視的なイベントが発生することがある。このため、実際にシミュレーションを実行するまで、どのような巨視的なイベントが発生するのかは予想できず、抽出すべき巨視的イベントをあらかじめ特定することができない。したがって、シミュレーション結果の微視的な個々のエージェントの振る舞いの時系列から、事前にどのようなイベントであるかを特定することなく、巨視的なイベントを自動的に認識・抽出して、ユーザーに提示する手段が必要とされる。
本願の発明は以上の課題を鑑みてなされたものであり、エージェントベースシミュレーションのシミュレーション結果に基づき、予め定義されていない巨視的なイベントを自動的に認識・抽出することで、シミュレーション結果を解析する方法及び装置を提供することを目的とする。
上記目的を達成するため、本発明の情報処理システムは、プロセッサと、一時記憶装置と、複数のシナリオのもとでエージェントベースシミュレーションを実行した結果であって、各シナリオのもとで複数のエージェントの各々が送受信したメッセージの履歴を示す時系列のシミュレーション結果データを格納した記憶装置とを備え、前記記憶装置から読みだした前記シミュレーション結果データに基づき、前記複数のエージェントの各々のシミュレーション結果データを前記シナリオ毎に比較することで、前記エージェント毎に、前記複数のシナリオにおける前記シミュレーション結果データの相違度を示す指標値を算出する。
本発明によれば、エージェントベースシミュレーションのシミュレーション結果に基づき、予め定義されていない巨視的なイベントを自動的に認識・抽出することが可能になる。これにより、シミュレーション結果の解析を効率よく行うことが可能になる。
本願の発明が前提とするエージェントベースシミュレーションにおける、多数のエージェントによって構成されたネットワークを模式的に表した図である。 本願の発明が前提とするエージェントベースシミュレーションにおける、エージェントの典型的な構成例を示す図である。 本願の発明が前提とするエージェントベースシミュレーションにおける、エージェント間で送受信されるメッセージの典型的な構成例を示す図である。 本願の発明が前提とするエージェントベースシミュレーションにおける、エージェントの動作を示すアクティビティ図である。 本願の発明が前提とする離散イベントシミュレーションにおける、エージェントの典型的な構成例を示す図である。 本願の発明が前提とする離散イベントシミュレーションにおける、メッセージの典型的な構成例を示す図である。 本願の発明が前提とする離散イベントシミュレーションにおける、エージェントの動作を示すアクティビティ図である。 エージェント挙動のシナリオ間ばらつきの算出処理の概念を示す図である。 本願の発明における未知の巨視的イベントの認識・抽出方法について、その概念を示す図である。 本願の発明におけるシミュレーション方式および情報処理システムの全体の処理手順を示す図である。 エージェントベーストシミュレーションを複数シナリオシミュレーションした結果得られるデータを示す図である。 エージェント挙動のシナリオ間ばらつきの算出処理における入力データを示す図である。 巨視的イベントの認識・抽出結果の描画方法の一例を示す図である。 巨視的イベントの認識・抽出結果の描画方法の一例を示す図である。 巨視的イベント特徴量の集中度の計算方法の一例を示す図である。 本願の発明におけるシミュレーション方式および情報処理システムの全体の構成を示す図である。 本願の発明におけるシミュレーション方式および情報処理システムの全体のブロック構成を示す図である。 本願の実施の形態2における2つのシナリオにおけるエージェントの挙動の類似判定の概念を示す図である。 本願の実施の形態2における2つのシナリオにおけるエージェントの挙動の類似判定の様子を示す図である。 本願の実施の形態2における2つのシナリオにおけるエージェントの挙動の類似判定の手順を示す図である。 本願の実施の形態3における巨視的イベント特徴量の算出処理を説明する図である。 本願の実施の形態3における巨視的イベント特徴量の算出処理の計算を示す図である。
これ以降、本願の発明を実施するための形態について述べる。以下の実施の形態においては、便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
まず、図1〜図5を用いて、エージェントベースシミュレーションの概要を説明する。エージェントベースシミュレーションは、多数のエージェント(あるいはアクターと呼ばれることもある)と呼ばれる動作主体がネットワークを構成しており、エージェント間でメッセージと呼ばれるデータを送受信しながら協調動作することでシミュレーションを行うものである。
図1は、エージェントベースシミュレーションにおける、多数のエージェントによって構成されたネットワークを模式的に表した図である。図1で、丸印は個々のエージェントを表しており、矢印はあるエージェントから別のエージェントに向けてメッセージの送信が行われることを表している。エージェントベースシミュレーションにおいては、上記の微視的な構成要素をエージェントとしてモデル化し、微視的な構成要素間の相互関係をメッセージとしてモデル化することで、対象とする世界をシミュレーションする。ここで、あるエージェントから別のエージェントにメッセージが直接交換するとき2つのエージェントは互いに隣に位置すると呼ぶ。また、2つのエージェントがネットワーク上どれだけ離れているか、すなわち、2つのエージェント間でメッセージを交換するために互いに隣に位置するエージェントを何回経由する必要があるか、をホップ数と呼ぶ。
図2(a)および図2(b)は、エージェントベースシミュレーションにおける、エージェント、およびエージェント間で送受信されるメッセージの典型的な構成例を示す図である。図2(a)は、エージェントの構成例を示す図である。図2(a)に示したエージェントAGENTは、エージェントの振る舞いプログラムPROGと内部状態STATEとを格納している記憶領域AGENT_STOREと、エージェントプログラム解釈・実行部EXECと、メッセージ受信部RCVと、メッセージ送信部SEND、およびこれらを制御して強調動作させるエージェント制御部AGNT_CTRLと、から構成される。また、エージェントAGENTには、エージェントベースシミュレーションを構成する個々のエージェントを一意に識別可能なエージェント識別子AGENT_IDが割り振られている。エージェント識別子AGENT_IDは、メッセージの送信元・受信先の特定、シミュレーション中のログ記録などのために用いられ、典型的には、シミュレーション開始時にシミュレーションシステムにより割り当てられ、シミュレーション終了まで不変である。図2(b)は、エージェント間で送受信されるメッセージMESの構成例を示す図である。メッセージMESは、メッセージを一意に識別可能な識別子MES_IDが割り当てられており、送信元エージェント識別子MES_FROM_IDと、受信先エージェント識別子MES_TO_IDと、メッセージデータMES_DATAと、で構成される。
図3は、エージェントの動作を示すアクティビティ図である。エージェントAGENTは、メッセージ受信部RCVを通じてメッセージを受信すると、エージェントプログラム解釈・実行部EXECにおいて、エージェントの振る舞いプログラムPROGにしたがって、エージェントの内部状態STATEの更新処理を行う(ステップ100、110)。この過程で必要であれば、エージェントAGENTは、メッセージの送信元エージェント識別子MES_FROM_ID、メッセージデータMES_DATA、およびメッセージ受信時点での内部状態STATEを参照する。
さらに、各エージェントは、上記の内部状態の更新処理の結果、内部状態が、エージェント振る舞いプログラムによって定まる条件に達すると、他のエージェントに対してメッセージの送信処理を行う(ステップ120、130)。なお、ここで述べた内部状態の更新処理、メッセージの送信の条件、およびメッセージデータの具体的な内容は、シミュレーションしようとしている現象によって異なる。典型的には、シミュレーションを行うユーザーがその具体的な内容をエージェント振舞いプログラムとして記述して、あらかじめシミュレーションシステムならびに計算機に提示した状態でシミュレーションを開始する。あるいは、典型的なエージェント振る舞いプログラムがシミュレーションシステム上でユーザーに提供されており、ユーザーは、エージェント振る舞いプログラムの動作を調整するパラメータのみを設定して、シミュレーションを開始する場合もある。
以上のように、エージェントベースシミュレーションでは、対象とする現象を構成する微視的な構成要素をエージェントとしてモデル化し、微視的な構成要素間の相互作用をメッセージとしてモデル化することで、複雑な現象のシミュレーションを実行する。
上述のように、一般的なエージェントベースシミュレーションでは、各エージェントは、他のエージェントからのメッセージを受信して内部状態を更新する。しかしながら、上述の典型的なエージェントベースシミュレーションでは、いつ、どのような順序でメッセージが送られて、いつ、どのような順序で内部状態の更新処理が行われるのかがはっきりしない。そこで、非特許文献1では、エージェントベースシミュレーションの特殊な形態として、エージェントの内部状態およびメッセージ、に時刻という特別な情報を付加することで、メッセージの到着順および内部状態の更新処理の順番を保障する離散イベントシミュレーション(Discrete Event Simulation)と呼ばれるシミュレーション方式を提案している。
図4(a)および図4(b)は、離散イベントシミュレーションにおける、エージェントおよびメッセージMESの典型的な構成例を示す図である。図4(a)に示した離散イベントシミュレーションにおけるエージェントAGENTは、図2(a)に示した典型的なエージェントベースシミュレーションにおけるエージェントにおいて、内部状態STATEが、離散イベントシミュレーションのエージェントの内部時刻A_TIMEと、離散イベントシミュレーションのエージェントの内部状態A_STATEと、に細分化したものである。また、図4(b)に示した離散イベントシミュレーションにおけるメッセージは、図2(b)に示した典型的なエージェントベースシミュレーションにおけるメッセージにおいて、メッセージデータMES_DATAが、メッセージ時刻MES_TIMEと、離散イベントシミュレーションにおけるメッセージデータMES_ADATAと、に細分化したものである。
図5は、離散イベントシミュレーションにおけるエージェントの動作を示すアクティビティ図である。離散イベントシミュレーションにおける各エージェントは、シミュレーション開始時に次に自エージェントがメッセージを送信する時刻をシミュレーションシステムに申告して、その時刻まで待機する(ステップ210)。
もし、申告した時刻までに、他のエージェントが、自エージェント宛てのメッセージを送信しなかった場合には、各エージェントは内部時刻をその時刻まで進めてメッセージを送信する(ステップ220、230)。その後、各エージェントはエージェント振る舞いプログラムにしたがって内部状態を更新した後、再び次のメッセージ送信時刻をシミュレーションシステムに申告して待機する(ステップ250、210)。
もし、待機中、次のメッセージ送信時刻より前に、他のエージェントより自エージェント宛のメッセージを受信した場合には(ステップ260)、各エージェントは、内部時刻をメッセージに付されている時刻に更新した後(ステップ220)、エージェント振る舞いプログラムにしたがって内部状態を更新し(ステップ250)、さらに、新たな内部状態にもとづいて次のメッセージ送信時刻を決定しなおして、シミュレーションシステムに申告する(ステップ210)。
以上のように、非特許文献1における離散イベントシミュレーションでは、一般的なエージェントベースシミュレーションにおけるエージェントの内部状態およびメッセージデータに時刻を付加することで、各エージェントにおける、メッセージの到着順および内部状態の更新処理の順番を保つことができ、より複雑なシミュレーションを精密に行うことが可能となる。
なお、離散イベントシミュレーションは、一般のエージェントベースシミュレーションにおいて、エージェントの内部状態およびメッセージデータの中に、時刻という特別な情報を必ず持つようにし、また内部状態の更新の仕方に時刻に基づく一定の制限をつけたものである。したがって、離散イベントシミュレーションは、エージェントベースシミュレーションの特別な形態であって、エージェントベースシミュレーション一般についての議論は、全て、離散イベントシミュレーションにもそのまま適用可能である。
次に、エージェント集団の特徴的な振る舞い(巨視的なイベント)について説明する。巨視的なイベントは、以下の三つの特徴的な性質を備えている。
巨視的なイベントの第一の特徴的な性質は、それが、エージェントベースシミュレーションのネットワーク上で互いに近くに位置する(ホップ数が比較的小さい)多数のエージェントによって構成されていることである。巨視的なイベントは、前述のように、多数の微視的なエージェントの集団の特徴的な振る舞いのことであるが、ユーザーがある巨視的なイベントに注目するのは、とくに、ネットワーク上のある特定の場所で、他の場所とは違った現象が起こっている場合である。たとえば、前述の交通流シミュレーションにおける「渋滞」という巨視的なイベントは、ある特定の地点付近における自動車の集団的な振る舞いのことである。したがって、巨視的なイベントを自動的に認識・抽出は、エージェントのネットワーク上で互いに距離が近いエージェントの集合を抽出する必要がある。
巨視的なイベントの第二の特徴的な性質は、ある巨視的なイベント、すなわち、エージェント集団の特徴的な振る舞いが、ユーザーの興味を惹くのは、その巨視的なイベントが起こる場合と起こらない場合とがある場合である、ということである。例えば、前述の交通流シミュレーションにおいて、ユーザーが「渋滞」という巨視的なイベントに注目するのは、渋滞が起こったり起こらなかったりするからであって、自動車の数が極端に少なく渋滞が全く起こらない世界、あるいは逆に常に渋滞が発生しており決して解消することがないような世界、では渋滞という現象は人々の興味をひくことはない。したがって、巨視的なイベントを自動的に認識・抽出は、単一のシナリオのシミュレーション結果にのみ注目して、個々の微視的なエージェントの振る舞いを詳細に調べるのではなく、複数のシナリオの元で複数回シミュレーションを行い、その結果同士を比較する必要がある。
巨視的なイベントの第三の特徴的な性質は、巨視的なイベント、すなわち、エージェント集団の特徴的な振る舞いは、それを構成する個々の微視的なエージェントの振る舞いに注目すると、多くの異なる状態をとりえる、ということである。例えば、前述の交通流シミュレーションにおいて、ある場所で「渋滞」という巨視的なイベントが発生しているといったとき、渋滞を構成している自動車は常時入れ替わり続けている。また、渋滞中では自動車は前進と停止とを繰り返しているが、単一の渋滞であっても、その渋滞を構成している個々の自動車によって、前進と停止の入れ替わりのパターンは大きく異なっている。すなわち、「渋滞」という単一の巨視的なイベントは、個々の微視的な自動車の振る舞いに注目すると全く異なる多くの状態の総称であることがわかる。これは、多くの原子で構成される結晶の統計力学的な描像において、結晶が基底状態にあるというのが全ての原子がエネルギー基底状態にあるという唯一の状態を指しているのに対して、結晶が励起状態にあるというは、例えば結晶を構成する多数の原子のうちの一定の割合が励起状態にあることを指しており、個々の原子が基底・励起状態に注目すると、非常に多数の状態の総称となっている、という事実に比肩される。
以上で述べた、巨視的なイベントについての三つの性質を考慮すると、複数のシナリオの元で複数回のシミュレーションを行い、各シナリオ間で対応するエージェントの挙動を比較し、挙動のばらつきが大きいエージェントがネットワーク上で互いに近くに位置している場所を探すことで、ユーザーの興味をひく可能性がある未知の巨視的なイベントを自動的に認識・抽出することが可能となる。
図6および図7は、以上で述べた、本実施例における巨視的なイベントの自動的な認識・抽出方法の概念をより具体的に説明する図である。前述の巨視的なイベントに関する第二の特徴で述べたように、巨視的なイベントを自動的に認識・抽出は、複数のシナリオの元で複数回シミュレーションを行い、その結果同士を比較するという操作が必要である。そこで、まず、M個のシナリオのもとでシミュレーションを実行する。
図6は、M個のシナリオのもとでシミュレーションを実行したときの、各シナリオでの時刻tにおけるエージェントの状態を、エージェントのネットワーク上に示したものである。次に、全てのエージェントについて、別のシナリオにおける対応するエージェント(エージェント間のネットワーク上で同一位置にあるエージェント)同士を比較しそのエージェントの挙動がシナリオ間でどの程度ばらついているか、を指標化する。前述の、巨視的なイベントに関する第一、および、第三の特徴を考えると、このエージェント挙動のシナリオ間ばらつきが大きなエージェントが、エージェントネットワーク上で近くに集まっている場所では、ユーザーの興味を惹くような巨視的なイベントが発生している可能性が高い。
図7では、エージェント間のネットワーク上に、エージェント挙動のシナリオ間ばらつきの大きさを、その等高線と共に図示することで、エージェント挙動のシナリオ間ばらつきが大きなエージェントがネットワーク上の近い位置に集中している場所、すなわち、ユーザーの興味を惹くような巨視的なイベントが発生している可能性が高い場所を示している。
図8は、本実施例における巨視的なイベントの自動的な認識・抽出処理の具体的な手順を示した図である。全体の処理は、与えられた複数シナリオシミュレーションの実行(ステップ310)、および、そのシミュレーション結果を用いての巨視的なイベントの自動認識・抽出(ステップ320〜340)、の2つの処理からなる。
複数シナリオシミュレーションは、ユーザーが与えた、あるいは与えられた日条件からシミュレーションシステムが乱数等を用いて生成した複数のシナリオのもとで、エージェントベースとシミュレーションを行う処理である。これは、例えば、既存のエージェントベーストシミュレーターを用いて、シナリオの数だけ複数回シミュレーションを実行することで実現可能である。
図9は、N個のエージェントで構成されるエージェントベーストシミュレーションを、M個のシナリオのもとで複数シナリオシミュレーション実行した結果データを模式的に表す図である。N×M個のエージェントそれぞれについてエージェントの挙動のデータが得られる。ここで、エージェントの挙動とは、エージェントの内部状態の遷移の履歴、エージェント送信した全メッセージの履歴(メッセージの送信時刻、宛先エージェント、メッセージ内容)、および、エージェント受信した全メッセージの履歴(メッセージの受信時刻、送信元エージェント、メッセージ内容)、を意味している。
複数シナリオシミュレーションの完了後、シミュレーション結果を用いて、巨視的なイベントの自動認識・抽出処理を行う(ステップ320、330、340)。巨視的なイベントの自動認識・抽出処理は、時刻tをある値に固定した上で、その時刻における巨視的なイベントの検出する、という処理を、シミュレーションの全時刻にわたって繰り返し実行することで行う。
与えられた時刻における巨視的なイベントの検出の処理は、全てのエージェントについて、その時刻における該エージェントの挙動が各シナリオでどれぐらい異なっているか、そのばらつきの大きさ、すなわち、エージェント挙動のシナリオ間ばらつき、を算出する第一の処理(ステップ320)と、エージェント挙動のシナリオ間ばらつきから、エージェント間のネットワーク構造に起因する分を差し引くことで、該エージェントの巨視的イベント特徴量、を算出する第二の処理(ステップ330)、および、巨視的イベント特徴量が大きいエージェントがエージェント間のネットワーク上で互いに近く(ホップ数が小さい)に固まって存在している特異的な場所を探索する第三の処理(ステップ340)、の3つの処理で構成される。
もし、そのような特異的な場所が存在すれば、時刻tにおけるその場所において、何らかの巨視的なイベントが発生している可能性があることになる。注目時刻tをシミュレーションの全時刻にわたって変化させながら、以上の3つの処理を繰り返し行うことで、そのシミュレーションにおける全ての巨視的なイベントを自動的に認識・抽出することが可能となる。以下、この3つの処理について詳細に説明する。
第一の処理(ステップ320)、すなわち、エージェント挙動のシナリオ間ばらつきの算出処理における「エージェントの挙動」とは、シミュレーション開始時刻から注目時刻tまでにおける、当該エージェントの内部状態の遷移、および、当該エージェントが送受信した全てのメッセージの履歴、のことである。エージェント挙動のシナリオ間ばらつき、すなわち、エージェントの挙動が各シナリオでどれぐらい異なっているか、を算出する処理は、具体的には、各シナリオにおける、当該エージェントの時刻tまでの内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴、を比較し、そのばらつきの大きさという単一の指標を何らかの手段で指標化する処理を指している。
図10は、第一の処理(ステップ320)における入出力データを示している。第一の処理の特徴は、複数シナリオシミュレーションによって得られたN×M個のエージェントの挙動のデータを、M個のシナリオにおける同一の(対応する)エージェントを単位として処理することである。具体的には、M個のシナリオにおけるエージェント1の時刻t以前の挙動、すなわち、シミュレーション開始時刻から時刻tまでにおける、エージェント1の内部状態の遷移の履歴、および、エージェントが送受信した全てのメッセージの履歴、を比較して、時刻tにおけるエージェント1のシナリオ間ばらつき、という単一の指標を算出する処理を、N個のエージェントそれぞれについて行う。
エージェントの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴のうち、どれを重視して相違度を指標化するのかは、巨視的なイベント認識・抽出処理の性能(認識精度)に関わるパラメータであり任意性がある。したがって、実施の形態としては、例えば、各シナリオにおける、エージェントの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴から、エージェント挙動のシナリオ間ばらつき、という単一の指標を算出する具体的な処理内容をユーザー、すなわち、エージェントモデルの作成者、に記述してもらい、巨視的なイベントの認識・抽出処理途中でユーザーが記述した処理を呼び出す、という形態もありえる。エージェントモデルの作成者は、エージェントの内部状態ややり取りされるメッセージの具体的な内容を知っているため、効率的、かつ、イベント認識・抽出処理の性能が高い、エージェント挙動のシナリオ間ばらつきの算出法を記述できる可能性がある。
しかしながら、全てのシナリオにおける当該エージェントの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴から、直接、エージェント挙動のシナリオ間ばらつきという単一の指標を算出する処理を記述することは、ユーザーにとって負担が大きい。そこで、ユーザーは、任意に与えられた2つのシナリオにおいて、時刻tにおける注目エージェントの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴から、該2つのシナリオにおけるエージェント挙動のシナリオ間の類似度を算出する処理のみを記述し、そこから、エージェント挙動のシナリオ間ばらつきを算出する方法もありえる。この場合、エージェント挙動のシナリオ間ばらつきを、例えば、全てのシナリオの2つ組の組み合わせについてエージェント挙動のシナリオ間の類似度を算出し、全てのシナリオをノードとし、シナリオ間の類似度を重みとするエッジでつないだネットワークの直径、あるいは、該ネットワークの重み付き最小全域木(スパニング木)のエッジの重みの総計、とすることが考えられる。
あるいは、ユーザーは、任意に与えられた2つのシナリオにおいて、時刻tにおける注目エージェントの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴から、該2つのシナリオにおける該エージェントの挙動が類似しているか否かの2値のみを返す処理を記述し、そこから、エージェント挙動のシナリオ間ばらつきを算出する方法もありえる。この場合、エージェント挙動のシナリオ間ばらつきとして、全てのシナリオをシナリオ同士が類似しているか否かによっていくつかのグループ(同値類)に分類したときのグループの数、とすることが考えられる。なお、後記の本願の発明の実施例2においては、この2つのシナリオにおける時刻tにおけるあるエージェントの挙動が類似しているか否かの2値のみを返す処理の中身をユーザーに記述してもらうことなく、自動的に行う実施の形態の例を記す。
次に、第二の処理(ステップ330)、すなわち、エージェントの巨視的イベント特徴量を算出する処理について説明する。エージェントベーストシミュレーションでは、前述のようにエージェントはネットワークを構成して互いにメッセージを送受信しあう。通常、エージェント間のネットワークは一様ではなく、多くのエージェントと高頻度でメッセージの送受信を行っているエージェント(ハブ・エージェント)や、少数のエージェントとのみ低頻度でメッセージの送受信を行っているエージェントも存在する。したがって、全てのシナリオにおける注目エージェントの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴から、個々のエージェントの挙動のシナリオ間ばらつきを指標化すると、多くのエージェントと高頻度でメッセージの送受信を行っているエージェントと、少数のエージェントとのみ低頻度でメッセージの送受信を行っているエージェントと、で、平均的なエージェント挙動のシナリオ間ばらつきが異なる。
ところで、後で詳述する第三の処理(ステップ340)、すなわち、巨視的なイベントの認識・抽出は、シナリオ間で挙動のばらつきが大きいエージェントがネットワーク上で近く範囲に特異的に集中している場所を探すことで行う。この処理をうまく行うには、第三の処理に先だって、あらかじめ、エージェント挙動のシナリオ間ばらつきから、ネットワーク構造に起因する分を差し引いて、エージェントの挙動のばらつきの平均的な値が、ネットワーク上で均一になるようにしておく必要がある。このため、本実施の形態1では、第二の処理の処理として、エージェント挙動のシナリオ間ばらつきから、エージェント間のネットワーク構造に起因する分を差し引くことで、該エージェントの巨視的イベント特徴量、を算出する処理を行っている。ただし、エージェントモデルや、ネットワーク構造によっては、この第二の処理を省略して、第一の処理で算出したエージェント挙動のシナリオ間ばらつきを、そのまま該エージェントの巨視的イベント特徴量、とすることも可能である。
エージェント挙動のシナリオ間ばらつきのうちエージェント間のネットワーク構造に起因する分がどの程度であるかは、エージェント挙動のシナリオ間ばらつきの算出法に依存している。したがって、エージェント挙動のシナリオ間ばらつきの算出法の記述者が、そのエージェント挙動のシナリオ間ばらつきの指標において、エージェント間のネットワーク構造に起因する分がどの程度であるかを、同時に記述する、という実施形態が考えられる。しかしながら、エージェント挙動のシナリオ間ばらつき、のうち、エージェント間のネットワーク構造に起因する分がどの程度であるかを記述することは、記述者にとって負担が大きい。後記の実施例3において、エージェント挙動のシナリオ間ばらつき、のうち、エージェント間のネットワーク構造に起因する分がどの程度であるか、を自動的に算出する実施の形態の例を記す。
エージェント挙動のシナリオ間ばらつき、のうち、エージェント間のネットワーク構造に起因する分が算出できれば、それを、前記の第一の処理で算出したエージェント挙動のシナリオ間ばらつきから差し引くことで、エージェントの巨視的イベント特徴量を得ることができる。
次に、第三の処理(ステップ340)、すなわち、巨視的イベント特徴量が大きいエージェントがエージェント間のネットワーク上で互いに近く(ホップ数が小さい)に固まって存在している特異的な場所を探索することで、未知の巨視的イベントを自動的に認識・抽出する第三の処理、について説明する。この第三の処理は、ユーザーが人手で処理する方法と、機械が自動的に行う方法とが考えられる。
図11は、第三の処理をユーザーが人手で行う場合の、ユーザーへの情報提示の方法の例である。エージェントのネットワークを画面あるいは何らかの情報表示装置の上に表示し、それぞれのエージェントの上に巨視的イベント特徴量を表示するといった手段によって、ユーザーが、巨視的イベント特徴量が大きなエージェントが集中している場所を発見できるようにする。ここで、エージェントのネットワークを画面あるいは何らかの情報表示装置の上に表示する手段としては、エージェントのネットワークを、近い(互いにホップ数が小さい)エージェントが近くに配置されるように、1次元、あるいは、2次元、あるいは3次元の空間に埋め込んで表示することが考えられる。これは、非特許文献2によって開示されている力学的モデルによるグラフ描画アルゴリズムなどの公知の手段によって達成できる。また、描画したエージェント間のネットワーク上に、巨視的イベント特徴量を表示するには、図11(a)に示したように、それぞれのエージェントを表す印の色の差異や濃淡で表す、あるいは、個々のエージェントが識別できないほどエージェント数が多い場合には、図11(b)で示したように、巨視的イベント特徴量の等高線を描く、などの手段が考えられる。等高線を描く場合には、各エージェントの巨視的イベント特徴量をいくつかのレベルに分類し、エージェント間のネットワーク上に、巨視的イベント特徴量が同一レベルに属するエージェントを結ぶ線を重ねて描画することで、巨視的イベント特徴量が大きいエージェントがエージェント間のネットワーク上で互いに近くに固まって存在している特異的な場所をユーザーが見出すことが容易になる。
第三の処理(ステップ340)を自動的に行う場合には、例えば、全エージェントについて、巨視的イベント特徴量の集中度、すなわち、巨視的イベント特徴量が大きなエージェントが注目エージェントの周りにどの程度集中しているかを表す指標、を算出し、巨視的イベント特徴量の集中度が高いエージェントを抽出することで行う。
エージェントiの巨視的イベント特徴量の集中度M(i)は、例えば、図12に示したような式で計算することができる。ここで、D(i,j)は、エージェントiとエージェントjとのネットワーク上の距離(ホップ数)を表す。βは0以上1未満の実数のパラメータであり、シミュレーション対象のエージェントモデルによってその最適値は異なるが、多くの場合、β=1/3〜1/2程度にするのがよい。その後の巨視的イベント特徴量の集中度が高いエージェントを抽出する処理は、あらかじめ特定の閾値を決めて設定しておいて集中度が閾値を越えるエージェントを抽出する、あるいは、巨視的イベント特徴量の集中度M(i)の上位数パーセントをとる、などの手段が考えられる。
なお、以上で述べた処理手順においては、全体の処理を、複数のシナリオのもとでエージェントベーストシミュレーションの実行、および、そのシミュレーション結果を用いての本願の発明の実施例1における本質的な処理である巨視的なイベントの自動認識・抽出、の2つの処理に分けて実行している。しかしながら、後半の巨視的なイベントの自動認識・抽出処理においては、最初に注目時刻tを定めて、その時刻以前のエージェント挙動のシナリオ間相違度のみを用いて巨視的なイベントの自動認識・抽出を行っていることを考慮すると、複数のシナリオのもとでのシミュレーションを実行している途中で、それまでにシミュレーションが終了した時刻tまでについて、巨視的なイベントの自動認識・抽出処理を並行して実行することも可能である。
図13は、本実施例におけるシミュレーション方式および情報処理システムについて、その構成例を示す図である。図13に示した情報処理システムは、1つまたは複数の計算ノードCALC_NODEと、ユーザーと情報処理システムとのインタフェースとなるコントロール端末TERMと、を通信スイッチCOM_SWで結合した構成となっている。各計算ノードCALC_NODEは、中央演算処理装置CPUと、一時記憶装置RAMと、記憶装置STORと、通信デバイスCOM_DEVと、を有する。計算ノードCALC_NODEは、例えばサーバ装置である。
中央演算処理装置CPUは、あらかじめ定められた手順にしたがって、一時記憶装置RAMおよび記憶装置STORからデータを取り出して演算処理を行う。またこの際に、各計算ノードCALC_NODEは、他の計算ノードCALC_NODEから送られたデータを通信デバイスCOM_DEVで受信し、演算処理に用いる。各計算ノードCALC_NODEは、演算処理した結果を、一時記憶装置RAMまたは記憶装置STORに格納、あるいは、通信デバイスCOM_DEVを通じて他の計算ノード宛てに送信する。ユーザーから情報処理システムへのデータ入力、あるいは、情報処理システムの処理結果のユーザーへの提示は、コントロール端末TERMを通じて行われる。図13に示した情報処理システムでは、このようにして複数の計算ノードで並列的に演算処理を実行することが可能である。なお、図13に示した情報処理システムの構成は、一例として示したにすぎず、たとえば、記憶装置STORや、一時記憶装置RAMを、計算ノードCALC_NODEにそれぞれに配置するのではなく、多数の計算ノードCALC_NODEで記憶装置STORや、一時記憶装置RAMを共用する構成、あるいは、各計算ノードCALC_NODEに複数の中央演算処理装置CPUを配置する構成等、様々なバリエーションが考えられる。
図14は、本実施例の巨視的なイベントの自動認識・抽出を実行するシミュレーション方式および情報処理システムMER_SYSTEMの全体構成を示す図である。図14に示したマルチシナリオシミュレーションシステムMER_SYSTEMは、複数シナリオシミュレーションを実行する複数シミュレーションシステムMSと、巨視的なイベントの自動認識・抽出を行う巨視的イベント認識・抽出部MERと、を有している。
複数シミュレーションシステムMSは、入力として与えられた1個または複数のシミュレーション条件から、複数のシミュレーションシナリオを生成する複数シミュレーションシナリオ生成部MS_GENと、複数のシナリオの下で実際にシミュレーションを実行する複数シナリオシミュレータMS_COREと、を有する。ただし、入力として十分な数のシミュレーション条件が与えられる場合には、複数シミュレーションシナリオ生成部MS_GENを省略して、直接、入力された複数のシミュレーション条件の下でシミュレーションを実行してもよい。複数シナリオシミュレータMS_COREが出力したシミュレーション実行結果は記憶装置MS_STOREに記憶される。
巨視的イベント認識・抽出部MERは、MS_STOREに記憶されている複数シナリオのシミュレーション結果から、エージェント挙動のシナリオ間ばらつきを算出するエージェント挙動のシナリオ間ばらつき算出部BVCと、エージェント挙動のシナリオ間ばらつきからネットワーク依存分を差し引くことでエージェントの巨視的イベント特徴量を算出するエージェントの巨視的イベント特徴量算出部BVCと、エージェントの巨視的イベント特徴量がネットワーク上で集中している場所を探索する巨視的イベント特徴量の集中箇所探索部MESと、を有する。
また、エージェントの巨視的イベント特徴量算出部BVCは、入力として与えられたエージェント間のネットワーク構造、および、記憶装置MS_STOREに記憶されている複数シナリオシミュレーション結果から、エージェント挙動の
シナリオ間ばらつきのネットワーク依存分を算出するエージェント挙動のシナリオ間ばらつきのネットワーク依存分の算出部BVNCと、エージェントの巨視的イベント特徴量算出部BVCで算出したエージェントの巨視的イベント特徴量から、エージェント挙動のシナリオ間ばらつきのネットワーク依存分を差し引く処理を行う差し引き処理部SUBと、を有する。ただし、前述したように、差し引き処理SUBで行われる処理は、単純な減算のみならず、エージェント挙動のシナリオ間ばらつきのα乗から、ネットワーク構造に起因する分のα乗を減算して、そのα乗根をとる、などといった処理である実施の形態もある。
また、巨視的イベント特徴量の集中箇所探索部MESは、システムで自動的に実行する実施の形態の他に、前述したようにユーザーによる人手で行う実施の形態もありえる。また、巨視的イベント特徴量の集中箇所探索部MESによって見出されたユーザーの興味を惹く可能性がある巨視的なイベントの候補は、図11で示したような手段によって、コントロール端末TERMを通じてユーザーに提示される。
以上のように、本実施例では、エージェントベーストシミュレーションの結果得られる微視的なエージェントの振る舞いの時系列から、ユーザーにとって未知の注目すべきエージェント集団の特徴的な振る舞い(巨視的なイベント)を認識および抽出する手段を提供することが可能となる。
実施例2では、前述の実施例1で示した巨視的なイベントの認識・抽出のための第一の処理、すなわち、エージェント挙動のシナリオ間ばらつきを算出する処理について、その具体的な実施の形態の例を示す。
前述のように、巨視的なイベントの認識・抽出のための第一の処理、すなわち、エージェント挙動のシナリオ間ばらつきを算出する処理は、注目エージェントの時刻tまでの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴を、全てのシナリオ間で比較し、そのばらつきの大きさを何らかの手段で指標化する処理を指している。このとき、どのようにエージェントの挙動のシナリオ間での比較しエージェント挙動のシナリオ間ばらつきという単一の指標を算出するかは、巨視的なイベントの認識・抽出処理全体の性能に大きく影響する。一般に、最適な指標化の方法は、エージェントモデルの内容に依存しているため、ユーザー、すなわち、エージェントモデルの内容の記述者がエージェント挙動のシナリオ間ばらつきの算出方法を記述することが望ましいが、これはユーザーの負担が大きい。したがって、エージェントモデルの内容に関わらず、エージェント挙動のシナリオ間ばらつきを自動的に算出する汎用的な方法が必要となる。
指標化の具体的な処理方法として、任意に与えられた2つのシナリオにおいて、時刻tにおける注目エージェントの挙動、すなわち、内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴から、該2つのシナリオにおける該エージェントの挙動が類似しているか否かの2値のみを返す処理、を用いて、全てのシナリオをシナリオ同士が類似しているか否かによっていくつかのグループ(同値類)に分類し、分類したグループの数をエージェント挙動のシナリオ間ばらつきとする、という形態がある。本実施の形態2では、この2つのシナリオにおける時刻tにおけるあるエージェントの挙動が類似しているか否かの2値のみを返す処理の中身をユーザーに記述してもらうことなく、自動的に行う実施の形態の例を記す。
ところで、エージェント挙動のシナリオ間ばらつきを自動的に算出する、すなわち、エージェントモデルの具体的な内容に依存せずに、エージェント挙動のシナリオ間ばらつきを算出することは、本質的に困難な作業である。なぜなら、エージェントの挙動、すなわち、エージェントの内部状態、あるいは、エージェント間で送受信されるメッセージ、の中身はエージェントモデルの記述者がモデルに応じて自由に設定にするものであるため、エージェントモデルの記述内容を知らない限り、そもそも、シナリオ間で、エージェントの挙動、すなわち、エージェント内部状態、および、エージェント間で送受信されるメッセージの履歴、を比較すること自体が不可能であるため、である。可能なのは、エージェントの内部状態、と、エージェント間で送受信されたメッセージを、意味のないビット列だと見なして、シナリオ間でビット単位の比較する、といった形態のみである。
しかしながら、エージェントの内部状態、および、エージェント間で送受信されたメッセージ、を無意味なビット列と見なしてエージェント挙動のシナリオ間ばらつきを算出する方法では、エージェント挙動のばらつきの精度が悪く、巨視的なイベントの認識・抽出処理全体の性能が低下することが容易に想像できる。
そこで、実施例2では、エージェント挙動のばらつきとして、注目エージェントが受信したメッセージの数と、メッセージの送信元エージェント、および、メッセージの送信時刻、に着目する。前述のように、エージェントベーストシミュレーションでは、ユーザーは、メッセージを受信したときにどのようにエージェントの内部状態を更新し、また、他エージェントに対していつどのようなメッセージを送信するか、をエージェントモデルとして記述し、実際のエージェント内部状態の更新処理の起動、あるいは、エージェント間でのメッセージの配送は、シミュレータが行う。したがって、あるエージェントが受信したメッセージの数、メッセージの送信元エージェント、および、メッセージの送信時刻は、エージェントモデルの具体的な内容に関わらず、シミュレーションシステムが常に利用可能な情報である。
図15は、受信したメッセージの数と、メッセージの送信元エージェント、および、メッセージの送信時刻に着目して、異なるシナリオにおいてエージェントの挙動が類似しているか否かを判定する処理について、その処理内容を概念的に説明する模式図である。図15は、A、B、C、および、Dという4つのエージェントで構成されるエージェントベーストシミュレーションを、シナリオ1、シナリオ2、および、シナリオ3の3つのシナリオで複数シナリオシミュレーションした例を示している。
全てのシナリオにおいて、エージェントAは、エージェントB、エージェントC、エージェントDの3つのエージェントから、それぞれ、時刻t1、t2、t3にメッセージを受信するものとする。このとき、それぞれのシナリオでは、シミュレーション条件が異なるために、t1、t2、t3の時刻は異なっている。ここで、シナリオ1、シナリオ2では、t1<t2という関係が成立するのに対し、シナリオ3では、t1とt2の前後関係が逆転して、t2<t1となっていたとする。このとき、2つのシナリオにおいて、全ての受信メッセージの送信元の順序が同一であるときにはエージェント挙動は類似している、逆に、受信メッセージの送信元の順序が一つでも異なっている場合にはエージェント挙動は類似していない、と判定する。
図15の例であれば、エージェントAは、シナリオ1およびシナリオ2においては、最初にエージェントBからのメッセージを受信するのに対して、シナリオ3では最初にエージェントCからのメッセージを受信する。この場合、シナリオ1とシナリオ2におけるエージェントAの挙動は類似しているのに対して、シナリオ1とシナリオ3、および、シナリオ2とシナリオ3、におけるエージェントAの挙動は類似していない、と判定される。したがって、エージェントAに着目すると、全シナリオは、シナリオ1とシナリオ2で構成されるグループと、シナリオ3で構成されるグループ、の2つのグループに分割されることになる。したがって、エージェントAのシナリオ間の挙動のばらつきの大きさは2となる。
図16は、シナリオ間でのエージェントの挙動のばらつきが時間的に変化する様子の例を示す図である。図16では、シナリオ1からシナリオ5までの計5つのシナリオを複数シナリオシミュレーションした場合に、エージェントAについて、各シナリオにおいてエージェントAが受信したメッセージの時間的な順序と、エージェントAのシナリオ間の挙動のばらつきの大きさの変化を示している。図の右側には、シナリオ1からシナリオ5までのそれぞれのシナリオにおける、受信メッセージが、メッセージの送信元エージェント(from)、および、メッセージの送信時刻(time)と、ともに図示されている。図16では、上から下に向かって時刻が進んでおり、それぞれのシナリオにおける受信メッセージは、受信時刻(time)を基準に上から下に並んでいる。5つ全てのシナリオにおいて、エージェントAが最初に受信するメッセージはエージェントBが送信したものである。
したがって、最初は、5つ全てのシナリオが類似している、すなわち、エージェントの挙動のばらつきの大きさは1である。ところが、2番目に受信するメッセージは、シナリオ1からシナリオ3ではエージェントCが送信したもの、シナリオ4およびシナリオ5ではエージェントDが送信したもの、である。したがって、エージェントAの挙動は、シナリオ1からシナリオ3までのグループと、シナリオ4およびシナリオ5のグループと、の2つの類似グループに分類され、エージェントAの挙動のばらつきの大きさは2となる。その後も同様にして、エージェントAのシナリオ間ばらつきの大きさは、図の右側に示した各シナリオにおけるメッセージの受信順にもとづいて増加する。
この判定法における、シナリオの類似判定処理は、受信したメッセージの送信時刻(受信時刻)そのものではなく、受信メッセージの送信元エージェントの順序にのみ注目することが特徴である。これは、前述したように、エージェントベーストシミュレーションでは、各エージェントはメッセージを受信するたびに、エージェント処理を起動して内部状態を更新する。したがって、メッセージの送信元エージェントが同じであれば、エージェント処理の起動の順序は変わらないため、2つのシナリオにおけるエージェントの挙動は類似していると考えられるためである。
図17は、与えられた2つのシナリオにおいてエージェントの挙動が類似しているか否かを判定する処理の手順を示した図である。本処理は、注目するエージェント、注目時刻t、および、類似関係を判定する2つのシナリオ、を入力されて、時刻tにおけるエージェントの挙動が2つのシナリオにおいて類似しているか否かの判定結果を2値を出力する。判定は、注目時刻t以前にエージェントが受信した全てのメッセージの数と送信元の順序が同じかを調べることで行う。
具体的には、まず、2つのシナリオそれぞれにおいて、注目時刻t以前にエージェントが受信したメッセージの数を比較する(ステップ410)。メッセージの数が同じでなければ、類似していないと判定する(ステップ420)。受信したメッセージの数が同じ場合、受信したメッセージ全てを送信時刻の順に整列して比較したときに(ステップ430、440)、メッセージの送信元エージェントが全てのメッセージについて同じであれば類似している(ステップ460)、1つでもメッセージの送信元エージェントが異なっていれば類似していない(ステップ450)、と判定する。
なお、エージェントが受信したメッセージの数と、メッセージの送信元エージェント、および、メッセージの送信時刻、に着目するかわりに、エージェントが送信したメッセージの数と、メッセージの受信先エージェント、および、メッセージの送信時刻、に着目して同様の処理を行うことも可能である。また、エージェントベーストシミュレーションでは、エージェントがメッセージを受信したときにエージェントの内部状態の更新処理が起動されることを考えると、受信メッセージの数および、メッセージの送信時刻の代わりに、エージェント内部状態更新処理の起動回数および起動時刻、を用いる実施の形態も可能である。
以上のように、実施例2では、巨視的なイベントの認識・抽出のための第一の処理、すなわち、エージェント挙動のシナリオ間ばらつきを算出する処理を、エージェントモデルの内容に関わらず自動的に算出することが可能となる。
実施例3では、前述の実施の形態1で示した巨視的なイベントの認識・抽出のための第二の処理(ステップ330)、すなわち、すなわち、エージェントの巨視的イベント特徴量を算出する処理について、その実施の形態の例を記す。
前述のように、実施例1で示した巨視的なイベントの認識・抽出のための第一の処理(ステップ320)では、各シナリオにおけるエージェントの挙動、すなわち、エージェントの内部状態の遷移および当該エージェントが送受信した全てのメッセージの履歴から、エージェント挙動のシナリオ間ばらつきを算出する。エージェントの内部状態の更新処理は、エージェントがメッセージを受信したタイミングで行われることを考慮すると、このようにして算出したエージェント挙動のシナリオ間ばらつきは、エージェントがメッセージを受信する頻度に、強い相関があると考えられる。したがって、エージェント挙動のシナリオ間ばらつきのうち、エージェント間のネットワーク構造に起因する分の算出には、各エージェントが受信したメッセージの頻度を考慮する必要がある。
エージェント挙動のシナリオ間ばらつきのうち、エージェント間のネットワーク構造に起因する分を算出するには、例えば、エージェント挙動のシナリオ間ばらつきを、時刻tまでのエージェントのメッセージの数で回帰すればよい。具体的には、第一の処理で算出した時刻tにおけるエージェントiの挙動のシナリオ間ばらつきをV(i)を目的変数、全てのシナリオおいて時刻tまでにエージェントiが受信したメッセージの数の平均R(i)を説明変数として、全てのエージェントについてのV(i)とR(i)を事例データとして用いて回帰分析を行う。ここで、R(i)は、シナリオsにおいて、時刻tまでにエージェントiが受信したメッセージの数R(i;s)を、M個のシナリオ(s=1からM)について足し合わせて、Mで除算したものである。求めた回帰式によるV(i)の推計値を、エージェント挙動のシナリオ間ばらつきのうちエージェント間のネットワーク構造に起因する分とし、回帰の残差を、エージェントの巨視的イベント特徴量、とすればよい。
図18は、回帰を用いた巨視的イベント特徴の算出について、その概念を模式的に示す図である。図は、全てのシナリオおいて時刻tまでにエージェントiが受信したメッセージの数の平均R(i)を横軸、第一の処理で算出した時刻tにおけるエージェントiの挙動のシナリオ間ばらつきをV(i)を縦軸として、N個のエージェント全てについてR(i)とV(i)の組をプロットし、さらに、V(i)を目的変数、R(i)を説明変数とした回帰式V=f(R)を表示している。このとき、例えば、エージェント1は、回帰による推定値f(R(V1))がエージェント1の挙動のシナリオ間ばらつきのうちエージェント間のネットワーク構造に起因する分であるとみなさるので、回帰の残差をエージェント1の巨視的イベント特徴量とすればよい。
巨視的イベント特徴として、単純に回帰の残差とするのではなく、αを実数として、エージェント挙動のシナリオ間ばらつきのα乗から、ネットワーク構造に起因する分の推定値のα乗を減算して、そのα乗根をとる、などの方法も考えられる。回帰分析に用いる回帰関数として、単純な線形の関数(線形回帰)以外に、非線形の関数を用いることも考えられる。例えば、エージェント挙動のシナリオ間ばらつきの指標化の仕方によっては、回帰関数として対数関数、すなわち、V=α×LOG(β×R)を用いるのが良い場合もある。あるいは、ノンパラメトリック回帰などの公知の手段を適用することも可能である。
また、回帰の説明変数として、時刻tまでにエージェントiが受信したメッセージの数の平均R(i)ではなく、エージェントiの入力エッジの次数、すなわち、エージェントiにメッセージを送信する可能性があるエージェントの総数を用いることも考えられる。この方法では、各エージェントの入力エッジの次数はシミュレーションを通して一定であるため、巨視的なイベントの認識・抽出処理に先だって回帰の計算を一度だけ行えばすむことになる。
また、エージェント挙動のシナリオ間ばらつきのうち、エージェント間のネットワーク構造に起因する分の具体的な算出方法の別の例として、各エージェントが受信したメッセージのネットワーク的な伝搬をも考慮する手法もある。前述のように、エージェントベーストシミュレーションでは、各エージェントはメッセージを受信するたびにエージェント内部状態を更新し、それが引き金となって該エージェントは別のエージェントにメッセージを送信する。そのため、あるエージェントがメッセージを受信すると、短い時間後にそのエージェントと接続しているエージェントもまたメッセージを受信する可能性が高い。したがって、各エージェントが受信したメッセージのネットワーク的な伝搬を考慮することで、エージェント挙動のシナリオ間ばらつきのうち、エージェント間のネットワーク構造に起因する分の算出の精度を向上できる。
実際には、例えば、回帰の目的変数として、エージェントiが受信したメッセージの数の平均R(i)の代わりに、図19に示したように受信メッセージ数のフロー中心性指数Rc(i)を用いることが考えられる。図19において、Aijは、エージェント間のネットワークの隣接行列を表しており、エージェントjからエージェントiにメッセージが送信される可能性がある場合には1、それ以外の場合には0の値をとる。また、kjは、エージェントjの出力エッジの次数、すなわち、エージェントjがメッセージを送信する可能性がある宛先エージェントの総数を表す。α、β、および、γは実数のパラメータである。エージェントiの受信メッセージの数R(i;s)から、シナリオsの受信メッセージ数のフロー中心性指数Rc(i;s)を求めるには、図19(a)に示した方程式を解く必要があるが、これには、行列の固有値計算手法、あるいは、各エージェントに適当な初期値を与えて収束するまで反復計算を行う、といった公知の手法を用いることができる。
以上のように、実施例3では、巨視的なイベントの認識・抽出のための第二の処理(ステップ330)、すなわち、すなわち、エージェントの巨視的イベント特徴量を算出する処理において、エージェント挙動のシナリオ間ばらつきのうち、エージェント間のネットワーク構造に起因する分がどの程度であるか、をエージェントモデルの内容に関わらず自動的に算出することが可能となる。
CALC_NODE:計算ノード、COM_SW:通信スイッチ、TERM:コントロール端末、CPU:中央演算処理装置、RAM:一時記憶装置、STOR:記憶装置、COM_DEV:通信デバイス、MSAGENT:マルチシナリオエージェント、SCN_ID:シナリオ識別子、PROG:エージェント振る舞いプログラム、MSAGENT_STORE:記憶領域、EXEC:エージェントプログラム解釈・実行部、RCV:マルチシナリオメッセージ受信部、SEND:マルチシナリオメッセージ送信部、SPLIT:マルチシナリオメッセージ分解部、ASEMBLE:マルチシナリオメッセージ組立部、ITABLE:論理エージェント識別子対応表、T_MES_STORE:送信メッセージの一時記憶部、MSAGNT_CTRL:マルチシナリオエージェント制御部

Claims (10)

  1. プロセッサと、複数のシナリオのもとでエージェントベースシミュレーションを実行した結果であって、各シナリオのもとで複数のエージェントの各々が送受信したメッセージの履歴と各々のエージェントの内部状態の遷移の履歴を示す時系列のシミュレーション結果データを格納した記憶装置とを備えた情報処理システムにおいて、
    前記記憶装置から読みだした前記シミュレーション結果データに基づき、前記複数のシナリオにおける対応するエージェント同士を比較し、そのエージェントのシミュレーション結果データがシナリオ間でどの程度ばらついているかを示す指標値を算出することを特徴とする情報処理システム。
  2. 請求項1に記載の情報処理システムにおいて、
    表示装置を更に備え、
    前記シミュレーション結果データに基づき、前記メッセージの送受信のあったエージェントを隣接するノードとして設定したネットワーク図を前記表示装置の画面上に描画することを特徴とする情報処理システム。
  3. 請求項2に記載の情報処理システムにおいて、
    前記シミュレーション結果データに基づき、前記エージェントの前記指標値に応じて前記ノードの色を決定し、前記ノード間のホップ数に応じて前記ノードの配置を決定することを特徴とする情報処理システム。
  4. 請求項3に記載の情報処理システムにおいて、
    前記シミュレーション結果データに基づき、前記指標値を複数のレベルに分類し、前記レベルが同一の前記エージェントの前記ノードを結ぶ等高線を前記ネットワーク図に追加して描画することを特徴とする情報処理システム。
  5. 請求項4に記載の情報処理システムにおいて、
    前記シミュレーション結果データは、前記複数のエージェントの各々が受信したメッセージの送信元のエージェントを示す情報を含み、
    所定時刻における前記複数のエージェントの各々のシミュレーション結果データを前記シナリオ毎に比較し、前記所定時刻までに受信したメーセージの数及び受信順序が同一である前記シナリオを同一のグループとして分類し、分類した前記グループの数に応じて前記エージェントの前記指標値を決定することを特徴とする情報処理システム。
  6. プロセッサと、複数のシナリオのもとでエージェントベースシミュレーションを実行した結果であって、各シナリオのもとで複数のエージェントの各々が送受信したメッセージの履歴と各々のエージェントの内部状態の遷移の履歴を示す時系列のシミュレーション結果データを格納した記憶装置とを備えた情報処理システムを用いたシミュレーション解析方法において、
    前記記憶装置から読みだした前記シミュレーション結果データに基づき、前記複数のシナリオにおける対応するエージェント同士を比較し、そのエージェントのシミュレーション結果データがシナリオ間でどの程度ばらついているかを示す指標値を算出することを特徴とするシミュレーション解析方法。
  7. 請求項6に記載のシミュレーション解析方法において、
    前記情報処理システムは表示装置を更に備え、
    前記シミュレーション結果データに基づき、前記メッセージの送受信のあったエージェントを隣接するノードとして設定したネットワーク図を前記表示装置の画面上に描画することを特徴とするシミュレーション解析方法。
  8. 請求項7に記載のシミュレーション解析方法において、
    前記シミュレーション結果データに基づき、前記エージェントの前記指標値に応じて前記ノードの色を決定し、前記ノード間のホップ数に応じて前記ノードの配置を決定することを特徴とするシミュレーション解析方法。
  9. 請求項8に記載のシミュレーション解析方法において、
    前記シミュレーション結果データに基づき、前記指標値を複数のレベルに分類し、前記レベルが同一の前記エージェントの前記ノードを結ぶ等高線を前記ネットワーク図に追加して描画することを特徴とするシミュレーション解析方法。
  10. 請求項9に記載のシミュレーション解析方法において、
    前記シミュレーション結果データは、前記複数のエージェントの各々が受信したメッセージの送信元のエージェントを示す情報を含み、
    所定時刻における前記複数のエージェントの各々のシミュレーション結果データを前記シナリオ毎に比較し、前記所定時刻までに受信したメーセージの数及び受信順序が同一である前記シナリオを同一のグループとして分類し、分類した前記グループの数に応じて前記エージェントの前記指標値を決定することを特徴とするシミュレーション解析方法。
JP2016505990A 2014-03-05 2014-03-05 シミュレーション解析方法および情報処理システム Active JP6199480B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2014/055542 WO2015132893A1 (ja) 2014-03-05 2014-03-05 シミュレーション解析方法および情報処理システム

Publications (2)

Publication Number Publication Date
JPWO2015132893A1 JPWO2015132893A1 (ja) 2017-03-30
JP6199480B2 true JP6199480B2 (ja) 2017-09-20

Family

ID=54054731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016505990A Active JP6199480B2 (ja) 2014-03-05 2014-03-05 シミュレーション解析方法および情報処理システム

Country Status (2)

Country Link
JP (1) JP6199480B2 (ja)
WO (1) WO2015132893A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022187779A (ja) 2021-06-08 2022-12-20 トヨタ自動車株式会社 マルチエージェントシミュレーションシステム及びマルチエージェントシミュレーション方法

Also Published As

Publication number Publication date
WO2015132893A1 (ja) 2015-09-11
JPWO2015132893A1 (ja) 2017-03-30

Similar Documents

Publication Publication Date Title
EP3489869A1 (en) Modeling method and device for evaluation model
US10198702B2 (en) End-to end project management
EP2988230A1 (en) Data processing method and computer system
KR101732319B1 (ko) 목표 지향적 빅데이터 비즈니스 분석 프레임워크
US20140330548A1 (en) Method and system for simulation of online social network
CN105760950B (zh) 提供或获取预测结果的方法、装置以及预测系统
US8990058B2 (en) Generating and evaluating expert networks
US9727447B1 (en) System, method, and computer program for automated exploratory testing
CN111369299A (zh) 识别的方法、装置、设备及计算机可读存储介质
Krajcovic et al. INTELLIGENT LOGISTICS FOR INTELLIGENT PRODUCTION SYSTEMS.
TWI590095B (zh) 軟體功能驗證系統及其驗證方法
US20240193520A1 (en) Decision flowchart-based environmental modeling method and apparatus, and electronic device
US10762089B2 (en) Open ended question identification for investigations
US20220329488A1 (en) Automated generation of standard network device configurations
Majumdar et al. Assessing software upgradation attributes and optimal release planning using DEMATEL and MAUT
Pereira et al. TOWARDS A CHARACTERIZATION OF BPM TOOLS'SIMULATION SUPPORT: THE CASE OF BPMN PROCESS MODELS
CN107644268B (zh) 一种基于多特征的开源软件项目孵化状态预测方法
US20140052431A1 (en) Supporting proactive decision-making in event-driven applications
JP6199480B2 (ja) シミュレーション解析方法および情報処理システム
EP4152715A1 (en) Method and apparatus for determining resource configuration of cloud service system
US11803464B2 (en) System for automatic identification and selection of optimization metrics and accompanying models in experimentation platforms
US11782923B2 (en) Optimizing breakeven points for enhancing system performance
CN115660695A (zh) 客服人员标签画像构建方法、装置、电子设备及存储介质
do Amaral et al. Attribute selection with filter and wrapper: an application on incident management process
CN115349129A (zh) 生成具有不确定性区间的性能预测

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170711

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170823

R150 Certificate of patent or registration of utility model

Ref document number: 6199480

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150