以下に示すアルゴリズムを使用して最大クリークの問題を解決しようとしていますが、これまでのところ、失敗するケースを見つけることができませんでした。
アルゴリズム:
特定のグラフについて、各ノードには 1 から N までの番号が付けられます。
1. ノードを永続ノードと見なし、各ノードがこの永続ノードに接続されるようにノードのセットを形成します (セットには永続ノードも含まれます)
2 。 . 次に、形成されたセット内のすべてのノードと、セット内に存在するノード間にあるエッジのみを含むように、元のグラフのサブグラフを形成します。
3. 各ノードの次数を見つけます。
4. すべてのノードの次数が同じ場合、クリークがあります。
5. それ以外の場合は、このサブグラフから最小次数ノードを削除し、手順 3 から繰り返します。
6. グラフ内のすべてのノードについて、手順 1 ~ 5 を繰り返します。
このアルゴリズムの欠陥を指摘できる人はいますか?
ここに私のコード http://pastebin.com/tN149P9mがあります。