JP2017134449A - 分散処理装置、分散処理方法、及びプログラム - Google Patents

分散処理装置、分散処理方法、及びプログラム Download PDF

Info

Publication number
JP2017134449A
JP2017134449A JP2016011386A JP2016011386A JP2017134449A JP 2017134449 A JP2017134449 A JP 2017134449A JP 2016011386 A JP2016011386 A JP 2016011386A JP 2016011386 A JP2016011386 A JP 2016011386A JP 2017134449 A JP2017134449 A JP 2017134449A
Authority
JP
Japan
Prior art keywords
distributed processing
simulation
objects
unit
dividing
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.)
Granted
Application number
JP2016011386A
Other languages
English (en)
Other versions
JP6607794B2 (ja
Inventor
智洋 大谷
Tomohiro Otani
智洋 大谷
力 米森
Tsutomu Yonemori
力 米森
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.)
NTT Data Group Corp
Original Assignee
NTT Data Corp
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 NTT Data Corp filed Critical NTT Data Corp
Priority to JP2016011386A priority Critical patent/JP6607794B2/ja
Publication of JP2017134449A publication Critical patent/JP2017134449A/ja
Application granted granted Critical
Publication of JP6607794B2 publication Critical patent/JP6607794B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Traffic Control Systems (AREA)

Abstract

【課題】並列分散処理を高速に行うことが可能な分散処理装置、分散処理方法、及びプログラムを提供する。【解決手段】複数の模擬装置に対し、所定領域が分割された小領域を少なくとも1つずつ割り当て、小領域が割り当てられた模擬装置の各々から対象物の数を取得し、取得された対象物の数から、模擬装置間で生じた対象物の数のばらつきを示す統計量を算出する算出し、算出された統計量が所定範囲外か否かを判定し、統計量が所定範囲外と判定された場合に、各々の模擬装置により動きが模擬される対象物の数が特定範囲内になるように所定領域を分割する。【選択図】図5

Description

