It Began with Babbage (14 page)

Read It Began with Babbage Online

Authors: Subrata Dasgupta

BOOK: It Began with Babbage
4.32Mb size Format: txt, pdf, ePub

16
. P. B. Medawar. (1990). Is the scientific paper a fraud? In P. B. Medawar, 1990.
The threat and the glory: Reflections on science and scientists
(pp. 228–233). Oxford, UK: Oxford University Press.

17
. Turing, op cit., p. 2.

18
. Ibid.

19
. Ibid., pp. 16–18.

20
. Ibid., p. 3.

21
. M. Minsky. (1967).
Computation: Finite and infinite machines
(p. 132). Englewood-Cliffs, NJ: Prentice-Hall.

22
. Ibid., p. 135.

23
. Turing, op cit., p. 11.

24
. Minsky, op cit., p. 132
ff
.

25
. Ibid., p. 108.

26
. A. Church. (1936). An unsolvable problem of elementary number theory.
American Journal of Mathematics, 58
, 345–363.

27
. Hodges, op cit., p. 145.

28
. Ibid., p. 113.

29
. J. G. Crowther. (1974).
The Cavendish Laboratory, 1874–1974
. New York: Science History Publications.

30
. Hodges, op cit., p. 112–113.

31
. Casti, op cit.

32
. Hodges, op cit., p. 131.

33
. Ibid.

34
. Ibid.

5
Toward a Holy Grail
I

SOMETIME BETWEEN
1936 and 1946, there was a change in etymology, at least in the English language. The word
computer
came to mean the machine not the man. Old habits, of course, die hard. And so, such terms as
automatic calculating machines
and
computing machines
remained in common use, along with the cautious adoption of computer, until the end of the 1940s.

But at the beginning of that war-ravaged, bomb-splattered decade, George Stibitz (1904–1995), a mathematical physicist working for Bell Telephone Laboratories in New Jersey, wrote a memorandum on a machine he and his colleague Samuel B. Williams had built in which
computer
unequivocally meant a machine. Indeed, they named their creation the Complex Computer because it was designed to perform arithmetic operations on complex numbers—computations necessary in the design of telephone networks, which was Bell's forte.
1

There was, of course, much more happening in the realm of computing than a change in the meaning of a word. Computers were actually being built, increasingly more complex, more ambitious in scope, more powerful, faster, and physically larger than the punched-card machines that largely dominated automatic calculation. They were being built in at least three countries: America, Germany, and England.
2

These machines, developed in different centers of research, formed evolutionary families, in the sense that machine
X
built at a particular center gave rise to machine
X
+ 1 as its successor. The word “evolution” carries with it much baggage. Here, I am speaking not of biological evolution by natural selection
à la
Darwin, but
cultural
evolution. The latter differs from the former in a fundamental way: biological evolution is not driven by goal or purpose; cultural evolution is
always
goal driven. In the realm of computers—artifacts,
therefore part of culture—for example, a goal is established by the designers/engineers or potential client, and a machine is built that (one hopes) satisfies the goal. If it does satisfy the goal, then well and good (at least for a time); otherwise, a new effort will be initiated that strives to correct the flaws and errors of the earlier machine. Thus, a new artifact emerges “out of the ashes” of the old.

Over time, there may emerge new goals, new priorities that the existing machine does not meet. These new goals initiate a new design problem, a new project that usually draws on earlier experience, earlier knowledge, earlier designs. What cultural evolution shares with biological evolution is, first, that they both are (usually) gradual. Second, they both constantly entail “testing” the organism or artifact against the environment, discarding those that do not meet the environmental conditions and ensuring the “survival” of those that do. The fundamental difference between the two lies in the
mechanism
by which organisms and artifacts respond to the environment. In the case of organisms, it is natural selection, which is purposeless; in the case of artifacts, it is purposeful adaptation to new environments. In fact, the difference lies in the dichotomy of chance and purpose.
3

Let us see what some of these first evolutionary families of computers were.

II

Stibitz's memorandum of 1940 began with the somewhat obvious observation that an essential mission of Bell Telephone Laboratories was the design of electrical (telephone) networks.
4
The implications of this statement for this story were, however, anything but mundane. The design of telephone networks entailed computations involving complex numbers—numbers of the form
a
+
ib
or
a
–
ib
, where
a, b
are real numbers (in the mathematical sense) and
i
= √–1 is an imaginary number (in the mathematical sense). The scientists at Bell Laboratories had long felt the need for machines that could take over the burdensome performance of these complex calculations.
5

The machine named Complex Computer, designed by Stibitz and Williams between 1938 and 1940, was a response to this need. Its primary purpose was to perform arithmetic on complex numbers, but it was also useful in another task common in network design, finding roots of polynomials—that is, finding values of
x
that would satisfy a polynomial equation such as, for example, 2
x
3
– 5
x
2
+ 3
x
– 1 = 0.

Thus, the Complex Computer was a relatively special-purpose electromechanical device that used electrical
relays
(basic switching circuit elements used in telephone networks and, so, a familiar technology in the Bell Laboratories culture). This machine became the first and the progenitor of the Bell Laboratories series of “relay computers” referred to as Model I through ModelVI, but some also given specific names. Thus, Model I was also called the Complex Computer.

After America entered World War II, military needs, of course, had priority over all else. Weapon systems had to be designed, built, and tested for accuracy and reliability
before they could be deployed in battle. Civilian scientists, mathematicians, and engineers were assigned to military establishments or projects under military command. Stibitz was seconded to the National Defense Research Council. One of the projects in which he became involved was the development of precise test equipment for checking the accuracy of a certain kind of “gun director” called the
M-9
.
6
Stibitz suggested that an all-digital computer made from relays as the basic circuit element might do the job.
7
Thus came about the second of the Bell Laboratories machines—the Model II, or Relay Interpolator—so named because its principal computational task was the mathematical process called interpolation, although it was also used for other kinds of tasks, such as calculating roots of polynomials and solving differential equations.
8
Like the Complex Computer/Model I, the Relay Interpolator/Model II was controlled by “orders” punched on paper tape and communicated through teletype readers.

