最大クリーク問題 無向グラフが与えられたとき、最大位数の完 全部分グラフを求める問題 最大クリーク問題とは? 無向グラフG=(V,E)が与えられたとき、ノー ド(点)の部分集合C(⊆V)は、Cによって導 かれた部分グラフが完全なときクリークと呼 ばれる(完全グラフとは、すべてのノードの 間にアークがあるグラフである)。クリークに 含まれるノードの数|C|が最大になるク リークを求めよ。 アルゴリズム 評価値(S)=Sに含まれるアークの数 1)適当なノードの部分集合Sからはじめる。 2)以下の操作を時間が尽きるまで繰り返す。 a)Sによって導かれたグラフが完全ならば、 Sに含まれないノードiで評価値(S∪{i})が 最大のものをSに加える。このとき、追加し たノードはしばらく削除しないように設定する。 b)Sによって導かれたグラフが完全でないな らば、Sに含まれるノードiで評価値(S-{i}) が最大のものをSから除く。このとき、削除し たノードはしばらく追加しないように設定する。 0 2 2 2 0 2 2 1 3 3 4 1 3 3 しばらく削除しない 1 2 1 2 1 2 1 3 4 1 2 3 4 1 3 3 2 2 3 3 2
© Copyright 2024 ExpyDoc