JP6240108B2 - リオーダリング装置、リオーダリング方法およびリオーダリングプログラム - Google Patents

リオーダリング装置、リオーダリング方法およびリオーダリングプログラム Download PDF

Info

Publication number
JP6240108B2
JP6240108B2 JP2015030999A JP2015030999A JP6240108B2 JP 6240108 B2 JP6240108 B2 JP 6240108B2 JP 2015030999 A JP2015030999 A JP 2015030999A JP 2015030999 A JP2015030999 A JP 2015030999A JP 6240108 B2 JP6240108 B2 JP 6240108B2
Authority
JP
Japan
Prior art keywords
cluster
vertices
reordering
vertex
graph
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.)
Expired - Fee Related
Application number
JP2015030999A
Other languages
English (en)
Other versions
JP2016152031A (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.)
NTT Inc
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc
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, NTT Inc filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2015030999A priority Critical patent/JP6240108B2/ja
Publication of JP2016152031A publication Critical patent/JP2016152031A/ja
Application granted granted Critical
Publication of JP6240108B2 publication Critical patent/JP6240108B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、リオーダリング装置、リオーダリング方法およびリオーダリングプログラムに関する。
情報検索や推薦、広告等の様々な場面で、ソーシャルグラフ、Webグラフ等のグラフを分析して有用な知識を発見している。一方、グラフの大規模化に伴って、分析に要する時間が増大するため、分析処理の高速化が求められている。
従来、ソーシャルグラフ、Webグラフなどの分析には、PageRank、Personalized PageRank(PPR)、Random Walk with Restart、HITS(Hyperlink-Induced Topic Search)などの手法が知られている。これらの分析手法では、疎行列と密ベクトルとの乗算(以下、SpMV(Sparse Matrix-Vector multiplication)と称する。)が繰り返し実行される。
例えば、PPRは、グラフの重み付き隣接行列Wおよび各頂点への重みを表す列ベクトルqから各頂点の重要度xを求める分析手法である。xは、次式(1)を収束するまで繰り返し計算することにより求められる。
Figure 0006240108
ここで、一般に減衰比cは0.85である。また、一般に隣接行列は疎行列となるため、WxkはSpMVである。上記の他の分析手法においても同様に、SpMVが繰り返されるため、分析処理の高速化にはSpMVの高速化が重要である。
情報処理装置のCPU(Central Processing Unit)がSpMVを実行する際、局所性の低いメモリアクセスを行うことが知られている。例えば、次式(2)に示すn×n疎行列Aに対するSpMVであるAk+1=Axkの計算方法において、NA(i)は疎であることから、xk[j]に対するアクセスの局所性は低い。
Figure 0006240108
このような局所性の低いメモリアクセスパターンではキャッシュヒット率が低く、レイテンシの大きいメインメモリへのアクセスが頻発するため、処理速度が低下しやすい。また、今日一般的に使われているマルチコアCPUでは、複数のコアが1つのメモリ帯域を共有するため、メモリアクセスが頻発すると、並列処理時に共有するメモリ帯域が飽和してスケーラビリティが低下する。そこで、SpMVのメモリアクセスの局所性を向上させる技術が期待されている。
SpMVのメモリアクセスの局所性を向上させるため、リオーダリングを行うことが効果的であることが知られている。リオーダリングとは、疎行列の行と列とを並べ替えてバンド幅を削減することを意味する。ここで、バンド幅を削減するとは、疎行列のi行目に存在する非零要素の分布をi列目付近に集中させることを意味する。この場合、上記式(2)においてi行目とその近傍のi’行目との間でxに対する重複アクセスが増加して局所性が高まる。ここで重複アクセスは次式(3)で表される。
Figure 0006240108
また、リオーダリングとは、隣接行列Aをもつグラフにおいて、頂点IDがiである頂点に隣接する頂点に、iに近い頂点IDを振り直すことに相当する。このリオーダリングによって隣接する頂点のデータをメモリ上で近傍に配置し直すと、幅優先探索(BFS(Breadth First Search))等のSpMVを含まないグラフ処理でも局所性が向上することが確認されている。
ところで、ソーシャルグラフやWebグラフ等の実世界のグラフは、互いに密に接続し合った頂点の集合であるクラスタを多数内包し、高いクラスタ性を示すことが知られている。
ここで、グラフのエッジは隣接行列において非零要素で表されるので、クラスタ内の頂点に連続した頂点IDを与えると、疎行列の対角線上に密な非零要素の領域を作り出すことができる。例えば、グラフから抽出された2つのクラスタC1,C2のそれぞれに含まれる頂点に連続した頂点IDを与えた場合、クラスタ内のエッジすなわち非零要素は密である一方、クラスタ間のエッジである非零要素は疎である。したがって、非零要素の分布は、図11に例示するように、非零要素が密である対角線に沿った濃色領域と、それ以外の非零要素が疎である白色領域とで表される。
このように疎行列の対角線上に密に非零要素を分布させれば、メモリアクセスの局所性を向上させることができる。そこで、グラフからクラスタを抽出する方法(CNM法、非特許文献1参照)によって抽出されたそれぞれのクラスタについて、クラスタに含まれる頂点に連続した頂点IDを与えるリオーダリング方法(COM、非特許文献2参照)が知られている。
また、実世界のグラフは階層的なクラスタ構造を持つことが知られている。例えば、図12にソーシャルグラフを可視化して例示するように、丸で囲んで示すクラスタ内でもエッジの粗密に差がある。このように、階層的なクラスタ構造を持つ場合、クラスタの中からさらにクラスタを抽出することができる(塩川法、非特許文献3参照)。
そこで、クラスタ内のクラスタが内包する頂点に連続した頂点IDを付与すれば、非零要素を疎行列の対角線上により密に分布させることができ、メモリアクセスの局所性を向上させることができる。例えば、図13に例示するように、クラスタC1に内包されるサブクラスタC11、C12およびC13と、クラスタC2に内包されるサブクラスタC21およびC22とが、図11のクラスタC1およびC2に比較して、疎行列の対角線上により密に分布していることがわかる。
A.Prat-Perez, D.Dominguez-Sal, and J.L.Larriba-Pey、"Social Based Layouts for the Increase of Locality in Graph Operations."、In Proceedings of the 16th International Conference on Database Systems for Advanced Applications Volume Part I, DASFAA 2011、Springer-Verlag Berlin Heidelberg 2011、2011年、p.558-569 A.Clauset, M.E.J.Newman, and C.Moore、"Finding community structure in very large networks"、Physical Review E、2004年、70(6):66111 H.Shiokawa, Y.Fujiwara, and M.Onizuka、"Fast Algorithm for Modularity-Based Graph Clustering"、In Proceedings of the Twenty-Seventh AAAI Conference on Articial Intelligence (AAAI 2013)、2013年、p.1170-1176
しかしながら、従来のリオーダリング方法では、階層的なクラスタ構造が考慮されておらず、メモリアクセスの局所性の向上に限界があった。
また、従来のリオーダリング方法に用いられるCNM法は、十分な処理速度が得られず大規模なグラフへの適用が困難である。例えば、CNM法によれば、約8000万エッジ程度の規模のグラフからクラスタを抽出する処理が1日で完了できなかったとの報告例がある(非特許文献3参照)。
本発明は、上記に鑑みてなされたものであって、大規模なグラフの隣接行列のリオーダリングを行うことを目的とする。
上述した課題を解決し、目的を達成するために、本発明に係るリオーダリング装置は、頂点と頂点との結合状態を隣接行列で表すグラフの頂点の集合から、階層構造をなすクラスタを抽出する抽出部と、抽出された前記各クラスタを代表する頂点に連続した頂点IDを付与し、該頂点IDを用いて前記グラフの隣接行列を構成する構成部と、を備えることを特徴とする。
本発明によれば、大規模なグラフの隣接行列のリオーダリングを行うことができる。
図1は、本発明の一実施形態に係るリオーダリング装置の概略構成を示す模式図である。 図2は、本実施形態の階層的クラスタリング処理を説明するための図である。 図3は、本実施形態の頂点ID生成処理手順を例示する説明図である。 図4は、本実施形態の頂点ID生成処理手順を例示するフローチャートである。 図5は、本実施形態の塩川法が適用された階層的クラスタリング処理手順を例示する説明図である。 図6は、本実施形態の塩川法が適用された階層的クラスタリング処理手順を例示するフローチャートである。 図7は、本実施形態の頂点の集約処理手順を例示する説明図である。 図8は、本実施形態の頂点の集約処理手順を例示するフローチャートである。 図9は、塩川法が適用された階層的クラスタリング処理における集約を説明するための説明図である。 図10は、リオーダリングプログラムを実行するコンピュータを示す図である。 図11は、クラスタ内の頂点に連続した頂点IDを与えた場合の非零要素の分布を説明するための説明図である。 図12は、階層的なクラスタ構造を例示する模式図である。 図13は、クラスタ内の頂点に連続した頂点IDを与えた場合の非零要素の分布を説明するための説明図である。
以下、図面を参照して、本発明の一実施形態を詳細に説明する。なお、この実施形態により本発明が限定されるものではない。また、図面の記載において、同一部分には同一の符号を付して示している。
[リオーダリング装置の構成]
まず、図1を参照して、本実施形態のリオーダリング装置の構成について説明する。リオーダリング装置1は、ワークステーションやパソコン等の汎用コンピュータで実現され、入力部2と、出力部3と、記憶部4と、制御部5とを備える。
入力部2は、電源スイッチおよび入力キーなどの入力デバイスを用いて実現され、操作者による入力操作に対応して、制御部5に対して各種指示情報を入力する。
出力部3は、液晶ディスプレイなどの表示装置、プリンターなどの印刷装置、情報通信装置などによって実現される。
記憶部4は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、グラフデータ41とリオーダリング結果42とを格納する。グラフデータ41は、リオーダリング装置1のリオーダリング処理の対象となるグラフの頂点の集合等の情報である。リオーダリング結果42は、リオーダリング処理により出力される、例えばグラフの隣接行列等の情報である。なお、記憶部4は、LANやインターネットなどの電気通信回線を介して制御部5と通信する構成でもよい。
制御部5は、処理プログラム等を記憶したメモリおよび処理プログラムを実行するCPU等を用いて実現され、抽出部51および構成部52として機能する。抽出部51は、頂点と頂点との結合状態を隣接行列で表すグラフの頂点の集合から、階層構造をなすクラスタを抽出し、構成部52が、抽出された各クラスタ内の頂点に連続した頂点IDを付与し、該頂点IDを用いてグラフの隣接行列を構成する。以下に、各構成部によるリオーダリング処理について詳細に説明する。
[リオーダリング処理]
本実施形態のリオーダリング処理では、グラフデータ41から抽出されるグラフGAが入力される。なお、説明の簡略化のため、連結なグラフのみを対象とする。非連結なグラフについては、連結な部分ごとにリオーダリング処理対象とすればよい。また、リオーダリング処理では、グラフの頂点に新たな頂点IDを付与する写像σが出力される。写像σは次式(4)で表すことができる。
Figure 0006240108
本実施形態のリオーダリング処理は、初期化処理と、階層的クラスタリング処理と、頂点ID付与処理とで構成される。初期化処理は、メモリアクセス関係を表現するグラフを作成する処理である。階層的クラスタリング処理は、階層的クラスタ構造からクラスタを抽出する処理である。頂点ID付与処理は、抽出された全階層の全クラスタに連続した頂点IDを与える処理である。
[初期化処理]
構成部52は、頂点間で発生するデータの参照回数すなわちメモリアクセス回数を、エッジの重みで表現する重み付き無向グラフGMを生成する。ここで、頂点IDがvである頂点が頂点IDがuである頂点のデータを参照するとは、上記式(2)において、xk+1[v]の算出にxk[u]の値を必要とすること、すなわち、u∈NA(v)を意味する。GMは、次式(5)で表される。
Figure 0006240108
入力されたGAの隣接行列をn×n行列A=(Aij)とする。この場合、GMの隣接行列Mは次式(6)〜(8)で定義される。
Figure 0006240108
ここで、GAのエッジの重みとは関係なく、エッジが存在すればデータ参照が発生するため、BOOL関数によって隣接行列Mを二値行列に変換する。また、クラスタリング処理によって抽出されるクラスタの品質は、有向グラフより無向グラフの方がよいことが知られている。そこで、BOOL(A)+BOOL(A)TによりGMを無向グラフ化する。さらに、自己ループAiiの非零要素は、常に対角線上にあってリオーダリングの際に考慮する必要がないことから、ノイズとならないようにNODIAGによって除去される。
[階層的クラスタリング処理]
抽出部51は、階層的クラスタリング処理により、図2に例示するように、階層nの入れ子状のクラスタ構造を抽出する。ここで、階層はnが大きくなるほど階層が低くなるものとする。最も低い階層のクラスタは頂点を1つだけ含む。
階層的クラスタリング処理により、以下の情報が得られる。まず、次式(9)で表される、トップレベルすなわちn=1の階層に存在するクラスタの集合が得られる。
Figure 0006240108
また、次式(10)で表される、階層nのi番目のクラスタを構成するサブクラスタの集合が得られる。
Figure 0006240108
また、次式(11)、(12)に示す定義により、階層的クラスタ構造は、図2に例示するように、階層0のクラスタC1 (0)を根、階層nのi番目のクラスタを親、階層nのi番目のクラスタのサブクラスタを子とする多分木構造となる。
Figure 0006240108
なお、階層的クラスタリング処理には、具体的に、前述したCNM法、塩川法の他、Multi-level Label Propagation等の周知の方法のいずれを適用してもよい。塩川法を適用した具体例については後述する。
[頂点ID付与処理]
構成部52は、階層的クラスタリング処理により得られた階層0のクラスタC1 (0)と上記式(10)で得られるサブクラスタとを用いて、頂点に新しいIDを与える写像σを求める。この写像σにより全階層の全クラスタの頂点が連続した頂点IDとなるように頂点IDが与えられる。この場合、次式(13)が成り立つ。
Figure 0006240108
上記式(13)を満たす写像σは、例えば、図3に例示するアルゴリズム1で定義される。図4は、図3に示すアルゴリズム1を制御部5が実行する場合の処理手順を示すフローチャートである。アルゴリズム1は、ASSIGN関数の定義(図3の1〜9行目、図4のステップS1〜S6)とその呼び出し(図3の10行目)とで構成される。
ASSIGN関数は、階層nのi番目のクラスタCi (n)とそのクラスタに含まれる頂点に与える最小の頂点ID番号を与えられる。内部では、階層nのi番目のクラスタCi (n)を根とする多分木に対して深さ優先探索を行いつつ、クラスタに含まれる頂点への頂点IDの割り当てを行う。最後に、クラスタ内の頂点へ与えた頂点IDのうち、最大のものに1を足した値を戻り値として返却する。
具体的に、まず階層nのi番目のクラスタCi (n)が、葉すなわち頂点を1つだけ含むクラスタであるか否かを判定し(図3の2行目、図4のステップS1)、もし葉であれば(ステップS1,Yes)、内包される唯一の頂点の頂点IDとして、最小の頂点IDを付与する(図3の3行目、図4のステップS2)。そして、内包される頂点に与えた頂点IDのうち最大のものに1を足して返却する(図3の4行目、図4のステップS3)。
階層nのi番目のクラスタCi (n)が、葉でない場合には(ステップS1,No)、最小の頂点IDを一時変数sとして保存して(図3の6行目)、階層nのi番目のクラスタCi (n)の子要素に対して再帰的にASSIGN関数を適用する(図3の7〜8行目、図4のステップS4〜S5)。最初の子要素に対するASSIGN関数の呼び出しの際に一時変数sを与え、その戻り値を一時変数sに保存して次の子要素に与える。これにより、クラスタ間で重複なく連続した頂点IDが割り当てられる。
そして、一時変数sを返却して(図3の9行目、図4のステップS6)、ASSIGN関数を抜けるように定義される。このように定義されたASSGIN関数の呼び出し(図3の10行目)では、全頂点に対して頂点IDを付与するため、第1引数として多分木の根である階層0のクラスタC1 (0)が与えられる。また、全頂点の中で最小の頂点IDは0であることから、第2引数に0が与えられる。以上の処理により、上記式(13)を満たす頂点IDが付与される。
最後に、構成部52は、写像σにより付与された頂点IDを用いてグラフGMのリオーダリングされた隣接行列を構成し、リオーダリング結果42に格納する。なお、リオーダリング結果42には、生成された写像σが格納されてもよい。
[階層的クラスタリング処理の具体例]
本実施形態では、階層的クラスタリング処理に塩川法が適用される。塩川法は、Modularityの最適化を行うクラスタリング方法のうち、現在最も高速なアルゴリズムの1つである。ここで、Modularityとは、クラスタリング結果を示す指標であって、クラスタリング結果が良いほど、すなわちクラスタ内の頂点間の結合性が高くクラスタが明確に分離可能であるほど高い値となる。頂点u,vを1つのクラスタに分類して2頂点からなるクラスタを作った場合、すなわちこの2頂点を集約した場合、Modularityの上昇量ΔQ(u,v)は、次式(14)で定義される。
Figure 0006240108
塩川法では、まず、頂点を逐次集約することにより、分析処理の高速化が図られている。すなわち、Modularityを最も上昇させる隣接頂点へ、各頂点を貪欲に集約させることにより、グラフの規模を徐々に縮小させる。ここで集約された頂点が1つのクラスタを代表する頂点となる。
また、塩川法では、上記の逐次集約を次数の小さい頂点から順に行うことにより、分析処理の高速化が図られている。逐次集約によってグラフの規模が小さくなるため、当初は高次数だった頂点も集約が進むにつれ次数が低下する。したがって、次数の小さい頂点から順に集約すれば、エッジの参照回数が減少し、分析処理が高速化する。
[塩川法が適用されたリオーダリング処理]
図5は、階層的クラスタリング処理に塩川法が適用されたリオーダリング処理のアルゴリズムであるアルゴリズム2を示す図である。また、図6は、制御部5が実行するアルゴリズム2の処理手順を示すフローチャートである。このアルゴリズム2は、初期化処理(図5の1〜2行目、図6のステップS11〜S12)、階層的クラスタリング処理(図5の3〜11行目、図6のステップS13〜S20)、および頂点ID生成処理(図5の12〜17行目、図6のステップS21〜S26)とで構成される。本実施形態では、階層的クラスタリング処理に、一部(図5の8〜9行目、図6のステップS18〜S19)を除いて塩川法が適用されている。
初期化処理では、変数の初期化と上記式(3)によるグラフの変換とが行われる。階層的クラスタリング処理では、塩川法を実行しつつ頂点集約履歴情報が収集される。まず、次数順に頂点uが選択され(図5の3〜4行目、図6のステップS13〜S14)、Modularityの上昇量ΔQ(u,v)が最大となる隣接頂点vの探索が行われる(図5の5行目、図6のステップS15)。
Modularityが上昇する場合(図5の6行目、図6のステップS16,Yes)には、頂点u,vは同一クラスタに分類される。その場合、頂点の集約(図5の7行目、図6のステップS17)、クラスタのメンバ頂点数μの更新(図5の8行目、図6のステップS18)、および頂点集約履歴リストの更新(図5の9行目、図6のステップS19)が行われる。
一方、Modularityが上昇しない場合(図5の10行目、図6のステップS16,No)には、頂点uが階層1のトップレベルのクラスタ集合に追加される(図5の11行目、図6のステップS20)。
ここで、頂点の集約は、図7に例示する塩川法の定義に従ったアルゴリズム3により実行される。図8は、抽出部51が実行する図7のアルゴリズム3の処理手順を示すフローチャートである。まず、頂点uと接続されているエッジの端点をvへつなぎ替え(図7の1行目、図8のステップS31)、つなぎ替えにより重複するエッジの重みの和をとる(図7の3行目、図8のステップS33)。ここで、SUBSTuv(e)は、エッジの端点として出現するuをvに置き換えたエッジを意味する。
図9は、塩川法の定義に従った頂点の集約の過程を例示する図である。図9において、最も低い階層(a)は、各クラスタがただ1つの頂点を含む初期状態を示す。階層(b)では、頂点の集約が進むにつれ、次数が小さい順に頂点v6,v0,v2,v9,v5が残ったとする。ここで、最初に頂点v6が集約の対象となり、Modularityの上昇量が最も大きい隣接頂点を探索する。それがv2であったとすると、v6はv2に集約される。階層(c)において、頂点v0も同様に、頂点v9に集約される。
階層(d)において、v2の集約先を探索するも、Modularityを上昇させる隣接頂点が見つからなかったとする。その場合、v2は集約されずトップレベルのクラスタに分類される。その後、階層(e),(f)にて頂点v9,v5に対して集約がなされる。最終的に、次式(15)で表される頂点集約履歴リスト、次式(16)で表されるトップレベルのクラスタ集合、および図5に例示される各クラスタのメンバ頂点数μが得られる。
Figure 0006240108
図5および図6に戻る。頂点ID生成処理では、頂点集約履歴リストを利用して、頂点と新しい頂点IDとの写像σが生成される。ここで、アルゴリズム2中のσ[v]は、vによって代表されるクラスタに含まれる頂点に割り当てられる予定の頂点IDのうち最小の頂点IDを意味する。σは、図9の階層(g)に示すトップレベルにあるクラスタについて最初に設定される(図5の12〜14行目、図6のステップS21〜S23)。
次に、頂点集約履歴リストを逆にたどり、図9の階層(f)から階層(a)まで順に、集約された頂点を分解しつつσの値を更新する(図5の15〜17行目、図6のステップS24〜S26)。これにより、図9の階層(a)に示すように、各頂点が1つのクラスタになる初期状態まで分解され、σが各頂点と新しい頂点IDとの対応を表す写像となる。
以上、説明したように、本実施形態のリオーダリング装置1では、抽出部51が、頂点と頂点との結合状態を隣接行列で表すグラフの頂点の集合から、階層構造をなすクラスタを抽出し、構成部52が、抽出された各クラスタ内の頂点に連続した頂点IDを付与し、該頂点IDを用いてグラフの隣接行列を構成する。
これにより、大規模なグラフの隣接行列について、行列バンド幅の削減率が高いリオーダリングを行うことができる。したがって、後続するグラフ処理やSpMVにおけるメモリアクセスの局所性が向上し、キャッシュヒット率が向上する。その結果、分析処理の処理速度が向上する。また、キャッシュヒット率向上の結果、メインメモリへのアクセス頻度が減少し、メモリ間帯域の飽和が緩和され、並列処理のスケーラビリティが向上する。また、塩川法を適用して高速に階層的クラスタリング処理を行うので、リオーダリング処理全体の処理時間が短縮される。したがって、本実施形態のリオーダリング装置1のリオーダリング処理によれば、大規模なグラフの隣接行列のリオーダリングを行って、大規模なグラフの分析処理におけるメモリアクセスの局所性を向上させることができる。
[他の実施形態]
[プログラム]
上記実施形態に係るリオーダリング装置1が実行する処理をコンピュータが実行可能な言語で記述したプログラムを作成することもできる。この場合、コンピュータがプログラムを実行することにより、上記実施形態と同様の効果を得ることができる。さらに、係るプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータに読み込ませて実行することにより上記実施形態と同様の処理を実現してもよい。以下に、リオーダリング装置1と同様の機能を実現するリオーダリングプログラムを実行するコンピュータの一例を説明する。
図10に示すように、リオーダリングプログラムを実行するコンピュータ1000は、例えば、メモリ1010と、CPU1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1031に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1041に接続される。ディスクドライブ1041には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1051およびキーボード1052が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1061が接続される。
ここで、図10に示すように、ハードディスクドライブ1031は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。上記実施形態で説明した各テーブルは、例えばハードディスクドライブ1031やメモリ1010に記憶される。
また、リオーダリングプログラムは、例えば、コンピュータ1000によって実行される指令が記述されたプログラムモジュール1093として、ハードディスクドライブ1031に記憶される。具体的には、上記実施形態で説明したリオーダリング装置1が実行する各処理が記述されたプログラムモジュールが、ハードディスクドライブ1031に記憶される。
また、リオーダリングプログラムによる情報処理に用いられるデータは、プログラムデータ1094として、例えば、ハードディスクドライブ1031に記憶される。そして、CPU1020が、ハードディスクドライブ1031に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、リオーダリングプログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1031に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1041等を介してCPU1020によって読み出されてもよい。あるいは、リオーダリングプログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
以上、本発明者によってなされた発明を適用した実施形態について説明したが、本実施形態による本発明の開示の一部をなす記述および図面により本発明は限定されることはない。すなわち、本実施形態に基づいて当業者等によりなされる他の実施形態、実施例および運用技術等は全て本発明の範疇に含まれる。
1 リオーダリング装置
2 入力部
3 出力部
4 記憶部
5 制御部
51 抽出部
52 構成部

