¿Qué significa relaxation of an edge
en el contexto de la teoría de grafos? Me encontré con esto mientras estudiaba el algoritmo de Dijkstra para el camino más corto de fuente única.Relajación de un borde en el algoritmo de Dijkstra
Respuesta
Here's una buena descripción del algoritmo que también explica la noción de relajación.
La noción de "relajación" proviene de una analogía entre la estimación de la ruta más corta y la longitud de un muelle de tensión helicoidal, que no está diseñado para la compresión. Inicialmente, el costo de la ruta más corta es una sobreestimación, como un resorte estirado. Como se encuentran caminos más cortos , el costo estimado se reduce, y el muelle es relajado. Eventualmente, se encuentra la ruta más corta, si existe, y el resorte se ha relajado a su longitud de reposo.
El proceso de relajación en el algoritmo de Dijkstra se refiere a la actualización del coste de todos los vértices conectados a un vértice v, si esos costes podrían mejorarse mediante la inclusión de la ruta de acceso a través de v.
Relaxing un borde, (un concepto también puede encontrar otros algoritmos de ruta más corta) está tratando de reducir el costo de llegar a un vértice utilizando otro vértice.
Está calculando las distancias desde un vértice inicial, por ejemplo S, a todos los demás vértices. En algún momento, tiene resultados intermedios: estimaciones actuales. La relajación es el proceso donde se verifica, para algunos vértices u y v:
if directly_connected(v, u)
if est(S, v) > est(S, u) + dist(u,v)
est(S, v) = est(S, u) + dist(u, v)
donde est(S,a)
es la estimación actual de la distancia, y dist(a,b)
es la distancia entre dos vértices que son vecinos en el grafico.
Lo que básicamente mirando en el proceso de relajación es resistente a su estimación actual de un a b podría mejorarse "desviar" el camino a través c (este "desvío" sería la longitud de una ruta desde a a c y desde c a b).
- 1. Algoritmo de dijkstra en iOS
- 2. Implementación del algoritmo de Dijkstra
- 3. ¿Por qué el algoritmo de Dijkstra usa la tecla disminuir? algoritmo de Dijkstra
- 4. ¿Por qué funciona el algoritmo de Dijkstra?
- 5. Tutorial del algoritmo de Dijkstra de Boost
- 6. Algoritmo de Dijkstra con una matriz 2d
- 7. ruta más corta utilizando el algoritmo de Dijkstra
- 8. Encontrar la ruta más corta usando el algoritmo de Dijkstra
- 9. Diferencia entre DIjkstra y el algoritmo de BellmanFord
- 10. Algoritmo de Dijkstra para matriz 2D en Java
- 11. ¿El algoritmo de dijkstras relaja los bordes de la ruta más corta en orden?
- 12. ¿Cómo construir un gráfico ponderado con Ruby's RGL o GRATR para realizar el algoritmo de Dijkstra?
- 13. ¿Por qué no podemos aplicar el algoritmo de Dijkstra para un gráfico con pesos negativos?
- 14. Sobre el papel de Dijkstra
- 15. ¿Por qué usar el algoritmo de Dijkstra en lugar de la primera búsqueda mejor (más barata)?
- 16. ¿Cómo resuelves el 15-puzzle con A-Star o el algoritmo de Dijkstra?
- 17. Alternativas más rápidas al algoritmo de Dijkstra para el sistema de GPS
- 18. ¿Hay algoritmos más rápidos que Dijkstra?
- 19. Necesita solo un borde en el algoritmo de canto de Canny
- 20. ¿Cuál es la condición de relajación en la teoría de grafos?
- 21. Dijkstra para la ruta más larga en un DAG
- 22. Tiempo de ejecución para el algoritmo de Dijkstra en una cola de prioridad implementada por ordenada lista/matriz
- 23. ¿Cómo crear un borde en un borde de una vista?
- 24. ¿Dónde puedo obtener una implementación de Java del algoritmo de Dijkstra?
- 25. DETECTAR el borde de un documento en iPhoneSDK
- 26. Tipo de borde en el borde de una vista (iOS)
- 27. Ruta de búsqueda de algoritmo en un árbol no dirigido
- 28. Cómo colocar etiquetas de borde en el borde en graphviz
- 29. Comprender el estilo de programación de Mozart de Dijkstra
- 30. Dibujar el borde temático de un TEdit