Re: Charles Babbage's "Analytical Engine"

From: Cliffe, Owen (
Date: Wed Feb 16 2000 - 05:17:02 GMT

Cliffe, Owen <>

It should be noted that Charles Babbage never actually created the
analytical engine and that the paper by MENEBREA is based upon initial
designs, ideas and sketches by Babbage originating in 1837. While the
machine's designs and capabilities expanded and were refined for
several years after the publication of MENEBREA's paper, the core
designs and concepts of the system remained largely unchanged.

> Those labours which belong to the various branches of the
> mathematical sciences, although on first consideration they seem to
> be the exclusive province of intellect, may, nevertheless, be
> divided into two distinct sections; one of which may be called the
> mechanical, because it is subjected to precise and invariable laws,
> that are capable of being expressed by means of the operations of
> matter; while the other, demanding the intervention of reasoning,
> belongs more specially to the domain of the understanding.

MENEBREA starts by saying that there are areas of mathematics that can
be automated and those that can't, this distinction is interesting
because in a sense I think it captures in some way the distinction
between intellect and automation, in that it implies that the process
of 'reasoning' cannot be automated (at least not sufficiently to do
proper math, by which I assume he is indicating proof and discovery).

MENEBREA goes on to give a description of the difference engine and the
potential of the analytical engine.

> But if human intervention were necessary for directing each of
> these partial operations, nothing would be gained under the heads
> of correctness and economy of time; the machine must therefore have
> the additional requisite of executing by itself all the successive
> operations required for the solution of a problem proposed to it,

Speaking of a binomial expansion MENEBREA is saying that the machine
must be capable of some degree of reasoning about the given problem,
albeit the application of some pre-defined rules (in this case knowing
which terms to multiply together)

> There are certain functions which necessarily change in nature when
> they pass through zero or infinity, or whose values cannot be
> admitted when they pass these limits. When such cases present
> themselves, the machine is able, by means of a bell, to give notice
> that the passage through zero or infinity is taking place,

The bell is such a cool idea and as with many other aspects of Babbages
work it preempts problems that are still present in computing systems
today (i.e. what to do when exceptional circumstances are experienced).
This also emphasizes the point that any similar machine composed of
mechanized digital parts will suffer from limits in representation. I
think that it is details like this that actually held back Babbages
work, which was quite rigorous.

> If this process has been foreseen, then the machine, instead of
> ringing, will so dispose itself as to present the new cards which
> have relation to the operation that is to succeed the passage
> through zero and infinity. These new cards may follow the first,
> but may only come into play contingently upon one or other of the
> two circumstances just mentioned taking place.

It is not specified in MENEBREA's paper how this continuation would be
denoted or dealt with in the engine, not does he deal with aspects of
control such as conditionals or logical operations, which would be
necessary for many analytical processes.

> To give an idea of this rapidity, we need only mention that Mr.
> Babbage believes he can, by his engine, form the product of two
> numbers, each containing twenty figures, in three minutes.

In Babbages autobiography (pub 1864) he estimates the times for
multiplying 2 50 digit numbers would take approximately 60 seconds, a
kind of mental Moor's law?

> Now, admitting that such an engine can be constructed, it may be
> inquired: what will be its utility? To recapitulate; it will
> afford the following advantages: - First, rigid accuracy. We know
> that numerical calculations are generally the stumbling-block to
> the solution of problems, since errors easily creep into them, and
> it is by no means always easy to detect these errors. Now the
> engine, by the very nature of its mode of acting, which requires no
> human intervention during the course of its operations, presents
> every species of security under the head of correctness: besides,
> it carries with it its own check; for at the end of every operation
> it prints off, not only the results, but likewise the numerical
> data of the question; so that it is easy to verify whether the
> question has been correctly proposed.

This is an interesting point, and is probably mostly valid for the
kinds of operations that MENEBREA had in mind, however if you initially
take the stance that the machine is infallible you put its inventor at
the risk of a lynch mob should it fail. It would perhaps be more
appropriate to take the stance that since the machines function is the
product of its inventor, its manufacture and it programming, all of
which are complicated scientific processes its accuracy and reliability
should be considered on a similar scale.

> Secondly, economy of time:...

This is a good point, but the machine can only crunch numbers so it is
still a slave to its programming, who's' specification in the case of
the Analytical Engine would have been a complex and no-doubt time
consuming process.

> Thirdly, economy of intelligence: a simple arithmetical computation
> requires to be performed by a person possessing some capacity;
> ... Now the engine, from its capability of performing by itself
> all these purely material operations, spares intellectual labour,
> which may be more profitably employed. Thus the engine may be
> considered as a real manufactory of figures, which will lend its
> aid to those many useful sciences and arts that depend on numbers.
> ....

Intellectual labour? This is certainly a bizzar concept, what I think
Menebrea is alluding to in the closing paragraph is some kind of
computing utopia where no calculation need ever be done twice, and much
of the tabulation and correlation (a.k.a. the boring stuff ) can be
done by machines.

> In studying the action of the Analytical Engine, we find that the
> peculiar and independent nature of the considerations which in all
> mathematical analysis belong to operations, as distinguished from
> the objects operated upon and from the results of the operations
> performed upon those objects, is very strikingly defined and
> separated.

AAL makes it clear that the distinction between data and program is
quite different, (in the realm of the Analytical Engine) is this a
valid long-term assumption? After all, are the representations of
operations not themselves also data?

> It may be desirable to explain, that by the word operation, we mean
> any process which alters the mutual relation of two or more things,
> be this relation of what kind it may. This is the most general
> definition, and would include all subjects in the universe. In
> abstract mathematics, of course operations alter those particular
> relations which are involved in the considerations of number and
> space, and the results of operations are those peculiar results
> which correspond to the nature of the subjects of operation. But
> the science of operations, as derived from mathematics more
> especially, is a science of itself, and has its own abstract truth
> and value;

I think AAL's digression into the science of general operations is a bit
too general, and does perhaps dither off somewhere into a philosophical
abyss. In terms of math, in all its generality a science of operations is
no better defined.

> ... It were much to be desired, that when mathematical processes
> pass through the human brain instead of through the medium of
> inanimate mechanism, it were equally a necessity of things that the
> reasonings connected with operations should hold the same just
> place as a clear and well-defined branch of the subject of
> analysis, a fundamental but yet independent ingredient in the
> science, which they must do in studying the engine. The confusion,
> the difficulties, the contradictions which, in consequence of a
> want of accurate distinctions in this particular, have up to even a
> recent period encumbered mathematics in all those branches
> involving the consideration of negative and impossible quantities,
> will at once occur to the reader who is at all versed in this
> science, and would alone suffice to justify dwelling somewhat on
> the point, in connection with any subject so peculiarly fitted to
> give forcible illustration of it as the Analytical Engine.

What I think AAL is trying to say here is that there is a degree of
abstraction between the meaning of objects and operations and their
actual meaning, or their meaning when translated into what people
understand. Taking imaginary and negative numbers as an example, it is
impossible to explain how you can have -1 things or for that matter
determine the square root of a negative number but in abstract math and
in the domain of an the Analytical Engine a negative number is just
what you get when you subtract a positive number from 0 and an
imaginary number is simply what you get when you apply the operation of
square root to a negative number. In a way this (our trouble with
(initially) dealing with the totally abstract) is simply highlighting
the fact that our understanding of processes is constrained by the
language we use to describe them. Initially we have no linguistic
toolkit for dealing with negative numbers in the way we do with
positive numbers (i.e. it is simple to imagine 1 car, 2 fish etc. but
hard to image -1 cars), these concepts must be added and expressed in
terms of mental operations (the expression of negativity as what
happens when you subtract from zero).

> ... Again, [the machine] might act upon other things besides
> number, were objects found whose mutual fundamental relations could
> be expressed by those of the abstract science of operations, and
> which should be also susceptible of adaptations to the action of
> the operating notation and mechanism of the engine. Supposing, for
> instance, that the fundamental relations of pitched sounds in the
> science of harmony and of musical composition were susceptible of
> such expression and adaptations, the engine might compose elaborate
> and scientific pieces of music of any degree of complexity or
> extent.

This makes some interesting suppositions about composition, but does make
the point that this machine can do pretty much anything where there is a
firm base of operational relations that can be processed.
This does not deal with how the machine would represent such objects, but
a simple coding could be applied to most situations (as with say ASCII to

> Those who view mathematical science, not merely as a vast body of
> abstract and immutable truths, whose intrinsic beauty, symmetry and
> logical completeness, when regarded in their connexion together as
> a whole, entitle them to a prominent place in the interest of all
> profound and logical minds, but as possessing a yet deeper interest
> for the human race, when it is remembered that this science
> constitutes the language through which alone we can adequately
> express the great facts of the natural world, and those unceasing
> changes of mutual relationship which, visibly or invisibly,
> consciously or unconsciously to our immediate physical perceptions,
> are interminably going on in the agencies of the creation we live
> amidst: those who thus think on mathematical truth as the
> instrument through which the weak mind of man can most effectually
> read his Creator's works, will regard with especial interest all
> that can tend to facilitate the translation of its principles into
> explicit practical forms.

AAL is assuming that all of the wonders of abstract mathematics a) can
be translated into a form usable or applicable to the analytical engine
and b) would be at all useful in such a system. While she has gone some
way towards saying that via translation it would be possible to
translate abstract mathematical systems into Analytical engine code,
she does not say how this would be useful. On the whole the sort of
math she is referring to would not at any point deal with numbers and
as a result would render it useless to the machine. While symbolic
algebra manipulation is possible to a certain extent, the degree of
intuition and creativity involved in creating anything actually useful
that can be verified by a mathematician to be valid is high, and might
make the 'operations' surrounding such processes nearly opaque to

