【文献】
飯田祐三、外10名,マイクロシミュレーションアプローチによる都市交通計画のための交通需要予測システムの提案,土木計画学研究・論文集 [ONLINE],日本,社団法人 土木学会,2000年12月31日,第17巻(2000),p.841−847,[検索源:J−STAGE]
【文献】
山崎淳城、外1名,マルチエージェントシミュレーションのための地理空間情報の知識再構成,電子情報通信学会技術研究報告 知能ソフトウェア工学,日本,一般社団法人電子情報通信学会,2013年 9月 5日,第113巻,第215号,p.77−82
【文献】
日高健、外2名,集計データの統合による都市内の移動行動データ生成,土木学会論文集D3(土木計画学) [ONLINE],日本,公益社団法人 土木学会,2016年12月20日,第72巻,第4号,p.324−343,[検索源:J−STAGE]
(58)【調査した分野】(Int.Cl.,DB名)
各エリアの属性別の人口データを表す統計データに基づいて、各エリアに対して、属性毎に前記属性を有する人物であって、前記エリアに居住する人物を表すエージェントを、前記エリアの前記属性の人口データに応じた数だけ生成するエージェント生成手段と、
属性別に予め学習した、複数の行為のペアの各々についての前記ペアの一方の行為から他方の行為への遷移確率に基づいて、前記エージェント生成手段によって生成されたエージェントの各々について、各時間帯の行為からなる行為系列を生成する行為系列生成手段と、
前記エージェント生成手段によって生成されたエージェントの各々について、前記複数の行為の各々について予め学習した、エリアのペアの各々についての前記ペアの一方のエリアから他方のエリアを目的地として選択する目的地選択確率と、前記行為系列生成手段によって前記エージェントについて生成された前記行為系列とに基づいて、各時間帯の目的地となるエリアからなる目的地系列を生成する目的地系列生成手段と、
前記エージェント生成手段によって生成されたエージェントの各々について、前記行為系列生成手段によって前記エージェントについて生成された前記行為系列及び前記目的地系列生成手段によって前記エージェントについて生成された前記目的地系列を出力する出力手段と、
を含む人物動態計算装置。
前記属性、前記行為、及び前記時間帯の組み合わせ毎に予め用意された、前記属性を有する人物のうちの、前記時間帯に前記行為をした人物の割合を表す時間帯別行為者率データと、前記属性及び前記行為の組み合わせ毎に予め用意された、前記属性を有する人物のうちの、1日に前記行為をした人物の割合を表す1日行為者率データとに基づいて、属性別に、前記遷移確率を学習する遷移確率学習手段を更に含む請求項1記載の人物動態計算装置。
予め用意された、各エリアにおいて各行為に関連する施設の物理量を表す施設分布データと、前記行為系列生成手段によって前記エージェントの各々について生成された前記行為系列に基づいて前記エリア及び前記行為の組み合わせについて求められる、前記エリアに居住している人物のうち、前記行為を行う人数とに基づいて、前記複数の行為の各々について、前記行為を行った人物がエリアのペアの一方から他方へ移動する人数をモデル化したモデルを用いて、前記目的地選択確率を学習する目的地選択確率学習手段を更に含む請求項1又は2記載の人物動態計算装置。
予め用意された、各エリアにおいて各行為に関連する施設の物理量を表す施設分布データと、前記行為系列生成手段によって前記エージェントの各々について生成された前記行為系列に基づいて前記エリア及び前記行為の組み合わせについて求められる、前記エリアに居住している人物のうち、前記行為を行う人数とに基づいて、前記複数の行為の各々について、前記行為を行った人物がエリアのペアの一方から他方へ移動する人数をモデル化したモデルを用いて、前記モデルのパラメータの各値を適用したときの前記目的地選択確率を各々学習し、
前記モデルのパラメータの各値を適用したときの前記目的地選択確率のうち、予め用意された、前記時間帯及び前記エリアの組み合わせの各々についての人口を表す時間帯別エリア別人口データと適合する、前記目的地選択確率を選択する目的地選択確率学習手段を更に含む請求項1又は2記載の人物動態計算装置。
【発明を実施するための形態】
【0020】
以下、図面を参照して本発明の実施の形態を詳細に説明する。なお、本実施の形態においては、Tを時間の分割数、Kを行為の種類、Lをエリアの数、y
(0)…y
(T−1)を時間帯別行為者率(K要素)、A
(0)…A
(T−2)を時間帯別行為遷移確率行列(K×K要素)、α
k(t)を時間帯別行為遷移確率行列のk番目の行ベクトル(K要素)又は時刻t−1における行為がkのときの時刻tの行為の遷移確率、P
kを行為kの目的地選択確率行列(K×K要素)、p
lkを行為kの目的地選択確率行列のl番目の行ベクトル(L要素)又は時刻t−1の場所がlのときの時刻tの目的地選択確率、k
(0)…k
(T−1)を行為系列、l
(0)…l
(T−1)を目的地系列と定義する。
【0021】
<第1の実施の形態に係る人物動態計算システムの構成>
まず、本発明の第1の実施の形態に係る人物動態計算システムの構成について説明する。本発明の第1の実施の形態に係る人物動態計算システムは、後述する確率学習装置100と、人物動態計算装置200とを含んで構成されている。
【0022】
<第1の実施の形態に係る確率学習装置の構成>
次に、本発明の第1の実施の形態に係る確率学習装置100の構成について説明する。
図1に示すように、本発明の実施の形態に係る確率学習装置100は、CPUと、RAMと、後述する確率学習処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この確率学習装置100は、機能的には
図1に示すように入力部10と、演算部20と、出力部90とを備えている。
【0023】
入力部10は、属性別に1日に行為をした人物の割合を示す1日行為者率データと、パラメータβ
iと、属性別及び時間帯別に行為をした人物の割合を表す時間帯別行為者率データと、後述する人物動態計算装置200における前回の処理において生成された行為系列から得られる各エリアの行為別発生量と、施設数の分布を表す施設分布データと、を受け付ける。
【0024】
演算部20は、1日行為者率データ記憶部24と、時間帯別行為者率データ記憶部26と、行為別発生量記憶部28と、施設分布データ記憶部30と、時間帯別行為遷移確率行列学習部40と、時間帯別行為遷移確率行列記憶部42と、行為別目的地選択確率行列学習部44と、行為別目的地選択確率行列記憶部46とを含んで構成されている。
【0025】
1日行為者率データ記憶部24は、入力部10において受け付けた1日行為者率データが記憶されている。
【0026】
時間帯別行為者率データ記憶部26は、入力部10において受け付けた時間帯別行為者率データが記憶されている。なお、時間帯別行為者率データとしては、総務省の社会生活基本調査データ等を用いればよい。
【0027】
行為別発生量記憶部28は、入力部10において受け付けた各エリアの行為別発生量が記憶されている。なお、ここで、行為別発生量とは、人物動態計算装置200において生成されたエージェントの各々についての行為系列から得られるものであり、各エリアについて、居住メッシュが当該エリアであるエージェントのうち、当該行為を行うエージェントの数を表す。
【0028】
施設分布データ記憶部30は、入力部10において受け付けた施設分布データが記憶されている。施設分布データは、各エリアにおいて各行為に関連する施設数を表している。なお、施設分布データは、各エリアにおいて各行為に関連する施設の人数を表すものであってもよい。また、施設分布データは、各エリアにおいて各行為に関連する施設の売場面積、売上等を表していてもよい。また、施設数が施設の物理量の一例である。
【0029】
時間帯別行為遷移確率行列学習部40は、1日行為者率データ記憶部24に記憶されている1日行為者率データと、時間帯別行為者率データ記憶部26に記憶されている時間帯別行為者率データと、入力部10において受け付けたパラメータβ
iとに基づいて、属性ごとに時間帯別行為遷移確率行列A
(0)…A
(T−2)を学習し、時間帯別行為遷移確率行列記憶部42に記憶すると共に、出力部90に出力する。なお、時間帯別行為遷移確率行列は、複数の行為のペアの各々についてのペアの一方の行為から他方の行為への遷移確率を表したものである。
【0030】
時間帯別行為遷移確率行列は、属性ごとに、下記(1)式に示す2次計画問題を解くことによって学習される。具体的には、時間帯別行為者率データ記憶部26に記憶されている当該属性における時間帯別行為者率データy
(0)…y
(T−1)と、入力部10において受け付けたパラメータβ
iとに基づいて、下記(1)式に示す2次計画問題を解き、その結果得られた時間帯別行為遷移確率行列A
(0)…A
(T−2)を用いて、人物動態計算装置200と同様に、シミュレーションを行う。そして、シミュレーション結果を集計して、当該属性を有する人物における1日の行為者率を算出し、当該属性における1日の行為者率と、1日行為者率データ記憶部24に記憶されている当該属性における1日行為者率データとを比較する。比較した結果、誤差が予め定められた範囲内である場合には、当該処理によって得られた当該属性における時間帯別行為遷移確率行列を、当該属性における時間帯別行為遷移確率行列A
(0)…A
(T−2)と確定する。一方、比較した結果、誤差が予め定められた範囲外である場合には、適当な値に変更したパラメータβ
iの値を入力部10において受け付けて、下記(1)式に示す2次計画問題を解く処理、及びシミュレーションを行う処理、1日の行為者率を算出する処理、及び比較処理を繰り返し実行する。
【0032】
時間帯別行為遷移確率行列記憶部42は、時間帯別行為遷移確率行列学習部40により、属性ごとに学習された時間帯別行為遷移確率行列が記憶される。
【0033】
行為別目的地選択確率行列学習部44は、行為別発生量記憶部28に記憶されている行為別発生量と、施設分布データ記憶部30に記憶されている施設分布データとに基づいて、行為ごとに目的地選択確率行列を学習し、学習された結果を行為別目的地選択確率行列として、行為別目的地選択確率行列記憶部46に記憶すると共に、出力部90に出力する。なお、行為別目的地選択確率行列は、エリアのペアの各々についてのペアの一方のエリアから他方のエリアを目的地として選択する目的地選択確率を表している。
【0034】
行為別目的地選択確率行列を学習するには、まず、行為kごとに、下記(2)式に示す重力モデルを用いて、X
ij(k)を計算する。ここで、X
ij(k)は、行為kを行う人のメッシュij間の移動人数であり、A
i(k)及びB
j(k)は、係数であり、O
i(k)は、メッシュiに居住していて、かつ行為kを行う人数であり、D
j(k)は、メッシュjにおける行為kに関連する施設数であり、dist
ijは、予め定められているij間距離(または所要時間)であり、γは距離係数である。また、係数A
i(k)は下記(3)式により表され、係数B
j(k)は下記(4)式によって表される。なお、係数A
i(k)及びB
j(k)の初期値として1が与えられているものとする。また、距離係数γは適当な値(γ>0)が与えられているものとする。また、重力モデルが、行為を行った人物がエリアのペアの一方から他方へ移動する人数をモデル化したモデルを表したものである。
【0036】
具体的には、まず、行為別発生量記憶部28に記憶されている行為別発生量から得られる、居住メッシュiに居住していて、かつ行為kを行う人数O
i(k)を取得する。次に、行為ごとに、取得したO
i(k)と、施設分布データから得られるD
j(k)と、ij間の各々の距離dist
ijの各々と、予め適切な値が設定された距離係数γと、係数A
i(k)及びB
j(k)とに基づいて、上記(3)式及び(4)式に従って、係数A
i(k)及びB
j(k)が収束するまで交互計算を繰り返し、係数A
i(k)及びB
j(k)を計算する。そして、行為ごとに、収束した係数A
i(k)及びB
j(k)と、O
i(k)と、施設分布データから得られるD
j(k)と、ij間の各々の距離dist
ijの各々と、距離係数γと、に基づいて、上記(2)式に従って、X
ij(k)を計算する。
【0037】
次に、行為kごとに重力モデルを用いて計算されたX
ij(k)を用いて、下記(5)式に従って、行為kごとの目的地選択確率P
ij(k)をエリアi、jのペアの各々について計算し、行為ごとの目的地選択確率行列の学習結果とする。ここで、P
ij(k)は、現在地i、行為kのエージェントが目的地jを選択する確率である。
【0039】
行為別目的地選択確率行列記憶部46は、行為別目的地選択確率行列学習部44において学習された行為別目的地選択確率行列を記憶している。
【0040】
出力部90は、時間帯別行為遷移確率行列学習部40において学習された時間帯別行為遷移確率行列と、行為別目的地選択確率行列学習部44において学習された行為別目的地選択確率行列を出力する。
【0041】
<第1の実施の形態に係る人物動態計算装置の構成>
次に、本発明の第1の実施の形態に係る人物動態計算装置200の構成について説明する。
図2に示すように、本発明の実施の形態に係る人物動態計算装置200は、CPUと、RAMと、後述する人物動態計算処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この人物動態計算装置200は、機能的には
図2に示すように入力部210と、演算部220と、出力部290とを備えている。
【0042】
入力部210は、エリア毎の属性別人口を表す統計データであるエリア別人口データと、上述した確率学習装置100において学習された属性別の時間帯別行為遷移確率行列及び行為別目的地選択確率行列と、属性別及び時間帯別の行為者の確率からなる時間帯別行為者率データと、を受け付ける。
【0043】
演算部220は、エリア別人口データ記憶部222と、時間帯別行為遷移確率行列記憶部224と、時間帯別行為者率データ記憶部226と、行為別目的地選択確率行列記憶部228と、エージェント生成部230と、都市内移動データ記憶部260とを含んで構成されている。
【0044】
エリア別人口データ記憶部222は、入力部210において受け付けたエリア別人口データを記憶している。なお、エリア別人口データとしては、国勢調査データ等を用いればよい。
【0045】
時間帯別行為遷移確率行列記憶部224は、入力部210において受け付けた属性別の時間帯行為遷移確率行列を記憶している。
【0046】
時間帯別行為者率データ記憶部226は、入力部210において受け付けた時間帯別行為者率データを記憶している。
【0047】
行為別目的地選択確率行列記憶部228は、入力部210において受け付けた行為別目的地選択確率行列を記憶している。
【0048】
エージェント生成部230は、エリア別人口データ記憶部222に記憶されているエリア別人口データと、時間帯別行為遷移確率行列記憶部224に記憶されている属性別の時間帯行為遷移確率行列と、時間帯別行為者率データ記憶部226に記憶されている時間帯別行為者率データと、行為別目的地選択確率行列記憶部228に記憶されている行為別目的地選択確率行列とに基づいて、エージェントの各々についての行為系列及び目的地系列を生成し、都市内移動データ記憶部260に記憶すると共に、出力部290に出力する。また、エージェント生成部230は、属性生成部232と、行為系列生成部234と、目的地系列生成部236とを含んで構成されている。
【0049】
属性生成部232は、エリア別人口データ記憶部222に記憶されているエリア別人口データに基づいて、属性別及びエリア別に、当該エリアに、当該属性を持つ人物を表すエージェントを、当該エリア及び当該属性の人口に応じた数だけ生成する。具体的に、例えば、エリア別人口データに含まれる年齢、及び性別の組み合わせを
図3のC列に示すような属性として定義し、当該属性をもつ人の居住地を
図3のB列に示すような居住メッシュとして、当該属性及び居住メッシュを組み合わせて一つのエージェントとして作成する。なお、作成された順に
図3のA列に示すようなIDが付与されるものとする。また、居住メッシュについては、予めどの居住地がどの居住メッシュに属するか定義されているものとする。また、属性生成部がエージェント生成手段の一例である。
【0050】
行為系列生成部234は、属性生成部232において作成されたエージェントの各々と、時間帯別行為遷移確率行列記憶部224に記憶されている属性別の時間帯別行為遷移確率行列と、時間帯別行為者率データ記憶部226に記憶されている時間帯別行為者率データとに基づいて、エージェントの各々について
図3のD1列〜DT列に示すような行為系列を生成し、エージェントごとに、ID、居住メッシュ、属性、及び行為系列を結合したデータを作成し、目的地系列生成部236に出力すると共に、人物動態計算装置200の外部に出力する。
【0051】
具体的には、まず、エージェントの各々について、時間帯別行為者率データ記憶部226に記憶されている時間帯別行為者率データの、当該エージェントの属性と同一の属性についての最初の時間帯での行為者率y
(0)に基づいて、時刻t=0における行為k
(0)を決定する。
【0052】
そして、エージェントの各々について、時刻t(t>0)における行為k
(t)を、属性別の時間帯別行為遷移確率行列と、、時刻t−1における行為k
(t−1)とに基づいて決定する。すなわち、時間帯別行為遷移確率行列のk
(t−1)番目の行ベクトルである
【0054】
に従った確率で、時刻tにおける行為k
(t)を生成する。例えば、決定された時刻t=0における行為k
(0)と、属性別の時間帯別行為遷移確率行列の当該エージェントの属性のk
(0)番目の行ベクトルである
【0056】
に従った確率と、に基づいて、行為k
(1)を決定し、当該決定処理を時刻t=T−1まで繰り返すことによって、当該エージェントの行為系列k
(0)…k
(T−1)を生成する。
【0057】
目的地系列生成部236は、行為系列生成部234により入力される、各エージェントの行為系列と、行為別目的地選択確率行列記憶部228に記憶されている行為別目的地選択確率行列とに基づいて、エージェントの各々について、
図3に示すE1列〜ET列の目的地系列を生成し、エージェントごとに、
図3に示すA列〜ET列のように結合した都市内移動データとして作成し、都市内移動データ記憶部260に記憶すると共に、出力部290に出力する。
【0058】
具体的には、まず、行為系列生成部234から入力されるデータに含まれる当該エージェントの居住メッシュl
rsdと、行為別目的地選択確率行列記憶部228に記憶されている行為別目的地選択確率行列のうちの当該エージェントの一番初めの行為k
(0)とに対応する
【0060】
と、に基づいて、t=0における目的地l
(0)を決定する。そして、時刻t(t>0)における目的地l
(t)を、行為別目的地選択確率行列と、時刻t−1における目的地l
(t−1)とに基づいて決定する。すなわち、行為k(t)に対応する行為別目的地選択確率行列のl
(t−1)番目の行ベクトルである
【0062】
に従う確率によって、時刻tにおける目的地l
(t)を決定する。例えば、決定された当該エージェントの時刻t=0における目的地l
(0)と、当該エージェントの行為k(1)に対応する行為別目的地選択確率行列のl
(0)番目の行ベクトルである
【0064】
に従った確率と、に基づいて、目的地l
(1)を決定する。当該処理を時刻t=T−1まで繰り返すことによって、当該エージェントの目的地系列l
(0)…l
(T−1)を生成する。なお、目的地の遷移は、行為が前の時刻から変化した場合のみ行われる。また、職場や学校が複数あることはないという仮定のもと、行為が仕事や学業の場合、それまでに出た目的地を再現する必要があるため、初出時に場所を記憶し、再び同一の行為がなされる場合はその目的地を再現する。
【0065】
都市内移動データ記憶部260は、目的地系列生成部236から入力される
図3に示すA列〜ET列のような都市内移動データを記憶している。
【0066】
出力部290は、上記
図3に示す都市内移動データを可視化する。
【0067】
<第1の実施の形態に係る確率学習装置の作用>
次に、第1の実施の形態に係る確率学習装置100の作用について説明する。まず、入力部10において1日行為者率データと、パラメータβ
iと、時間帯別行為者率データと、行為別発生量と、施設分布データと、を受け付ける。そして、確率学習装置100によって、
図4に示す確率学習処理ルーチンが実行される。
【0068】
まず、ステップS100では、1日行為者率データ記憶部24に記憶されている1日行為者率データを読み込む。
【0069】
次に、ステップS102では、時間帯別行為者率データ記憶部26に記憶されている時間帯別行為者率データを読み込む。
【0070】
次に、ステップS104では、行為別発生量記憶部28に記憶されている行為別発生量を読み込む。
【0071】
次に、ステップS106では、施設分布データ記憶部30に記憶されている施設分布データを読み込む。
【0072】
次に、ステップS108では、ステップS100において取得した1日行為者率データと、ステップS102において取得した時間帯別行為者率データと、入力部10において受け付けたパラメータβ
iとに基づいて、属性ごとに時間帯別行為遷移確率行列A
(0)…A
(T−2)を学習し、時間帯別行為遷移確率行列記憶部42に記憶する。
【0073】
次に、ステップS110では、ステップS104において取得した行為別発生量と、ステップS106において取得した施設分布データとに基づいて、行為ごとに目的地選択確率行列を学習し、行為別目的地選択確率行列として行為別目的地選択確率行列記憶部46に記憶する。
【0074】
次に、ステップS112では、ステップS108で取得した属性ごとの時間帯別行為遷移確率行列と、ステップS110で取得した行為別目的地選択確率行列とを出力部90から出力して、確率学習処理ルーチンを終了する。
【0075】
上記ステップS108における時間帯別行為遷移確率行列の計算について、
図5に示す、時間帯別行為遷移確率行列の計算処理ルーチンにおいて詳細に説明する。
【0076】
図5のステップS200では、処理対象となる属性について、ステップS102において取得した時間帯別行為者率データに基づいて、時間帯別行為者率y
(0)…y
(T−1)を取得する。
【0077】
次に、ステップS202では、ステップS200において取得した処理対象となる属性についての時間帯別行為者率と、入力部10において受け付けたパラメータβ
iとに基づいて、上記(1)式に従って、2次計画問題を解く。
【0078】
次に、ステップS204では、ステップS202において取得した処理対象となる属性についての時間帯別行為遷移確率行列A
(0)…A
(T−2)を用いて人物動態計算装置200と同様のシミュレーションを行う。
【0079】
次に、ステップS206では、ステップS204において取得した処理対象となる属性のシミュレーションの結果に基づいて、処理対象となる属性を有する人物における1日の行為者率を計算する。
【0080】
次に、ステップS208では、ステップS100において取得した1日行為者率データに基づいて取得される処理対象となる属性における1日の行為者率と、ステップS206において取得される処理対象となる属性を有する人物における1日の行為者率とを比較する。
【0081】
次に、ステップS210では、ステップS208において取得した比較結果に基づいて、誤差が予め定められた所定範囲内か否かを判定する。誤差が予め定められた所定範囲内である場合には、ステップS212へ移行し、誤差が予め定められた所定範囲外である場合には、ステップS211へ移行する。
【0082】
ステップS211では、β
iについて入力部10により、入力を受け付けてステップS202へ移行し、ステップS202〜ステップS210の処理を繰り返す。
【0083】
ステップS212では、ステップS202において取得された時間帯別行為遷移確率行列を、当該処理対象となる属性の時間帯別行為遷移確率行列として確定する。
【0084】
次に、ステップS214では、全ての属性について処理が終了したか否かを判定する。全ての属性について処理を終了している場合には、時間帯別行為遷移確率の計算の処理ルーチンを終了し、全ての属性について処理を終了していない場合には、処理対象となる属性を変更し、ステップS200へ移行し、ステップS200〜ステップS214の処理を繰り返す。
【0085】
上記ステップS110における行為別目的地選択確率行列の計算について、
図6に示す、行為別目的地選択確率行列の計算処理ルーチンにおいて詳細に説明する。
【0086】
図6のステップS300では、ステップS104において取得した行為別発生量から、処理対象となる行為kについて、各メッシュiに居住していて、かつ、処理対象となる行為kを行う人数を表す発生量O
i(k)を取得する。
【0087】
次に、ステップS302では、係数A
i(k)と、係数B
j(k)とを初期化し、それぞれの値を1と設定する。
【0088】
次に、ステップS304では、処理対象となる行為kについて、ステップS302又は前回のステップS306において取得した係数B
j(k)と、ステップS106において取得した施設分布データに基づいて取得される、メッシュjにおける処理対象となる行為kに関連する施設数D
j(k)と、予め定められているメッシュiとメッシュjとの距離dist
ijと、予め定められている距離係数γとに基づいて、上記(3)式に従って、係数A
i(k)を計算する。
【0089】
次に、ステップS306では、処理対象となる行為kについて、ステップ304において取得した係数A
i(k)と、ステップS300において取得した発生量O
i(k)と、予め定められているメッシュiとメッシュjとの距離dist
ijと、予め定められている距離係数γとに基づいて、上記(4)式に従って、係数B
j(k)を計算する。
【0090】
次に、ステップS308では、処理対象となる行為kについて、ステップS304において取得した係数A
i(k)と、ステップS306において取得した係数B
j(k)とが収束したか否かを判定する。収束している場合には、ステップS310へ移行し、収束していない場合には、ステップS304へ移行し、ステップS304〜ステップS308の処理を繰り返す。
【0091】
次に、ステップS310では、処理対象となる行為kについて、ステップS304において取得した係数A
i(k)と、ステップS306において取得した係数B
j(k)と、ステップS300において取得した発生量O
i(k)と、ステップS106において取得した施設分布データに基づいて取得される、メッシュjにおける処理対象となる行為kに関連する施設数D
j(k)と、予め定められているメッシュiとメッシュjとの距離dist
ijと、予め定められている距離係数γと、に基づいて、上記(2)式に示す重力モデルを用いて、処理対象となる行為kについてのX
ij(k)を計算する。
【0092】
次に、ステップS312では、処理対象となる行為kについて、ステップS310において取得した処理対象となる行為kについての重力モデルを用いて計算されたX
ij(k)に基づいて、上記(5)式に従って、処理対象となる行為kの目的地選択確率P
ij(k)をエリアi、jのペアの各々について計算し、行為kの目的地選択確率行列の学習結果とする。
【0093】
次に、ステップS314では、全ての行為について処理を終了したか否かを判定する。全ての行為について処理を終了している場合には、行為別目的地選択確率の計算処理ルーチンを終了し、全ての行為について処理を終了していない場合には、処理対象となる行為kを変更し、ステップS300へ移行し、ステップS300〜ステップS314の処理を繰り返す。
【0094】
<第1の実施の形態に係る人物動態計算装置の作用>
次に、第1の実施の形態に係る人物動態計算装置200の作用について説明する。まず、入力部210においてエリア別人口データと、上述した確率学習装置100においてステップS108で学習された属性別の時間帯別行為遷移確率行列及びステップS110で学習された行為別目的地選択確率行列と、時間帯別の行為者の確率からなる時間帯別行為者率データと、を受け付ける。そして、人物動態計算装置200によって、
図7に示す人物動態計算処理ルーチンが実行される。
【0095】
まず、ステップS400では、エリア別人口データ記憶部222に記憶されているエリア別人口データを読み込む。
【0096】
次に、ステップS402では、時間帯別行為遷移確率行列記憶部224に記憶されている属性別の時間帯別行為遷移確率行列を読み込む。
【0097】
次に、ステップS404では、時間帯別行為者率データ記憶部226に記憶されている属性別の時間帯別行為者率データを読み込む。
【0098】
次に、ステップS406では、行為別目的地選択確率行列記憶部228に記憶されている行為別目的地選択確率行列を読み込む。
【0099】
次に、ステップS408では、ステップS400において取得したエリア別人口データに基づいて、属性別及びエリア別に、当該エリアを居住メッシュとし当該属性を持つ人物を現すエージェントを、当該エリア及び当該属性の人口に応じた数だけ生成する。
【0100】
次に、ステップS410では、ステップS402において取得した属性別の時間帯別行為遷移確率行列と、ステップS404において取得した属性別の時間帯別行為者率データと、に基づいて、ステップS408において取得したエージェントの各々について、行為系列を生成する。
【0101】
次に、ステップS412では、ステップS406において取得した行為別目的地選択確率行列と、ステップS410において取得したエージェントの各々の行為系列とに基づいて、ステップS408において取得したエージェントの各々について、目的地系列を生成し、都市内移動データとする。
【0102】
次に、ステップS414では、ステップS412において取得した都市内移動データを結果として出力部290において可視化して人物動態計算処理ルーチンを終了する。
【0103】
上記ステップS410における行為系列の生成について、
図8に示す、行為系列生成処理ルーチンにおいて詳細に説明する。
【0104】
図8のステップS500では、処理対象となるエージェントについて、当該エージェントの属性と、ステップS404において取得した属性別の時間帯別行為者率データとに基づいて、時刻t=0における行為k
(0)を決定する。
【0105】
次に、ステップS502では、変数tの値に1を設定する。
【0106】
次に、ステップS504では、処理対象となるエージェントについて、ステップS402において取得した属性別の時間帯別行為遷移確率行列と、ステップS500において取得した当該エージェントの行為k
(0)又は、前回のステップS504において取得した当該エージェントの行為k
(t−1)とに基づいて、当該エージェントの行為k
(t)を決定する。
【0107】
次に、ステップS506では、変数tの値にt+1を設定する。
【0108】
次に、ステップS508では、t=Tであるか否かを判定する。t=Tである場合には、ステップS510へ移行し、t=Tでない場合には、ステップS504へ移行する。
【0109】
次に、ステップS510では、ステップS408において生成した全てのエージェントについて処理を終了したか否かを判定する。全てのエージェントについて処理を終了している場合には、行為系列生成処理ルーチンを終了し、全てのエージェントについて処理を終了していない場合には、処理対象となるエージェントを変更し、ステップS500へ移行し、ステップS500〜ステップS510までの処理を繰り返す。
【0110】
上記ステップS412における目的地系列の生成について、
図9に示す、目的地生成処理ルーチンにおいて詳細に説明する。
【0111】
図9のステップS600では、変数tの値に0を設定する。
【0112】
次に、ステップS602では、処理対象のエージェントについて、ステップS410において取得した当該エージェントの行為系列に基づいて、l
rsdの値に処理対象となるエージェントの居住メッシュの値を設定し、l
off及びl
schの値に−1の値を設定する。
【0113】
次に、ステップS604では、処理対象のエージェントについて、ステップS410において取得した行為系列に基づいて、当該エージェントの行為k
(t)が、在宅であるか否かを判定する。当該エージェントの行為k
(t)が在宅である場合には、ステップS606へ移行し、当該エージェントの行為k
(t)が在宅でない場合には、ステップS612へ移行する。
【0114】
次に、ステップS606では、処理対象となるエージェントの目的地l
(t)をステップS602において取得したl
rsdの値が表すメッシュとする。
【0115】
次に、ステップS608では、変数tの値をt+1に設定する。
【0116】
次に、ステップS610では、変数tの値がTの値と等しいか否かを判定する。変数tの値がTの値と等しい場合には、ステップS650へ移行し、変数tの値がTの値と等しくない場合には、ステップS604へ移行し、ステップS604〜ステップS610の処理を繰り返す。
【0117】
ステップS612では、変数tの値が0でないか否かを判定する。変数tの値が0でない場合には、ステップS614へ移行し、変数tの値が0である場合には、ステップS630へ移行する。
【0118】
次に、ステップS614では、処理対象となるエージェントの行為k
(t)が仕事か否かを判定する。当該エージェントの行為k
(t)が仕事である場合には、ステップS616へ移行し、当該エージェントの行為k
(t)が仕事でない場合には、ステップS620へ移行する。
【0119】
次に、ステップS616では、変数l
offの値が−1であるか否かを判定する。変数l
offの値が−1でない場合には、ステップS618へ移行し、変数l
offの値が−1である場合には、ステップS620へ移行する。
【0120】
次に、ステップS618では、処理対象となるエージェントの目的地l
(t)を、ステップS636において取得したl
offの値が表すメッシュとする。
【0121】
ステップS620では、処理対象となるエージェントの行為k
(t)が学業か否かを判定する。当該エージェントの行為k
(t)が学業である場合には、ステップS622へ移行し、当該エージェントの行為k
(t)が学業でない場合には、ステップS626へ移行する。
【0122】
次に、ステップS622では、変数l
schの値が−1であるか否かを判定する。変数l
schの値が−1でない場合には、ステップS624へ移行し、変数l
schの値が−1である場合には、ステップS626へ移行する。
【0123】
次に、ステップS624では、処理対象となるエージェントの目的地l
(t)を、ステップS640において取得したl
schの値が表すメッシュとする。
【0124】
ステップS626では、処理対象となるエージェントの行為k
(t)が1時刻前の当該エージェントの行為k
(t−1)と同一か否かを判定する。行為
(t)と行為
(t−1)とが同一である場合には、ステップS628へ移行し、行為
(t)と行為
(t−1)とが同一でない場合には、ステップS632へ移行する。
【0125】
ステップS628では、処理対象となるエージェントの目的地l
(t)を、1時刻前の処理のステップS606、ステップS618、ステップS624、ステップS628、ステップS632、又はステップS630において取得した目的地l
(t−1)の値が表すメッシュとする。
【0126】
ステップS632では、ステップS406において取得した行為別目的地選択確率行列のl
(t−1)番目の行ベクトルである
【0128】
に従って、乱数を用いて処理対象となるエージェントの目的地l
(t)を決定する。
【0129】
次に、ステップS634では、処理対象のエージェントについて、ステップS410において取得した当該エージェントの行為系列に基づいて取得される当該エージェントの行為k
(t)が仕事であるか否かを判定する。当該エージェントの行為k
(t)が仕事である場合には、ステップS636へ移行し、当該エージェントの行為k
(t)が仕事でない場合には、ステップS638へ移行する。
【0130】
次に、ステップS636では、変数l
offの値にステップS632又はステップS630において決定された目的地であるメッシュを表す値を設定する。
【0131】
ステップS638では、処理対象となるエージェントについて、ステップS410において取得した行為別発生量に基づいて取得される当該エージェントの行為k
(t)が学業であるか否かを判定する。当該エージェントの行為k
(t)が学業である場合には、ステップS640へ移行し、当該エージェントの行為k
(t)が学業でない場合には、ステップS608へ移行する。
【0132】
次に、ステップS640では、変数l
schの値にステップS632又はステップS630において決定された目的地であるメッシュを表す値を設定する。
【0133】
ステップS630では、ステップS602において取得したl
rsdと、ステップS406において取得した行為別目的地選択確率行列から求まる
【0135】
と、に従って、乱数を用いて処理対象となるエージェントの目的地l
(t)を決定する。
【0136】
ステップS650では、処理対象となる全てのエージェントについて処理を終了したか否かを判定する。全てのエージェントについて処理を終了した場合には、目的系列生成処理ルーチンの処理を終了し、全てのエージェントについて処理を終了していない場合には、処理対象となるエージェントを変更し、ステップS600〜ステップS650までの処理を繰り返す。
【0137】
以上説明したように、本発明の第1の実施の形態に係る人物動態計算システムによれば、各エリアの属性別の人口データを表す統計データに基づいて、エージェントを生成し、属性別に予め学習した行為の遷移確率に基づいて、エージェントの各々について、各時間帯の行為からなる行為系列を生成し、エージェントの各々について、複数の行為の各々について予め学習した目的地選択確率と、エージェントについて生成された行為系列とに基づいて、各時間帯の目的地となるエリアからなる目的地系列を生成し、エージェントの各々について生成された行為系列及び目的地系列を出力することによって、統計データに基づいて、人物の行為系列及び目的地系列を精度良く計算することができる。
【0138】
また、集計データから都市内全ての人の属性や移動の目的が推定できるので、非常に低コストでリアルタイムかつ十分なサンプル数のデータを得ることができ、マーケティング、都市計画など都市内の人の活動に起因する業務のコストが大幅に低減される。
【0139】
また、統計データは個々人を表す特徴は失われているものの集計値としては精度が高いと考えられることから、移動の行為系列推定と目的地選択によって構成される統計データを再現する確率モデルに従うエージェントを計算機上で生成することで、当該エージェントに付与されている情報(属性、移動目的)から属性推定ができる。
【0140】
また、エージェントの数が都市内人口に等しい場合、都市内のすべての人の動きが計算機上で低コストかつ短時間で再現することができる。
【0141】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0142】
例えば、第1の実施の形態においては、D
j(k)を、メッシュjにおける行為kに関連する施設数とする場合について説明しているが、これに限定されるものではなく、メッシュの集中量(ある地区に到着するトリップの数)に比例する値であれば施設数以外の値を用いてもよい。具体的には、行為=仕事の場合であれば、従業員数でもよいし、行為=学業の場合であれば生徒数でもよい。また、施設分布データは、集客に比例する量であれば、施設数以外の施設の物理量を表してもよい。
【0143】
次に、第2の実施の形態に係る人物動態計算システムについて説明する。
【0144】
第2の実施の形態においては、行為別目的地選択確率行列を、行為別発生量と、施設分布データと、時間帯別エリア別人口データとから学習している点が第1の実施の形態と異なる。なお、第1の実施の形態に係る人物動態計算システムと同様の構成及び作用については、同一の符号を付して説明を省略する。
【0145】
<第2の実施の形態に係る人物動態計算システムの構成>
まず、本発明の第2の実施の形態に係る人物動態計算システムの構成について説明する。本発明の第2の実施の形態に係る人物動態計算システムは、後述する確率学習装置300と、人物動態計算装置200とを含んで構成されている。
【0146】
<第2の実施の形態に係る確率学習装置の構成>
次に、本発明の第2の実施の形態に係る確率学習装置300の構成について説明する。
図10に示すように、本発明の実施の形態に係る確率学習装置300は、CPUと、RAMと、後述する確率学習処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この確率学習装置300は、機能的には
図10に示すように入力部310と、演算部320と、出力部390とを備えている。
【0147】
入力部310は、属性別に1日に行為をした人物の割合を示す1日行為者率データと、パラメータβ
iと、属性別及び時間帯別に行為をした人物の割合を表す時間帯別行為者率データと、後述する人物動態計算装置200における前回の処理において生成された行為系列から得られる各エリアの行為別発生量と、施設数の分布を表す施設分布データと、時間帯別エリア別人口データと、を受け付ける。
【0148】
演算部320は、1日行為者率データ記憶部24と、時間帯別行為者率データ記憶部26と、行為別発生量記憶部28と、施設分布データ記憶部30と、時間帯別エリア別人口データ記憶部322と、時間帯別行為遷移確率行列学習部40と、時間帯別行為遷移確率行列記憶部42と、行為別目的地選択確率行列学習部344と、行為別目的地選択確率行列記憶部346とを含んで構成されている。
【0149】
時間帯別エリア別人口データ記憶部322は、入力部310において受け付けた時間帯別エリア別人口データを記憶している。
【0150】
行為別目的地選択確率行列学習部344は、行為別発生量記憶部28に記憶されている行為別発生量と、施設分布データ記憶部30に記憶されている施設分布データと、時間帯別エリア別人口データ記憶部322に記憶されている時間帯別エリア別人口データとに基づいて、行為ごとに目的地選択確率行列を学習し、学習された結果を行為別目的地選択確率行列として、行為別目的地選択確率行列記憶部346に記憶すると共に、出力部390に出力する。
【0151】
行為別目的地選択確率行列を学習するには、まず、入力部310において受け付けた距離係数γの初期値、増分、及び終了値を設定する。次に、行為kごとに、距離係数γを適用して、第1の実施の形態に係る確率学習装置における行為別目的地選択確率行列学習部44と同様に、重力モデルを用いてX
ij(k)を計算する。次に、行為kごとに、重力モデルを用いて計算される、X
ij(k)を用いて、第1の実施の形態に係る確率学習装置における行為別目的地選択確率行列学習部44と同様に、目的地選択確率P
ij(k)をエリアi、jのペアの各々について計算し、行為ごとの目的地選択確率行列とする。次に、行為ごとに、計算された目的地選択確率行列に基づいて、人物動態計算装置200と同様のシミュレーションを行い、当該シミュレーションの結果に基づいて、時間帯別メッシュ人口を集計し、時間帯別エリア別人口データとの適合度を下記(6)式に示す適合度評価式を用いて評価する。なお、当該処理は、予め定められたγの終了値まで、γの値を増加させながら適用し、重力モデルの計算の処理、目的地選択確率行列の計算の処理、適合度の計算の処理を繰り返し実行する。
【数11】
【0152】
ここで、n
l(t)は、エリアl、時間帯tの人口(シミュレーション値)であり、^n
l(t)の値は、エリアl、時間帯tの人口(時間帯別エリア別人口データに基づく実データ)とする。
【0153】
そして、行為ごとに、上記(6)式により求まる適合度が一番高いγを用いて計算された目的地選択確率行列を当該行為についての行為別目的地選択確率行列として決定する。
【0154】
行為別目的地選択確率行列記憶部346は、行為別目的地選択確率行列学習部344において学習された行為別目的地選択確率行列が記憶されている。
【0155】
<第2の実施の形態に係る確率学習装置の作用>
次に、第1の実施の形態に係る確率学習装置300の作用について説明する。まず、入力部310において1日行為者率データと、パラメータβ
iと、時間帯別行為者率データと、行為別発生量と、施設分布データと、時間帯別エリア別人口データとを受け付ける。そして、確率学習装置300によって、
図11に示す確率学習処理ルーチンが実行される。
【0156】
ステップS700では、時間帯別エリア別人口データ記憶部322に記憶されている時間帯別エリア別人口データを読み込む。
【0157】
ステップS702では、ステップS104において取得した行為別発生量と、ステップS106において取得した施設分布データと、ステップS700において取得した時間帯別エリア別人口データとに基づいて、行為ごとに目的地選択確率行列を学習し、行為別目的地選択確率行列として行為別目的地選択確率行列記憶部346に記憶する。
【0158】
上記ステップS702における行為別目的地選択確率行列の計算について、
図12に示す、行為別目的地選択確率行列の計算処理ルーチンにおいて詳細に説明する。
【0159】
図12のステップS800では、予め一定の値が与えられている距離係数γの初期値、増分、及び終了値の設定をする。
【0160】
次に、ステップS802では、予め一定の値が与えられている距離係数γの値を、ステップS800において設定した初期値に設定する。
【0161】
ステップS804では、処理対象となる行為kについて、ステップS312において取得した目的地選択確率行列を用いてシミュレーションを行う。
【0162】
次に、ステップS806では、処理対象となる行為kについて、ステップS804において取得したシミュレーションの結果に基づいて、時間帯別メッシュ人口を取得する。
【0163】
次に、ステップS808では、処理対象となる行為kについて、ステップS700において取得した時間帯別エリア別人口データと、ステップS806において取得した時間帯別メッシュ人口とに基づいて、上記(6)式に従って、適合度を算出し、距離係数γと紐付けてメモリ(図示省略)に記憶する。
【0164】
次に、ステップS810では、距離係数γの値が、ステップS800において設定した距離係数γの終了値と一致しているか否かを判定する。距離係数γの値が終了値である場合には、ステップS813に移行し、距離係数γの値が終了値でない場合には、ステップS812へ移行する。
【0165】
ステップS812では、距離係数γの値を、ステップS800において設定した増分加算して、ステップS300へ移行し、ステップS300〜ステップS810の処理を繰り返す。
【0166】
ステップS813では、ステップS808において取得した適合度が一番高い場合の距離係数γを選択し、選択した距離係数γを適用してステップS312において取得された目的地選択確率行列を、当該処理対象となる行為kの目的地選択確率行列と決定する。
【0167】
以上説明したように、本発明の第2の実施の形態に係る人物動態計算システムによれば、各エリアの属性別の人口データを表す統計データに基づいて、エージェントを生成し、属性別に予め学習した行為の遷移確率に基づいて、エージェントの各々について、各時間帯の行為からなる行為系列を生成し、エージェントの各々について、複数の行為の各々について予め学習した目的地選択確率と、エージェントについて生成された行為系列とに基づいて、各時間帯の目的地となるエリアからなる目的地系列を生成し、エージェントの各々について生成された行為系列及び目的地系列を出力することによって、統計データに基づいて、人物の行為系列及び目的地系列を精度良く計算することができる。
【0168】
次に、第3の実施の形態に係る人物動態計算装置について説明する。
【0169】
第3の実施の形態においては、人物動態計算装置において、時間帯別行為遷移確率行列と、行為別目的地選択確率行列とを学習している点が第1の実施の形態と異なる。なお、第1の実施の形態に係る人物動態計算システムと同様の構成及び作用については、同一の符号を付して説明を省略する。
【0170】
<第3の実施の形態に係る人物動態計算装置の構成>
まず、本発明の第3の実施の形態に係る人物動態計算装置400の構成について説明する。本発明の実施の形態に係る人物動態計算装置400は、CPUと、RAMと、後述する人物動態計算処理ルーチンを実行するためのプログラムや各種データを記憶したROMと、を含むコンピュータで構成することが出来る。この人物動態計算装置400は、機能的には
図13に示すように入力部410と、演算部420と、出力部290とを備えている。
【0171】
入力部410は、属性別に1日に行為をした人物の割合を示す1日行為者率データと、パラメータβ
iと、属性別及び時間帯別に行為をした人物の割合を表す時間帯別行為者率データと、エリア毎の属性別人口を表す統計データであるエリア別人口データと、施設数の分布を表す施設分布データと、を受け付ける。
【0172】
演算部420は、エリア別人口データ記憶部222と、1日行為者率データ記憶部24と、時間帯別行為者率データ記憶部26と、行為別発生量記憶部428と、施設分布データ記憶部30と、時間帯別行為遷移確率行列学習部40と、時間帯別行為遷移確率行列記憶部42と、行為別目的地選択確率行列学習部444と、行為別目的地選択確率行列記憶部46と、エージェント生成部430と、都市内移動データ記憶部260とを含んで構成されている。
【0173】
エージェント生成部430は、エリア別人口データ記憶部222に記憶されているエリア別人口データと、時間帯別行為遷移確率行列記憶部42に記憶されている属性別の時間帯行為遷移確率行列と、時間帯別行為者率データ記憶部26に記憶されている時間帯別行為者率データと、行為別目的地選択確率行列記憶部46に記憶されている行為別目的地選択確率行列とに基づいて、エージェントの各々についての行為系列及び目的地系列を生成し、都市内移動データ記憶部260に記憶すると共に、出力部290に出力する。また、エージェント生成部430は、属性生成部232と、行為系列生成部434と、目的地系列生成部236とを含んで構成されている。
【0174】
行為系列生成部434は、属性生成部232において作成されたエージェントの各々と、時間帯別行為遷移確率行列記憶部42に記憶されている属性別の時間帯別行為遷移確率行列と、時間帯別行為者率データ記憶部26に記憶されている時間帯別行為者率データとに基づいて、エージェントの各々について
図3のD1列〜DT列に示すような行為系列を生成し、エージェントごとに、ID、居住メッシュ、属性、及び行為系列を結合したデータを作成し、目的地系列生成部236に出力すると共に、行為別発生量記憶部428に記憶する。
【0175】
行為別発生量記憶部428は、行為系列生成部434から入力されたデータから求められる、各エリアの行為別発生量が記憶されている。なお、ここで、行為別発生量とは、行為系列生成部424において生成されたエージェントの各々についての行為系列から得られるものであり、各エリアについて、居住メッシュが当該エリアであるエージェントのうち、当該行為を行うエージェントの数を表す。
【0176】
行為別目的地選択確率行列学習部444は、行為別発生量記憶部428に記憶されている行為別発生量と、施設分布データ記憶部30に記憶されている施設分布データとに基づいて、行為ごとに目的地選択確率行列を学習し、学習された結果を行為別目的地選択確率行列として、行為別目的地選択確率行列記憶部46に記憶する。なお、行為別目的地選択確率行列は、エリアのペアの各々についてのペアの一方のエリアから他方のエリアを目的地として選択する目的地選択確率を表している。
【0177】
<第3の実施の形態に係る人物動態計算装置の作用>
次に、第3の実施の形態に係る人物動態計算装置400の作用について説明する。まず、入力部410においてエリア別人口データと、1日行為者率データと、パラメータβ
iと、時間帯別行為者率データと、施設分布データとを受け付ける。
【0178】
そして、第3の実施の形態に係る人物動態計算装置400において、上記
図5に示す時間別行為遷移確率行列の計算処理ルーチンと同様の処理ルーチンが実行され、時間帯別行為遷移確率行列が学習される。
【0179】
また、第3の実施の形態に係る人物動態計算装置400において、上記
図6に示す行為別目的地選択確率行列の計算処理ルーチンと同様の処理ルーチンが実行され、行為別目的地選択確率行列が学習される。なお、当該学習において用いられる行為別発生量は、行為別発生量記憶部428に記憶されている行為別発生量を用いることとする。
【0180】
また、第3の実施の形態に係る人物動態計算装置400において、上記
図7に示す人物動態計算処理ルーチンと同様の処理ルーチンが実行される。なお、当該処理ルーチンにおいて用いられる時間帯別行為遷移確率行列は、時間帯別行為遷移確率行列記憶部42に記憶されている時間帯別行為遷移確率行列を用いる。また、当該処理において用いられる行為別目的地選択確率行列は、行為別目的地選択確率行列記憶部46に記憶されている行為別目的地選択確率行列を用いる。
【0181】
以上説明したように、本発明の第3の実施の形態に係る人物動態計算装置によれば、各エリアの属性別の人口データを表す統計データに基づいて、エージェントを生成し、属性別に予め学習した行為の遷移確率に基づいて、エージェントの各々について、各時間帯の行為からなる行為系列を生成し、エージェントの各々について、複数の行為の各々について予め学習した目的地選択確率と、エージェントについて生成された行為系列とに基づいて、各時間帯の目的地となるエリアからなる目的地系列を生成し、エージェントの各々について生成された行為系列及び目的地系列を出力することによって、統計データに基づいて、人物の行為系列及び目的地系列を精度良く計算することができる。
【0182】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【0183】
本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。