Turing's Cathedral

Home > Other > Turing's Cathedral > Page 27
Turing's Cathedral Page 27

by George Dyson


  The problem was that the post-ENIAC device would not become operational until 1951, despite its becoming “increasingly clear in connection with Los Alamos requirements, especially in the current atmosphere of crisis, that radical measures to finish the computer were necessary.”54 It turned out, however, to be possible to modify the ENIAC to function as a primitive, interim approximation of the forthcoming new machine. “In the Spring of 1947, J. von Neumann suggested to the author that it would be possible to run the ENIAC in a way very different from the way contemplated when it was designed,” reported Richard Clippinger, then thirty-five, in 1948. “Problems can probably be changed in an hour instead of a day by the old method where many cables had to be plugged in and out.”55

  “About a year or so ago Johnny made a truly remarkable set of observations and was responsible for a complete new method of programming,” Herman Goldstine elaborated in 1949. “Johnny’s scheme was to wire up what corresponds to the ENIAC’s plug-boards with a fixed set of instructions that is universal to all problems.” Individual instructions were assigned unique numbers—order codes—that were intelligible to “a switching center so built that upon the receipt of a given number, characterizing one of the orders wired into the plug-boards, it energizes the proper board and thereby causes the order to be executed.”

  A sequence of orders, constituting a program, could either be entered via the ENIAC’s function tables, or read from punched cards. “It is no longer necessary to stand on one’s head to fit a given routine,” Goldstine continued. “To prepare an individual problem the coder now merely writes out the sequence of operations, arithmetic and logical, which characterize his problem and then transliterates these into the numbers the machine will understand.”56

  “This new method is based on a vocabulary, i.e. a set of orders, which is conveyed to the machine on two levels; the ‘background coding’ and the ‘problem coding,’ ” Johnny and Klári explained, making a distinction that survives to this day as the difference between operating systems and applications. Some sixty different instructions constituted the vocabulary. “After a code had been written, the list of instructions could be set up on huge banks of ten-position switches,” adds Robert Richtmyer. “Each row of switches was assigned an address, a number from 1 to 300. Of the ENIAC’s twenty accumulators, devices for adding or storing a number, one was used as a control counter, to keep track of the address of the row of instructions being executed, one served as a central clearing house for numbers, similar to the accumulator register of the Princeton design; two others were reserved for special purposes, and the rest were available for general storage. The wiring never had to be changed again.”57

  Credit for transforming the ENIAC into a stored-program computer usually goes to von Neumann and Richard Clippinger, while Presper Eckert claims the capability was designed in from the beginning, and that “Clippinger later ‘rediscovered’ these uses of the function tables, without knowing that they had already been provided for.”58 Metropolis adds that even after the Clippinger reconfiguration, the capacity of the ENIAC was insufficient to handle the Monte Carlo codes, until he noticed a new one-input, hundred-output matrix panel being installed and pointed out that “if this could be used to interpret the instruction pairs in the proposed control mode, then it would release a sufficiently large portion of the available control units to realize the new mode—perhaps.”59

  “With the help of Klári von Neumann,” says Metropolis, “plans were revised and completed and we undertook to implement them on the ENIAC, and our set of problems—the first Monte Carlos—were run in the new mode.”60 Metropolis and Klári arrived in Aberdeen on March 22, 1948, to begin reconfiguring the machine. “At that time, the people who knew how to program were Johnny von Neumann, Nick Metropolis, and Klári,” says Harris Mayer. “We made three teams, so we could run the machine around the clock. There was Foster and Cerda Evans, a husband and wife team, Rosalie and me, another husband and wife team, and then there was Klári herself and Marshall Rosenbluth, who was a bachelor. Nick Metropolis and Klári taught us how to program the machine. And then we went up to Aberdeen.” Working inside the ENIAC, surrounded by its registers, accumulators, and function tables, made the new art of programming easy to comprehend. “On the ENIAC there was this great big checkerboard on the wall with decade switches,” Mayer explains. “You could see the numbers, and Johnny could see that numbers are numbers, whether data or orders. His insight was how the machine with fixed programming could be changed.”61

  “Things are kind of upside down,” Klári reported to the Ulams on the next-to-last day before the calculation was to begin. “Evans family arrived Thursday night (love and kisses from Foster who is bartending at this moment) the Mayer’s arriving tonight, Marshall Rosenbluth (an unexpected addition) coming tomorrow for final verifying, Sunday late breakfast, meeting, etc, and the expedition starts at 6 pm to Aberdeen. Please pray for me and hope for the best.” The computation took six weeks. “I heard from Nick on the telephone that the miracle for the ENIAC really took place,” Ulam wrote to von Neumann on May 12, “and that 25,000 cards were produced!!”62

  “Klári is very run-down after the siege in Aberdeen, lost 15 lbs., and has now a general physical check-up made at the Princeton Hospital,” von Neumann reported when she returned home. “It took 32 days (including Sundays) to put the new control system on the ENIAC, check it and the problems code, and [get] the ENIAC into shape.… Then the ENIAC ran for 10 days. It was producing 50% of these 10 × 16 hours [and] could have probably continued on this basis as long as we wished.… It did 16 cycles (‘censuses,’ 100 input cards each) on 7 problems. All interesting ones are stationary at the end of this period … and the method is clearly a 100% success.”63

  A small group including Klári, Adele Goldstine, and Nick Metropolis began to code additional problems, both for the ENIAC and for the machine that had yet to be built. “It was fun to work on problems in those early days,” Klári remembers, “because if the majority of us who were preparing problems to put on the yet unready machine, if we really ganged up on the engineers and told them that some new trick would be very useful, they would add it to the machine ‘vocabulary’ and in most cases, make it work.”

  “Your code was described and was impressive,” von Neumann wrote to Klári from Los Alamos, discussing whether a routine she had developed should be coded as software or hardwired into the machine. “They claim now, however, that making one more, ‘fixed,’ function table is so little work, that they want to do it. It was decided that they will build one, with the order soldered in.”64

  Instead of tabulating the statistics of human populations, Klári was tabulating the statistics of populations of neutrons, as they underwent scattering (equivalent to travel), fission (equivalent to reproduction), escape (equivalent to emigration), or absorption (equivalent to death). By following enough generations, it was possible to determine whether a given configuration would go critical or not. Klári could hardly have better prepared herself for bomb design than by her apprenticeship at the Office of Population Research.

  An undated manuscript, in von Neumann’s hand, with appended notes to (and from) Klári, describes the “Actual Running of the Monte Carlo Problems” on the ENIAC. “In order to start the computation, an IBM card, representing one neutron, was read into the Constant Transmitter,” the account begins. The fate of any given neutron could either be scattering, absorption, escape, fission, or census. Data on the card, used to determine its fate, included the zone in the spherical assembly where the event occurred, the time the event occurred, the velocity of the particle at the time of the event’s occurring, the polar angle of the neutron’s path, the distance from the center of the sphere at the time of the event, and the number of neutrons the particular card under consideration represented. There were also three additional numbers, “to trace the genealogy of any neutron in the sample population,” specifying the fission generation, the “parent” neutron, and the origin