本発明は、分散処理装置、分散処理方法、及びプログラムに関する。
交通渋滞などの複雑な事象をシミュレーションする技術として、マルチエージェントシミュレーション(以下、「MAS」という)が知られている。MASでは、行動規範を持つエージェントを相互作用させるシミュレーションが行われる。
大規模なMASは、処理量が非常に大きいため、汎用的な計算機が処理を行うことは困難である。そこで、大規模なMASの処理を行うためにスーパーコンピュータが用いられることがある(例えば、非特許文献1参照)。
こうした背景から、MASの処理を並列分散処理で行う技術が提案されている。並列分散処理では、分散された処理装置が並列して処理を行うとともに、同期処理が行われるため、各々の処理装置の処理時間が均等であることが好ましい。
IBMプロフェッショナル論文 X10言語を用いた超並列大規模交通流シミュレーション。PROVISION.2012,no.72,p.74-80.
しかしながら、従来の並列分散処理では、エージェントの相互作用がなされていくと、処理装置ごとの処理負荷が偏っていき、その結果処理時間が長くなるという問題点があった。
本発明は、このような事情に鑑みてなされたもので、その目的は、並列分散処理を高速に行うことが可能な分散処理装置、分散処理方法、及びプログラムを提供することにある。
上述した課題を解決するために、本発明の一態様は、領域に存在する対象物の動きを模擬する複数の模擬装置に接続される分散処理装置であって、複数の前記模擬装置に対し、所定領域が分割された小領域を少なくとも1つずつ割り当てる割り当て部と、前記割り当て部により前記小領域が割り当てられた前記模擬装置の各々から前記対象物の数を取得する取得部と、前記取得部により取得された前記対象物の数から、前記模擬装置間で生じた前記対象物の数のばらつきを示す統計量を算出する算出部と、前記算出部により算出された前記統計量が所定範囲外か否かを判定する判定部と、前記判定部により前記統計量が所定範囲外と判定された場合に、各々の前記模擬装置により動きが模擬される前記対象物の数が特定範囲内になるように前記所定領域を分割する分割部とを有することを特徴とする。
また、本発明の一態様は、上記の分散処理装置において、前記取得部は、前記対象物の数を取得する取得時間が経過するたびに前記対象物の数を取得することを特徴とする。
また、本発明の一態様は、上記の分散処理装置において、前記取得部は、前記算出部により算出された前記統計量に応じて、前記取得時間を変えることを特徴とする。
また、本発明の一態様は、上記の分散処理装置において、前記判定部は、前記算出部により算出された前記統計量に応じて、前記所定範囲を変えることを特徴とする。
また、本発明の一態様は、上記の分散処理装置において、前記所定領域は、ネットワークで接続されたノードにより構成される領域であり、前記小領域は、前記ネットワークの部分ネットワークであり、前記対象物は、前記部分ネットワーク内のノード間に存在することを特徴とする。
また、本発明の一態様は、上記の分散処理装置において、前記ノードは交差点であり、前記ネットワークは前記交差点を接続する道路であり、前記対象物は車両であることを特徴とする。
上述した課題を解決するために、本発明の一態様は、領域に存在する対象物の動きを模擬する複数の模擬装置に接続される分散処理装置の分散処理方法であって、複数の前記模擬装置に対し、所定領域が分割された小領域を少なくとも1つずつ割り当てる割り当てステップと、前記割り当てステップにより前記小領域が割り当てられた前記模擬装置の各々から前記対象物の数を取得する取得ステップと、前記取得ステップにより取得された前記対象物の数から、前記模擬装置間で生じた前記対象物の数のばらつきを示す統計量を算出する算出ステップと、前記算出ステップにより算出された前記統計量が所定範囲外か否かを判定する判定ステップと、前記判定ステップにより前記統計量が所定範囲外と判定された場合に、各々の前記模擬装置により動きが模擬される前記対象物の数が特定範囲内になるように前記所定領域を分割する分割ステップとを有することを特徴とする。
上述した課題を解決するために、本発明の一態様は、領域に存在する対象物の動きを模擬する複数の模擬装置に接続される分散処理装置のコンピュータに、複数の前記模擬装置に対し、所定領域が分割された小領域を少なくとも1つずつ割り当てる割り当てステップ、前記割り当てステップにより前記小領域が割り当てられた前記模擬装置の各々から前記対象物の数を取得する取得ステップ、前記取得ステップにより取得された前記対象物の数から、前記模擬装置間で生じた前記対象物の数のばらつきを示す統計量を算出する算出ステップ、前記算出ステップにより算出された前記統計量が所定範囲外か否かを判定する判定ステップ、前記判定ステップにより前記統計量が所定範囲外と判定された場合に、各々の前記模擬装置により動きが模擬される前記対象物の数が特定範囲内になるように前記所定領域を分割する分割ステップ、を実行させるためのプログラムである。
以上説明したように、この発明によれば、並列分散処理を高速に行うことが可能な分散処理装置、分散処理方法、及びプログラムを提供できる。
本発明の実施形態に係る分散処理システムを含む概略構成を示す図である。 入力データの一例を示す図である。 模擬データの一例を示す図である。 分散処理装置の概略構成を示す図である。 所定領域を示す地図データの一例を示す図である。 車両数データを示す図である。 並列分散処理の開始時に行われる処理手順を示したフローチャートである。 分割処理の処理手順を示したフローチャートである。 ノードのリストを示す図である。 小領域リストを示す図である。 並列分散処理の実行中に行われる処理手順を示したフローチャートである。 タイマ設定処理の処理手順を示したフローチャートである。
図1は、本発明の実施形態に係る分散処理システム100を含む概略構成を示す図である。本実施形態に係る分散処理システム100は、マルチエージェントシミュレーションによって交通シミュレーションを行うシステムである。本実施形態において、エージェントは、車両、信号機等である。
分散処理システム100は、分散処理装置200、n個の模擬装置300−1、300−2、300−3、…300−nで構成される。以下の説明において、模擬装置300−1、300−2、300−3、…300−nに共通の説明をする場合には、単に模擬装置300と表現する。
図1に示されるように、分散処理装置200は、複数の模擬装置300に接続される。模擬装置300は、領域が割り当てられると、その領域に存在する対象物の動きを模擬する。本実施形態における対象物は、エージェントの1つである車両である。従って模擬装置300は、車両の動きを模擬する。
分散処理装置200には、後述する入力データが入力される。分散処理装置200は、入力データから道路や車両に関する地図データ(ネットワークデータ)を作成し、各々の模擬装置300に処理を割り当てる。具体的に、分散処理装置200は、地図データに示される所定領域(例えば、東京23区等)を、小領域に分割する。そして、分散処理装置200は、複数の模擬装置300に対し、所定領域が分割された小領域を1つずつ割り当てる。これにより、複数の模擬装置300による並列分散処理が開始される。並列分散処理において、模擬装置300は、分散処理装置200により割り当てられた小領域における車両の動きを模擬する。
各々の模擬装置300は、模擬が終了すると、分散処理装置200に模擬が終了したことを出力する。全ての模擬装置300から模擬が終了したことが出力されると、分散処理装置200は、模擬が終了したと判定する。そして、分散処理装置200は、割り当てた小領域における模擬結果を模擬装置300から取得し、後述する模擬データを出力する。
本実施形態において、模擬装置300は、1つのCPU(Central Processing Unit)と、ROM(Read Only Memory)と、RAM(Random Access Memory)とを含む。また、CPUはシングルコアで、同時に実行可能なスレッドは1つである。さらに、各々の模擬装置300に搭載されているCPUは同一スペックである。
ここで以下の説明で用いられる用語について説明する。まず「ノード」は、交差点と行き止まりの道路の先端を示す。このうち交差点は、道路交通法第2条第1項第5号での定義と同じく、十字路、丁字路その他二以上の道路が交わる場合における当該二以上の道路(歩道と車道の区別のある道路においては、車道)の交わる部分をいう。「エッジ」は、道路を示す。「次数」は、ノードのエッジ数である。例えば、ノードが十字路の場合、ノードのエッジ数は、「4」となる。「プローブ」は車両を示す。シミュレーション時間とは、模擬装置300が車両の動きを模擬する時間帯を示す。例えば、午前9時から午前10時までなど、ある地域における午前9時から午前10時までの車両の動きを模擬する時間帯がシミュレーション時間である。これらを踏まえ、まず入力データについて説明する。
図2は、分散処理装置200に入力される入力データの一例を示す図である。入力データは、道路形状データ、道路属性データ、交差点位置データ、交差点属性データ、道路ネットワークデータ、道路センサ情報データ、プローブの行先情報データ、密度データ、信号機データ、及び交通量データで構成される。
このうち、道路形状データは、道路リンク(エッジ)とノードとの対応情報である。具体的に道路形状データは、2つのノード間を結ぶエッジにおいて、このエッジと2つのノードとの対応を示すデータである。道路属性データは、右左折後のノードの対応情報である。具体的に道路属性データは、ノードと、このノードで右左折した後に向かうノードとの対応を示すデータである。
交差点位置データは、交差点の緯度経度を示すデータである。交差点属性データは、交差点と信号機の対応情報である。具体的に交差点位置データは、交差点の信号の有無を示すデータである。道路ネットワークデータは、道路の緯度経度情報である。本実施形態における道路は、複数の点(緯度、経度)を結ぶことで表現される。道路ネットワークデータは、点の緯度経度情報を示すデータである。
道路センサ情報データは、道路のセンサ(例えば、光ビーコン等)の位置を示すデータである。プローブの行先情報データは、曜日、時間、道路ごとの遷移確率を示すデータである。遷移確率とは、例えば日曜の午前9時0分に、あるT字路において、車両が左に曲がる確率と右に曲がる確率である。
密度データは、曜日、時間ごとの全道路の交通量(車両数)を示すデータである。信号機データは、道路ごとの信号機の情報である。具体的に信号機データは、ある道路の信号機の青時間の長さや、点灯順番等を示すデータである。交通量情報データは、時間ごとの交通量の情報である。具体的に交通量情報データは、道路ごとの1時間当たりの交通量、車両の平均速度、制限速度、及び車両台数等が24時間分含まれるデータである。
図3は、分散処理装置200が出力する模擬データの一例を示す図である。分散処理装置200は、模擬装置300の各々から模擬結果を取得し、上記模擬データを出力する。模擬データは、プローブデータ、信号機データ、グラフデータ、及び渋滞情報データで構成される。
プローブデータは、シミュレーション時間におけるプローブの動作情報である。信号機データは、シミュレーション時間における信号機の動作情報である。グラフデータは、シミュレーション時間における待ち時間と平均速度のグラフデータである。待ち時間とは、車両が赤信号で停止した時間である。平均速度とは、全車両の平均速度である。渋滞情報データは、シミュレーション時間における渋滞個所の情報可視化データである。
以上説明した模擬データにより、分散処理装置200は、シミュレーション時間における車両の動作、信号機の動作、車両の待ち時間と平均速度、及び渋滞個所を例えばモニタ等に表示したりすることができる。
図4は、分散処理装置200の概略構成を示す図である。分散処理装置200は、データ入力部201、地図データ作成部202、分割部203、割り当て部204、車両数取得部205、標準偏差算出部206、判定部207、及び模擬データ出力部208で構成される。
データ入力部201は、図2で示した入力データを取得する。入力データは、例えば他の端末からネットワークを介して入力される。データ入力部201は、入力データを地図データ作成部202に出力する。地図データ作成部202は、入力データから地図データを作成する。地図データ作成部202は、作成した地図データを分割部203に出力する。地図データについては後述する。
分割部203は、地図データに示される所定領域を、小領域に分割する。このとき、分割部203は、模擬装置300により動きが模擬される車両の数が特定範囲内になるように所定領域を分割する。分割部203は、分割した小領域を割り当て部204に出力する。本実施形態では、特定範囲を、車両総数/小領域数の±5%以内としている。例えば所定領域内の車両総数が1000台で、小領域総数が10個の場合、分割部203は、各々の小領域に含まれる車両の数が95台から105台となるように所定領域を分割する。
本実施形態において、車両の数が特定範囲内になるように所定領域を分割する理由は、車両の数に模擬装置300の処理時間がほぼ正比例するためである。よって、車両の数が特定範囲内になるように所定領域を分割することで、模擬装置300ごとの処理負荷の偏りを抑制できるため、並列分散処理を高速に行うことが可能となる。
割り当て部204は、複数の模擬装置300に対し、所定領域が分割された小領域を1つずつ割り当てる。小領域を割り当てられた各模擬装置300は、割り当てられた小領域内の車両の動きを模擬する。
車両数取得部205は、小領域が割り当てられた模擬装置300の各々から車両の数を取得する。交通シミュレーションでは、車両や信号機等の相互作用により、小領域に存在する車両の数は増減する。そこで、車両数取得部205は、車両の数を取得する取得時間が経過するたびに車両の数を取得する。例えば、取得時間が5分であれば、車両数取得部205は、5分ごとに車両の数を取得する。なお、後述するように、車両数取得部205は、取得時間を変えることが可能である。
本実施形態における模擬装置300の数はn個であるため、車両数取得部205は、n個の車両の数X1、…、Xnを取得する。車両数取得部205は、取得したn個の車両の数X1、…、Xnを標準偏差算出部206に出力する。
標準偏差算出部206は、車両の数X1、…、Xnから、模擬装置300間で生じたばらつきを示す統計量を算出する。本実施形態では、ばらつきを示す統計量として標準偏差を用いている。標準偏差算出部206は、n個の車両数X1、…、Xnから、標準偏差sを算出する。標準偏差算出部206は、車両数X1、…、Xnの平均値をXとしたとき、以下の式により標準偏差sを算出する。
s=(((X1−X)+(X2−X)+…(Xn−X))/n)1/2
標準偏差算出部206は、算出した標準偏差sを、車両数取得部205、及び判定部207に出力する。判定部207は、算出された標準偏差sが所定範囲外か否かを判定する。本実施形態では、閾値θを用いて、所定範囲を区間[0、θ]としている。従って、判定部207は、標準偏差sが、0≦s≦θの場合には、所定範囲内と判定し、θ<sの場合には、所定範囲外と判定する。判定部207は、標準偏差sが所定範囲外と判定した場合に、標準偏差sが所定範囲外と判定したことを分割部203に出力する。
分割部203は、標準偏差sが所定範囲外と判定したことが判定部207から出力されると、分割部203は全ての模擬装置300に対して模擬を停止させる。そして、分割部203は各々の模擬装置300により動きが模擬される車両の数が上述した特定範囲内になるように所定領域を分割する。割り当て部204は、複数の模擬装置300に対し、所定領域が分割された小領域を1つずつ割り当てる。小領域を割り当てられた各模擬装置300は、割り当てられた小領域内の車両の動きの模擬を再開する。
分散処理装置200は、模擬が終了するまで、繰り返し車両の数を取得し、標準偏差を算出し、標準偏差に応じて分割を行う。そして、各々の模擬装置300が模擬を終了すると、模擬データ出力部208は各々の模擬装置300から模擬結果を取得し、上述した模擬データを出力する。
図5は、所定領域を示す地図データの一例を示す図である。図5に示される地図データには、7つのノード(交差点)N−1、…、N−7、及びノード間に存在する車両数が示されている。図5に示されるように、所定領域は、ネットワークで接続されたノードにより構成される領域である。なお、ネットワークは道路に対応するが、隣接する2つのノードを接続する道路をエッジと表現することがある。
また、図5に示される全ての道路は、対面走行可能である。従って、車両数は、一方のノードから他方のノードに向かう車両と、他方のノードから一方のノードに向かう車両の数が示される。例えば、ノードN−1からノードN−2に向かう車両の数は1であり、ノードN−2からノードN−1に向かう車両の数は3である。
図6は、地図データに示したノード間に存在する車両の数を示す車両数データを示す図である。車両数データは、始点ノードから終点ノードへ向かっている車両の数を示すデータである。上述したように、例えばノードN−1からノードN−2に向かう車両の数は1であるので、始点ノードをノードN−1とし、終点ノードをN−2とした車両数データは1である。
車両数データは、分割部203が小領域に分割する際に参照される。例えば、所定領域が図5に示される地図データで示され、かつ小領域を2つとする場合、分割部203は、車両数データを参照して、図5の分割線210に示されるように、小領域A、Bに所定領域を分割する。すなわち、ネットワークを2つの部分ネットワークに分割する。小領域Aに存在する車両の数は11であり、小領域Bに存在する車両の数も11である。小領域A、Bを割り当てられた2つの模擬装置300は、いずれも11台の車両の動きを模擬することとなる。従って、2つの模擬装置300の処理時間は、ほぼ同じ時間となるので、並列分散処理を高速に行うことが可能となる。
図7は、分散処理装置200において並列分散処理の開始時に行われる処理手順を示したフローチャートである。データ入力部201は、図2で示した入力データを取得する(ステップS101)。地図データ作成部202は、入力データから地図データを作成する(ステップS102)。分割部203は、地図データに示される所定領域を、小領域に分割する分割処理を行う(ステップS103)。
割り当て部204は、複数の模擬装置300に対し、所定領域が分割された小領域を1つずつ割り当てる(ステップS104)。これにより、複数の模擬装置300による並列分散処理が開始される(ステップS105)。次いで、車両数取得部205は、初期タイマ設定を行い(ステップS106)、処理を終了する。このステップS106において、車両数取得部205は車両の数を取得する取得時間を標準タイマ値の5分に設定する。
図8は、ステップS103の分割処理の処理手順を示したフローチャートである。分割部203は、まずノードごとにエッジ数を算出する(ステップS201)。次いで、分割部203は、エッジ数の小さい順にノードをソートしてリスト化する(ステップS202)。図9は、ノードのリストを示す図である。ノードIDは、ノードを一意に識別する識別子である。エッジ数は、ノードIDに対応するノードのエッジ数を示す。図9の場合、例えばノードIDが1、5、7、11のノードのエッジ数は1である。
次いで、分割部203は、エッジ数が最小のノードを基準にノードを集約してクラスタを作成する(ステップS203)。クラスタとは、小領域を作成する過程で生じる領域である。具体的に分割部203は、例えば図9に示されるリストの場合、ノードIDが1に対応するノードに隣接するノードを集約したクラスタを作成する。なお、隣接するノードが、車両の数が特定範囲内にならないようなノードのみの場合には、隣接しないノードを集約してクラスタを作成してもよい。
分割部203は、クラスタに集約されたノードをリストから削除する(ステップS204)。分割部203は、全ノードがクラスタに集約されたか否かを判定する(ステップS205)。ここで分割部203は、リストにノードが残っている場合には否定判定し、リストにノードが残っていない場合には肯定判定する。
分割部203は、全ノードがクラスタに集約されていない場合には(ステップS205でNO)、上記ステップS202に戻り、リストに残っているノードをエッジ数の小さい順にソートしてリスト化する(ステップS202)。そして、再びステップS203以降の処理を行う。
分割部203は、全ノードがいずれかのクラスタに集約された場合には(ステップS205でYES)、1つのクラスタを1つの小領域とした小領域リストを作成し(ステップS206)、処理を終了する。図10は、小領域リストを示す図である。小領域リストは、ノードIDと、小領域を識別する識別子である小領域IDとで構成される。このように、小領域リストは、ノードIDに対応するノードが、いずれの小領域に属するかを示すリストである。図10の場合、例えばノードIDが2と5に対応するノードは、小領域IDが1の小領域に属することが示されている。
図11は、分散処理装置200において並列分散処理の実行中に行われる処理手順を示したフローチャートである。車両数取得部205は、取得時間が経過したか否かを判定する(ステップS301)。すなわち車両数取得部205は、取得時間としてセットしたタイマがタイムアウトしたか否かを判定する。
取得時間が経過した場合には(ステップS301でYES)、車両数取得部205は、n個の車両の数X1、…、Xnを取得する(ステップS302)。次いで、標準偏差算出部206は、n個の車両数X1、…、Xnから、標準偏差sを算出する(ステップS303)。判定部207は、算出された標準偏差sが所定範囲外(θ<s)か否かを判定する(ステップS304)。
標準偏差sが所定範囲外の場合には(ステップS304でYES)、分割部203は、上述した分割処理を行い(ステップS305)、ステップS306に進む。一方、標準偏差sが所定範囲外ではない場合には(ステップS304でNO)、ステップS306に進む。
次いで、車両数取得部205は、取得時間を設定するタイマ設定処理を行い(ステップS306)、ステップS301に戻る。
ステップS301において、取得時間が経過していない場合には(ステップS301でNO)、模擬データ出力部208は、模擬が終了したか否かを判定する(ステップS307)。
模擬が終了していない場合には(ステップS307でNO)、ステップS301に戻る。一方、模擬が終了した場合には(ステップS307でYES)、模擬データ出力部208は、各々の模擬装置300から模擬結果を取得し(ステップS308)、模擬データを出力して(ステップS309)、本処理を終了する。
図12は、ステップS306のタイマ設定処理の処理手順を示したフローチャートである。車両数取得部205は、区間[0、+∞)を3つに分割した区間A、B、Cと標準偏差sとを比較してタイマ値を設定する。3つに分割された区間は、A=[0、θ/3)、B=[θ/3、2θ/3)、及びC=[2θ/3、+∞)である。区間A、B、Cの順に、ばらつきが大きくなる。車両数取得部205は、並列分散処理を高速に行うため、ばらつきが大きい場合には、標準タイマ値と比較して取得時間を短くする。一方、ばらつきが小さい場合には、車両数取得部205は、標準タイマ値と比較して取得時間を長くする。
車両数取得部205は、θ/3≦s<2θ/3か否かを判定する(ステップS301)。すなわち、標準偏差sが区間Bに存在するか否かを判定する。標準偏差sが区間Bに存在する場合には(ステップS301でYES)、車両数取得部205は、上述した標準タイマ値を設定し(ステップS302)、処理を終了する。
標準偏差sが区間Bに存在しない場合には(ステップS301でNO)、車両数取得部205は、2θ/3≦sか否かを判定する(ステップS303)。すなわち、標準偏差sが区間Cに存在するか否かを判定する。標準偏差sが区間Cに存在する場合には(ステップS303でYES)、車両数取得部205は、短タイマ値を設定し(ステップS304)、処理を終了する。短タイマ値とは、標準タイマ値より短いタイマ値であり、本実施形態では2分としている。
標準偏差sが区間Cに存在しない場合には(ステップS301でNO)、標準偏差sは区間Aに存在することとなるため、車両数取得部205は、長タイマ値を設定し(ステップS305)、処理を終了する。長タイマ値とは、標準タイマ値より長いタイマ値であり、本実施形態では8分としている。
タイマ設定処理に示されるように、本実施形態では、標準偏差算出部206により算出された標準偏差sに応じて、取得時間を変える。一般的に、標準偏差sが区間Cに存在する場合には、区間Cに存在しない場合と比較して、標準偏差sが閾値θを短時間で超える可能性が高い。一方、標準偏差sが区間Aに存在する場合には、区間Aに存在しない場合と比較して、標準偏差sが閾値θを超えるまでには長時間を要する可能性が高い。
従って、標準偏差sが区間Cに存在する場合には短タイマ値を設定することで、模擬装置300間のばらつきを抑制することができるため、並列分散処理を高速に行うことが可能となる。一方、標準偏差sが区間Aに存在する場合には長タイマ値を設定することで、車両の数を取得するための負荷が減少するため、並列分散処理を高速に行うことが可能となる。
タイマ設定処理では、標準偏差sに応じて、取得時間を変えているが、標準偏差sに応じて、所定範囲である区間[0、θ]を変えるようにしてもよい。例えば、標準偏差sが区間Cに連続して数回存在した場合、すなわち、標準偏差sが閾値θを超えないが高止まり状態となった場合には、閾値φ(<θ)を用いて所定範囲を区間[0、φ]に変えるようにしてもよい。あるいは、所定範囲を変えることなく、所定領域を分割するようにしてもよい。高止まり状態は、比較的大きな偏りが生じている状態のため、そのような状態が継続すると模擬装置の処理時間に比較的大きな差が生じる可能性が高い。そこで、所定範囲を変えたり、所定領域を分割することで、並列分散処理を高速に行うことが可能となる。
以上説明したように、本実施形態に係る分散処理装置は、領域に存在する対象物(例えば、車両等)の動きを模擬する複数の模擬装置(例えば、模擬装置300−1、300−2、300−3、…300−n)に接続される分散処理装置(例えば、分散処理装置200等)であって、複数の前記模擬装置に対し、所定領域(例えば、図5に示される所定領域等)が分割された小領域(例えば、図5に示される小領域A、B等)を少なくとも1つずつ割り当てる割り当て部(例えば、割り当て部204等)と、前記割り当て部により前記小領域が割り当てられた前記模擬装置の各々から前記対象物の数を取得する取得部(例えば、車両数取得部205等)と、前記取得部により取得された前記対象物の数から、前記模擬装置間で生じた前記対象物の数のばらつきを示す統計量(例えば、標準偏差等)を算出する算出部(例えば、標準偏差算出部206等)と、前記算出部により算出された前記統計量が所定範囲外か否かを判定する判定部(例えば、判定部207等)と、前記判定部により前記統計量が所定範囲外と判定された場合に、各々の前記模擬装置により動きが模擬される前記対象物の数が特定範囲内になるように前記所定領域を分割する分割部(例えば、分割部203等)とを有することを特徴とする。
この構成によれば、模擬装置間で生じた対象物の数のばらつきが所定範囲外と判定された場合に、対象物の数が特定範囲内になるように所定領域を分割することで、模擬装置間で生じる対象物の数のばらつきを抑制させることができるので、並列分散処理を高速に行うことが可能となる。
本実施形態における模擬装置300は、シングルコアで同時に実行可能なスレッドは1つであったが、これに限るものではない。割り当て部204は、模擬装置が同時に実行可能なスレッド数と同じ数の小領域を割り当てる。これは、車両の動きを模擬する処理がスレッド単位で行われるためである。1つのCPUは少なくとも1つのスレッドを実行可能であることから、割り当て部204は、小領域を少なくとも1つずつ模擬装置に割り当てる。例えば、コアが4つで、各々のコアが同時に2つのスレッドを実行可能な模擬装置の場合、割り当て部204は、1つの模擬装置に対し8つの小領域を割り当てる。
本実施形態における対象物は車両であったが、これに限るものではない。対象物の他の例として、人、航空機、貨物、及びウイルス等が挙げられる。例えば、対象物を人とした場合、本実施形態における道路を人が通行可能な道路とし、車両を人とすることで本実施形態を適用できる。こうして人の動きを模擬することで、人の渋滞等が予測可能である。従って、例えばより効率よく非難可能な避難経路を作成することができる。
航空機は、飛行可能な空域が定められているため、対象物を航空機とした場合、本実施形態における道路を空域とし、車両を航空機とすることで本実施形態を適用できる。対象物を貨物とした場合、本実施形態における道路を流通経路とし、車両を貨物とすることで本実施形態を適用できる。対象物をウイルスとした場合、本実施形態における道路を人とし、車両をウイルスとすることで本実施形態を適用できる。こうしてウイルスの動きを模擬することで得られた模擬結果は、ウイルスの予測感染経路を示している。従って、ウイルスの動きを模擬することで得られた模擬結果は、感染を未然に防ぐきっかけを作ることができる。
さらに、口コミの伝搬も模擬できる。例えば、本実施形態における道路を人とし、車両を口コミを行う人とすることで本実施形態を適用できる。こうして人が商品をどのように口コミによって普及させるかを模擬することで得られた模擬結果は、メーカーや店舗が新商品の販売方法を検討する際の検討材料となる。
本実施形態における統計量は標準偏差であったが、これに限るものではない。統計量の他の例として、分散、偏差等が挙げられる。偏差は、本実施形態ではX−Xk(k=1〜n)であり、n個存在するが、いずれかの偏差の絶対値が所定の閾値より大きい場合に所定領域を分割するようにしてもよい。偏差を用いることで、例えばイベントの開始または終了等により1つの小領域だけ急激に車両が増加または減少した場合にも即座に所定領域を分割することができる。なお、標準偏差と偏差とを併用したり、分散と偏差を併用するようにしてもよい。
本実施形態においては、特定範囲を車両総数/小領域数の±5%以内とし、所定範囲を区間[0、θ]としたがこれに限るものではない。特定範囲及び所定範囲は、模擬装置の能力、所定領域や小領域の規模等に応じて適宜定めるようにしてもよい。さらに、本実施形態では、図12に示したように、所定範囲を3つに分割してタイマ値を設定したが、所定範囲を2つまたは4つ以上に分割してタイマ値を設定するようにしてもよい。
本実施形態における地図データは、ノードとエッジで構成される静的なデータに、動的なデータである車両数を加えたデータとなっている。図5に示されるような、ネットワーク上に動的な何らかの値(車両数)を付加したネットワークは、重み付きネットワークと言われる。従って、本実施形態は、エージェントの相互作用によって重みが偏る重み付きネットワークを用いたマルチエージェントシミュレーションに適用できる。なお、本実施形態に示した分割処理は、重み付きネットワークにおいて、重みが特定範囲となるようにネットワークを分割する処理であり、そのアルゴリズムの一例として図8のフローチャートを示したが、重みが特定範囲となるようにネットワークを分割可能な任意のアルゴリズムを用いて分割処理を行ってもよい。
本実施形態によれば、スーパーコンピュータを用いることなくマルチエージェントシミュレーションを並列分散処理により高速に行うことが可能となるため、従来技術と比較して、マルチエージェントシミュレーションを行うためのコストを大幅に削減することができる。
上述した実施形態における分散処理装置200の処理をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
100 分散処理システム、200 分散処理装置、
300−1、300−2、300−3、…300−n、300 模擬装置、
201 データ入力部、202 地図データ作成部、203 分割部、
204 割り当て部、205 車両数取得部、206 標準偏差算出部、
207 判定部、208 模擬データ出力部

