グラフを切り離すために頂点の最小数を削除します


9

ソースとシンクの頂点を持つ無向グラフを考えます。そのグラフの頂点の最小数を削除して、ソースとシンクの間のパスを切断します。

たとえば、max-flow、min-cutアルゴリズムを使用してこれを実行できますか?


4
それはうまくいくはずです(私はすべてのエッジが同じ容量を持っていると思います)。
A.Schulz

回答:


3

(この回答は元々、質問の一部として提供され、検証されることを目的としています。)

私の直感は、max-flow、min-cutアルゴリズムを使用してこの問題を解決できることを教えてくれます。

  1. 無向エッジのそれぞれを一対の有向エッジで置き換えます。
  2. 各頂点を、エッジで接続された2つの頂点と置き換えます。すべての着信エッジ用いて接続される、すべての発信エッジと接続する。v in v out v v in v v outvvvアウトvvvvアウト
  3. 最小カットを見つけてください。のエッジは、削除する必要がある頂点を参照します。MMM

なぜこれが機能することが保証されるのか、私にははっきりしません。変更されたグラフの最小カットにと間にないエッジが含まれているが、ソリューションのステップ1からの有向エッジである場合はどうなりますか?元のグラフの各min-vertex-cutが、変更されたグラフのmin-edge-cutと1対1で対応すると思うのはなぜですか?証明が必要だと思います。v outvvアウト
DW

FrankWによる回答をサポートするには、以下のリンクをたどってください。Abdol–Hossein Esfahanianから、無向エッジを2つの有向エッジで置き換えることをサポートする論文があります。- networkx.github.io/documentation/latest/reference/generated/... - cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
Pawan Puttaswamy

1
@pawanp、私はあなたをフォローしていません。もちろん、無向エッジを2つの有向エッジに置き換えることができます。問題は、それが可能かどうかではなく、FrankWがリストしたアルゴリズムを適用した後、出力が元の問題に対する正しい解決策であることが保証されるかどうかです。NetworkXライブラリのマニュアルページの関連性がわかりません。論文に関して:それは14ページで、11の異なるアルゴリズムがあり、ほとんどが正確性の証明がありません。ここで関連があると思われる部分を具体的に教えてください。
DW
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.