Comparación de los algoritmos de ruta más corta en la navegación AGV

En la navegación AGV, la selección de ruta es un tema importante. Si se usa el algoritmo de ruta más corta para la ruta óptima, se pueden usar muchos algoritmos. Este artículo compara los algoritmos populares de ruta más corta actuales, principalmente el algoritmo Dijkstra, el algoritmo Floyd, la estrella A Algoritmo, algoritmo Bellman-Ford, algoritmo SPFA, etc.

La siguiente tabla es una comparación de varios algoritmos:

Algoritmo

Escena aplicable

Facilidad de implementación

Complejidad tiempo / espacio

Problema de peso negativo

Algoritmo de Floyd

más corto de múltiples fuentes ruta, el cálculo de la distancia más corta entre dos puntos;

Figura efecto denso es más excelente;

Tiempo de alta complejidad, no es adecuado para las grandes cantidades de datos;

Simple

Complejidad del tiempo: O (n ^ 3)

Complejidad espacial: O (n ^ 2)

Puede manejar

Algoritmo de Dijkstra

más corta de fuente única trayectoria, el cálculo de las distancias más cortas entre un punto a otro punto en la figura;

Mapa denso

 

 

Medio

Complejidad de tiempo: O ((N + M) logN)

Complejidad espacial: O (M)

No puede manejar

Algoritmo de estrella A

Cortas de origen único camino, puede equilibrar la eficiencia y la calidad de las rutas, algoritmo de búsqueda subóptima para encontrar la ruta;

Es la optimización y transformación del algoritmo Dijkstra;

Complejo

Complejidad de tiempo: O ((N + M) logN)

Complejidad espacial: O (M)

No puede manejar

Algoritmo de Bellman-Ford

Ruta más corta de una sola fuente

Gráfico escaso

Medio

Complejidad del tiempo: O (MN)

Complejidad espacial: O (M)

Puede manejar

Algoritmo SPFA

Ruta más corta de una sola fuente

Optimización del algoritmo Bellman-Ford

Gráfico escaso

Medio

La peor complejidad de tiempo también es O (MN)

Complejidad espacial: O (M)

Puede manejar

Dado que las necesidades de navegación AGV para calcular la ruta más corta entre dos puntos, por lo que necesitamos un multi-fuente más corto -path algoritmo. El algoritmo de Floyd cumple con este requisito, y es simple de implementar y fácil de entender. Aunque la complejidad del tiempo es alta, si el número de puntos de navegación en el escenario de la aplicación no es astronómico, aún puede tolerarse.

 

Referencias

  Análisis del principio del algoritmo de estrella A:   https://blog.csdn.net/m0_37264516/article/details/88045568

  Algoritmo de Floyd:         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 = aladdin

Implementación de Dijkstra (algoritmo Dijkstra): https://blog.csdn.net/qq_41923622/article/details/82082052

El problema del camino más corto: https://cloud.tencent.com/developer/article/1525973

Algoritmo de Bellman-Ford: https://baike.baidu.com/item/Bellman-Ford%E7%AE%97%E6%B3%95/1089090?fr=aladdin

SPFA cálculo método: https://baike.baidu.com/item/SPFA%E7%AE%97%E6%B3%95/8297411?fr=aladdin

 

31 artículos originales publicados · Me gusta 3 · Visitas 2028

Supongo que te gusta

Origin blog.csdn.net/lclfans1983/article/details/105391433
Recomendado
Clasificación