Charles Babbage.

Passages from the Life of a Philosopher online

. (page 9 of 36)
Online LibraryCharles BabbagePassages from the Life of a Philosopher → online text (page 9 of 36)
Font size
QR-code for this ebook


about carrying the Tens — Unexpectedly solved — Application of the
Jacquard Principle — Treatment of Tables — Probable Time required for
Arithmetical Operations — Conditions it must fulfil — Unlimited in
Number of Figures, or in extent of Analytical Operations — The Author
invited to Turin in 1840 — Meetings for Discussion — Plana, Menabrea,
MacCullagh, Mosotti — Difficulty proposed by the latter — Observations
on the Errata of Astronomical Tables — Suggestions for a Reform of
Analytical Signs.

The circular arrangement of the axes of the Difference Engine round
large central wheels led to the most extended prospects. The whole of
arithmetic now appeared within the grasp of mechanism. A vague glimpse
even of an Analytical Engine at length opened out, and I pursued with
enthusiasm the shadowy vision. The drawings and the experiments were
of the most costly kind. Draftsmen of the highest order were necessary
to economize the labour of my own head; whilst skilled workmen were
required to execute the experimental machinery to which I was obliged
constantly to have recourse.

In order to carry out my pursuits successfully, I had purchased a
house with above a quarter of an acre of ground in a {113} very
quiet locality. My coach-house was now converted into a forge and a
foundry, whilst my stables were transformed into a workshop. I built
other extensive workshops myself, and had a fire-proof building for my
drawings and draftsmen. Having myself worked with a variety of tools,
and having studied the art of constructing each of them, I at length
laid it down as a principle—that, except in rare cases, I would never
do anything myself if I could afford to hire another person who could
do it for me.

〈THE MECHANICAL NOTATION.〉

The complicated relations which then arose amongst the various parts of
the machinery would have baffled the most tenacious memory. I overcame
that difficulty by improving and extending a language of signs, the
Mechanical Notation, which in 1826 I had explained in a paper printed
in the “Phil. Trans.” By such means I succeeded in mastering trains of
investigation so vast in extent that no length of years ever allotted
to one individual could otherwise have enabled me to control. By the
aid of the Mechanical Notation, the Analytical Engine became a reality:
for it became susceptible of demonstration.

Such works could not be carried on without great expenditure.
The fluctuations in the demand and supply of skilled labour were
considerable. The railroad mania withdrew from other pursuits the most
intellectual and skilful draftsmen. One who had for some years been
my chief assistant was tempted by an offer so advantageous that in
justice to his own family he could scarcely have declined it. Under
these circumstances I took into consideration the plan of advancing
his salary to one guinea per day. Whilst this was in abeyance, I
consulted my venerable surviving parent. When I had fully explained the
circumstances, my excellent mother replied: “My dear son, you have
advanced {114} far in the accomplishment of a great object, which is
worthy of your ambition. You are capable of completing it. My advice
is—pursue it, even if it should oblige you to live on bread and cheese.”

This advice entirely accorded with my own feelings. I therefore
retained my chief assistant at his advanced salary.

〈CARRYING THE TENS BY ANTICIPATION.〉

The most important part of the Analytical Engine was undoubtedly
the mechanical method of carrying the tens. On this I laboured
incessantly, each succeeding improvement advancing me a step or two.
The difficulty did not consist so much in the more or less complexity
of the contrivance as in the reduction of the _time_ required to effect
the carriage. Twenty or thirty different plans and modifications had
been drawn. At last I came to the conclusion that I had exhausted the
principle of successive carriage. I concluded also that nothing but
teaching the Engine to foresee and then to act upon that foresight
could ever lead me to the object I desired, namely, to make the whole
of any unlimited number of carriages in one unit of time. One morning,
after I had spent many hours in the drawing-office in endeavouring to
improve the system of successive carriages, I mentioned these views
to my chief assistant, and added that I should retire to my library,
and endeavour to work out the new principle. He gently expressed a
doubt whether the plan was _possible_, to which I replied that, not
being able to prove its impossibility, I should follow out a slight
glimmering of light which I thought I perceived.

