最速ルートを決定するアルゴリズム?


17

1から5に行くとしましょう。最短ルートは1-4-3-5(合計60 km)です。

グラフ

これには、ダイクストラのアルゴリズムを使用できます。

問題は、渋滞やその他の要因により、最短ルートが常に最速ルートとは限らないことです。

例えば:

  • 1-2は頻繁に渋滞することが知られているため、避けるべきです。
  • 4-3で突然自動車事故が発生するため、それも避ける必要があります。
  • 等...

渋滞や事故がないため、おそらくルート1-4-5でスピードを上げることができるので、5に速く到着します。

まあそれは一般的な考え方であり、私はまだ詳細については考えていません。

この問題を解決するアルゴリズムはありますか?


3
これは宿題ですか?これは、重み付きグラフを走査するためのen.wikipedia.org/wiki/Travelling_salesman_problemだけではありませんか?
StuperUser

9
@StuperUser:いいえ、TSPは重複のないすべてのノードの回路です。たとえば、サンプルケースでは、ノード2にアクセスする必要はありません。
デビッドソーンリー

2
@DavidThornleyなるほど。それで、ダイクストラは重み付きグラフの最短ルートですか?また、TSPはすべてのノードをトラバースしますか?
StuperUser

1
@Stuper:最短トラバーサル、はい
BlueRaja-ダニー・プルフホイフト

2
@StuperUser、ちょうどFYI、TSPは強力なNP完全問題であり、多項式時間で実行できる解決策はありません。...それで、あなたは知っています。
リウォーク

回答:



49

はい:ダイクストラ

ダイクストラはこの状況でも同様に機能します。
各アークの重みとして、距離ではなく時間を使用します。


9
通常、ダイクストラの「距離」は、あらゆる種類のもの、コスト/通行料、高速道路の優先度、制限速度に対して重み付けされます-距離だけを使用することは、最も単純なアプローチです。これはとても巧妙なアルゴリズムを作るものです
マーティンベケット

6
Dijsktraが行いますが、一般的に、深刻な経路探索作業にはA *を選択します。ヒューリスティックは非常に役立ちます。
ミルチアチレア

6
リンク:A *検索アルゴリズム。これは、ダイクストラのメソッドの拡張です。
mgkrebbs

適用可能なヒューリスティックがある限り、A *はダイクストラよりも優れています(パフォーマンスの点で)。
bummzack

許容可能なヒューリスティックは、多くの要因(交通渋滞など)を考慮しているように思われるため、ここで見つけるのはやや難しいでしょう。
-pwny

16

はい。ダイクストラのアルゴリズムはこの問題を解決します。

あなたの場合の問題は、最短経路が移動距離に等しいと自動的に仮定することです。実際には、より適切にルートを取るコストに相当します。

1つのパスにロードブロッキングがある場合、そのCOSTは高くなり、アルゴリズムが適用されます。


正しい言葉遣いを使わなかったらごめんなさい。私は何を意味するの最も便利な経路'(ほとんどの最小コスト)である
anta40

11

距離をノード間の時間に置き換えて、同じ方法で解決できる必要があります。


10

ダイクストラ

前に述べたように、それは最短距離で使用されるだけではありません。このアニメーションは、ダイクストラの「力」(より良い言葉の欠如)をよく理解していると思います。

ダイクストラ

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