私はいくつかのシステムの一部を実装していますが、その一部には何らかの助けが必要です。したがって、それをグラフの問題としてフレーミングして、ドメインに依存しないようにします。
問題:有向非巡回グラフが与えられます。一般性を失うことなく、は1つのソース頂点と1つのシンク頂点があると仮定します。せからすべて有向パス集合示すににおける。頂点のセットも与えられます。問題は、非負の整数の重みをのエッジに割り当てることです。したがって、 2つのパスは、の頂点の同じサブセットを含む場合にのみ同じ重みを持ちます。G S T P S T G R ⊆ V G P R。(パスの重みは、そのエッジの重みの合計です。)のパスの重みの範囲はできるだけ小さくする必要があります。
現在、私のアプローチは効率的ではないようです。文学への言及や良い洞察を探しています。それ以外のことも歓迎します。
編集:この問題の硬度の証拠はありますか?コンパクトな番号は常に存在しますか?
4
「Pのパスの重みの範囲は最適であるべきです」を明確にしてください。重みは整数のみですか?負の重みは許可されますか?最適とは「可能な限り狭い範囲」を意味しますか、それとも何か他のものを意味しますか?
—
アルテムKaznatcheev
質問を編集しました。ご意見をありがとうございます。重みは負でない整数で、範囲はできるだけ小さくする必要があります。
—
user5153
有効な解決策を考え出すための簡単な戦略は、Rの各頂点vに異なる2のべき乗を割り当て、その番号をvへのすべての入力エッジの重みとして使用し、残りのすべてのエッジに重み0を割り当てることです。明らかに、これは最適ではないかもしれませんが、少なくとも必要な範囲の上限を与えます。Rの同じ頂点を通る異なるエッジに互いに異なる重みを持たせることは改善されていますか、または重みをエッジではなく頂点に合わせることで問題を単純化できますか?
—
デビッドエップシュタイン
ところで、@ DavidEppsteinの答えは、パスの最大総重量がます。これは定数に厳密です。例として、グラフG = (V 、E )、V = [ n ] ∪ { s 、t }およびE = { (i 、j ):i < j } ∪ { (s 、1 )、。R = [ n ]ともしましょう。Rには 2 n個の異なるパスがあり、各パスには負でない整数の重みがあるため、少なくとも1つは少なくとも 2 n − 1の重みを持つ必要があります。
—
サショニコロフ
確かに、最悪の場合はきついことを意味していました(実際、このコメントの最初のバージョンで失われたと書きました)。最適化の問題にまだ誰も取り組んでいないため、最初にいくつかの絶対的な境界を突き止めるのが良いと考えました。
—
サショニコロフ