After about three hours’ examination, I returned to the drawing-office
with much more definite ideas upon the subject. I had discovered a
principle that proved the possibility, and I had contrived mechanism
which, I thought, would accomplish my object. {115}

I now commenced the explanation of my views, which I soon found were
but little understood by my assistant; nor was this surprising, since
in the course of my own attempt at explanation, I found several defects
in my plan, and was also led by his questions to perceive others. All
these I removed one after another, and ultimately terminated at a late
hour my morning’s work with the conviction that _anticipating_ carriage
was not only within my power, but that I had devised one mechanism at
least by which it might be accomplished.

Many years after, my assistant, on his return from a long residence
abroad, called upon me, and we talked over the progress of the
Analytical Engine. I referred back to the day on which I had made that
most important step, and asked him if he recollected it. His reply was
that he perfectly remembered the circumstance; for that on retiring to
my library, he seriously thought that my intellect was beginning to
become deranged. The reader may perhaps be curious to know how I spent
the rest of that remarkable day.

After working, as I constantly did, for ten or eleven hours a day,
I had arrived at this satisfactory conclusion, and was revising the
rough sketches of the new contrivance, when my servant entered the
drawing-office, and announced that it was seven o’clock—that I dined in
Park Lane—and that it was time to dress. I usually arrived at the house
of my friend about a quarter of an hour before the appointed time, in
order that we might have a short conversation on subjects on which
we were both much interested. Having mentioned my recent success, in
which my host thoroughly sympathized, I remarked that it had produced
an exhilaration of the spirits which not even his excellent champagne
could rival. Having enjoyed the society of Hallam, of Rogers, and of
some few {116} others of that delightful circle, I retired, and joined
one or perhaps two much more extensive reunions. Having thus forgotten
science, and enjoyed society for four or five hours, I returned home.
About one o’clock I was asleep in my bed, and thus continued for the
next five hours.

* * * * *

This new and rapid system of carrying the tens when two numbers are
added together, reduced the actual time of the addition of any number
of digits, however large, to nine units of time for the addition,
and one unit for the carriage. Thus in ten’s units of time, any two
numbers, however large, might be added together. A few more units of
time, perhaps five or six, were required for making the requisite
previous arrangements.

Having thus advanced as nearly as seemed possible to the minimum of
time requisite for arithmetical operations, I felt renewed power and
increased energy to pursue the far higher object I had in view.

To describe the successive improvements of the Analytical Engine would
require many volumes. I only propose here to indicate a few of its
more important functions, and to give to those whose minds are duly
prepared for it some information which will remove those vague notions
of wonder, and even of its impossibility, with which it is surrounded
in the minds of some of the most enlightened.

〈JACQUARD LOOM.〉

To those who are acquainted with the principles of the Jacquard loom,
and who are also familiar with analytical formulæ, a general idea of
the means by which the Engine executes its operations may be obtained
without much difficulty. In the Exhibition of 1862 there were many
splendid examples of such looms.

It is known as a fact that the Jacquard loom is capable of {117}
weaving any design which the imagination of man may conceive. It
is also the constant practice for skilled artists to be employed by
manufacturers in designing patterns. These patterns are then sent to
a peculiar artist, who, by means of a certain machine, punches holes
in a set of pasteboard cards in such a manner that when those cards
are placed in a Jacquard loom, it will then weave upon its produce the
exact pattern designed by the artist.

〈WEAVING FORMULÆ.〉

Now the manufacturer may use, for the warp and weft of his work,
threads which are all of the same colour; let us suppose them to be
unbleached or white threads. In this case the cloth will be woven all
of one colour; but there will be a damask pattern upon it such as the
artist designed.

But the manufacturer might use the same cards, and put into the warp
threads of any other colour. Every thread might even be of a different
colour, or of a different shade of colour; but in all these cases the
_form_ of the pattern will be precisely the same—the colours only will
differ.

