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