Professional Documents
Culture Documents
7 Algoritmo de
Floyd-Warshall (1).
Ejemplo
Aplicaciones de la
Teora de Grafos
a la vida real
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
Ejemplo
Caminos ms cortos de vi a vj, i j, i , j {1, 2, 3, 4, 5} en G
1. Usando v1
como vrtice intermedio
De v1
De v2
De v3
De v4
De v5
0 7 2
0 1
4 0 2
0
1
v2
v3
v4
v5
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0 7 2
0 1
4 0 2
1 0 1
0
2. Usando v2
como vrtice intermedio
De v1 a vi , i {3,4,5}.
v1
v2
v3
v1
v2
v4
v1
v2
v5
1
v2
7
1
v3
v4
v5
Actualizamos
p( v1,v5) = 8, pasando por v2
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0 7 2 8
0 1
4 0 2
1 0 1
0
2. Usando v2
como vrtice intermedio
De v1 a vi , i {3,4,5}.
v1
v2
v3
v1
v2
v4
v1
v2
v5
1
v2
7
1
v3
v4
v5
Actualizamos
p( v1,v5) = 8, pasando por v2
4
1
v2
v2
v2
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0 7 2 8
0 1
4 0 2
1 0 1
0
2. Usando v2
como vrtice intermedio
De v1 a vi , i {3,4,5}.
v1
v2
v3
v1
v2
v4
v1
v2
v5
1
v2
7
1
v3
v4
v5
Actualizamos
p( v1,v5) = 8, pasando por v2
4
1
v2
v2
v2
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0
2. Usando v2
como vrtice intermedio
De v1 a vi , i {3,4,5}.
v1
v2
v3
v1
v2
4
1
2
0
v4
v1
v2
8
1
5
1
0
v5
1
v2
7
1
v3
v4
v5
Actualizamos
p( v1,v5) = 8, pasando por v2
4
1
v2
v2
v2
De v4 a vi , i {1,3,5}
v4 v1
v4
1
v2
v2
v3
v4
1
v2
v5
No actualizamos
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
7
4
1
2
0
v4
v1
3. Usando v3
como vrtice intermedio
De v1 a vi , i {2,4,5}.
v1
v3
v2
v1
v3
v3
8
1
5
1
0
v5
5
v2
7
1
v3
v4
v5
Actualizamos
p( v1,v2) = 6, pasando por v3
p( v1,v4) = 4, pasando por v3
p( v1,v5) = 7, pasando por v3
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0
4
1
2
0
v4
v1
3. Usando v3
como vrtice intermedio
De v1 a vi , i {2,4,5}.
v1
v3
De v2
De v3
De v4
De v5
v2
v1
v3
v3
7
1
5
1
0
v5
5
v2
7
1
v3
v4
v5
Actualizamos
p( v1,v2) = 6, pasando por v3
p( v1,v4) = 4, pasando por v3
p( v1,v5) = 7, pasando por v3
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0
4. Usando v4
como vrtice intermedio
4
1
2
0
7
1
5
1
0
De v1 a vi , i {2,3,5}.
v1
4
6
v4
v2
v1
2
v4
v3
v1
7
v4
v5
1
v2
7
1
v3
v4
v5
Actualizamos
p( v1,v2) = 5, pasando por v4
p( v1,v5) = 5, pasando por v4
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0
4. Usando v4
como vrtice intermedio
4
1
5
1
2 5
0 1
0
v2
v2
v1
v4
v3
v1
v4
v5
1
v4
v3
De v1 a vi , i {2,3,5}.
v1
4
2
v4
v5
Actualizamos
p( v1,v2) = 5, pasando por v4
p( v1,v5) = 5, pasando por v4
v1
v3
v4
4
v4
v2
v3
5
v4
v5
1
Actualizamos
p( v3,v2) = 3, pasando por v4
p( v3,v5) = 3, pasando por v4
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0
4. Usando v4
como vrtice intermedio
3
1
5
1
2 3
0 1
0
v2
v2
v1
v4
v3
v1
v4
v5
1
v4
v3
De v1 a vi , i {2,3,5}.
v1
4
2
v4
v5
Actualizamos
p( v1,v2) = 5, pasando por v4
p( v1,v5) = 5, pasando por v4
v1
v3
v4
4
v4
v2
v3
5
v4
v5
1
Actualizamos
p( v3,v2) = 3, pasando por v4
p( v3,v5) = 3, pasando por v4
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
0
5. Usando v5
como vrtice intermedio
3
1
5
1
2 3
0 1
0
De v1 a vi , i {2,3,4}.
v1
5
5
v5
v2
v1
De v2 a vi , i {1,3,4}.
v2 v1
v2
1
v5
2
v5
v5
v3
v1
v3
v2
v2
4
v5
v5
v4
7
1
v3
v4
v5
No actualizamos
v4
No actualizamos
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
3
1
5
1
2 3
0 1
0
v2
7
1
4
v3
v4
v5
3.7. Floyd-Warshall(1)
Matriz de pesos
(Algoritmo de Floyd-Wharsall)
3
1
5
1
2 3
0 1
0
v2
7
1
4
v3
v4
v5
3.7. Floyd-Warshall(1)