(57)【特許請求の範囲】
【請求項１】
複数のエージェントを用いるシミュレーションの途中において複数の状態のそれぞれそれを取るエージェントの数を集計する集計部と、
複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の良否の予測に用いる特徴データを生成する生成部と、
前記特徴データに基づき、シミュレーション結果の良否を予測する予測部と、
複数のシミュレーション条件のそれぞれを用いて前記シミュレーションを実行する実行部と、
それぞれのシミュレーション条件を用いたシミュレーションの途中で生成された複数の特徴データと、複数の対応するシミュレーション結果に基づいて、前記予測部を学習させる学習処理部と、
前記シミュレーション結果が不良と予測されたことに応じて、前記シミュレーションを中断する中断部と、
を備え、
前記中断部は、前記複数のシミュレーション条件のシミュレーションを最後まで実行して得られた複数の評価のうち、予め定められた数の上位の評価に基づいて、前記シミュレーションを中断する基準を変更する、
情報処理装置。
【請求項２】
複数のエージェントを用いるシミュレーションの途中において複数の状態のそれぞれそれを取るエージェントの数を集計する集計部と、
複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の良否の予測に用いる特徴データを生成する生成部と、
前記特徴データに基づき、シミュレーション結果の良否を予測する予測部と、
複数のシミュレーション条件のそれぞれを用いて前記シミュレーションを実行する実行部と、
それぞれのシミュレーション条件を用いたシミュレーションの途中で生成された複数の特徴データと、複数の対応するシミュレーション結果に基づいて、前記予測部を学習させる学習処理部と、
前記シミュレーション結果が不良と予測されたことに応じて、前記シミュレーションを中断する中断部と、
を備え、
前記中断部は、前記予測部により予測された評価に応じた確率でシナリオに係るシミュレーションを中断する、
情報処理装置。
【請求項３】
複数のエージェントを用いるシミュレーションの途中において複数の状態のそれぞれそれを取るエージェントの数を集計する集計部と、
複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の良否の予測に用いる特徴データを生成する生成部と、
前記特徴データに基づき、シミュレーション結果の良否を予測する予測部と、
複数のシミュレーション条件のそれぞれを用いて前記シミュレーションを実行する実行部と、
それぞれのシミュレーション条件を用いたシミュレーションの途中で生成された複数の特徴データと、複数の対応するシミュレーション結果に基づいて、前記予測部を学習させる学習処理部と、
を備える情報処理装置。
【請求項４】
前記シミュレーション結果が不良と予測されたことに応じて、前記シミュレーションを中断する中断部を更に備える、
請求項３に記載の情報処理装置。
【請求項５】
前記中断部は、前記シミュレーションを中断したことに応じて、異なるシミュレーション条件を用いたシミュレーションを開始させる、
請求項１、２及び４のいずれか１項に記載の情報処理装置。
【請求項６】
前記予測部は、シミュレーションの最終時点における評価の予測値を算出し、算出した前記予測値に基づいてシミュレーション結果の良否を予測する、
請求項５に記載の情報処理装置。
【請求項７】
前記生成部は、シミュレーション途中の複数の時点における前記複数の状態のそれぞれを取るエージェントの数に基づいて、前記特徴データを生成し、
前記予測部は、前記複数の時点の前記エージェントの数に基づく前記特徴データから、前記シミュレーションの最終時点における評価の予測値を算出する、
請求項６に記載の情報処理装置。
【請求項８】
前記生成部は、シミュレーションの実行途中の前記評価に更に基づいて、前記特徴データを生成する、
請求項７に記載の情報処理装置。
【請求項９】
コンピュータを請求項１から８のいずれか１項に記載の情報処理装置として機能させるプログラム。
【請求項１０】
コンピュータにより実行される情報処理方法であって、
前記コンピュータの集計部が、複数のエージェントを用いるシミュレーションの途中における複数の状態のそれぞれそれを取るエージェントの数を集計する集計段階と、
前記コンピュータの生成部が、複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の良否の予測に用いる特徴データを生成する生成段階と、
前記コンピュータの予測部が、前記特徴データに基づき、シミュレーション結果の良否を予測する予測段階と、
前記コンピュータの実行部が、複数のシミュレーション条件のそれぞれを用いて前記シミュレーションを実行する実行段階と、
前記コンピュータの学習処理部が、それぞれのシミュレーション条件を用いたシミュレーションの途中で生成された複数の特徴データと、複数の対応するシミュレーション結果に基づいて、前記予測段階で用いる予測モデルを学習する学習処理段階と、
前記コンピュータの中断部が、前記シミュレーション結果が不良と予測されたことに応じて、前記シミュレーションを中断する中断段階と、
を備え、
前記中断段階において、前記複数のシミュレーション条件のシミュレーションを最後まで実行して得られた複数の評価のうち、予め定められた数の上位の評価に基づいて、前記シミュレーションを中断する基準を変更する、
情報処理方法。
【請求項１１】
コンピュータにより実行される情報処理方法であって、
前記コンピュータの集計部が、複数のエージェントを用いるシミュレーションの途中における複数の状態のそれぞれそれを取るエージェントの数を集計する集計段階と、
前記コンピュータの生成部が、複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の良否の予測に用いる特徴データを生成する生成段階と、
前記コンピュータの予測部が、前記特徴データに基づき、シミュレーション結果の良否を予測する予測段階と、
前記コンピュータの実行部が、複数のシミュレーション条件のそれぞれを用いて前記シミュレーションを実行する実行段階と、
前記コンピュータの学習処理部が、それぞれのシミュレーション条件を用いたシミュレーションの途中で生成された複数の特徴データと、複数の対応するシミュレーション結果に基づいて、前記予測段階で用いる予測モデルを学習する学習処理段階と、
前記コンピュータの中断部が、前記シミュレーション結果が不良と予測されたことに応じて、前記シミュレーションを中断する中断段階と、
を備え、
前記中断段階において、前記予測段階で予測された評価に応じた確率でシナリオに係るシミュレーションを中断する、
情報処理方法。
【請求項１２】
コンピュータにより実行される情報処理方法であって、
前記コンピュータの集計部が、複数のエージェントを用いるシミュレーションの途中における複数の状態のそれぞれそれを取るエージェントの数を集計する集計段階と、
前記コンピュータの生成部が、複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の良否の予測に用いる特徴データを生成する生成段階と、
前記コンピュータの予測部が、前記特徴データに基づき、シミュレーション結果の良否を予測する予測段階と、
前記コンピュータの実行部が、複数のシミュレーション条件のそれぞれを用いて前記シミュレーションを実行する実行段階と、
前記コンピュータの学習処理部が、それぞれのシミュレーション条件を用いたシミュレーションの途中で生成された複数の特徴データと、複数の対応するシミュレーション結果に基づいて、前記予測段階で用いる予測モデルを学習する学習処理段階と、
を備える情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、プログラム、及び、情報処理方法に関する。
【背景技術】
【０００２】
交通状態をシミュレーションする方法（例えば、特許文献１〜５）、及び、多数のエージェントに基づいてエージェントベースの交通シミュレーションをする方法が知られている（例えば、非特許文献１）。ここで、シミュレーションが実行される多数のシナリオから、良好な評価（例えば、良好なＫＰＩ：Ｋｅｙ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｉｎｄｉｃｅｓ）を与えるシナリオを特定しようとすると、全てのシナリオについて多数のエージェントの挙動等をシミュレートする必要があり、膨大な計算量が必要となる。
【０００３】
シナリオに含まれる情報からシミュレーション結果を予測することで、結果が悪いシナリオを省略して計算量を削減する手法も知られている（例えば、非特許文献２）。しかし、この方法では、十分なシミュレーション結果の予測精度が得られなかった。
［特許文献１］特開２００４−０７８４８２号公報
［特許文献２］特開２００５−２１５９０９号公報
［特許文献３］特開２０１１−１８６７４６号公報
［特許文献４］特開２０１３−１３４１５５号公報
［特許文献５］特開平７−２１４８７号公報
［非特許文献１］Gomes, G., A. May, and R. Horowitz. 2004. "Congested Freeway Microsimulation Model Using VISSIM".Transportation Research Record: Journal of the Transportation Research Board (1876): 71−81.
［非特許文献２］Beers, W. C. M. V., and J. P. C. Kleijnen. 2004. "Kriging Interpolation in Simulation: A Survey". In Proceedings of the 2004 Winter Simulation Conference, edited by R. G. Ingalls, M. D. Rossetti, J. S. Hara, Raymond, Morimura, and Muta Smith, and B. A. Peters, 113−121: Piscataway, New Jersey: Institute of Electrical and Electronics Engineers (IEEE), Inc.
【発明の概要】
【発明が解決しようとする課題】
【０００４】
エージェントベースのシミュレーションに用いる複数のシナリオのうち、良好な結果が得られるものをより少ない計算量で特定することを課題とする。
【課題を解決するための手段】
【０００５】
本発明の第１の態様においては、複数のエージェントを用いるシミュレーションの途中において複数の状態のそれぞれそれを取るエージェントの数を集計する集計部と、複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の予測に用いる特徴データを生成する生成部と、を備える情報処理装置、当該情報処理装置に用いるプログラム、及び、当該情報処理装置に用いる方法を提供する。
【０００６】
なお、上記の発明の概要は、本発明の特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００７】
【図１】本実施形態の情報処理装置１０のブロック図を示す。
【図２】本実施形態の情報処理装置１０による学習処理のフローを示す。
【図３】情報処理装置１０が処理対象とする交通規制シミュレーションの一例を示す。
【図４】交通規制シミュレーションにおける各エージェントの状況の一例を示す。
【図５】図４の状況において各状態を取るエージェント数の一例を示す。
【図６】本実施形態の情報処理装置１０による予測処理のフローを示す。
【図７】情報処理装置１０による学習及び予測処理の一例を示す。
【図８】情報処理装置１０による学習及び予測処理の別の一例を示す。
【図９】コンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【０００８】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【０００９】
図１は、本実施形態に係る情報処理装置１０のブロック図を示す。情報処理装置１０は、シミュレーション対象となるシナリオについて、エージェントベースのシミュレーションを実行する。情報処理装置１０は、複数のシナリオの一部を実行して、シミュレーション途中のエージェントの状態からシミュレーション結果の良否を予測する予測モデルを学習する。
【００１０】
そして、情報処理装置１０は、残りのシナリオについて、学習した予測モデルに基づいてシミュレーション途中のエージェントの状態からシミュレーションの評価を予測し、評価の予測結果が良好なシナリオのみ最後までのシミュレーションを実行する。情報処理装置１０は、取得部１１０、実行部１２０、集計部１３０、生成部１６０、学習処理部１７０、予測部１８０、及び、中断部１９０を備える。
【００１１】
取得部１１０は、情報処理装置１０の外部又は内部のデータベース２０から、複数のシナリオの各々についてのシミュレーション条件を取得する。例えば、取得部１１０は、学習時には学習用のシナリオについてのシミュレーション条件を取得し、予測時には予測対象のシナリオについてのシミュレーション条件を取得する。取得部１１０は、取得した複数のシミュレーション条件を実行部１２０及び生成部１６０に供給する。
【００１２】
実行部１２０は、複数のシミュレーション条件のそれぞれを用いて、複数のエージェントを用いるエージェントベースのシミュレーションを実行する。例えば、実行部１２０は、各シミュレーション条件に基づき、市街地を走行する複数の車両をエージェントとするシミュレーションを実行して、各時点の各エージェントの現在位置等の属性を算出する。また、実行部１２０は、各時点の最大渋滞長等の各シナリオについてのシミュレーションの評価を算出してよい。
【００１３】
実行部１２０は、シミュレーションに設定される最終時点に到る前の途中時点の各エージェントの属性を集計部１３０に供給する。また、実行部１２０は、シミュレーションの途中時点におけるＫＰＩ等のシミュレーションの評価を生成部１６０に供給してもよい。
【００１４】
更に実行部１２０は、学習時には、複数のシナリオについて、シミュレーション結果を学習処理部１７０に供給する。例えば、実行部１２０は、シミュレーションの最終時点における評価を学習処理部１７０に供給する。実行部１２０は、予測時には、複数のシナリオについて、シミュレーションの最終時点における評価を中断部１９０に供給してよい。
【００１５】
集計部１３０は、エージェントの属性に基づいて、シミュレーションの途中時点において複数の状態のそれぞれそれを取るエージェントの数を集計する。例えば、集計部１３０は、エージェントである車両の位置等により、複数のエージェントを予め定義された複数の状態に分類し、各状態に分類されたエージェントの数をシナリオごとに集計する。集計部１３０は、集計した結果を生成部１６０に提供する。
【００１６】
生成部１６０は、集計部１３０が集計した複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の予測に用いる特徴データを生成する。例えば、生成部１６０は、シミュレーション途中において各状態を取るエージェントの数を各要素とするベクトル又は行列を含む特徴データを各シナリオについて生成する。
【００１７】
また、生成部１６０は、更にシミュレーションの途中時点の評価及び／又はシミュレーション条件を含む特徴データを生成してもよい。生成部１６０は、生成した特徴データを学習時には学習処理部１７０に供給し、予測時には予測部１８０に供給する。
【００１８】
学習処理部１７０は、それぞれのシミュレーション条件を用いたシミュレーションの途中時点で生成された複数の特徴データと、複数の対応するシミュレーション結果に基づいて、予測部１８０を学習させる。例えば、学習処理部１７０は、複数のシナリオについての特徴データとシミュレーション結果との対応を学習して、シミュレーションの途中の特徴データからシミュレーションの結果を予測する予測モデルを学習する。学習処理部１７０は、予測モデルを予測部１８０に提供する。
【００１９】
予測部１８０は、シミュレーションの途中時点の特徴データに基づき、予測モデルを用いてシミュレーション結果の良否を予測する。例えば、予測部１８０は、各シナリオについて、特徴データを予測モデルに入力してシミュレーションの最終時点における評価の予測値を算出し、算出した予測値に基づいてシミュレーション結果の良否を予測する。予測部１８０は、予測した結果を中断部１９０に供給する。
【００２０】
中断部１９０は、シミュレーション結果が不良と予測されたことに応じて、シミュレーションを中断する。例えば、あるシナリオについてシミュレーション途中での特徴データ等に基づいて予測された評価が良好でない場合、中断部１９０は、実行部１２０に当該シナリオに係るシミュレーションを中断させる。中断部１９０は、シミュレーションを中断したことに応じて、実行部１２０に異なるシミュレーション条件を用いたシミュレーションを開始させる。
【００２１】
このように情報処理装置１０は、シミュレーションの途中時点における各状態のエージェント数に基づいて、最終時点の評価を予測する予測モデルを学習する。各状態を取るエージェント数は、全エージェントの属性と同様にシミュレーションの途中時点のエージェント全体の状況を表すが、エージェント全体の属性と比較してデータ量が非常小さい。従って、情報処理装置１０によると、より少ない計算資源を利用してシミュレーション結果を予測することができる。
【００２２】
そして、情報処理装置１０によると、予測結果に応じて、良好な結果が得られる可能性が高いシナリオのみシミュレーションを最後まで続行するので、複数のシナリオのうち、良好な結果が得られるシナリオをより効率的に特定することができる。
【００２３】
図２は、本実施形態の情報処理装置１０による学習処理のフローを示す。本実施形態において、情報処理装置１０は、Ｓ１１０〜Ｓ１７０の処理を実行することにより、シミュレーションの評価を予測する予測モデルを学習する。なお、ここでは、情報処理装置１０が、市街地を走行する複数の車両をエージェントとし、交通規制により生じる渋滞長等を評価する場合を具体例として説明するが、情報処理装置１０の処理対象はこれに限られず、他の対象（人、動植物、微生物、ロボット、又は微粒子等）の挙動をシミュレートしてもよい。
【００２４】
まず、Ｓ１１０において、取得部１１０は、情報処理装置１０の外部又は内部のデータベース２０等から、複数の学習用のシナリオについてのシミュレーション条件を取得する。例えば、取得部１１０は、Ｎ＋Ｍ個の全シナリオのうち学習対象とするＮ個のシナリオについて、市街地の予め定められた複数の道路上に設ける交通規制の条件をシミュレーション条件として取得する。
【００２５】
一例として、取得部１１０は、交通規制シミュレーションの対象区域内のＲ個の道路の交通規制についてのシミュレーション条件θ＝（θ１Ｔ，θ２Ｔ，…，θＲＴ）Ｔ∈｛０，１｝４Ｒを取得する。ここでθｉ∈｛０，１｝４（ｉ＝１，２，…，Ｒ）となり、ｉ番目の道路の条件に係るベクトルθｉは、１番目の要素θｉ１が１であれば「道路ｉに交通規制なし」を表し、２番目の要素θｉ２が１であれば「道路ｉは一方通行（一方向は通行禁止で逆方向の交通量は２倍）」を表し、３番目の要素θｉ３が１であれば「道路ｉは逆一方通行（一方向の交通量は２倍で逆方向は通行禁止）」を表し、４番目の要素θｉ４が１であれば「道路ｉは通行止め（両方向とも通行禁止）」を表す。
【００２６】
すなわち、この場合、シミュレーション条件θは、４Ｒ次元バイナリベクトルとなる。例えば、道路ｉに「道路ｉは逆一方通行」の規制が敷かれている場合、道路ｉに関する条件はθｉ＝（０，０，１，０）となる。
【００２７】
取得部１１０は、シミュレーション条件として、複数のエージェントの初期状態等を含むシミュレーション条件を取得してもよい。取得部１１０は、取得した複数のシミュレーション条件を実行部１２０及び生成部１６０に供給に提供する。
【００２８】
次に、Ｓ１２０において、実行部１２０は、複数のシミュレーション条件のうちの実行対象となる１つのシミュレーション条件について、複数のエージェントを用いるエージェントベースのシミュレーションを最終時点まで実行する。例えば、実行部１２０は、実行対象のシミュレーション条件に係る交通規制が敷かれた状況下で、市街地を走行する複数の車両をエージェントとする交通規制シミュレーションを実行する。
【００２９】
実行部１２０は、シミュレーションの途中時点における、各エージェントの状況及び動作等を含む複数のエージェントの属性を取得する。例えば、実行部１２０は、交通規制シミュレーションの途中時点における各エージェントの現在位置、及び、目的地等を属性として取得する。
【００３０】
実行部１２０は、シミュレーションの途中の一時点又は複数時点において各エージェントの属性を取得してよい。例えば、実行部１２０がエージェントの６０分間の挙動をシミュレートする場合、実行部１２０は、中間時点であるシミュレーション開始後３０分時点の各エージェントの属性を取得してよい。
【００３１】
また、例えば、シミュレーション長さが６０分である場合、実行部１２０は、シミュレーション開始後１０分、開始後２０分、開始後３０分までの各時点で各エージェントの属性を取得してよい。実行部１２０は、途中時点における各エージェントの属性を集計部１３０に供給する。
【００３２】
また、実行部１２０は、シミュレーションの最終時点、若しくは、途中時点及び最終時点における、シミュレーションの評価を算出してよい。実行部１２０は、途中時点として、エージェントの属性の取得と同じ時点でシミュレーションの評価を算出してよい。例えば、実行部１２０は、途中時点として、交通規制シミュレーションの途中の１時点又は複数時点において発生した渋滞長さを算出してよい。実行部１２０は、各時点について複数種類の評価を算出してよい。例えば、実行部１２０は、複数種類の評価として市街地の中心部の渋滞長さ、及び、市街地の郊外の渋滞長さを算出してよい。
【００３３】
一例として、シミュレーション長さが６０分である場合、実行部１２０は、シミュレーション開始後１０分（途中時点）、開始後２０分（途中時点）、開始後３０分（途中時点）、及び、開始後６０分（最終時点）におけるシミュレーションの評価を、ζ１０ｍｉｎ、ζ２０ｍｉｎ、ζ３０ｍｉｎ、及びζ６０ｍｉｎとしてそれぞれ取得し、シミュレーション途中の評価ζＫＰＩ＝｛ζ１０ｍｉｎ，ζ２０ｍｉｎ，ζ３０ｍｉｎ｝を生成してよい。
【００３４】
実行部１２０は、シミュレーションの最終時点における評価を学習処理部１７０に供給する。また、実行部１２０は、シミュレーションの途中時点におけるシミュレーションの評価ζＫＰＩを生成部１６０に供給してよい。
【００３５】
次に、Ｓ１３０において、集計部１３０は、シミュレーションの途中において複数の状態のそれぞれそれを取るエージェントの数を集計する。例えば、まず、集計部１３０は、エージェントの属性が得られた時点ごとに、複数のエージェントのそれぞれを、属性に基づいて予め定められた状態のいずれかに割り当てる。そして集計部１３０は、複数の状態のそれぞれそれを取るエージェントの数を集計する。
【００３６】
一例として、集計部１３０は、シミュレーション途中の時点ｑ（ｑ∈Ｑ｜Ｑは１以上の整数）において「道路ｉに侵入した状態」にあるエージェント数（車両数）を集計してよい。同様に集計部１３０は、時点ｑにおいて「道路ｉから退出した状態」にあるエージェント数を集計してよい。また、集計部１３０は、時点ｑにおいて「道路ｉに滞在中の状態」にあるエージェント数を集計してよい。集計部１３０は、集計した結果を生成部１６０に提供する。
【００３７】
次に、Ｓ１４０において、生成部１６０は、集計部１３０が集計した複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の予測に用いる特徴データを生成する。例えば、生成部１６０は、１又は複数の時点における複数の状態のそれぞれを取るエージェントの数に基づいて、特徴データを生成する。
【００３８】
一例として、生成部１６０は、途中時点ｑ（ｑ∈Ｑ｜Ｑは１以上の整数）において「道路ｉ（ｉ∈Ｒ）に侵入した状態」にあるエージェント数を要素ζＩｎ，ｉ，ｑとして有するＲ×Ｑ行列ζＩｎを生成し、時点ｑにおいて「道路ｉから退出した状態」にあるエージェント数（車両数）を要素ζＯｕｔ，ｉ，ｑとして有するＲ×Ｑ行列ζＯｕｔを生成し、時点ｑにおいて「道路ｉに滞在中の状態」にあるエージェント数（車両数）を要素ζＳｔａｙ，ｉ，ｑとして有するＲ×Ｑ行列ζＳｔａｙを生成し、これらから特徴データｘ＝｛ζＩｎ，ζＯｕｔ，ζＳｔａｙ｝を生成してよい。
【００３９】
また、生成部１６０は、シミュレーションの途中時点の評価及び／又はシミュレーション条件を更に含む特徴データｘを生成してもよい。一例として、生成部１６０は、シミュレーション条件θ及びシミュレーションの途中時点の評価ζＫＰＩに基づいて、特徴データｘ＝｛θ、ζＫＰＩ、ζＩｎ，ζＯｕｔ，ζＳｔａｙ｝を生成してよい。生成部１６０は、生成した特徴データｘを学習処理部１７０に供給する。
【００４０】
次に、Ｓ１５０において、実行部１２０は、全ての学習対象のシナリオについてのシミュレーションが終了したかを判断する。全ての学習対象のシナリオのシミュレーションが終了したと判断する場合、実行部１２０は処理をＳ１７０に進め、そうでない場合はＳ１６０に進める。
【００４１】
Ｓ１６０において、実行部１２０は、学習対象のシナリオのうち未だシミュレーションを実行していない新しいシナリオの処理を開始する。実行部１２０は、新しいシナリオについて再びＳ１２０の処理を開始する。
【００４２】
Ｓ１７０において、学習処理部１７０は、複数の学習用のシナリオのシミュレーションを実行した結果を利用して、各シナリオの特徴データからシミュレーションの結果を予測する予測モデルを学習する。例えば、学習処理部１７０は、カーネルリッジ回帰を用いて予測モデルを学習してよい。
【００４３】
一例として、学習処理部１７０は、数式１に基づいて特徴データｘから、シミュレーションの評価ｇ＾ｐ（ｘ）を予測する予測モデルを生成する。ここで、ｐは、予測モデルにおける評価の種類を示す。すなわち、学習処理部１７０は、ｐ∈ＰとなるＰ個の評価について、それぞれ予測モデルを生成してよい。
【数１】
0005984155.tif 000002
【００４４】
ここで、Ｊは特徴データにおける特徴の種類数（例えば、特徴データｘ＝｛θ，ζＫＰＩ，ζＩｎ，ζＯｕｔ，ζＳｔａｙ｝であれば５種類であり、ｘ１＝θ、ｘ２＝ζＫＰＩ、ｘ３＝ζＩｎ、ｘ４＝ζＯｕｔ、ｘ５＝ζＳｔａｙとなる）を示し、Ｌはカーネル関数の数を示し、αｌｊ及びβは実数パラメータを示す。ｋ（・）はガウシアンカーネル関数であり、例えば、ｋs（ｗ，ｗ'）＝ｅｘｐ（−｜｜ｗ−ｗ'｜｜２／２σ２）である。σはガウシアンカーネルの幅パラメータである。また、ｕｊ（ｌ）は、ｘｊに対応するｌ番目のカーネル中心である。例えば、ｕｊ（ｌ）は、トレーニングデータでありｘｊ（ｌ）がセットされる。この場合、Ｎ＝Ｌとなる。
【００４５】
学習処理部１７０は、数式２を最適化することに基づいて、シミュレーションの最終時点の評価ｇ＾ｐ（ｘ）を予測する予測モデルを学習する。
【数２】
0005984155.tif 000003
【００４６】
ここで、ｙｐ（ｎ）はｎ番目のシナリオ（ｎ∈Ｎ）において得られた最終時点のシミュレーションの評価を示し、ｘ（ｎ）はｎ番目のシナリオにおける特徴データを示し、ＡはＡｌｊ＝αｌｊとなる要素を含む行列であり、｜｜・｜｜Ｆは行列のフロベニウスノルムを示し、ρは非負の正則化パラメータを示す。すなわち、学習処理部１７０は、最終的なシナリオの評価ｙｐと予測される評価ｇ＾ｐ（ｘ）との差の学習用の全シナリオの総和、及び、｜｜Ａ｜｜Ｆ２で示される罰則項の和が最小となるような、行列Ａ及びβを学習する。
【００４７】
学習処理部１７０は、行列Ａ及びβを、数式３及び数式４により解析的に算出してよい。
ｖｅｃ（Ａ）＝（ＧＴＨＮＧ＋ＮρＩＬＪ）−１ＧＴＨＮＹｐ＝ＧＴＨＮ（ＨＮＧＧＴＨＮ＋ＮρＩＮ）−１Ｙｐ  …数式３
β＝１ＮＴ（Ｙｐ−Ｇｖｅｃ（Ａ））／Ｎ  …数式４
【００４８】
ここで、Ｙｐは（ｙｐ（１），ｙｐ（２），…，ｙｐ（Ｎ））Ｔを示し、Ｇは（ｖｅｃ（Ｋ（ｘ（１））），ｖｅｃ（Ｋ（ｘ（２））），…，ｖｅｃ（Ｋ（ｘ（Ｎ））））を示し、ｖｅｃ（・）はベクトル化演算子を示し、１Ｎは全要素の値が１のＮ次元ベクトルを示し、ＩＮはＮ×Ｎの単位行列を示し、ＩＬＪはＬＪ×ＬＪの単位行列を示し、ＨＮはＩＮ−１Ｎ１ＮＴ／Ｎを示す。正則化パラメータ及び幅パラメータσはユーザが予め設定してよく、交差検証のようなモデル選択法で決定してもよい。
【００４９】
学習処理部１７０は、学習した予測モデルを予測部１８０に提供する。例えば、学習処理部１７０は、数式１〜４に基づいて学習した行列Ａ及びβ等を予測部１８０に供給する。
【００５０】
このように情報処理装置１０は、複数の学習用のシナリオのシミュレーションを実行した結果を利用して、シミュレーションの途中における各状態のエージェント数に基づき、シミュレーションの最終時点の評価ｙｐを予測する予測モデルｇ＾ｐ（ｘ）を学習する。
【００５１】
図３は、情報処理装置１０が処理対象とする交通規制シミュレーションの一例を示す。例えば、実行部１２０は、シミュレーション条件をそれぞれ規定する複数のシナリオについて、図３に示すような市街地の交通状況をシミュレートする。例えば、実行部１２０は、シミュレーション開始から６０分後における市街地の中心部（図中の点線内側領域）において発生する渋滞の距離の総和、又は、市街地の郊外（図中の点線外側領域）において発生する渋滞の距離の総和等を、シミュレーションの最終時点の評価（ＫＰＩ）として算出してよい。
【００５２】
図４は、交通規制シミュレーションにおける途中の時点ｑにおける各エージェントの状況の一例を示す。実行部１２０は、複数のエージェントとしてＡ〜Ｄの道路上に存在する４台の車両の属性及び動作等をシミュレートする。図示するように、ある１台の車両は道路Ａ上で停止し、別の１台の車両は道路ＡからＣに移動し、別の１台の車両は道路ＢからＤに移動し、別の１台の車両は道路Ｄ上を移動している。集計部１３０は、４台の車両の現在位置、移動元、速度、及び、目的地等の属性から、これらの車両を複数の状態に割り当てる。
【００５３】
図５は、図４の状況において各状態を取るエージェント数の一例を示す。例えば、集計部１３０は、図４の状況から、「道路Ａに侵入した状態」にあるエージェント数ζＩＮ，Ａ，ｑ＝０を集計し、「道路Ｂに侵入した状態」にあるエージェント数ζＩＮ，Ｂ，ｑ＝０を集計し、「道路Ｃに侵入した状態」にあるエージェント数ζＩＮ，Ｃ，ｑ＝１を集計し、「道路Ｄに侵入した状態」にあるエージェント数ζＩＮ，Ｄ，ｑ＝１を集計する。
【００５４】
また、集計部１３０は、図４の状況から、「道路Ａから退出した状態」にあるエージェント数ζＯｕｔ，Ａ，ｑ＝１を集計し、「道路Ｂから退出した状態」にあるエージェント数ζＯｕｔ，Ｂ，ｑ＝１を集計し、「道路Ｃから退出した状態」にあるエージェント数ζＯｕｔ，Ｃ，ｑ＝０を集計し、「道路Ｄから退出した状態」にあるエージェント数ζＯｕｔ，Ｄ，ｑ＝０を集計する。
【００５５】
また、集計部１３０は、図４の状況から、「道路Ａに滞在した状態」にあるエージェント数ζＳｔａｙ，Ａ，ｑ＝１を集計し、「道路Ｂに滞在した状態」にあるエージェント数ζＳｔａｙ，Ｂ，ｑ＝０を集計し、「道路Ｃに滞在した状態」にあるエージェント数ζＳｔａｙ，Ｃ，ｑ＝０を集計し、「道路Ｄに滞在した状態」にあるエージェント数ζＳｔａｙ，Ｄ，ｑ＝１を集計する。
【００５６】
図６は、本実施形態の情報処理装置１０による予測処理のフローを示す。本実施形態において、情報処理装置１０は、Ｓ２１０〜Ｓ２９０の処理を実行することにより、予測対象のシナリオについて、シミュレーションの最終時点の評価を予測しつつ、予測結果が良好な一部のシナリオについてのみ最終時点までのシミュレーションを実行する。
【００５７】
まず、Ｓ２１０において、取得部１１０は、情報処理装置１０の外部又は内部のデータベース２０等から、複数の予測対象のシナリオについてのシミュレーション条件を取得する。例えば、取得部１１０は、Ｎ＋Ｍ個の全シナリオのうち学習対象のＮ個のシナリオに含まれなかったＭ個のシナリオについて、市街地の予め定められた複数の道路上に設ける交通規制の条件をシミュレーション条件として取得する。取得部１１０は、Ｓ１１０の学習用のシナリオに対する処理と同様に、Ｓ２１０の処理を実行してよい。
【００５８】
次にＳ２２０において、実行部１２０は、予測対象のシナリオに係る複数のシミュレーション条件のうちの１つのシミュレーション条件を実行対象として、Ｓ１２０と同様にシミュレーションを実行する。ここで、実行部１２０は、最終時点までシミュレーションを実行せずに途中の時点までのシミュレーションを実行する。例えば、実行部１２０は、Ｓ１３０においてエージェント数が集計された時点（例えば、６０分長のシミュレーションの場合は、開始後３０分時点）までのシミュレーションを実行する。
【００５９】
実行部１２０は、シミュレーションの途中時点における、各エージェントの状況及び動作等を含む複数のエージェントの属性を取得する。実行部１２０は、途中時点における各エージェントの属性を集計部１３０に供給する。また、実行部１２０は、Ｓ１２０と同様に、シミュレーションの１又は複数の途中時点における評価を算出して、生成部１６０に供給してよい。
【００６０】
次にＳ２３０において、集計部１３０はＳ１３０と同様にシミュレーションの途中において複数の状態のそれぞれそれを取るエージェントの数を集計する。集計部１３０は、集計した結果を生成部１６０に提供する。
【００６１】
次にＳ２４０において、生成部１６０は、集計部１３０が集計した複数の状態のそれぞれを取るエージェントの数に基づいて、シミュレーションの結果の予測に用いる特徴データを生成する。生成部１６０は、Ｓ１４０と同様の処理を実行して特徴データを生成してよい。生成部１６０は、生成した特徴データを予測部１８０に提供する。
【００６２】
次にＳ２５０において、予測部１８０は、シミュレーションの途中の特徴データに基づき、予測モデルを用いてシミュレーション結果の良否を予測する。例えば、予測部１８０は、シミュレーション途中の１又は複数の時点のエージェントの数に基づく特徴データから、シミュレーションの最終時点における評価の予測値を算出してよい。
【００６３】
一例として、まず、予測部１８０は、学習された行列Ａ及びβが反映された数式１に、特徴データｘ＝｛θ，ζＫＰＩ，ζＩｎ，ζＯｕｔ，ζＳｔａｙ｝を代入した計算を実行することで、シミュレーションの最終時点の評価ｇ＾ｐ（ｘ）（例えば、渋滞長さ）を予測する。予測部１８０は、予測した評価の値を中断部１９０に供給する。
【００６４】
次にＳ２６０において、中断部１９０は、予測部１８０が予測した評価を「良好」とするか判断する。例えば、中断部１９０は、予測された評価が予め定められた閾値以上（又は閾値未満）であれば評価が良好であると判断し、評価が予め定められた閾値未満（又は閾値以上）であれば評価が良好でないと判断してよい。例えば、中断部１９０は予測された渋滞長さが所定未満であれば評価が良好であると判断してよい。
【００６５】
判断結果が「良好」であった場合、中断部１９０は、実行部１２０によるシミュレーションを再開させるために処理をＳ２７０に進める。中断部１９０は、判断結果が「良好」でない場合、実行部１２０によるシミュレーションを中断させるために処理をＳ２８０に進めて、実行中のシナリオに係るシミュレーションを中断してよい。
【００６６】
また、例えば、中断部１９０は、複数のシミュレーション条件のシミュレーションを実行部１２０が最後まで実行して得られた複数の評価のうち、予め定められた数の上位の評価に基づいて、シミュレーションを中断する基準となる閾値を変更してよい。一例として、中断部１９０は、実行済みのシミュレーションに係る評価の中で、予め定められた順位の評価を閾値としてよい。
【００６７】
また、例えば、中断部１９０は、予測部１８０により予測された評価に応じた確率で、処理をＳ２８０に進めることにより、確率的に実行中のシナリオに係るシミュレーションを中断してよい。
【００６８】
Ｓ２７０において、実行部１２０は、途中時点からシミュレーションを再開し、シミュレーションを最終時点まで実行する。これにより、実行部１２０は、予測部１８０により結果が良好であると予測されたシナリオについてのみ、最終時点までのシミュレーションを実行する。実行部１２０は、シミュレーションを最後まで実行して得られた評価を中断部１９０に供給してよく、これにより中断部１９０はシミュレーションの最終時点までの評価に基づいて閾値を変更することができる。
【００６９】
Ｓ２８０において、中断部１９０は予測対象のＭ個のシナリオについてシミュレーションが終了したか判断する。中断部１９０は、シミュレーションが終了したと判断する場合、処理を終了し、そうでない場合は処理をＳ２９０に進める。シミュレーションが終了したと判断する場合、実行部１２０は、図２でシミュレーションを実行したＮ個の学習対象のシナリオ及びＭ個の予測対象のシナリオのうち、最終時点における評価が良好（例えば、評価が所定の順位内、又は、評価が所定の値以上）であったシナリオを選出してよい。
【００７０】
Ｓ２９０において、中断部１９０は、実行部１２０によりシミュレーションを実行中のシナリオについて、途中時点からシミュレーションを再開させずに中断させる。実行部１２０は、シミュレーションが中断されたことに応じて、予測対象のシナリオのうち未だシミュレーションを実行していない新しいシナリオの処理を開始する。実行部１２０は、新しいシナリオについて再びＳ２２０の処理を実行する。
【００７１】
このように、情報処理装置１０は、学習処理部１７０が生成した予測モデルを利用して、シミュレーションの途中における各状態のエージェント数に基づく特徴データｘに基づき、シミュレーションの最終時点の評価ｙｐを予測する。これにより、情報処理装置１０は、複数のシナリオのシミュレーションを実行する際に、シミュレーション途中で予測された最終時点の評価が悪い場合は当該シナリオを中断することにより、結果が良好なシナリオを特定するために無駄な計算資源が消費されることを防ぐことができる。
【００７２】
なお、本図の説明では、情報処理装置１０がシナリオ１つずつについて途中までのシミュレーションを行い、シミュレーションを中断するか再開するか判断していく形態を示した。これに代えて、情報処理装置１０は全ての予測対象のシナリオについて途中までのシミュレーションを行い、その時点の全シナリオについての最終時点の評価の予測に基づいて最後まで実行するシナリオを選択してもよい。
【００７３】
図７は、情報処理装置１０による学習及び予測処理の一例を示す。図中のグラフの横軸は複数のシナリオのそれぞれを示し、縦軸は各シナリオのシミュレーションを実行した結果の最終時点の評価を示す。本例では、情報処理装置１０は、評価が一定以上となるシナリオを全て特定することを目的とすることを想定する。情報処理装置１０は、図示するようにシミュレーション対象の全シナリオについて、学習用のシナリオと予測対象のシナリオとに区別して処理する。
【００７４】
例えば、情報処理装置１０は、まず最初に全シナリオのうちの一部を学習用のシナリオとして、図２に係る学習処理を実行して予測モデルを生成する。情報処理装置１０は、学習用のシナリオを実行部１２０が実行したことに応じて、縦棒グラフに示すような各シナリオについてのシミュレーションの最終時点の評価を得る。
【００７５】
次に、情報処理装置１０は、全シナリオのうちの残りの部分を予測対象のシナリオとして、予測モデルに基づき図６に係る予測処理を実行する。ここで、情報処理装置１０の中断部１９０は、シミュレーションの途中で予測される最終時点の評価（図中の点線の縦棒グラフに対応）が一定の中止基準よりも小さい場合、シミュレーションの実行を途中で中断し、実行部１２０が別のシナリオのシミュレーションを開始する。これにより、情報処理装置１０は、悪い結果が予測される一部のシナリオのシミュレーション（点線の縦棒グラフのシナリオ）の実行を途中で省略することができる。
【００７６】
図８は、情報処理装置１０による学習及び予測処理の別の一例を示す。図中のグラフの横軸及び縦軸は図７と共通である。本例では、情報処理装置１０が、全シナリオから結果が良好な予め定められた数のシナリオ（例えば、評価が上位１０位以内に含まれる１０個のシナリオ）を特定することを目的とする。
【００７７】
情報処理装置１０は、図７の場合と同様に学習用のシナリオのシミュレーションを実行して予測モデルを生成する。情報処理装置１０は、シミュレーションの途中で予測される最終時点の評価が選出対象の上位シナリオ（例えば、上位１０位）に入らないと判断するとシミュレーションの実行を中断する。ここで、予測対象のシナリオの処理が進むにつれて、良好な評価を与えるシナリオが蓄積されるので、上位シナリオに含まれるための基準は高くなる。
【００７８】
従って、情報処理装置１０の中断部１９０は、予測対象のシナリオのシミュレーションが進むについて、シミュレーションの中止基準となる閾値をより厳しい方向に変更してよい。例えば、情報処理装置１０の中断部１９０は、その時点における選択対象の上位シナリオの評価（例えば、その時点における上位１０位のシナリオの評価）を、シミュレーションの実行を中断するための中止基準としてよい。
【００７９】
また、例えば、中断部１９０は、中止基準にマージンを持たせるために、その時点における選択対象の上位シナリオから予め定められた順位分（例えば１０位分）下位側の評価（例えば、その時点における上位２０位のシナリオの評価）、又は、上位シナリオから予め定められた値分低い評価等を、シミュレーションの実行を中断するための中止基準としてよい。
【００８０】
本例によると、中断部１９０は、図示するように予測対象のシナリオの処理が進むについて、中止基準を引き上げるように徐々に変更する。これにより、中断部１９０は、シナリオの処理が進むについて無駄なシナリオの処理のシミュレーションを大幅に省略することができる。
【００８１】
図９は、情報処理装置１０として機能するコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部を備える。
【００８２】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００８３】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信インターフェイスは、通信を行うハードウェアとして機能する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００８４】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続するとともに、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００８５】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００８６】
コンピュータ１９００にインストールされ、コンピュータ１９００を情報処理装置１０として機能させるプログラムは、取得モジュール、実行モジュール、集計モジュール、生成モジュール、学習処理モジュール、予測モジュール、及び、中断モジュールを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、取得部１１０、実行部１２０、集計部１３０、生成部１５０、学習処理部１７０、予測部１８０、及び、中断部１９０としてそれぞれ機能させてよい。
【００８７】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である取得部１１０、実行部１２０、集計部１３０、生成部１５０、学習処理部１７０、予測部１８０、及び、中断部１９０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置１０が構築される。
【００８８】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００８９】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０及び外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。
【００９０】
例えば、情報処理装置１０の記憶部は、取得部１１０、実行部１２０、集計部１３０、生成部１５０、学習処理部１７０、予測部１８０、及び、中断部１９０から受け取った／へ提供するデータを適宜記憶してよい。例えば、記憶部は、取得部１１０から入力されたデータを受け取って記憶してよい。また、記憶部は、学習処理部１７０が学習した結果等を記憶してよい。
【００９１】
なお、本実施形態の説明において、一の構成要素（例えば、取得部１１０）から別の構成要素（例えば、実行部１２０）に情報（例えば、複数のシミュレーション条件）を供給したと記載するときは、一の構成要素から別の構成要素に直接情報を受け渡すことだけでなく、記憶部への情報の格納及び情報の読み出しを介して情報を渡すことをも含んでよい。
【００９２】
本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００９３】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすか否かを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００９４】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００９５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９６】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【００９７】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。例えば、明細書の実施形態に要素Ａ、要素Ｂ、及び要素Ｃを備える発明が記載されている場合、他に特段の記載がなければ、要素Ａのみ、要素Ｂのみ、要素Ｃのみ、要素ＡとＢのみ、要素ＡとＣのみ、及び要素ＢとＣのみの発明が意図される。
【００９８】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９９】
１０  情報処理装置、２０  データベース、１１０  取得部、１２０  実行部、１３０  集計部、１５０  生成部、１７０  学習処理部、１８０  予測部、１９０  中断部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスクドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＣＤ−ＲＯＭドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＣＤ−ＲＯＭ
【図１】
0005984155.tif 000004
【図２】
0005984155.tif 000005
【図３】
0005984155.tif 000006
【図４】
0005984155.tif 000007
【図５】
0005984155.tif 000008
【図６】
0005984155.tif 000009
【図７】
0005984155.tif 000010
【図８】
0005984155.tif 000011
【図９】
0005984155.tif 000012