¿Cuál es el enunciado del problema resuelto por el algoritmo Bellman-Ford?

Dado un gráfico y un vértice fuente src en el gráfico, encuentre las rutas más cortas desde src a todos los vértices en el gráfico dado. El gráfico puede contener bordes de peso negativos.

Algoritmo

Los siguientes son los pasos detallados.

Entrada: Gráfico y una fuente de vértice src

Salida: distancia más corta a todos los vértices desde src . Si hay un ciclo de peso negativo, entonces no se calculan las distancias más cortas, se informa el ciclo de peso negativo.

1) Este paso inicializa las distancias desde la fuente a todos los vértices como infinitas y la distancia a la fuente como 0. Crea una matriz dist [] de tamaño | V | con todos los valores como infinitos excepto dist [src] donde src es el vértice fuente.

2) Este paso calcula las distancias más cortas. Haga lo siguiente | V | -1 veces donde | V | es el número de vértices en un gráfico dado.

… .. a) Haz lo siguiente para cada borde uv

……………… Si dist [v]> dist [u] + peso del borde uv, actualice dist [v]

………………… .dist [v] = dist [u] + peso del borde uv

3) Este paso informa si hay un ciclo de peso negativo en el gráfico. Haga lo siguiente para cada borde uv

…… Si dist [v]> dist [u] + peso del borde uv, entonces “El gráfico contiene un ciclo de peso negativo”

La idea del paso 3 es que el paso 2 garantiza distancias más cortas si el gráfico no contiene un ciclo de peso negativo. Si iteramos por todos los bordes una vez más y obtenemos una ruta más corta para cualquier vértice, entonces hay un ciclo de peso negativo

Algoritmo de Bellman – Ford http://codingeek.org/algorithms/…

Dado un gráfico dirigido ponderado [matemático] G (V, E) [/ matemático] y un vértice fuente [matemático] s \ en V [/ matemático], determine para cada vértice [matemático] v \ en V [/ matemático] el ruta más corta entre [math] s [/ math] y [math] v [/ math], o determine que no existe (ya sea porque [math] v [/ math] es inalcanzable desde [math] s [/ math ] o porque hay un ciclo de peso negativo que significaría que el costo puede hacerse arbitrariamente pequeño).

He publicado el algoritmo Bellman-Ford donde he explicado el algoritmo Bellman-Ford. También debe encontrar la respuesta a su pregunta allí.

Búscalo en wikipedia. Digraph, en este caso, significa un gráfico dirigido: los arcos que conectan los nodos en el gráfico con otros nodos son calles de sentido único. Hay un precio por atravesar cada uno de los arcos. Bellman Ford encontrará la ruta más corta (costo más bajo) desde un nodo inicial a cada uno de los otros nodos en el gráfico.