Claims (5)

  1. 頂点と頂点との結合状態を隣接行列で表すグラフの頂点の集合から、頂点と頂点との前記結合状態に基づいて階層構造をなすクラスタを抽出する抽出部と、
    抽出された前記各クラスタ内の頂点に連続した頂点IDを付与し、該頂点IDを用いて前記グラフの隣接行列を構成する構成部と、
    を備えることを特徴とするリオーダリング装置。
  2. 前記抽出部は、クラスタ内の頂点間の結合性を示す指標を最適化する塩川法を用いて前記クラスタを抽出することを特徴とする請求項1に記載のリオーダリング装置。
  3. 前記抽出部は、前記クラスタを全頂点の集合を根とした多分木構造とみなし、親としての前記クラスタから該クラスタに含まれる子としての前記クラスタの順に、頂点を1つ含む前記クラスタまで抽出することを特徴とする請求項1または2に記載のリオーダリング装置。
  4. リオーダリング装置が実行するリオーダリング方法であって、
    抽出部が、頂点と頂点との結合状態を隣接行列で表すグラフの頂点の集合から、頂点と頂点との前記結合状態に基づいて階層構造をなすクラスタを抽出する抽出工程と、
    構成部が、抽出された前記各クラスタ内の頂点に連続した頂点IDを付与し、該頂点IDを用いて前記グラフの隣接行列を構成する構成工程と、
    を含んだことを特徴とするリオーダリング方法。
  5. 頂点と頂点との結合状態を隣接行列で表すグラフの頂点の集合から、頂点と頂点との前記結合状態に基づいて階層構造をなすクラスタを抽出する抽出ステップと、
    抽出された前記各クラスタ内の頂点に連続した頂点IDを付与し、該頂点IDを用いて前記グラフの隣接行列を構成する構成ステップと、
    をコンピュータに実行させるためのリオーダリングプログラム。
