グラフを2つのサブグラフにグループ化できるかどうかを確認したい場合は、どのような方法が最も効率的でしょうか。それぞれのサブグラフで各ノードが他のすべてのノードに接続されています。ここの例では、グラフは4つのノードと5つのノードからなる2つのサブグラフであり、各サブグラフにおいて、各ノードはすべての他のノードに接続されている。私はグラフを与えられていると仮定し、私は上記の事実が成り立つかどうか、それを行うための最も効率的なやり方やアルゴリズムは何かをチェックすることです。 グラフアルゴリズムですか?
-1
A
答えて
4
これはclique problemとして知られています。 cliqueは、サブセット内の2つの頂点がすべて元のグラフに接続される(つまり、完全なサブグラフを形成する)頂点のサブセットです。すべての最大クリーク(より大きいクリークの一部ではないクリーク)をリストするアルゴリズムを求めています。これにはさまざまなアルゴリズムがあります。通常使用されるものはBron-Kerbosch algorithmです。グラフの頂点の数がnである最悪ケースの実行時間がOです
グラフに特殊な構造(たとえば、あなたの例ではない平面)がある場合は、他のアルゴリズムも適用できます。
EDIT:実際には、グラフが正確に2つのクリークに分割できるかどうかは、this threadで説明されているように、より効率的なアルゴリズムがあります(質問の重複となります)。
関連する問題
- 1. グラフアルゴリズム、近似アルゴリズム
- 2. グーグルアースのグラフアルゴリズム
- 3. 2者グラフアルゴリズム
- 4. 線形時間グラフアルゴリズム
- 5. すべてのノードのグラフアルゴリズム
- 6. 解体のためのグラフアルゴリズム
- 7. グラフアルゴリズムの記述方法
- 8. C#最短パスのグラフアルゴリズム
- 9. 偶数サイクルを検出するグラフアルゴリズム
- 10. グラフアルゴリズムの囲まれたセクションの検索
- 11. 2つの別々のグラフアルゴリズムをマージ/結合しますか?
- 12. 深さ優先グラフアルゴリズムの時間複雑度
- 13. 単一ソースの最短経路距離について説明できますか? (グラフアルゴリズム)
- 14. 分散グラフアルゴリズムのパフォーマンスをどのように高速化するには?
- 15. 最短の輸送順序ルートを見つけるためのグラフアルゴリズム
- 16. マルチコア並列処理を使用してJavaでグラフアルゴリズムを同時に実行する方法
- 17. 無指向性グラフアルゴリズムの結果のDFS-XORサイクル検出での誤ったサイクルの削除
- 18. グラフを最も混乱させる2つのノードを見つけるためのグラフアルゴリズム/アプローチ
- 19. グラフAlgorithma Javaで
- 20. $#vvv--とは何ですか? Perlでハッシュするのですか?
- 21. インクリメンタルグラフアルゴリズム
- 22. どちらが良いですか、コンパイラかインタプリタですか?
- 23. 丸いかっこですか?違いはなんですか?
- 24. は "newPageLoaded"フラグですか?それはDOMかネットワークベースですか?
- 25. ブーストから継承できますか?フュージョンシーケンスですか?
- 26. ALLかenumsでヌルですか?
- 27. ベストワードラップアルゴリズムですか?
- 28. ですか?
- 29. ですか?
- 30. ですか?
[完全なグラフコンポーネントの数](http://stackoverflow.com/questions/39290413/number-of-complete-graph-components) – Tempux
左の孤立ノードはどうなっていますか?あなたのサンプルグラフは、1つ、4つ、5つのノードからなる3つのサブグラフにグループ化されませんか? –
@TedHoppいいえ、コーディング競争の問題は部分グラフを完成させる必要があります。 – beaker