(57)【特許請求の範囲】
【請求項１】
或る領域における人々の移動に関するシミュレーションを実行する情報処理システムであって、
メモリと、前記メモリに接続されるプロセッサとを備え、
前記プロセッサは、
領域の全体の最適解である、所定の領域の移動経路に基づいて構成されるフローネットワークにおける各枝の最適な流量を算出し、
その算出された全体の最適解に基づいて前記領域の全体を分割して複数の分割領域を生成し、
その生成した複数の分割領域に対してそれぞれ優先度を設定し、
優先度の高い分割領域から順に当該分割領域における前記シミュレーションを実行して実行結果を算出し、
その実行結果の算出において生じた誤差を次に優先度の高い分割領域における前記シミュレーションの実行に繰り込む
情報処理システム。
【請求項２】
出力インタフェースを更に備え、
前記プロセッサは、分割領域の間での誤差の繰り込みの態様を示すグラフを前記出力インタフェースに出力する
請求項１に記載の情報処理システム。
【請求項３】
出力インタフェースを更に備え、
前記プロセッサは、前記シミュレーションを実行して算出し終えた分割領域の実行結果から順次、前記出力インタフェースに出力する
請求項１に記載の情報処理システム。
【請求項４】
前記プロセッサは、分割領域に対する前記シミュレーションの処理量が所定の閾値よりも大きい場合、当該分割領域を再分割する
請求項１に記載の情報処理システム。
【請求項５】
前記プロセッサは、優先度が同じ分割領域の前記シミュレーションを並列に実施する
請求項１に記載の情報処理システム。
【請求項６】
前記最適解は、所定の領域の道路網に基づいて構成されるフローネットワークにおける各枝の最適な流量であり、
前記分割領域は、前記フローネットワークを前記各枝の最適な流量に基づいて分割した個々のフローネットワークである
請求項１に記載の情報処理システム。
【請求項７】
前記流量は、人々の移動量であり、
前記シミュレーションは、人々の避難に関するシミュレーションである
請求項６に記載の情報処理システム。
【請求項８】
前記プロセッサは、分割領域に存在する人々の人口密度の高さに従ってそれぞれの分割領域の優先度を設定する
請求項７に記載の情報処理システム。
【請求項９】
前記プロセッサは、分割領域に存在する人々の所定の避難先までの移動距離に従ってそれぞれの分割領域の優先度を設定する
請求項７に記載の情報処理システム。
【請求項１０】
前記プロセッサは、分割領域に存在する人々の災害発生地からの距離に従ってそれぞれの分割領域の優先度を設定する
請求項７に記載の情報処理システム。
【請求項１１】
前記フローネットワークにおける各枝の最適な流量は、所定の目的関数および制約条件に基づいて算出される
請求項６に記載の情報処理システム。
【請求項１２】
計算機において或る領域における人々の移動に関するシミュレーションを実行する情報処理方法であって、
プロセッサが、
領域の全体の最適解である、所定の領域の移動経路に基づいて構成されるフローネットワークにおける各枝の最適な流量を算出し、
その算出された全体の最適解に基づいて前記領域の全体を分割して複数の分割領域を生成し、
その生成した複数の分割領域に対してそれぞれ優先度を設定し、
優先度の高い分割領域から順に当該分割領域における前記シミュレーションを実行して実行結果を算出し、
その実行結果の算出において生じた誤差を次に優先度の高い分割領域における前記シミュレーションの実行に繰り込む
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、概して、計算機による情報処理に関する。
【背景技術】
【０００２】
計算機上でシミュレーションを実行して、大量の人々を短時間で安全な場所に避難させる最適なパターンを見つけることが検討されている。特許文献１には、所定エリア内の人口を移動機のユーザ数に基づいて算出し、避難先までの経路における通過人数、混雑状況を算出することが開示されている。特許文献２には、セルオートマトンを用いて建物から避難又は屋外空間において避難する避難者の行動をシミュレーションする避難行動シミュレーションであって、建物内又は屋外の空間をセルに分割し、シミュレーション対象の全ての避難者を各セルに配置し、離散時間ステップ毎に避難者の密度が群集流動状態の密度の場合には群集流動状態での流動係数となる局所近傍則に基づいて全ての避難者の次の移動先セルを決定することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−８３９０６号公報
【特許文献２】特開２０１４−２３５４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１は、各個人に対して最適な避難経路を求めるものである。また、特許文献２は、１つのセルに歩行者が１人だけ存在できると設定してセルオートマトンを用いるものである。すなわち、特許文献１及び２は、対象領域全体に存在する各個人を考慮してシミュレーションを実施し、その領域全体における最適な避難経路を求めている。しかしながら、最適な避難経路を求める場合など、シミュレーションの目的によっては、対象領域の全体における最適解を出力するよりも、対象領域の一部における最適解をできるだけ早く出力する方が好ましい場合も多い。その一方で、単に対象領域の一部を別々にシミュレーションして最適解を算出したのでは、対象領域の全体における最適解との間に不整合が生じ得る。
【０００５】
そこで本発明の目的は、解析対象の領域全体における調和を考慮しつつ、或る分割領域についてより早くシミュレーションに関する結果を出力可能な情報処理システム及び情報処理方法を提供することにある。
【課題を解決するための手段】
【０００６】
一実施例に係る情報処理システムは、或る領域におけるシミュレーションを実行するシステムであって、メモリと、そのメモリに接続されるプロセッサとを備える。プロセッサは、領域の全体の最適解を算出し、その算出された全体の最適解に基づいて領域の全体を分割して複数の分割領域を生成し、その生成した複数の分割領域に対してそれぞれ優先度を設定し、優先度の高い分割領域から順に当該分割領域におけるシミュレーションを実行してパラメータを算出し、そのパラメータの算出において生じた誤差を次に優先度の高い分割領域におけるシミュレーションの実行に繰り込む。
【発明の効果】
【０００７】
本発明によれば、解析対象の領域全体における調和を考慮しつつ、或る分割領域についてより早くシミュレーションに関する結果を出力することができる。
【図面の簡単な説明】
【０００８】
【図１】情報処理システムの構成例を示す図である。
【図２】情報処理システムの機能の概要を説明する図である。
【図３】情報処理システムの動作例を示す図である。
【図４】領域管理テーブルの例を示す図である。
【図５】領域管理テーブルの例を示す図である。
【図６】隣接領域管理テーブルの例を示す図である。
【図７】分割処理部の処理の一例を示すフローチャートである。
【図８】領域が分割される例を説明する図である。
【図９】処理管理テーブルの例を示す図である。
【図１０】シミュレーション設定画面の例を示す図である。
【図１１】シミュレーション実行画面の例を示す図である。
【図１２】シミュレーション実行画面の例を示す図である。
【図１３】シミュレーション実行画面の例を示す図である。
【図１４】シミュレーション実行画面の例を示す図である。
【発明を実施するための形態】
【０００９】
以下、一実施例を説明する。以下の説明では、「ｘｘｘテーブル」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「ｘｘｘテーブル」を「ｘｘｘ情報」と呼ぶことができる。
【００１０】
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ（例えばＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ））によって実行されることで、定められた処理を、適宜に記憶資源（例えばメモリ）及び通信インターフェイスデバイスのうちの少なくとも１つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア（例えば可搬型の記憶メディア）であってもよい。
【００１１】
また、以下の説明では、同種の要素を区別して説明する場合には、「ｘｘｘ６００ａ」、「ｘｘｘ６００ｂ」のように、参照符号を使用し、同種の要素を区別しないで説明する場合には、「ｘｘｘ６００」のように参照符号のうちの共通番号のみを使用することがある。
【００１２】
図１は、情報処理システム１の構成例を示す図である。
【００１３】
情報処理システム１はクライアント装置１０とサーバ装置４０とを備え、これらはネットワーク４０２を介して双方向通信可能に接続されている。
【００１４】
サーバ装置４０は、ＣＰＵ４０１１と、メモリ４０１２と、ストレージ４０１３と、ネットワークＩ／Ｆ４０１４とを備えてよい。
【００１５】
ＣＰＵ４０１１は、メモリ４０１２に格納されているプログラムを実行することにより、サーバ装置４０の有する様々な機能を実現する。
【００１６】
メモリ４０１２は、ＣＰＵ４０１１に実行されるプログラムや当該プログラムに利用されるデータなどを格納する。メモリ４０１２の例は、ＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＭＲＡＭ（Ｍａｇｎｅｔｏｒｅｓｉｓｔｉｖｅ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）、ＦｅＲＡＭ（Ｆｅｒｒｏｅｌｅｃｔｒｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）などである。
【００１７】
ストレージ４０１３は、データを保持する。ストレージ４０１３の例は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、フラッシュメモリなどである。
【００１８】
ネットワークＩ／Ｆ４０１４は、サーバ装置４０をネットワーク４０２に接続するためのデバイスである。ネットワークＩ／Ｆ４０２の例は、ＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）などである。ネットワーク４０２の例は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、ＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）などである。
【００１９】
クライアント装置１０は、ＣＰＵ４００１と、メモリ４００２と、ストレージ４００３と、ネットワークＩ／Ｆ４００４と、入力Ｉ／Ｆ４００６と、出力Ｉ／Ｆ４００５とを備えてよい。これらのＣＰＵ４００１、メモリ４００２、ストレージ４００３、ネットワークＩ／Ｆ４００４は、上記のサーバ装置４０の同名のデバイスと概ね同じであるので、説明を省略する。
【００２０】
入力Ｉ／Ｆ４００６は、ユーザからの入力を受け付けるＩ／Ｆである。入力Ｉ／Ｆ４００６の例は、キーボード、マウス、タッチパネル、マイクなどである。
【００２１】
出力Ｉ／Ｆ４００５は、ユーザに対して情報を出力するＩ／Ｆである。出力Ｉ／Ｆ４００５の例は、ディスプレイ、スピーカ、バイブレーションなどである。
【００２２】
クライアント装置１０の例は、ＰＣ、携帯電話、スマートフォン、タブレット端末などである。
【００２３】
図２は、情報処理システム１の機能の概要を説明する図である。
【００２４】
サーバ装置４０は、処理対象の領域（地域）における社会シミュレーションを実施する。サーバ装置４０は、機能（プログラム）として、最適解演算部１００、分割処理部１０１、シミュレーション部１０２、誤差伝播グラフ表示部１０５、および、パラメータ出力部１０６を有してよい。
【００２５】
最適解演算部１００は、処理対象の領域の全体の最適解を算出する。ここで、最適解は、その処理対象の領域に基づいて構成されるフローネットワークにおける各枝の最適流量であってよい。各枝の最適流量とは、例えば、始点から終点までの全流量を最大化する各枝の流量であってよい。ただし、各枝には制約条件として最大流量が定義されてよい。
【００２６】
フローネットワークは、処理対象の領域内の道路を枝、交差点をノードとして構成されてよい。この場合、各枝の最適な流量とは、各道路における人々の最適な流量（移動量）であってよい。そして、各道路における最大流量は、各道路の幅に基づいて定義されてよい。避難誘導に関する社会シミュレーションの場合、始点が災害発生地点、終点が避難先の地点であってよい。
【００２７】
最適解演算部１００は、これらの適切な流量を、制約条件において目的関数を最大化又は最小化する値として、例えば線形計画法に代表される対象全体の調和状態を求める手法に基づいて算出してよい。
【００２８】
分割処理部１０１は、最適解演算部１００によって算出された最適解に基づいて、処理対象の領域を分割し、複数の分割領域を生成する。ここで、分割領域は、フローネットワークを各枝の最適流量に基づいて分割した個々のフローネットワーク（「分割フローネットワーク」と呼んでもよい）であってもよい。すなわち、分割領域と分割フローネットワークとが１対１に対応してよい。分割処理部１０１は、その生成した複数の分割領域のそれぞれに対して優先度を設定してよい。分割領域の生成例および優先度の設定例については後述する。
【００２９】
分割処理部１０１は、分割領域に対する社会シミュレーションの処理量が所定の閾値よりも大きい場合、その分割領域を再分割してよい。
【００３０】
シミュレーション部１０２は、分割領域における社会シミュレーションを実施する。シミュレーション部１０２は、スケジューラ１０３と、パラメータ算出部１０４を含んでよい。
【００３１】
パラメータ算出部１０４は、分割領域と１対１に対応付けられてよい。そして、パラメータ算出部１０４は、その分割領域について社会シミュレーションを実施してパラメータを算出する。当該パラメータは、最適解演算部１００によって算出された各枝の最適な流量に基づいて算出される当該分割領域の境界における最適な流量と、当該分割領域に対する社会シミュレーションによって算出される当該分割領域の境界における模擬的な流量と、の間に生じる誤差が所定の閾値未満となる値であってよい。また、パラメータ算出部１０４は、当該誤差を保持しておき、次に実行されるパラメータ算出部に伝播させてよい。
【００３２】
スケジューラ１０３は、複数のパラメータ算出部１０４がそれぞれパラメータを算出する順序をスケジューリングする。スケジューラ１０３は、優先度の高い分割領域から順にパラメータが算出されるように、スケジューリングしてよい。
【００３３】
図２の例では、スケジューラ１０３は、優先度「高」の分割領域に対応するパラメータ算出部１０４ａがパラメータを算出した後、優先度「低」の分割領域に対応するパラメータ算出部１０４ｂがパラメータを算出するよう、スケジューリングする。
【００３４】
ここで、シミュレーション部１０２は、優先度の高い分割領域について社会シミュレーションを実施してパラメータを算出したときに生じた誤差（つまり、パラメータ算出部１０４が上記で保持した誤差）を、次に優先度の高い分割領域における社会シミュレーションの実施に繰り込んでよい。
【００３５】
シミュレーション部１０２は、優先度が同じ分割領域に対応するパラメータ算出部１０４を並列に実施してよい。誤差は、次に優先度の高い分割領域における社会シミュレーションの実施に繰り込めばよいからである。
【００３６】
誤差伝播グラフ表示部１０５は、シミュレーション部１０２が、優先度の高い分割領域から次に優先度の高い分割領域へと次々に誤差が伝播する態様をグラフ形式で表示する。誤差伝播グラフの例は後述する（図１２〜図１４参照）。誤差伝播グラフは、サーバ装置４０によって生成され、クライアント装置１０の出力Ｉ／Ｆ４００５に表示されてよい。
【００３７】
パラメータ出力部１０６は、算出し終えた分割領域のパラメータから順次出力する。典型的には、優先度の高い分割領域のパラメータから順次出力される。算出されたパラメータは、クライアント装置１０の出力Ｉ／Ｆ４００５に表示されてよい。
【００３８】
図３は、情報処理システム１の動作例を示す図である。以下、図２及び図３を参照しながら説明する。
【００３９】
クライアント装置１０は、サーバ装置４０の最適解演算部１００及び分割処理部１０１に対して、ユーザの選択した目的関数を送信する（Ｓ１０８）。目的関数の例については後述する（図１０参照）。
【００４０】
クライアント装置１０は、サーバ装置４０のシミュレーション部１０２、並びに、最適解演算部１００に対して、初期状態の情報（例えば領域の道路網、人々の位置など）を送信する（Ｓ１１０）。
【００４１】
クライアント装置１０は、サーバ装置４０の分割処理部１０１に対して、分割ポリシを送信する（Ｓ１１１）。分割ポリシの例については後述する（図１０参照）。
【００４２】
最適解演算部１００は、解析対象の領域全体における目的関数を最適化（例えば、最大化又は最小化）する流量を算出する（Ｓ１１２）。ここで、初期状態は目的関数に対する制約条件となってよい。この算出された流量を「全体調和統計量」と呼んでもよい。
【００４３】
最適解演算部１００は、分割処理部１０１およびスケジューラ１０３に対して、その算出した全体調和統計量を提供する。また、最適解演算部１００は、クライアント装置１０に対して、その算出した全体調和統計量を通知する（Ｓ１１３）。
【００４４】
分割処理部１０１は、クライアント装置１０５からの指示を受けて（Ｓ１１４）、領域分割処理及び優先度設定処理を実行する（Ｓ１１５）。
【００４５】
分割処理部１０１は、クライアント装置１０と、スケジューラ１０３と、シミュレーション部１０２の各優先度のパラメータ算出部１０４ａ、１０４ｂと、に対して、領域分割結果及び各分割領域の優先度を送信する（Ｓ１１６）。
【００４６】
スケジューラ１０３は、各分割領域に対応するパラメータ算出部１０４を、優先度の高いものから順に実行するようにスケジューリングする（Ｓ１１８）。
【００４７】
例えば、スケジューラ１０３は、優先度の高いパラメータ算出部１０４ａに実行を指示した後、優先度の低いパラメータ算出部１０４ｂに実行を指示してもよい（Ｓ１２０）。
【００４８】
優先度の高いパラメータ算出部１０４ａは、Ｓ１２０の指示を受領すると、自分が担当する分割領域についてシミュレーションを実行し、パラメータを算出する（Ｓ１３３）。
【００４９】
優先度の高いパラメータ算出部１０４ａは、そのシミュレーションの実行結果およびパラメータの算出結果を、クライアント装置１０に送信する（ステップＳ１３４）。
【００５０】
また、優先度の高いパラメータ算出部１０４ａは、その実行結果および算出結果において生じた誤差を、優先度の低いパラメータ算出部１０４ｂに渡す（Ｓ１３５）。
【００５１】
そして、優先度の高いパラメータ算出部１０４ａは、スケジューラ１０３に対して、実行完了を通知する（Ｓ１３６）。
【００５２】
優先度の低いパラメータ算出部１０４ｂは、優先度の高いパラメータ算出部１０４ａから渡された誤差を含めて、自分が担当する分割領域についてシミュレーションを実行し、パラメータを算出する（Ｓ１３７）。
【００５３】
優先度の低いパラメータ算出部１０４ｂは、そのシミュレーションの実行結果およびパラメータの算出結果を、クライアント装置１０に送信する（Ｓ１３８）。
【００５４】
そして、優先度の高いパラメータ算出部１０４ｂは、スケジューラ１０３に対して、実行完了を通知する（Ｓ１３９）。
【００５５】
スケジューラ１０３は、優先度の高い及び優先度の低いパラメータ算出部１０４の両方から、実行完了の通知を受領すると、クライアント装置１０に対して、全てのシミュレーションの実行完了を通知する（Ｓ１４０）。
【００５６】
以上の処理により、サーバ装置は、優先度の高い分割領域から優先的にシミュレーションの実行結果およびパラメータの算出結果を提供することができる。これにより、例えば、優先度の高い分割領域から優先的に（より早く）避難誘導を開始することができる。
【００５７】
図４及び図５は、領域管理テーブル６００の例を示す図である。
【００５８】
領域管理テーブル６００は、分割領域を管理するためのテーブルである。領域管理テーブル６００は、データ項目として、領域番号６０１、形状６０２、優先度６０３、処理量６０４を有してよい。
【００５９】
領域番号６０１には、分割領域を識別するための番号が格納される。
【００６０】
形状６０２には、領域番号６０１の分割領域の形状を示す情報が格納される。例えば、分割領域が長方形の場合、形状６０２には、領域を示す長方形の対角に位置する頂点のＸＹ座標が格納されてよい。
【００６１】
優先度６０３には、領域番号６０１の分割領域の優先度を示す情報が格納される。例えば、優先度６０３の値が小さいほど、優先度が高いとしてよい。
【００６２】
処理量６０４には、領域番号６０１の分割領域に対する処理量が格納される。処理量６０４が大きいほど、その分割領域のパラメータ算出に時間を要するとしてよい。
【００６３】
図４の領域管理テーブル６００ａにおいて、領域番号６０１「２」の分割領域の処理量６０４は「３００」であり、他の領域番号６０１「１」又は「３」の分割領域と比較して大きい。そこで、この領域番号６０２「２」の分割領域を、図５のように再分割してよい。
【００６４】
図５の領域管理テーブル６００ｂは、領域番号６０１「２」の分割領域の一部を、領域番号６０１「４」に再分割した場合の例である。これにより、領域番号６０１「２」と「４」のそれぞれの処理量６０４が「１５０」になる。
【００６５】
このとき、各分割領域に対して改めて優先度を設定してよい。例えば、領域番号６０１「４」の優先度６０３を、領域番号６０１「２」の優先度６０３よりも低い「３」に設定してよい。これにより、より重要な分割領域を優先的に処理することができる。
【００６６】
図６は、隣接領域管理テーブル７００の例を示す図である。
【００６７】
隣接領域管理テーブル７００は、各分割領域が互いにどのように隣接しているかを管理するためのテーブルである。隣接領域管理テーブル７００は、データ項目として、領域番号７０１、隣接番号７０２を有してよい。
【００６８】
隣接領域管理テーブル７００は、領域番号７０１の示す分割領域が、隣接番号の示す分割領域に隣接していることを示す。隣接領域管理テーブル７００は、領域分割が実行されると、それに合わせて変更されてよい。
【００６９】
図７は、分割処理部１０１の処理の一例を示すフローチャートである。
【００７０】
分割処理部１０１は、所定の領域を分割して分割領域を生成する（Ｓ５０１）。そして、Ｓ５０２の処理へ進む。
【００７１】
分割処理部１０１は、全ての分割領域について、下記のＳ５０３〜Ｓ５０６の処理を完了したか否かを判定する（Ｓ５０２）。分割処理部１０１は、当該判定結果が「ＹＥＳ」ならば本処理を終了し、「ＮＯ」ならば次のＳ５０３の処理へ進む。
【００７２】
分割処理部１０１は、未処理の分割領域を選択し（「選択分割領域」という）、優先度を設定する（Ｓ５０３）。そして、Ｓ５０４の処理へ進む。
【００７３】
分割処理部１０１は、選択分割領域の処理量を算出する（Ｓ５０４）。そして、Ｓ５０５の処理へ進む。
【００７４】
分割処理部１０１は、この算出した処理量が所定の閾値を超過しているか否かを判定する（Ｓ５０５）。分割処理部１０１は、当該判定結果が「ＹＥＳ」ならばＳ５０６の処理へ進み、「ＮＯ」ならばＳ５０２の処理へ戻る。
【００７５】
分割処理部１０１は、Ｓ５０５の判定結果が「ＹＥＳ」の場合、選択分割領域を再分割し（Ｓ５０６）、Ｓ５０２の処理へ戻る。
【００７６】
以上の処理により、所定の領域を、処理量が閾値以下となる複数の分割領域に分割することができる。これにより、シミュレーション部１０２が、各分割領域のパラメータを所定の時間内に算出することができる。
【００７７】
図８を参照しながら、図７の処理によって領域がどのように分割されるかを説明する。
【００７８】
分割処理部１０１は、まず、領域９００に対して、優先度を設定し（Ｓ５０３）、処理量を算出する（Ｓ５０４）。
【００７９】
分割処理部１０１は、この領域９００の処理量が所定の閾値を超過している場合（Ｓ５０５：ＹＥＳ）、領域９００を、例えば、領域９０１、９０２、９０３の３つに再分割する（Ｓ５０６）。
【００８０】
そして、分割処理部１０１は、Ｓ５０２の処理に戻り、領域９０１、９０２、９０３のそれぞれについて、Ｓ５０３〜５０５の処理を実行する。このとき、領域９０２の演算量が所定の閾値を超過している場合（Ｓ５０５：ＹＥＳ）、この領域９０２を、さらに領域９０２ｂ、９０４の２つに再分割する（Ｓ５０６）。
【００８１】
典型的には領域が小さいほど処理量は小さくなるので、このように領域を分割することにより、シミュレーション部１０２が、各分割領域のパラメータを所定の時間内に算出することができるようになる。
【００８２】
図９は、処理管理テーブル８００の例を示す図である。
【００８３】
処理管理テーブル８００は、各分割領域の処理状態を管理するためのテーブルである。処理管理テーブル８００は、データ項目として、領域番号８０１、第ｎ待ち合わせ領域番号８０２、第ｎ誤差８０３、および、処理状態８０４を有してよい。ここで、ｎは１以上の正の整数である。
【００８４】
第ｎ待ち合わせ領域８０２は、それに対応付けられている領域番号８０１の分割領域が処理の完了を待ち合わせている他の分割領域の領域番号を格納する。すなわち、領域番号８０１の分割領域に対する処理は、それに対応付けられている全てのｎの第ｎ待ち合わせ領域８０２について処理が完了した後に開始される。
【００８５】
第ｎ誤差８０３には、同じｎの第ｎ待ち合わせ領域８０２の処理で発生した誤差が格納される。すなわち、領域番号８０１の分割領域に対する処理は、それに対応付けられている全てのｎの第ｎ誤差８０３を含んで行われる。
【００８６】
処理状態８０４には、それに対応付けられている領域番号８０１の分割領域に対する処理の状態が格納される。処理状態の例は、処理の完了を示す「完了」、処理の途中であることを示す「処理中」、他の分割領域の処理完了を待機中であることを示す「待機中」などである。
【００８７】
図１０は、シミュレーション設定画面の例を示す図である。
【００８８】
シミュレーション設定画面２０００は、ユーザがシミュレーションに対して各種条件を設定するための画面である。シミュレーション設定画面２０００は、設定項目として、初期状態データファイル２００１、目的関数２００２、及び、優先度ポリシ２００３を有してよい。
【００８９】
初期状態データファイル２００１の設定項目には、シミュレーション対象の領域に関する情報を含むデータファイルを設定することができる。初期状態データファイルは、領域の道路網や、その領域の何処に何人存在するか（例えば人工密度）などの情報を含んでよい。
【００９０】
目的関数２００２には、最適解演算部１００に対する目的関数を設定することができる。
【００９１】
目的関数２００２に対して「収束時間を最小」２０２１が設定された場合、最適解演算部１００は、目的関数に処理の収束時間に係る関数を選択し、その目的関数を最小にするフローネットワークにおける各枝（各道路）の最適な流量を算出してよい。
【００９２】
目的関数に対して「総流量を最大」２０２２が設定された場合、最適解演算部１００は、目的関数にフローネットワークにおける総流量に係る関数を選択し、その目的関数を最大にする各枝の最適な流量を算出してよい。
【００９３】
目的関数に対して「最大流量を最小」２０２３が設定された場合、最適解演算部１００は、目的関数にフローネットワークにおける枝の最大流量に係る関数を選択し、その目的関数を最小にする各枝の最適な流量を算出してよい。
【００９４】
優先度ポリシ２００３には、分割処理部１０１に対する優先度のポリシを設定することができる。
【００９５】
優先度ポリシ２００３に対して「人口密度の高さ」２０３１が設定された場合、分割処理部１０１は、人口密度の比較的高い分割領域に高い優先度を設定し、人口密度の比較的低い分割領域に低い優先度を設定してよい。これにより、人口密度の高い分割領域の人々をより早く避難誘導することができる。
【００９６】
優先度ポリシ２００３に対して「流量の大きさ」２０３２が設定された場合、分割処理部１０１は、流量の比較的大きい分割領域に高い優先度を設定し、流量の比較的小さい分割領域に低い優先度を設定してよい。これにより、流量の大きい分割領域の人々をより早く避難誘導することができる。
【００９７】
優先度ポリシ２００３に対して「避難先までの移動距離の長さ」２０３３が設定された場合、分割処理部１０１は、移動距離の比較的長い分割領域に高い優先度を設定し、移動距離の比較的短い分割領域に低い優先度を設定してよい。これにより、避難先までの移動距離の長い分割領域の人々をより早く避難誘導することができる。
【００９８】
優先度ポリシ２００３に対して「災害発生地からの近さ」２０３４が設定された場合、分割処理部１０１は、災害発生地から比較的近い分割領域に高い優先度を設定し、災害発生地から比較的遠い分割領域に低い優先度を設定してよい。これにより、災害発生地から近い分割領域の人々をより早く避難誘導することができる。
【００９９】
図１１〜図１４は、シミュレーション実行画面３０００の例を示す図である。
【０１００】
シミュレーション実行画面３０００は、パラメータ出力部１０６によって生成され、クライアント端末１０に表示されてよい。シミュレーション実行画面３０００は、表示領域として、時刻表示領域３０００、地図表示領域３００１、誤差伝播グラフ表示領域３１１０、イベント表示領域３３１０を有してよい。
【０１０１】
時刻表示領域３０００は、シミュレーション上の時刻を表示する。
【０１０２】
地図表示領域３００１は、シミュレーション対象の領域の地図（住宅地図、道路地図など）と、時刻表示領域３０００の時刻におけるシミュレーションの結果を表示する。シミュレーションの結果として、人々の流量の方向３２２０、避難誘導を行う誘導員３２００、デジタルサイネージの誘導情報３４００などが地図上に表示されてよい（図１３、図１４）。また、地図表示領域３００１は、地図上に、分割領域を示す線３１００を合わせて表示してよい（図１２〜図１４）。
【０１０３】
誤差伝播グラフ表示領域３１１０は、誤差伝播グラフと、時刻表示領域の時刻における誤差の伝播を表示する。誤差伝播グラフとは、優先度の高い分割領域に対するパラメータを算出した際に発生した誤差を、何れの分割領域にどれだけ伝播させるかを示すフラグである。誤差伝播グラフは、誤差伝播グラフ出力部１０５によって生成されてよい。
【０１０４】
図１４の誤差伝播フラグは、優先度が最も高い分割領域Ａ  ３１００ａにおいて生じた誤差のうち、「＋５人」を分割領域Ｂ  ３１００ｂに、「−５人」を分割領域Ｃ  ３１００ｃに伝播させることを示す。さらに、当該誤差伝播グラフは、分割領域Ｂ  ３１００ｂにおいて生じた誤差のうち、「−２人」を分割領域Ｄ  ３１００ｄに、「＋７人」を分割領域Ｃ  ３１００ｃに伝播させることを示す。
【０１０５】
イベント表示領域３３１０は、時刻３０００と発生イベントとの関係を表示する。例えば、イベント表示領域３３１０は、何時に誘導員３２００を配置するか、何時にデジタルサイネージに誘導情報を表示するか、などを表示する。
【０１０６】
図１０〜図１４を参照して、例えば、地図の下方の海岸から津波が発生した場合に対する避難誘導のシミュレーション例を説明する。
【０１０７】
優先度ポリシ２００３として、「災害発生地からの近さ」２０３４が設定されている場合、分割処理部１０１は、海岸（災害発生地）に最も近い分割領域Ａ  ３１００ａの優先度を最も高く、海岸から最も遠い分割領域Ｄ  ３１００ｄの優先度を最も低く設定する。
【０１０８】
そして、シミュレーション部１０２は、優先度の最も高い分割領域Ａ  ３１００ａについてシミュレーションを実行し、パラメータ（誘導員３２００ａ、３２００ｂの配置位置など）を算出する。
【０１０９】
パラメータ出力部１０６は、その算出結果（誘導員３２００ａ、３２００ｂの配置位置など）を地図表示領域３００１に表示する（図１３）。合わせて、パラメータ出力部１０６は、誘導員３２００ａ、３２００ｂを何時に配置するかなどの情報をイベント表示領域３３１０に表示する。
【０１１０】
また、誤差伝播グラフ出力部１０５は、その算出において生じた誤差の伝播情報を、誤差伝播グラフに出力する（図１３）。
【０１１１】
それから、シミュレーション部１０２は、優先度の高い順に、分割領域Ｂ  ３１００ｂ、分割領域Ｃ  ３１００ｃ、分割領域Ｄ  ３１００ｄについて伝播された誤差を含めてシミュレーションを実行し、パラメータ（誘導員３２００ｃの配置位置、デジタルサイネージ３４００の設置位置など）を算出する。そして、上記と同様に、パラメータ出力部１０６は、シミュレーションの完了した分割領域から順次、パラメータの算出結果を表示していく。
【０１１２】
領域全体についてシミュレーションを実行してその実行結果を出力するシステムの場合、全ての計算が終了するまで利用者はその実行結果を見ることができない。しかし、本実施例に係る情報処理システムは、優先度の高い領域から順次、パラメータの算出結果およびシミュレーションの実行結果を出力することができるので、利用者は、優先度の高い領域の実行結果をより早く見ることができる。これにより、例えば本情報処理システムを避難誘導に利用する場合、領域全体の適切な避難誘導を考慮しつつ、優先度の高い領域の避難誘導をより早く開始することができる。
【０１１３】
上述した実施例は、本発明の説明のための例示であり、本発明の範囲を実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。
【符号の説明】
【０１１４】
１…情報処理システム  １０…クライアント装置  ４０…サーバ装置  １００…最適解算出部  １０１…分割処理部  １０２…シミュレーション部
【図１】
0006532413.tif 000002
【図２】
0006532413.tif 000003
【図３】
0006532413.tif 000004
【図４】
0006532413.tif 000005
【図５】
0006532413.tif 000006
【図６】
0006532413.tif 000007
【図７】
0006532413.tif 000008
【図８】
0006532413.tif 000009
【図９】
0006532413.tif 000010
【図１０】
0006532413.tif 000011
【図１１】
0006532413.tif 000012
【図１２】
0006532413.tif 000013
【図１３】
0006532413.tif 000014
【図１４】
0006532413.tif 000015