2011-08-10 12 views
1

Dijkstraダイクストラパス重量

なぜいくつかの経路が他の同じ長さの経路よりも有意に/より少ない重みを持っているでしょうか?ダイクストラの長さと経路の重量は等しくないのですか?

+0

パスを言うときに何らかの意味でエッジをしますか? –

+0

@obrok:おそらく... – woliveirajr

+0

どのようにそのグラフィックを生成しましたか? – Peaches491

答えて

4

のグラフィック表現は、各パスのweightに対応していません。

彼らはあまり持っていません...視覚的な表現は単なる表象です。体重に相当するものではありません。

頂点間の接続が維持されていることを確認して、好きなようにグラフを再描画できます。

編集:Dijkstraやそれ以外のどのグラフを扱っても問題ありません。あなたは方向が重要なグラフを陥れさえすることができます:AからBまでは10、BからAまでは30になります。問題ありません。

編集2:この画像は、頂点同士の接続方法を示しています。画像は、プログラムに格納されているグラフと同じ縮尺である必要はありません。場合によっては、非常に多くの頂点とエッジを持つグラフを作成して、それを適切に表現できなくなることがあります。あなたのプログラミング上の問題は、頂点、辺、および重みです。イメージは、その大まかな表現です。必要に応じてイメージを再描画することができます。すべての頂点、すべてのエッジ、および各エッジのすべてのウェイトを確実に配置する必要があります。

+0

Dijkstra'sでエッジを距離と同じにすることは可能ですか、それとも完全に別の問題ではありますか? – daidai

+0

私はあなたが意味することを理解している場合、エッジは2つの頂点間の距離です(国の都市のようなマップで考えると)。また、「コスト」(たとえば、「液体」状態から「蒸気」状態への移行は100℃になります)を意味する場合もあります。彼らはあなたが好きなものを意味することができます。エッジウェイトは、頂点Aから頂点Bに行くための価格です。 – woliveirajr

+0

エッジが長さだけであるダイクストラのアルゴリズム/バージョンはありますか?私はまだ、上記の例では、2つの同様の距離 "コスト" 3&16単位の間を移動する方法/理由を見ていない。 – daidai

2

パスの長さ(図の線のサイズのような)は無関係です。見た目を良くするためだけです。線の重みは、2つのノード間を移動するコストを示します。

グラフが描画される方法を変更すると、混乱することがあります。

+0

なぜ2つのより近いポイント間を移動するコストは、例えば、別の2ポイントよりも3倍多いでしょうか?これは私が理解していないものです。 – daidai

+0

@daidai: 'graph'の距離が指定されています(グラフで見た数値)。グラフは実距離でのスケールにする必要はありません。グラフを表現するために作ったイメージは、それを表現するのに役立ちます。 – woliveirajr

+0

ああ、私は逆をやろうとしていると思うよ。この例のプロットは場所の表現であり、線はそれらの距離の大まかなものであり、Imはこのアルゴリズムを使用して2つの場所間の最短経路を他のものから見つける方法です。 Dijkstraは私のニーズに適していませんか? – daidai

関連する問題