Claims (8)

  1. 領域に存在する対象物の動きを模擬する複数の模擬装置に接続される分散処理装置であって、
    複数の前記模擬装置に対し、所定領域が分割された小領域を少なくとも1つずつ割り当てる割り当て部と、
    前記割り当て部により前記小領域が割り当てられた前記模擬装置の各々から前記対象物の数を取得する取得部と、
    前記取得部により取得された前記対象物の数から、前記模擬装置間で生じた前記対象物の数のばらつきを示す統計量を算出する算出部と、
    前記算出部により算出された前記統計量が所定範囲外か否かを判定する判定部と、
    前記判定部により前記統計量が所定範囲外と判定された場合に、各々の前記模擬装置により動きが模擬される前記対象物の数が特定範囲内になるように前記所定領域を分割する分割部と
    を有することを特徴とする分散処理装置。
  2. 前記取得部は、前記対象物の数を取得する取得時間が経過するたびに前記対象物の数を取得することを特徴とする請求項1に記載の分散処理装置。
  3. 前記取得部は、前記算出部により算出された前記統計量に応じて、前記取得時間を変えることを特徴とする請求項2に記載の分散処理装置。
  4. 前記判定部は、前記算出部により算出された前記統計量に応じて、前記所定範囲を変えることを特徴とする請求項1から請求項3のいずれか1項に記載の分散処理装置。
  5. 前記所定領域は、ネットワークで接続されたノードにより構成される領域であり、前記小領域は、前記ネットワークの部分ネットワークであり、前記対象物は、前記部分ネットワーク内のノード間に存在することを特徴とする請求項1から請求項4のいずれか1項に記載の分散処理装置。
  6. 前記ノードは交差点であり、前記ネットワークは前記交差点を接続する道路であり、前記対象物は車両であることを特徴とする請求項5に記載の分散処理装置。
  7. 領域に存在する対象物の動きを模擬する複数の模擬装置に接続される分散処理装置の分散処理方法であって、
    複数の前記模擬装置に対し、所定領域が分割された小領域を少なくとも1つずつ割り当てる割り当てステップと、
    前記割り当てステップにより前記小領域が割り当てられた前記模擬装置の各々から前記対象物の数を取得する取得ステップと、
    前記取得ステップにより取得された前記対象物の数から、前記模擬装置間で生じた前記対象物の数のばらつきを示す統計量を算出する算出ステップと、
    前記算出ステップにより算出された前記統計量が所定範囲外か否かを判定する判定ステップと、
    前記判定ステップにより前記統計量が所定範囲外と判定された場合に、各々の前記模擬装置により動きが模擬される前記対象物の数が特定範囲内になるように前記所定領域を分割する分割ステップと、
    を有することを特徴とする分散処理方法。
  8. 領域に存在する対象物の動きを模擬する複数の模擬装置に接続される分散処理装置のコンピュータに、
    複数の前記模擬装置に対し、所定領域が分割された小領域を少なくとも1つずつ割り当てる割り当てステップ、
    前記割り当てステップにより前記小領域が割り当てられた前記模擬装置の各々から前記対象物の数を取得する取得ステップ、
    前記取得ステップにより取得された前記対象物の数から、前記模擬装置間で生じた前記対象物の数のばらつきを示す統計量を算出する算出ステップ、
    前記算出ステップにより算出された前記統計量が所定範囲外か否かを判定する判定ステップ、
    前記判定ステップにより前記統計量が所定範囲外と判定された場合に、各々の前記模擬装置により動きが模擬される前記対象物の数が特定範囲内になるように前記所定領域を分割する分割ステップ、
    を実行させるためのプログラム。
