Ford-FulkersonとDFSを使用した最大流量


22

この質問は、DFSを使用して拡張パスを見つける際のFord-Fulkerson最大フローアルゴリズムの時間の複雑さに関するものです。

DFSを使用すると、最大フローで線形の反復回数が必要になる可能性があることを示すよく知られた例があります。たとえば、上記にリンクされているWikipediaページを参照してください。

ただし、私はこの例に本当に納得していません。標準のDFS実装では、パスの最初のノードとしてBとCを交互に使用する動作はありません(Wikipediaページの頂点名を使用)。

したがって、DFSがノードアクセスするたびに、常に同じ順序でuのネイバーを検査するという非常に自然な条件を課しましょう 。DFS付きFFが多数の反復を使用する例はまだありますか?あなたはあなたは

変形として、近隣の異なる順序が、頂点の任意の固定されたグローバルな順序と一致するという追加のプロパティがあると仮定します。それは違いがありますか?

これはかなり基本的な質問のように思えます。答えがよく知られている場合は事前に謝罪しますが、私はフローの専門家ではなく、一部のグーグルは何もしませんでした。

編集: 答えはイエスであることが判明し、まだ例があります。このペーパーの図2を参照してください。これらの例では、DFSを使用したFFは、(頂点の数で)指数関数的な反復回数を取ります。これが厳密であること、つまり、反復の数が(容量の値に関係なくによって常に制限されることを証明するのは簡単なようです。2On


4
私は同じ質問について疑問に思っています。
ルカトレビサン

1
(1)いい質問です。(2)悪い例(Wikipediaの例など)は、通常、深さ優先の検索を使用する理由としてではなく、訪問順序に関する何らかの考慮が必要な理由として導入されていると思います。
伊藤剛

6
この質問に答えずにFFを教えることができるとは思いません。いいね!
スレシュヴェンカト

NP-Completeの最小反復回数で最大フローを見つけていませんか?
user834

回答:


13

隣接リストが事前に修正されている場合、DFSは常に終了します(不合理な容量がある場合でも)。

Dean、Goemans、Immorlica-不合理な問題データが存在する場合の「Augmenting Path」アルゴリズムの有限終了を参照してください。


11
ありがとう。それだけでは私の質問に答えることはできませんが、Dean-Goemans-Immorlica論文の図2に示されている例は、標準的な例に基づいた再帰構造を示しています。繰り返し。
ペルアウストリン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.