ここにグラフが表示されています。ノード B_0、B_1 がタイプ B、C_0、C_1 のノードに属しているノードにだけ。C_2、C_3 はタイプ C のノードに属します。ここで、この例で定義されているような基準を満たすことができる複数のサブグラフを見つけたいと思います -
基準 -
- サブグラフには、タイプ A のノードが 1 つ、タイプ B のノードが 1 つ、タイプ C のノードが 1 つ、タイプ D のノードが 1 つ含まれます。
- サブグラフには、タイプ A のノードからタイプ B の 1 つのノードへの 1 つのエッジ、タイプ B とタイプ C を接続する 1 つのエッジ、およびタイプ C とタイプ D を接続する 1 つのノードがあります。
- サブグラフには、サブグラフからタイプ B ノードに向かうタイプ A からのエッジが 1 つ、タイプ B からタイプ C ノードの外側に向かうエッジが 1 つ、タイプ D からタイプ E の外側に向かうエッジが 1 つ含まれます。
今、この説明は次のように結果を与えるはずです-
- サブグラフ :: A_0、B_0、C_1、D_1
- サブグラフ :: A_0、B_0、C_0、D_0
- サブグラフ :: A_0、B_1、C_2、D_2
- サブグラフ :: A_0、B_1、C_3、D_3
そのようなサブグラフを見つけることができるアルゴリズムがあるかどうか知りたいですか? 可能な組み合わせをすべて作ってアルゴリズムを考えてみました。ただし、これはサブグラフのノード数に対して指数関数的になります。したがって、それを計算する効率的な方法が存在するかどうかを知りたいです。または、グラフ理論に同様の性質の問題が存在する場合は?