Read Alan Turing: The Enigma Online
Authors: Andrew Hodges
Tags: #Biography & Autobiography, #Science & Technology, #Computers, #History, #Mathematics, #History & Philosophy
Although he had shifted the emphasis from the building of a machine, to the construction of programs, there was nothing nebulous about his engineering plans for the ACE. The delay lines, he wrote,
have been developed for RDF purposes to a degree considerably beyond our requirements in many respects. Designs are available to us, and one such is well suited to mass production. An estimate of
£20
per delay line would seem quite high enough.
He did in fact make a visit to the Admiralty Signals Establishment to see T. Gold, who was working there on delay lines. His plan was for two hundred mercury delay lines, each with a capacity of 1024 digits. But the figures, dimensions, costs, and the choice of mercury as the medium, were not taken off the radar engineers’ shelf. He worked out the physics himself. On the basis of his calculation, mercury was only marginally to be preferred to a mixture of water and alcohol, which he observed would have the same strength as gin. He rather hankered after using gin, which would come cheaper than mercury. However, he did not propose doing the development work himself. He wanted this to be done by the Colossus engineers, at the Post Office Research Station. Flowers was already familiar with delay lines, having been shown Eckert’s model in October 1945.
As for the engineering of the logical control and arithmetical circuits (‘LC and CA’), he wrote:
Work on valve element design might occupy four months or more. In view of the fact that some more work needs to be done on schematic circuits such a delay will be tolerable, but it would be as well to start at the earliest possible moment. …
In view of the comparatively small number of valves involved the actual production of LC and CA would not take long; six months would be a generous estimate.
A great many of the ‘schematic circuits’ were already planned out in the report. He included a detailed design of the arithmetical circuits, making use of (and extending) von Neumann’s notation. Perhaps he had the pleasure of drawing upon his experience in designing a binary multiplier before the war. There was also another feature of the design which might well have harked back to an earlier experience. There was to be a facility for plugging in special circuits, if these were required, for operations over and
above the arithmetical and Boolean functions that were permanently incorporated in the machine. This idea was rather at variance with the principle of putting as much as possible into the instructions, but it might be appropriate if some exceedingly efficient special-purpose circuit were at hand. This had been the case, for instance, with the Bombes. Here the steps which depended upon relay clicks were slow by electronic standards. But the steps which depended upon electricity flowing through the internal Enigma wirings were effectively instantaneous. These would have taken longer to achieve by means of an instruction table played out on an electronic computer. Alan’s design allowed for such short-cuts to be taken, if desired. But no one could possibly have guessed that he was writing on the basis of such experience with mechanical methods.
Nor was it planned out only at the logical level of circuit diagrams. There were many pages also on the specific electronic equipment required. One section owed a direct debt to the Delilah, another unknown aspect of his expertise:
Unit delay
. The essential part of the unit delay is a network, designed to work out of a low impedance and into a high one. The response at the output to a pulse at the input should preferably be of the form indicated in Fig. 50,
*
i.e. there should be maximum response at time 1 μβ after the initiating pulse, and the response should be zero by a time 2μs after it, and should remain there. It is particularly important that the response should be near to zero at the integral multiples of 1 μs after the initiating pulse (other than 1 μs after it).
A simple circuit to obtain this effect is shown on Fig. 51a. …It differs from the ideal mainly in having its maximum too early. It can be improved at the expense of a less good zero at 2 μs by using less damping, i.e. reducing the 500 ohm resistor. It is also possible to obtain altogether better curves with more elaborate circuits.
He also considered the practical requirements of the project as a whole:
It is difficult to make suggestions about buildings owing to the great likelihood of the whole scheme expanding greatly in scope. There have been many possibilities that could helpfully have been incorporated, but which have been omitted owing to the necessity of drawing a line somewhere. In a few years time however, when the machine has proved its worth, we shall certainly want to expand and include these other facilities, or more probably to include better ideas which will have been suggested in the working of the first model. This suggests that whatever size of building is decided on we should leave room for building-on to it.
He had learnt from the mushrooming of Bletchley. He proposed a total of 1400 square feet for the machine and its accessory equipment, and estimated the total capital cost of a machine with two hundred delay lines at £11,200. Changes would have to be made as they went along, but his plans allowed for that: the main thing was to get started.
His February 1947 talk would expand on how the machine would ‘prove its worth’, by giving
a picture of the operation of the machine. Let us begin with some problem which has been brought in by a customer. It will first go to the problems preparation section where it is examined to see whether it is in a suitable form and self-consistent, and a very rough computing procedure made out.
He gave a specific example of a problem,
namely the numerical solution of a differential equation involving Bessel functions. (This would be a very typical problem arising in applied mathematics and engineering.) He explained how the instruction table for the Bessel function would be already ‘on the shelf’, and so would one for the general procedure for solving a differential equation. So
The instructions for the job would therefore consist of a considerable number taken off the shelf together with a few made up specially for the job in question. The instruction cards for the standard processes would have already been punched, but the new ones would have to be done separately. When these had all been assembled and checked they would be taken to the input mechanism, which is simply a Hollerith card feed. They would be put into the card hopper and a button pressed to start the cards moving through. It must be remembered that initially there are no instructions in the machine, and one’s normal facilities are therefore not available. The first few cards that pass in have therefore to be carefully thought out to deal with this situation. They are the initial input cards and are always the same. When they have passed in a few rather fundamental instruction tables will have been set up in the machine, including sufficient to enable the machine to read the special pack of cards that has been prepared for the job we are doing. When this has been done there are various possibilities as to what happens next, depending on the way the job has been programmed. The machine might have been made to go straight on through, and carry out the job, punching or printing all the answers required, and stopping when all of this has been done. But more probably it will have been arranged that the machine stops as soon as the instruction tables have been put in. This allows for the possibility of checking that the content of the memories is correct, and for a number of variations of procedure. It is clearly a suitable moment for a break. We might also make a number of other breaks. For instance, we might be interested in certain particular values of the parameter a, which were experimentally obtained figures, and it would then be convenient to pause after each parameter value, and feed the next parameter value in from another card. Or one might prefer to have the cards all ready in the hopper and let the ace take them in as it wanted them. One can do as one wishes, but one must make up one’s mind.
These proposals were eminently practical, and indeed prophetic, foreseeing the need for flexible interaction between operator and machine. But of course he had already seen the future, in the use of the Colossus. Another passage brought in the possibility of using remote terminals:
…the ace will do the
work of about 10,000 [human] computers. It is to be expected therefore that large scale hand-computing will die out. [Human] computers will still be employed on small calculations, such as the substitution of values in formulae, but whenever a single calculation may be expected to take a [human] computer days of work, it will presumably be done by an electronic computer instead. This will not necessitate everyone interested in such work having an electronic computer. It would be quite possible to arrange to control a distant computer by means of a telephone line. Special input and output machinery would be developed for use at these out-stations, and would cost a few hundred pounds at most.
He also perceived the demand for computer programmers:
The main bulk of the work done by these computers will however consist of problems which could not have been tackled by hand computing because of the scale of the undertaking. In order to supply the machine with these problems we shall need a great number of mathematicians of ability. These mathematicians will be needed in order to do the preliminary research on the problems, putting them into a form for computation. …
And indeed he could foresee a new field of industry and employment:
It will be seen that the possibilities as to what one may do are immense. One of our difficulties will be the maintenance of an appropriate discipline, so that we do not lose track of what we are doing. We shall need a number of efficient librarian types to keep us in order.
Twenty years ahead of his time, in his conception of the organisation of a computer installation, he had drawn his picture from his experience at Bletchley. There they had likewise employed ten thousand human operators, and had worked as a
system
, involving remote out-stations, telephone communications, an élite who transformed the problems into programs, and plenty of ‘librarian types’. But he could never say anything directly about it, and no one could picture what had never officially existed, so his analysis came as news from nowhere.
The ACE report was also the first account of the
uses
to which a universal computer could be put. The ACE was to solve ‘those problems which can be solved by human clerical labour, working to fixed rules, and without understanding’, restricted by the size of the machine to cases where ‘the amount of written material which need be kept at any one stage is limited to …50 sheets of paper’ and where ‘the instructions to the operator’ could be described in ‘ordinary language within the space of an ordinary novel’. It would be able to do so in one hundred thousandth of the time taken by ‘the human operator, doing his arithmetic without mechanical aid.’
The implication was that the ACE could have taken over all the routine mental work of the British war effort. Here he made what was for him an unusually good ‘political’ point: in a list of possible applications, ‘Construction of range tables’ came
first. This was the job for which the ENIAC had been specifically designed. There followed four further examples of calculations of practical importance, which currently required months or years of work on desk machines. But another four were non-numerical, reflecting his much wider view of the nature of the computer, and indeed being much closer to his experience.
The first would have the computer interpreting a special language for describing electrical problems:
Given a complicated electrical circuit and the characteristics of its components, the response to given input signals could be calculated. A standard code for the description of the components could easily be devised for this purpose, and also a code for describing connections.
It would mean the automatic solution of circuit problems such as he had spent weeks over at Hanslope. The second was a more mundane example of the world’s work:
To count the number of butchers due to be demobilised in June 1946 from cards prepared from the army records.
The machine, he wrote, ‘would be quite capable of doing this, but it would not be a suitable job for it. The speed at which it could be done would be limited by the rate at which cards can be read, and the high speed and other valuable characteristics of the calculator would never be brought into play. Such a job can and should be done with standard Hollerith equipment.’ The third non-numerical problem
*
was described thus:
A jig-saw puzzle is made up by cutting up a halma-board into pieces each – consisting of a number of whole squares. The calculator could be made to find a solution of the jig-saw, and, if they were not too numerous, to list all solutions.
This was the nearest he came to a mention of cryptanalysis, although it was latent in a number of his ideas, such as including the logical operations of AND and OR from the start, and regarding them as on an equal footing with arithmetical operations. Alan wrote that this particular problem was ‘of no great importance, but it is typical of a very large class of non-numerical problems that can be treated by the calculator. Some of these have great military importance, and others are of immense interest to mathematicians.’ But at the end came the suggestion that he was most interested in himself, although he could hardly expect it to motivate the government:
Given a position in chess the machine could be made to list all the ‘winning combinations’ to a depth of about three moves on either side. This is not unlike the previous problem, but raises the question, ‘Can the machine play chess?’ It could fairly easily be made to play a rather bad game. It would be bad because
chess requires intelligence. We stated at the beginning of this section that the machine should be treated as entirely without intelligence. There are indications however that it is possible to make the machine display intelligence at the risk of its making occasional serious mistakes. By following up this aspect the machine could probably be made to play very good chess.