すべての重みが正になるように定数を追加するだけでは、負の重みを持つ最短経路を見つけられないのはなぜですか?


11

私は現在、アルゴリズムの概要を読んでいて、すべてのパスが正であることを確認することに依存するジョンソンのアルゴリズムを採用しました。

アルゴは、すべてのエッジに対して正であり、最短経路関係の正確さを維持する新しい重み関数(w ')を見つけることに依存しています。

これは、w(s)、h(d)の値を計算して、wの元の値に追加します。

私の質問は、グラフの最小のwを見つけてすべてのエッジに追加しないのはなぜですか?これは両方の条件を満たすため、計算量が少なくて済みます。


2
あなたの主張を証明したり、反例を見つけたりしましたか?ヒント:あなたの直感は間違っています。(コミュニティ、これは重複していると確信しています。見つけられますか?)
ラファエル

@Raphael私もそれがだまされていると確信していますが、だまされたものを見つけるよりも答える方が速いと思いました。
David Richerby

@Raphael質問を特定の形式でフレーズできなかったため、検索できませんでした。
Mr.Me 2016年

1
これについてはすでに説明している質問ありますがかなり混乱して理解しにくい別の質問の重複としてマークされ、複数の異なる質問が混在しています。したがって、この質問は私たちが以前持っていたものよりも価値があると思います。必要に応じて、dupのターゲットを変更できると思います(現在のdupではなく、dupとして閉じます)。
DW

回答:


22

すべてのエッジに重みを追加すると、短いパスよりも長いパスに重みが追加されます。(エッジが多いという意味で長い。)

たとえば、最もコストの低いエッジの重みが であり、から へのパスが2つあるとします。重み単一エッジ  と、重み 2つのエッジを持つパス  です。2エッジパスの重みが最も低くなります。ただし、すべてのエッジにを追加すると、1エッジパスの重みは が、2エッジパスの重みは になるため、間違った答えが返されます。2ab31256


0

すべてのエッジの重みを同じ量だけ増やしても、必ずしもすべてのパスが同じ距離だけ増えるわけではありません。むしろ、パスの増加は不均衡であることが多く、これはパスのエッジの数に依存します。


2
この影響については、他の回答ですでに述べています。
Yuval Filmus

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