(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024067262
(43)【公開日】2024-05-17
(54)【発明の名称】情報処理システム、情報処理方法、プログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20240510BHJP
【FI】
G06T7/00 350A
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2022177191
(22)【出願日】2022-11-04
【国等の委託研究の成果に係る記載事項】(出願人による申告)令和3年度、国立研究開発法人情報通信研究機構「革新的情報通信技術研究開発委託研究/Beyond 5G研究開発促進事業/Beyond 5G を活用した安全かつ効率的なクラウドロボティクスの実現」産業技術力強化法第17条の適用を受ける特許出願
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100124811
【弁理士】
【氏名又は名称】馬場 資博
(74)【代理人】
【識別番号】100088959
【弁理士】
【氏名又は名称】境 廣巳
(74)【代理人】
【識別番号】100097157
【弁理士】
【氏名又は名称】桂木 雄二
(74)【代理人】
【識別番号】100187724
【弁理士】
【氏名又は名称】唐鎌 睦
(72)【発明者】
【氏名】吉田 裕志
【テーマコード(参考)】
5L096
【Fターム(参考)】
5L096FA52
5L096GA30
(57)【要約】
【課題】複数のシステムに対する推定の安定性及び精度の向上を図ることができないこと。
【解決手段】本開示の情報処理システム100は、複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理システムであって、各システムの状態に基づいて、各システムの状態のリスクを判定する判定手段121とリスクに基づいて各システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全てのシステムに分配するようパーティクル数を算出する算出手段122と、を備える。
【選択図】
図7
【特許請求の範囲】
【請求項1】
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理システムであって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定する判定手段と、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する算出手段と、
を備えた情報処理システム。
【請求項2】
請求項1に記載の情報処理システムであって、
前記算出手段は、前記リスクが高い前記システムに、前記リスクが低い前記システムよりも多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
【請求項3】
請求項2に記載の情報処理システムであって、
前記判定手段は、前記リスクの有無を判定し、
前記算出手段は、前記リスクが無い前記システムよりも前記リスクが有る前記システムに多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
【請求項4】
請求項3に記載の情報処理システムであって、
前記算出手段は、前記リスクが無い前記システムに少なくとも前記最低数の前記パーティクルが分配され、前記リスクが有る前記システムに前記最低数よりも多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
【請求項5】
請求項4に記載の情報処理システムであって、
前記最低数と、前記最低数よりも多い数の最高数と、分配可能な前記パーティクルの総数と、が設定されており、
前記算出手段は、全ての前記システムに分配される前記パーティクルの合計数が前記総数を超えないよう、前記リスクが無い前記システムに前記最高数よりも少なく前記最低数以上の前記パーティクルが分配され、前記リスクが有る前記システムに前記最低数よりも多く前記最高数以下の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
【請求項6】
請求項5に記載の情報処理システムであって、
前記最低数と前記最高数とは、それぞれ前記システムに応じて異なる値が設定されている、
情報処理システム。
【請求項7】
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理方法であって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定し、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する、
情報処理方法。
【請求項8】
請求項7に記載の情報処理方法であって、
前記リスクが高い前記システムに、前記リスクが低い前記システムよりも多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理方法。
【請求項9】
請求項8に記載の情報処理方法であって、
前記リスクの有無を判定し、
前記リスクが無い前記システムよりも前記リスクが有る前記システムに多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理方法。
【請求項10】
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する処理をコンピュータに実行させるためのプログラムであって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定し、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する、
処理をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、情報処理システム、情報処理方法、プログラムに関する。
【背景技術】
【0002】
デジタルツインのような大規模システムには、多数の独立したシステムが含まれており、これら多システムの状態をリアルタイムで並列にシミュレーションしたいという要求がある。そして、多システムの状態を推定することに、パーティクルフィルタを用いることが行われている。例えば、特許文献1では、撮影画像内の人物を追跡する際に、各人物の複数のパーツを、パーティクルフィルタを用いて追跡している。
【0003】
具体的に、特許文献1では、人物の各パーツに対してパーティクル群を振り分け、各パーティクルの推定位置及び尤度に基づいて、人物の各パーツの位置を推定している。そして、特許文献1では、パーツの追跡信頼度に応じて、パーティクルの数を設定して振り分けてることを行っている。特に、特許文献1では、追跡困難なパーツへの割当を減らし、追跡見込みの高いパーツへの割当を増加するよう設定している。なお、パーティクルフィルタの技術については、特許文献2に記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2016-170603号公報
【特許文献2】特開2011-197964号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、上述した特許文献1に記載の技術では、追跡困難なパーツへのパーティクルの割当を減らしているため、全てのパーツに対する推定が困難となるおそれがある。このため、複数のシステムを含むような大規模システムに対して特許文献1に記載の技術を適用したとしても、複数のシステムに対する推定の安定性及び精度の向上を図ることができない、という問題が生じる。
【0006】
このため、本開示の目的は、上述した課題である、複数のシステムに対する推定の安定性及び精度の向上を図ることができない、ことを解決することができる情報処理システムを提供することにある。
【課題を解決するための手段】
【0007】
本開示の一形態である情報処理システムは、
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理システムであって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定する判定手段と、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する算出手段と、
を備えた、
という構成をとる。
【0008】
また、本開示の一形態である情報処理方法は、
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理方法であって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定し、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する、
という構成をとる。
【0009】
また、本開示の一形態であるプログラムは、
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する処理をコンピュータに実行させるためのプログラムであって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定し、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する、
処理をコンピュータに実行させるためのプログラム。
【発明の効果】
【0010】
本開示は、以上のように構成されることにより、複数のシステムに対する推定の安定性及び精度の向上を図ることができる。
【図面の簡単な説明】
【0011】
【
図1】本開示の実施形態1における推定システムの全体構成を示すブロック図である。
【
図2】
図1に開示した推定システムの他の構成を示すブロック図である。
【
図3】
図1に開示した推定システムによるパーティクルの分配処理の一例を示す図である。
【
図4】
図1に開示した推定システムの動作を示すフローチャートである。
【
図5】
図1に開示した推定システムを用いた実施例を示す図である。
【
図6】本開示の実施形態2における情報処理システムのハードウェア構成を示すブロック図である。
【
図7】本開示の実施形態2における情報処理システムの構成を示すブロック図である。
【発明を実施するための形態】
【0012】
<実施形態1>
本開示の第1の実施形態を、
図1乃至
図5を参照して説明する。
図1乃至
図2は、推定システムの構成を説明するための図であり、
図3乃至
図4は、推定システムの処理動作を説明するための図である。
【0013】
[構成]
本実施形態における推定システム10は、複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理システムである。例えば、推定システム10は、デジタルツインのような多数の独立したシステムが含まれる大規模システムの状態、つまり、多システムの状態を、パーティクルフィルタを用いて並列にシミュレーションして推定することに用いられる。
【0014】
推定システム10は、演算装置と記憶装置とを備えた1台又は複数台の情報処理装置にて構成される。そして、推定システム10は、
図1に示すように、システム推定部11、リスク判定部12、パーティクル分配部13、を備える。システム推定部11、リスク判定部12、パーティクル分配部13の各機能は、演算装置が記憶装置に格納された各機能を実現するためのプログラムを実行することにより実現することができる。また、推定システム10は、システムモデル記憶部16、パーティクル情報記憶部17、を備える。システムモデル記憶部16、パーティクル情報記憶部17は、記憶装置により構成される。以下、各構成について詳述する。
【0015】
システムモデル記憶部16は、状態を推定する対象となる独立した複数のシステムのモデルを記憶している。例えば、システムモデル1、システムモデル2、・・・というように、複数のシステムモデルをそれぞれ記憶している。システムモデルの数は、一例として100や1000であるが、その数は限定されない。各システムモデルは、後述するように、パーティクルフィルタを用いてシミュレーションを行って状態を推定することが可能なよう構成されている。
【0016】
ここで、システムモデルの具体的な一例を、下記数1に示す。数1では、システムが移動ロボットである場合を例示するが、システムモデルは以下に示すものに限定されない。
【数1】
【0017】
パーティクル情報記憶部17は、パーティクルフィルタで使用するパーティクルに関する情報として、後述するように各システムモデルに振り分けるパーティクルの数に関する情報を記憶する。例えば、パーティクル情報記憶部17は、システムモデルに分配可能なパーティクルの総数、各システムモデルに振り分けるパーティクルの最低数、当該最低数より多い数の最高数、を記憶する。一例として、パーティクルの総数は、10000個であり、パーティクルの最低数は200個、パーティクルの最高数は500個、などであるが、これらの数に限定されない。なお、パーティクルの最低数と最高数は、それぞれシステムモデルに応じて異なる値が設定されていてもよい。例えば、システムモデル1については、最低数200、最高数500が設定されており、システムモデル2については、最低数300、最高数600が設定されていてもよい。
【0018】
なお、上述したように、パーティクルの総数を設定している理由は、パーティクルの総数が多いほど、システムの状態の推定処理を行う情報処理装置に高い演算処理性能が求められるためである。このため、パーティクルの総数は、ハードウェア性能に応じて設定される。
【0019】
システム推定部11は、各システムモデルに対して分配されたパーティクルを用いて、各システムモデルの状態をシミュレーションして推定する。ここで、
図2に、推定システム10の他の構成例を示す。この図の符号P1~PSに示すように、システム推定部11は、各システムモデル1~Sにそれぞれ分配されたパーティクルによるパーティクルフィルタ1~Sを設定すると共に、各システムモデル1~Sに対してそれぞれコントローラ1~Sを割り当てる。そして、各コントローラ1~Sが、各システムモデル1~Sに割り当てたパーティクルフィルタ1~Sを用いて、各システムモデル1~Sの状態のシミュレーションを行って、状態を推定する。
【0020】
ここで、システム推定部11による各システムモデルに対するパーティクルフィルタを用いたシミュレーションによる状態の推定の具体例を、下記数2に示す。ここでは、上述した数1で示すシステムモデルを用いている。なお、以下に示すパーティクルフィルタの処理内容は、既に知られているものである。
【数2】
【0021】
そして、後述するように、推定値に応じて後に各システムに分配されるパーティクルの数が算出されるが、システム推定部11は、算出された数のパーティクルを各システムに設定して、上述同様に、再度、各システムをシミュレーションして状態の推定を行う。つまり、システム推定部11は、上述した各システムの状態の推定を、パーティクルの分配数を変えて繰り返すこととなる。
【0022】
リスク判定部12(判定手段)は、各システムの状態に基づいて、各システムの状態のリスクを判定する。ここで、リスクとは、システムの状態が、予め設定されたリスク状態であるか否か、あるいは、システムの状態が、予め設定された基準に基づくリスク状態である度合い、であることとし、例えば、システムの状態の予め設定された基準に基づく危険度や不確か度を表す。本実施形態では、リスク判定部12は、上述したようにパーティクルフィルタを用いたシミュレーションにより推定したシステムの状態の値に基づいて、リスクの有無を判定することとする。つまり、一例として、システムの状態を表す状態変数(速度など)が閾値よりも大きい場合や、推定値と観測値との間の誤差が閾値よりも大きい場合を、リスク有、と判定し、それ以外はリスク無、と判定することとする。このとき、リスク判定部12は、
図2に示すように、システムモデル1~S毎にそれぞれリスク判定関数1~Sを用意しておき、かかるリスク判定関数1~Sに各システムの状態を入力することで、リスクの有無を判定する。
【0023】
例えば、下記数3に示すように、判定したリスクを表すこととする。
【数3】
【0024】
但し、リスク判定部12は、必ずしも各システムの状態に基づくリスクを、有り無しで判定することに限定されない。例えば、リスク判定部12は、各システムの状態に基づくリスクとして、リスク状態である度合いを表す数値で判定してもよい。このとき、リスク判定部12は、例えば、リスク状態である度合いを、複数段階を取りうる数値で表してもよい。
【0025】
パーティクル分配部13(算出部)は、上述したように各システムにおいて判定されたリスクに基づいて、各システムに分配するパーティクルの数を算出する。このとき、パーティクル分配部13は、全てのシステムに分配するパーティクルの合計数が、予め設定されたパーティクル数の総数を超えない範囲で、リスク無と判定されたシステムには少なくとも最低数のパーティクルを分配し、リスク有と判定されたシステムには最低数よりも多く最高数以下のパーティクルを分配するよう算出する。
【0026】
具体的に、パーティクル分配部13は、下記数4に示すように各パラメータを設定した場合に、下記数5に示すように各システムに分配するパーティクル数を算出する。
【0027】
【0028】
なお、パーティクル分配部13は、上述したようにシステムごとにパーティクルの最低数、最高数が設定されている場合には、かかる値を用いて上述同様にパーティクルの分配数を算出する。
【0029】
また、パーティクル分配部13は、上述したようにリスクの有無でリスク判定を行っておらず、リスクの度合いなど段階的に判定している場合には、かかるリスクの度合いに応じて、各システムに分配するパーティクル数を算出する。例えば、パーティクル分配部13は、リスクの度合いが高いシステムほどより多くのパーティクル数を分配するよう算出する。つまり、リスクの度合いが低いシステムよりもリスクの度合いが高いシステムの方により多くの数のパーティクルが分配されるよう算出する。但し、この場合であっても、全てのシステムに分配するパーティクル数の合計値が総数を超えない範囲で、かつ、全てのシステムに少なくとも最低数のパーティクルを分配するよう算出する。
【0030】
そして、パーティクル分配部13は、各システムについて算出したパーティクル数をシステム推定部11に通知する。これにより、システム推定部11は、上述したように、算出された数のパーティクルを各システムに設定して、各システムの状態の推定を繰り返し行う。
【0031】
ここで、
図3に、上述した推定システム10によるパーティクル数の分配の一例を示す。まず、各システムモデル1~3が「状態1」のとき、いずれもリスクは「無」、パーティクル数「200」であることとする。そして、各システムモデル1~3が「状態2」であると推定された場合には、リスク「無」のシステムモデル1,3にはパーティクル数「100」が分配され、リスク「有」のシステムモデル2にはパーティクル数「400」が分配される。なお、パーティクル数「100」は最低数以上であり、パーティクル数「400」は最高数以下であることとし、さらに、全てのシステムモデルに分配されるパーティクル数の合計数は、総数を超えていないこととする。
【0032】
このように、本実施形態における推定システム10では、リスク有のシステムに対してはより多くの数のパーティクルが分配されて、その後の推定が行われる。このため、リスク有のシステムについては、より多くのパーティクルを用いて精度の高い推定を行うことができる。また、リスク無のシステムに対しては、最低数のパーティクルが分配されて、その後の推定が行われる。このため、リスク無のシステムについても最低限の推定が継続されるため、安定性と精度の高い推定を行うことができる。そして、このとき、予め設定されたパーティクルの総数を超える数のパーティクルは分配されないため、予め用意された計算資源のみで推定処理を継続することができる。
【0033】
[動作]
次に、上述した推定システム10の動作を説明する。
【0034】
はじめに、推定システム10は、初期値として設定された数のパーティクルを、各システムに対して分配する(ステップS1)。そして、推定システム10は、各システムについて、分配された数のパーティクルフィルタを用いて状態の推定を行う(ステップS2)。
【0035】
続いて、推定システム10は、推定した各システムの状態に基づいて、各システムのリスク判定を行う(ステップS3)。例えば、推定システム10は、各システムの状態からリスクの有無を判定する。そして、推定システム10は、各システムのリスクの有無に基づいて、分配するパーティクルの数を算出する(ステップS4)。このとき、推定システム10は、全てのシステムに分配するパーティクルの合計数が、予め設定されたパーティクル数の総数を超えない範囲で、リスク無と判定されたシステムには少なくとも最低数のパーティクルを分配し、リスク有と判定されたシステムには最低数よりも多く最高数以下のパーティクルを分配するよう算出する。
【0036】
そして、推定システム10は、各システムについて算出した数のパーティクルを、各システムに分配して(ステップS1)、各システムの状態の推定を繰り返し行う(ステップS2)。
【0037】
以上のように、推定システム10では、リスク有のシステムに対してはより多くの数のパーティクルが分配され、リスク無のシステムに対しても、最低数のパーティクルが分配されて、その後、システムの状態推定が行われこととなる。このため、リスク有のシステムに対しては多くのパーティクルによってより高精度に状態推定を行うことができ、リスク無のシステムについても推定が継続されるため、安定性と精度の高い推定を行うことができる。
【0038】
[実施例]
次に、上述した推定システム10を具体的なシステムの推定に適用した実施例について、
図5を参照して説明する。
【0039】
図5に、パーティクルフィルタを用いて状態を推定する対象となるシステムを示す。この例では、推定する対象となるシステムを複数の移動ロボットMとし、かかる複数の移動ロボットMの状態を、パーティクルフィルタを用いて並列に推定して、推定結果に応じて走行制御することとする。具体的に、この例では、
図5の左右に延びる移動路内の中央の点線で示す走行ライン上を、1000台の移動ロボットMが走行するよう制御することを目的とし、このとき、移動ロボットMの状態として、移動路内の座標、つまり、位置(x,y)と進行方向を表す角度(θ)からなる座標(x,y,θ)を推定することとする。そして、移動ロボットMに対する制御は、例えば、左右それぞれの車輪速度を制御することとする。
【0040】
これに加え、実施例においては、
図5に示すように、全体の1000mの移動路のうち、途中に10mの「橋」が設定されていることとする。なお、「橋」の幅は1.6mと他の箇所よりも狭く設定されている。そして、
図5に示すように、「橋」の手前20m及び後方1mの範囲をリスク領域と設定し、推定した移動ロボットMの座標がリスク領域に位置している場合には、リスク有と判定されることとなる。
【0041】
上述した状況において、本開示の推定システム10を適用することで、各移動ロボットMの状態である座標がパーティクルフィルタを用いて推定され、かかる座標からリスク判定が行われ、さらに、各移動ロボットMに対して分配するパーティクルの数が算出される。すると、「橋」近辺のリスク領域に位置する移動ロボットMは、リスク有と判定されるため、より多くの数のパーティクルが割り当てられることとなる。また、「橋」から離れてリスク領域外に位置する移動ロボットMは、リスク無と判定されるが、少なくとも最低数のパーティクルが割り当てられることとなる。このため、リスク有と判定された移動ロボットMについては、より多くの数のパーティクルを用いて座標の推定が行われるため、より高精度に座標を推定することができ、橋から落下しないよう制御することができる。また、リスク無と判定された移動ロボットMについては、最低数のパーティクルを用いて座標の推定が行われるため、これについても移動路内を走行するよう制御することができる。
【0042】
ここで、上記の例では、分配するパーティクルの最低数を200、最高数を3000としている。そして、1000台の移動ロボットの座標を同時に推定して走行制御した場合に、99%の移動ロボットが「橋」から落下しない、という結果を得られた。これに対して、本開示の推定システム10とは異なり、各移動ロボットMに一定数である300のパーティクルを与えて座標を推定して走行制御した場合には、88.1%の移動ロボットが「橋」から落下しない、という結果を得られた。このように、本開示における推定システム10の方が、状態を推定するにあたり安定性と精度が向上することが明らかとなった。
【0043】
<実施形態2>
次に、本開示の第2の実施形態を、
図6乃至
図7を参照して説明する。
図6乃至
図7は、実施形態2における情報処理システムの構成を示すブロック図である。なお、本実施形態では、上述した実施形態で説明した情報処理システムの構成の概略を示している。
【0044】
まず、
図6を参照して、本実施形態における情報処理システム100のハードウェア構成を説明する。情報処理システム100は、一般的な情報処理装置にて構成されており、一例として、以下のようなハードウェア構成を装備している。
・CPU(Central Processing Unit)101(演算装置)
・ROM(Read Only Memory)102(記憶装置)
・RAM(Random Access Memory)103(記憶装置)
・RAM103にロードされるプログラム群104
・プログラム群104を格納する記憶装置105
・情報処理装置外部の記憶媒体110の読み書きを行うドライブ装置106
・情報処理装置外部の通信ネットワーク111と接続する通信インタフェース107
・データの入出力を行う入出力インタフェース108
・各構成要素を接続するバス109
【0045】
なお、
図6は、情報処理システム100である情報処理装置のハードウェア構成の一例を示しており、情報処理装置のハードウェア構成は上述した場合に限定されない。例えば、情報処理装置は、ドライブ装置106を有さないなど、上述した構成の一部から構成されてもよい。また、情報処理装置は、上述したCPUの代わりに、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(TensorProcessingUnit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。
【0046】
そして、情報処理システム100は、プログラム群104をCPU101が取得して当該CPU101が実行することで、
図7に示す判定手段121と算出手段122とを構築して装備することができる。なお、プログラム群104は、例えば、予め記憶装置105やROM102に格納されており、必要に応じてCPU101がRAM103にロードして実行する。また、プログラム群104は、通信ネットワーク111を介してCPU101に供給されてもよいし、予め記憶媒体110に格納されており、ドライブ装置106が該プログラムを読み出してCPU101に供給してもよい。但し、上述した判定手段121と算出手段122とは、かかる手段を実現させるための専用の電子回路で構築されるものであってもよい。
【0047】
上記情報処理システム100は、複数のシステムの状態を推定する複数のパーティクルフィルタを構成するものである。
【0048】
上記判定手段121は、各システムの状態に基づいて、各システムの状態のリスクを判定する。例えば、判定手段は、システムの状態が予め設定されたリスク状態であるか否かを表すリスクの有無を判定する。
【0049】
上記算出手段122は、リスクに基づいて各システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全てのシステムに分配するようパーティクル数を算出する。例えば、算出手段は、リスクが高いシステムに、リスクが低いシステムよりも多い数のパーティクルが分配されるようパーティクル数を算出する。
【0050】
本開示は、以上のように構成されることにより、システムの状態から判定したリスクに基づいて、少なくとも最低数のパーティクルが全てのシステムに分配されることとなる。このため、全てのシステムについて状態の推定を継続でき、安定性と精度の高い推定を行うことができる。
【0051】
なお、上述したプログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば光磁気ディスク)、CD-ROM(Read Only Memory)、CD-R、CD-R/W、半導体メモリ(例えば、マスクROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM(Random Access Memory))を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0052】
以上、上記実施形態等を参照して本開示を説明したが、本開示は、上述した実施形態に限定されるものではない。本開示の構成や詳細には、本開示の範囲内で当業者が理解しうる様々な変更をすることができる。また、上述した判定手段121と算出手段122との機能のうちの少なくとも一以上の機能は、ネットワーク上のいかなる場所に設置され接続された情報処理装置で実行されてもよく、つまり、いわゆるクラウドコンピューティングで実行されてもよい。
【0053】
<付記>
上記実施形態の一部又は全部は、以下の付記のようにも記載されうる。以下、本開示における情報処理システム、情報処理方法、プログラムの構成の概略を説明する。但し、本開示は、以下の構成に限定されない。
(付記1)
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理システムであって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定する判定手段と、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する算出手段と、
を備えた情報処理システム。
(付記2)
付記1に記載の情報処理システムであって、
前記算出手段は、前記リスクが高い前記システムに、前記リスクが低い前記システムよりも多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
(付記3)
付記2に記載の情報処理システムであって、
前記判定手段は、前記リスクの有無を判定し、
前記算出手段は、前記リスクが無い前記システムよりも前記リスクが有る前記システムに多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
(付記4)
付記3に記載の情報処理システムであって、
前記算出手段は、前記リスクが無い前記システムに少なくとも前記最低数の前記パーティクルが分配され、前記リスクが有る前記システムに前記最低数よりも多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
(付記5)
付記4に記載の情報処理システムであって、
前記最低数と、前記最低数よりも多い数の最高数と、分配可能な前記パーティクルの総数と、が設定されており、
前記算出手段は、全ての前記システムに分配される前記パーティクルの合計数が前記総数を超えないよう、前記リスクが無い前記システムに前記最高数よりも少なく前記最低数以上の前記パーティクルが分配され、前記リスクが有る前記システムに前記最低数よりも多く前記最高数以下の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理システム。
(付記6)
付記5に記載の情報処理システムであって、
前記最低数と前記最高数とは、それぞれ前記システムに応じて異なる値が設定されている、
情報処理システム。
(付記7)
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する情報処理方法であって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定し、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する、
情報処理方法。
(付記8)
付記7に記載の情報処理方法であって、
前記リスクが高い前記システムに、前記リスクが低い前記システムよりも多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理方法。
(付記9)
付記8に記載の情報処理方法であって、
前記リスクの有無を判定し、
前記リスクが無い前記システムよりも前記リスクが有る前記システムに多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理方法。
(付記10)
付記9に記載の情報処理方法であって、
前記リスクが無い前記システムに少なくとも前記最低数の前記パーティクルが分配され、前記リスクが有る前記システムに前記最低数よりも多い数の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理方法。
(付記11)
付記10に記載の情報処理方法であって、
前記最低数と、前記最低数よりも多い数の最高数と、分配可能な前記パーティクルの総数と、が設定されており、
全ての前記システムに分配される前記パーティクルの合計数が前記総数を超えないよう、前記リスクが無い前記システムに前記最高数よりも少なく前記最低数以上の前記パーティクルが分配され、前記リスクが有る前記システムに前記最低数よりも多く前記最高数以下の前記パーティクルが分配されるようパーティクル数を算出する、
情報処理方法。
(付記12)
複数のシステムの状態を推定する複数のパーティクルフィルタを構成する処理をコンピュータに実行させるためのプログラムであって、
各前記システムの状態に基づいて、各前記システムの状態のリスクを判定し、
前記リスクに基づいて各前記システムに分配するパーティクル数を算出すると共に、少なくとも予め設定された最低数のパーティクルを全ての前記システムに分配するようパーティクル数を算出する、
処理をコンピュータに実行させるためのプログラム。
【符号の説明】
【0054】
10 推定システム
11 システム推定部
12 リスク判定部
13 パーティクル分配部
16 システムモデル記憶部
17 パーティクル情報記憶部
100 情報処理システム
101 CPU
102 ROM
103 RAM
104 プログラム群
105 記憶装置
106 ドライブ装置
107 通信インタフェース
108 入出力インタフェース
109 バス
110 記憶媒体
111 通信ネットワーク
121 判定手段
122 算出手段