Re: Charles Babbage's "Analytical Engine"

From: Kirstein, Simon (
Date: Thu Feb 17 2000 - 15:36:32 GMT

> Cliffe, Owen <>
> Cliffe:
> 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.

One main reason for Babbage not being able to build his engine where the
insufficient mechanical capabilities at his lifetime.

> 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.

> Cliffe:
> 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,

> Cliffe:
> 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)

In my opinion the execution of successive operations does not imply any need
for reasoning about the problem by the machine. All it does is a step by step
execution of a 'program' determined by its Operation cards. The user is
responsible for providing the input data in an appropriate way, which
eliminates the need for decisions taken by the engine.

> 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,

> Cliffe:
> 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).

It can be compared with the raise of an (unhandled) exception in a modern
programming language. But the really interesting question is, what should be
done, if the bell rings? Redesign the 'program', ignore the problem (an
approach very commonly used nowadays by a big software producer),...

> This also emphasizes the point that any similar machine composed of
> mechanized digital parts will suffer from limits in representation.

As the representation is still digital there is no essential difference
between gearwheels and transistors.

> I think that it is details like this that actually held back Babbages
> work, which was quite rigorous.

As mentioned before, this is a quite important detail, which isn't solved till

> 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.

> Cliffe:
> 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.

> Cliffe:
> 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.

In my opinion an infallible machine is an unreachable goal, especially if it's
as complicated as the Analitycal engine, or a modern computation system.
MENEBREA describes an idealised picture of the machine, which he hopes can be

> Secondly, economy of time:...

> Cliffe:
> 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. in modern programming languages, even if a problem now can be
represented using higher levels of abstraction. The question of time
efficiency is always a trade-off between time needed for implementing a
solution with the effect of speeding up the process of problem solving
afterwards and the time needed to compute the results 'by hand'. A program
only makes sense, if there are many problems which can be solved using the
same scheme. The applications Babbage had in mind were of such a kind.

> 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.
> ....

> Cliffe:
> 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.

Of course, if all the 'boring stuff' is done automatically, the scientists
have more time to concentrate on 'new' problems. So one can argue that the
amount of 'available intelligence' increases with the use of calculating
machines. The question is now, if this increase directly leads to improved
'performance' in terms of new knowledge being discovered.

> 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.

> Cliffe:
> 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?

At least a clear distinction between program and data is made in the
implementation of the Analytical Engine. The 'Operation cards' are clearly
distinguished from the 'cards of variables' although both are punched cards
containing digital information which can be considered as 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;

> Cliffe:
> 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
> binary).

But even if the fundamental relations of sounds and musical composition could
be expressed in a form suitable as 'program' for the Analytical Engine it
would a need an appropriate input as initial value to compute a piece of
music. In the concept of the machine there is no space for randomness. Each
input leads to a predefined output. The engine is not 'creative'. One could of
course change its 'program' to create a different piece of music from the same
input, but the main aim of the machine was to simplify work by computing a
huge amount of data with the same program.

> 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.

> Cliffe:
> AAL is assuming that all of the wonders of abstract mathematics

(which represent the physical world around us)

> 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.

I can't really see in the above paragraph were she states that mathematical
systems can be translated into engine code. All she says is that the ones who
see mathematics only as a tool would be interested in any method which can
facilitate the derivation of 'new' knowledge from basic principles. The exact
role of the Analytical engine in this process is not described.

> 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
> description.

Yes, and as there is a clear, predefined correlation between input and output
of the engine, there is no space for intuition or creativity. Only if
creativity could be described as a process given a fixed input data (how could
one establish the 'data' used by a human in a creative process?) derives the
same output every time it is 'applied', it could be implemented using the
Analytical engine.

> ... 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.

> Cliffe:
> 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).

This is only true if the input code is executed in chronological order (which
could be true for the Analytical Engine). Normally it is impossible to debug a
piece of code simply by looking once at each line.

> 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
> values
> 4. It uses algebraic signs according to their proper laws, and
> developes the logical consequences of these laws.

> Cliffe:
> 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?).

(at least it is a kind of exception)

> 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.

> Cliffe:
> 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?

Even if the Analytical engine is a very powerful theoretical concept, some of
the operations discussed in this text are beyond the capabilities of the
machine. It shows that there are limitations in the things, which can be
computed. A creative process still cannot and will probably never be described
in terms of mathematics. Even if creativity 'only' is the 'right' combining
given facts to discover new knowledge, it will never be possible to prove a
mathematical description of this process, because one can never establish what
the 'given facts' were, which led to the conclusion.

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