BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

62
BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández

Transcript of BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

Page 1: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

BELLMAN-FORD

Jorge MondragónLeonardo Herrera

Cristian Fernández

Page 2: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

DESCRIPCIÓN DEL PROBLEMA

El algoritmo de Bellman-Ford genera el camino más corto en un grafo dirigido ponderado (en el que el peso de alguna de las aristas puede ser negativo).

El algoritmo de Dijkstra resuelve este mismo problema en un tiempo menor, pero requiere que los pesos de las aristas no sean negativos. Por lo que el algoritmo Bellman-Ford normalmente se utiliza cuando hay aristas con peso negativoSi el grafo contiene un ciclo de coste negativo, el algoritmo lo detectará pero no encontrará el camino más corto que no repite ningún vértice, la complejidad de este problema es NP-completo.

Page 3: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

DEFINICIÓN DEL ALGORITMO

• El algoritmo de Bellman-Ford genera el camino más corto en un Grafo dirigido ponderado ( en el que el peso de alguna de las aristas puede ser negativo).

• Este Algoritmo fue

desarrollado por Richard

Bellman, Samuel End y

Lester Ford.

Page 4: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

CARACTERISTICAS Y COMPLEJIDAD

COMPUTACIONAL• El algoritmo de Dijkstra resuelve este mismo problema

en un tiempo menor, pero requiere que los pesos de las aristas no sean negativos. Por lo que el Algoritmo Bellman-Ford normalmente se utiliza cuando hay aristas con peso negativo.

• La complejidad computacional de este problema es complejidad NP-Completo.

Page 5: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

EXPLICACIÓN DEL ALGORITMO

• En el paso 0, inicializamos todas las distancias o costos mínimos a infinito.

En el paso 1, actualizamos el paso anterior, aplicando las fórmulas. En este caso ponemos la distancia de los nodos que tienen accesos directos al vértice 1, y se la sumamos a la distancia mínima acumulada que hay hasta el vértice oportuno. Aquí esta distancia acumulada sería 0 para 1, debido que sería la distancia a él mismo, e infinito para el resto porque no han sido analizados todavía

Page 6: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

EXPLICACIÓN DEL ALGORITMO

• En el paso 2, al saber ya una distancia mínima acumulada desde los nodos 2 y 3 hasta 1, podemos actualizar las distancias mínimas de los nodos 4 y 5.

En los pasos sucesivos, se van actualizando las distancias mínimas acumuladas (D) de los distintos vértices hasta 1, y se van utilizando en los pasos siguientes para optimizar el camino mínimo. El final del algoritmo se da cuando no hay ningún cambio de un paso a otro, cuando ya no se puede encontrar un camino más corto.

Page 7: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

ANALISIS DEL ALGORITMO

•Grafo Inicial.

•El objetivo del Algoritmo es encontrar el camino mínimo desde todos los nodos al vértice 1.

Page 9: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

EJEMPLO ( REALIZACIÓN DEL ALGORITMO)

Page 10: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

EJEMPLO (GRAFO FINAL)

* Resultado del camino mínimo desde todos los nodos al vértice 1.

Page 11: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

APLICACIONES DEL ALGORITMO

• Una variante distribuida del Algoritmo del Bellman-Ford se usa en protocolos de encaminamiento basados en vector de distancias.

• En el mundo de las redes (comunicaciones) el protocolo de encaminamiento de información (RIP).

http://neo.lcc.uma.es/evirtual/cdd/applets/BellmanFord/Example3.html

Page 12: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 más corto delVértice z a cada uno de los otrosVértices.

Paso 0.0

6

5

-2

7 2

9

-3

8

-4

7

V [ ] = { u v x y z }

d [ ] = { _ _ _ _ _ }

[ ] = { _ _ _ _ _ }

Page 13: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 .

Paso 0.1

6

5

-2

7 2

9

-3

8

-4

7

Page 14: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 15: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 16: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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,y)Paso 1.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 [ ] = { 0 }

[ ] = { }

Page 17: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 18: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 19: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 20: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 21: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 22: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

[ ] = { }

Page 23: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 24: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 25: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 26: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 27: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 28: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 29: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 30: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 31: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 32: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 33: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 34: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 35: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 36: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 37: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 38: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 39: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 40: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 41: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 42: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 43: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 44: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 45: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 46: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 47: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 48: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 49: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 50: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 51: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 52: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 53: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 54: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 }

Page 55: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 4.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 }

Page 56: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 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 }

Page 57: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 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 }

Page 58: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 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 }

Page 59: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 4.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 }

Page 60: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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 4.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 }

Page 61: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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

Paso 5.0

6

5

-2

7 2

9

-3

8

-4

7

Verificar en cada arco que secumple la condición:

d[Vf] <= d[Vi] + w( Vi , Vf )Si no se cumple:

=> NO EXISTE SOLUCIÓN.

V [ ] = { u v x y z }

d [ ] = { }

[ ] = { v x z u }

Page 62: BELLMAN-FORD Jorge Mondragón Leonardo Herrera Cristian Fernández.

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

SOLUCIÓN

-2

7

-3

-4

V [ ] = { u v x y z }

d [ ] = { }

[ ] = { v x z u }