bellman ford exp final
TRANSCRIPT
-
7/31/2019 Bellman Ford Exp Final
1/62
BELLMAN-FORD
Jorge MondragnLeonardo Herrera
Cristian Fernndez
-
7/31/2019 Bellman Ford Exp Final
2/62
DESCRIPCIN DEL PROBLEMA
El algoritmo de Bellman-Ford genera el camino mscorto en un grafo dirigido ponderado (en el que elpeso de alguna de las aristas puede ser negativo).
El algoritmo de Dijkstra resuelve este mismo problemaen un tiempo menor, pero requiere que los pesos delas aristas no sean negativos. Por lo que el algoritmoBellman-Ford normalmente se utiliza cuando hayaristas con peso negativo
Si el grafo contiene un ciclo de coste negativo, elalgoritmo lo detectar pero no encontrar el caminoms corto que no repite ningn vrtice, la complejidadde este problema es NP-completo.
-
7/31/2019 Bellman Ford Exp Final
3/62
DEFINICIN DEL ALGORITMO
El algoritmo de Bellman-Ford genera el camino mscorto en un Grafo dirigido ponderado ( en el que elpeso de alguna de las aristas puede ser negativo).
Este Algoritmo fuedesarrollado por RichardBellman, Samuel End y
Lester Ford.
-
7/31/2019 Bellman Ford Exp Final
4/62
CARACTERISTICAS YCOMPLEJIDAD
COMPUTACIONAL El algoritmo de Dijkstra resuelve este mismo problema
en un tiempo menor, pero requiere que los pesos delas aristas no sean negativos. Por lo que el Algoritmo
Bellman-Ford normalmente se utiliza cuando hayaristas con peso negativo.
La complejidad computacional de este problema es
complejidad NP-Completo.
-
7/31/2019 Bellman Ford Exp Final
5/62
EXPLICACIN DEL ALGORITMO
En el paso 0, inicializamos todas las distancias ocostos mnimos a infinito.
En el paso 1, actualizamos el paso anterior, aplicandolas frmulas. En este caso ponemos la distancia delos nodos que tienen accesos directos al vrtice 1, yse la sumamos a la distancia mnima acumulada quehay hasta el vrtice oportuno. Aqu esta distancia
acumulada sera 0 para 1, debido que sera ladistancia a l mismo, e infinito para el resto porque nohan sido analizados todava
-
7/31/2019 Bellman Ford Exp Final
6/62
EXPLICACIN DELALGORITMO
En el paso 2, al saber ya una distancia mnimaacumulada desde los nodos 2 y 3 hasta 1,podemos actualizar las distancias mnimas de losnodos 4 y 5.
En los pasos sucesivos, se van actualizando lasdistancias mnimas acumuladas (D) de losdistintos vrtices hasta 1, y se van utilizando enlos pasos siguientes para optimizar el camino
mnimo. El final del algoritmo se da cuando no hayningn cambio de un paso a otro, cuando ya no sepuede encontrar un camino ms corto.
-
7/31/2019 Bellman Ford Exp Final
7/62
ANALISIS DEL ALGORITMO
Grafo Inicial.
El objetivo delAlgoritmo esencontrar el caminomnimo desde todoslos nodos al vrtice 1.
http://4.bp.blogspot.com/_RIEFxU9FyeA/S_TnFgLbYFI/AAAAAAAAABs/mfSfrXVYTsg/s1600/INICIO.jpg -
7/31/2019 Bellman Ford Exp Final
8/62
ANALISIS DEL ALGORITMO
http://4.bp.blogspot.com/_RIEFxU9FyeA/S_TnFgLbYFI/AAAAAAAAABs/mfSfrXVYTsg/s1600/INICIO.jpg -
7/31/2019 Bellman Ford Exp Final
9/62
EJEMPLO ( REALIZACIN DELALGORITMO)
-
7/31/2019 Bellman Ford Exp Final
10/62
EJEMPLO (GRAFO FINAL)
* Resultado delcamino mnimodesde todos losnodos al vrtice 1.
-
7/31/2019 Bellman Ford Exp Final
11/62
APLICACIONES DELALGORITMO
Una variante distribuida del Algoritmo del Bellman-Ford se usa en protocolos de encaminamientobasados en vector de distancias.
En el mundo de las redes (comunicaciones) elprotocolo de encaminamiento de informacin (RIP).http://neo.lcc.uma.es/evirtual/cdd/applets/BellmanFord
/Example3.html
-
7/31/2019 Bellman Ford Exp Final
12/62
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)(y,z)(z,u)(z,x)
Lista de Arcos
Encontrar el camino ms corto delVrtice z a cada uno de los otrosVrtices.
Paso 0.0
6
5
-2
7 2
9
-3
8
-4
7
V [ ] = { u v x y z }
d [ ] = { _ _ _ _ _ }
[ ] = { _ _ _ _ _ }
-
7/31/2019 Bellman Ford Exp Final
13/62
0
z
u v
x y
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)(y,z)(z,u)(z,x)
Lista de Arcos
Inicializar los vectores d y P.
Paso 0.1
6
5
-2
7 2
9
-3
8
-4
7
-
7/31/2019 Bellman Ford Exp Final
14/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,v)
Paso 1.1
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[u] + w( u , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
15/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,x)
Paso 1.2
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[u] + w( u , x ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
16/62
-
7/31/2019 Bellman Ford Exp Final
17/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u) (x,v)(x,y)(y,v)(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (v,u)
Paso 1.4
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[v] + w( v , u ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
18/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v) (x,y)(y,v)(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (x,v)Paso 1.5
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[x] + w( x , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
19/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y) (y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (x,y)Paso 1.6
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[x] + w( x , y ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
20/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (y,v)Paso 1.7
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[y] + w( y , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
21/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z) (z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (y,v)Paso 1.8
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[z] > d[y] + w( y , z ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
22/62
0
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u) (z,x)
Lista de Arcos
Aplicar Relax al Arco (z,u)Paso 1.9
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[z] + w( z , u ) ?
Respuesta: SI
Proceso: d[u] = d[z] + w( z, u ) y [u] = z
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { }
-
7/31/2019 Bellman Ford Exp Final
23/62
0
6
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u) (z,x)
Lista de Arcos
Aplicar Relax al Arco (z,u)Paso 1.9
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[z] + w( z , u ) ?
Respuesta: SI
Proceso: d[u] = d[z] + w( z, u ) y [u] = z
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { z }
-
7/31/2019 Bellman Ford Exp Final
24/62
0
6
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (z,x)Paso 1.10
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[z] + w( z , x ) ?
Respuesta: SI
Proceso: d[x] = d[z] + w( z, x ) y [x] = z
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { z }
-
7/31/2019 Bellman Ford Exp Final
25/62
0
7
6
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (z,x)Paso 1.10
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[z] + w( z , x ) ?
Respuesta: SI
Proceso: d[x] = d[z] + w( z, x ) y [x] = z
V [ ] = { u v x y z }
d [ ] = { 7 0 }
[ ] = { z z }
-
7/31/2019 Bellman Ford Exp Final
26/62
0
7
6
z
u v
x y
(u,v) (u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,v)Paso 2.1
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[u] + w( u , v ) ?
Respuesta: SI
Proceso: d[v] = d[u] + w( u, v ) y [v] = u
V [ ] = { u v x y z }
d [ ] = { 0 }
[ ] = { z z }
-
7/31/2019 Bellman Ford Exp Final
27/62
0
7
6 11
z
u v
x y
(u,v) (u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,v)Paso 2.1
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[u] + w( u , v ) ?
Respuesta: SI
Proceso: d[v] = d[u] + w( u, v ) y [v] = u
V [ ] = { u v x y z }
d [ ] = { 7 0 }
[ ] = { z u z }
-
7/31/2019 Bellman Ford Exp Final
28/62
0
7
6 11
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,x)Paso 2.2
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[u] + w( u , x ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z u z }
-
7/31/2019 Bellman Ford Exp Final
29/62
0
7
6 11
z
u v
x y
(u,v)(u,x)
(u,y)
(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,y)Paso 2.3
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[u] + w( u , y ) ?
Respuesta: SI
Proceso: d[y] = d[u] + w( u, y ) y [y] = u
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z u z }
-
7/31/2019 Bellman Ford Exp Final
30/62
0
7
6 11
2
z
u v
x y
(u,v)(u,x)
(u,y)
(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,y)Paso 2.3
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[u] + w( u , y ) ?
Respuesta: SI
Proceso: d[y] = d[u] + w( u, y ) y [y] = u
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z u z u }
-
7/31/2019 Bellman Ford Exp Final
31/62
0
7
6 11
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u) (x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (v,u)Paso 2.4
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[v] + w( v , u ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z u z u }
-
7/31/2019 Bellman Ford Exp Final
32/62
0
7
6 11
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v) (x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (x,v)Paso 2.5
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[x] + w( x , v ) ?
Respuesta: SI
Proceso:d[y] = d[x] + w( x, v ) y [y] = x
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z u z u }
-
7/31/2019 Bellman Ford Exp Final
33/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v) (x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (x,v)Paso 2.5
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[x] + w( x , v ) ?
Respuesta: SI
Proceso: d[y] = d[x] + w( x, v ) y [y] = x
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
-
7/31/2019 Bellman Ford Exp Final
34/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y) (y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (x,y)Paso 2.6
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[x] + w( x , y ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
-
7/31/2019 Bellman Ford Exp Final
35/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (y,v)Paso 2.7
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[y] + w( y , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
-
7/31/2019 Bellman Ford Exp Final
36/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z) (z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (y,z)Paso 2.8
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[z] > d[y] + w( y , z ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
Li d A
-
7/31/2019 Bellman Ford Exp Final
37/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u) (z,x)
Lista de Arcos
Aplicar Relax al Arco (z,u)Paso 2.9
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[z] + w( z , u ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
Li t d A
-
7/31/2019 Bellman Ford Exp Final
38/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (z,x)Paso 2.10
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[z] + w( z , x ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
Li t d A5
-
7/31/2019 Bellman Ford Exp Final
39/62
0
7
6 4
2
z
u v
x y
(u,v) (u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,v)Paso 3.1
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[u] + w( u , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
Li t d A5
-
7/31/2019 Bellman Ford Exp Final
40/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,x)Paso 3.2
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[u] + w( u , x ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
Li t d A5
-
7/31/2019 Bellman Ford Exp Final
41/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)
(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u,y)Paso 3.3
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[u] + w( u , y ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
42/62
0
7
6 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u) (x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (v, u)Paso 3.4
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[v] + w( v , u ) ?
Respuesta: SI
Proceso: d[u] = d[v] + w( v, u ) y [u] = v
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { z x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
43/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u) (x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (v, u)Paso 3.4
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[v] + w( v , u ) ?
Respuesta: SI
Proceso: d[u] = d[v] + w( v, u ) y [u] = v
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
44/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)
(u,y)(v,u)(x,v) (x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (x, v)Paso 3.5
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[x] + w( x , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
45/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y) (y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (x, y)Paso 3.6
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[x] + w( x , y ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
46/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (y, v)Paso 3.7
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[y] + w( y , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
47/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z) (z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (y, z)Paso 3.8
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[z] > d[y] + w( y , z ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
48/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u) (z,x)
Lista de Arcos
Aplicar Relax al Arco (z, u)Paso 3.9
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[z] + w( z , u ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
49/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (z, x)Paso 3.10
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[z] + w( z , x ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
50/62
0
7
2 4
2
z
u v
x y
(u,v) (u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u, v)Paso 4.1
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[u] + w( u , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
51/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x) (u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u, x)Paso 4.2
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[u] + w( u , x ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
52/62
0
7
2 4
2
z
u v
x y
(u,v)(u,x)(u,y) (v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u, y)Paso 4.3
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[u] + w( u , y ) ?
Respuesta: SI
Proceso: d[y] = d[u] + w( u, y ) y [y] = u
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
53/62
0
7
2 4
-2
z
u v
x y
(u,v)(u,x)(u,y) (v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (u, y)Paso 4.3
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[u] + w( u , y ) ?
Respuesta: SI
Proceso: d[y] = d[u] + w( u, y ) y [y] = u
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
54/62
0
7
2 4
-2
z
u v
x y
(u,v)(u,x)(u,y)(v,u) (x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Lista de Arcos
Aplicar Relax al Arco (v, u)Paso 4.4
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[v] + w( v , u ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
-
7/31/2019 Bellman Ford Exp Final
55/62
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
56/62
0
7
2 4
-2
z
u
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y) (y,v)
(y,z)(z,u)(z,x)
sta de cos
Aplicar Relax al Arco (x, y)Paso 4.6
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[y] > d[x] + w( x , y ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
57/62
0
7
2 4
-2
z
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Aplicar Relax al Arco (y, v)Paso 4.7
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[v] > d[y] + w( y , v ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
58/62
0
7
2 4
-2
z
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z) (z,u)(z,x)
Aplicar Relax al Arco (y, z)Paso 4.8
6
5
-2
7 2
9
-3
8
-4
7
Pregunta: d[z] > d[y] + w( y , z ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
59/62
0
7
2 4
-2
z
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u) (z,x)
Aplicar Relax al Arco (z, u)Paso 4.9
6-2
7 2
9
-3
8
-4
7
Pregunta: d[u] > d[z] + w( z , u ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
60/62
0
7
2 4
-2
z
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Aplicar Relax al Arco (z, x)Paso 4.10
6-2
7 2
9
-3
8
-4
7
Pregunta: d[x] > d[z] + w( z , x ) ?
Respuesta: NO
Proceso: No se hace nada.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos5
-
7/31/2019 Bellman Ford Exp Final
61/62
0
7
2 4
-2
z
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
Paso 5.0
6-2
7 2
9
-3
8
-4
7
Verificar en cada arco que secumple la condicin:
d[Vf] NO EXISTE SOLUCIN.
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }
u v Lista de Arcos
-
7/31/2019 Bellman Ford Exp Final
62/62
0
7
2 4
-2
z
x y
(u,v)(u,x)(u,y)(v,u)(x,v)(x,y)(y,v)
(y,z)(z,u)(z,x)
SOLUCIN
-2
7
-3
-4
V [ ] = { u v x y z }
d [ ] = { }
[ ] = { v x z u }