DAGのエッジラベリング問題の正確なアルゴリズム


14

私はいくつかのシステムの一部を実装していますが、その一部には何らかの助けが必要です。したがって、それをグラフの問題としてフレーミングして、ドメインに依存しないようにします。

問題:有向非巡回グラフが与えられます。一般性を失うことなく、は1つのソース頂点と1つのシンク頂点があると仮定します。せからすべて有向パス集合示すににおける。頂点のセットも与えられます。問題は、非負の整数の重みをのエッジに割り当てることです。したがって、 2つのパスは、の頂点の同じサブセットを含む場合にのみ同じ重みを持ちます。G S T P S T G R V G P RG=VEGstPstGRVGPR。(パスの重みは、そのエッジの重みの合計です。)のパスの重みの範囲はできるだけ小さくする必要があります。P

現在、私のアプローチは効率的ではないようです。文学への言及や良い洞察を探しています。それ以外のことも歓迎します。

編集:この問題の硬度の証拠はありますか?コンパクトな番号は常に存在しますか?


4
「Pのパスの重みの範囲は最適であるべきです」を明確にしてください。重みは整数のみですか?負の重みは許可されますか?最適とは「可能な限り狭い範囲」を意味しますか、それとも何か他のものを意味しますか?
アルテムKaznatcheev

2
質問を編集しました。ご意見をありがとうございます。重みは負でない整数で、範囲はできるだけ小さくする必要があります。
user5153

5
有効な解決策を考え出すための簡単な戦略は、Rの各頂点vに異なる2のべき乗を割り当て、その番号をvへのすべての入力エッジの重みとして使用し、残りのすべてのエッジに重み0を割り当てることです。明らかに、これは最適ではないかもしれませんが、少なくとも必要な範囲の上限を与えます。Rの同じ頂点を通る異なるエッジに互いに異なる重みを持たせることは改善されていますか、または重みをエッジではなく頂点に合わせることで問題を単純化できますか?
デビッドエップシュタイン

3
ところで、@ DavidEppsteinの答えは、パスの最大総重量がます。これは定数に厳密です。例として、グラフG = V E V = [ n ] { s t }およびE = { i j i < j } { s 1 O2|R|G=VEV=[n]{st}R = [ n ]ともしましょう。Rには 2 n個の異なるパスがあり、各パスには負でない整数の重みがあるため、少なくとも1つは少なくとも 2 n1の重みを持つ必要があります。E={(i,j):i<j}{(s,1),(n,t),(s,t)}R=[n]2nR2n1
サショニコロフ

1
確かに、最悪の場合はきついことを意味していました(実際、このコメントの最初のバージョンで失われたと書きました)。最適化の問題にまだ誰も取り組んでいないため、最初にいくつかの絶対的な境界を突き止めるのが良いと考えました。
サショニコロフ

回答:


-6

文学でこの問題を正確に聞いたことはありません[誰かが知っているかもしれません]が、「近傍の問題」として、最小スパニングツリーは問題を解決するのに役立つプロパティを持っているようです。たとえば、ソース頂点と同期頂点から開始して2つの最小スパニングツリーを生成し、それらが接触するまで外側に伝播するなど、問題を解決したり、厳密な答えを出すことができます。ここで誰も私にこれを言う前に、私はMSTのアイデアを特定の頂点から生成されるように拡張しています(通常はグラフ全体の最短エッジから開始します)。うまくいかない場合は、その理由に興味があります。


5
申し訳ありませんが、この質問に対するこの回答の関連性はわかりません。
デビッドエップシュタイン

多分あなたは彼が何について話しているのかより良い考えを持っていますか?述べられているようにそれはあなたにとって意味がありますか?
vzn

1
彼はエッジ重みを割り当てる必要があります。MSTの計算はどのように役立ちますか?
ニコラスマンクーソ

それを読んでOK、そして誰も答えを提案していないので、問題を2つの部分に変換できるように見えました-(1)基準/制限に基づいて重みを割り当てる、(2)それらの重みに基づいて最短経路を見つける (2)でMSTが役立つようです。またはそうでないかもしれません!(たとえば、1/2が密結合している可能性があります)
-vzn

1
いいえ。最小全域木は無向グラフ専用です。入力グラフが指示されます。さらに、最小スパニングツリーは、表面的に最短パスにのみ関連しています。
ジェフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.