JP2016011386A 2016-01-25 2016-01-25 分散処理装置、分散処理方法、及びプログラム Active JP6607794B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016011386A JP6607794B2 (ja) 2016-01-25 2016-01-25 分散処理装置、分散処理方法、及びプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016011386A JP6607794B2 (ja) 2016-01-25 2016-01-25 分散処理装置、分散処理方法、及びプログラム

Publications (2)

Publication Number Publication Date
JP2017134449A true JP2017134449A (ja) 2017-08-03
JP6607794B2 JP6607794B2 (ja) 2019-11-20

Family

ID=59502761

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016011386A Active JP6607794B2 (ja) 2016-01-25 2016-01-25 分散処理装置、分散処理方法、及びプログラム

Country Status (1)

Country Link
JP (1) JP6607794B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021026646A (ja) * 2019-08-08 2021-02-22 株式会社日立製作所 分散処理システム、分散処理方法及び分散処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2021026646A (ja) * 2019-08-08 2021-02-22 株式会社日立製作所 分散処理システム、分散処理方法及び分散処理プログラム
JP7353854B2 (ja) 2019-08-08 2023-10-02 株式会社日立製作所 分散処理システム及び分散処理方法

Also Published As

Publication number Publication date
JP6607794B2 (ja) 2019-11-20