The analogy of the Analytical Engine with this well-known process is
nearly perfect.

The Analytical Engine consists of two parts:—

1st. The store in which all the variables to be operated upon, as well
as all those quantities which have arisen from the result of other
operations, are placed.

2nd. The mill into which the quantities about to be operated upon are
always brought.

Every formula which the Analytical Engine can be required to compute
consists of certain algebraical operations to be performed upon given
letters, and of certain other modifications depending on the numerical
value assigned to those letters.

There are therefore two sets of cards, the first to direct the {118}
nature of the operations to be performed—these are called operation
cards: the other to direct the particular variables on which those
cards are required to operate—these latter are called variable cards.
Now the symbol of each variable or constant, is placed at the top of a
column capable of containing any required number of digits.

Under this arrangement, when any formula is required to be computed,
a set of operation cards must be strung together, which contain the
series of operations in the order in which they occur. Another set
of cards must then be strung together, to call in the variables into
the mill, the order in which they are required to be acted upon. Each
operation card will require three other cards, two to represent the
variables and constants and their numerical values upon which the
previous operation card is to act, and one to indicate the variable on
which the arithmetical result of this operation is to be placed.

But each variable has below it, on the same axis, a certain number of
figure-wheels marked on their edges with the ten digits: upon these
any number the machine is capable of holding can be placed. Whenever
variables are ordered into the mill, these figures will be brought in,
and the operation indicated by the preceding card will be performed
upon them. The result of this operation will then be replaced in the
store.

〈LAW OF DEVELOPMENT.〉

The Analytical Engine is therefore a machine of the most general
nature. Whatever formula it is required to develop, the law of its
development must be communicated to it by two sets of cards. When these
have been placed, the engine is special for that particular formula.
The numerical value of its constants must then be put on the columns
of wheels below them, and on setting the Engine in motion it will
calculate and print the numerical results of that formula. {119}

Every set of cards made for any formula will at any future time
recalculate that formula with whatever constants may be required.

Thus the Analytical Engine will possess a library of its own. Every set
of cards once made will at any future time reproduce the calculations
for which it was first arranged. The numerical value of its constants
may then be inserted.

It is perhaps difficult to apprehend these descriptions without a
familiarity both with analytical forms and mechanical structures. I
will now, therefore, confine myself to the mathematical view of the
Analytical Engine, and illustrate by example some of its supposed
difficulties.

An excellent friend of mine, the late Professor MacCullagh, of
Dublin, was discussing with me, at breakfast, the various powers of
the Analytical Engine. After a long conversation on the subject, he
inquired what the machine could do if, in the midst of algebraic
operations, it was required to perform logarithmic or trigonometric
operations.

〈ITS USE OF TABLES.〉

My answer was, that whenever the Analytical Engine should exist, all
the developments of formula would be directed by this condition—that
the machine should be able to compute their numerical value in the
shortest possible time. I then added that if this answer were not
satisfactory, I had provided means by which, with equal accuracy, it
might compute by logarithmic or other Tables.

〈DISCOVERS A MISTAKE.〉

I explained that the Tables to be used must, of course, be computed and
punched on cards by the machine, in which case they would undoubtedly
be correct. I then added that when the machine wanted a tabular number,
say the logarithm of a given number, that it would ring a bell and
then stop itself. On this, the attendant would look at a certain part
of the machine, and find that it wanted the logarithm of a given
{120} number, say of 2303. The attendant would then go to the drawer
containing the pasteboard cards representing its table of logarithms.
From amongst these he would take the required logarithmic card, and
place it in the machine. Upon this the engine would first ascertain
whether the assistant had or had not given him the correct logarithm
of the number; if so, it would use it and continue its work. But if
the engine found the attendant had given him a wrong logarithm, it
would then ring a louder bell, and stop itself. On the attendant
again examining the engine, he would observe the words, “Wrong
tabular number,” and then discover that he really had given the wrong
logarithm, and of course he would have to replace it by the right one.

