JP6634000B2 - グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム - Google Patents

グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム Download PDF

Info

Publication number
JP6634000B2
JP6634000B2 JP2016217518A JP2016217518A JP6634000B2 JP 6634000 B2 JP6634000 B2 JP 6634000B2 JP 2016217518 A JP2016217518 A JP 2016217518A JP 2016217518 A JP2016217518 A JP 2016217518A JP 6634000 B2 JP6634000 B2 JP 6634000B2
Authority
JP
Japan
Prior art keywords
parameter
graph
unit
vertex
adjacency matrix
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2016217518A
Other languages
English (en)
Other versions
JP2018077584A (ja
Inventor
千紘 渡邊
千紘 渡邊
允裕 中野
允裕 中野
小萌 武
小萌 武
川西 隆仁
隆仁 川西
薫 平松
薫 平松
柏野 邦夫
邦夫 柏野
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2016217518A priority Critical patent/JP6634000B2/ja
Publication of JP2018077584A publication Critical patent/JP2018077584A/ja
Application granted granted Critical
Publication of JP6634000B2 publication Critical patent/JP6634000B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラムに係り、特に、グラフデータを解析するグラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラムである。
グラフデータ(例えば、映画俳優の共演関係を表すネットワークのデータ、機械同士をつなぐ無線ネットワークのデータ等)を解析する技術として、非特許文献1には、グラフGの頂点数Nに対して、「直径dが小さい」という性質(スモールワールド性と呼ばれる)を表現した確率モデルが開示されている。
Watts. D. J and Strogatz. S. H. Collective dynamics of ‘small-world' networks. Nature, 393:440-442, 1998.
しかしながら、上記確率モデルでは、平均パス長(2頂点間の最短パスの平均長) がおよそlogNのオーダになる、という問題がある。
本発明は、観測されるグラフデータを入力として、入力から推定される真のグラフ構造を出力する際に、上記従来技術が抱えていた以下の問題を解決することを目的とする。
例えば、機械同士をつなぐ無線ネットワークの構造は、一定の半径を持つ球上でのunit disk graph(下記参考文献1参照)によりモデル化することができる。
(参考文献1) Clark. B. N., Colbourn. C. J., and Johnson. D. S. Unit disk graphs. Discrete Mathematics, 86:165-177, 1990.
つまり、或る頂点(機械)uは、その頂点uから一定の距離L以内にある頂点vとはつながり(辺を結ぶ)、それよりも遠いところにある頂点wとはつながらない(辺を結ばない)ものとみなすことができる。
ところで、地球を半径Rの球とみなすと、頂点(機械)が置かれる土地は地球の面積によって限られている。このことを考慮した上で、上記のようなunit disk graphによる無線ネットワークのモデル化を考えると、頂点数(機械の数)N→∞の極限をとっても、その直径(ある機械uから、直接つながっている機械を辿って別の機械vまでたどり着くために必要な、最小の辺の数の最大値。直感的には、グラフ上で最も離れている機械同士の距離のようなもの)は定数に漸近する。つまり、機械が無限個ある状況においては、最も離れた機械同士であってもある定数個の機械を辿ればつながることができるのである。このような直径のふるまいは、従来のグラフモデルでは説明できない。
実際に上記の無線ネットワークなどのグラフデータを解析する際には、頂点数(地球上に存在する機械の数)が非常に多いため、一部をサンプルした結果がデータセットとして提供されることが考えられる。また、そのようにして作られたデータセットから、計算量削減のために更に一部をサンプルして解析するという状況が考えられる。
従来のモデルでは、サンプル前後のグラフで直径の上限が保存されないため、例えば上記のような有限土地上の無線ネットワークのデータを少数のサンプルから解析しようとすると、直径という観点で不正確な推定結果が出力されてしまう。逆に言えば、直径の観点でできるだけ正しくグラフデータを解析したいと思った場合、できる限り多くの頂点を含むデータを用いる必要があり、これには高い計算コストがかかってしまう。
本発明の目的は、直径の上限が定数となるようなふるまいをするグラフデータを解析し、真のグラフ構造を推定することができるグラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラムを得ることである。
上記目的を達成するために、本発明のグラフ構造推定装置は、観測されるグラフデータの隣接行列及び前記グラフデータで表されるグラフ上の距離の上限を表す自然数を入力する入力部と、前記グラフデータの隣接行列及び前記自然数に基づいて、前記グラフの頂点及び前記頂点に割り当てるテーブルに関する第1のパラメータ、前記テーブルの人気度に関する第2のパラメータ、及び、前記グラフデータと前記第1のパラメータと前記第2のパラメータとに基づく確率的生成モデルを用いて生成したサンプルグラフから得られた、前記頂点に割り当てるテーブルの分割を表現した行列を表す第3のパラメータ、を含むパラメータ群の初期値を生成する初期パラメータ生成部と、前記グラフデータの隣接行列、前記自然数、及び前記パラメータ群に基づいて、前記グラフデータの隣接行列に対する、前記第3のパラメータに対応する前記グラフの頂点の各々についての完全二部木から得られる隣接行列が尤もらしくなるように、前記確率的生成モデルを用いて生成されたグラフに基づいて前記パラメータ群を更新するパラメータ更新部と、前記パラメータ群の更新を終了するか否かを判定する終了判定部と、前記終了判定部により前記パラメータ群の更新を終了すると判定された場合に、前記パラメータ更新部により更新された前記第3のパラメータに対応する前記グラフの頂点の各々についての前記完全二部木から得られる隣接行列を出力する出力部と、を含む。
また、前記パラメータ更新部は、前記確率的生成モデルとして、前記グラフ上の距離の上限が前記自然数以下となるように前記グラフを生成する確率的生成モデルを用いて前記パラメータ群を更新する構成としてもよい。
また、前記パラメータ更新部は、前記確率的生成モデルを用いて前記グラフを生成する際に、前記第1のパラメータとして前記頂点の共変量及び前記テーブルの共変量を用いた基準を用いて、前記パラメータ群を更新する構成としてもよい。
本発明のグラフ構造推定方法は、入力部、初期パラメータ生成部、パラメータ更新部、終了判定部、及び出力部を含むグラフ構造推定装置におけるグラフ構造推定方法であって、前記入力部が、観測されるグラフデータの隣接行列及び前記グラフデータで表されるグラフ上の距離の上限を表す自然数を入力するステップと、前記初期パラメータ生成部が、前記グラフデータの隣接行列及び前記自然数に基づいて、前記グラフの頂点及び前記頂点に割り当てるテーブルに関する第1のパラメータ、前記テーブルの人気度に関する第2のパラメータ、及び、前記グラフデータと前記第1のパラメータと前記第2のパラメータとに基づく確率的生成モデルを用いて生成したサンプルグラフから得られた、前記頂点に割り当てるテーブルの分割を表現した行列を表す第3のパラメータ、を含むパラメータ群の初期値を生成するステップと、前記パラメータ更新部が、前記グラフデータの隣接行列、前記自然数、及び前記パラメータ群に基づいて、前記グラフデータの隣接行列に対する、前記第3のパラメータに対応する前記グラフの頂点の各々についての完全二部木から得られる隣接行列が尤もらしくなるように、前記確率的生成モデルを用いて生成されたグラフに基づいて前記パラメータ群を更新するステップと、前記終了判定部が、前記パラメータ群の更新を終了するか否かを判定するステップと、前記出力部が、前記終了判定部により前記パラメータ群の更新を終了すると判定された場合に、前記パラメータ更新部により更新された前記第3のパラメータに対応する前記グラフの頂点の各々についての前記完全二部木から得られる隣接行列を出力するステップと、を含む。
また、前記パラメータ更新部が前記パラメータ群を更新するステップは、前記確率的生成モデルとして、前記グラフ上の距離の上限が前記自然数以下となるように前記グラフを生成する確率的生成モデルを用いて前記パラメータ群を更新するようにしてもよい。
また、前記パラメータ更新部が前記パラメータ群を更新するステップは、前記確率的生成モデルを用いて前記グラフを生成する際に、前記第1のパラメータとして前記頂点の共変量及び前記テーブルの共変量を用いた基準を用いて、前記パラメータ群を更新するようにしてもよい。
本発明のグラフ構造推定プログラムは、コンピュータを、請求項1〜3の何れか1項に記載のグラフ構造推定装置の各部として機能させるためのグラフ構造推定プログラムである。
以上説明したように、本発明のグラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラムによれば、真のグラフ構造を推定することができる、という効果が得られる。
グラフ構造推定装置の機能的な構成例を示すブロック図である。 グラフ構造推定処理ルーチンを示すフローチャートである。 完全二分木の一例を示す図である。 テーブル分割の行列表現の一例を示す図である。 基本的な乱択アルゴリズムの一例を示す図である。 乱択アルゴリズムのフローチャートの一例を示す図である。 テーブル分割の様子の一例を示す図である。 完全二分木が得られる様子の一例を示す図である。 乱択アルゴリズムの具体例を示す図である。 乱択アルゴリズムの他の具体例を示す図である。
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
<本発明の実施の形態の概要>
グラフデータを解析する場合、観測されるグラフデータの直径が、頂点数Nに関わらず定数Dの上限を持つという仮定のもと、真のグラフ構造を推定する技術である。
ここで、「グラフ」、「(グラフの) 直径」の定義については後述する。本実施形態は、直径が定数D以下の全てのグラフを解の候補として含むような、真のグラフ構造の探索を可能としたものであり、グラフデータ解析の手法の中でもノンパラメトリックベイズ推定の枠組みに基づくものである。
<システム構成>
図1に示すように、本実施の形態に係るグラフ構造推定装置10は、入力部12、初期パラメータ生成部14、パラメータ更新部16、終了判定部18、及び出力部20を備えている。
入力部12は、観測されるグラフデータの隣接行列及びグラフデータで表されるグラフ上の距離の上限を表す自然数を入力する。ここで、入力部12に入力されるグラフデータは、例えば一部のグラフが欠損している等、真のグラフ構造とは言えない不完全なグラフデータである。
初期パラメータ生成部14は、入力部12により入力された隣接行列及び自然数に基づいて、グラフの頂点及び頂点に割り当てるテーブルに関する第1のパラメータ、テーブルの人気度に関する第2のパラメータ、及び、グラフデータと第1のパラメータと第2のパラメータとに基づく確率的生成モデルを用いて生成したサンプルグラフから得られた、頂点に割り当てるテーブルの分割を表現した行列を表す第3のパラメータ、を含むパラメータ群の初期値を生成する。本実施形態では、詳細は後述するが、確率的生成モデルとして、定数直径制約に基づくモデルによる乱択法を用いてサンプルグラフを生成する。
パラメータ更新部16は、グラフデータの隣接行列、自然数、及びパラメータ群に基づいて、グラフデータの隣接行列に対する、第3のパラメータに対応するグラフの頂点の各々についての完全二部木から得られる隣接行列が尤もらしくなるように、確率的生成モデルを用いて生成されたグラフに基づいて前記パラメータ群を更新する。
終了判定部18は、パラメータ群の更新を終了するか否かを判定する。
出力部20は、終了判定部18によりパラメータ群の更新を終了すると判定された場合に、パラメータ更新部16により更新された第3のパラメータに対応するグラフの頂点の各々についての完全二部木から得られる隣接行列を出力する。
グラフ構造推定装置10は、例えばCPU(Central Processing Unit)と、RAM(Random Access Memory)と、後述するグラフ構造推定処理を実行するためのグラフ構造推定プログラムを記憶したROM(Read Only Memory)と、を備えたコンピュータを含んで実現される。なお、ROMに代えて不揮発性メモリを用いてもよい。また、グラフ構造推定装置10を構成するコンピュータは、ハードディスクドライブ等の記憶部を備えていてもよい。また、ハードディスクドライブにCPUが実行するプログラムが記憶されていてもよい。CPUがROMやハードディスク等の記憶部に記憶されているプログラムを読み出して実行することにより、上記のハードウェア資源とプログラムとが協働し、以下に説明する機能が実現される。
<グラフ構造推定装置の作用>
次に、グラフ構造推定装置10の作用について説明する。まず、図2を参照して、本実施の形態に係るグラフ構造推定装置10において実行されるグラフ構造推定処理の処理ルーチンについて説明する。
ステップS100では、入力部12が、観測されるグラフデータの隣接行列A及び自然数Dを入力する。観測されるグラフデータを隣接行列の形式で表現したものを、観測されるグラフデータの隣接行列Aと呼ぶ。ここで、グラフの定義について説明する。
グラフG=(V、E)は、頂点の集合Vと、それらをつなぐ辺の集合Eで表されデータ構造である。例えば、機械同士の無線ネットワークを表すグラフにおいて、頂点は1つ1つの機械、辺は2つの機械の間の通信関係を表す。
本実施形態では、自己ループ(両端の頂点が等しい辺)や多重辺(ある2頂点間に複数の辺が存在する場合)を含まない単純グラフのみを扱う。
グラフG=(V、E)の隣接行列

とは、全ての(i,j)の組み合わせに対し、(i、j)∈Eであれば、



であれば、

として要素を定義した行列である。
また、グラフG=(V、E)において、或る頂点v∈Vのeccentricityをe(v)で表し、e(v)=maxu∈Vd(v、u)と定義する。ただし、d(v、u)は頂点vと頂点uを結ぶ最短パスの長さとする。
グラフG=(V、E)の直径は、下記(1)式で示すように、頂点集合Vにおけるeccentricityの最大値として定義される。
e(v)=maxv∈Ve(v) ・・・(1)
本実施形態では、入力部12に対して、隣接行列A及び自然数Dが入力として与えられる。ここで、隣接行列Aと自然数Dは、以下の関係を満たす組み合わせであれば、任意に設定できる。
関係:入力データAがN×Nの行列であるとき、すなわち、入力されたグラフデータにおける頂点数がNであるとき、D≦N−1。
ステップS102では、初期パラメータ生成部14が、入力部12により入力された隣接行列A及び自然数Dに基づいて、グラフデータで表されるグラフの頂点及び頂点に割り当てるテーブルに関する第1のパラメータ、テーブルの人気度に関する第2のパラメータ、及び、グラフデータと第1のパラメータと第2のパラメータとに基づく確率的生成モデルを用いて生成したサンプルグラフから得られた、頂点に割り当てるテーブルの分割を表現した行列を表す第3のパラメータ、を含むパラメータ群の初期値を生成する。
まず、正の実数α、自然数Kとして予め定めた任意の値を代入する。例えば、α=0.01、K=1000とすればよい。
また、正の実数の集合M={M}、n=1、・・・、Nと、M’={M}、k=1、・・・、Kとして、任意の値を与える。例えば、以下のように一様分布に従ってランダムに設定すればよい。
Mn、M’〜Uniform([10、20、・・・、300])
以降、M∈Mを頂点vの共変量、M’∈M’をテーブルtの共変量と呼ぶ。テーブルtは、そのテーブルを選択した頂点の集合である。なお、集合M、M’が第1のパラメータに相当する。
また、正の実数の集合Π={π}、k=1、・・・、Kとして、任意の値を与える。例えば、以下のようにΓ分布に従ってランダムに設定すればよい。
π〜Γ(1、α)
以降、πをテーブルkの人気度と呼ぶ。なお、πは第2のパラメータに相当する。
また、サイズが(N−1)×(D−1)のN個の行列T、n=1、・・・、Nとして、それぞれ以下の条件1、2を満たす任意のものを与える。なお、行列Tは第3のパラメータに相当する。
条件1:Tから1列目の値だけ抜き出して作ったベクトルT :,1が、根の頂点以外の全ての頂点の番号を1つずつ並べたベクトルに対する置換で得られる。
条件2:Tから1列目を除いて作った行列T :,2:D+1が、以下の条件2−1〜2−3を満たす。
条件2−1:全ての要素が0若しくはK以下の自然数である。
条件2−2:或る(i、j)成分の値が0のとき、i行目のj+1列以降の要素の値が全て0である。
条件2−3:1列目(元の行列Tでの2列目にあたる)の要素の値が全て1以上である。
行列Tは、各頂点vを根とする1つの完全二部木に一意に変換可能な、テーブル分割の行列表現T={T i,j}を表す。
ここで、完全二分木について説明する。
完全二部グラフKm、n=(V、E)の定義は、以下の条件3を満たすグラフである。
条件3:
本実施形態では、完全二部木を、内部に完全二部グラフを含む木と類似したグラフとして定義する。グラフG=(V、E)が完全二部木であることの正確な定義は以下の通りである。
完全二分木の定義:グラフの各頂点U∈νが、Vに含まれる頂点からなるクラスタを表すような、或る木T=(ν、ε)が存在する。任意のv∈Vに対して、U∈νが存在し、v∈Uを満たす。また、任意の異なるU,W∈νに対し、U∩W=0を満たす。Tにおける根の頂点Uroot∈νはVに含まれる1つの頂点を含むクラスタである。Tにおいて、親子関係を持つような任意の頂点対(U,W)に対し、クラスタUとWが完全二部グラフをなす。
ここで、木は完全二部木の特別な場合(内部に含む全ての完全二部グラフがK1,1である場合)に相当する。完全二部木の一例を図3に示す。
図4には、各頂点vを根とする1つの完全二部木に一意に変換可能な、テーブル分割の行列表現Tの一例を示した。図4に示す行列Tは、1列目(Tn :,1)が頂点の番号を表す。例えばTn i,1=3であれば、行iは頂点vについての情報が格納されている。2列目以降は、1列目の番号の頂点が各深さj−1で選択したテーブル番号を表す。例えば、図4の3行目は、頂点vは深さ1でテーブルt、深さ2でテーブルtを選択したことを示している。初期値としては、例えば、確率的生成モデルとしての定数直径制約に基づくモデルからサンプルグラフを1つ生成し、その際に得られたN個のテーブル分割に対応するTを与えればよい。なお、定数直径制約に基づくモデルについては後述する。
また、サイズがN×Kの行列Pselect={Pselect n,k}として、以下の条件4、5を満たす任意のものを与える。
条件4:全ての要素に、0以上1以下の実数が格納されている。
条件5:全ての行において,列方向の要素の和が1になっている。すなわち、全てのnに対して次式を満たす。
selectの(n、k)成分は、テーブル分割において、頂点vがテーブルtを選択する確率を表している。初期値としては、例えば、Π={π}と

を用いて以下の条件6を満たすものを与えればよい。
条件6:各(n、k)成分について、
また、サイズがN×Kの行列Premain={Premain n,k}として、以下の条件7を満たす任意のものを与える。
条件7:全ての要素に、0以上1以下の実数が格納されている。
remainの(n、k)成分は、テーブル分割において、頂点vがテーブルtを選択した条件のもとで、テーブルtに留まる確率を表している。初期値としては、例えば、L(x、y)≡(x−y)を用いて以下の条件8を満たすものを与えればよい。
条件8:各(n、k)成分について、Premain n,k=1/(L(M、M')+1.01)
また、パラメータ更新の繰り返し回数の上限Nとして、任意の自然数を設定する。
また、現在までのパラメータ更新の繰り返し回数nとして、初期値n=1を与える。
ここで、本実施形態における処理で用いる「定数直径制約に基づくモデル」について説明する。なお、定数直径制約に基づくモデルは、Tの初期値を設定する際に生成するサンプルグラフを生成する際に用いられると共に、後述するパラメータ更新部16によるパラメータ更新の際にも用いられる。
パラメータ更新部16は、ベイズ推論の枠組みを用いて、観測データと各パラメータの値から真のグラフ構造を推定すると共に、各パラメータの値の更新を行う。ベイズ推論の枠組みにおいては、一般に、事前分布と尤度関数の組み合わせにより対象をモデル化した後、このモデルに対し、観測データのフィッティングと呼ばれる操作を行うことで解析を行う。以下、定数直径制約に基づくモデルについて説明する。
本実施形態で用いる定数直径制約に基づくモデルは、以下の事前分布μと尤度関数fにより定義される。
<事前分布>
頂点数がNであり、かつ直径がD以下のグラフ全体の集合をgとする。事前分布μとしては、任意のG∈gに対して確率μ(G)>0が計算でき、かつΣG∈gμ(G)=1を満たすものであれば任意に設定できる。
<尤度関数>
尤度関数fは、真の構造として推定されたグラフG∈gと観測されたグラフデータGから定義される。本実施形態では、Gの隣接行列A={Aij}、Gの隣接行列A={A ij} を用いて、以下のように二項分布を用いて尤度関数を定義する。
・・・(2)
ただしpi,jをAij≠A ijであればpi,j=β、そうでなければpi,j=1−βの値をとる変数とする。
<定数直径制約に基づくモデルの実現例>
上記で述べた事前分布μと尤度関数fから、定数直径制約に基づくモデルを構成する1つの実現例として、尤度関数を上記(2)式で定義し、事前分布をAlgorithm1に基づいてサンプルグラフの生成を行うものと定義した場合のモデルについて説明する。
Algorithm1は、頂点数がNかつ直径がD以下の全てのグラフを0より大きい確率で生成する、確率的生成モデルの基本的な乱択アルゴリズムである。このアルゴリズムは、ステップS102の行列Tの初期値の設定において、或る確率分布Nに従い1つのグラフG∈gのサンプルを出力する乱択アルゴリズムに相当すると共に、後述するステップS104のパラメータの更新において、或るグラフG∈gを論理和として持つN個の完全二部木{G }、n=1、・・・、Nが出力される確率を計算するためのアルゴリズムとしても使用される。
ここで、本実施形態における論理和について説明する。本実施形態では、M個のグラフG=(V、E)、・・・、G=(V、E)について、G、・・・、Gの論理和G=(V、E)≡G∪・・・∪Gを、V=V∪、・・・、∪V、E=E∪、・・・、∪Eを満たすグラフとして定義する。
図5にはAlgorithm1の概略を示し、図6にAlgorithm1のフローチャートを示した。
図6に示すように、ループ1は、nrootを1ずつインクリメントし、1≦nroot≦Nを満たす場合にステップS200〜S214の処理を繰り返し実行する。
ループ2は、dを1ずつインクリメントし、0≦d≦D−1を満たす場合にステップS202〜S212の処理を繰り返し実行する。
ループ3は、kを1ずつインクリメントし、1≦k≦Kを満たす場合にステップS202〜S210の処理を繰り返し実行する。
図6に示すように、ステップS200では、各パラメータに初期値を設定する。ここでは、頂点vnrootを根として持つ完全二分木G nrootを考える。初期値としてG nrootをN個の頂点の独立集合とする。また、Kを1、Vt0 leaveを{V\v}、Vt0 remainを{v}とする。
ステップS202では、深さdのテーブルtにおいて、或る基準Zwidthに基づき、

に含まれる各頂点についてテーブル分割を行う。
ステップS204では、深さdのテーブルtにおいて、或る基準Zdepthに基づき、テーブルtの各子テーブルtに含まれる各頂点vが、子テーブルtに留まる

か留まらない

かを決定する。
ステップS206では、Gを頂点集合



の間の完全二部グラフとする。また、

として、

を更新する。
ステップS208では、

が0であるか否かを判定し、肯定判定の場合はステップS210へ移行し、否定判定の場合はステップS212へ移行する。
ステップS210では、

とする。すなわち、空テーブルを無視する。
ステップS212では、Kを、深さdに存在する全テーブルについての子テーブル数の和として更新する。
ステップS214では、

として、グラフGを更新する。
ステップS216では、更新されたグラフGを出力する。このグラフGは、頂点数がNで且つ直径がD以下のグラフとなっている。
すなわち、図5、6に示されるように、Algorithm1は、初期状態として根となる頂点を除く全ての頂点が深さd=0の1つのテーブルに存在する状態から開始する。深さdにおいて、各頂点は、まず予め定められた基準Zwidthに基づいて1つのテーブルに割り当てられる。
次に、予め定めた基準Zdepthに基づき、各テーブルに割り当てられた頂点が現在の(深さdの)テーブルに留まるか否かを決定する。
現在のテーブルに留まらない場合は、頂点は現在のテーブルの子テーブル(深さd+1)へと再び分割される。
このようなテーブルの分割と、現在のテーブルに留まるか否かの判定を、或る深さのテーブルに各頂点が留まることが決定するまで繰り返す。ただし、この繰り返し処理は、深さd=D−1で打ち切る。このような分割結果から、各頂点を根とした深さがD以下の完全二部木がそれぞれ1つずつ生成される。具体的には、親子関係にある全てのテーブルの組{tparent、tchild}の間に完全二部グラフを生成する。
図7には、頂点v(j=1、・・・、N)に対するテーブル分割の決定の一例を示した。
図7の状態20に示す例は、頂点vを根として持つ完全二部木において、頂点vが、(1)深さ1においてはテーブルtを選択して離れ、(2)深さ2においてはテーブルtを選択して離れ、(3)深さ3においては(新たに生成した)テーブルtを選択し、そこに留まる、という一連の動きをすることが決定され、その結果、頂点vの割り当てられるテーブルが決定された様子を表している。なお、図7において、「○」は、そのテーブルを選択し、かつ、そのテーブルに留まった頂点を示す。例えば、状態20において、テーブルtについては、選択した頂点が2個あることを示しており、テーブルtについては、選択した頂点が無いことを示している。
ここで、図8に示すように、頂点が1つも含まれないテーブルtが存在した場合(状態30)、空テーブルであるテーブルtを無視し、テーブルtの子孫にあたるテーブルt01を繰り上げ(状態32)、テーブルtの親テーブルとの間に完全二部グラフを生成する(状態34)。
次に、Algorithm1の処理によって生成されたN個の完全二部木の論理和を取ることにより、目的のグラフを生成し、出力する。
以下に、基準Zwidth、Zdepthの組{Zwidth、Zdepth}として用いることができる1つの例を説明する。
基準{Zwidth、Zdepth}としては、以下に示す組み合わせ以外にも、全体のテーブル分割アルゴリズムが射影性を満たしているものであれば何でもよい(Kolmogorovの定理)。
以下では、基準{Zwidth、Zdepth}を定義するための指標として、下記参考文献2に記載された既存技術であるDILN(discrete infinite logistic normal distribution)で提案された共変量と呼ばれるパラメータを用いる方法について説明する。
(参考文献2) Paisley. J, Wang. C, and Blei. D. The discrete infinite logistic normal distribution for mixed-membership modeling. In Proc. of International Conference on Artificial Intelligence and Statistics, 2011.
この方法では、全ての頂点、全てのテーブルに対してそれぞれ共変量をランダムに与え、それらの集合をそれぞれM={M}、M'={M’}とする(例えば、M、M’〜 Uniform([10、20、・・・、300])、n=1、・・・、N、k=1、・・・、Kとすればよい)。Kは本来無限であり、実装上は十分大きい自然数を与える。また、全てのテーブルの人気度をランダムに与え、その集合をΠ={π}とする(例えば、π〜Γ(1、α)とすればよい。
widthとしては、共変量の値に基づく分割手法を用いる。具体的には、各頂点は、深さdで割り当てられたテーブルの子テーブル{t}として1つのテーブルを選ぶ。ここで、頂点vがテーブルtを選ぶ確率は、Pselect n,k≡L’(M、M’)π/ΣL’(M、M’)πとする。ただし、L’(x、y)は任意の距離関数L(x、y)、例えばL(x、y)=(x−y)の値に対して単調減少な任意の関数、例えばL’(x、y)=1/(L(x、y)+1))とする。
depthに関しても、共変量の値に基づく基準を用いる。具体的には、頂点vがテーブルtに留まる確率Premain n,kは、L(M、M’)に対して単調減少するように与えるものとする。例えば、Premain n,k=1/(L(M、M’)+ 1.01)とすればよい。vがテーブルtを離れる場合、vは深さd+1において基準Zwidthに基づき子テーブルへと分割される。
上記の基準に基づいてサンプルグラフを生成する具体的なAlgorithm2を図9 に示した。以下では、図5に示すAlgorithm1で具体的な処理を説明していなかった部分について説明し、図5に示すAlgorithm1で既に説明した部分については説明を省略する。
図9に示すように、Algorithm2では、M={M}、M'={M’}、Π={π}をランダムな正の実数値として与える。
また、

に含まれる各頂点についてテーブル分割する際に、以下の基準に基づいてテーブル分割する。
頂点vは、テーブルtを確率

で選択する。
また、テーブルtの各子テーブルtに含まれる各頂点vが、子テーブルtに留まる

か留まらない

かを決定する際に、以下の基準に基づいて決定する。
基準:L(M、M’)(Lは距離関数)の値から定義される確率Premain n,lで留まり、確率(1−Premain n,l)で留まらない。
その他の処理は図5に示すAlgorithm1と同様であるので、説明は省略する。
ステップS102では、初期パラメータ生成部14が、行列Tの初期値を設定する際に、Algorithm2の処理を実行してサンプルグラフを1つ生成し、その際に得られたN個のテーブル分割に対応するTを与える。
ステップS104では、パラメータ更新部16がパラメータ群を更新する。
まず、パラメータM、M’の更新について説明する。まず、パラメータM、M’の事前分布を予め定めておく。パラメータM、M’の事前分布は任意に定めることができる。例えば、下記(3)式のように設定することができる。
、M〜Uniform([10、20、・・・、300]) ・・・(3)
上記(3)式の設定を用いた場合、Gibbs samplingによりパラメータM、M’を更新することができる。すなわち、パラメータが[10、20、・・・、300]の各値をとる場合における条件付き事後確率を計算し、求めた条件付き事後確率に基づいてその更新値を選択する。
次に、パラメータΠの更新について説明する。既存技術であるstochastic gradient Langevin dynamics(SGLD)(下記参考文献3参照)を用いて、マルコフ連鎖モンテカルロ法(MCMC)でパラメータΠの更新を行う。
(参考文献3)
Welling. M and Teh. Y. W. Bayesian learning via stochastic gradient Langevin dynamics. In International Conference on Machine Learning, 2011.
回目のパラメータ更新において、下記(4)式に従いθns∈Πの値を更新する。


・・・(4)
ここで、パラメータΠの事前分布を予め定めておく。パラメータΠの事前分布は、任意に定めることができる。例えば、下記(5)式のように設定することができる。
π〜Γ(1、α) ・・・(5)
上記(5)式の設定を用いた場合、∇logp(θns)は以下のように計算される。
∇logp(θnS)=−1/α
また、

とおくと、logp(T|θns)は以下のように計算できる。
上記(5)式の設定を用いた場合、

とおき、「x=yであれば1を、x≠yであれば0を返す関数」をF(x、y)とおくと、logp(T|θns)は具体的に下記(6)式から計算できる。

・・・(6)
本実施形態では、前述したように、全てのパラメータθns∈{M、M’、Π}について1回ずつ更新を行う。1つのパラメータが更新されるごとに、n←n+1とし、θnsを別のパラメータとする。例えばθns=Mとしてθnsを更新し、n←n+1、θns=Mとしてθnsを更新し、n←n+1、・・・、θns=πとしてθnsを更新し、n←n+1とする。
次に、テーブルTを更新する。ランダムに選ばれたある頂点vを根とする完全二部木G に、一意に変換可能なテーブルTの更新を行う。これは、頂点v以外の各頂点vについて一度ずつ、割り当て先テーブルの更新を行うことで実現できる。頂点v≠vの新しい割り当て先テーブルの候補は、例えば以下のように定めることができる。
(1)頂点vが深さ1にあるとき、下記(1−1)又は(1−2)のテーブルを割り当て先テーブルの候補とする。
(1−1)深さ1にあるテーブル全て(現在のテーブルも含む)。
(1−2)現在のテーブルの子テーブル(既存のテーブル全て及び新しいテーブル)。
(2)頂点vが深さ2からD−1にあるとき、下記(2−1)〜(2−3)の何れかのテーブルを割り当て先テーブルの候補とする。
(2−1)現在のテーブルの親テーブル。
(2−1)現在のテーブルの子テーブル(既存のテーブル全て及び新しいテーブル)。
(2−3)現在のテーブル。
(3)頂点vが深さDにあるとき、下記(3−1)又は(3−2)のテーブルを割り当て先テーブルの候補とする。
(3−1)現在のテーブルの親テーブル。
(3−2)現在のテーブル。
上記の候補のテーブルの中から、1つのテーブルを選択する。各候補のテーブルは、その候補のテーブルに頂点vを割り当てた場合における条件付き事後確率Pposteriorに基づいて選択されるものとする。ここで、条件付き事後確率Pposteriorは下記(6)式に従って計算される値である。(6)式において、隣接行列Aは行列TからAlgorighm2に従い一意に決定される目的のグラフGの隣接行列であり、尤度関数p(A|A)は、上記(1)式で定義するものとする。従って、ステップS104では、パラメータ更新部16が、上記(1)〜(3)で説明した新しい割り当て先テーブルの各候補について、その候補のテーブルに頂点vを割り当てた場合に相当する行列Tから一意に決定されるグラフGの隣接行列Aを生成する。そして、生成した隣接行列AとAlgorighm2に基づくテーブル分割の確率計算方法を用いて、下記(7)式により条件付き事後確率Pposteriorを算出する。
・・・(7)
そして、前述したルールに従って根vを除く全ての頂点のテーブルT〜Tを更新する。次に、更新した全ての頂点のテーブルT〜Tに対応した完全二分木G〜Gの論理和を、前述した論理和の定義に従って求めてグラフGを生成し、生成したグラフGから隣接行列Aを生成することで隣接行列Aを更新する。
図2のステップS106では、終了判定部18が、パラメータ群の更新を終了するか否かを判定する。すなわち、パラメータの更新回数がn<Nか否かを判定し、肯定判定の場合は、ステップS107でn←n+1とし、ステップS104へ移行する。一方、否定判定の場合、すなわちn=Nの場合は、ステップS108へ移行する。
ステップS108では、出力部20が、ステップS104の処理で更新された隣接行列A、すなわち、推定された真のグラフ構造の隣接行列Aを出力し、処理を終了する。
このように、本実施形態では、与えられた上限D以下の直径を持つ任意のグラフを含むような探索を行うために、N個の完全二部木の組み合わせとして真のグラフ構造を推定し、各完全二部木の生成過程では、各頂点に対し、射影性を満たすようなテーブル分割アルゴリズムを適用した結果として表現し、事前確率の計算処理を行う。
これにより、直径の上限が定数となるようなふるまいをするグラフデータに対し、直径という観点において正確な真のグラフ構造の推定結果を得ることができる。
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
以下では、前述したAlgorithm1の基準Zwidth、Zdepthの組{Zwidth、Zdepth}として、上記で説明した共変量に基づく基準以外の例(中華料理店過程に基づく基準)について説明する。この実現例では、既存技術の中華料理店過程(参考文献4参照)を用いる。
(参考文献4)
Aldous. D. J. Exchangeability and related topics. Ecole d'Ete Probabilites Saint-Flour XIII 1983, 1985.
初期パラメータ生成部14では、nroot=1、・・・、Nについて、正の実数の集合
・・・(8)
として、任意の値を与える。例えば、以下のようにランダムに設定すればよい。
以降、C∈Cを頂点vのカロリーと呼ぶ。
widthとしては、中華料理店過程に基づく分割手法を用いる。具体的には、各頂点は、深さdで割り当てられたテーブルの子テーブル{t}として1つのテーブルを選ぶ。ここで、頂点vが既存のテーブルtを選ぶ確率は、既にtを選択した頂点数に比例するとし、新しいテーブルを選ぶ確率は入力パラメータに比例するとする。ただし、各テーブルが選ばれる確率を全て足し合わせると1になるように正規化する。ここで、選ばれたテーブルtが新しいテーブルである場合、正の実数C’として、任意の値を与える。例えば、以下のようにランダムに設定すればよい。
C’〜Γ(1、1)。
以降、C’をテーブルtのカロリーと呼ぶ。
depthとしては、頂点vのカロリーCと、vが割り当てられたテーブルtのカロリーC’の大小関係に基づくとする。具体的には、C≦C’ならば、vはテーブルt に留まり、そうでなければテーブルtを離れる。vがテーブルtを離れる場合、v は深さd+1において基準Zwidthに基づき子テーブルへと分割される。
上記の基準に基づいてサンプルグラフを生成する具体的なAlgorithm3を図10に示した。以下では、図5に示すAlgorithm1で具体的な処理を説明していなかった部分について説明し、図5に示すAlgorithm1で既に説明した部分については説明を省略する。
図10に示すように、Algorithm3では、nroot=1、・・・、Nについて、上記(8)式のようにランダムな実数値として与える。
また、中華料理店過程に基づき、

に含まれる各頂点についてテーブル分割する際に、頂点vが新しいテーブルtに割り当てられたとき、C’をランダムな実数値として与えること、また、以下の基準に基づいて、テーブルtの各子テーブルtに含まれる各頂点vが、子テーブルtに留まる

か留まらない

かを決定する。
基準:(C≦C’)∪(d=D)が真ならば留まり、偽ならば留まらない。
その他の処理は図5に示すAlgorithm1と同様であるので、説明は省略する。
なお、本実施形態では、グラフデータが表すネットワークとして、有限の面積を持つ土地の上での無線ネットワークのふるまいを例として説明したが、他のネットワーク(例えば、人間関係のネットワーク等)であっても、上記の無線ネットワークと同様な直径のふるまいをするものと仮定すれば、本発明を適用することができる。
また、上述のグラフ構造推定装置10は、内部にコンピュータシステムを有しているが、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体、例えばCD−ROMやメモリーカード等に格納して提供することも可能である。
10 グラフ構造推定装置
12 入力部
14 初期パラメータ生成部
16 パラメータ更新部16
18 終了判定部18
20 出力部

Claims (7)

  1. 観測されるグラフデータの隣接行列及び前記グラフデータで表されるグラフ上の距離の上限を表す自然数を入力する入力部と、
    前記グラフデータの隣接行列及び前記自然数に基づいて、前記グラフの頂点及び前記頂点に割り当てるテーブルに関する第1のパラメータ、前記テーブルの人気度に関する第2のパラメータ、及び、前記グラフデータと前記第1のパラメータと前記第2のパラメータとに基づく確率的生成モデルを用いて生成したサンプルグラフから得られた、前記頂点に割り当てるテーブルの分割を表現した行列を表す第3のパラメータ、を含むパラメータ群の初期値を生成する初期パラメータ生成部と、
    前記グラフデータの隣接行列、前記自然数、及び前記パラメータ群に基づいて、前記グラフデータの隣接行列に対する、前記第3のパラメータに対応する前記グラフの頂点の各々についての完全二部木から得られる隣接行列が尤もらしくなるように、前記確率的生成モデルを用いて生成されたグラフに基づいて前記パラメータ群を更新するパラメータ更新部と、
    前記パラメータ群の更新を終了するか否かを判定する終了判定部と、
    前記終了判定部により前記パラメータ群の更新を終了すると判定された場合に、前記パラメータ更新部により更新された前記第3のパラメータに対応する前記グラフの頂点の各々についての前記完全二部木から得られる隣接行列を出力する出力部と、
    を含むグラフ構造推定装置。
  2. 前記パラメータ更新部は、前記確率的生成モデルとして、前記グラフ上の距離の上限が前記自然数以下となるように前記グラフを生成する確率的生成モデルを用いて前記パラメータ群を更新する
    請求項1記載のグラフ構造推定装置。
  3. 前記パラメータ更新部は、前記確率的生成モデルを用いて前記グラフを生成する際に、前記第1のパラメータとして前記頂点の共変量及び前記テーブルの共変量を用いた基準を用いて、前記パラメータ群を更新する
    請求項2記載のグラフ構造推定装置。
  4. 入力部、初期パラメータ生成部、パラメータ更新部、終了判定部、及び出力部を含むグラフ構造推定装置におけるグラフ構造推定方法であって、
    前記入力部が、観測されるグラフデータの隣接行列及び前記グラフデータで表されるグラフ上の距離の上限を表す自然数を入力するステップと、
    前記初期パラメータ生成部が、前記グラフデータの隣接行列及び前記自然数に基づいて、前記グラフの頂点及び前記頂点に割り当てるテーブルに関する第1のパラメータ、前記テーブルの人気度に関する第2のパラメータ、及び、前記グラフデータと前記第1のパラメータと前記第2のパラメータとに基づく確率的生成モデルを用いて生成したサンプルグラフから得られた、前記頂点に割り当てるテーブルの分割を表現した行列を表す第3のパラメータ、を含むパラメータ群の初期値を生成するステップと、
    前記パラメータ更新部が、前記グラフデータの隣接行列、前記自然数、及び前記パラメータ群に基づいて、前記グラフデータの隣接行列に対する、前記第3のパラメータに対応する前記グラフの頂点の各々についての完全二部木から得られる隣接行列が尤もらしくなるように、前記確率的生成モデルを用いて生成されたグラフに基づいて前記パラメータ群を更新するステップと、
    前記終了判定部が、前記パラメータ群の更新を終了するか否かを判定するステップと、
    前記出力部が、前記終了判定部により前記パラメータ群の更新を終了すると判定された場合に、前記パラメータ更新部により更新された前記第3のパラメータに対応する前記グラフの頂点の各々についての前記完全二部木から得られる隣接行列を出力するステップと、
    を含むグラフ構造推定方法。
  5. 前記パラメータ更新部が前記パラメータ群を更新するステップは、前記確率的生成モデルとして、前記グラフ上の距離の上限が前記自然数以下となるように前記グラフを生成する確率的生成モデルを用いて前記パラメータ群を更新する
    請求項4記載のグラフ構造推定方法。
  6. 前記パラメータ更新部が前記パラメータ群を更新するステップは、前記確率的生成モデルを用いて前記グラフを生成する際に、前記第1のパラメータとして前記頂点の共変量及び前記テーブルの共変量を用いた基準を用いて、前記パラメータ群を更新する
    請求項5記載のグラフ構造推定方法。
  7. コンピュータを、請求項1〜3の何れか1項に記載のグラフ構造推定装置の各部として機能させるためのグラフ構造推定プログラム。
JP2016217518A 2016-11-07 2016-11-07 グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム Active JP6634000B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2016217518A JP6634000B2 (ja) 2016-11-07 2016-11-07 グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2016217518A JP6634000B2 (ja) 2016-11-07 2016-11-07 グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム

Publications (2)

Publication Number Publication Date
JP2018077584A JP2018077584A (ja) 2018-05-17
JP6634000B2 true JP6634000B2 (ja) 2020-01-22

Family

ID=62149257

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016217518A Active JP6634000B2 (ja) 2016-11-07 2016-11-07 グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム

Country Status (1)

Country Link
JP (1) JP6634000B2 (ja)

Also Published As

Publication number Publication date
JP2018077584A (ja) 2018-05-17

Similar Documents

Publication Publication Date Title
Contaldi et al. Bayesian network hybrid learning using an elite-guided genetic algorithm
De Boer et al. A tutorial on the cross-entropy method
Wang et al. A heuristic method for learning Bayesian networks using discrete particle swarm optimization
US8700548B2 (en) Optimization technique using evolutionary algorithms
CN113544711A (zh) 用于使用聚类收缩的混合算法系统和方法
CN109685204B (zh) 图像处理方法及装置、存储介质及电子设备
Schimit et al. Disease spreading in complex networks: A numerical study with Principal Component Analysis
Corander et al. Learning chordal Markov networks by constraint satisfaction
Corus et al. Fast artificial immune systems
Hajiaghayi et al. Efficient continuous-time Markov chain estimation
Ülker B-Spline curve approximation using Pareto envelope-based selection algorithm-PESA
CN114897173A (zh) 基于变分量子线路确定PageRank的方法及装置
Hejase et al. Fastnet: fast and accurate statistical inference of phylogenetic networks using large-scale genomic sequence data
Daly et al. Methods to accelerate the learning of bayesian network structures
CN112613550A (zh) 一种数据分类方法、装置及相关设备
JP6634000B2 (ja) グラフ構造推定装置、グラフ構造推定方法、及びグラフ構造推定プログラム
JP6190771B2 (ja) パラメータ推定方法、装置、及びプログラム
JP2014228975A (ja) 検索装置、検索方法および検索プログラム
JP2020009122A (ja) 制御プログラム、制御方法及びシステム
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
Mitra et al. Variable ordering for shared binary decision diagrams targeting node count and path length optimisation using particle swarm technique
JP6745507B2 (ja) パラメータ推定装置、方法、及びプログラム
Abd-Alsabour Feature selection for classification using an ant system approach
JP6005583B2 (ja) 検索装置、検索方法および検索プログラム
Shi et al. Community detection in scientific collaborative network with bayesian matrix learning

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20181205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191115

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20191210

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20191213

R150 Certificate of patent or registration of utility model

Ref document number: 6634000

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150