Está en la página 1de 10

Universidad Catlica Andrs Bello Facultad de Ingeniera Escuela de Telecomunicaciones Caracas, Venezuela

Telemtica
Prof. Carlos Butrn carlosbutron.s@gmail.com

Tema 2: Algoritmos de bsqueda del camino ms corto

Marzo 2011

Telemtica: Camino ms corto


En una red de conmutacin de paquetes, la eleccin del camino ms corto est basada en la mtrica, y esta puede describir varias caractersticas del enlace: oRetraso m=Retraso x K oAncho de Banda m=K/AB oOcupacin del Enlace m=Carga x K oConfiabilidad m= K/Confiabilidad oMixto m=(Retraso x K1) + (K2/AB)
Figura 1: Grafo de una red.

Telemtica: Camino ms corto


Los casos ms utilizados para elegir el camino ms corto son:
1.

Distancia del Camino: Donde la mtrica de cada enlace es igual a 1, y donde el valor del camino es igual al nmero de saltos.
V2

1 1 1
V3

V1

W(vi,vj)= Nmero de Saltos

1 1 1

V4

2.

Longitud del Camino: Donde la mtrica describe una caracterstica del enlace y el valor del camino es igual a la suma de todos los costos.
V2

9 2 2
V3

V1
K 1

8 8 9

W(vi,vj)=
V4

W(vi, vi + 1)
i =1

Telemtica: Camino ms corto


Algoritmo Dijkstra: permite encontrar el camino ms corto desde un vrtice hacia todos los dems. Este algoritmo basa su estrategia de bsqueda en el anlisis de los vrtices adyacentes. Caractersticas: 1. No permite pesos negativos. 2. Protocolo IS-IS y OSPF. 3. Estrategia de enrutamiento Estado de Enlace. Aplicacin: 1. Crear un vector con todos los vrtices. 2. Sacar el vrtice de menor costo en cada iteracin. 3. Termina cuando el vector se quede sin vrtices.

Telemtica: Camino ms corto


o Algoritmo Dijkstra
(vr , vr ) 0 For each v V-{vr } do { (vr , v ) } A0 C V While C 0 do { va min (v C ) A A {va} For each v Adj [va ] do { If (vr , v ) > (vr , va ) + w(va,v ) then { (vr , v ) (vr , va ) + w(va,v ) } } }
Smbolo vr va V C A (vr,vx) Adj[vx] Descripcin vrtice raz vrtice del rbol Conjunto de vrtices del grafo Conjunto de vrtices, que no han pasado al rbol Conjunto de vrtices que pertenecen al rbol Longitud guardada en C, que estima el costo desde vr hasta vx. Lista de vrtices adyacente a vx Longitud guardada en el grafo, que indica el costo del enlace desde vx hasta vy

w(vx,vy)

Tabla 1: Leyenda del Algoritmo Dijkstra

Telemtica: Camino ms corto


o Algoritmo Dijkstra
(vr , vr ) 0 For each v V-{vr } do { (vr , v ) } A0 C V While C 0 do { va min (v C ) A A {va} For each v Adj [va ] do { If (vr , v ) > (vr , va ) + w(va,v ) then { (vr , v ) (vr , va ) + w(va,v ) } } }

En el vector C, se inicializa la distancia del nodo raz a si mismo en 0 En el vector C, se inicializa la distancia del nodo raz a todos los dems en Mientras que C no este vaco, se extrae el nodo con la minima distancia reportada. Luego se selecciona uno de los vrtices adyacentes del nodo que se extrajo. Por ltimo se analiza si la distancia reportada desde la raz hasta el nodo adyacente es mayor que la distancia reportada desde la raz hasta el nodo que se extrajo ms el peso hasta el nodo adyacente.

Nota: La distancia reportada se busca en el vector C y los pesos de los enlaces en el grafo.

Telemtica: Camino ms corto


Algoritmo Bellman-Ford: permite encontrar el camino ms corto desde un vrtice hacia todos los dems. Este algoritmo basa su estrategia de bsqueda en el anlisis de todos los enlaces del grafo. Caractersticas:
1. 2. 3. 4.

Acepta costos negativos. Puede avisar cuando hay ciclos negativos. Protocolo RIP. Estrategia de enrutamiento Vector Distancia.

Aplicacin: 1. Crear un vector con todos los vrtices. 2. Enumerar todos los enlaces. 3. Revisar todos los enlaces en cada ciclo. 4. Parar cuando no haya cambios entre la ltima y penltima iteracin.

Telemtica: Camino ms corto


o Algoritmo Bellman-Ford
(vr , vr ) 0 For each v V-{vr} do { (vr , v ) } For i 1 to V 1 do { For each edge (vx, v) E do { If (vr , v ) > (vr , vx ) + w(vx,v ) then { (vr , v ) (vr , vx ) + w(vx,v ) } } }
Smbolo vr V |V| E A (vx) Descripcin Vrtice raz Conjunto de vrtices del grafo Nmero de vrtices del grafo Conjunto de enlaces del grafo Conjunto de vrtices que pertenecen al rbol Longitud guardada en C, que estima el costo desde vr hasta vx. Longitud guardada en el grafo, que indica el costo del enlace desde vx hasta vy w(vx,vy)

Tabla 2: Leyenda del Algoritmo Bellman-Ford

Telemtica: Camino ms corto


o Algoritmo Bellman-Ford
(vr , vr ) 0 For each v V-{vr} do { (vr , v ) } For i 1 to V 1 do { For each edge (vx, v) E do { If (vr , v ) > (vr , vx ) + w(vx,v ) then { (vr , v ) (vr , vx ) + w(vx,v ) } } }

En el vector C, se inicializa la distancia del nodo raz a si mismo en 0 En el vector C, se inicializa la distancia del nodo raz a todos los dems en Realizar este ciclo el nmero de vrtices del grafo menos uno Realizar esta comparacin el nmero de enlaces que tenga el grafo Comparar la distancia reportada desde el vrtice raz hasta el vrtice destino del enlace seleccionado con la distancia reportada desde el vrtice raz hasta el vrtice origen del enlace ms su peso (mtrica del enlace seleccionado).

Nota: La distancia reportada se busca en el vector C y los pesos de los enlaces en el grafo.

Telemtica: Camino ms corto


Informacin extra:
1.

2. 3.

4.

Redes e Internet de Alta Velocidad, Rendimiento y Calidad de Servicio, de William Stallings. Redes de Computadoras e Internet, de Fred Haslsall. Transmisin de Datos y Redes de Comunicaciones, de Behrouz Forouzan. Lecciones 15, 16 y 17, de las clases: Introduction to Algorithms del MIT (Youtube).

También podría gustarte