0% found this document useful (0 votes)
169 views5 pages

09A On The History of The Shortest Path Problem

The document summarizes the history of research on the shortest path problem in graph theory and algorithms. It describes how early work in the late 19th century studied path finding problems. In the 1940s-1950s, researchers independently developed matrix methods and algorithms using iterative matrix multiplication to find shortest paths. Bellman introduced an algorithm in 1958, while Dijkstra published a faster algorithm in 1959 that works for nonnegative edge lengths. The shortest path problem was also formulated as a linear programming problem in 1955-1957.

Uploaded by

李子
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
169 views5 pages

09A On The History of The Shortest Path Problem

The document summarizes the history of research on the shortest path problem in graph theory and algorithms. It describes how early work in the late 19th century studied path finding problems. In the 1940s-1950s, researchers independently developed matrix methods and algorithms using iterative matrix multiplication to find shortest paths. Bellman introduced an algorithm in 1958, while Dijkstra published a faster algorithm in 1959 that works for nonnegative edge lengths. The shortest path problem was also formulated as a linear programming problem in 1955-1957.

Uploaded by

李子
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 5

Documenta Math.

155

On the History of the Shortest Path Problem

Alexander Schrijver

2010 Mathematics Subject Classification: 01A60, 05-03, 05C38,


05C85, 90C27
Keywords and Phrases: Shortest path, algorithm, history

It is difficult to trace back the history of the shortest path problem. One can
imagine that even in very primitive (even animal) societies, finding short paths
(for instance, to food) is essential. Compared with other combinatorial opti-
mization problems, like shortest spanning tree, assignment and transportation,
the mathematical research in the shortest path problem started relatively late.
This might be due to the fact that the problem is elementary and relatively
easy, which is also illustrated by the fact that at the moment that the problem
came into the focus of interest, several researchers independently developed
similar methods.
Yet, the problem has offered some substantial difficulties. For some consider-
able period heuristical, nonoptimal approaches have been investigated (cf. for
instance Rosenfeld [1956], who gave a heuristic approach for determining an
optimal trucking route through a given traffic congestion pattern).
Path finding, in particular searching in a maze, belongs to the classical graph
problems, and the classical references are Wiener [1873], Lucas [1882] (describ-
ing a method due to C.P. Trémaux), and Tarry [1895] – see Biggs, Lloyd, and
Wilson [1976]. They form the basis for depth-first search techniques.
Path problems were also studied at the beginning of the 1950’s in the con-
text of ‘alternate routing’, that is, finding a second shortest route if the shortest
route is blocked. This applies to freeway usage (Trueblood [1952]), but also to
telephone call routing. At that time making long-distance calls in the U.S.A.
was automatized, and alternate routes for telephone calls over the U.S. tele-
phone network nation-wide should be found automatically. Quoting Jacobitti
[1955]:

When a telephone customer makes a long-distance call, the major


problem facing the operator is how to get the call to its destination.
In some cases, each toll operator has two main routes by which
the call can be started towards this destination. The first-choice
route, of course, is the most direct route. If this is busy, the second
choice is made, followed by other available choices at the operator’s

Documenta Mathematica · Extra Volume ISMP (2012) 155–167


156 Alexander Schrijver

discretion. When telephone operators are concerned with such a


call, they can exercise choice between alternate routes. But when
operator or customer toll dialing is considered, the choice of routes
has to be left to a machine. Since the “intelligence” of a machine
is limited to previously “programmed” operations, the choice of
routes has to be decided upon, and incorporated in, an automatic
alternate routing arrangement.

Matrix methods for unit-length shortest path 1946–1953

Matrix methods were developed to study relations in networks, like finding