Upon this, Professor MacCullagh naturally asked why, if the machine
could tell whether the logarithm was the right one, it should have
asked the attendant at all? I told him that the means employed were so
ridiculously simple that I would not at that moment explain them; but
that if he would come again in the course of a few days, I should be
ready to explain it. Three or four days after, Bessel and Jacobi, who
had just arrived in England, were sitting with me, inquiring about the
Analytical Engine, when fortunately my friend MacCullagh was announced.
The meeting was equally agreeable to us all, and we continued our
conversation. After some time Bessel put to me the very same question
which MacCullagh had previously asked. On this Jacobi remarked that
he, too, was about to make the same inquiry when Bessel had asked the
question. I then explained to them the following very simple means by
which that verification was accomplished.

〈KNOWS WHAT IT WANTS.〉

Besides the sets of cards which direct the nature of the operations to
be performed, and the variables or constants {121} which are to be
operated upon, there is another class of cards called number cards.
These are much less general in their uses than the others, although
they are necessarily of much larger size.

Any number which the Analytical Engine is capable of using or of
producing can, if required, be expressed by a card with certain holes
in it; thus—

┌─────────────────────────────────────┐
│ NUMBER. TABLE. │
├─────────────────────────────────────┤
│ 2 3 0 3 3 6 2 2 9 3 9 │
├─────────────────────────────────────┤
│ • • ◊ • • • • • • • • │
│ • • ◊ • • • • • • • • │
│ ◊ • ◊ • • • ◊ ◊ • • • │
│ ◊ ◊ ◊ ◊ ◊ • ◊ ◊ • ◊ • │
│ ◊ ◊ ◊ ◊ ◊ • ◊ ◊ • ◊ • │
│ ◊ ◊ ◊ ◊ ◊ • ◊ ◊ • ◊ • │
│ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ • ◊ • │
│ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ • ◊ • │
│ ◊ ◊ ◊ ◊ ◊ ◊ ◊ ◊ • ◊ • │
└─────────────────────────────────────┘

The above card contains eleven vertical rows for holes, each row having
nine or any less number of holes. In this example the tabular number is
3 6 2 2 9 3 9, whilst its number in the order of the table is 2 3 0 3.
In fact, the former number is the logarithm of the latter.

The Analytical Engine will contain,

1st. Apparatus for printing on paper, one, or, if required, two copies
of its results.

2nd. Means for producing a stereotype mould of the tables or results
it computes.

3rd. Mechanism for punching on blank pasteboard cards or metal plates
the numerical results of any of its computations.

〈STOPS AND RINGS A BELL.〉

Of course the Engine will compute all the Tables which {122} it may
itself be required to use. These cards will therefore be entirely
free from error. Now when the Engine requires a tabular number, it
will stop, ring a bell, and ask for such number. In the case we have
assumed, it asks for the logarithm of 2 3 0 3.

When the attendant has placed a tabular card in the Engine, the first
step taken by it will be to verify the _number_ of the card given it
by subtracting its number from 2 3 0 3, the number whose logarithm it
asked for. If the remainder is zero, then the engine is certain that
the logarithm must be the right one, since it was computed and punched
by itself.

Thus the Analytical Engine first computes and punches on cards its
own tabular numbers. These are brought to it by its attendant when
demanded. But the engine itself takes care that the _right_ card is
brought to it by verifying the _number_ of that card by the number of
the card which it demanded. The Engine will always reject a wrong card
by continually ringing a loud bell and stopping itself until supplied
with the precise intellectual food it demands.

It will be an interesting question, which time only can solve, to know
whether such tables of cards will ever be required for the Engine.
Tables are used for saving the time of continually computing individual
numbers. But the computations to be made by the Engine are so rapid
that it seems most probable that it will make shorter work by computing
directly from proper formulæ than by having recourse even to its own
Tables.

The Analytical Engine I propose will have the power of expressing every
number it uses to fifty places of figures. It will multiply any two
such numbers together, and then, if required, will divide the product
of one hundred figures by number of fifty places of figures. {123}

〈ARITHMETICAL DIFFICULTIES.〉

