Lady Lovelace: Notes on Babbage/Menabrea

From: Boston Robert (
Date: Thu Mar 01 2001 - 10:52:27 GMT

Lovelace, Ada. (1843).
Notes by the translator
[to L.F. Menabrea's "Sketch of the analytical engine invented
by Charles Babbage, Esq."].
Scientific Memoirs, 3, 666-731.

In Lady Lovelace's examples she assumes there is no limit to the
memory of the computer, this is fine for what she is using it for as
the machine hasn't been built, she is only interested in the theory
and the examples memory intensive. The only problem is she hasn't
acknowledged any physical limitations of the computer so all her
predictions for the abilities of the computer must be taken with this
in mind.

> Lady LoveLace
> The particular numerical data and the numerical results are
> determined by means and by portions of the mechanism which act quite
> independently of those that regulate the operations.

This is an organisation where the implementation of functions is kept
separate to the memory management, this is quite advanced and is
central to the advantages of the analytical engine.

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

Rewrite: It would be nice if when we do mathematical operations in our
heads that the techniques we use are the pure formulae appropriate to
the problem, independent of the reasoning behind it. This is how the
analytical engine should work and when studying it, it is important to
remember the engines operations are independent of the reasoning
behind it.

I don't agree with what Lady Lovelace is saying, her claim is that
computers just follow rules where as we do more. The extra things we
do she calls 'reasonings', this I take to be either an understanding
of why/how the algorithm works or data about the algorithms use. If it
is the later this is trivially incorrect because metadata about the
algorithm can be encoded and searched.

If we do have 'reasonings' about mathematical algorithms is not clear,
if we did then when we performed maths our results would be a
combination of the mathematical laws and these 'reasonings' so we
wouldn't get the same results the laws predicted e.g. take 2+2 = 4
(maths law) then throw in some 'reasoning' 2 + 2 = 5. This situation
would not work as we wouldn't be able to perform maths, the only way
we can have something extra that we apply with the mathematical laws
is if it is a redefinition of the law (4 = 2+2) other laws that have a
relevance (2*x = x +x) similar examples (2 + 3 = 5) or other
mathematically consistent truths. If this is the case all of the
'reasonings' can be given to a machine as they are just another set of

The suggestion that we do more than follow a series of operations
because we have 'reasonings' attached to the operations is valid if by
'reasonings' she is talking about what the symbols mean. The
analytical engine and any computer with no sensory capacity will not
be able to ground any symbols it uses. However when performing
mathematical operations ground symbols are not needed and offer no
advantage when they are percolated by the algorithm. When performing a
mathematical operation a computer need never encounter symbol meaning,
it is only relevant when extracting data from the world (thing to
symbol e.g. there are 2 dogs and 2 cat) or when interpreting the
results (symbol to thing e.g. there are 4 animals).

If she means that we have an understanding of how or why an algorithm
works, this is not always the case. A computer can be programmed to
apply the formula E = MC2 , similarly most people can apply the
formula but very few understand how and why it works. Even the simple
example of addition throw up problems, why does 1 + 1 = 2? The
mathematical symbol system defines the combination of symbols as being
true, but why does every real world instance so far, implement it?

> Lady LoveLace
> It is, however, impossible to confound it with other considerations,
> either when we trace the manner in which that engine attains its
> results, or when we prepare the data for its attainment of those
> results.

This is a little debugging advice, remember that a computer follows
rules and won't be able to reason about an operation and decide if it
is right or wrong. This applies to us as well, if we are taught some
advanced formula incorrectly and we will use it and give erroneous

> Lady LoveLace
> Secondly, figures, the symbols of numerical magnitude, are frequently
> also the symbols of operations, as when they are the indices of
> powers. Wherever terms have a shifting meaning, independent sets of
> considerations are liable to become complicated together, and
> reasonings and results are frequently falsified.

The problems of differing notation, there was a problem of people
grounding symbols.

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

I think this is possible, I think I read somewhere that Phil Collins
was using a computer to generate tunes which he then modified. Also
there is a painter that has spent years teaching a computer what
makes a picture and now it generates art at the click of a button.
These computers are obviously limited but so are all of us.

> Lady LoveLace
> Symbolical results are not less the necessary and logical
> consequences of operations performed upon symbolical data, than are
> numerical results when the data are numerical.

Here Lady Lovelace is reinforcing the idea of computers being symbol
manipulators only. She says it may be possible to make the machine
operate over symbols e.g. N, mph, Hz, etc or algebraic symbols.

> Lady LoveLace
> The Analytical Engine, on the contrary, can either add, subtract,
> multiply or divide with equal facility; and performs each of these
> four operations in a direct manner, without the aid of any of the
> other three. This one fact implies everything; and it is scarcely
> necessary to point out, for instance, that while the Difference
> Engine can merely tabulate, and is incapable of developing, the
> Analytical Engine can either tabulate or develope.

I disagree, this only means the analytical engine is faster as the
difference engine has to convert every operation into a serries of
additions. The analytical engine is better, but for other reasons for
example the way it's function is independent of the data and the use
of punched cards.

> Lady LoveLace
> Science constitutes the language through which alone we can
> adequately express the great facts of the natural world.

Not facts just models that consistently mirror the relationships in
the natural world.

> Lady LoveLace
> Numerical data must of course be given it, but they are mere
> arbitrary ones; not data that could only be arrived at through a
> systematic and necessary series of previous numerical calculations,
> which is quite a different thing.

This is an important feature of the Analytical engine, it is able to
program it to perform a function, the Difference Engine has to be
reprogrammed for each data instance with significant pre-processing
involved in each rewrite.

> Lady LoveLace
> It is obvious that, in the invention of a calculating engine, these
> two branches of the subject are equally essential fields of
> investigation, and that on their mutual adjustment, one to the other,
> must depend all success.

Here she is referring to the people who design the cogs and mechanisms
and the people who design the operations to perform. This is the same
distinction as the one between electronics and computer science.

> Lady LoveLace
> The Analytical Engine, far from being more complicated, will in many
> respects be of simpler construction; and it is a remarkable
> circumstance attending it, that with very simplified means it is so
> much more powerful.

This idea of the power of a computer growing as its complexity
decreases makes sense. Were the difference engine is a dedicated
single use piece of hardware, the analytical engine is more general
with more a more general architecture. Now computers are built out of
transistors, which are just about as simple as you can get.

> Lady LoveLace
> The Variable-cards in general (including both the preceding classes)
> might, it appears to us, be even more appropriately designated the
> Distributive-cards, since it is through their means that the action
> of the operations, and the results of this action, are rightly
> distributed.

The Distributive-cards are in fact a simple operating system, they
supply the function running with memory and give it access to inputs
and outputs.

> Lady LoveLace
> Those who understand the mechanism of this loom will perceive that
> the above improvement is easily effected in practice, by causing the
> prism over which the train of pattern-cards is suspended to revolve
> backwards instead of forwards, at pleasure, under the requisite
> circumstances; until, by so doing, any particular card, or set of
> cards, that has done duty once, and passed on in the ordinary regular
> succession, is brought back to the position it occupied just before
> it was used the preceding time

This is the implementation of looping. This allows a programmer to use
loops in the code.

> Lady LoveLace
> When the value on any Variable is called into use, one of two
> consequences may be made to result. Either the value may return to
> the Variable after it has been used, in which case it is ready for a
> second use if needed; or the Variable may be made zero.

This is good programming, any register that is not in use is set to 0
to remind you it is not in use.

> Lady LoveLace
> We should explain, before proceeding, that it is not our object to
> consider this problem with reference to the actual arrangement of the
> data on the Variables of the engine, but simply as an abstract
> question of the nature and number of the operations required to be
> performed during its complete solution.

This is a reference to the efficiency of the solution, a sort of Big O
for the analytical engine

> Lady LoveLace
> The Analytical Engine has no pretensions whatever to originate
> anything.

This depends on what you mean by originate anything. Computers can
give us results that haven't been produced before, this is because the
only useful use of computers involves some sort of communication
with a user, the user will provide the computer with inputs which the
computer then operates on and then produces outputs. If computers did
not originate anything then any output we would already know so there
would be no point in using them. The reason they can be original is
that they can produce results we didn't know before, I think this
counts as original.

As CPU complexity increases and the density of components increases
computers are becoming more susceptible to interference and quantum
effects. Also computers can generate pseudo-random numbers. These
random elements in computation are undesirable in most situations but
can lead to unexpected and original results.

A sufficiently advanced computer may be able to make discoveries based
on available data but will it be able to recognise the importance of a
discovery or have any intuition as to which possible solution looks
most promising.

It is unfair to claim that computers can not originate anything
because they can't discover brand new like theories Einstein, because
most of us cant either. Given axioms and rules a computer can produce
all the true statements of a language (nearly all according to Godel
but this isn't a barrier to intelligence) but this may not be enough
to create Einstein esc discoveries. Did Einstein just work through a
set of existing facts until he found some new law? we can't know. If
however we could build a machine that is sub Einstein in apparent
intelligence and merely passes for a normal, IQ 100, human most of us
would be happy.

> Lady LoveLace
> It can do whatever we know how to order it to perform. It can follow
> analysis; but it has no power of anticipating any analytical
> relations or truths.

Just because we know a set of rules does not mean that we know the
outcome of the application of the set of rules e.g. DNA. We could make
DNA, send it to mars and have no idea as to what the outcome will be.
If you get a sample of the primordial soup could you predict toasters,
Tony Blair or 'All the Small Things' by Blink 182? To do so you would
need to modal the exact conditions at the time of the primordial soup,
the weather the planet, solar system and the rest of the galaxy and
the universe because you cant be sure the weak gravity and tiny amount
of light from a distant star didn't effect the course of a comet that
flew past something etc.

Deep Blue, the IBM chess computer used a heuristic with a form of
alpha beta pruning in its search space to anticipate good moves, does
this count as 'anticipating any analytical relations or truths'. I'm
not sure as we told it to do this but then again it did learn winning
strategies through interaction with the real world therefor it was not
the program that was originally written so we didn't tell it something
we knew 'how to order it to perform'. We did order it to 'learn'
though but at a low enough level we are programmed by DNA in our

> Lady LoveLace
> 1. It performs the four operations of simple arithmetic upon any
> numbers whatever.

Wrong, the machine is physically finite therefore there is a limit to
the amount of data it can hold and consequently the size of the
numbers it can operate on.

> Lady LoveLace
> 2. By means of certain artifices and arrangements (upon which we
> cannot enter within the restricted space which such a publication as
> the present may admit of), there is no limit either to the magnitude
> of the numbers used, or to the number of quantities (either variables
> or constants) that may be employed.

I agree by adding extra bits to the machine there is theoretically no
limit but the size of the machine will always be finite and made out
of parts that break so there will be a practical limit.

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

More use of naughty words, computers are not unlimited.

> Lady LoveLace
> Any set of columns on which numbers are inscribed, represents merely
> a general function of the several quantities, until the special
> function have been impressed by means of the Operation and Variable-
> cards.

A set of columns (variables) containing numbers represents all
possible operations on those numbers until an operation is selected
where is collapses into one operation. Is this quantum? Is she an 18th
Century quantum computer programmer ;o)

This archive was generated by hypermail 2.1.4 : Tue Sep 24 2002 - 18:37:18 BST