The Man Who Invented the Computer
Page 24
An example of the logical “AND” operation is an appliance plugged into a power strip that has a switch. You have to flip on the power strip switch AND the appliance switch for the appliance to work. Switches, properly coupled, can represent logical operations, and logical operations in turn can mimic arithmetic operations on binary digits.
Suppose we want to build a circuit that takes two binary inputs a and b, which can be 0 or 1, and produces their sum c in binary. If we allow two digits in the result, the addition table looks like this:
a + b = c:
0 + 0 = 00
0 + 1 = 01
1 + 0 = 01
1 + 1 = 10
The right-hand digit of the sum c is the “exclusive OR” of the values of a and b. It has value 1 if a or b is 1, but not both. The left-hand digit is the “AND” of a and b. It is 1 only if a and b are both 1. So that says we could build a circuit where the inputs a and b flip switches to indicate their 0 or 1 value, and the two digits of c would immediately “light up” at the speed of electricity. Instead of operating lights, the flow of electricity in the result then operates yet other switches, so that the arithmetic can cascade to perform arithmetic on numbers with many (binary) digits.
One type of switch that can be operated by electricity is called a “relay.” A relay is a simple device, one made from ordinary iron and wire. If you wind the wire around a piece of iron and run electricity through the wire, the iron becomes an electromagnet and remains that way until the electricity is off. That electromagnet can pull on something else made of iron such that it mechanically closes or opens a switch. Compared to mechanical switching elements, relays are quite fast, but they are electromechanical and not electronic. In the early days of telephone technology, telephone companies used relays to route calls, so relays were a mass-manufactured part even by the 1930s. Howard Aiken used them in his Mark I computer. Konrad Zuse used inexpensive mechanical linkages in his first designs to represent binary numbers but later used electromechanical relays.
Relays are inexpensive but not very uniform in their response; a group of relays attached to a single source of electricity doesn’t switch at the same time, which means a computer designer can only operate the system as fast as its slowest relay. What is worse is that relays are not very reliable, because on rare occasions the switch sticks in position after the electricity turns off. In a computer system that has many thousands of relays, the odds are good that at least one relay will fail.
An electronic switch moves only electrons, not masses of metal. The first device discovered that could accomplish this was the vacuum tube. The glowing tube in a neon sign has a low-pressure gas that conducts electricity between two electrodes, one at either end. If you create a nearly perfect vacuum, it is still possible to get electricity to flow, but the electrodes have to be closer together, and it helps to heat one of the electrodes to “boil” electrons out of it to jump across the vacuum. It is very much like the waterfall analogy, with electrons responding to the pull of electrical forces instead of water responding to the pull of gravity.
Like the waterfall analogy, it is possible to insert a “gate” that controls the flow. If the vacuum tube has a third electrode in the form of a screen placed between the other two, then its voltage can control how much current flows. Like the waterfall gate, closing a gate stops all flow; electrons and water will not flow “uphill” even when a huge downhill waits on the other side. Thus, a vacuum tube serves as a switching element. Because only electrons and not mechanical parts are moving, vacuum tubes can switch on and off in microseconds, and a vacuum tube is more reliable than a relay. They can still burn out, however, much like an incandescent lightbulb burns out.
In the early decades of electronic computing, vacuum tubes were by far the most costly components in a computer system. The invention of the transistor made it possible to replace vacuum tubes with small, solid-state devices. Today, the switching elements of computers are transistors that are “printed” (lithographed) by the billions onto a piece of silicon, so each transistor in an integrated circuit costs less than a millionth of a penny.
Appendix D | Differential Equations
Whereas everyone learns arithmetic, geometry, and some algebra in a general education, the next conceptual climb is a steep one that only those pursuing technical degrees usually undertake: calculus. Since much of the motivation for the early computers was to solve problems arising in calculus, this appendix gives an overview of the applications that give rise to calculus problems and explains why they are so difficult to solve using pencil-and-paper methods alone.
In elementary school, children learn the counting numbers 1, 2, 3, …, then fractions and decimals, then negative numbers and sets of numbers (like three-dimensional coordinates or statistical results). The concept that marks the transition to higher math is that what calculus shows us how to manipulate are not just numbers, but functions. A function is the operation performed on a set of numbers, like taking the cube root of x for all values of x between 3 and 7, or taking the cosine of x and adding 17 and then taking the square root of that whole expression. The actual value of x is not the focus, and neither is the numerical value that results from applying the function to any particular x. This can be disconcerting after experiencing a decade of math teachers demanding the answer to how operations change numbers into numbers. In calculus, the operations change functions into functions.
In the mid-1600s, two brilliant men independently invented the mathematics we now call calculus. Just as the question of who contributed most to the invention of the modern computer is the subject of argument, so is the question of who deserves the most credit for developing calculus. Isaac Newton in England and Gottfried Leibniz in Germany both made groundbreaking contributions but were not aware of each other’s work.
Newton developed calculus as a way to describe physics in mathematical terms. For example, if a mathematical expression describes the position of an object as a function of time, what is the mathematical expression that describes the speed of the object? Determining speed from position means taking the “derivative” of the position function, also called “differentiating” the function. Differentiation is a calculus operation that has its own collection of memorized rules and methods just as elementary arithmetic has rules for multiplying many-digit numbers. The inverse question, that of determining the position if you know the speed, means taking the “integral” of the speed function, or “integrating” the function. In general terms, differential calculus is used to find the rate at which things change, and integral calculus is used to find how things accumulate, like the area or volume of objects described by functions.
Ordinary Differential Equations (ODEs)
As in the example mentioned above, differentiating the position function gives the speed function. Differentiating the speed function gives the acceleration function. A situation that often arises in physics is that an equation relates the position, the speed, and the acceleration. Since that equation involves differentials of a function (with respect to just one variable) as well as the function itself, it is an “ordinary” differential equation, or ODE.
Here are some examples of physical problems that are expressible as ODEs:
A rocket projectile accelerates as it burns fuel, but it also becomes lighter with time so that it takes less fuel to make it go faster. It slows with air resistance, some of which is proportional to the speed and some of which is proportional to the speed squared. The physical laws lead to ODEs that mathematicians can express with just a few symbols but that are very difficult to solve. Such calculations were of great interest to the computer developers of the World War II era, when hitting a target with a missile was a challenge involving a lot of trial and error. The intimidating and blackboard-filling math for this problem may be the source of the expression “it’s not rocket science,” since rocket science of this sort really is difficult.
As an asteroid moves through the solar system, it accelerates unde
r the gravitational forces of the sun, planets, and other masses. Thus, the second derivative of the position (its acceleration) relates to the position by an expression that sums all those forces, giving rise to an ODE. Solving that equation is of great interest if the question is whether the asteroid might strike the earth in the near future.
A pendulum, or a mass hanging on a spring, moves according to an ODE. The more the mass moves away from equilibrium, the greater the acceleration in the opposite direction. This situation arises so often in physics that the ODE for it has a name: the harmonic oscillator equation.
Partial Differential Equations (PDEs)
Problems in physics are rarely so simple that they involve only a single equation involving one function that depends on one variable (like time). Consider the complexity of the airflow around an airplane wing, for example. Pressure, air speed, air density, and temperature all are functions of the position (in three dimensions) and the time, and those are just a few of the things that enter the equations that determine the lift and drag forces on the wing. Fundamental laws of physics say that the total energy, momentum, and matter cannot change with time. Each of those quantities is expressed with derivatives, and the fact that they are conserved creates a system of three PDEs that must be solved simultaneously. PDEs involve differentiation with respect to more than one variable, like both the time and the x direction.
One type of PDE problem is to find the steady state of a system. Suppose a room has a heater in one corner and an open window on the other side; what is the temperature at every point in the room? Mathematically, the problem is a PDE that involves differentiating the temperature in each of the three spatial dimensions. The temperature in the room at any point is the average of the temperatures in the immediate neighborhood of the point, except where the heater or window forces it to be a particular temperature. Another steady-state PDE problem is that of finding the shape of a trampoline when standing still somewhere on the mat. The depression of the trampoline at any point is the average of the depressions immediately around the point, except for the frame and under the feet of the person standing on it. For this kind of PDE, there is no need to consider time as a variable.
The other type of PDE involves time. Time-dependent PDEs can formulate how a physical situation evolves. In striking a note on a piano, for instance, a hammer hits the string, which causes complex sideways motion of the string as a function of both the time and the position along the length of the string. That problem is a close cousin to the harmonic oscillator problem described above for ODEs, except that both time and position are variables.
PDEs arise in many technical areas, not just physics. They can describe how populations of species grow and decline in an ecosystem; what the climate will be a century from now; how atoms bond to form molecules; how to design a suspension bridge to be strong with minimum materials; and how galaxies evolve over millions of years. They even find use in determining the best price for financial instruments, like put and call options. Economists use PDEs in macroeconomic theory. A famous remark by physicist Max Planck was that in his youth he considered going into economics but had to change to physics because the mathematics was too difficult.
Computers for Differential Equations
Differential equations are easy to express but usually fiendishly difficult to solve. At the beginning of the twentieth century, a handful of simplified examples were all that mathematicians could point to as amenable to pencil-and-paper analysis. The analytical solutions might work if the problem geometry was a sphere or a square plate or other idealized shape, but there was little hope of finding a solution, say, to the PDE that expresses the mechanical stresses on something in the shape of a wrench.
The approach that works with broad generality is to pick so many sample points in the function that the problem becomes one of working with lists of ordinary numbers, not functions. Using sample points gives the “discrete form” of differential equations, which are sometimes called difference equations because simple subtraction suffices to estimate the rate of change with respect to increments of time and space. For the piano string example, imagine that instead of a string, there are point masses evenly distributed along the length of the string that follow the simple rules of how masses behave when tugged on. This eliminates the calculus and gets us back to elementary arithmetic, but with a catch: to use enough points that the sampling is accurate requires a very large number of additions, multiplications, subtractions, and divisions. The sampling approach, or “numerical analysis” method, seems to offer the possibility of solving just about any problem that can be expressed as an ODE or PDE, but it begs for a way to do all that arithmetic at speeds far beyond what a human can do.
In the trampoline example, suppose the trampoline is square and sampled with a five-by-five grid. The amount the trampoline depresses at each grid point is approximately the average of the depression of the points around it. That leads to a set of twenty-five linear equations in twenty-five unknowns. Solving that type of system is what Atanasoff had in mind in designing his computer, since the total work to solve twenty-five equations is more than ten thousand calculations, intractable even with Marchant or Monroe desktop calculators. Atanasoff’s design could solve such a system in about fifteen hours.
The ENIAC design suggests that ODEs were its main target, and missile trajectory calculation is the most commonly cited application for that computer. The ENIAC could store only twenty variables, but it could apply changes to them very quickly to simulate how a physical system might evolve through time, with the time sampled in discrete steps. Thus, the ODEs that describe a missile become a repeated procedure; at time 0, the missile is at a given position on the ground and experiences a given thrust. Arithmetic says how it accelerates as a function of time, if we ignore the fact that its mass is decreasing as it burns fuel and that gravity is pulling it into a curved path back toward the ground. At time 0.01 second later, the velocity and thrust and position and mass are sampled again and used to compute what it will do at time 0.02 second, and so on. Since the ENIAC could do thousands of calculations per second on its small set of variables, the calculation of the complete flight path of the missile could finish in reasonable time.
The progress in computer technology in the last seventy years has increased speed and storage by a factor of more than a trillion. This allows us to obtain close, high-resolution approximations of the solutions to a vast range of differential equations, not just the handful that can be solved with pencil-and-paper analytical methods.
* Units of area have been translated into English units, for readability.
Notes
Introduction
1 MIT Inventor Archive: “Inventor of the Week Archive,” http://web.mit.edu/invent/iow/i-archive-a.html.
2 “I had reached the Mississippi River”: Mollenhoff, p. 157.
3 “a practical limitation on the size of systems”: Alt, p. 283.
Chapter One
1 “to teach such branches of learning”: Title 7, U.S. Code, Sec. 304. 2004 ed. Legal Information Institute, Cornell University, http://www.law.cornell.edu/uscode/html/uscode07/
usc_sec_07_00000304----000-.html.
2 “Hurrying toward his destination”: Burton, p. 61. Tammara Burton is Atanasoff’s granddaughter and her book is my main source of information about his childhood and personal life.
3 “for their fundamental theoretical investigations”: Nobel Prize Citation, 1977, http://nobelprize.org/nobel_prizes/physics/laureates/1977/press.html.
4 “If you had been here in the first half of the semester”: Mollenhoff, p. 26.
5 “There were perhaps twenty-five graduate students in the class”: Ibid.
6 “He appeared to lack the patience necessary”: Hodges, p. 38.
7 “It was all the same thing to him”: Ibid., p. 9.
8 “It really is a gas engine”: Ibid., p. 13.
9 “Alan had no friend”: Ibid., p. 23.
Chapter Two
> 1 “can be anything: a distance”: Mollenhoff, p. 29.
2 “in essence a variable-speed gear”: Hartree, quoted in Barnet, paragraph 12.
3 “The advantages of the method”: Atanasoff and Brandt, abstract, p. 83.
4 “the properties of vacuum tubes”: Welch, http://ed-thelen.org/comp-hist/TheCompMusRep/TCMR-V12.html.
5 “a power supply and electric motor”: Ibid.
6 “Don’t worry about people stealing your ideas”: “Howard Hathaway Aiken,” http://www.answers.com/topic/aiken-howard.
7 “when the family’s enormous vegetable garden”: Burton, p. 86.
8 “I had been forced to the conclusion”: Ibid., p. 89.
9 “represented an elegant and powerful symbolism”: Hodges, p. 112.
10 “was not only a matter of abstract mathematics”: Ibid., p. 107.
Chapter Three
1 “I have traced my ancestry back”: Zuse, p. 1.
2 “Given my many detours”: Ibid., p. 21.
3 “on all sides now”: Ibid., p. 30.
4 “The psychological effect”: Ibid., p. 31.
5 “When I began to build”: Ibid., p. 34.
6 “which took money”: Ibid., p. 35.
7 “pasted the paper”: Ibid., p. 36.
8 “It took up almost the entire living room”: Ibid.
9 “I don’t want to discourage you”: Ibid., p. 42.
10 “To construct large and expensive computing machines”: Ibid., p. 43.