2012-01-04 10 views
8

問題:最大フロー - 頂点経由 - どのように?

G =(V、E)を、m> = 3の頂点上の有向グラフとし、m個の辺を持つとする。頂点集合Vは、3つの 特殊頂点a、v、およびbを含む。 aからbへの単純なパスを見つけます(存在する場合)。 (シンプルなパスとは、頂点が繰り返されていないパスです)

この問題はMax Flowアルゴリズムで解決できるはずですが、わかりません。これは、エッジに容量1がある複数のソースを持つMax Flowアルゴリズムを思い出させます。どのように問題を最大フローアルゴリズムに減らすことができるか知っていますか?

頂点bをシンクとして設定すると、vが含まれているかどうかはわかりません。vをシンクとして設定した場合、vに達するとどのように続行しますか?

+1

vは、bの2番目のパスのソースではありませんか? – Mikeb

+1

あなたはgoogleで "最大流量下限"を試すことができます。頂点vを通る最小流量を1にすると、基本的にvを通るパスがあります。 – phimuemue

+1

@Mikeb私はそうは思わない。 a-> vからの流れは、私が考えるv-bからの流れを作ることを不可能にする経路かもしれない。 –

答えて

2

次のように動作するはずです:

  • aからvにすべて最小限パスを見つけ、頂点bが含まれていないこと。頂点なしでグラフ上のDFS(例えば、DFS)を得ることができますba-v -path pが最小であるとし、a-v -path p'には、pの頂点のみが含まれているとします。各最小限a-v -pathため

  • 、すでにa-v -pathに属する頂点を無視してvからbへのパスを探してみてください。あなたがそのようなものを見つけたら、あなたは終わった。

備考:パスの数が指数関数的に成長かもしれないが、私は私のコメントで指摘したように、少なくともこの問題の一般化バージョンは、このように、おそらく非常にされ、TSPに還元可能であると考えられること注意難しい

+0

これも私が見つけることができる唯一の解決策です。私が望んでいた答えではない:/ –

1

これは、3つの頂点を持つ有向パスと同型の部分グラフが含まれているかどうかを確認するのと同じです(パターンは入力グラフの頂点の一部のグラフであり、サブグラフはパターンは、サブグラフの単純な対の頂点の分離したパスにマッピングすることができる)。 Fortune, Hopcroft, and Wyllieによって、有向グラフの準同型写像は、これを含むほぼすべての固定パターンに対してNP困難であることが証明されている。したがって、問題はNP困難であり、P = NP以外のフロー技術では解決できません。

しかし、無向バージョンは、aとbをソースとシンクとすることで、最大フローに減らすことができます。

関連する問題