the transitive closure of a relation; that is, identifying in a directed graph the
pairs of points s, t such that t is reachable from s. Such methods were studied
because of their application to communication nets (including neural nets) and
to animal sociology (e.g. peck rights).
The matrix methods consist of representing the directed graph by a matrix,
and then taking iterative matrix products to calculate the transitive closure.
This was studied by Landahl and Runge [1946], Landahl [1947], Luce and Perry
[1949], Luce [1950], Lunts [1950, 1952], and by A. Shimbel.
Shimbel’s interest in matrix methods was motivated by their applications
to neural networks. He analyzed with matrices which sites in a network can
communicate to each other, and how much time it takes. To this end, let S be
the 0, 1 matrix indicating that if Si,j = 1 then there is direct communication
from i to j (including i = j). Shimbel [1951] observed that the positive entries
in S t correspond to pairs between which there exists communication in t steps.
An adequate communication system is one for which the matrix S t is positive for
some t. One of the other observations of Shimbel [1951] is that in an adequate
communication system, the time it takes that all sites have all information, is
equal to the minimum value of t for which S t is positive. (A related phenomenon
was observed by Luce [1950].)
Shimbel [1953] mentioned that the distance from i to j is equal to the number
of zeros in the i, j position in the matrices S 0 , S 1 , S 2 , . . . , S t . So essentially he
gave an O(n4 ) algorithm to find all distances in a directed graph with unit
lengths.

Shortest-length paths

If a directed graph D = (V, A) and a length function l : A → R are given, one


may ask for the distances and shortest-length paths from a given vertex s.
For this, there are two well-known methods: the ‘Bellman-Ford method’ and
‘Dijkstra’s method’. The latter one is faster but is restricted to nonnegative
length functions. The former method only requires that there is no directed
circuit of negative length.
The general framework for both methods is the following scheme, described
in this general form by Ford [1956]. Keep a provisional distance function d.

Documenta Mathematica · Extra Volume ISMP (2012) 155–167


On the History of the Shortest Path Problem 157

Initially, set d(s) := 0 and d(v) := ∞ for each v 6= s. Next, iteratively,

choose an arc (u, v) with d(v) > d(u) + l(u, v) and reset d(v) := d(u) + l(u, v).
(1)
If no such arc exists, d is the distance function.
The difference in the methods is the rule by which the arc (u, v) with d(v) >
d(u) + l(u, v) is chosen. The Bellman-Ford method consists of considering all
arcs consecutively and applying (1) where possible, and repeating this (at most
|V | rounds suffice). This is the method described by Shimbel [1955], Bellman
[1958], and Moore [1959].
Dijkstra’s method prescribes to choose an arc (u, v) with d(u) smallest (then
each arc is chosen at most once, if the lengths are nonnegative). This was
described by Leyzorek, Gray, Johnson, Ladew, Meaker, Petry, and Seitz [1957]
and Dijkstra [1959]. A related method, but slightly slower than Dijkstra’s
method when implemented, was given by Dantzig [1958], and chooses an arc
(u, v) with d(u) + l(u, v) smallest.
Parallel to this, a number of further results were obtained on the shortest
path problem, including a linear programming approach and ‘good characteri-
zations’. We review the articles in a more or less chronological order.

Shimbel 1955

The paper of Shimbel [1955] was presented in April 1954 at the Symposium
on Information Networks in New York. Extending his matrix methods for
unit-length shortest paths, he introduced the following ‘min-sum algebra’:

Arithmetic
For any arbitrary real or infinite numbers x and y

x + y ≡ min(x, y) and
xy ≡ the algebraic sum of x and y.

He transferred this arithmetic to the matrix product. Calling the distance


matrix associated with a given length matrix S the ‘dispersion’, he stated:

It follows trivially that S k k ≥ 1 is a matrix giving the shortest


paths from site to site in S given that k − 1 other sites may be
traversed in the process. It also follows that for any S there exists
an integer k such that S k = S k+1 . Clearly, the dispersion of S (let
us label it D(S)) will be the matrix S k such that S k = S k+1 .

This is equivalent to the Bellman-Ford method.


Although Shimbel did not mention it, one trivially can take k ≤ |V |, and
hence the method yields an O(n4 ) algorithm to find the distances between all
pairs of points.

Documenta Mathematica · Extra Volume ISMP (2012) 155–167


158 Alexander Schrijver

1 Shortest path as linear programming problem 1955–1957

