S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

14
3.7 Algoritmo de Floyd-Warshall (1). Ejemplo Aplicaciones de la Teoría de Grafos a la vida real Alberto Conejero y Cristina Jordán Depto. Matemática Aplicada E.T.S. Ingeniería Informática Universitat Politècnica de València

description

graph

Transcript of S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

Page 1: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

3.7 Algoritmo de Floyd-Warshall (1). Ejemplo

Aplicaciones de la

Teoría de Grafos

a la vida real

Alberto Conejero y Cristina Jordán

Depto. Matemática Aplicada

E.T.S. Ingeniería Informática

Universitat Politècnica de València

Page 2: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

Caminos más cortos de vi a vj, i ≠ j, i , j {1, 2, 3, 4, 5} en G

1. Usando v1

como vértice intermedio

0

101

204

10

270 v2

v3 v4

7

2

4

2

1

1

1 v5

De v1 a vi , i {2,3,4,5}. No lo consideramos (v1 es vértice origen)

De v2 a vi , i {3,4,5}. No lo consideramos (p( v2,v1) = ∞)

De v3 a vi , i {2,4,5}. No lo consideramos (p( v3,v1) = ∞)

De v4 a vi , i {2,3,5}. No lo consideramos (p( v4,v1) = ∞)

De v5 a vi , i {2,3,4}. No lo consideramos (p( v5,v1) = ∞)

No mejora nada

Ejemplo

G

3.7. Floyd-Warshall(1)

Page 3: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

