JP6132538B2 - 予測シミュレーション装置 - Google Patents

予測シミュレーション装置 Download PDF

Info

Publication number
JP6132538B2
JP6132538B2 JP2012272250A JP2012272250A JP6132538B2 JP 6132538 B2 JP6132538 B2 JP 6132538B2 JP 2012272250 A JP2012272250 A JP 2012272250A JP 2012272250 A JP2012272250 A JP 2012272250A JP 6132538 B2 JP6132538 B2 JP 6132538B2
Authority
JP
Japan
Prior art keywords
simulation
hypothesis
ring buffer
time
unused
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
JP2012272250A
Other languages
English (en)
Other versions
JP2014119794A (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2012272250A priority Critical patent/JP6132538B2/ja
Publication of JP2014119794A publication Critical patent/JP2014119794A/ja
Application granted granted Critical
Publication of JP6132538B2 publication Critical patent/JP6132538B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

この発明は、モンテカルロシミュレーションによって、想定される将来状況を仮説として予測する予測シミュレーション装置に関するものである。
以下の非特許文献1には、Optimistic法を用いる分散シミュレーションシステム(予測シミュレーション装置)が開示され、また、分散シミュレーションシステムの標準アーキテクチャ規約であるIEEE−1516 HLA(High Level Architecture)のプログラミングインタフェース規約が開示されている。
ここで、図7はHLAによる分散シミュレーションシステムアーキテクチャを示す構成図である。
HLAでは、シミュレーションシステムの全体がフェデレーション101と呼ばれ、分散実行される模擬処理などのプログラムがフェデレート102と呼ばれる。
シミュレーションの実行中に行われるフェデレーション101の実行制御や、複数のフェデレート102の間のデータ交換などの共通機能が、RTI(Run−Time Infrastructure)103と呼ばれる分散シミュレーション基盤により提供される。
図8はHLAにおけるOptimistic法によるフェデレートのシミュレーション時刻進行の一例を示す説明図である。
フェデレート102(フェデレート(1)、フェデレート(2))は、シミュレーション時刻で模擬処理を実行するが、その際に、将来のシミュレーション時刻の模擬を行うことも可能である。
ここで、将来のシミュレーション時刻での模擬は、未だ確定しておらず、取消される可能性がある模擬であることから、「仮説」と呼ぶことにする。
図8の例では、フェデレート(1)は、シミュレーション時刻tにおいて、シミュレーション時刻tより将来の時刻の仮説を実行し、その結果として、シミュレーション時刻tのイベントev(t)をフェデレート(2)に送信している。
Optimistic法に基づいて時刻が管理されるフェデレーション101において、フェデレート102が、自分のシミュレーション時刻よりも将来の時刻のイベントを任意のタイミングで受信できることが特徴である。
そのため、フェデレート(2)は、シミュレーション時刻tにおいて、将来イベントであるev(t)を受信して、イベントev(t)に基づくシミュレーション時刻tの仮説を実行することができる。
次に、図9は図8のフェデレート102(フェデレート(1)、フェデレート(2))が時刻進行して、シミュレーション時刻tに進んだ際の処理を示す説明図である。
フェデレート(2)は、図8に示すように、シミュレーション時刻tにおいて、シミュレーション時刻tの仮説を実行しているため、シミュレーション時刻tに進んだ際には、図9に示す処理フローにしたがって、シミュレーション時刻tの仮説の評価を行う。
その仮説が誤っている場合には、その仮説の取消を実行した後に、シミュレーション時刻tの模擬を実行する。
図10は仮説が誤っているために仮設が取消された場合のイベント取消の一例を示す説明図である。
フェデレート(2)のシミュレーション時刻tにおいて、以前のシミュレーション時刻tで実行したシミュレーション時刻tの仮説が誤っていたことが判明して仮説の取消が行われた結果、その仮説に基づいてフェデレート(1)に送信されていたイベントev(t)についても取消が行われる。
イベントev(t)の取消は、イベント送信先であるフェデレート(1)に対して通知され、フェデレート(1)では、イベントev(t)に基づいてシミュレーション時刻tで実行していた仮説の取消処理が行われる。
なお、フェデレート102のシミュレーション時刻の進行制御と、イベントの通信処理は、RTI103が管理する。
以上のように、Optimistic法では、シミュレーションにおける現在時刻より将来の時刻の模擬を仮説として実行し、さらに、仮説によって発生した将来イベントの送信と受信によって仮説の実行を進めていくことが可能である。
また、将来イベントについては、仮説が誤っていれば、取り消しを行うことが可能であるため、相反するような複数のイベントを同時に送信することで、相反するようなシミュレーションを同時に実行することも可能である。
この特徴を利用すると、例えば、確率的なイベントを複数派生させることによって、モンテカルロシミュレーションにおける複数のモンテカルロ試行を同時に実行させることが可能である。
このように、Optimistic法によって、モンテカルロ試行を同時に実行制御する分散シミュレーションシステムの例として、以下の非特許文献2に開示されている分散シミュレーションシステムが挙げられる。
非特許文献2では、HLAに類似しているシステム構成において、実時間における現在時刻より未来の状況をOptimistic法によって予測的にシミュレーション実行するためのシミュレーション実行基盤について開示している。
非特許文献2の5.1節によれば、将来予測された複数のシミュレーションは、多数のDecision Pointによってグラフ構造化されたFutures Graphとして表され、Decision Pointによって枝分かれされた1つのパスが、1回のモンテカルロ試行において実行されるシミュレーションに対応している。
図11は非特許文献2に開示されているFutures Graphの一例を示す説明図である。
各時刻(縦線)において、黒丸で示されているのが、その時刻におけるイベントを示しており、その時刻において、イベントを処理した結果が次以降の時刻のイベントとして出力されることを矢印線で示している。
1つのイベント処理から複数の矢印線が出力されているものは、そのイベント処理において、排他的な複数のDecisionが出力されていることを示しており、このイベント処理が、シミュレーションが枝分かれするDecision Pointである。なお、時刻線上におけるイベントの置かれた位置は、そのイベントを正規化した際の相対的なイベント間の違いを示している。
図11では、時刻tから時刻tまでの論理時間進行において、各時刻で1つ以上のDecision Pointが存在し、時刻が進むにしたがってシミュレーションが枝分かれしている様子を示している。
最終的に、時刻tにおける各シミュレーションの結果であるイベントが正規化され、正規化された結果の分布から将来についての確率的な見積りが行われる。
図12は非特許文献2に開示されているシミュレーション実行基盤が図11のFutures GraphをOptimistic法によってモンテカルロシミュレーションを実行する例を示す説明図である。
Optimistic法では、非特許文献1の内容で説明した通り、将来時刻のイベントを受け取ることで、仮説として将来時刻のシミュレーションを実行することができ、また、イベントの取り消しによって、仮説のシミュレーションを実行し直すことが可能である。
非特許文献2に開示されているシミュレーション実行基盤は、Optimistic法の仕組みを利用し、1つのモンテカルロ試行に対応するシミュレーションを1つの仮説として実行し、予測したい将来時刻までのシミュレーションを実行し終えると、便宜的にイベントの取り消しを実施して、別のモンテカルロ試行に対応するシミュレーションを実行できる時刻まで時間を巻き戻し、別のモンテカルロ試行に対応するシミュレーションを実行するようにしている。
図12の例では、まず、モンテカルロ試行の1回目において、時刻tからシミュレーション(1)を実行し、時刻を進めるにしたがってDecision Pointによって別のイベントが枝分かれするが、その枝分かれしたイベントの処理は保留して時刻tまでシミュレーション(1)を実行する。
次に、モンテカルロ試行の2回目においては、シミュレーション(1)で、別のシミュレーションが最初に分岐した時点において、シミュレーション(1)を実行するために使用したイベントを便宜的に取り消す処理を行う。ただし、このイベントの取り消しは、便宜的なものであり、イベントから派生して実行されたシミュレーションの全てが取り消されるわけではなく、シミュレーション結果は全て保存されている。
イベントの便宜的な取り消しに基づき、非特許文献2に開示されている分散シミュレーション基盤が、シミュレーション(1)で保留したシミュレーションを実行可能な時刻である時刻tまで時刻を巻き戻し、実行可能なイベントに基づいて時刻tからシミュレーション(2)を時刻tまで実行する。
モンテカルロ試行の3回目では、モンテカルロ試行の2回目と同様に、シミュレーション(1)及びシミュレーション(2)で保留されたシミュレーションを実行可能な時刻である時刻tまで時刻を巻き戻し、時刻tからシミュレーション(3)を実行する。なお、シミュレーションの実行中に、他のモンテカルロ試行のシミュレーション結果とイベントが同じになる場合は、シミュレーションをマージすることにより、余分なシミュレーションの分岐を抑制する。
以上のように、非特許文献2の方式では、Optimistic法を利用してモンテカルロシミュレーションを実行することにより、各モンテカルロ試行において、巻き戻される時刻までのシミュレーションと等しいイベントのシミュレーションについて、それぞれ実行回数が1回のみとなり、同じ結果になることが分かっているイベント処理を省略することができるため、モンテカルロシミュレーションを高速に実行することが可能になる。
Optimistic法を用いて、非特許文献2で例示したようなモンテカルロシミュレーションを行うには、時刻及び仮説毎のシミュレーション結果をメモリ領域に保存する必要があり、そのためのデータ構造は、図11に示すように、シミュレーションの開始時点を根、Decision Pointを節として枝分かれしたツリーデータ構造によって実現するのが自然である。
特に、非特許文献2で例示したように、特に制約の無いモンテカルロシミュレーションを行う場合には、このようなツリーデータ構造を用いても特に問題はない。
しかし、例えば、実世界に設置されたセンサシステムから得られる観測情報に基づいて、将来予測をモンテカルロシミュレーションによって実行するような用途においては、時々刻々と入力される観測情報によってシミュレーション内容を評価して、場合によってはシミュレーションをやり直す必要があるため、ツリーデータ構造では、アクセス効率に課題がある。
図13は観測情報に基づいて将来予測を行うモンテカルロシミュレーションシステム(予測シミュレーション装置)の概要を示す説明図である。図13は非特許文献2のFigure 4を分かり易く変更したものである。
図において、予測フェーズは、モンテカルロシミュレーションを実行する処理であり、j個のモンテカルロ試行に対応する仮説Xpを将来時刻であるti+1まで実行する。
この状態において、現在時刻tで観測情報Xmが入力されると、予測フェーズに切り替わって評価フェーズが開始され、時刻tのj個の仮説Xpと観測情報Xmの比較評価が行われる。
評価フェーズでは、j個の仮説Xpはk個(k<j)の評価結果Xeに絞り込まれ、評価フェーズの処理が完了すると、残った評価結果Xeを基づいて予測フェーズの処理が開始される。
このように、図13に示すモンテカルロシミュレーションシステムでは、観測情報Xmの入力によって、評価フェーズと予測フェーズの処理の切り替えと、仮説Xpと観測情報Xmの比較評価による絞り込みが行われることにより、センサシステムから離散的に入力される観測情報Xmを動的にモンテカルロシミュレーションに反映し、観測情報Xmと矛盾するために考慮する必要のないモンテカルロ試行を排除することができる。これにより、シミュレーションの高速化や、有限であるメモリ資源の効率的な利用が実現される。
図14及び図15は図13に示すモンテカルロシミュレーションシステムにおいて、時刻及び仮説毎のシミュレーション結果をツリーデータ構造で管理した場合の処理概要を例示する説明図である。
図14は予測フェーズ処理によってモンテカルロシミュレーションが16個の仮説Xp〜Xp16を時刻tまで実行しており、現在時刻tで観測情報Xmが入力されている状況を示している。
観測情報Xmは、時刻tにおける仮説Xp〜Xpと完全に一致している。
図15は図14の状況の次に評価フェーズが実行された状況を示している。図15の状況では、時刻tの観測情報Xmによって仮説Xp〜Xp16の評価が行われたことにより、観測情報Xmと一致する仮説Xp〜Xpが評価結果Xe〜Xeとして残り、その他の仮説は排除されている。
そのため、ツリーデータ構造として管理されていた時刻及び仮説毎のシミュレーション結果については、図15の●で示されたデータと実線で示されたデータ間の関連付けが残され、それ以外の▲で示されたデータと破線で示されたデータ間の関連付けが削除される。
この場合、ツリーデータ構造に対して削除処理を行うが、削除されたメモリ領域を再利用する上で、次のような課題がある。
第一の課題として、このツリーデータ構造から、仮説単位でシミュレーション結果をまとめて削除することができず効率的でないという課題がある。これは、木の節によって枝分かれしている部分は別の仮説の派生元となっているため、仮説のIDのみをキー情報として削除すると、残したい仮説のシミュレーション結果まで削除してしまうからである。例えば、図15の状況で仮説Xpを削除すると、残したい仮説Xp〜Xpも全て削除されてしまうからである。
このため、観測情報Xmの時刻までは、木の節/葉を辿りながら削除するものを探索する必要があるという課題である。
第二の課題として、ツリーデータ構造において削除したデータ及びデータ間の関連付けの効率的な再利用が難しいという課題がある。これは、評価フェーズが完了した後に予測フェーズが実行され、さらに、将来の時刻まで仮説のシミュレーションが進み、ツリーデータ構造に新たにシミュレーション結果を格納する際に、評価フェーズで削除されたメモリ領域を再利用する場合の課題である。
ツリーデータ構造に対する削除処理は、排除する仮説に応じて行なわれるため、時刻間のデータ間の関連付けもそのまま削除される。そのため、削除されたメモリ領域を再利用する際は、データ間の関連付けを保ったまま再利用(例えば、図15の状態であれば、削除された時刻t0のデータを時刻t5の評価結果Xe1(Xp5)として再利用することにより、削除された時刻t1のデータが時刻t6のデータとして再利用される)することができれば効率的であるが、データ間の関連付けは単純なリスト構造ではなく、削除された仮説の派生状況に応じた部分的なツリー関係をもった構造となるため、そのまま再利用することができないという課題がある。
IEEE 1516.1-2000 - Standard for Modeling and Simulation High Level Architecture(HLA) - Federate Interface Specification Jeffrey S. Steinman, et al., "Simulating Parallel Overlapping Universes in the Fifth Dimension with HyperWarpSpeed Implemented in the WarpIV Kernel", 2008 Spring Simulation Interoperability Workshop, 08S-SIW-025
従来の予測シミュレーション装置は以上のように構成されているので、観測情報Xmとシミュレーション結果が一致しない仮説のシミュレーション結果を削除する際、ツリーデータ構造から、仮説単位でシミュレーション結果をまとめて削除することができず、観測情報Xmの時刻までは、木の節/葉を辿りながら削除対象を探索する必要がある。このため、仮説のシミュレーション結果を削除する際の手間が多くなる課題があった。
また、メモリ領域から仮説のシミュレーション結果を削除しても、削除されたメモリ領域を効率的に再利用することができない課題があった。
この発明は上記のような課題を解決するためになされたもので、誤っている仮説のシミュレーション結果を簡単に削除することができるとともに、削除後のメモリ領域を効率的に再利用することができる予測シミュレーション装置を得ることを目的とする。
この発明に係る予測シミュレーション装置は、シミュレーション開始時刻からシミュレーション終了時刻に至るまでの各々のシミュレーション時刻に対応する仮説のシミュレーション結果を格納するリングバッファが複数配列されているシミュレーション結果格納部と、シミュレーション時刻毎に、仮説のシミュレーションを実行して、そのシミュレーション結果を当該仮説に対応するリングバッファに格納するとともに、その仮説のシミュレーションによって新たな仮説が派生すれば、当該シミュレーション時刻における新たな仮説のシミュレーション結果と、当該シミュレーション時刻より1時刻前までの各シミュレーション時刻における派生元の仮説のシミュレーション結果とを未使用のリングバッファに格納する仮説予測処理部と、あるシミュレーション時刻に観測情報が与えられると、シミュレーション結果格納部のリングバッファに格納されている上記シミュレーション時刻における各仮説のシミュレーション結果と観測情報を比較して、シミュレーション結果が観測情報と一致していない仮説を特定し、その仮説のシミュレーション結果を格納しているリングバッファをリセットする仮説評価処理部とを備えるようにしたものである。
この発明によれば、仮説予測処理部が、シミュレーション時刻毎に、仮説のシミュレーションを実行して、そのシミュレーション結果を当該仮説に対応するリングバッファに格納するとともに、その仮説のシミュレーションによって新たな仮説が派生すれば、当該シミュレーション時刻における新たな仮説のシミュレーション結果と、当該シミュレーション時刻より1時刻前までの各シミュレーション時刻における派生元の仮説のシミュレーション結果とを未使用のリングバッファに格納する一方、仮説評価処理部が、あるシミュレーション時刻に観測情報が与えられると、シミュレーション結果格納部のリングバッファに格納されている上記シミュレーション時刻における各仮説のシミュレーション結果と観測情報を比較して、シミュレーション結果が観測情報と一致していない仮説を特定し、その仮説のシミュレーション結果を格納しているリングバッファをリセットするように構成したので、誤っている仮説のシミュレーション結果を簡単に削除することができるとともに、削除後のメモリ領域を効率的に再利用することができる効果がある。
この発明の実施の形態1による予測シミュレーション装置を示す構成図である。 1つの仮説Xpについて、シミュレーション開始時刻tから1時刻分tのシミュレーションを実行して、仮説Xpのシミュレーション結果Xp(t)を格納した状況を示す説明図である。 仮説Xpのシミュレーション結果Xp(t)と、新たな仮説Xpのシミュレーション結果Xp(t)を格納した状況を示す説明図である。 シミュレーション時刻tで観測情報Xmが与えられたことで評価処理が実行されて、その観測情報Xmとシミュレーション時刻tにおける各仮説Xp,Xp,Xpのシミュレーション結果の比較評価が行われる状況を示す説明図である。 仮説Xpのシミュレーション結果Xp(t)〜Xp(t)が削除された状況を示す説明図である。 図5の処理状況に引き続き予測処理が実行されて、シミュレーション時刻tで仮説Xpから新たな仮説Xpが派生している状況を示す説明図である。 HLAによる分散シミュレーションシステムアーキテクチャを示す構成図である。 HLAにおけるOptimistic法によるフェデレートのシミュレーション時刻進行の一例を示す説明図である。 図8のフェデレート102(フェデレート(1)、フェデレート(2))が時刻進行して、シミュレーション時刻tに進んだ際の処理を示す説明図である。 仮説が誤っているために仮設が取消された場合のイベント取消の一例を示す説明図である。 非特許文献2に開示されているFutures Graphの一例を示す説明図である。 非特許文献2に開示されているシミュレーション実行基盤が図11のFutures GraphをOptimistic法によってモンテカルロシミュレーションを実行する例を示す説明図である。 観測情報に基づいて将来予測を行うモンテカルロシミュレーションシステム(予測シミュレーション装置)の概要を示す説明図である。 図13に示すモンテカルロシミュレーションシステムにおいて、時刻及び仮説毎のシミュレーション結果をツリーデータ構造で管理した場合の処理概要を例示する説明図である。 図13に示すモンテカルロシミュレーションシステムにおいて、時刻及び仮説毎のシミュレーション結果をツリーデータ構造で管理した場合の処理概要を例示する説明図である。
実施の形態1.
この実施の形態1では、モンテカルロシミュレーションによって、想定される将来状況を仮説として予測する予測シミュレーション装置について説明する。
図1はこの発明の実施の形態1による予測シミュレーション装置を示す構成図である。
図1において、シミュレーション結果格納部1はシミュレーション開始時刻からシミュレーション終了時刻に至るまでの各々のシミュレーション時刻に対応する仮説のシミュレーション結果を格納するリングバッファ2が複数配列されているメモリ領域である。
シミュレーション結果格納部1における各々のリングバッファ2は、各々のシミュレーション時刻に対応するシミュレーション結果を格納する複数の記憶素子3から構成されており、複数の記憶要素3は、互いに連結されて、先頭の記憶要素3と末尾の記憶要素3が連結されている。
なお、各々のリングバッファ2における記憶要素3は、2次元の格子状リスト構造をなしており、各々の記憶要素3の横方向のリンクは、ある一つの仮説におけるシミュレーション時刻推移に対応する関連付けであり、左から右方向に向かって1時刻ずつ進むに従って次の記憶要素3が連結され、最後の記憶要素3と最初の記憶要素3が連結されている。この横方向のリンクを仮説リング4と称する。
また、各々の記憶要素3の縦方向のリンクは、同じ時刻における仮説間のリンクを示しており、隣り合う要素間の関係は、同じシミュレーション時刻における異なる仮説のシミュレーション結果の関係を示すものであり、この縦方向のリンクを時刻リスト5と称する。
時刻リスト5の要素数は、設定値である最大仮説数Hmaxである。時刻リスト5の各記憶要素3へのアクセスは、線形探索によって行うものとする。
未使用リングバッファ情報格納部6はシミュレーション結果格納部1におけるリングバッファ2の中で、仮説のシミュレーション結果が格納されていない未使用のリングバッファ2を示す未使用リングバッファ情報を格納しているメモリ領域である。
具体的には、未使用リングバッファ情報格納部6は、未使用のリングバッファ2を示す未使用リングバッファ情報として、未使用のリングバッファ2のIDを格納するものであって、未使用のリングバッファ2のIDを格納する記憶要素7が複数連結されている後入れ先出し(LIFO:Last In−First Out)方式のスタックで構成されている。
仮説予測処理部8は例えばCPUを実装している半導体集積回路、ワンチップマイコン、あるいは、コンピュータの中央処理装置などから構成されており、シミュレーション時刻毎に、仮説のシミュレーションを実行して、そのシミュレーション結果を当該仮説に対応するリングバッファ2に格納するとともに、その仮説のシミュレーションによって新たな仮説が派生すれば、未使用リングバッファ情報格納部6に格納されている未使用リングバッファ情報を参照して未使用のリングバッファ2を特定し(未使用のリングバッファ2の中で、最も新しく、未使用の状態になったリングバッファ2)、当該シミュレーション時刻における新たな仮説のシミュレーション結果と、当該シミュレーション時刻より1時刻前までの各シミュレーション時刻における派生元の仮説のシミュレーション結果とを未使用のリングバッファ2に格納する処理を実施する。
なお、仮説予測処理部8は、新たな仮説のシミュレーション結果を未使用のリングバッファ2に格納すると、そのリングバッファ2が使用中であることを示すように、未使用リングバッファ情報格納部6により格納されている未使用リングバッファ情報を更新する。即ち、未使用リングバッファ情報格納部6の記憶要素7に格納されている当該リングバッファ2のIDを消去する。
仮説評価処理部9は例えばCPUを実装している半導体集積回路、ワンチップマイコン、あるいは、コンピュータの中央処理装置などから構成されており、あるシミュレーション時刻に観測情報が与えられると、シミュレーション結果格納部1のリングバッファ2に格納されている上記シミュレーション時刻における各仮説のシミュレーション結果と観測情報を比較して、シミュレーション結果が観測情報と一致していない仮説を特定し、その仮説のシミュレーション結果を格納しているリングバッファ2をリセットする処理を実施する。
なお、仮説評価処理部9は、観測情報と一致していない仮説のシミュレーション結果を格納しているリングバッファ2をリセットすると、そのリングバッファ2が未使用であることを示すように、未使用リングバッファ情報格納部6により格納されている未使用リングバッファ情報を更新する。即ち、未使用リングバッファ情報格納部6の記憶要素7の中で、未使用のリングバッファ2のIDを格納していない記憶要素7に対して、リセットしたリングバッファ2のIDを登録する。
次に動作について説明する。
シミュレーション結果格納部1における各々のリングバッファ2は、1つの仮説と対応付けられており、シミュレーション開始時刻からシミュレーション終了時刻に至るまでの各々のシミュレーション時刻のシミュレーション結果(対応関係がある仮説のシミュレーション結果)を格納するが、各々のリングバッファ2における記憶要素3の数は、設定値である予測したい最大時刻Tmaxを被除数、同じく設定値である離散時刻シミュレーションによって仮説をシミュレーションする際の時刻周期Δt(シミュレーション時刻の間隔)を除数とするときの商に相当する。
なお、シミュレーション時刻であるアクセス時刻がtであるとき、アクセス対象の記憶要素3を示すインデックス値Iは、下記の式(1)で計算を行うものとする。
I=mod{t/(Tmax/Δt)} (1)
式(1)において、modは、剰余を求める関数を表している。
ただし、この実施の形態1では、1つの記憶要素3に対して、重畳アクセスが発生しない十分な要素数があるものとする。
仮説予測処理部8は、シミュレーション時刻毎に、仮説のシミュレーションを実行して、そのシミュレーション結果を当該仮説に対応するリングバッファ2に格納する。
以下、仮説予測処理部8による予測処理を具体的に説明する。
図2は1つの仮説Xpについて、シミュレーション開始時刻tから1時刻分tのシミュレーションを実行して、仮説Xpのシミュレーション結果Xp(t)を格納した状況を示す説明図である。
図2の左上には、ツリーを用いて、仮説Xpの処理状況を示している。
仮説予測処理部8は、シミュレーション開始時刻tにおいて、1つの仮説Xpのシミュレーションを開始するに際して、未使用リングバッファ情報格納部6に格納されている未使用リングバッファ情報を参照して未使用のリングバッファ2を特定する。
即ち、未使用リングバッファ情報格納部6の記憶要素7から未使用のリングバッファ2のIDを参照することで、未使用のリングバッファ2を特定するが、未使用リングバッファ情報格納部6は、LIFO方式のリングバッファで構成されているので、複数の記憶要素7の中で、最も新しくIDが登録された記憶要素7からIDを読み出して、そのIDを有するリングバッファ2を未使用のリングバッファ2として特定する。
未使用リングバッファ情報格納部6がLIFO方式のスタックで構成されている理由については実施の形態2で説明する。ここでは、説明の便宜上、図2において、1番上のリングバッファ2を未使用のリングバッファ2として特定するものとする。
仮説予測処理部8は、未使用のリングバッファ2を特定すると、そのリングバッファ2を仮説Xpに対応するリングバッファとして使用する。
即ち、仮説予測処理部8は、仮説Xpについて、シミュレーション開始時刻t及びシミュレーション時刻tのシミュレーションを実行すると、当該リングバッファ2の記憶要素7のうち、シミュレーション開始時刻tに対応する記憶要素7に対して、シミュレーション開始時刻tのシミュレーション結果Xp(t)を格納し、シミュレーション時刻tに対応する記憶要素7に対して、シミュレーション時刻tのシミュレーション結果Xp(t)を格納する。
なお、仮説予測処理部8は、1番上のリングバッファ2を未使用のリングバッファ2として特定すると、そのリングバッファ2が使用中であることを示すように、未使用リングバッファ情報格納部6の記憶要素7に格納されている当該リングバッファ2のIDを消去する。
次に、仮説予測処理部8は、仮説Xpについて、シミュレーション時刻tのシミュレーションを実行し、シミュレーション時刻tのシミュレーション結果Xp(t)をシミュレーション時刻tに対応する記憶要素7に格納するが、ここでは、説明便宜上、仮説Xpのシミュレーションによって新たな仮説Xpが派生するものとする。
図3は仮説Xpのシミュレーション結果Xp(t)と、新たな仮説Xpのシミュレーション結果Xp(t)を格納した状況を示す説明図である。
仮説予測処理部8は、シミュレーション時刻tにおいて、新たな仮説Xpが派生すると、未使用リングバッファ情報格納部6に格納されている未使用リングバッファ情報を参照して未使用のリングバッファ2を特定する。ここでは、説明の便宜上、図2において、上から2番目のリングバッファ2を未使用のリングバッファ2として特定するものとする。
仮説予測処理部8は、未使用のリングバッファ2を特定すると、そのリングバッファ2を新たな仮説Xpに対応するリングバッファとして使用する。
即ち、仮説予測処理部8は、仮説Xpについて、シミュレーション時刻tのシミュレーションを実行し、シミュレーション時刻tのシミュレーション結果Xp(t)をシミュレーション時刻tに対応する記憶要素7(上から2番目のリングバッファ2において、左から3番目の記憶要素7)に格納する。
また、仮説予測処理部8は、仮説Xpの派生元である仮説Xpのシミュレーション結果Xp(t),Xp(t)を、仮説Xpに対応するリングバッファ2にコピーする。
即ち、仮説Xpのシミュレーション開始時刻tのシミュレーション結果Xp(t)を、仮説Xpに対応するリングバッファ2のシミュレーション開始時刻tに対応する記憶要素7に格納し、仮説Xpのシミュレーション時刻tのシミュレーション結果Xp(t)を、仮説Xpに対応するリングバッファ2のシミュレーション時刻tに対応する記憶要素7に格納する。
なお、仮説予測処理部8は、上から2番目のリングバッファ2を未使用のリングバッファ2として特定すると、そのリングバッファ2が使用中であることを示すように、未使用リングバッファ情報格納部6の記憶要素7に格納されている当該リングバッファ2のIDを消去する。
仮説評価処理部9は、あるシミュレーション時刻に観測情報が与えられると、シミュレーション結果格納部1のリングバッファ2に格納されている上記シミュレーション時刻における各仮説のシミュレーション結果と観測情報を比較して、シミュレーション結果が観測情報と一致していない仮説を特定し、その仮説のシミュレーション結果を格納しているリングバッファ2をリセットする。
以下、仮説評価処理部9による評価処理を具体的に説明する。
図4はシミュレーション時刻tで観測情報Xmが与えられたことで評価処理が実行されて、その観測情報Xmとシミュレーション時刻tにおける各仮説Xp,Xp,Xpのシミュレーション結果の比較評価が行われる状況を示す説明図である。
ただし、図4の例では、仮説Xpは、シミュレーション時刻tで仮説Xpから派生したものであるため、シミュレーション時刻tの仮説Xpのシミュレーション結果については、派生元の仮説である仮説Xpのシミュレーション時刻tのシミュレーション結果Xp(t)がコピーされたものである。
仮説評価処理部9は、図4に示すように、シミュレーション時刻tに観測情報Xmが与えられると、シミュレーション結果格納部1における各リングバッファ2の記憶要素3のうち、シミュレーション時刻tの時刻リスト5に含まれる記憶要素3を特定し、その記憶要素3からシミュレーション時刻tにおける各仮説Xp,Xp,Xpのシミュレーション結果Xp(t),Xp(t),Xp(t)の読み出しを行う。
そして、仮説評価処理部9は、観測情報Xmとシミュレーション時刻tにおける各仮説Xp,Xp,Xpのシミュレーション結果Xp(t),Xp(t),Xp(t)とを比較する。
ここでは、説明の便宜上、観測情報Xmと仮説Xp,Xpのシミュレーション結果Xp(t),Xp(t)が一致するが、観測情報Xmと仮説Xpのシミュレーション結果Xp(t)が一致しないものとする。
なお、仮説Xpは、上述したように、シミュレーション時刻tで仮説Xpから派生したものであるが、シミュレーション時刻tの仮説Xpのシミュレーション結果として、派生元の仮説である仮説Xpのシミュレーション時刻tのシミュレーション結果Xp(t)がコピーされているので、シミュレーション時刻tで与えられた観測情報Xmと、仮説Xpのシミュレーション結果Xp(t)とを比較評価することができる。
仮説評価処理部9は、観測情報Xmと仮説Xpのシミュレーション結果Xp(t)が一致していないため、仮説Xpのシミュレーション結果Xp(t)〜Xp(t)の削除処理を実施する。
図5は仮説Xpのシミュレーション結果Xp(t)〜Xp(t)が削除された状況を示す説明図である。
仮説評価処理部9による仮説Xpのシミュレーション結果Xp(t)〜Xp(t)の削除処理は、図5に示すように、仮説Xpに対応するリングバッファ2(上から2番目のリングバッファ2)の記憶要素3の記憶内容をリセットすることを意味する。
仮説評価処理部9は、仮説Xpのシミュレーション結果Xp(t)〜Xp(t)を格納しているリングバッファ2をリセットすると、そのリングバッファ2が未使用であることを示すように、未使用リングバッファ情報格納部6により格納されている未使用リングバッファ情報を更新する。
即ち、仮説評価処理部9は、未使用リングバッファ情報格納部6の記憶要素7の中で、未使用のリングバッファ2のIDを格納していない記憶要素7に対して、リセットしたリングバッファ2のIDを登録する。
これにより、次の観測情報Xmが入力されても、仮説Xpのシミュレーション結果が観測情報Xmの比較評価の対象にならなくなる。
また、新たな仮説が派生したとき、仮説Xpに対応するリングバッファ2(上から2番目のリングバッファ2)を新たな仮説に対応するリングバッファ2として再利用することが可能になる。
以上で明らかなように、この実施の形態1によれば、仮説予測処理部8が、シミュレーション時刻毎に、仮説のシミュレーションを実行して、そのシミュレーション結果を当該仮説に対応するリングバッファ2に格納するとともに、その仮説のシミュレーションによって新たな仮説が派生すれば、当該シミュレーション時刻における新たな仮説のシミュレーション結果と、当該シミュレーション時刻より1時刻前までの各シミュレーション時刻における派生元の仮説のシミュレーション結果とを未使用のリングバッファ2に格納する一方、仮説評価処理部9が、あるシミュレーション時刻に観測情報が与えられると、シミュレーション結果格納部1のリングバッファ2に格納されている上記シミュレーション時刻における各仮説のシミュレーション結果と観測情報を比較して、シミュレーション結果が観測情報と一致していない仮説を特定し、その仮説のシミュレーション結果を格納しているリングバッファ2をリセットするように構成したので、誤っている仮説のシミュレーション結果を簡単に削除することができるとともに、削除後のメモリ領域を効率的に再利用することができる効果を奏する。
即ち、この実施の形態1によれば、格子状リスト構造であるシミュレーション結果格納部1と未使用リングバッファ情報格納部6を利用することにより、下記に示すように、仮説のシミュレーション結果を効率的に利用することができる。
まず、初期状態で仮説の生成を行う際や、新たな仮説の派生が行われた際に、未使用リングバッファ情報格納部6を参照する1回の手続きで、仮説のシミュレーション結果を格納することが可能なリングバッファ2を特定することができる。
また、仮説の派生が行われた際に、派生元の仮説のシミュレーション結果を、派生した仮説に対応するリングバッファ2の記憶要素3にコピーするようにしているので、その仮説が派生した時刻より前の時刻に入力された観測情報であっても、1回の参照手続きで、派生した仮説との比較評価を行うことができる。
仮説を破棄する際は、破棄する仮説に対応するリングバッファ2の記憶要素3の記憶内容をリセットすることで、破棄する仮説のシミュレーション結果が比較評価の対象から除外され、また、破棄する仮説に対応するリングバッファ2が未使用のリングバッファであるように、未使用リングバッファ情報格納部6により格納されている未使用リングバッファ情報を更新しているので、破棄する仮説に対応するリングバッファ2を効率的に再利用することができる。
なお、シミュレーション結果格納部1がリングバッファ2で構成されているため、観測情報の時刻より古いシミュレーション時刻のシミュレーション結果については、特に削除処理を行うことなく、そのシミュレーション結果を格納していた記憶要素3を再利用することが可能である。
実施の形態2.
この実施の形態2では、仮説評価処理部8が、観測情報Xmが与えられたシミュレーション時刻において、仮説のシミュレーション結果が複数のリングバッファ2に格納されている場合、複数のリングバッファ2に格納されている仮説のシミュレーション結果と観測情報Xmの比較評価を並列に実行する予測シミュレーション装置について説明する。
図6は図5の処理状況に引き続き予測処理が実行されて、シミュレーション時刻tで仮説Xpから新たな仮説Xpが派生している状況を示す説明図である。
仮説評価処理部8は、シミュレーション時刻tにおいて、仮説Xpから新たな仮説Xpが派生すると、未使用リングバッファ情報格納部6に格納されている未使用リングバッファ情報を参照して未使用のリングバッファ2を特定する。
ここで、未使用リングバッファ情報格納部6は、LIFO方式のスタックで構成されているので、仮説評価処理部9における直前の評価処理で削除された仮説Xpに対応するリングバッファ2(上から2番目のリングバッファ2)が、未使用のリングバッファ2として特定される。
仮説評価処理部8は、未使用のリングバッファ2を特定すると、そのリングバッファ2を新たな仮説Xpに対応するリングバッファとして使用するが、直前の評価処理で削除された仮説Xpに対応するリングバッファ2が、未使用のリングバッファ2として特定されることで、各々の記憶要素3の縦方向のリンクである時刻リスト5において、仮説Xpの削除に伴って未使用の状態になった記憶要素3が使用状態に戻り、時刻リスト5の先頭からシミュレーション結果を格納している記憶要素3が連続して並ぶ形になり易くなる。
時刻リスト5は、仮説評価処理部8が観測情報Xmと各仮説のシミュレーション結果を比較評価する際に参照される。
ここで、仮説評価処理部8が、例えば、複数のプロセッサから構成されており、複数のプロセッサが、時刻リスト5を参照して、比較評価を並列に処理する場合を想定する。
時刻リスト5の先頭からシミュレーション結果を格納している記憶要素3が連続的に並んでおらず、シミュレーション結果を格納している記憶要素3が飛び飛びである場合、複数のプロセッサの処理負荷が均等になるように、時刻リスト5における各々の記憶要素3を割り当てることは困難である。
即ち、シミュレーション結果を格納している記憶要素3と、シミュレーション結果を格納していない記憶要素3とが不規則に混在しているため、時刻リスト5の先頭の記憶要素3から1つずつ取り出して、その記憶要素3を順番に複数のプロセッサに割り当てることができず、複数のプロセッサの処理負荷が均等になるように記憶要素3を割り当てることは困難である。
複数のプロセッサの処理負荷にばらつきが生じていると、予測シミュレーション装置の処理時間が、最も処理負荷が高いプロセッサの処理時間によって決まり、並列に処理を実行するメリットが低下する(処理負荷が低いプロセッサは、先に処理が終了して、待機状態になるため、並列処理の効率が低下する)。
しかし、この実施の形態2では、未使用リングバッファ情報格納部6が、LIFO方式のリングバッファで構成されており、時刻リスト5の先頭からシミュレーション結果を格納している記憶要素3が連続して並ぶ形になり易くなるため、時刻リスト5の先頭の記憶要素3から1つずつ取り出して、その記憶要素3を順番に複数のプロセッサに割り当てることで、複数のプロセッサの処理負荷の均等化を図ることができるようになる。
これにより、複数のプロセッサによる並列処理の効率を高めて、予測シミュレーション装置の処理時間を短縮することができる効果を奏する。
なお、本願発明はその発明の範囲内において、各実施の形態の自由な組み合わせ、あるいは各実施の形態の任意の構成要素の変形、もしくは各実施の形態において任意の構成要素の省略が可能である。
1 シミュレーション結果格納部、2 リングバッファ、3 記憶要素、4 仮説リング、5 時刻リスト、6 未使用リングバッファ情報格納部、7 記憶要素、8 仮説予測処理部、9 仮説評価処理部、101 フェデレーション、102 フェデレート、103 RTI。

Claims (7)

  1. モンテカルロシミュレーションによって、想定される将来状況を仮説として予測する予測シミュレーション装置において、
    シミュレーション開始時刻からシミュレーション終了時刻に至るまでの各々のシミュレーション時刻に対応する仮説のシミュレーション結果を格納するリングバッファが複数配列されているシミュレーション結果格納部と、
    シミュレーション時刻毎に、仮説のシミュレーションを実行して、そのシミュレーション結果を当該仮説に対応するリングバッファに格納するとともに、上記仮説のシミュレーションによって新たな仮説が派生すれば、当該シミュレーション時刻における新たな仮説のシミュレーション結果と、当該シミュレーション時刻より1時刻前までの各シミュレーション時刻における派生元の仮説のシミュレーション結果とを未使用のリングバッファに格納する仮説予測処理部と、
    あるシミュレーション時刻に観測情報が与えられると、上記シミュレーション結果格納部のリングバッファに格納されている上記シミュレーション時刻における各仮説のシミュレーション結果と上記観測情報を比較して、シミュレーション結果が上記観測情報と一致していない仮説を特定し、上記仮説のシミュレーション結果を格納しているリングバッファをリセットする仮説評価処理部と
    を備えていることを特徴とする予測シミュレーション装置。
  2. 上記シミュレーション結果格納部におけるリングバッファの中で、仮説のシミュレーション結果が格納されていない未使用のリングバッファを示す未使用リングバッファ情報を格納する未使用リングバッファ情報格納部を備え、
    上記仮説予測処理部は、仮説のシミュレーションによって新たな仮説が派生すると、上記未使用リングバッファ情報格納部に格納されている未使用リングバッファ情報を参照して未使用のリングバッファを特定し、当該シミュレーション時刻における新たな仮説のシミュレーション結果と、当該シミュレーション時刻より1時刻前までの各シミュレーション時刻における派生元の仮説のシミュレーション結果とを未使用のリングバッファに格納する
    ことを特徴とする請求項1記載の予測シミュレーション装置。
  3. 上記仮説予測処理部は、新たな仮説のシミュレーション結果を未使用のリングバッファに格納すると、上記リングバッファが使用中であることを示すように、上記未使用リングバッファ情報格納部により格納されている未使用リングバッファ情報を更新し、
    上記仮説評価処理部は、観測情報と一致していない仮説のシミュレーション結果を格納しているリングバッファをリセットすると、上記リングバッファが未使用であることを示すように、上記未使用リングバッファ情報格納部により格納されている未使用リングバッファ情報を更新する
    ことを特徴とする請求項2記載の予測シミュレーション装置。
  4. 上記未使用リングバッファ情報格納部は、未使用のリングバッファを示す未使用リングバッファ情報として、未使用のリングバッファのIDを格納するものであって、未使用のリングバッファのIDを格納する記憶要素が複数連結されているスタックで構成されていることを特徴とする請求項3記載の予測シミュレーション装置。
  5. 上記未使用リングバッファ情報格納部は、後入れ先出し方式のスタックで構成されていることを特徴とする請求項4記載の予測シミュレーション装置。
  6. 上記仮説評価処理部は、観測情報が与えられたシミュレーション時刻において、仮説のシミュレーション結果が複数のリングバッファに格納されている場合、上記複数のリングバッファに格納されている仮説のシミュレーション結果と上記観測情報の比較処理を並列に実行することを特徴とする請求項5記載の予測シミュレーション装置。
  7. 上記シミュレーション結果格納部における各々のリングバッファは、各々のシミュレーション時刻に対応するシミュレーション結果を格納する複数の記憶素子から構成されており、上記複数の記憶要素は、互いに連結されて、先頭の記憶要素と末尾の記憶要素が連結されていることを特徴とする請求項1から請求項6のうちのいずれか1項記載の予測シミュレーション装置。
JP2012272250A 2012-12-13 2012-12-13 予測シミュレーション装置 Active JP6132538B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012272250A JP6132538B2 (ja) 2012-12-13 2012-12-13 予測シミュレーション装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012272250A JP6132538B2 (ja) 2012-12-13 2012-12-13 予測シミュレーション装置

Publications (2)

Publication Number Publication Date
JP2014119794A JP2014119794A (ja) 2014-06-30
JP6132538B2 true JP6132538B2 (ja) 2017-05-24

Family

ID=51174611

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012272250A Active JP6132538B2 (ja) 2012-12-13 2012-12-13 予測シミュレーション装置

Country Status (1)

Country Link
JP (1) JP6132538B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108805350B (zh) * 2018-06-06 2020-02-07 牟林 基于多维蒙特卡洛理论的搜救范围预测方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61279968A (ja) * 1985-06-05 1986-12-10 Fujitsu Ltd パツフア管理方法
JP3077883B2 (ja) * 1995-06-30 2000-08-21 日本電気株式会社 需要量予測装置
JP5048358B2 (ja) * 2007-02-16 2012-10-17 三菱電機株式会社 論理プロセッサ
JP5153465B2 (ja) * 2008-06-09 2013-02-27 インターナショナル・ビジネス・マシーンズ・コーポレーション シミュレーション方法、システム及びプログラム
JP5370379B2 (ja) * 2011-01-20 2013-12-18 株式会社デンソー 車両情報記録装置および車両
JP5606392B2 (ja) * 2011-05-23 2014-10-15 三菱電機株式会社 分散シミュレーションシステム

Also Published As

Publication number Publication date
JP2014119794A (ja) 2014-06-30

Similar Documents

Publication Publication Date Title
CN110569305B (zh) 区块同步方法、装置、介质和计算设备
JP4781089B2 (ja) タスク割り当て方法およびタスク割り当て装置
JP4962564B2 (ja) 並列化プログラム生成方法、並列化プログラム生成装置、及び並列化プログラム生成プログラム
US20160085587A1 (en) Data-aware workload scheduling and execution in heterogeneous environments
US8887165B2 (en) Real time system task configuration optimization system for multi-core processors, and method and program
CN102105864A (zh) 程序变换装置以及程序变换方法
CN110609807B (zh) 用于删除快照数据的方法、设备和计算机可读存储介质
US10389697B1 (en) Software container activation and throttling
US20140320498A1 (en) Terminal device, information processing method, and computer program product
JP6132538B2 (ja) 予測シミュレーション装置
US8825603B2 (en) Ordering volumes and tracks for data transfer based on usage characteristics
US9990290B2 (en) Cache coherency verification using ordered lists
US20180067865A1 (en) Apparatus and method for computational workflow management
KR20130010467A (ko) 듀얼 모드 리더 라이터 락
US20150006341A1 (en) Billing transaction scheduling
US9135058B2 (en) Method for managing tasks in a microprocessor or in a microprocessor assembly
CN109242168A (zh) 确定最短路径的方法、装置、设备和计算机可读存储介质
CN115220907A (zh) 资源调度方法、装置、电子设备及存储介质
JP6349837B2 (ja) スケジューラ装置及びそのスケジューリング方法、演算処理システム、並びにコンピュータ・プログラム
JP5509164B2 (ja) 計算機、管理方法及びプログラム
JP5240200B2 (ja) データ処理装置および方法
US11734277B2 (en) Database buffer pool optimization
CN116755893B (zh) 面向深度学习的分布式计算系统的作业调度方法和装置
US20230393907A1 (en) Arithmetic processing apparatus and arithmetic processing method
EP3989074B1 (en) Method for optimizing execution of high-performance computing workflows

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20151116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160819

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160906

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161011

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170418

R150 Certificate of patent or registration of utility model

Ref document number: 6132538

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250