このパスの問題の複雑さはわかっていますか?


9

インスタンス: Anがグラフ無向頂点区別2つと整数であり、。S T K 0Gstk0

質問:パスが最大で三角形と交差するように、にパスが存在しますか?(この問題では、パスに三角形からのエッジが少なくとも1つ含まれている場合、パスは三角形と交差すると言われます。)G kstGk


3
これは間違っていますか?各エッジに重みを割り当て、最短のstパスを見つけます。各エッジの重みは、そのエッジを含む三角形の数です。このパスの重みは、出会う三角形の数とは異なりますが、三角形の数が最小のstパスです。(考えられる問題は、1つまたは複数の三角形を2回カウントする可能性があることです。その三角形の2つのエッジにアクセスするためですが、それらを選択する理由は、三角形のもう1つのエッジを通過するよりも小さいためです。また、単純なパス手段があります。三角形の2つのエッジは互いに隣接しています)。
Saeed

3
@Saeedわからない:過大評価では次善のパスを選択できないという議論は何ですか?アルゴリズムは確かに2近似です。多分修正は、すべてのパスエッジを追加することです。重みはと両方を含む三角形の数に等しいu v w u v v w (u,w)uvw(u,v)(v,w)
Sasho Nikolov

2
右、uからvに移動し、x(三角形uvwにない他のノード)を選択してから、間違ったwに移動します(私の間違いは、三角形uvwにない頂点間で逃したことです)が、あなたの修正とそれが理由で、すべての回目のパスのために正しいですα元のグラフの三角形を、補助グラフに重みαのパスがあるからです。さらに、新しいグラフのパスの重みは常に、少なくとも元のグラフの対応するパスの三角形の数と同じです。α
2015年

1
修正後も機能しない場合でも、もう少し考えます。私が間違った希望を持ってきたなら、アンドラスに申し訳ない。修正が間違っている理由を確認するには、パスP内の頂点を考慮してください。三角形u v wv w xがあり、エッジv xu wも発生しているとします。多くの三角形。u > wを接続する人工の新しいエッジを使用する場合、三角形vを数えますu>v>w>xPu,v,wv,w,xvxuwu>w 2回。PS:私たちは、単純に置き換えると思ったので、私の推論は再び間違っていたのu - > V V - > ワット新しい(マルチ)縁と U - > wが。すべてのパスにこれらの人工エッジを追加すると、簡単に機能します。NPCだそうです。v,w,xu>vv>wu>w
2015年

1
私のアイデアは機能しません-複数のセットを維持する必要があるので、それらのセットは多すぎると思います。
reinierpost 2015年

回答:


1

自己エッジがないと仮定します。G

ノード間の各エッジに対してV JにおけるG、聞かせてE [ I J ] = 1、及びE [ I J ] = 0ないエッジが存在しない場合。計算N × N行列C [ I J ] = Σ N K = 1 E [ I K ] E [ K JvivjGE[i,j]=1E[i,j]=0n×n、ノードの各ペア v i v jの間の2ホップパスの数を示します。その後間のエッジに対する V I及び VのJにおける G計算 D [ I J ] = E [ I J ] C [ I J ]別段セット D [ I J ] = C[i,j]=k=1nE[i,k]E[k,j]vivjvivjGD[i,j]=E[i,j]C[i,j]D[i,j]=、エッジが含まれている三角形の数を示します(エッジがない場合は無限)。計算に必要な行列積コストO N 3(のスパース性に応じてより速く計算することができるGを)。CO(n3)G

次に、A [ i j ] = min D [ i j ] min kD [ i k ] + D [ k j ] E [ i j ] となるような行列Aを計算します。AはすべてDの最短経路n×nAA[i,j]=min(D[i,j],mink(D[i,k]+D[k,j]E[i,j]))D いくつかの三角形の2つのエッジに沿ったパスを考慮して、最大2つまでの長さが拡張されています。

ここで、Aが(重み付けされた)隣接行列である新しいグラフで、Gのv jの間の最短経路を計算します(すべてのエッジの重みが正であるため)。つまり、A [ i j ] KA *は(距離行列を与える)熱帯半環上の閉鎖です。vvjG[j]k

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