Está en la página 1de 2

Algoritmo de Floyd

Recordemos que el algoritmo de Dijkstra nos permite determinar la ruta mas


corta desde un nodo hacia los otros, ahora veremos que el algoritmo de Floyd
determina la ruta mas corta entre cualquier par de puntos.
La Idea del algoritmo de Floyd es:
Dados tres nodos i,j,k con distancias de conexin en sus arcos, es mas corto
llegar a k desde i a trav!s de j si:
d
ij
+ d
jk
< d
ik
"n este caso es mas #arato reempla$ar la ruta i % k con i % j % k, este cam#io
es llamado: la operacin triple y es aplicado sistem&ticamente a toda la red
siguiendo los siguientes pasos:
Paso 0:
De'ina la matri$ de distancia inicial D
(
y la matri$ de secuencia )
(
, las
diagonales est&n marcadas con *+* para indicar que est&n #loqueados, si no
existe una conexin entre nodos, colocar **
Matriz Distancias (D) Matriz Secuencia (S)
, - . /
, + d,- d,. d,/
- d-, + d-. d-/
. d., d.- + d./
/ d/, d/- d/. +
, - . /
, + - . /
- , + . /
. , - + /
/ , - . +
Paso general k
De'ina el rengln k y la columna k como el rengln y la columna pivote. 0plique
la operacin triple a cada elemento d
ij
en D
k+,
para todas las i y j. )i satis'ace la
condicin:
d
ik
+ d
kj
< d
ij
, 1i k, j k, i j2
Realice los siguientes cam#ios:
3ree D
k
reempla$ando d
ij
en D
k+,
con d
ik
4 d
kj
3ree )
k
reempla$ando s
ij
en )
k+,
con k. Determine k 5 k 4 , y repita el paso k
hasta que k 5 numero de nodos + ,

También podría gustarte