> ... an analysing process must equally have been
> performed in order to furnish the Analytical Engine with the
> necessary operative data; and that herein may also lie a possible
> source of error. Granted that the actual mechanism is unerring in
> its processes, the cards may give it wrong orders. This is
> unquestionably the case; but there is much less chance of error,
> and likewise far less expenditure of time and labour, where
> operations only, and the distribution of these operations, have to
> be made out, than where explicit numerical results are to be
> attained.

The fact that the cost of rendering the problem to the engine and then
discovering any bus in that rendition will reduce to below that of
performing a task by had is inevitable as the cost of rendition is
proportional to the size of the problem (in representation) and the cost
of debugging is at most proportional to size of the problem representation
(i.e. checking each line of the input coding once).

AAL finishes with a summary of the machines functional capabilities,
namely its primitive operations (+ - / *), and its ability to deal with
potentially very large numbers.

> 3. It can combine these numbers and these quantities either
> algebraically or arithmetically, in relations unlimited as to
> variety, extent, or complexity.

i.e. the machine is capable of computing any mathematical function
taking any number of input symbols and operating on them using any
combination of primitives in any order yielding any number of output

> 4. It uses algebraic signs according to their proper laws, and
> developes the logical consequences of these laws.

But what happens when you define a function called sqrt making a number
to another number and give it a negative input. It is simple to say
that complex numbers are not within the mathematical vocabulary of the
machine (as they might not be in the vocabulary of a school child)
(would this make the machine ring its bell?) . While it would be
possible to make the machine deal with this extension to a number
system as it has done with negative numbers this does emphasize the
fact that the machine regardless of its potentially infinite processing
and storage power might not be capable of discerning certain truths,
specifically those so contrived as complex numbers.

> 6. It can provide for singular values. Its power of doing this is
> referred to in M. Menabrea's memoir, page 17, where he mentions the
> passage of values through zero and infinity. The practicability of
> causing it arbitrarily to change its processes at any moment, on
> the occurrence of any specified contingency (of which its
> substitution of (1/2 cos .(n + 1) q + 1/2 cos .(n - 1) q)[1] for
> (cos .n q .cos .q), explained in Note E., is in some degree an
> illustration), at once secures this point.

This is interesting as the machine is specializing specified cases of
problems, and also make conditional execution (as a special case) of
instruction fragments possible. Does this then make the Analytical
engine truly capable of such a wide range of operations as is
proclaimed by both MENEBREA and AAL? Would the Analytical engine be
Turing complete?

Cliffe, Owen <>

This archive was generated by hypermail 2b30 : Tue Feb 13 2001 - 16:36:26 GMT