Orden [1955] observed that the shortest path problem is a special case of a
transshipment problem (= uncapacitated minimum-cost flow problem), and
hence can be solved by linear programming. Dantzig [1957] described the
following graphical procedure for the simplex method applied to this problem.
Let T be a rooted spanning tree on {1, . . . , n}, with root 1. For each i =
1, . . . , n, let ui be equal to the length of the path from 1 to i in T . Now if
uj ≤ ui + di,j for all i, j, then for each i, the 1 − i path in T is a shortest path.
If uj > ui + di,j , replace the arc of T entering j by the arc (i, j), and iterate
with the new tree. Pn
Trivially, this process terminates (as j=1 uj decreases at each iteration, and
as there are only finitely many rooted trees). Dantzig illustrated his method
by an example of sending a package from Los Angeles to Boston. (Edmonds
[1970] showed that this method may take exponential time.)
In a reaction to the paper of Dantzig [1957], Minty [1957] proposed an ‘analog
computer’ for the shortest path problem:
Build a string model of the travel network, where knots represent
cities and string lengths represent distances (or costs). Seize the
knot ‘Los Angeles’ in your left hand and the knot ‘Boston’ in your
right and pull them apart. If the model becomes entangled, have an
assistant untie and re-tie knots until the entanglement is resolved.
Eventually one or more paths will stretch tight – they then are
alternative shortest routes.
Dantzig’s ‘shortest-route tree’ can be found in this model by weight-
ing the knots and picking up the model by the knot ‘Los Angeles’.
It is well to label the knots since after one or two uses of the model
their identities are easily confused.
A similar method was proposed by Bock and Cameron [1958].

Ford 1956

In a RAND report dated 14 August 1956, Ford [1956] described a method to


find a shortest path from P0 to PN , in a network with vertices P0 , . . . , PN ,
where lij denotes the length of an arc from i to j. We quote:
Assign initially x0 = 0 and xi = ∞ for i 6= 0. Scan the network
for a pair Pi and Pj with the property that xi − xj > lji . For this
pair replace xi by xj + lji . Continue this process. Eventually no
such pairs can be found, and xN is now minimal and represents the
minimal distance from P0 to PN .
So this is the general scheme described above (1). No selection rule for the arc
(u, v) in (1) is prescribed by Ford.

Documenta Mathematica · Extra Volume ISMP (2012) 155–167


On the History of the Shortest Path Problem 159

Ford showed that the method terminates. It was shown however by Johnson
[1973a, 1973b, 1977] that Ford’s liberal rule can take exponential time.
The correctness of Ford’s method also follows from a result given in the
book Studies in the Economics of Transportation by Beckmann, McGuire, and
Winsten [1956]: given a length matrix (li,j ), the distance matrix is the unique
matrix (di,j ) satisfying

di,i = 0 for all i, (2)


di,k = min(li,j + dj,k ) for all i, k with i 6= k.
j

Good characterizations for shortest path 1956-1958

It was noticed by Robacker [1956] that shortest paths allow a theorem dual to
Menger’s theorem: the minimum length of an P0 − Pn path in a graph N is
equal to the maximum number of pairwise disjoint P0 − Pn cuts. In Robacker’s
words:

the maximum number of mutually disjunct cuts of N is equal to


the length of the shortest chain of N from P0 to Pn .

A related ‘good characterization’ was found by Gallai [1958]: A length function


l : A → Z on the arcs of a directed graph (V, A) does not give negative-length
directed circuits, if and only if there is a function (‘potential’) p : V → Z such
that l(u, v) ≥ p(v) − p(u) for each arc (u, v).

Case Institute of Technology 1957

The shortest path problem was also investigated by a group of researchers at the
Case Institute of Technology in Cleveland, Ohio, in the project Investigation
of Model Techniques, performed for the Combat Development Department of
the Army Electronic Proving Ground. In their First Annual Report, Leyzorek,
Gray, Johnson, Ladew, Meaker, Petry, and Seitz [1957] presented their results.
First, they noted that Shimbel’s method can be speeded up by calculating S k
by iteratively raising the current matrix to the square (in the min-sum matrix
algebra). This solves the all-pairs shortest path problem in time O(n3 log n).
Next, they gave a rudimentary description of a method equivalent to Dijk-
stra’s method. We quote:

(1) All the links joined to the origin, a, may be given an outward
orientation. [. . . ]
(2) Pick out the link or links radiating from a, aaα , with the small-
est delay. [. . . ] Then it is impossible to pass from the origin to
any other node in the network by any “shorter” path than aaα .
Consequently, the minimal path to the general node α is aaα .

Documenta Mathematica · Extra Volume ISMP (2012) 155–167

You might also like