De v1 a vi , i {3,4,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

v2

v3 v4

7

2

4

2

1

1

1 v5

v2

v2

v1 v5 v1 v4 v1 v3

v2

7

∞ ∞ 1 7 7

Actualizamos

p( v1,v5) = 8, pasando por v2

∞ 2

0

101

204

10

270 G 2. Usando v2

como vértice intermedio

3.7. Floyd-Warshall(1)

Page 4: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

De v2 a vi , i {1,3,4,5}. No lo consideramos (v2 es vértice origen)

De v3 a vi , i {1,4,5}.

De v1 a vi , i {3,4,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

2. Usando v2

como vértice intermedio

0

101

204

10

270 8 v2

v3 v4

7

2

4

2

1

1

1 v5

v2

v2

v1 v5 v1 v4 v1 v3

v2

7

∞ ∞ 1 7 7

Actualizamos

p( v1,v5) = 8, pasando por v2

∞ 2

v2

v2

v3 v5 v3 v4 v3 v1

v2

4

2 ∞

∞ ∞ 1 4 4

Actualizamos

p( v3,v5) = 5, pasando por v2

3.7. Floyd-Warshall(1)

Page 5: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

De v1 a vi , i {3,4,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

2. Usando v2

como vértice intermedio

v2

v2

v1 v5 v1 v4 v1 v3

v2

7

∞ ∞ 1 7 7

Actualizamos

p( v1,v5) = 8, pasando por v2

∞ 2

De v2 a vi , i {1,3,4,5}. No lo consideramos (v2 es vértice origen)

De v3 a vi , i {1,4,5}.

0

101

204

10

8270 v2

v3 v4

7

2

4

2

1

1

1 v5

v2

v2

v3 v5 v3 v4 v3 v1

v2

4

2 ∞

∞ ∞ 1 4 4

Actualizamos

p( v3,v5) = 5, pasando por v2

3.7. Floyd-Warshall(1)

Page 6: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

De v1 a vi , i {3,4,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

2. Usando v2

como vértice intermedio

0

101

5204

10

270 8 v2

v3 v4

7

2

4

2

1

1

1 v5

v2

v2

v1 v5 v1 v4 v1 v3

v2

7

∞ ∞ 1 7 7

Actualizamos

p( v1,v5) = 8, pasando por v2

∞ 2

v2

v2

v3 v5 v3 v4 v3 v1

v2

4

2 ∞

∞ ∞ 1 4 4

Actualizamos

p( v3,v5) = 5, pasando por v2

De v2 a vi , i {1.3,4,5}. No lo consideramos (v2 es vértice origen)

De v3 a vi , i {1,4,5}.

v2

v2

v4 v5 v4 v3 v4 v1

v2

1

∞ 1

∞ ∞ 1 1 1

No actualizamos ∞

De v4 a vi , i {1,3,5}

De v5 a vi , i {1,3,4} No lo consideramos (p( v5,v2) = ∞)

3.7. Floyd-Warshall(1)

Page 7: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

De v1 a vi , i {2,4,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

3. Usando v3

como vértice intermedio

0

101

5204

10

270 8 v2

v3 v4

7

2

4

2

1

1

1 v5

v3

v3

v1 v5 v1 v4 v1 v2

v3

2

8

4 2 5 2 2

Actualizamos

p( v1,v2) = 6, pasando por v3

p( v1,v4) = 4, pasando por v3

p( v1,v5) = 7, pasando por v3

∞ 7

3.7. Floyd-Warshall(1)

Page 8: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

Actualizamos

p( v1,v2) = 6, pasando por v3

p( v1,v4) = 4, pasando por v3

p( v1,v5) = 7, pasando por v3

De v1 a vi , i {2,4,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

3. Usando v3

como vértice intermedio

0

101

5204

10

74260 v2

v3 v4

7

2

4

2

1

1

1 v5

v3

v3

v1 v5 v1 v4 v1 v2

v3

2

8

4 2 5 2 2

∞ 7

De v2 a vi , i {1,4,5}. No lo consideramos (porque p(v2,v3) = ∞)

De v3 a vi , i {1,2,4,5}. No lo consideramos (v3 es vértice origen)

De v4 a vi , i {1,2,5}. No lo consideramos (porque p(v4,v3) = ∞)

De v5 a vi , i {1,2,4}. No lo consideramos (p(v5,v3) = ∞)

3.7. Floyd-Warshall(1)

Page 9: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

De v1 a vi , i {2,3,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

4. Usando v4

como vértice intermedio

v2

v3 v4

7

2

4

2

1

1

1 v5

6

0

101

5204

10

74260

v4

v4

v1 v5 v1 v3 v1 v2

v4

4

7

1 ∞ 1 4 4

Actualizamos

p( v1,v2) = 5, pasando por v4

p( v1,v5) = 5, pasando por v4

2

3.7. Floyd-Warshall(1)

Page 10: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

De v1 a vi , i {2,3,5}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

4. Usando v4

como vértice intermedio

v2

v3 v4

7

2

4

2

1

1

1 v5

v4

v4

v3 v5 v3 v2 v3 v1

v4

2

5

∞ 1 1 2 2

Actualizamos

p( v3,v2) = 3, pasando por v4

p( v3,v5) = 3, pasando por v4

4

6

0

101

5204

10

54250

v4

v4

v1 v5 v1 v3 v1 v2

v4

4

7

1 ∞ 1 4 4

Actualizamos

p( v1,v2) = 5, pasando por v4

p( v1,v5) = 5, pasando por v4

2

De v2 a vi , i {1,4,5}. No lo consideramos (porque p(v2,v4) = ∞)

De v3 a vi , i {1,2,5}.

3.7. Floyd-Warshall(1)

Page 11: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

4. Usando v4

como vértice intermedio

v2

v3 v4

7

2

4

2

1

1

1 v5

v4

v4

v3 v5 v3 v2 v3 v1

v4

2

5

∞ 1 1 2 2

Actualizamos

p( v3,v2) = 3, pasando por v4

p( v3,v5) = 3, pasando por v4

4

6

0

101

3203

10

54250

v4

v4

v1 v5 v1 v3 v1 v2

v4

4

7

1 ∞ 1 4 4

Actualizamos

p( v1,v2) = 5, pasando por v4

p( v1,v5) = 5, pasando por v4

2

3.7. Floyd-Warshall(1)

De v4 a vi , i {1,2,3,5}. No lo consideramos (v4 es vértice origen )

De v5 a vi , i {1,2,3}. No lo consideramos (porque p(v5,v4) = ∞)

De v1 a vi , i {2,3,5}.

De v2 a vi , i {1,4,5}. No lo consideramos (porque p(v2,v4) = ∞)

De v3 a vi , i {1,2,5}.

Page 12: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

0

101

3203

10

54250

De v1 a vi , i {2,3,4}.

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

5. Usando v5

como vértice intermedio

v2

v3 v4

7

2

4

2

1

1

1 v5

v5

v5

v2 v4 v2 v3 v2 v1

v5

1

∞ ∞ ∞ 1 1

No actualizamos

5

v5

v5

v1 v4 v1 v3 v1 v2

v5

5

4

∞ ∞ ∞ 5 5

No actualizamos

2

De v2 a vi , i {1,3,4}.

De v3 a vi , i {1,2,4}. No actualizamos (porque vemos que p( v5,vi) = ∞, si i 5)

De v4 a vi , i {1,2,3}. No actualizamos (porque vemos que p( v5,vi) = ∞, si i 5)

De v5 a vi , i {1,2,3}. No actualizamos (porque v5 es el origen)

3.7. Floyd-Warshall(1)

Page 13: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

0

101

3203

10

54250

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

v2

v3

v4

7

2

4

2

1

1

1

v5

3.7. Floyd-Warshall(1)

Page 14: S3_7_ Algoritmo de Floyd. (1)_Resized(Ejemplo Pesos)

0

101

3203

10

54250

Aplicaciones de la Teoría de Grafos a la vida real

Matriz de pesos (Algoritmo de Floyd-Wharsall)

v2

v3

v4

7

2

4

2

1

1

1

v5

3.7. Floyd-Warshall(1)