互いに素なパスのすべてのペアを列挙する


10

有向グラフ所与と2つの頂点S T Vを。単純なパスの組P 1P 2からSへのtは、それらがエッジを共有していない場合、エッジ互いに素です。G=(V,E)s,tVp1,p2st

max flowを使用すると、からtへのエッジの互いに素なパスのペアがあるかどうかを簡単に判断できます。ここで、sからtまでエッジの素なパスのすべてのペアを列挙する多項式の時間遅延アルゴリズムはありますか?stst


1
いいえ、そのようなパスは指数関数的に多くなる可能性があるためです。
カヴェ

6
@Kaveh:「多項式遅延アルゴリズム」は、出力間の遅延が多項式的に長い限り、指数関数的な時間をとることができると思います。たとえば、最大クリークの数は指数関数的ですが、すべての最大クリークを昇順にリストする多項式遅延アルゴリズムがあります。
Robin Kothari、

3
質問に多項式遅延の説明を含めることはできますか?ロビンのコメントを読むまで、私はそれに慣れていませんでした。
Artem Kaznatcheev

@ロビン、あなたは正しい、私は「遅れ」という言葉に注意を払わなかった。
カヴェ

回答:


6

Artem Kaznatcheevの答えは正しいと思いますが、多項式空間は与えられません。そこで、その点で少しうまくいくはずの別のアプローチがあります。

最大フローを使用すると、少し一般的な問題を解決できます。いくつかの2つの頂点{s1、s2}から他の頂点のペア{t1、t2}へのエッジの素なパスのペアを見つけますが、接続されているソース頂点を制御しませんどの宛先頂点に。

パスのすべてのペアをリストするグラフGと頂点s1、s2、t1、t2があるとします。パスP1、P2の単一のペアを見つけ、e =(s1、v)をこれらのパスのいずれかの最初のエッジとします。次に、問題空間を2つのサブ問題に分割できます。eを使用するパスのペアは、G-s1の{v、s2}から{t1、t2}へのパスと同じで、使用しないパスのペアはeは、Geの{s1、s2}から{t1、t2}へのパスと同じです。これらの2つのサブ問題の両方で再帰し、(重複を避けるために)再帰の最下部にいるときにのみパスを報告します。


1
再帰の最後まで待つ場合、アルゴリズムが多項式遅延であることは明らかですか?
Artem Kaznatcheev

再帰は多項式で多くのレベルをボトムアウトし(各レベルがグラフから何かを削除するため)、各ブランチはすぐに戻る(パスのペアが見つからないため)またはボトムアウトして何かを返すため、そうです多項式遅延のみをとります。
David Eppstein、

5

私が多項式遅延アルゴリズムについて読んだのはこれが初めてなので、私の答えは100%わかりませんが、次のようなものがうまくいくはずです。

<DG

F


F(s,t,G,D)

DD

  1. (P,Q)P<Qst
  2. (P,Q)D

    (P,Q)D

    uvE(PQ)F(s,t,G{uv},D)


Ds,tV(G)s<tstF(s,t,G,D)

PSPACEPSPACE


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.