(57)【要約】  情報処理システムにおいて、解析対象の事象に対応した複数の頂点と、対応する事象間の関係性に応じて該当頂点間を結ぶ辺とで構成されるグラフ構造をモデルとして、各頂点にそれぞれ対応し、辺に対応してデータ授受可能に互いに接続される複数の計算機が、辺で結ばれて隣接する頂点に対応する計算機との間で、互いが保持する識別子の個数に基づく所定のアルゴリズムにより、互いの計算機の間での識別子の遷移確率を計算し、当該計算結果に応じて、互いの計算機が保持する識別子の個数を更新する。
2017056168.tif 000002
【特許請求の範囲】
【請求項１】
解析対象の事象に対応した複数の頂点と、対応する事象間の関係性に応じて該当頂点間を結ぶ辺とで構成されるグラフ構造をモデルとして、前記各頂点にそれぞれ対応し、前記辺に対応してデータを授受可能に互いに接続される複数の計算機と、
前記各計算機に接続され、前記頂点の事象に対する１つ以上の状態を表す属性を含む識別子を保持する記憶装置と、
前記記憶装置において前記各頂点に関して保持する識別子の個数を、前記頂点の分布に基づく空間分布図として表示する表示装置と、を含み、
前記各計算機は、前記辺で結ばれて隣接する前記頂点に対応する計算機との間で、互いの保持する識別子の個数に基づく所定のアルゴリズムにより、互いの計算機の間での識別子の遷移確率を計算し、当該計算結果に応じて、互いの計算機が保持する識別子の個数を更新し、前記更新による識別子の個数の変化量を示す特徴量を元に所定のアルゴリズムに従って更新量を決定し、当該更新量に基づいて前記識別子の個数を更新することを特徴とする情報処理システム。
【請求項２】
請求項１に記載の情報処理システムであって、
前記特徴量は、
一定時間内の前記識別子の個数の変化量に基づき算出される相互情報量であることを特徴とする情報処理システム。
【請求項３】
請求項１に記載の情報処理システムであって、
前記特徴量は、
一定時間内の前記識別子の個数の変化量に基づき算出されるパワースペクトルであることを特徴とする情報処理システム。
【請求項４】
請求項２に記載の情報処理システムであって、
前記特徴量は、
前記相互情報量の最大値と最小値の差であることを特徴とする情報処理システム。
【請求項５】
請求項１に記載の情報処理システムであって、
前記各計算機は、
１以上の特徴量に基づいて、各頂点の状態を所定数のグループに分類し、当該分類されたグループに応じて、前記識別子の個数の増加、減少又は維持のいずれかを選択することを特徴とする情報処理システム。
【請求項６】
請求項５に記載の情報処理システムであって、
前記グループは、第１の状態から第４の状態の何れかに分類され、
前記特徴量が０の場合には、各頂点の状態が静止する第１の状態に分類し、
時間方向の２つの情報量から算出される相互情報量が予め決められた第１の閾値より小さい場合に第２の状態に分類し、
前記変化量から算出されるパワースペクトルが第２の閾値以上のときに第３の状態に分類し、
前記第１〜第３の状態以外を第４の状態に分類することを特徴とする情報処理システム。
【請求項７】
請求項６に記載の情報処理システムであって、
前記各計算機は、
前記第１の状態のときには、前記識別子の個数の増加を選択して情報子の分裂処理を実行し、
前記第２の状態のときには、前記識別子の個数の維持を選択し、
前記第３または第４の状態のときには、前記識別子の減少を選択して情報子の融合処理を実行することを特徴とする情報処理システム。
【請求項８】
解析対象の事象に対応した複数の頂点と、対応する事象間の関係性に応じて該当頂点間を結ぶ辺とで構成されるグラフ構造をモデルとして、前記各頂点にそれぞれ対応し、前記辺に対応してデータを授受可能に互いに接続される複数の計算機は、
前記頂点の事象に対する１つ以上の状態を表す属性を含む識別子を前記各計算機に接続された記憶装置に格納し、
前記記憶装置において前記各頂点に関して保持する識別子の個数を、前記頂点の分布に基づく空間分布図として表示装置に出力し、
前記各計算機が、前記辺で結ばれて隣接する前記頂点に対応する計算機との間で、互いの保持する識別子の個数に基づく所定のアルゴリズムにより、互いの計算機の間での識別子の遷移確率を計算し、当該計算結果に応じて、互いの計算機が保持する識別子の個数を更新し、前記更新による識別子の個数の変化量を示す特徴量を元に所定のアルゴリズムに従って更新量を決定し、当該更新量に基づいて前記識別子の個数を更新することを特徴とする情報処理方法。
【請求項９】
請求項８に記載の情報処理方法であって、  
前記特徴量は、
一定時間内の前記識別子の個数の変化量に基づき算出される相互情報量であることを特徴とする情報処理方法。
【請求項１０】
請求項８に記載の情報処理方法であって、
前記特徴量は、
一定時間内の前記識別子の個数の変化量に基づき算出されるパワースペクトルであることを特徴とする情報処理方法。
【請求項１１】
請求項９に記載の情報処理方法であって、
前記特徴量は、
前記相互情報量の最大値と最小値の差であることを特徴とする情報処理方法。
【請求項１２】
請求項８に記載の情報処理方法であって、
前記各計算機が、１以上の特徴量に基づいて、各頂点の状態を所定数のグループに分類し、当該分類されたグループに応じて、前記識別子の個数の増加、減少又は維持のいずれかを選択することを特徴とする情報処理方法。
【請求項１３】
請求項１２に記載の情報処理方法であって、
前記各計算機が、前記グループを、第１の状態から第４の状態の何れかに分類し、
前記特徴量が０の場合には、各頂点の状態が静止する第１の状態に分類し、
時間方向の２つの情報量から算出される相互情報量が予め決められた第１の閾値より小さい場合に第２の状態に分類し、
前記変化量から算出されるパワースペクトルが第２の閾値以上のときに第３の状態に分類し、
前記第１〜第３の状態以外を第４の状態に分類することを特徴とする情報処理方法。
【請求項１４】
請求項１３に記載の情報処理方法であって、
前記各計算機は、前記第１の状態のときには、前記識別子の個数の増加を選択して情報子の分裂処理を実行し、前記第２の状態のときには、前記識別子の個数の維持を選択し、前記第３または第４の状態のときには、前記識別子の減少を選択して情報子の融合処理を実行することを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、グラフ処理を実行する情報処理システムおよび情報処理方法に関する。
【背景技術】
【０００２】
社会インフラや都市などを効率的に設計、運用するため、実社会やサイバー空間に分散するデータを処理し、社会インフラなどの状態の解析、予測や社会を構成する要素を制御する技術が注目されている。【０００３】
上述の分散するデータとは、温度、湿度などの環境のセンシングデータ、自動車などの機械に関するログデータ、メールやＳＮＳなどの人間や組織に関するログデータから構成される。また、そうした分散データの処理内容は、該当データを分類してラベルやインデックスを付加するクラスタリング処理や、機械学習処理、また、社会を構成する要素（人、モノ、情報など）を最適に配置する制御処理となる。これら処理で得られる、分散データに関する処理結果は、分散した使用者や制御対象に展開される。使用者または制御対象物は、その処理結果に従って、例えば移動手段や移動方向の決定や制御パラメータの決定を行うことになる。【０００４】
そうした技術として以下の技術が従来から提案されている。すなわち、物理的に分散したセンシングデータを、インターネットなどの通信手段を介して計算機システムに集約して処理し、この処理の結果を制御対象に展開することにより、社会インフラの解析や予測または制御を行う技術（特許文献１参照）などである。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】米国特許出願公開第２０１３／０１５１５３６号明細書
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上述したような従来技術（Ｐｅｒｓｏｎａｌｉｚｅｄ  Ｐａｇｅｒａｎｋ  Ａｌｇｏｒｉｔｈｍ）では、並列計算の実行時に各計算主体間での同期を必要とし、また、分散したデータを並列計算機に集約しないと処理が出来ない。更に、計算して得られた計算結果は、分散した各制御対象に展開する必要がある。ゆえに、非常に大規模で一箇所に集めることが困難なデータや、集約と展開に時間が掛かる上に時々刻々と更新されるデータ等については、従来技術で処理することができない。【０００７】
そこで本発明の目的は、大規模で一箇所に集めることができないデータや、時々刻々と更新されるデータに対する効率的な計算を可能とする技術を提供することにある。
【課題を解決するための手段】
【０００８】
上記課題を解決する本発明の情報処理システムは、解析対象の事象に対応した複数の頂点と、対応する事象間の関係性に応じて該当頂点間を結ぶ辺とで構成されるグラフ構造をモデルとして、前記各頂点にそれぞれ対応し、前記辺に対応してデータを授受可能に互いに接続される複数の計算機と、前記各計算機に接続され、前記頂点の事象に対する１つ以上の状態を表す属性を含む識別子を保持する記憶装置と、前記記憶装置において前記各頂点に関して保持する識別子の個数を、前記頂点の分布に基づく空間分布図として表示する表示装置と、を含み、前記各計算機は、前記辺で結ばれて隣接する前記頂点に対応する計算機との間で、互いの保持する識別子の個数に基づく所定のアルゴリズムにより、互いの計算機の間での識別子の遷移確率を計算し、当該計算結果に応じて、互いの計算機が保持する識別子の個数を更新し、前記更新による識別子の個数の変化量を示す特徴量を元に所定のアルゴリズムに従って更新量を決定し、当該更新量に基づいて前記識別子の個数を更新する。
【発明の効果】
【０００９】
本発明によれば、大規模で一箇所に集めることができないデータや、時々刻々と更新されるデータに対する効率的な計算が可能となる。
【図面の簡単な説明】
【００１０】
【図１】実施例１における解析対象となるグラフ構造モデルの例を示す図である。
【図２】実施例１における各頂点上の情報子数の一例を示す図である。
【図３】実施例１における情報処理システムを含むネットワーク構成のブロック図である。
【図４】実施例１の情報処理で行われる処理の一例を示すフローチャートである。
【図５】実施例１の受信処理の一例を示すフローチャートである。
【図６】実施例１の送信処理の一例を示すフローチャートである。
【図７】実施例１の取得処理の一例を示すフローチャートである。
【図８Ａ】実施例１における計算順序の概略を示す説明図である。
【図８Ｂ】実施例１における計算順序の概略を示す説明図である。
【図９】実施例１における計算モデルとループ回数の関係を示す図である。
【図１０】実施例２の情報処理システムにおける計算機の構成の一例を示すブロック図である。
【図１１】実施例２における計算モデルの辺に重みがある場合のグラフ構造データを示す図である。
【図１２】実施例２における辺の重みと遅延時間との関係を示す図である。
【図１３】実施例２における情報子の遷移時間の一例を示す図である。
【図１４】実施例３における実社会活動に即したグラフ構造データの取得概念の一例を示す図である。
【図１５】実施例３における実社会活動に即したグラフ構造データの取得概念の一例を示す図である。
【図１６】実施例３における情報処理システムの構成の一例を示すブロック図である。
【図１７】実施例３の情報処理方法における処理手順の一例を示すフローチャートである。
【図１８】実施例３の情報処理方法における受信処理の一例を示すフローチャートである。
【図１９】実施例３の情報処理方法における送信処理の一例を示すフローチャートである。
【図２０】実施例３の情報処理方法における計算結果の取得処理の一例を示すフローチャートである。
【図２１】実施例４における情報処理システムの構成の一例を示すブロック図である。
【図２２】実施例４におけるプロセスのデータブロックへのアクセスチャートの例を示す図である。
【図２３】実施例４におけるプロセスの関係性の一例を示す図である。
【図２４】実施例４における情報処理システムの概略を示す図である。
【図２５】実施例４におけるプロセスのアクセスチャートの一例を示す図である。
【図２６】実施例４におけるデータブロックに対応する情報子格納領域への処理の一例を示す図である。
【図２７】実施例４における各情報子の格納領域に格納された情報子の数と時間の関係を示す図である。
【図２８】実施例５における処理対象の倉庫の構成を示す図である。
【図２９】実施例５におけるピックアップ作業の概念を示す図である。
【図３０】実施例５における棚に設置された計算機および作業者が保持する移動端末の例を示すブロック図である。
【図３１】実施例５における計算機および移動端末のハードウェアの構成の一例を示すブロック図である。
【図３２】実施例５における情報処理の概念を示す図である。
【図３３】実施例５における各棚に設置された計算機と移動先の関係を示す図である。
【図３４】実施例５における計算機で行われる処理の一例を示すフローチャートである。
【図３５】実施例５における計算結果の取得処理に関するフローチャートである。
【図３６】実施例５における効果例を示す図である。
【図３７】実施例６における概念を示す図である。
【図３８】実施例６における情報子の交換例を示す図である。
【図３９】実施例６における各頂点の情報子数から各ユーザの所属コミュニティを特定する概念を示す図である。
【図４０】実施例７における概念を示す図である。
【図４１】実施例８における遷移確率テーブル１の例を示す図である。
【図４２】実施例８における遷移確率テーブル２の例を示す図である。
【図４３】実施例８における遷移確率テーブル３の例を示す図である。
【図４４】実施例９における情報子総数の変化と、情報処理システム全体の情報子の分布の変化を示す図である。
【図４５】実施例９における計算機で行われる処理の一例を示すフローチャートである。
【図４６】実施例９における情報子数制御処理の一例を示すフローチャートである。
【図４７】実施例９における情報子の分裂処理の一例を示すフローチャートである。
【図４８】実施例９における情報子の融合処理の一例を示すフローチャートである。
【図４９】実施例９における情報子数と各頂点上で算出される時間方向の相互情報量および各頂点上の情報子数の変化のパワースペクトルの関係を示す図である。
【図５０】実施例９における概念を示す図である。
【図５１】実施例１０における計算機の処理の一例を示すフローチャートである。
【図５２】実施例１１における計算機で行われる処理の一例を示すフローチャートである。
【図５３】実施例９における判定のアルゴリズムの一例を示す図である。
【発明を実施するための形態】
【００１１】
以下に本発明の実施形態について図面を用いて詳細に説明する。まず本実施形態における情報処理方法の技術的思想について、従来技術での課題も踏まえてその概念を説明しておく。従来技術においては、対象データを全て一箇所に集めた上でなければデータ解析が実行できず、大規模データいわゆるビッグデータが解析対象である場合、非常に広範囲に散在する各データを即時性を持って漏れなく効率的に収集してこれを解析し、更にこの解析結果をデータ起源の各対象に応答する処理が必要となり、更新が頻繁なデータには特に適用が困難であった。
【００１２】
そこで本実施形態の情報処理方法においては、こうした不具合を解決すべく、分散したデータごとに解析を行う自律分散型のデータ解析を行うこととなる。この自律分散型のデータ解析は、分散したデータを管理する各要素（具体的には計算機）が、自身のデータと隣接する他の要素のデータに関して所定の計算を行い、要素全体として所望の計算を行う手法である。
【００１３】
上述した自律分散の概念に対応する現象は、自然界では良く見られる現象であり、例えば生物学分野における反応拡散モデルが良く知られている。この反応拡散モデルのうち、例えばシマウマの縞模様形成に関するモデルにおいて、シマウマの縞模様は、各細胞における蛋白質の拡散が個別に行われることによって生じるとされる。本実施形態においては、こうした自律分散の反応拡散モデルを、物や情報などの拡散が各所、各要素にて個別に行われる状況に置き換えてデータ解析に応用した技術について示すものとする。
【実施例１】
【００１４】
まず、本発明の情報処理システムの概念的な処理について説明する。図１は、本情報処理システムにおいて解析対象となるグラフ構造モデル（以下、計算モデル１）の概念図である。この計算モデル１０は、頂点１１０〜１１４とこれら頂点間を結ぶ辺１２１で構成されるグラフ構造に対し、情報単位である情報子（Information particle）を拡散させることで計算を実施し、各頂点１１０〜１１４上の情報子数を解とする計算モデルである。また、本実施例１では計算対象を分類問題とする。【００１５】
ここで、情報の単位である情報子（識別子）を定義する。情報子は状態（属性）の変数を持つデータで、本実施例１では状態数＝２とし（すなわちデータ容量は１ビット）、それぞれ状態ｕ、状態ｖとする。すなわち、１つの頂点は複数の情報子を含み、後述するように、１つの頂点は、情報子の総数に応じて状態（属性）が対応付けられる。【００１６】
図１に、状態ｕの情報子１３２と状態ｖの情報子１３１を例示する。各情報子は辺１２１に沿って拡散（情報子の拡散１４０）する。計算結果は各頂点上の情報子数から得ることができる。各頂点上の情報子数テーブル１５０（図２参照）から、例えば頂点Ａ（頂点１１０）は情報子数（状態ｕ）＝０、情報子数（状態ｖ）＝２で、情報子数（状態ｖ）が最大となる。最大となった情報子の状態を分類結果に対応させる。すなわち状態ｕを分類結果Ａ、状態ｖを分類結果Ｂとすると、頂点Ａは分類結果Ｂとなる。後述する計算機が各頂点において同様に計算すると、全ての頂点をＡかＢのどちらかに分類することができる。なお、図２は、各頂点上の情報子数の一例を示す図である。【００１７】
続いて、本実施例１における情報処理システム１００の構成例について説明する。図３は本実施例１における情報処理システム１００の構成の一例を示すブロック図である。図３に示す情報処理システム１００は、１つ以上の計算機２２０−１〜２２０−４を含むものであり、これら計算機間はネットワーク１で接続されている。なお、以降は、特に計算機間の区別を行わない限り、計算機２２０と記すものとする。【００１８】
これら計算機２２０は、ＣＰＵ２２１、ＲＡＭなど揮発性記憶装置で構成される主記憶装置２２２、ハードディスクドライブなど適宜な不揮発性記憶装置で構成されるストレージ２２３、キーボードやマウス、ディスプレイ等の入出力装置２２４、ネットワークＩ／Ｆ２２５を含んでいる。こうした構成を有する計算機２２０は、ＣＰＵ２２１が、主記憶装置２２２に格納されたプログラム２２６を実行して必要な機能を実装し、計算機自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なう。従って、本実施例１の情報処理方法に対応する機能は、上述の計算機２２０がプログラム２２６の実行により実装される機能に該当する。【００１９】
次に、上述の図３の計算モデルをあらためて説明しつつ、本実施例１における情報処理方法の実際手順について図に基づき説明する。図４は本実施例１の情報処理方法における手順の一例を示すフローチャートである。この場合、まずステップ３１１において、各計算機２２０−１〜２２０−４は、各計算機毎に分割して配置された、上述の計算モデル１０における該当頂点に関するデータを、自身のストレージ２２３などに格納する。例えば計算機２２０−１がストレージ２２３にて格納するデータは、例えば図３に例示するように、ストレージ２２３における所定データ領域２３０−１に格納される。ここで、図１と同様の計算モデル１０を想定し、同一の記号を付している。【００２０】
なお、１つのグラフ構造データが複数のストレージ２２３のデータ領域２３０−１〜２３０−４に分散して保存され、各データ領域２３０−１〜２３０−４は、ネットワーク１を介して接続される。【００２１】
上述のデータ領域２３０−１では、頂点Ａたる頂点１１０と、頂点Ｂたる頂点１１１と、各頂点の接続先の情報を計算機２２０−１がストレージ２２３に格納する。すなわち、頂点Ａたる頂点１１０が接続された頂点Ｄたる頂点１１３の情報と、頂点Ｂたる頂点１１１が接続された頂点Ａたる頂点１１０と、頂点Ｃたる頂点１１２と、頂点Ｄたる頂点１１３の情報がストレージ２２３のデータ領域２３０−１に格納される。【００２２】
続いて、ステップ３１２において、各計算機２２０は、上述のステップ３１１で各データ領域２３０から取得した計算モデル１０に含まれる全ての頂点に対し、各頂点に割り当てられている情報子の数を、予め決められた数で初期化する。例えば、頂点Ａたる頂点１１０について予め決められた数が状態ｕ＝０、状態ｖ＝２であった場合、計算機２２０は、ストレージ２２３にて格納するデータのうち、頂点Ａに割り当てられる情報子数を、情報子数（状態ｕ）＝０、情報子数（状態ｖ）＝２とする。【００２３】
上述したステップ３１２の後、各計算機２２０は、一定回数のループ処理（ステップ３１３−１〜３１３−２）を実行する。各計算機２２０は、当該ループ処理内において、上述のステップ３１１にてデータを取得した全頂点に対しループ処理（ステップ３１４−１〜３１４−２）を実行し、情報子の受信処理（ステップ３１５）と送信処理（ステップ３１６）を実行する。上述の二つのループ処理（ステップ３１３−１〜３１３−２、ステップ３１４−１〜３１４−２）が終了した後、各計算機２２０は、計算結果の取得処理（ステップ３１７）を実行して本フローチャートを終了する。【００２４】
続いて、上述したフローチャートのうち、受信処理（ステップ３１５）と、送信処理（ステップ３１６）、および、計算結果の取得処理（ステップ３１７）について説明する。  図５は、受信処理（ステップ３１５）の一例を示すフローチャートである。各計算機２２０は、当該フローチャートの開始後、情報子を他頂点から受信したか否かについて判定を行う（ステップ４１１）。この判定が真であれば（ステップ４１１：Ｙ）、計算機２２０はストレージ２２３にてデータを格納する情報子数を更新し（ステップ４１２）、上述の判定が偽ならば（ステップ４１１：Ｎ）、本フローチャートを終了する。【００２５】
図６は、送信処理（ステップ３１６）の一例を示すフローチャートである。各計算機２２０は、当該フローチャートの開始後、上述の頂点に関するループ処理（ステップ３１４）で選択された頂点から辺で接続された頂点（隣接する頂点と呼称する）上の情報子数を取得する（ステップ５１２）。なお、ここで計算機２２０が取得する情報子数は、過去に取得した情報子数の場合でも良い。【００２６】
その後、計算機２２０は、上述のステップ３１４で選択された頂点上の情報子に対するループ処理（ステップ５１３−１〜５１３−２）を実行する。計算機２２０は、当該ループ内において、上述のステップ３１４で選択された情報子に対して遷移確率を算出する（ステップ５１４）。この遷移確率の算定式を数式（１）として以下に示す。【００２７】
【数１】
2017056168.tif 000003
【００２８】
ただし、Ｎｄｊは頂点ｊの次数である。また、左辺Ｐは遷移確率を示し、Ｐｕは状態ｕの情報子の遷移確率を示す。また、ｕとｖは情報子の異なる状態を表す。例えば、２状態（１ビット）の情報子であれば、ｕは状態＝０、ｖは状態＝１となる。また、ＮｕおよびＮｖは情報子数を表す。例えば、Ｎｕは状態ｕの情報子数、Ｎｖは状態  ｖの情報子数となる。また、第３項および第４項のΣは近傍範囲内の隣接する頂点に対して計算する。ＮｕｉおよびＮｖｊは近傍範囲内の隣接する頂点ｊの各状態の情報子数となる。また、ｆ，ｇは関数、α、βは正の定数である。【００２９】
なお、計算機２２０は過去の情報子の更新履歴に基づく予測にて遷移確率を算定するとしても良い。こうした予測方法における計算機２２０は、予め、テストパターンを上述の数式（１）に入力して得られた結果を正解データとし、過去の情報子の更新履歴と該頂点の情報子数を入力データとして、所定のニューラルネットワークで学習させ、こうして学習させたモデルを遷移確率の算出に用いるものとする。計算機２２０は本モデルを用いることで、隣接する頂点の情報子数を過去の情報子の更新履歴に置き換えることができる。【００３０】
上述のステップ５１４に続き、計算機２２０は、ステップ５１５において、上述のステップ５１４で算出した遷移確率と予め決められた閾値とを比較する。その結果、例えば、閾値が０．５で、０．５≦遷移確率≦１の場合（ステップ５１５：Ｙ）、すなわち遷移確率が高いと判定した計算機２２０は処理をステップ５１６に進める。他方、例えば、０≦遷移確率＜０．５である場合（ステップ５１５：Ｎ）、計算機２２０は遷移確率が低いと判定し、処理を終了（ステップ５２０）に進める。【００３１】
計算機２２０は、ステップ５１６において、ステップ５１２で情報子数を得ている隣接する頂点から一つの頂点を選択する。ここでの選択方法は、ランダムやラウンドロビンなどが考えられる。次に計算機２２０は、ステップ５１７において、上述のステップ５１６で選択した隣接する頂点（に対応する計算機）に対し、該情報子のデータ（状態）をネットワークＩ／Ｆ１２５から送信する。また計算機２２０は、ステップ５１８において、当該頂点の情報子数を更新（情報子を送信したため、情報子数−１を実行）する。【００３２】
続いて、図７は、図４のフローチャートにおける計算結果の取得処理（ステップ３１７）に関する詳細なフローチャートを示す。計算機２２０は、当該フローチャートの開始後、ステップ６１１において、自身がストレージ２２３にて格納する各頂点の各状態の情報子数を比較し、最大の情報子数を保有する状態を選択する。例えば、状態数が２状態（ｕとｖ）であって、ある頂点上の状態ｕの情報子数が１、状態ｖの情報子数が２の場合、計算機２２０は状態ｖを選択する。【００３３】
次に計算機２２０は、ステップ６１２において、上述のステップ６１１で選択した状態に対応する結果を、ネットワーク１上の所定の計算機２２０の表示装置ないし入出力装置２２４に表示する。例えば、状態ｖに対応する結果が分類結果Ｂであった場合、該頂点が分類Ｂに属していることが分かる（状態ｕはコミュニティＡ）。他の頂点も同様に計算することができる。【００３４】
ここで、本計算モデルの特徴として、計算結果は情報子の計算順序に依存しないという点がある。図４、図６にて例示したフローチャートにおいて、頂点のループ（ステップ３１４−１）および頂点上の情報子のループ（５１３−１）は、その頂点や情報子の計算順序が自由であって、例えば、ある頂点Ａを処理し、その後頂点Ｂを処理した場合と、頂点Ｂを処理し、その後頂点Ａを処理した場合で、計算結果が変化しない。すなわち計算順序は自由である。【００３５】
図８Ａ、図８Ｂに、図３の計算モデル１０および情報処理システム１００を想定した際の計算順序について、その概略を示す。図８Ａ、図８Ｂでは、計算順序の異なる二つのフローチャートを示しており、それぞれ図８Ａの処理順序１と図８Ｂの処理順序２として記載する。また、頂点間の送信受信によるデータ（情報子）の移動は、頂点Ｄが関連する移動のみ示している。【００３６】
このうち図８Ａの処理順序１において、頂点Ｄは頂点Ａと頂点Ｂと頂点Ｅと辺に接続されるため、当該頂点間で情報子の移動が発生する。計算順序１では、頂点Ｄの受信処理の前に、頂点Ａについて頂点Ｄと同一周期の送信処理と、頂点Ｅ頂点Ｄと同一周期の送信処理が実行されている。しかし、頂点Ｂについて頂点Ｄと同一周期の送信処理はまだ実行されていないため、頂点Ｄの受信処理では、頂点Ａからの同一周期の情報子の移動７１０と、頂点Ｂからの前の周期の情報子の移動７１２と、頂点Ｅからの同一周期の情報子の移動７１１が発生する。【００３７】
一方、図８Ｂの前記処理順序２では、頂点Ｄの受信処理の前に、頂点Ａ、頂点Ｂ、頂点Ｅの送信処理が実行されていないため、頂点Ａからの前の周期の情報子の移動７５０と、頂点Ｂからの前の周期の情報子の移動７５０と、頂点Ｅからの前の周期の情報子の移動７５０が発生する。これから、処理順序１と処理順序２では情報子の移動するタイミングが異なる。【００３８】
しかしこれらの処理順序１と処理順序２のどちらでも、処理をある程度の時間繰り返した後では、同じ計算結果に収束する。以上から、本計算モデルは、図３にて示した構成例では、並列計算時に、各計算機２２０が独立に計算を実施しても計算結果が変化しないことを示しており、各計算機２２０が広域に分散し、計算機間の通信手段の遅延の問題で同期などの連携が実行できない場合でも処理が実行できることとなる。ゆえに、本発明によって広域にデータが分散した対象問題に対して分類問題を解くことが可能である。【００３９】
更に具体的な例を図９にて示す。図９は、計算モデルとループ回数の関係を示す図である。図９に示す例は頂点数が４０９６の計算モデルである。なお図９では頂点間の辺は図が煩雑化するため示していない。図９は、円の中心付近では頂点が密集しており、外周に行くほど頂点の密度が低くなる。また、円を横切っている頂点が無い波状のギャップは、円の中心付近のギャップより、円の外周付近の頂点間の距離の方が大きい。そのため、従来の統計的手法の１つである距離の閾値による分類を行った場合、波状のギャップを認識することができず、正しく分類できない。【００４０】
一方で、本発明の手法では、自律分散的に分類を行うため、中心付近の高密度の領域でのギャップと外周付近の低密度でのギャップを正しく認識できる。この図９で示す計算モデルにおいて、情報子の状態数は２とし、この情報子数の初期化において、頂点群８１０−１に情報子（状態ｕ）、頂点群８１０−２に情報子（状態ｖ）を、それぞれ４０９６×８個を割り当てたとする。また図９の各頂点において、情報子数が、状態ｕが多い場合と状態ｖが多い場合で、図示する濃度（白色からグレーを経て黒色に至る色調濃度）を変えている。【００４１】
図９のループ回数ｔの状態８１０において、情報子はグラフ構造データの上端と下端の一部に拡散しているだけであるが、ループ回数ｔ＋ｎの状態８２０において、情報子は全体に行き渡っている。しかし、上述のループ回数ｔ＋ｎの状態では、グラフ構造データ中心のギャップ付近で、分類精度が落ちている。一方、ループ回数ｔ＋２ｎの状態８３０では綺麗な分類を行っている。【００４２】
以上のように本実施例１によれば、大規模で一箇所に集めることができない分散データや、時々刻々と更新されるデータに対する効率的な計算が可能となる。
【実施例２】
【００４３】
続いて、実施例１の計算モデルにて定義した各辺が重み係数を含む場合について、実施例２として説明する。この実施例２においては、実施例１にて示した送信処理に各辺の重み係数に基づいた遅延処理が加わる。そのため計算機２２０は該当処理を実行する遅延器９１１を有する構成となっている。その他の構成については、前記実施例１と同様である。【００４４】
図１０は、実施例２の情報処理システムにおける計算機９１０の構成の一例を示すブロック図である。ここで示す計算機９１０は、前記実施例１の図３で示した各計算機２２０−１〜２２０−４に相当するもので、同一機能をもつモジュールは同一の符号を付す。実施例２における当該計算機９１０は、計算機２２０−１〜２２０−４に対し、遅延器９１１を新たに有する。【００４５】
これを踏まえて、図１１は、計算モデルの辺に重みを付加した場合のグラフ構造データ９２０を示す。当該グラフ構造データ９２０では、頂点Ａ９５０と頂点Ｂ９５１と頂点Ｃ９５２が含まれ、頂点Ａ−Ｂ間の辺には値が１である重み９６０、頂点Ａ−Ｃ間の辺には値が１０である重み９６１が存在するとする。【００４６】
重みを負荷したグラフ構造データ９２０において、情報子が頂点Ａ９５０から頂点Ｂ９５１に移動するとき、計算機９１０は、上述の重み９６０に従って、遅延器９１１により情報子の遷移を遅延させる。図１２は、辺の重みと遅延時間との関係テーブル９４０を予め規定した例を示す。【００４７】
図１３は、情報子の遷移時間の一例を示す図である。計算機９１０は、すなわち、情報子の遷移時間を制御し、たとえば図１３にて示すように情報子の遷移時間９３０は、頂点Ａ９５０から頂点Ｂ９５１に移動するとき、重み＝１であるから遅延時間ｔ＝１（９７０）とする。同様に、頂点Ａ９５０から頂点Ｃ９５２に移動するとき、重み＝１０（９６１）であるから、遅延時間はｔ＝１０（９７１）となる。重みと遅延時間の関係は、図１２の如く予めテーブル９４０で与えても良いし、予め定めた所定の数式などを用いて計算機９１０が算出するとしても良い。
【実施例３】
【００４８】
続いて、実施例１にて示した図４のフローチャートにおけるステップ３１１、すなわちグラフ構造データの取得処理に際して、実社会の活動に即してデータを自動的に取得する機能を有する情報処理システムの例について説明する。実施例３の概念において、計算モデルであるグラフ構造データを情報処理システム上で算出せず、実社会の活動をそのまま用いることとなる。【００４９】
図１４は、実施例３における実社会活動に即したグラフ構造データの取得概念の一例を示す図である。図１４において、例えば、実社会の活動として人の会話を想定した場合、計算モデルたるグラフ構造データは、人の会話のログ（誰と誰が、何回、どのくらいの時間、会話したかのログ）から構造化される。【００５０】
例えば実社会における活動（１０００）で人Ａ（１００１）と人Ｂ（１００２）が会話を行った場合、その記録データを得た計算機２２０は、該当会話の頻度および時間を表現したグラフ構造データ１０１０として、上述の人Ａに相当する頂点Ａ（１０１１）と人Ｂに相当する頂点Ｂ（１０１２）との間に辺１０１３を生成する。【００５１】
上記生成されたグラフ構造データ１０１０に対して、情報子による解析を行った結果１０２０を示す。各頂点の属性は、各頂点上の情報子数に従って算出でき、頂点Ａ１０２１、頂点Ｂ１０２２は黒い四角で表現された情報子の属性となる。図１４の１０２０と図１５の１０６０は結果に至る計算の手段が異なるが同じ解析結果を示す。【００５２】
計算機２２０は、上述の処理によってデータの構造化１０３０を行う。もちろん、実社会の活動は、人の会話に限らず、物と物の間の活動（例えば、ロボット、自動車、信号機などの機械の通信）、人と物の間の活動、また人を介した物の間の活動（複数の施設や棚を巡回する人を介して、場所や施設間の間接的な通信）、仮想空間上でのＳＮＳのユーザ間の交流（メッセージ通信、電子メールなど）等でも良い。この場合の計算機２２０は、実社会における活動をグラフ構造データに構造化し、その後、実施例１で例示した処理と同様に解析する。【００５３】
一方で、グラフ構造データを構造化するときの入力データである実社会における活動に、情報子を付随させれば、グラフ構造データを構造化する間の入力データそのものを利用した計算が可能である。図１５は、実社会における活動に付随して情報子を交換する様子１０５０を示す図である。上述の人Ａと人Ｂは情報子を保持でき、人Ａと人Ｂとの会話時にこの情報子を更新できる場合、計算機２２０は、実社会の活動を使用した計算１０７０を実行して、その計算結果たる解析結果１０６０として、実社会上すなわち人Ａと人Ｂが保持する情報子数が得られる。実施例３〜６においては本概念に対応した具体的な構成について説明することとする。【００５４】
こうした実施例３における情報処理システムの構成について以下説明する。図１６は、本実施例３における情報処理システム１００の構成の一例を示すブロック図である。ここで例示する情報処理システム１００は、デバイス群３００１と頂点３０１０に保持または実装されるデバイス３０２０によって構成される。本実施例では、一例として実社会を処理対象とした情報処理システムを記載し、デバイス群３００１は実社会の人の集まり、各デバイスは人等が保有するスマートデバイスとする。もちろん、デバイス群は人に限らず、車などの移動体、機械に付随するスマートフォン、組み込みコンピュータのような機器やデータに付随するプログラムでも良い。解析対象となる問題は、頂点群の分類問題とする。各頂点が人の場合、例えば、ある集団のコミュニティ検出などに応用される。【００５５】
この場合、計算機たるデバイス３０２０は、ＣＰＵ３０２１、プログラム３０２６を格納する主記憶装置３０２２、ストレージ３０２３、入出力装置３０２４、ネットワークＩ／Ｆ３０２５で構成される。またデバイス３０２０は通信可能と認識される近傍範囲３０３０を有するものとする。図１６の例では、人や機器に付随するデバイス３０２０において、該デバイス３０２０を中心とし、予め決められた値を半径とする円が近傍範囲３０３０となる。こうした近傍範囲３０３０はデバイス間の物理的な距離から算出できるが、ネットワークＩ／Ｆ３０２５の発信する無線電波等の到達範囲や、デバイス間（すなわちデバイスを保有する頂点間）のコミュニケーションの頻度、例えばメールの交換回数などがある閾値以上の範囲でもよい。【００５６】
また、デバイス３０２０はネットワークＩ／Ｆ３０２５などを用いて近傍範囲３０３０内において通信可能である。図１６の例では頂点３０１０は近傍範囲３０３０内に存在する別のデバイス３０１１に通信を行う機能を有する。この近傍範囲３０３０に存在するデバイスが、実施例１で示した辺で接続された頂点に相当するため、実社会の活動そのものが辺となる。つまり実施例１のグラフ構造データが不要となる。また、本実施例３では、デバイス３０２０を頂点と呼称する。【００５７】
次に、本実施例３における情報処理方法の処理手順の一例について説明する。図１７は本実施例３の情報処理方法における処理手順を示すフローチャートである。ここで、情報の単位である情報子は実施例１で定義したものと同様である。【００５８】
この場合、各デバイス３０２０は、フローチャートの開始後、まず該当頂点３０１０の情報子数を初期化する（ステップ３１１１）。当該ステップ３１１１の処理内容は、当該デバイス３０２０において、情報子の数を予め決められた数で初期化するものとなる。例えば、頂点Ａの予め決められた数が状態ｕ＝０、状態ｖ＝２であった場合、デバイス３０２０は頂点Ａに割り当てられる情報子数を、情報子数（状態ｕ）＝０、情報子数（状態ｖ）＝２とする。その後、デバイス３０２０は、ステップ３１１２において、受信処理のプロセスの起動を実行し、ステップ３１１３において送信処理のプロセスの起動を行う。【００５９】
次にデバイス３０２０は、ステップ３１１４において、計算結果の取得処理のプロセスを起動する。デバイス３０２０は、受信処理のプロセス（ステップ３１１２）と送信処理のプロセス（ステップ３１１３）と計算結果の取得処理のプロセス（ステップ３１１４）を並列に実行してもよい。【００６０】
以下、上述の各プロセスのうち受信処理のプロセス（ステップ３１１２）について説明する。本実施例３における受信処理と、実施例１での受信処理との主な違いは、一定時間経過による処理の追加である。図１８は、受信処理の一例を示すフローチャートである。【００６１】
デバイス３０２０は、当該プロセス開始後、ステップ３２１１において、予め決められた時間を経過したか否かを判定する。判定が真ならば（ステップ３２１１：Ｙ）、デバイス３０２０は、ステップ３２１２に処理を移す。【００６２】
また、ステップ３２１２においてデバイス３０２０は、他のデバイスより情報子を受信したかどうか判定し、判定が真ならば（ステップ３２１２：Ｙ）、ステップ３２１３において、自デバイスの情報子数を更新（情報子数−１）する。該プロセスは終了の割り込みなどで終了する。また、ステップ３２１１の処理は、一定時間の経過に代わって、通信をトリガとした処理であってもよい。【００６３】
続いて上述の送信処理のプロセス（ステップ３１１３）について具体的に説明する。本実施例３における送信処理と実施例１の送信処理との主な違いは、一定時間経過による処理の追加である。【００６４】
図１９は、送信処理の一例を示すフローチャートである。デバイス３０２０は、当該プロセスの開始後、ステップ３３１１において、予め決められた時間を経過したか否かを判定する。この判定が真ならば（ステップ３３１１：Ｙ）、デバイス３０２０はステップ３３１２に処理を移す。このステップ３３１２においてデバイス３０２０は、前述した近傍範囲３０３０内に存在する頂点に対し通信を行い、この頂点が保持する情報子数を取得する。【００６５】
続くステップ３３１３−１〜ステップ３３１３−２は自頂点の各情報子に対するループ処理である。当該ループ処理において、ステップ３３１４では、デバイス３０２０は、自情報子の遷移確率を算出する。当該ステップは実施例１のステップ５１４の処理と同様である。【００６６】
その後、デバイス３０２０は、ステップ３３１５において、上述のステップ３３１４で算出された遷移確率と予め決められた閾値とを比較する。その結果、遷移確率＞閾値が真であるならば（ステップ３３１５：Ｙ）、ステップ３３１６に処理を進める。例えば、閾値が０．５で、０≦遷移確率＜０．５の時、デバイス３０２０は、処理をステップ３３１１に進め、他方、０．５≦遷移確率≦１ならば、処理をステップ３３１６に進める。【００６７】
デバイス３０２０は、ステップ３３１６において、近傍範囲３３０内の頂点から一つの頂点を選択する。この選択方法は、ランダムや順番（ラウンドロビン）などが考えられる。その後、デバイス３０２０は、ステップ３３１７において、上述のステップ３３１６で選択した頂点（のデバイス）に対し、自情報子のデータ（状態）をネットワークＩ／Ｆ３０２５から送信する。【００６８】
またデバイス３０２０は、ステップ３３１８において、自頂点の情報子数を更新（情報子を送信したため、情報子数−１を実行する）。また、これらの処理のパラメータ（例えば遷移確率の算出式の係数、閾値、選択方法など）は頂点で異なっても良い。【００６９】
次に、上述の計算結果の取得処理のプロセス（ステップ３１１４）について具体的に説明する。図２０は、計算結果の取得処理のフローチャートを示す。この場合、デバイス３０２０は、計算結果の取得処理の開始後、ステップ３４１１にて、入出力装置３０２４から結果取得の要求があるかを判定する。この判定が真ならば（ステップ３４１１：Ｙ）、デバイス３０２０は、ステップ３４１２およびステップ３４１３を実行する。当該ステップは実施例１のステップ６１１とステップ６１２とそれぞれ同様であり、説明は省略する。【００７０】
以上の処理により、実施例１と同様に頂点に対する分類問題が解ける。実施例３における頂点は、実社会に分散するデバイスであるので、つまり、実社会に分散するデバイスに対する分類問題をグラフ構造データを生成せずに効率的に解ける。
【実施例４】
【００７１】
次に、上述の実施例３における各頂点がデータであり、頂点間の辺がデータ間のアクセスの連続性とした計算モデルに対応した情報処理システムの例として実施例４を示す。本実施例４では、複数の計算機上で複数のプロセスが処理される時、各プロセスに必要なデータを効率よく計算機に配置する方法を提供するものである。【００７２】
図２１は、実施例４における情報処理システムの構成の一例を示すブロック図である。図２１で例示する情報処理システム４０００において、計算機１２０−１と計算機１２０−２がネットワーク１で接続されており、計算機１２０−１でプロセス１が処理されており、当該計算機１２０−１のデータ領域１３０−１にデータブロック１、２、３が格納されているとする。【００７３】
また計算機１２０−２でプロセス２が処理されており、当該計算機１２０−２のデータ領域１３０−２にデータブロック４、５、６が格納されているとする。また上述のデータブロックは、上述のプロセス１、２に必要なデータが格納されている。また、データ領域１３０−１、１３０−２は、ストレージ（図示省略）上に格納されて、計算機１２０で実行されるプログラムが計算に必要とするタイミングで、ストレージのデータ領域１３０から所望のデータが主記憶（図示省略）上に転送される。【００７４】
図２２は、各プロセス１、２の各データブロックへのアクセスチャート４０１０の例を示す図である。図２２に例示するアクセスチャート４０１０において、時間区画Ｔにおける時間方向に隣接するデータブロックを関係性ありとする。具体的には、プロセス１がデータブロック１にアクセスし、その後、連続してデータブロック２にアクセスした場合、データブロック１−データブロック２の関係性を「＋１」する。【００７５】
図２３は、各プロセスの関係性を積算して算出した関係性４０２０の一例を示す図である。図２３におけるテーブル４０２１において、行のデータブロック１と列のデータブロック２の値（４２１１）の「２」は、上述の時間区間Ｔにおいて、データブロック１へのアクセス後に連続してデータブロック２へアクセスした回数が「２」回であることを示している。また、図２３の関係性のテーブル４０２１をグラフ表記すると関係グラフ４０２３となる。当該グラフ４０２３は回数「０」の辺を表記していない。この結果から、本来は、データブロック１、２、６がプロセス１の処理計算機のデータ領域すなわちデータ領域（１３０−１）、データブロック３、４、５がプロセス２の処理計算機のデータ領域すなわちデータ領域（１３０−２）に格納されているのが好ましいことを示している。【００７６】
図２４は、本実施例４における情報処理システム４１００の概略図を示す。当該情報処理システム４１００は、図２１の情報処理システム４０００の記憶領域の構成を詳細化した図である。情報処理システム４１００は、各データ領域１３０−１、１３０−２に、各データブロックに対応する情報子格納領域１〜６（４１０１−１〜４１０１−６）を持つ。この格納領域はひとつ以上の情報子を格納する機能を持つ。【００７７】
続いて、本実施例４の情報処理方法について説明する。図２５は、各プロセスのアクセスチャート４２００を示す図である。本実施例４では、各データブロックのアクセス時に、各データブロックに対応する情報子格納領域に対し処理を実施するものとする。図２６は、この情報子格納領域に対する処理４３００の一例を示す図である。ここでは、プロセス１がデータブロック１にアクセスした時、情報子の格納領域１に対する処理４２０１として、当該領域１に格納されている情報子を取得する。すなわち情報子数を減算する。【００７８】
当該例では、当該処理前には情報子数＝１０に対し、当該処理４２１０において、上述の領域１に格納されている情報子を５個取得している（情報子数＝１０−５＝５）。その後、プロセス１はデータブロック２にアクセスするため、上述のデータブロックに対応する情報子の格納領域２に対し処理４２０２を実施する。本処理では、前処理４２０１で取得した５つの情報子を、当該領域２に加算する（４２１１）。【００７９】
そしてさらに、当該処理では、当該領域から情報子を取得する（４２１２）。このような処理を繰り返すことで、情報子を各データブロックに対応する格納領域間で循環させる。関連性の高い（連続してアクセスされやすい）データブロックは、情報子の分布によって、同一のクラスタに分類される。定期的に、情報子の分布に従ってデータブロックを計算機のデータ領域間で移動させることで、関連性の高いデータブロックを同一の計算機に集めることができる。【００８０】
次に、本実施例４の計算例を示す。図２７は、各情報子の格納領域１〜６に格納された情報子の数と時間の関係を示す図である。また当該図２７において、各情報子の格納領域に格納される情報子の数の初期状態をテーブル４３１０にて示す。【００８１】
ここで、本実施例４では、情報子の状態数は２（状態ｕと状態ｖ）で、上述の時間変化やテーブル４３１０の情報子数は状態ｕ―状態ｖの式で算出している。また、初期状態は、データ領域１３０−１上の領域１〜３は情報子ｕ＝１０、情報子ｖ＝０（情報子ｕー情報子ｖ＝１０）、データ領域１３０−２上の上記領域４〜６は情報子ｕ＝０、情報子ｖ＝１０（情報子ｕ−情報子ｖ＝−１０）とする。各領域の情報子数は、データブロックへのアクセス毎に更新され、図２７のように時間変化していく。【００８２】
図２７の時刻Ｔｐに着目すると、格納領域３と格納領域６の情報子の状態数の大小が反転している。そのため、初期状態では、領域１〜３と領域４〜６というクラスタであるが、時刻Ｔｆでは、領域１、２、６と領域３、４、５というクラスタに変化している。これは、図２３のデータブロック間の関係性４０２０で前述した好ましいデータブロックの配置になっている。
【実施例５】
【００８３】
次に、倉庫における荷物のピックアップ作業に関し、当該作業を行う作業者の動線距離を短くするように、倉庫内の棚の再配置を行う問題を扱う場合の情報処理方法について実施例５として示す。図２８は、処理の対象とする倉庫５０００の構成を例示する。当該倉庫５０００は内部に複数の領域を持つ。図２８における倉庫５０００は、領域Ａ（５０１０−１）〜領域Ｄ（５０１０−４）の４つの領域を持つ。【００８４】
これら各領域Ａ〜Ｄは、該当領域内に複数の棚５０１１−Ａ１〜５０１１−Ｄ１が配置されている。図２８の例では、領域Ａ（５０１０−Ａ）に置かれている棚の１つとして棚５０１１−Ａ１を図示しているが、その他の複数の棚が配置されているものとする。領域Ｂ〜領域Ｄも領域Ａと同様に複数の棚５０１１を有している。さらに、各棚５０１１は、複数の荷物５０１２を置くことができる。図２８の例では、棚Ａ−１（５０１１−Ａ１）に荷物５０１２−Ａ１−１、５０１２−Ａ１−２が配置された例を図示している。他の棚５０１１についても同様に複数の荷物５０１２を配置可能である。【００８５】
続いて、上述の各棚５０１１に配置された荷物５０１２のピックアップ作業について説明する。図２９はピックアップ作業の概念を示す図である。図２９において、作業者５１００は所定の荷物リスト５１１０に従って、各棚５０１１に置いてある荷物５０１２をピックアップする。本実施例５では、ピックアップする荷物は荷物５０１２−Ａ１−１、５０１２−Ｂ１−２、５０１２−Ｄ１−１である。【００８６】
作業者５１００は、リスト５１１０に従って、各荷物５０１２が置かれている棚５０１１−Ａ１、５０１１−Ｂ１、５０１１−Ｄ１を訪問することになる。その場合、該当作業者の移動経路は移動経路５１２０のようになる。ここで、荷物５０１２のピックアップ順は規定されない。【００８７】
次に、上述の荷物５０１２のピックアップ作業において、複数の作業者５１００がいた場合、本実施例５の情報処理方法により作業者５１００の移動距離を削減する方法について説明する。図３０は、棚に設置した計算機および作業者５１００が所持する移動端末を示すブロック図である。本実施例では、各棚５０１１に計算機５２１０が設置されており、また、各作業者５１００は移動端末５２２０を所持している。【００８８】
図３１は、計算機５２１０および移動端末５２２０の構成例を示すブロック図である。【００８９】
計算機５２１０および移動端末５２２０は同様の構成である。計算機５２１０および移動端末５２２０は、ＣＰＵ１０２１、ＲＡＭなど揮発性記憶装置で構成される主記憶装置１０２２、ハードディスクドライブなど適宜な不揮発性記憶装置で構成されるストレージ１０２３、キーボードやマウス、ディスプレイ等の入出力装置１０２４、ネットワークＩ／Ｆ１０２５を含む。ＣＰＵ１０２１が、主記憶装置１０２２に格納されたプログラム１０２６を実行することで所定の機能を提供し、計算機自体の統括制御を行なうとともに各種判定、演算及び制御処理を行なう。【００９０】
続いて本実施例の情報処理方法の概念について説明する。図３２は実施例５における情報処理の概念を示す図である。図３２において、作業者５１００が棚Ｂ−１（５０１１−Ｂ１）から荷物を取得した状態１（５３０１）の後、上述の作業者５１００が棚Ｂ−１（５０１１−Ｂ１）から棚Ｄ−１（５０１１−Ｄ１）に移動して状態２（５３０２）となり、その後、作業者５１００が棚Ｂ−１（５０１１−Ｂ１）から荷物５０１２を取得して、状態３（５３０３）に至った一連の作業例を示している。【００９１】
上述の状態１（５３０１）において、作業者５１００が棚Ｂ−１から荷物５０１２を取得する時、該当作業者５１００が所持する移動端末５２２０と棚Ｂ−１に設置された計算機５２１０−Ｂ１との間で通信を実施し、互いの情報子数を更新する。【００９２】
また、状態２において作業者５１００が棚５０１１を移動し、状態３で別の棚５０１１−Ｄ１から荷物を取得する時、該当作業者５１００が所持する移動端末５２２０と棚Ｄ−１に設置された計算機５２１０−Ｄ１との間で通信を実施し、互いの情報子数を更新する。すなわち、作業者５１００を介して、棚Ｂ−１から棚Ｄ−１へ情報子が移動している。こうした処理を複数の各作業者で実施することで、棚間で情報子が循環することになる。【００９３】
その後、各棚の計算機５２１０は、自身が有する情報子数から、各棚の移動先を算出する。たとえば、情報子の種類が２種（状態ｕと状態ｖ）であった場合、状態ｕ＞状態ｖの時、移動先の領域をＡ、状態ｕ＜＝状態ｖの時、移動先の領域をＢとする。【００９４】
図３３は、実施例５における各棚５０１１に設置された計算機５２１０と、各棚５０１１の移動先の関係を示す図である。図３３において、各棚５０１１に設置された計算機５２１０と棚５０１１の移動先の関係を記述したテーブル５４００を示す。このテーブル５４００から、棚Ａ−１と棚Ｂ−２とは領域Ｂ、棚Ａ−２、棚Ｂ−１、棚Ｂ−３は領域Ａに設置することが推奨される。【００９５】
その後、作業者５１００は上述の移動先領域に従って移動することとなる。この移動は、計算機５２１０からの指示を受けた棚５０１１の自走機構（図示省略）や、或いは棚５０１１の移動を実行するロボット（図示省略）により実行されてもよい。また、棚５０１１の移動の実行タイミングは、計算機５２１０からの指示により毎日夜間でも良いし、隔日などであってもよい。【００９６】
次に、本実施例５における計算機５２１０の処理のフローチャートについて説明する。図３４は、各計算機５２１０で行われる処理の一例を示すフローチャートである。【００９７】
各計算機５２１０は、当該フローチャートの開始後、情報子数を初期化（ステップ５５１１）する。その後、当該計算機５２１０の受信処理（ステップ５５１２）と、送信処理（ステップ５５１３）のプロセスを起動する。その後、計算機５２１０は計算結果の取得処理（ステップ５５１４）を起動する。こうした各処理（ステップ５５１１〜５５１３）は、実施例３に関する図１７に記載の各処理（ステップ３１１１〜３１１４）と同様なものとすることができる。【００９８】
図３５は、計算結果の取得処理（ステップ５５１４）に関するフローチャートを示す。このフローチャートにおけるステップ５６１１にて、各計算機５２１０は、自身が保持する各状態の情報子数を比較し、最大の情報子数を保有する状態を選択する。例えば、状態数が２状態（ｕとｖ）であって、ある頂点上の状態ｕの情報子数が１、状態ｖの情報子数が２の場合、計算機５２１０は状態ｖを選択する。【００９９】
その後、計算機５２１０は、ステップ５６１２において、上述のステップ５６１１で選択した状態に対応する移動先領域を決定し、ネットワーク等で接続された所定の表示装置ないし自身の入出力装置１０２４に表示する。例えば、状態ｖが最大の状態であった場合、対応する領域は領域Ｂ（状態ｕは領域Ａ）である。【０１００】
図３６は、本実施例５の効果を示す図である。図３６においては、計算機５２１０による上述の棚移動のシミュレーションによる、作業者５１００の移動距離削減効果について示している。この例では、初期状態５７００の時の作業者５１００の移動距離を１とした時、本実施例５による解析結果に基づく棚の移動を実施した場合の収束状態５７０１において、倉庫にてピックアップ作業を行う作業者の移動距離は０．０８となり、削減効果は９２％となった。【０１０１】
以上のように、本実施例５によれば、棚から荷物のピックアップを行う作業者５１００の動線から、棚の配置を最適化することができる。
【実施例６】
【０１０２】
次に、ソシアルネットワークサービスなどの複数のユーザ間の交流サービスにおいて、ユーザのクラスタリング、すなわちコミュニティを検出する問題を扱う際の、情報処理方法について実施例６として説明する。ここでは、上述の実施例３において各頂点がユーザで、頂点間の辺がユーザ間の交流とする情報処理システムを想定する。ここで、交流とは、例えば、メールの送受信、メッセージの送受信、個人のページへの訪問や投稿などが該当する。【０１０３】
図３７は、本実施例６の概念を示す図である。図３７において、ユーザ１（６０１１）とユーザ２（６０１２）が、それぞれ保有する端末６０３１、６０３２を利用し、交流サービスを通じてメッセージ送信（６０２０）を行った場合を想定する。【０１０４】
この場合、ユーザ１は、保有する端末１（６０３１）を操作し、例えばメッセージ送信画面６０４０から、ユーザ２に宛ててメッセージを送信する。このメッセージはサーバなどの交流サービスの情報処理システムを介し、ユーザ２の端末２に届けられ、例えば、メッセージ受信画面６０４１が該当端末にて表示されることになる。【０１０５】
なお、端末６０３１、６０３２の構成は、前記実施例３の図１６に示したデバイス３０２０と同様の構成である。【０１０６】
図３８は、本実施例６における情報子の交換例を示す図である。図３８において、情報子を、各ユーザが所持する端末または上述の交流サービスを提供している情報処理サービスの各ユーザの記憶領域、に格納するものとする。この場合、初期状態を状態１（６１０１）とする。【０１０７】
その後、ユーザ１（６０１１）がユーザ２（６０１２）にメッセージを送信する時、該当端末６０３１、６０３２はメッセージに情報子を付加する。状態２（６１０２）にて、端末６０３１、６０３２がメッセージに付加する情報子数６１１３の例を示す。ここでは、ユーザ１の端末６０３１から情報子５個が付加された例となっている。【０１０８】
その後、状態３（６１０３）において、上述のメッセージをユーザ２の端末６０３２が受信した時、上述のメッセージに付加された情報子に基づき、ユーザ２の端末６０３２で格納される情報子数６１１２を更新する。【０１０９】
図３９は、実施例６における各頂点の情報子数から各ユーザの所属コミュニティを特定する概念を示す図である。図中の頂点Ａ〜Ｅは、各端末に相当する。【０１１０】
以上の一連の手順から、メッセージを介してユーザ間で情報子が循環することとなる。実施例３や図３９にて示すように、こうして更新された各頂点の情報子数（図３９における時刻ｔ＋２の状態）から、各ユーザ（＝頂点）が所属するコミュニティを特定する。こうして特定されたコミュニティは、例えば、同一コミュニティに属するユーザの公開テキスト情報から頻出キーワードを抽出し、該当コミュニティに属するユーザにマーケティングを行うなどの応用が考えられる。以上から、本実施例６にて交流サービス上でのユーザが所属するコミュニティを検出できる。
【実施例７】
【０１１１】
次に、上述の実施例５にて示した倉庫５０００において、図２９の各作業者５１００の荷物リスト５１１０が予め入手できた場合の棚５０１１の最適配置をシミュレーションする形態について実施例７として示す。【０１１２】
上述の実施例５においては、倉庫５０００内での作業者５１００の移動履歴に合わせて棚５０１１（Ａ１〜Ｄ１）の最適配置を実施する例を示した。本実施例７では、例えば計算機５２１０が荷物リスト５１１０を入手してから、該当荷物リスト５１１０中の荷物の発送まで十分な時間があるならば、計算機５２１０が、この荷物リスト５１１０からグラフ構造データを作成し、実施例１にて示した情報処理システム１００と同様の計算を実行する。【０１１３】
計算機５２１０は、その計算結果（分類結果）から、上述の実施例５で示した、分類結果（情報子数）と移動先領域の関係表に基づいて棚５０１１の移動先を算出する。こうした計算機５２１０による棚５０１１の移動先の算出後、倉庫５０００内にて実際に作業者５１００が荷物５０１２のピックアップ作業に入る前に、計算機５２１０にて算出された棚５０１１の移動先に従って棚５０１１を配置する。棚５０１１の配置手段については実施例５と同様である。よって、本実施例７は、計算機５２１０が、１つ以上の荷物リスト５１１０からグラフ構造データを生成する方法に対応したものとなる。【０１１４】
計算機５２１０が上述の荷物リストからグラフ構造データを生成する概念について説明する。図４０は、実施例７の概念を示す図である。この場合、例えば、３つの荷物リスト７００１、７００２、７００３が存在し、作業者５１００はこれらリスト７００１〜７００３の番号順に荷物５０１２をピックアップするとする。また、各棚５０１１を頂点とすると、倉庫５０００内における作業者５１００の移動の軌跡は作業者５１００の軌跡のグラフ７０１０のようにできる。【０１１５】
このグラフ７０１０の各辺に付加された値は、該当作業者５１００の通過回数である。グラフ７０１０の辺を、上述の通過回数の最大数で規格化すると、規格化された作業者５１００の軌跡のグラフ７０１１のようになる。このグラフ７０１１は、各辺に重みを付加されたグラフ構造データとなる。【０１１６】
こうしたグラフ構造データを、実施例１、２と同様の情報処理システムが処理することで、頂点すなわち棚５０１１を分類することが可能であり、この分類結果に対応する移動先を実施例５の方法で算出することで、各棚５０１１の最適な移動先を算出できる。
【実施例８】
【０１１７】
次に、情報処理システムの計算機が実施例１における遷移確率式（数式（１））を遷移確率テーブルとして持つ形態について、実施例８として示す。【０１１８】
図４１は、遷移確率テーブル１（８００１）の例を示す図である。図４２は、遷移確率テーブル２（８００２）の例を示す図である。図４３は、遷移確率テーブル３（８００３）の例を示す図である。【０１１９】
情報処理システムの計算機は、この遷移確率テーブル８００１〜８００３に、自頂点の情報子数（ｕ，ｖ）と隣接頂点の情報子数（ΣＮｊｕ、ΣＮｊｖ）とを照合し、テーブル中での対応値を特定することで遷移確率を決定する事ができる。上記の各テーブル８００１〜８００３の値は、計算機が予めシミュレーションを実行し、目的とする結果が得られる値を実験的に算出したものとなる。
【実施例９】
【０１２０】
次に、実施例１の計算モデルにて定義した情報処理システムにおいて、計算機２２０で行われる処理または計算機２２０間の通信にエラーが発生し、情報子のデータが変動した場合、情報子の総数の変動を抑制する例を実施例９として説明する。なお、情報処理システムの構成は、前記実施例１の情報処理システム１００と同様である。【０１２１】
前記エラーが本情報処理システムに与える影響を記載する。実施例１で示したとおり、当該情報処理システムは情報子を計算機２２０間で通信し、交換することで情報処理システム全体の計算を実現している。【０１２２】
しかし、前記エラーがある場合、情報処理システム全体の計算が所望する通りに行われない可能性がある。例えば、簡単な例では、第一の計算機と、第二の計算機の間で情報子が移動している場合、前記計算機２２０間で、ある割合でエラーが発生し、情報子がロストする場合、時間と共に情報処理システム全体の情報子の総数が減少し、最終的には、情報子は移動しなくなり、所望の処理結果が得られない。【０１２３】
また逆に、時間と共にシステム全体の情報子の総数が増加する場合も、所望の処理結果が得られない。情報子の総数が増加する場合は、例えば、減少した情報子を増やす機能を内蔵した場合等が考えられる。【０１２４】
図４４は、実施例９において情報子の総数が変化したときの、情報処理システム全体の情報子の分布の変化を示す図である。図４４の状態１（９００１）〜状態４（９００４）は情報子の分布を示しておる。また、本図では頂点を二次元格子状に配置し、情報子は２状態（ｕとｖとする）を用意し、各頂点において、状態ｕの情報子数＞状態ｖの情報子数ならば灰色、それ以外ならば黒色で分布を表している。【０１２５】
図４４において、実施例１で示した分類問題の処理は、状態２（９００２）で実現できている。しかし、情報子総数が減少すると状態１（９００１）となり、情報子総数が増加すると状態３（９００３）または、状態４（９００４）となり所望の処理結果を得ることができない。ゆえにエラーを有する環境下で処理する情報処理システムにおいて、情報子の総数を一定量または所定の範囲内に保つ方法を記載する。【０１２６】
情報子の分布は図４４で示すとおり、本情報処理システムは情報子数で異なる分布状態となる。よって、各頂点において、前記状態を検知する方法と各状態に合わせ情報子数を制御する方法を組み合わせることで、システム全体の情報子の総数を一定量に保つことができる。【０１２７】
図４５〜図４８に情報子数の制御処理を加えたフローチャートを示す。まず、図４５は、実施例１で示した図３のフローチャート（図３）に、情報子数制御処理９１０１を加えたフローチャートを示す。情報子数制御処理（９１０１）は、各頂点における受信の処理（３１５）の後に実行される。その他の処理については、前記実施例１の図３と同様であるので、説明を省略する。【０１２８】
次に、図４６は、当該情報子数制御処理（９１０１）のフローチャートを示す。当該処理ではまず、計算機２２０は、計算対象となっている頂点の情報子数の時間変化データを主記憶装置２２２から取得する（９２０１）。【０１２９】
計算機２２０は、取得した時間変化データに基づき、状態予測アルゴリズムを用いてシステム状態を予測する（９２０２）。本実施例９では、状態１〜状態４の何れかに予測される。状態１は情報子数が少なく、状態２、状態３と順に多くなり、状態４が最も多い状態を意味する。【０１３０】
計算機２２０は、予測された状態に従い、次の処理を決定する。状態１の場合は、情報子の分裂処理（９２１０）を実行し、状態２の場合は何もせず、状態３または状態４の場合は、情報子の融合処理が実行される（９２１１）。その後、本処理は終了する。【０１３１】
また、各状態１〜４に対応する処理（分裂、融合、何もせず）は目的に応じて変更することができる。本実施例９では、状態２を所望の状態としているため、状態２よりも情報子数が少ない状態１では分裂、情報子数が多い状態３、４では融合処理となる。【０１３２】
ここで、状態の予測（９２０２）と各状態の処理の分岐（９２０３）について具体的に説明する。状態の予測に用いる特徴量としては、例えば、相互情報量とパワースペクトルを用いる。【０１３３】
図４９は、情報子数と各頂点上で算出される時間方向の相互情報量および各頂点上の情報子数の変化のパワースペクトルの関係を示す。計算機２２０は、予め決められた一定時間Ｔの間の情報子数を記憶し（時間変化データ）、その時間Ｔの相互情報量とパワースペクトルを算出する。【０１３４】
相互情報量は時間方向の２つの情報量から算出され、各情報量は一定時間Ｔ内の各頂点の状態の発生確率から算出される。発生確率は、例えば、情報子が２つの状態（ｕとｖ）を有し、各頂点の状態も２つの状態（ｕとｖで、頂点上の情報子の数で決まる）の時、状態ｕの確率Ｐｕは時間Ｔ内の状態ｕであった割合、確率Ｐｖは状態ｖであった割合から算出できる。【０１３５】
情報量は、より前記確率が同一になるほど少なくなる傾向にあり、例えば、Ｐｕが０またはＰｖが０の時は情報量も０となる。相互情報量も同様の傾向を持つ。【０１３６】
また、パワースペクトルは各頂点上の情報子の変化量から算出される。各計算機２２０で、頂点上の情報子の変化量を高速フーリエ変換し、変換結果から直流成分を除いた交流成分の電力値としてパワースペクトルが計算される。パワースペクトルは、情報子量が変化しない、または変化量がノイズのように一定の周期を持たない場合は低い値をとり、一定の周期で増減を繰り返す場合には大きな値をとる指標である。【０１３７】
図４９において、Iave（９５０２）は各頂点上の相互情報量の平均値を示し、Idif（９５０１）は各頂点上の相互情報量の最大と最小の差分を示し、PWacはパワースペクトル（９５０３）を示す。【０１３８】
図４９から、また、状態の予測に用いる特徴量は、情報子の流量も利用できる。流量は一定時間あたりの情報子数の変化の大きさを示し、例えば一定時間Ｔ内で送信された情報子の総数（頂点から見たときの情報子の流出量）や、受信した情報子の総数（頂点から見たときの情報子の流入量）、または一定時間Ｔ内の情報子の数の最大数と最小数の差などである。【０１３９】
図５３は、状態１〜４の判定を行う擬似コードで記載したアルゴリズム５３０の例を示す。【０１４０】
アルゴリズム５３０は、ｘ１が相互情報量の平均値Iave（９５０２）を示し、ｘ３がパワースペクトル（９５０３）を示し、ｙが予測された状態を示す。以上のような方法により、各頂点において、情報処理システム全体の状態を予測する。【０１４１】
状態１は、情報子の数が少なく、各頂点の状態が静止（情報子の変化量が０）の状態で、例えば、相互情報量は０になる（各状態の発生確率の何れかが０になっている）。この場合、相互情報量の最大と最小の差分やパワースペクトルも０になる。状態２は、状態１の判定が偽かつ、相互情報量が予め決められた閾値（ｔｈ１）より小さい場合に、判定される。これは、状態２において、特に境界付近の情報量が多い一方、全体的に状態が変化せず情報量が少ないためである。【０１４２】
次に状態３の判定は、パワースペクトルが閾値（ｔｈ２）以上の時に状態３と判定される。これは状態３において、周期的なパターンの変化をしていることを表している。それ以外の状態を状態４と判定する。【０１４３】
以上のアルゴリズム５３０によって、計算機２２０は、相互情報量とパワースペクトルから情報子の総数に応じた状態１〜４を予測する。【０１４４】
なお、状態の予測に用いる特徴量として、相互情報量とパワースペクトルを用いる例を示したが、所定時間内の情報子の個数の変化量を用いればよい。所定時間内の情報子の個数の変化量の一例として相互情報量を用いることができる。また、所定時間内の情報子の個数の変化量の一例としてパワースペクトルを用いることができる。また、所定時間内の情報子の個数の変化量の一例として情報子の個数の最大値と最小値の差分を用いることができる。【０１４５】
次に、図４７は、情報子の分裂処理（９２１０）のフローチャートを示す。分裂処理では、まず計算機２２０が処理対象となっている頂点に格納されている情報子の中からひとつの情報子を選択する（９３０１）。情報子の選択の方法は、自頂点に格納されている情報子の中からランダムで選択する方法や、自頂点に格納されている情報子で状態が多い方の状態を情報子の中からランダムで選択（例えば、頂点に状態ｕの情報子が３つ、状態ｖの情報子が２つならば、状態ｕの情報子の中からランダムで選択）する方法などを適宜採用することができる。【０１４６】
その後、計算機２２０は選択された情報子を元に、新しい情報子を生成する処理を実行する（９３０２）。前記生成処理の例として、計算機２２０は選択された情報子と同一の状態を持つ情報子をひとつ生成する。情報子は、前記実施例１で記載したとおり、状態の変数を持ち、例えば二状態ならばｕとｖなどである。よって、選択された情報子の状態がｕの時、生成される情報子の状態もｕとなる。【０１４７】
以上の処理によって、計算機２２０は新たな情報子を生成し、情報処理システムの情報子に加えることができる。【０１４８】
図４８は、情報子の融合処理（９２１１）のフローチャートである。融合処理では、まず計算機２２０が処理対象となっている頂点に格納されている情報子の中からひとつの情報子を選択する（９４０１）。選択された情報子を融合元の情報子と呼ぶ。【０１４９】
情報子の中からひとつの情報子を選択する方法は、ランダムで選択する方法や、自頂点に格納されている情報子の数で、最も多い状態を持つ情報子の中からランダムで選択（例えば、頂点に状態ｕの情報子が３つ、状態ｖの情報子が２つならば、状態ｕの情報子の中からランダムで選択）する方法や、受信した情報子のうちもっとも新しい情報子を選択する方法、などを適宜採用すればよい。【０１５０】
その後、計算機２２０は融合元の情報子を元に融合先の情報子を選択する（９４０２）。前記融合先の情報子の選択では、選択された情報子と同一の状態を持つ情報子からランダムで選択する。【０１５１】
その後、計算機２２０は前記処理９４０１で融合元の情報子および前記融合先の情報子をもとに融合処理を実施する（９４０３）。前記融合処理では、融合先の情報子のデータを削除する。すなわち、融合先の情報子が消滅し、融合元の頂点が保持され、自頂点内の情報子数がひとつ減少する。【０１５２】
以上の処理によって、計算機２２０は融合先の情報子を削除して、情報処理システムの情報子から消滅させることができる。【０１５３】
上記の方法に従って処理することで、計算機２２０が全体の情報子を集約せずに情報処理システム全体における情報子の総数を一定の範囲内（所望の処理を行う範囲内）に保つことが可能となる。【０１５４】
図５０は、実施例９の概念図を示す。情報処理システム全体の情報子数が減少すると、各頂点おいて状態１（９００１）に移行し、計算機２２０では情報子の分裂処理（９２１０）が行われ情報子の数が増加する。一方、情報処理システム全体の情報子の数が増加すると、各頂点において状態３、４に移行し、計算機２２０では情報子の融合処理が行われ、情報子数が減少する。このように情報処理システムでは、情報子の総数の予測結果（状態１〜４）に応じて、情報子の分裂処理や融合処理または情報子の維持によって情報子の総数を調整し、所望の状態２を保つことができる。
【実施例１０】
【０１５５】
次に、実施例１０は、前記実施例９で記載した情報子の総数の管理方法を用いて、情報処理システム全体の状態数が複数存在する場合の構成例を示す。図５１は、前記実施例９の図４６に示したシステム全体の状態数を複数（ｎ）に変更したフローチャートを示す。【０１５６】
本実施例１０において、前記状態の数をｎ個とし、状態１から情報子数が少ない順に並んでいるとする（状態１が最も少ない）。【０１５７】
図５１のステップ９２０１、９２０２は実施例９の図４６と同様である。図５１のステップ１０００１において、まず計算機２２０は目標状態を主記憶装置２２２から取得する。前記目標状態とは、情報処理システム全体の所望の処理を実現する状態を表し、図示しない管理計算機から設定することができる。あるいは、計算機２２０に予め設定されていてもよい。【０１５８】
本実施例１０では、目標状態として状態３が予め設定されている場合を説明する。目標状態が状態３では、各状態の添え字の符号は情報子が少ない順に並んでいるため、状態１〜２は情報子の数が少なく、状態４〜ｎは情報子の数が多いときに判定される。【０１５９】
そして、本処理では各状態１〜ｎに割り当てる情報子の分裂処理か融合処理または操作なしの何れかが決定される。例えば、状態１〜２では情報子の分裂／融合処理（１００１０、１００１１）では分裂処理に決定され、状態４〜ｎ（１００１２、１００１３）では融合処理に決定される。【０１６０】
その後、前記決定に従い、計算機２２０は情報子の分裂／融合処理のどちらか一方が実施される（１００１０〜１００１３）。ここで分裂処理と、融合処理は実施例９の図４７、図４８に記載した処理内容と等しい。また、ステップ１０００１の条件分岐に係るアルゴリズムは、頂点が処理される計算機２２０の主記憶装置２２２に格納されており、ネットワークを介して当該アルゴリズムを変更することで、前記条件を変更することができる。なお、ステップ１０００１の条件分岐に係るアルゴリズムは、前記実施例９のアルゴリズム５３０と同様であり、相互情報量とパワースペクトルから情報子の総数に応じた状態１〜ｎを予測する。【０１６１】
以上のように、状態の数がｎの場合においても、前記実施例９と同様にして情報子の総数の予測結果（状態１〜ｎ）に応じて、情報子の数を調整し、所望の状態３（目標状態）を保つことができる。
【実施例１１】
【０１６２】
次に、実施例１１は、前記実施例１０で記載した構成に、情報処理システム全体の処理を加えた構成を示す。図５２は、実施例１１における計算機で行われる処理の一例を示すフローチャートである。このフローチャートは、前記実施例１０で説明した図５１の処理に、情報処理システム全体の処理を加えたフローチャートである。【０１６３】
本実施例１１においては、前記実施例１０と同様に情報処理システム全体の状態の数をｎ個とし、状態１から状態ｎまで、情報子が少ない状態から昇順に並んでいるものとする。【０１６４】
本実施例１１では、各状態における情報子の分裂／融合処理（１００１０、１００２０、１００３０、１００４０）の後に、各状態における情報処理システム全体のための処理（１００１１、１００２１、１００３１、１００４１）が加えられている。これらの各処理は、情報処理システム全体の状態１〜ｎに従って異なる処理を実施することができる。【０１６５】
さらに、本実施例１１の計算機２２０には、物理的な位置を変更可能な移動装置が付加されて、情報処理システム全体の状態１〜ｎに応じた処理で移動することができる。また、計算機２２０間の通信エラーが、計算機２２０間の物理的な距離に依存しており、距離が長いとエラーレートが上昇し、短いとエラーレートが減少する場合を考える。【０１６６】
情報処理システムの状態の数が４（ｎ＝４）で、所望の状態は２とする。この時、情報処理システム全体の状態が状態１となっている場合、すなわち、全体の情報子の総数が少なく、情報子の数を増加させるため、計算機２２０は、情報子の分裂／融合処理１００１０で情報子の分裂処理を実施する。【０１６７】
その後、状態１の処理（１００１１）において、情報子の数が減少する原因と考えられる通信エラーを改善する効果を目的として、前記移動装置が付加された計算機２２０に凝集の決定を行う。前記凝集とは計算機２２０同士が近づくように移動させることで、予め決められた点に集合する方法や、隣接する計算機２２０に近づく方法などが考えられる。複数の計算機２２０が凝集することで、計算機間の距離が短くなり、通信エラーレートが改善され、システム全体を所望の処理を実現できる。【０１６８】
一方、情報処理システム全体の状態が状態３、４となっている場合、全体の情報子の総数が多く、情報子数を減少させるため、計算機２２０は情報子の分裂／融合処理（１００３０、１００４０）で情報子の融合を実施する。【０１６９】
その後、計算機２２０は、状態３、４の処理（１００３１、１００４１）において、まだ通信エラーが許容できるか否かを判定し、前記移動装置が付加された計算機２２０に散開の決定を行う。前記散開とは計算機２２０同士が遠ざかるように移動させることである。本実施例１１で開示した構成の効果として、例えば前記移動装置を伴う計算機２２０がロボットなどであった場合、複数のロボットは互いの距離を一定の範囲内に収める効果がある。【０１７０】
また、前述の例では、距離に応じて通信エラーが異なる場合を示したが、例えば、ネットワークＩ／Ｆ２２５で、通信エラーレートが高い近接赤外線通信と、通信エラーレートが低いＷｉｒｅｌｅｓｓＬＡＮなどの通信ネットワークを切り替える方法であったり、エラーレートの高い通信経路を、エラーレートの低い通信経路に切り替える方法であってもよい。【０１７１】
以上のように、本実施例１１によれば、前記実施例１０の効果に加えて、通信エラーの発生状態や、通信状態に応じて移動装置を制御することが可能となって、通信エラーの発生率が低い位置へ計算機２２０を移動させることが可能となる。【０１７２】
以上、本実施例１〜１１の情報処理システムおよび情報処理方法によれば、大規模で一箇所に集めることができないデータや、時々刻々と更新されるデータに対する効率的な計算が可能となる。【０１７３】
本明細書の記載により、少なくとも次のことが明らかにされる。すなわち、本実施例１〜１１の情報処理システムにおいて、前記各計算機は、前記頂点に関して自身が格納している前記識別子（情報子）のうち個数が最も多い識別子の属性を、該当頂点の属性と判定するものである、としてもよい。これによれば各頂点に対応する事象について、事象のクラスタリングを効率的に行うことができる。【０１７４】
また、上述の情報処理システムにおいて、前記各計算機は、前記アルゴリズムとして、自身で格納する前記各頂点に関する識別子の個数と、前記隣接する計算機が格納する前記各頂点に関する識別子の個数とを変数とした所定関数により、自計算機から隣接する他の計算機への該当識別子の遷移確率を計算する数式を保持しており、当該数式を用いて前記遷移確率を計算するものである、としてもよい。これによれば、各事象のクラスタリングの根拠となる識別子の個数に関して効率的で精度良好な更新処理を行うことが可能となる。【０１７５】
また、上述の情報処理システムにおいて、前記各計算機は、前記アルゴリズムとして、自身で格納する前記各頂点に関する識別子の個数と、前記隣接する計算機が格納する前記各頂点に関する識別子の個数との関係に応じて予め定められた  自計算機から隣接する他の計算機への該当識別子の遷移確率を規定するテーブルを保持しており、当該テーブルを用いて前記遷移確率を計算するものである、としてもよい。これによれば、各事象のクラスタリングの根拠となる識別子の個数に関して更に効率的で精度良好な更新処理を行うことが可能となる。【０１７６】
また、上述の情報処理システムにおいて、前記各計算機は、前記遷移確率の計算結果に応じて識別子の個数を更新する際、自身と前記隣接する計算機とで格納する識別子の個数の総和を維持するよう更新を行うものである、としてもよい。これによれば、識別子の通信に関して効率的で精度良好な更新処理を行うことができる。【０１７７】
また、上述の情報処理システムにおいて、前記グラフ構造における複数頂点に対して１つの計算機が対応するとしてもよい。これによれば、複数の頂点すなわち複数の事象に関して統括するサーバ装置において本発明の情報処理方法を実行することが可能となる。【０１７８】
また、本実施例１〜１１における、ネットワークを介してメッセージを送受信する複数の端末と管理計算機とを含む情報処理装システムにおいて、前記各端末は、前記ネットワークを介したメッセージの送受信に代えて、各端末が物理的に近接した場合に該当端末間で直接通信を行い、該当端末が格納している識別子の個数を更新するものである、としてもよい。これによれば、インターネット等の広域通信回線だけでなく各種の近接無線通信等の手段によるメッセージ授受の形態にも対応して処理を行うことが可能となる。【０１７９】
なお、本発明は上記した各実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。【０１８０】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。【０１８１】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【図１】
2017056168.tif 000004
【図２】
2017056168.tif 000005
【図３】
2017056168.tif 000006
【図４】
2017056168.tif 000007
【図５】
2017056168.tif 000008
【図６】
2017056168.tif 000009
【図７】
2017056168.tif 000010
【図８Ａ】
2017056168.tif 000011
【図８Ｂ】
2017056168.tif 000012
【図９】
2017056168.tif 000013
【図１０】
2017056168.tif 000014
【図１１】
2017056168.tif 000015
【図１２】
2017056168.tif 000016
【図１３】
2017056168.tif 000017
【図１４】
2017056168.tif 000018
【図１５】
2017056168.tif 000019
【図１６】
2017056168.tif 000020
【図１７】
2017056168.tif 000021
【図１８】
2017056168.tif 000022
【図１９】
2017056168.tif 000023
【図２０】
2017056168.tif 000024
【図２１】
2017056168.tif 000025
【図２２】
2017056168.tif 000026
【図２３】
2017056168.tif 000027
【図２４】
2017056168.tif 000028
【図２５】
2017056168.tif 000029
【図２６】
2017056168.tif 000030
【図２７】
2017056168.tif 000031
【図２８】
2017056168.tif 000032
【図２９】
2017056168.tif 000033
【図３０】
2017056168.tif 000034
【図３１】
2017056168.tif 000035
【図３２】
2017056168.tif 000036
【図３３】
2017056168.tif 000037
【図３４】
2017056168.tif 000038
【図３５】
2017056168.tif 000039
【図３６】
2017056168.tif 000040
【図３７】
2017056168.tif 000041
【図３８】
2017056168.tif 000042
【図３９】
2017056168.tif 000043
【図４０】
2017056168.tif 000044
【図４１】
2017056168.tif 000045
【図４２】
2017056168.tif 000046
【図４３】
2017056168.tif 000047
【図４４】
2017056168.tif 000048
【図４５】
2017056168.tif 000049
【図４６】
2017056168.tif 000050
【図４７】
2017056168.tif 000051
【図４８】
2017056168.tif 000052
【図４９】
2017056168.tif 000053
【図５０】
2017056168.tif 000054
【図５１】
2017056168.tif 000055
【図５２】
2017056168.tif 000056
【図５３】
2017056168.tif 000057
【国際調査報告】
2017056168.tif 000058
2017056168.tif 000059
2017056168.tif 000060