al, or initial, card from which the present card originated.

  “To start either one of the problems one hundred cards were read, each representing the neutron originated by fission … starting at the center of the assembly at zero time,” the report explains. “These neutrons then in turn produced other neutron cards, indicating the event that happened on their parts or that the census time has been reached. Total escape and absorption cards were then sorted out and removed from the stack since their path did not have to be followed any longer. Fission cards, representing neutrons which produced two or three new neutrons and [whose] time was still within census time, were then put back into the reader until each newly printed card was either a Total Escape, Absorption, or Census card indicating that all neutrons that survived have reached the end of the census time interval.”65

  At the end of the census time interval, T was incremented, and a new cycle was started, using as input the output of the previous cycle. Never had any series of events been examined in such detail. “A ‘complete’ calculation (up to, say, 10 shakes evolution),” Johnny estimated to Edward Teller, would take six to eight weeks.66 There are a hundred million shakes in a single second, and there are about five million seconds in eight weeks. Even at the speed of the ENIAC, time was being slowed down fifty trillion times.

  To determine the feasibility of a hydrogen bomb, it was necessary to have a detailed picture of what happens when the fission bomb used to trigger it explodes. So far, the three main contributions to the behavior of a nuclear explosion—neutron multiplication, radiation transport, and hydrodynamics—had all been treated separately, but as von Neumann himself had suggested, and Robert Richtmyer now followed up on, they needed to be treated as related phenomena, at the same time.

  “In September of 1947 I proposed to Johnny von Neumann a rather grandiose plan for computer-simulation of the explosion of a fission bomb,” Richtmyer explains. “Von Neumann liked the idea, so I moved to Princeton to work it out, joined by Adele Goldstine and Klári von Neumann, who shared my office with me.” The project took three years. “I had a habit of writing on the upper right corner of the blackboard cryptic notes to myself about things I had to do,” says Richtmyer. “On one occasion, I was away for about ten days, and when I returned, there was an additional note on the blackboard in imitation of my handwriting; it said ‘fresh water for hippo.’ In consequence, ‘Hippo’ became the code name for the project we were working on.”67

  Hippo was run on IBM’s Selective Sequence Electronic Calculator (SSEC), completed in 1948 and housed in a windowed showroom at their world headquarters on Fifty-seventh Street and Fifth Avenue in New York. The SSEC, which Johnny described to Klári as somewhere “between the ENIAC and the ‘non existing’ machines,”68 stored some twenty thousand twenty-digit numbers on eighty-track paper tape, accessed by three punching units and sixty-six reading heads. “The programming took nearly a year,” says Richtmyer. “Then, we took over the SSEC 24 hours a day, 7 days a week. In several months, we had made three or four complete bomb calculations.”69 The SSEC, incorporating forty thousand relays and with a one-second access time to its paper tape memory, was immediately obsolete, but the Hippo code continued to be used by Los Alamos for many years.

  Those who worked on these early weapons calculations, running for weeks at a time, had to monitor how the calculations were progressing, interpreting the physics as well as the arithmetic, and making adjustments along the way. “Since returning from Chicago I have looked a little more closely at both the available space on the numerical function table and also, with the help of Johnny, I have set-up a flow diagram for Maria’s scheme of trying the tamper,” Klári wrote to Harris Mayer in April 1949. “On one hand, it seems that if we have all our problems with one zone outside the tamper we have plenty of space on the numerical function table to put on, if you decide so, the reflection matrix. I only mention these facts so that you should feel free, when you choose a method, to consider using the matrix, if you should think that it might be better suited for the problems.”70 The view that early coders, such as Klári, were “doing the arithmetic” without any understanding of the physics is wrong.

  With the success of Monte Carlo came a sudden demand for a reliable supply of random numbers; there was a shortage of them. Pseudo-random numbers could be generated within a computer as needed, but as von Neumann warned, “any one who considers arithmetical methods of producing random digits is, of course, in a state of sin.”71 The U.S. Air Force’s Project RAND (progenitor of the RAND Corporation), for whom von Neumann was consulting in Santa Monica, took it upon themselves, in April 1947, to build an electronic roulette wheel and compile a list of one million random numbers, available first as punched cards and later expanded and published as a book. “Because of the very nature of the tables, it did not seem necessary to proofread every page of the final manuscript in order to catch random errors,” the editors explained.72

  Between June 29 and July 1, 1949, a conference on the Monte Carlo method—sponsored by the RAND Corporation, Oak Ridge National Laboratory, and the National Bureau of Standards’ Institute for Numerical Analysis—was held at UCLA. “The gist of the matter is,” Klári wrote to Stan Ulam, “that, since I have been working with it for quite a while now, I would very much like to go.”73 Although urged to participate in the meeting, Klári did not attend. She spent the last part of May and most of June running a large calculation on the ENIAC in Aberdeen and, despite Johnny’s pleas to leave its completion to others, wouldn’t let go until it was finished, retreating to Princeton in exhaustion without making the Los Angeles trip.

  “I have finally returned to Princeton,” she reported to Carson Mark at Los Alamos on June 28. “We finished our work Friday afternoon after having run six censuses on problem 2. They all came out super-critical, with a continuous trend toward criticality.… The IBM cards, which are packed in ten large boxes, and the listing of all the problems (two small boxes), are being mailed from Aberdeen, as far as I know by railway express C.O.D. I brought with me to Princeton all secret documents which we had with us in Aberdeen.”74

  For sixty years, Monte Carlo has been applied to an ever-expanding range of problems, in fields from physics to biology to finance. The ability not only to follow but to create branching, evolving processes gives the code almost uncanny powers. “In a Monte Carlo problem the experimenter has complete control of his sampling procedure,” explained RAND mathematician and thermonuclear strategist Herman Kahn in 1954. “If for example he wanted a green-eyed pig with curly hair and six toes and this event had a non zero probability, then the Monte Carlo experimenter, unlike the agriculturalist, could immediately produce the animal.”75 Biological evolution is, in essence, a Monte Carlo search of the fitness landscape, and whatever the next stage in the evolution of evolution turns out to be, computer-assisted Monte Carlo will get there first.

  Monte Carlo is able to discover practical solutions to otherwise intractable problems because the most efficient search of an unmapped territory takes the form of a random walk. Today’s search engines, long descended from their ENIAC-era ancestors, still bear the imprint of their Monte Carlo origins: random search paths being accounted for, statistically, to accumulate increasingly accurate results. The genius of Monte Carlo—and its search-engine descendants—lies in the ability to extract meaningful solutions, in the face of overwhelming information, by recognizing that meaning resides less in the data at the end points and more in the intervening paths.

  ELEVEN

  Ulam’s Demons

  The factor 4 is a gift of God (or of the other party).

  —John von Neumann to Edward Teller, 1946

  “ONCE IN MY LIFE I had a mathematical dream which proved correct,” remembers Stanislaw Ulam, born in Lwów, Poland, then part of the Austro-Hungarian Empire, in 1909. “I was twenty years old. I thought, my God, this is wonderful, I won’t have to work, it will all come in dreams. But it never happened again.”1

  Joseph Ulam, Stanis
