O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

Floyd

Algoritmo de Floyd

  • Seja o primeiro a comentar

Floyd

  1. 1. Es un algoritmo de análisis sobre grafos para encontrar el camino mínimo en grafos dirigidos ponderados. El algoritmo encuentra el camino entre todos los pares de vértices en una única ejecución. Esto es similar a construir una tabla con todas las distancias mínimas entre pares de ciudades de un mapa, indicando la ruta a seguir para ir de la primera ciudad a la segunda.
  2. 2. Esto puede verse de la siguiente manera: *Sea G= (V, A) un digrafo en el cual cada arco tiene asociado un costo no negativo. El problema es hallar para cualquier par de vértices (v, w) el camino más corto de v a w. *G= (V, A), V= {1,...,n} y C[i, j] es el costo del arco que va de i a j. *El algoritmo calcula la serie de matrices *Ak[i, j] significa el costo del camino más corto que va de i a j y que no pasa por algún vértice mayor que k. *El objetivo es calcular An[i, j]
  3. 3. * B A D C 3 8 5 4 3
  4. 4. Inicializamos las dos matrices. Una para las ponderaciones (peso, coste) y otra con los recorridos. PONDERACIONES RECORRIDOS A B C D A - 3 4 ∞ B ∞ - ∞ 5 C ∞ ∞ - 3 D 8 ∞ ∞ - A B C D A A B C D B A B C D C A B C D D A B C D Los valores infinito significa que para ese par de vértices no existe una arista que los une de forma directa. Llenamos cada columna con la letra correspondiente.
  5. 5. Evaluamos cada vértice (A, B, C, D). Empezamos con el vértice A. Tomamos fila y columna correspondientes al vértice A. Sumamos A B C D A - 3 4 ∞ B ∞ - ∞ 5 C ∞ ∞ - 3 D 8 11 12 - A B C D A A B C D B A B C D C A B C D D A A A D Sumamos cada valor de la columna con el las filas y reemplazamos en la fila del elemente que estamos evaluando, conservando el valor mínimo. En la posición que cambiamos en la matriz anterior reemplazamos por la letra a la cual estamos evaluando.
  6. 6. Procedemos a evaluar B: A B C D A - 3 4 8 B ∞ - ∞ 5 C ∞ ∞ - 3 D 8 11 12 - A B C D A A B C B B A B C D C A B C D D A A A D
  7. 7. Procedemos a evaluar C: A B C D A - 3 4 7 B ∞ - ∞ 5 C ∞ ∞ - 3 D 8 11 12 - A B C D A A B C C B A B C D C A B C D D A A A D
  8. 8. Procedemos a evaluar D: A B C D A - 3 4 7 B 13 - 17 5 C 11 14 - 3 D 8 11 12 - A B C D A A B C C B D B D D C D D C D D A A A D
  9. 9. Una vez terminados los recorridos podemos proceder a encontrar el camino mínimo que necesitamos encontrar a partir de las dos matrices obtenidas. Por ejemplo: El camino mínimo para ir de A a D, observo en la matriz de transición que tengo que pasar por C, luego observo de C a D dice que tengo que pasar por D, pero como es el objetivo se termina, y sería: A-C-D con peso 7.

×