2016-11-20 8 views
0

負の重みと正の重みを持つ有向グラフを持っていますが、ルート(グラフのノード)が与えられたツリーで円弧のコストを最小限にしたいと考えています。有向グラフ内のツリーパスのコストを最小化する

Example

すべてのノードをカバーすることは重要ではないことに注意してください。私はブランチ/アークのコストを最小限に抑えたい。だからそれはMDSTではありません。

この問題の既知の名前は何ですか?

プログラミングを簡単にするためにInteger Formulationを探したいですか?

編集:ルートを指定すると、そのツリーのアークのコストを最小限に抑えるツリーを生成する必要があります。つまり、アークの合計を最小にするパスツリーを見つける必要があります。私が与えるExampのように、右上隅のノードに移動すると、両方の可能なパスで100のコストがかかるため、パスの値が大きくなります(最小化したい)。

類推:その島には、様々な宝物 (負の数)につながる複数のパス(アーク)があると考えてください。しかし、トラップ(正の数)宝のいくつか。可能な限り最大の宝を蓄積する道を探したい。

すべてのトラップを避けることはできません.100コインを失うパスを想像してください。そのパスは、10000コインを与える別のパスと結びついています。

最小スパニングツリーの問題と似ていますが、この場合は負の数もあります。グラフは向けられており、ソリューション内のすべてのノードをカバーする必要はありません。

+0

あなたが求めていることは明確ではありません。どのような制限の下で、何を見つけようとしていますか?あなたは多くの細部を除外しました。 – user2357112

+0

グラフを考えると、円弧のコストを最小限に抑えるツリーを探したいと思う。私が持っている唯一の制限は、木である必要があるということです。言い換えれば、私はアークの合計の最小値を探したい。 (正の重みしか持たなかった場合、最大値と同じことです) – Kondecigs

+0

「与えられたルート」の部分は何ですか?そして私たちが重要な選択肢の方向を指示しますか? – user2357112

答えて

1

1つのルートから他のルートへの重みの合計を調べたいと思います。負の重みのないグラフでは、Dijkstraのアルゴリズムで解くことができ、負の重みのグラフではBellman-Fordのアルゴリズムで解くことができます。私はこれが答えを見つけるのを助けることができると思います。

+0

これは1つのルートから別のルートにはありません。 1つの根を考えると、アークのコストを最小にするツリーを生成する必要があります(唯一の正の重みを持っていれば最大値の同じものです)。 – Kondecigs

+0

それに加えて、DijkstraとBellman-Fordにはソリューションのすべてのノードが含まれています。私はすべてのノードを含める必要はありません。 – Kondecigs

関連する問題