Вы находитесь на странице: 1из 4

ETS dEnginyeria de Telecomunicaci

Algoritmo de Floyd

Redes, Sistemas y Servicios de Comunicacin

Algoritmo de Floyd

ETS dEnginyeria de Telecomunicaci

Encaminamiento
Algoritmos para encontrar el camino ms corto:
Bellman - Ford. Dijkstra. Floyd - Warshall.

Matriz de rutas.
[Rij] Siguiente nodo en la ruta del nodo i al nodo j.

Matriz de costes.
[Dij] Coste o distancia total de la ruta del nodo i al nodo j.

Redes, Sistemas y Servicios de Comunicacin

Algoritmo de Floyd

ETS dEnginyeria de Telecomunicaci

Algoritmo de Floyd
Nmero de iteraciones igual al nmero (N) de nodos. En la iteracin i se coloca el nodo i como nodo intermedio de todas las rutas. La ruta se actualiza comparando el camino anterior y el nuevo: Djk(i) = min { Djk (i-1), Dji (i-1) + Dik (i-1) }

Redes, Sistemas y Servicios de Comunicacin

Algoritmo de Floyd

ETS dEnginyeria de Telecomunicaci

Algoritmo de Floyd
Ejemplo
2 5

2
2

3
3 1

1
1

6
2

1 1 R= 1

2 3 4 3 4 2 4 5 6 2 3 5 3 4 6 3 5

0 2 5 1 2 0 3 2 5 3 0 3 1 5 D= 1 2 3 0 1 1 1 0 2 5 2 0
Algoritmo de Floyd 4

Redes, Sistemas y Servicios de Comunicacin

ETS dEnginyeria de Telecomunicaci

Algoritmo de Floyd
Iteracin 1
Se permite el nodo 1 como nodo intermedio.
1 0 0 D (jk) = min D (jk ) , D (j1 ) + D1(k0 )

}
0 2 5 1 2 0 3 2 5 3 0 3 1 5 = 1 2 3 0 1 1 1 0 2 5 2 0
( D1k0 ) (0 D2k )

Nodo 2 al resto de nodos:


( ( (0 D21) = min D20 ) , D21 ) + D1(k0 ) k k

(0 D21 )

D ( 0)

2 0 3 2

0 2 5 1 2 2 4 7 3

En este caso no se realiza ninguna modificacin.

Redes, Sistemas y Servicios de Comunicacin

Algoritmo de Floyd

ETS dEnginyeria de Telecomunicaci

Algoritmo de Floyd
Iteracin 1.
Nodo 3 al resto de nodos:
0 (0 D3(1) = min D3(k ) , D31 ) + D1(k0 ) k
(0 D31 )

{ { { {

} } } }

D ( 0)

Nodo 4 al resto de nodos:


( ( (0 D41) = min D40 ) , D41 ) + D1(k0 ) k k

0 2 5 1 2 0 3 2 5 3 0 3 1 5 = 1 2 3 0 1 1 1 0 2 5 2 0

D1(k0)
0 D3(k )

Nodo 5 al resto de nodos:


(0 D5(1) = min D5( 0 ) , D51 ) + D1(k0 ) k k

Nodo 6 al resto de nodos:


( ( (0 D61) = min D60 ) , D61 ) + D1(k0 ) k k

0 2 5 1 2 0 3 2 5 3 0 3 1 5 ( 0) D = 1 2 3 0 1 ( 0) 1 1 0 2 D41 5 2 0 ( 0)

D1(k0)
( D40) k 0 D5( k ) ( D60) k

D51

Tras la primera iteracin no se modifica ningn valor.


Redes, Sistemas y Servicios de Comunicacin

(0 D61 )

Algoritmo de Floyd

ETS dEnginyeria de Telecomunicaci

Algoritmo de Floyd
Iteracin 2.
2 1 ( D (jk ) = min D (jk) , D (j12) + D21) k

No cambia ningn valor


0 2 5 = 1 6 10 1 1 = 1 3 3 2 5 1 6 10 8 5 2 3 0 1 8 4 1 1 0 2 8 5 8 2 0 0 3 2 4 3 0 3 1 2 3 4 3 3 3 4 3 3 2 4 5 6 2 3 5 3 3 3 4 6 3 3 3 5
Algoritmo de Floyd 7

Iteracin 3.

3 2 2 D (jk ) = min D (jk ) , D (j 2 ) + D3(k ) 3

D ( 3)

D ( 2)

0 2 5 1 2 0 3 2 5 3 0 3 1 5 = 1 2 3 0 1 1 1 0 2 5 2 0

R (3)

Redes, Sistemas y Servicios de Comunicacin

ETS dEnginyeria de Telecomunicaci

Algoritmo de Floyd
Iteracin 4. 4 3 ( D (jk ) = min{D (jk ) , D (j 3) + D43) } ... 4 k Iteracin 5. 5 4 4 D (jk ) = min{D (jk ) , D (j 4 ) + D5( k ) } ... 5 Iteracin 6.
6 5 ( D (jk ) = min D (jk ) , D (j 5) + D65) 6 k

D (6)

0 2 3 = 1 2 4

2 3 1 2 4 0 3 2 3 5 3 0 2 1 3 2 2 0 1 3 3 1 1 0 2 5 3 3 2 0

R (6)

1 5 = 1 4 5

2 4 4 4 4 3 4 4 4 2 5 5 5 2 5 5 5 4 3 4 6 5 5 5 5
Algoritmo de Floyd 8

Redes, Sistemas y Servicios de Comunicacin

Вам также может понравиться