二学期 知識情報工学実験 (分子情報工学コース)
解説
P1課題
:部分グラフ抽出
具体例を用いて説明する。 いま、図1に示すグラフGが与えられたとする。
図1 グラフGとその隣接行列
ノード1に注目すると、これに隣接する(=パスの長さ1で 到達できる)ノード集合は{2, 6, 7}である。 これに対応する部分グラフは次のようになる。
V
(S(1, 1))={1, 2, 6, 7},
E
(S(1, 1))={(1,2), (1,6), (1,7)}
図2 ノード1を中心としたサイズ1の部分グラフ
ここで、S(
i
,
j
)は、 ノード
i
を中心(出発ノード)とした、 サイズ(パスの長さ)
j
の部分グラフを表わすものとする。
中心をノード1, 2, ..., 10としたときの、 サイズ1の部分グラフを図3(上段)に示す。
同様に、サイズ2のときの部分グラフの例を2段目に示す。
さらに続けていくと、例えば、S(1, 5)は「G」そのものとなる。 (ノード1を中心としたとき、これ以上のサイズの部分グラフは存在しない)
S(1, 1) =
S(2, 1) =
・・・ S(10, 1) =
S(1, 2) =
S(2, 2) =
・・・ S(10, 2) =
・・・
S(1, 5) =
S(2, 4) =
・・・ S(10, 6) =
図3 抽出される部分グラフの例
図4 ノード1を中心とした場合の部分グラフの抽出イメージ
補足説明
本課題の部分グラフ抽出では、 ある注目するノード(出発ノード)から、 指定されたサイズ(パスの長さ) 内に含まれるノードを探索し、 エッジについては、元のグラフ中でこれらのノード集合が持っている 隣接関係をそのまま抽出すれば良い。
例えば、図5の場合、ノード2を中心として、サイズ2で到達 できるノード集合は{1, 2, .., 6}の全てであり、結果として 得られる部分グラフは、元のグラフそのものとする。
ノード4と6との間のエッジは、ノード2を出発点とする 長さ2のパスには含まれないが(図5の左)、 これをわざわざ除外する必要はない。
─×→
図5 ノード2を中心としたサイズ2の部分グラフ
(ここで想定しているのは、右の元のグラフそのもの)
※ このように、一口に「部分グラフ」と言っても、その定義は 複数考えられる。 (例えば、ノード1のみ(エッジを含まない)ものも部分グラフの一つで あるし、また非連結グラフ(分離グラフ)となるようなものも考慮すると その組み合わせは爆発的に増える)
余力があれば、このような部分グラフの特徴と、その抽出アルゴリズムに ついても考えてみると良い。
知 識情報工学実験(分子情報工学コース)のページに戻る