AGVナビゲーションにおける最短経路アルゴリズムの比較

AGVナビゲーションでは、パスの選択が重要なテーマです。最適パスに最短パスアルゴリズムが使用されている場合、使用できるアルゴリズムは多数あります。この記事では、現在人気のある最短パスアルゴリズム(主にダイクストラアルゴリズム、フロイドアルゴリズム、Aスター)を比較しますアルゴリズム、Bellman-Fordアルゴリズム、SPFAアルゴリズムなど

次の表は、さまざまなアルゴリズムの比較です。

アルゴリズム

該当するシーン

実装のしやすさ

時間/空間の複雑さ

負の重量問題

フロイドアルゴリズム

マルチソースの最短経路、任意の2点間の最短距離を計算します。

図の密な効果が最もある優秀。

時間複雑性の高い、大量のに適していないデータ。

シンプルな

時間の複雑さ:O(n ^ 3)

スペースの複雑さ:O(n ^ 2)

扱える

ダイクストラアルゴリズム

単一始点最短経路、図内の別の点に一点間の最短距離を計算します。

密な地図

 

 

ミディアム

時間の複雑さ:O((N + M)logN)

スペースの複雑さ:O(M)

扱えない

Aスターアルゴリズム

単一始点最短経路、経路を見つけるための効率及び経路の品質、次善の検索アルゴリズムのバランスをとることができます。

これは、ダイクストラアルゴリズムの最適化と変換です。

複雑な

時間の複雑さ:O((N + M)logN)

スペースの複雑さ:O(M)

扱えない

Bellman-Fordアルゴリズム

単一ソースの最短経路

スパースグラフ

ミディアム

時間の複雑さ:O(MN)

スペースの複雑さ:O(M)

扱える

SPFAアルゴリズム

単一ソースの最短経路

するために、ベルマン・フォード・アルゴリズムを最適化

スパースグラフ

ミディアム

最悪の時間の複雑さもO(MN)です。

スペースの複雑さ:O(M)

扱える

AGVナビゲーションは、私たちが必要とするので、任意の2点間の最短経路を計算する必要があるため、マルチソース最短-pathアルゴリズムを。フロイドアルゴリズムはこの要件を満たし、実装が簡単で理解しやすいです。時間の複雑さは高くなりますが、アプリケーションシナリオのナビゲーションポイントの数が天文学的でない場合は、許容できます。

 

参照:

  Aスターアルゴリズムの原理分析:https :   //blog.csdn.net/m0_37264516/article/details/88045568

  フロイドアルゴリズム:https :         //baike.baidu.com/item/Floyd%E7%AE%97%E6%B3%95/291990?fromtitle=%E5%BC%97%E6%B4%9B%E4%BC% 8A%E5%BE%B7%E7%AE%97%E6%B3%95&fromid = 5546207&fr =アラジン

ダイクストラの実装(ダイクストラアルゴリズム):https : //blog.csdn.net/qq_41923622/article/details/82082052

最短経路の問題:https : //cloud.tencent.com/developer/article/1525973

Bellman-Fordアルゴリズム:https : //baike.baidu.com/item/Bellman-Ford%E7%AE%97%E6%B3%95/1089090? fr= aladdin

SPFAの計算方法:https://baike.baidu.com/item/SPFA%E7%AE%97%E6%B3%95/8297411?fr=aladdin

 

31件の元の記事を公開 いいね3 2028訪問

おすすめ

転載: blog.csdn.net/lclfans1983/article/details/105391433