Similar Documents

Publication Publication Date Title
JP6933992B2 (ja) 人流予測装置および人流予測プログラム
Xia et al. Modeling and analysis of large-scale urban mobility for green transportation
Ramamohanarao et al. Smarts: Scalable microscopic adaptive road traffic simulator
Kotusevski et al. A review of traffic simulation software
CN102281290B (zh) 一种PaaS云平台的仿真系统及方法
US9310204B2 (en) Route modeler for improving desired environmental and economic flight characteristics
Monechi et al. Congestion transition in air traffic networks
Natafgi et al. Smart traffic light system using machine learning
US10210751B1 (en) Identification of traffic control mechanisms using machine learning
US10176711B2 (en) Analyzing big data to manage traffic flow
Cabannes et al. Measuring regret in routing: assessing the impact of increased app usage
Faro et al. Algorithms to find shortest and alternative paths in free flow and congested traffic regimes
JP6607794B2 (ja) 分散処理装置、分散処理方法、及びプログラム
US20130085740A1 (en) Looking glass: a hybrid simulation system to model cascading events within a black box system
Crols et al. A travel time-based variable grid approach for an activity-based cellular automata model
Dai et al. Application of epidemiology model on complex networks in propagation dynamics of airspace congestion
Wijerathne et al. Scalable HPC enhanced agent based system for simulating mixed mode evacuation of large urban areas
JP4276931B2 (ja) Odデータ推定方法
Aguilar et al. Mixed mode large urban area tsunami evacuation considering car-pedestrian interactions
Manzoni et al. Mobility models for vehicular communications
Chan et al. Simulating the impact of dynamic rerouting on metropolitan-scale traffic systems
Kucharski et al. Modeling information spread processes in dynamic traffic networks
Cheshmehzangi et al. Urban traffic optimization based on modeling analysis of sector-based time variable: The case of simulated Ningbo, China
Lämmel et al. Slower is faster: the influence of departure time distribution on the overall evacuation performance
US20210055112A1 (en) Map Data Validation Using Knowledge Graphs and Randomness Measures

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181109

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190830

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: 20190924

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191021

R150 Certificate of patent or registration of utility model

Ref document number: 6607794

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250