Supposing the velocity of the moving parts of the Engine to be not
greater than forty feet per minute, I have no doubt that

Sixty additions or subtractions may be completed and printed in one
minute.

One multiplication of two numbers, each of fifty figures, in one
minute.

One division of a number having 100 places of figures by another of 50
in one minute.

In the various sets of drawings of the modifications of the mechanical
structure of the Analytical Engines, already numbering upwards of
thirty, two great principles were embodied to an unlimited extent.

1st. The entire control over _arithmetical_ operations, however large,
and whatever might be the number of their digits.

2nd. The entire control over the _combinations_ of algebraic symbols,
however lengthened those processes may be required. The possibility of
fulfilling these two conditions might reasonably be doubted by the most
accomplished mathematician as well as by the most ingenious mechanician.

The difficulties which naturally occur to those capable of examining
the question, as far as they relate to arithmetic, are these,—

(_a_). The number of digits in _each constant_ inserted in the Engine
must be without limit.

(_b_). The number of constants to be inserted in the Engine must also
be without limit.

(_c_). The number of operations necessary for arithmetic is only four,
but these four may be repeated an _unlimited_ number of times.

(_d_). These operations may occur in any order, or follow an
_unlimited_ number of laws. {124}

〈ALGEBRAICAL DIFFICULTIES.〉

The following conditions relate to the algebraic portion of the
Analytical Engine:—

(_e_). The number of _litteral_ constants must be _unlimited_.

(_f_). The number of _variables_ must be _without limit_.

(_g_). The combinations of the algebraic signs must _be unlimited_.

(_h_). The number of _functions_ to be employed must be _without
limit_.

This enumeration includes eight conditions, each of which is absolutely
_unlimited_ as to the number of its combinations.

Now it is obvious that no _finite_ machine can include infinity. It is
also certain that no question _necessarily_ involving infinity can ever
be converted into any other in which the idea of infinity under some
shape or other does not enter.

It is impossible to construct machinery occupying unlimited space; but
it is possible to construct finite machinery, and to use it through
unlimited time. It is this substitution of the _infinity of time_ for
the _infinity of space_ which I have made use of, to limit the size of
the engine and yet to retain its unlimited power.

(_a_). I shall now proceed briefly to point out the means by which I
have effected this change.

〈LARGER NUMBERS TREATED.〉

Since every calculating machine must be constructed for the calculation
of a definite number of figures, the first datum must be to fix upon
that number. In order to be somewhat in advance of the greatest
number that may ever be required, I chose fifty places of figures as
the standard for the Analytical Engine. The intention being that in
such a machine two numbers, each of fifty places of figures, might be
multiplied together and the resultant product of one hundred places
might then be divided by another number of fifty {125} places. It
seems to me probable that a long period must elapse before the demands
of science will exceed this limit. To this it may be added that the
addition and subtraction of numbers in an engine constructed for _n_
places of figures would be equally rapid whether _n_ were equal to five
or five thousand digits. With respect to multiplication and division,
the time required is greater:—

Thus if _a_ . 10^{50} + _b_ and _a′_ . 10^{50} + _b′_ are two numbers
each of less than a hundred places of figures, then each can be
expressed upon two columns of fifty figures, and _a_, _b_, _a′_, _b′_
are each less than fifty places of figures: they can therefore be added
and subtracted upon any column holding fifty places of figures.

The product of two such numbers is—

_a_ _a′_ 10^{100} + (_a_ _b′_ + _a′_ _b_) 10^{50} + _b_ _b′_.

This expression contains four pair of factors, _a_ _a′_, _a_ _b′_,
_a′_ _b_, _b_ _b′_, each factor of which has less than fifty places of
figures. Each multiplication can therefore be executed in the Engine.
The time, however, of multiplying two numbers, each consisting of any
number of digits between fifty and one hundred, will be nearly four
times as long as that of two such numbers of less than fifty places of



Online LibraryCharles BabbagePassages from the Life of a Philosopher → online text (page 9 of 36)