Академический Документы
Профессиональный Документы
Культура Документы
Grafo Inicial.
El objetivo del
Algoritmo es
encontrar el camino
mnimo desde todos
los nodos al vrtice 1.
ANALISIS DEL ALGORITMO
EJEMPLO ( REALIZACIN DEL
ALGORITMO)
EJEMPLO (GRAFO FINAL)
* Resultado del
camino mnimo
desde todos los
nodos al vrtice 1.
APLICACIONES DEL
ALGORITMO
Una variante distribuida del Algoritmo del Bellman-
Ford se usa en protocolos de encaminamiento
basados en vector de distancias.
6 11 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
(z,u)
9 (z,x)
Paso 2.1 Aplicar Relax al Arco (u,v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[u] + w( u , v ) ?
d [ ] = { 6 11 7 0 }
P [ ] = { z u z } Respuesta: SI
6 11 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
(z,u)
9 (z,x)
Paso 2.2 Aplicar Relax al Arco (u,x)
V [ ] = { u v x y z }
Pregunta: d[x] > d[u] + w( u , x ) ?
d [ ] = { 6 11 7 0 }
P [ ] = { z u z } Respuesta: NO
6 11 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
(z,u)
9 (z,x)
Paso 2.3 Aplicar Relax al Arco (u,y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[u] + w( u , y ) ?
d [ ] = { 6 11 7 0 }
P [ ] = { z u z } Respuesta: SI
6 11 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.3 Aplicar Relax al Arco (u,y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[u] + w( u , y ) ?
d [ ] = { 6 11 7 2 0 }
P [ ] = { z u z u } Respuesta: SI
6 11 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.4 Aplicar Relax al Arco (v,u)
V [ ] = { u v x y z }
Pregunta: d[u] > d[v] + w( v , u ) ?
d [ ] = { 6 11 7 2 0 }
P [ ] = { z u z u } Respuesta: NO
6 11 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.5 Aplicar Relax al Arco (x,v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[x] + w( x , v ) ?
d [ ] = { 6 11 7 2 0 }
P [ ] = { z u z u } Respuesta: SI
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.5 Aplicar Relax al Arco (x,v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[x] + w( x , v ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: SI
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.6 Aplicar Relax al Arco (x,y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[x] + w( x , y ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.7 Aplicar Relax al Arco (y,v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[y] + w( y , v ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.8 Aplicar Relax al Arco (y,z)
V [ ] = { u v x y z }
Pregunta: d[z] > d[y] + w( y , z ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.9 Aplicar Relax al Arco (z,u)
V [ ] = { u v x y z }
Pregunta: d[u] > d[z] + w( z , u ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 2.10 Aplicar Relax al Arco (z,x)
V [ ] = { u v x y z }
Pregunta: d[x] > d[z] + w( z , x ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.1 Aplicar Relax al Arco (u,v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[u] + w( u , v ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.2 Aplicar Relax al Arco (u,x)
V [ ] = { u v x y z }
Pregunta: d[x] > d[u] + w( u , x ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.3 Aplicar Relax al Arco (u,y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[u] + w( u , y ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: NO
6 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.4 Aplicar Relax al Arco (v, u)
V [ ] = { u v x y z }
Pregunta: d[u] > d[v] + w( v , u ) ?
d [ ] = { 6 4 7 2 0 }
P [ ] = { z x z u } Respuesta: SI
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.4 Aplicar Relax al Arco (v, u)
V [ ] = { u v x y z }
Pregunta: d[u] > d[v] + w( v , u ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: SI
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.5 Aplicar Relax al Arco (x, v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[x] + w( x , v ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.6 Aplicar Relax al Arco (x, y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[x] + w( x , y ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.7 Aplicar Relax al Arco (y, v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[y] + w( y , v ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.8 Aplicar Relax al Arco (y, z)
V [ ] = { u v x y z }
Pregunta: d[z] > d[y] + w( y , z ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.9 Aplicar Relax al Arco (z, u)
V [ ] = { u v x y z }
Pregunta: d[u] > d[z] + w( z , u ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 3.10 Aplicar Relax al Arco (z, x)
V [ ] = { u v x y z }
Pregunta: d[x] > d[z] + w( z , x ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 4.1 Aplicar Relax al Arco (u, v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[u] + w( u , v ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 4.2 Aplicar Relax al Arco (u, x)
V [ ] = { u v x y z }
Pregunta: d[x] > d[u] + w( u , x ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
2 (z,u)
9 (z,x)
Paso 4.3 Aplicar Relax al Arco (u, y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[u] + w( u , y ) ?
d [ ] = { 2 4 7 2 0 }
P [ ] = { v x z u } Respuesta: SI
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.3 Aplicar Relax al Arco (u, y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[u] + w( u , y ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: SI
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.4 Aplicar Relax al Arco (v, u)
V [ ] = { u v x y z }
Pregunta: d[u] > d[v] + w( v , u ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.5 Aplicar Relax al Arco (x, v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[x] + w( x , v ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.6 Aplicar Relax al Arco (x, y)
V [ ] = { u v x y z }
Pregunta: d[y] > d[x] + w( x , y ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.7 Aplicar Relax al Arco (y, v)
V [ ] = { u v x y z }
Pregunta: d[v] > d[y] + w( y , v ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.8 Aplicar Relax al Arco (y, z)
V [ ] = { u v x y z }
Pregunta: d[z] > d[y] + w( y , z ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.9 Aplicar Relax al Arco (z, u)
V [ ] = { u v x y z }
Pregunta: d[u] > d[z] + w( z , u ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 4.10 Aplicar Relax al Arco (z, x)
V [ ] = { u v x y z }
Pregunta: d[x] > d[z] + w( z , x ) ?
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u } Respuesta: NO
2 4 (u,v)
-2 (u,x)
6
(u,y)
z -4 (v,u)
0 8
7 (x,v)
-3 (x,y)
(y,v)
7 2 (y,z)
x
7 y
-2 (z,u)
9 (z,x)
Paso 5.0
V [ ] = { u v x y z }
Verificar en cada arco que se
d [ ] = { 2 4 7 -2 0 } cumple la condicin:
P [ ] = { v x z u } d[Vf] <= d[Vi] + w( Vi , Vf )
Si no se cumple:
=> NO EXISTE SOLUCIN.
u v Lista de Arcos
2 4 (u,v)
-2 (u,x)
(u,y)
z -4 (v,u)
0 (x,v)
-3 (x,y)
(y,v)
7 (y,z)
x
7 y
-2 (z,u)
(z,x)
SOLUCIN
V [ ] = { u v x y z }
d [ ] = { 2 4 7 -2 0 }
P [ ] = { v x z u }