6.1 Shortest paths with some (i, j) < 0 when some link lengths on a network are negative the two shortest-path algorithms of section 6.2 must be modified. algorithm 6.1 must be modified drastically, while only a minor modification is necessary in algorithm 6.2. in this problem we shall explore various aspects of the shortest-path problem with some (i, j) < 0.
a. Let (f, e) = -2, instead of 5, in the graph of Figure 6.3. How would the shortest-path tree of Figure 6.5 change?
b. Suppose that the following approach has been suggested for finding shortest paths on the graph of Figure 6.3 with (f, e) = -2: (i) Add 2 units to the length of all links of the graph so that all (i, j) 0; (ii) use Algorithm 6.1 to find any shortest paths required and then subtract 2 units from every link on each shortest path to find the true length of each shortest path. What is wrong with such an approach?
c. Suppose now that (f, e) = -8 in Figure 6.3. What would now be the minimum distance between nodes a and j, d(a, j) ?

Hint: Be careful!

d. The phenomenon that you have observed in part (c) is referred to as a "negative cycle." Whenever a negative cycle exists between two nodes of a graph, the shortest-path problem for this pair of nodes is meaningless. Note that this means that no undirected links on a graph should have negative (i,j)--since this immediately implies a negative cycle. Shortest-path algorithms must be able to "detect" the presence of negative cycles if they are to work with some (i, j) < o. the key to such detecting is the following statement: in a graph with n nodes, no meaningful shortest path (i.e., one that does not indude a negative cycle) can consist of more than n - 1 links. argue for the validity of this statement.
e. Algorithm 6.2 can be used as stated for cases where some (i, j) < o with only a minor modification to check for the existence of negative cycles upon termination. how would you use the final matrix d(n) at the conclusion of Algorithm 6.2 to check whether there are any negative cycles in a graph?

Hint: What should happen to one or more diagonal elements dn(i, i) of this matrix if there is a negative cycle in the graph ?

f. Repeat Example 2 of Section 6.2.2 for the case in which the length of the directed arc from node 5 to node 2 in Figure 6.6 is equal to -3.
g. Can you suggest how shortest-path Algorithm 6.1 should be changed in order to be applicable to cases with some (i, j) < 0?

Hints: No labels can become permanent (i.e., nodes cannot become closed) until all labels are permanent; the algorithm requires at most N - 1 passes but may terminate earlier if no labels change during a pass.

For a more extensive discussion of algorithms of this type, see, for instance, Chapter 8, Section 2.2, of Christofides [CHRI 75].