No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Algoritmo de Dijkstra

35/40
Recursos

El algoritmo de Dijkstra va a buscar la ruta optima o de menor coste entre dos vértices.

Los pasos de este algoritmo son los siguientes:

  1.    Asignar el valor infinito a cada nodo que no ha sido visitado.
    
  2.    Mantener un registro de los nodos visitados.
    
  3.    Calcular la distancia a cada nuevo nodo sumando la distancia anterior.
    
  4.    Si la nueva distancia que se calculo es menor que la anterior entonces reemplazar en el nodo, sino dejar la anterior.
    
  5.    Se finalizará cuando se llega al nodo final.
    

Aportes 34

Preguntas 4

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

o inicia sesión.

Platzi debería poner la opción de like a videos. Pues este vídeo tendría un like de mi parte.

Edsger Wyde Dijkstra(1930-2002). Estudio física teórica en la universidad de Leiden.
La solución del problema del camino mas corto fue una des sus contribuciones a la informática, también conocido como el algoritmo de Dijkstra.

la respuesta del ejemplo es nodo: (a)-(b)-(d)-(f) = 11; pero faltó analizar otra ruta que también nos da la ruta más óptima (a)-(e)-(d)-(f) =11. en ese orden de ideas, ¿cual seria el factor determinante para seleccionar alguna de las dos rutas?

Porque se habla de algoritmos y no se menciona en ningun momento, la complejidad computacional de esos algoritmos… que es algo totalmente imprescindible a la hora de elegir usar un algoritmo u otro…

Algoritmo de dijkstra: Encuentra la ruta óptima (menor coste) entre dos vértices del árbol de expansión.
1: El vértice inicial tendrá un valor de 0 y el resto de vértices costarán infinito.
2: evaluamos las diferentes rutas, y si el costo de cada ruta es menor que el valor del vértice al que estamos llegando entonces se actualiza con el menor valor.
3: se debe llevar un registro de los vértices ya visitados
4: se hace una iteración con todas las rutas, hasta llegar al vértice objetivo con el menor valor.

Este método es más sencillo si usamos una tabla para desarrollar el algoritmo.

https://youtu.be/LLx0QVMZVkk

¿Porqué el profesor les dice arboles y no grafos? A mi se me figura mas a un grafo a que un árbol.

Algoritmo de Dijkstra
Permite hallar la ruta óptima para conectar dos puntos.
Pasos:

  • Asignamos al nodo inicial un valor de 0 y a los otros nodos un valor de infinito
  • Calculamos el coste de cada ruta al nodo, si es menor que el valor anterior, entonces reemplazamos el valor del nodo y elegimos esa ruta
  • El algoritmo termina cuando hayamos llegado al nodo destino comparando las rutas posibles.

Excelente explicación, ahora entiendo un poco más sobre el curso de algoritmos aunque no se trató este tema en específico 😃

Es demasiado chimba jajajjjaaj, perdonen la expresión pero lo amerita 

También podría ser: a___7____e____2____d____2____f, que también el menor coste es 11. Me ayudan si estoy bien o no?

Algoritmo de Dijkstra.
También llamado algoritmo de caminos mínimos, es un algoritmo para la determinación del camino más corto dado un vértice origen al resto de vértices en un grafo con pesos en cada arista. Su nombre se refiere a Edsger Dijkstra, quien lo describió por primera vez en 1959.

Si uno se está devolviendo a cada nodo para actualizar el coste de la ruta ¿Cuál es la diferencia entre hacer esto o simplemente calcular el coste de todas las rutas posibles y tomar la menor?

Si una ruta es mas optima que otra respecto a un mismo punto se descarta la menos optima

  • Éste algoritmo puede ser usado para crear rutas de tráfico en una ciudad basados en intersecciones y distancias de las rutas. y Si hay data de tiempo también puede ser un costo adicional al problema.

busca la ruta más optima para conectar un punto inicial con un punto final.

Es probable que Waze y Google Maps utilicen este algoritmo similar para determinar el mejor camino para llegar de un punto a a a un punto F. Genial !! 😄

Notas de clase:
El algoritmo de Dijkstra va a buscar la ruta optima o de menor coste entre dos vértices.
Edsger Wyde Dijkstra(1930-2002). Estudio física teórica en la universidad de Leiden.
La solución del problema del camino más corto fue una de sus contribuciones a la informática, también conocido como el algoritmo de Dijkstra.
Los pasos de este algoritmo son los siguientes:

  1. Asignar el valor infinito a cada nodo no visitado.
  2. Mantener un registro de los nodos visitados.
  3. Calcular la distancia a cada nuevo nodo sumando la distancia anterior.
  4. Si la nueva distancia calculada es menor que la anterior entonces reemplazar en el nodo, sino ignorarla.
  5. Visitamos el nodo de menor distancia y repetimos el paso 3.
  6. Se finalizará cuando se llega al nodo final.
    Aporte extra:
    https://www.youtube.com/watch?v=LLx0QVMZVkk

En ingeniería de Transporte se le conoce como algoritmo de ruta mínima

El algoritmo de Dijkstra funciona así: 1. Asignar a cada nodo no visitado un valor infinito, 2. Luego asignar el valor de la ruta hacia el nodo, sumando las rutas anteriores a él y guardar su valor. 3. Calcular la distancias a cada nuevo nodo sumando la distancia anterior. 4. Si la distancia nueva es calculada menor que la anterior, reemplazarla, sino ignorarlo. 5. El algoritmo finaliza cuando se llega al nodo final.

Lo que busca el algoritmo de Dijkstra, es encontrar el menor costo posible de un nodo raíz a un nodo final.

Se podria combinar el algoritmo de prim y el algoritmo de djkstra Para no tener que intentar con todas las aristas sino con solo aquellas que conosco de antemano que son la mejor opcion.

muy buen contenido… el ejemplo se entendió perfecto

Saludos a todos y a seguir estudiando! 😄

profesor: también podría ser (a -----e-------d------f)

buen maestro

Resumen del Algoritmo de dijkstra

Ejercicio demostrativo del Algoritmo de dijkstra

Me encantó.

Muy bien explicado por el profesor! pero también es bueno mencionar que abdf =11 y la ruta aedf = 11 dan igual… por ende si fuera alguna decisión logística o empresarial ambas son validas

conocimiento nuevo.
excelente

Excelente