In 1942, Stibitz conceived the concept of floating-point arithmetic, which is vital for scientific computation because it allows numbers ranging from the very small to the very large to be represented in a common fashion.
9
As we will see later, he was not the first to conceive this idea; however, it seems likely that he invented it in ignorance of other prior work done elsewhere in Germany.

The war dominated all. Ideally, the proof positive of the accuracy and reliability of antiaircraft guns could only be established in the battlefield. To test the gun director's accuracy or correctness before deployment, the field conditions would have to be simulated. A plane would be flown, as if on a bombing run. The shells, of course, would not be fired at it; instead, the indicators on the gun director would record data on the plane's movement on a moment-by-moment basis, along with data recording the succession of “gun orders,” and one would have to calculate the relative positions of plane and shell at the moment the shell would burst. Such calculations would take “a team of five computers” a week to perform.
10
Old habits die hard! Here,
computer
referred to a person.

And so began a project to build a relay computing machine to carry out these calculations automatically. The outcome was named the Ballistic Computer. This machine—Bell's Model III relay machine—was still a relatively special-purpose, electromechanical, perforated paper tape-controlled machine. The Model II had an adder circuit that would do multiplication by repeated addition, and subtraction by complementing the number to be subtracted (the “subtrahend”) and adding this complement to the number to be subtracted from (the “minuend”).
11
The Model III had specialized circuits for multiplication and division.
12
The Model II had five registers to store numbers during a computation.
13
In the Model III, there were four registers dedicated to the arithmetic circuits themselves, but in addition there were a set of 10 “storage registers” used to hold both intermediate results of the arithmetic calculations and the final results.
14
Perhaps the most compelling difference between the two models was that although the Model II contained about 500 relays,
15
the Model III was composed of more than 1300 relays.
16

The most significant computer in the Bell Laboratories lineage was the Model V. (The Model IV was only slightly different from the Model III, whereas the Model VI was a
simplified version of the Model V.
17
) In the Model V, the Bell Laboratories family reached its fullest efflorescence; it was seen as a genuine general-purpose programmable computer.
18
The project, begun in 1944, was a quantum jump over its predecessors in physical size and complexity. It contained 9000 relays, 50 different pieces of “teletype apparatus,” weighed about 10 tons, and occupied a floor space of some 1000 square feet. It also exhibited a marked improvement in its flexibility, generality of purpose, reliability, and capacity to operate autonomously without human intervention. Two “copies” of the Model V were built—one completed in 1946 that went to a federal agency in Langley, Virginia, that was the forerunner to the National Aeronautics and Space Administration, and the other, completed in 1947, was sent to the U.S. Army's Ballistic Research Laboratory (BRL) in Aberdeen, Maryland.
19

Here, then, comparing the Model V with its Bell predecessors, is an exemplar of evolution in technological complexity
20
—a complexity manifested even in its complete documentation, estimated at the time of its development to fill “hundreds of pages.”
21
We get a sense of the “general-purposeness” of the Model V from the range of problems it was capable of solving, which included systems of linear equations, ordinary differential equations, interpolation, evaluation of functions of different kinds, and partial differential equations.
22

A remarkable aspect of the Model V was that each copy of the machine was comprised of two “computers.”
23
Each computer was self-sufficient in that it had all the components necessary for solving a problem except for the “tape-reading devices”—the input system, in present-centered language.
24
Each computer had a set of 15 storage registers, several special registers, and an arithmetic unit that performed all four arithmetics as well as square root extraction; control units that accepted “orders” from tape and directed the execution of these orders; registers that received and stored tables of numbers from an input tape; printer control; and teletype printers (the output unit).

However, the two computers in each computing system shared “permanent tables” that held values of trigonometric and logarithmic functions.
25
They also shared the “input organs”—several paper tape transmitters through which orders and data were communicated to the individual computers. A problem could be assigned to a single computer or, for large problems, distributed to the two computers.
26
In present-centered language, the Model V provided an early form of
multiprocessing
—that is, the ability to execute a single computational job by distributing its component tasks to more than one machine, which could then operate simultaneously.

Another significant feature of the Model V was the “problem tape,” one of the input tapes to the system. One of its functions was to identify the start and end of a problem or a subproblem; another function was to provide a check that the routines and data tapes required for a given problem were the correct ones. A third function was to control the printing of headings on the output “answer sheets.” When the machine began operation, the problem tape was the first to be activated. Indeed, it was responsible for “supreme control” of the progress of a computation.
27

It would be misleading to call the problem tape a rudimentary “operating system” (in present-centered language). Yet, by exerting supreme control over the execution of a problem, it has features of what later would be called a
system program
.

III

Let us return to 1938, the year in which Stibitz and Williams began their work on the Complex Computer and the decision to use relays as the basic circuit element. A relay is just a switch. When it is closed, or ON, the current flows from its input terminal to its output terminal; when open, or OFF, current flow is blocked. If two relays are connected in series, a current will flow through the circuit only if both relays are ON; if either is OFF, current will not flow. If two relays are connected in parallel, then current flows if either one or the other or both relays are ON.

Other books

Death Comes to Kurland Hall by Catherine Lloyd
Mystery by the Sea by David Sal
Come on All You Ghosts by Matthew Zapruder
Sparrow Rock by Nate Kenyon
King of Ithaca by Glyn Iliffe
Stolen Souls by Andrea Cremer
The Makedown by Gitty Daneshvari