law Ulam’s father, was a wealthy Jewish lawyer who served as an officer in the Austrian Army during World War I. Ulam’s mother, Anna Auerbach, was the daughter of an industrialist who dealt in steel. Stan was drawn to mathematics from the start. “When I was four,” he writes, “I remember jumping around on an oriental rug looking down at its intricate patterns. I remember my father’s towering figure standing beside me, and I noticed that he smiled. I felt, ‘He smiles because he thinks I am childish, but I know these are curious patterns.’ ” At age ten, Ulam was signing his school notebooks “Stan Ulam, astronomer, physicist and mathematician.” He remembers that “an uncle gave me a little telescope for my birthday when I was eleven or twelve.”2 He graduated from high school in 1927, and from the Lwów Polytechnic Institute, with a master’s and a doctorate in mathematics, in 1933.

  Between World War I and World War II, Lwów enjoyed an interlude parallel to Budapest’s. “In Lwów,” says Françoise Ulam, who was born in Paris in 1918 and came to America as an exchange student in August 1938, “the members of the Polish mathematical society had done most of their work in cafés at all hours of day or night.… Los Alamos, in a sort of ad hoc way, provided him, if not with the culture of the Slavic Old World of his youth, at least with a leisurely pace of his own.”3

  Ulam produced his best work without appearing to be working.

  “He was a real singularity in many ways,” says Bruno Augenstein, a RAND analyst and architect of the U.S. thermonuclear missile program whose path intersected periodically with Ulam’s during the cold war years. “He was simultaneously one of the smartest people that I’ve ever met and one of the laziest—an interesting combination.” Françoise Ulam disagrees: “With his aristocratic nonchalance he gave the appearance of being lazy, but in reality he pushed himself mentally, all the time.” Claire Ulam, age nine in 1953, was once overheard telling a friend that “all my father does is think, think, think!”4

 

‹ Prev