JP2015030999A 2015-02-19 2015-02-19 リオーダリング装置、リオーダリング方法およびリオーダリングプログラム Expired - Fee Related JP6240108B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2015030999A JP6240108B2 (ja) 2015-02-19 2015-02-19 リオーダリング装置、リオーダリング方法およびリオーダリングプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015030999A JP6240108B2 (ja) 2015-02-19 2015-02-19 リオーダリング装置、リオーダリング方法およびリオーダリングプログラム

Publications (2)

Publication Number Publication Date
JP2016152031A JP2016152031A (ja) 2016-08-22
JP6240108B2 true JP6240108B2 (ja) 2017-11-29

Family

ID=56696581

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015030999A Expired - Fee Related JP6240108B2 (ja) 2015-02-19 2015-02-19 リオーダリング装置、リオーダリング方法およびリオーダリングプログラム

Country Status (1)

Country Link
JP (1) JP6240108B2 (ja)

Also Published As

Publication number Publication date
JP2016152031A (ja) 2016-08-22

Similar Documents

Publication Publication Date Title
KR102814880B1 (ko) 정보 처리, 정보 추천의 방법과 장치, 전자 기기, 저장 매체 및 컴퓨터 프로그램 제품
Yuan et al. S2dnas: Transforming static cnn model for dynamic inference via neural architecture search
CN112667860A (zh) 一种子图匹配方法、装置、设备及存储介质
CN104750780B (zh) 一种基于统计分析的Hadoop配置参数优化方法
JP5881048B2 (ja) 情報処理システム、及び、情報処理方法
CN110347881A (zh) 一种基于路径回溯图嵌入的群体发现方法
CN112560985A (zh) 神经网络的搜索方法、装置及电子设备
CN111915011B (zh) 一种单振幅量子计算模拟方法
CN114925840B (zh) 模拟方法、设备及存储介质
US12625885B1 (en) Unsupervised information-based hierarchical clustering of big data
WO2025030812A1 (zh) 芯片布局及训练方法、电子设备、存储介质和芯片系统
CN114820279A (zh) 基于多gpu的分布式深度学习方法、装置及电子设备
CN111028092A (zh) 基于Louvain算法的社区发现方法、计算机设备及其可读存储介质
CN105335438A (zh) 一种基于局部最短回路的社会网络群体划分方法
Sun et al. Graph force learning
CN117574978A (zh) 一种图模型训练方法、装置、设备及存储介质
CN114817845B (zh) 数据处理方法、装置、电子设备及存储介质
CN109712181B (zh) 集成电路版图线网上开路关键面积的提取方法
CN104462414A (zh) 一种基于拓扑结构的流程图相似性方法
CN119850874B (zh) 三维网格的编码方法、三维网格的解码方法和相关装置
CN120745799A (zh) 基于特征缓存与分布式并行的扩散模型推理加速方法
CN117573085B (zh) 一种基于层次结构特征和序列特征的代码补全方法
Chung et al. Finding and visualizing graph clusters using PageRank optimization
Graham et al. Finding and visualizing graph clusters using pagerank optimization
JP2016152031A (ja) リオーダリング装置、リオーダリング方法およびリオーダリングプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161208

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170926

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170922

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20171019

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: 20171031

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171102

R150 Certificate of patent or registration of utility model

Ref document number: 6240108

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees