# graphs – Prove Edited Algorithm of Bellman–Ford?

I am stuck on this question for a week and hope to get some help:

Algorithm:

Given 2 sided Graph $$G(L,R,E)$$, a weight function and a root vertex $$s$$:

1. Define $$E1$$ as the group of edges connecting vertex from $$L$$ to $$R$$
(the rest are in $$E2$$ Group).

2. For each vertex $$v$$, Let
$$d(v)=infty$$ except $$d(s)=0$$ 3) Do $$(|L|+|R|)/2$$ (round floor)
iterations of the following:

Check Every edge in the graph, if d(v)>d(u)+w(u,v) then let
d(v)=d(u)+w(u,v)

Prove that if there is no circular path with total negative weight in
$$G$$, then the given algorithm returns for each vertex $$v$$ the minimal
weight of a path from s to $$v$$.

My try:

• For every vertex $$v$$ we can conclude that there is a shortest path from $$s$$ which is simple (no vertex appears twice, else we are getting a contradiction to the fact that there is no negative circular paths)

• The difference between number of edges from E1 and E2 is no more than 1

• For every simple and short path $$P$$ there is no more than $$(|L|+|R|)/2$$ (round floor) edges from $$E1$$ (and the same for $$E2$$).

Claim: For every vertex $$v$$ if there is a shortest path $$P$$ from $$s$$ to $$v$$, which contains $$k$$ edges from $$E1$$ then at the end of $$k$$-th iteration $$d(v)=|P|$$ ie the algorithm’s calculation is correct.

Proof: By induction on $$k$$.

But As I progressed it seemed that the claim doesn’t cover all cases (Thus it’s wrong). For example, it worked when $$v$$ is in $$R$$ group but failed To help prove the case when $$v$$ is in $$L$$ group.