**From:** Henderson Ian (*irh196@ecs.soton.ac.uk*)

**Date:** Thu Mar 01 2001 - 19:44:00 GMT

**Next message:**Bell Simon: "Re: Lucas: Minds, Machines and Goedel"**Previous message:**Crisp Jodi: "Re: Ziemke: Rethinking Grounding"**Maybe in reply to:**Marinho Francis-Oladipo: "Babbage/Menabrea: Analytical Engine"**Next in thread:**HARNAD Stevan: "Re: Babbage/Menabrea: Analytical Engine"**Reply:**HARNAD Stevan: "Re: Babbage/Menabrea: Analytical Engine"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ] [ attachment ]

http://psychclassics.yorku.ca/Lovelace/menabrea.htm

Henderson:

Menabrea's 'Sketch of the Analytical Engine invented by Charles Babbage'

describes the functionality of Babbage's analytical engine by way of

example, and provides an overview of the mechanisms employed to provide

that functionality. The paper gives insight into the nature of

computation, and how a mechanical device may implement it.

*> MENABREA:
*

*> 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. This admitted, we may propose to execute,
*

*> by means of machinery, the mechanical branch of these labours, reserving
*

*> for pure intellect that which depends on the reasoning faculties.
*

Henderson:

Menabrea draws a distinction between (mathematical) computation, the

manipulation of symbols according to rules or 'laws', and the faculties

required for 'understanding', by which he appears to mean the ability to

semantically interpret symbols. He clearly explains that his machine will

only be able to execute the former; the latter must be left to the

(human) intellect.

*> MENABREA:
*

*> Struck with similar reflections, Mr. Babbage has devoted some years to
*

*> the realization of a gigantic idea. He proposed to himself nothing less
*

*> than the construction of a machine capable of executing not merely
*

*> arithmetical calculations, but even all those of analysis, if their laws
*

*> are known.
*

Henderson:

The Analytical Engine was to be capable of carrying out both arithmetical

and analytical calculations. Arithmetic calculations are simple

calculations consisting of the basic operations (such as 'add',

'subtract', 'divide' and 'multiply') carried out on two numbers. A number

of machines preceding Babbage's analytical engine were capable of carrying

out such calculations. In contrast, analytical calculations are carried

out on algebraic forumlae consisting of well characterised functions

(e.g. basic mathematical operations, trigonometric functions,

exponentials) into which the parameters can be substituted in order to get

the answer. For example, Babbage's Difference Machine was (only) able to

process one particular analytical calculation: that of finding the general

term for an infinite series (e.g. the general term for the series {1, 4,

9, 16, ..} is 2).

*> MENABREA:
*

*> When analysis is employed for the solution of any problem, there are
*

*> usually two classes of operations to execute: first, the numerical
*

*> calculation of the various coefficients; and secondly, their
*

*> distribution in relation to the quantities affected by them. If, for
*

*> example, we have to obtain the product of two binomials (a + bx) (m +
*

*> nx), the result will be represented by am + (an + bm) x + bnx2, in which
*

*> expression we must first calculate am, an, bm, bn; then take the sum of
*

*> an + bm; and lastly, respectively distribute the coefficients thus
*

*> obtained amongst the powers of the variable. In order to reproduce these
*

*> operations by means of a machine, the latter must therefore possess two
*

*> distinct sets of powers: first, that of executing numerical
*

*> calculations; secondly, that of rightly distributing the values so
*

*> obtained.
*

Henderson:

In order to solve analytical calculations, the machine must be able to

carry out simple arithmetical calculations (such as the summing of two

numbers), and assign the results to the correct variables (as explained

above). Further, the machine must be able to carry out these calculations

without human intervention, since this would negate the usefulness of the

machine as a labour and time-saving device, whilst increasing the

potential for human error.

*> MENABREA:
*

*> it must exclude all methods of trial and guess-work, and can only admit
*

*> the direct processes of calculation[4].
*

Henderson:

As note 4 says, this should not be taken too literally. Some analytical

calculations may require a test to see whether a particular condition has

been met. For instance in the area of numerical analysis, the solution of

a quadratic by interval bisection requires a test to see which side of the

solution the current bisector lies, so the next bisector can be chosen in

such a way as to present a more accurate approximation to the actual

solution. Analytical methods for the solution of equations may also

require a test to see whether the solution has reached an acceptable

degree of convergence. Such 'methods of trial' are analogous to

conditional branches ('IF..THEN' statements) in modern programming, and

guess-work can nowadays be seen in the form of branch prediction (an

optimisation technique used in modern processors).

*> MENABREA:
*

*> It is necessarily thus; for the machine is not a thinking being, but
*

*> simply an automaton which acts according to the laws imposed upon it.
*

Henderson:

When one considers something as 'simple' as Babbage's analytical machine,

this may seem obvious. However, it must be borne in mind that modern

computers are fundamentally based upon the same design as Babbage's

analytical engine. They both have memory stores for variables and are both

capable of carrying out arithmetic operations on those variables using a

processor (in Babbage's machine, this device is termed the

'mill') according to a given program. In short, they are both

computational devices -- Turing machines. From a strong AI standpoint,

even Babbage's machine may thus be capable of 'thinking' given the correct

algorithm, since strong AI claims that intelligence is

implementation-independent, and thus may be implemented by computation

alone.

Menabrea's claim is based on the fact that the machine does not *appear*

to think; if however it were to exhibit characteristics indicative of

intelligence whilst executing such an 'intelligence' algorithm, he would

be hard pressed to say that the machine was not indeed thinking: after

all, how do we know anyone else apart from ourselves thinks, unless it be

through the evidence of their words and actions (i.e. their 'output')?

*> MENABREA:
*

*> Let us conceive a pile or vertical column consisting of an indefinite
*

*> number of circular discs, all pierced through their centres by a
*

*> common axis, around which each of them can take an independent
*

*> rotatory movement. If round the edge of each of these discs are
*

*> written the ten figures which constitute our numerical alphabet, we
*

*> may then, by arranging a series of these figures in the same vertical
*

*> line, express in this manner any number whatever. It is sufficient for
*

*> this purpose that the first disc represent units, the second tens, the
*

*> third hundreds, and so on. When two numbers have been thus written on
*

*> two distinct columns, we may propose to combine them arithmetically
*

*> with each other, and to obtain the result on a third column. In
*

*> general, if we have a series of columns[5] consisting of discs, which
*

*> columns we will designate as V0, V1, V2, V3, V4, &c., we may require,
*

*> for instance, to divide the number written on the column V1 by that on
*

*> the column V4, and to obtain the result on the column V7.
*

Henderson:

The machine has a number of columns of cogs that may be used to represent

variables. This is effectively the Analytical Engine's 'memory'. It should

be noted that the columns may also be used to represent rational numbers

up to a precision dependent on the number of cogs in the column. One cog

is also used at the top of each column to denote whether the number on the

column is positive or negative. It does this by using even-numbered teeth

on the cog to represent positive numbers, and odd-numbered teeth to

represent negative numbers.

*> MENABREA:
*

*> As for the operations themselves, they are executed by a special
*

*> apparatus, which is designated by the name of mill, and which itself
*

*> contains a certain number of columns, similar to those of the Variables.
*

*> When two numbers are to be combined together, the machine commences by
*

*> effacing them from the columns where they are written, that is, it
*

*> places zero[6] on every disc of the two vertical lines on which the
*

*> numbers were represented; and it transfers the numbers to the
*

*> mill. There, the apparatus having been disposed suitably for the
*

*> required operation, this latter is effected, and, when completed, the
*

*> result itself is transferred to the column of Variables which shall have
*

*> been indicated.
*

Henderson:

The mill is the equivalent of the modern-day central processing unit. Two

numbers are transferred from the columns of cogs that form the main memory

of the machine (as referred to in the previous comment) to the two columns

of cogs in the mill. These temporarily hold the two numbers which are to

be summed, multiplied, subtracted or divided (these columns form the

equivalent of modern day processor registers). The mill then carries out

the requested operation on the two register-variables, returning the

result to a column in the 'main memory'.

*> MENABREA:
*

*> It contains two principal species of cards: first, Operation cards, by
*

*> means of which the parts of the machine are so disposed as to execute
*

*> any determinate series of operations, such as additions, subtractions,
*

*> multiplications, and divisions; secondly, cards of the Variables, which
*

*> indicate to the machine the columns on which the results are to be
*

*> represented. The cards, when put in motion, successively arrange the
*

*> various portions of the machine according to the nature of the processes
*

*> that are to be effected, and the machine at the same time executes these
*

*> processes by means of the various pieces of mechanism of which it is
*

*> constituted.
*

Henderson:

The program is represented to the analytical engine as a sequence of

'punch' cards, which when fed to the engine in their prescribed order

cause the engine to execute the program. There are two types of

card: 'Operation' cards, which tell the machine which operation

to perform next; and 'Variable' cards, which tell the machine which

variables in memory the next operation is to be performed upon. The cards

work by mechanically obstructing or permitting the movement of the parts

of the machine necessary for the working of the requisite operation, or

selection of the requisite variable (by indicating the column of cogs on

which that variable is held).

*> MENABREA:
*

*> In order more perfectly to conceive the thing, let us select as an
*

*> example the resolution of two equations of the first degree with two
*

*> unknown quantities. Let the following be the two equations, in which x
*

*> and y are the unknown quantities:-
*

*>
*

*> mx + ny = d
*

*> m'x + n'y = d'
*

Henderson:

Menabrea then goes on to give an example of how the analytical engine may

be used to effect the solution of the simultaneous equations given

above. He does this first by rearranging the equations to give expressions

for x and y in terms of their coefficients and d and d'. (This step, it

should be noted, could also be carried out by the analytical engine.) He

then breaks the equations down into their component arithmetic operations,

ordering them and assigning their operands variables in such a way as to

program the engine to solve the equations.

*> MENABREA:
*

*> In the preceding table it will be remarked that the column for
*

*> operations indicates four successive multiplications, two subtractions,
*

*> and one division. Therefore, if desired, we need only use three
*

*> operation-cards; to manage which, it is sufficient to introduce into the
*

*> machine an apparatus which shall, after the first multiplication, for
*

*> instance, retain the card which relates to this operation, and not allow
*

*> it to advance so as to be replaced by another one, until after this same
*

*> operation shall have been four times repeated.
*

Henderson:

Menabrea shows how the working of the machine may be optimised: where

there are several successive identical operations to be carried out, one

card may be used to represent all of them. The card would instruct the

machine to carry out operation 'x' 'n' times, in a way analogous to the

modern-day compression technique of run-length encoding. In this instance,

the optimisation is done by the programmer, but as with modern computers

there seems to be little barrier to the machine itself carrying out such

optimisation in a pre-processing step (this would only be worthwhile if

the same program were to be executed more than once).

*> MENABREA:
*

*> Perhaps the immense number of cards required for the solution of any
*

*> rather complicated problem may appear to be an obstacle; but this does
*

*> not seem to be the case. There is no limit to the number of cards that
*

*> can be used. Certain stuffs require for their fabrication not less than
*

*> twenty thousand cards, and we may unquestionably far exceed even this
*

*> quantity[13].
*

Henderson:

Since there is no upper bound on the size of a program, the analytical

engine can execute a program of any length. This contrasts with today's

computers, where the program and the variables are held in the same memory

during execution. This difference in implementation is not important

however: a modern day computer could easily deal with a program of

unlimited size if implemented using a different architecture. Of course

such an architecture would be less convenient, and not worth the extra

cost since in practice computer programs do not tend to exceed a certain

size.

*> MENABREA:
*

*> Since the engine has a mode of acting peculiar to itself, it will in
*

*> every particular case be necessary to arrange the series of calculations
*

*> conformably to the means which the machine possesses; for such or such a
*

*> process which might be very easy for a calculator may be long and
*

*> complicated for the engine, and vice vers.
*

Henderson:

*>From a performance perspective, it is true that the program should be
*

written in such a way as to minimise the time taken for the engine to

execute the program. Menabrea does not mean that the engine will not be

able to carry out a program at all unless it is arranged in a specific

way.

*> MENABREA:
*

*> Considered under the most general point of view, the essential object of
*

*> the machine being to calculate, according to the laws dictated to it,
*

*> the values of numerical coefficients which it is then to distribute
*

*> appropriately on the columns which represent the variables, it follows
*

*> that the interpretation of formulae and of results is beyond its
*

*> province, unless indeed this very interpretation be itself susceptible
*

*> of expression by means of the symbols which the machine employs.
*

Henderson:

Menabrea clarifies the role of the machine as nothing more than a symbol

manipulator. The symbols are subject to human interpretation alone, unless

it turns out that intelligence (and thus semantics) are just computation,

as computationalism claims.

*> MENABREA:
*

*> Thus, although it is not itself the being that reflects, it may yet be
*

*> considered as the being which executes the conceptions of
*

*> intelligence[14].
*

Henderson:

By this, I think Menabrea simply means that the machine is capable of

carrying out calculations based on mathematical equations as previously

explained. The equations themselves are 'the conceptions of intelligence'

to which he refers.

*> MENABREA:
*

*> Yet it is by the laborious route of analysis that he must reach
*

*> truth; but he cannot pursue this unless guided by numbers; for without
*

*> numbers it is not given us to raise the veil which envelopes the
*

*> mysteries of nature.
*

Henderson:

Menabrea appears to make the contentious implication that mathematics is

a part of nature, and not a product of how we think about nature (as Kant

and others have argued). It appears at least to me that mathematics is

shaped by nature rather than being an intrinsic part of its 'design'; as

such it is just a model, invented by humans to describe nature, rather

than a discovery about how nature actually works. The currently uncertain

position of mathematics has implications for computationalism and strong

AI: if mathematics is just a model of how the world works, can

(mathematical) computation do any more than *model* intelligence? It seems

not.

**Next message:**Bell Simon: "Re: Lucas: Minds, Machines and Goedel"**Previous message:**Crisp Jodi: "Re: Ziemke: Rethinking Grounding"**Maybe in reply to:**Marinho Francis-Oladipo: "Babbage/Menabrea: Analytical Engine"**Next in thread:**HARNAD Stevan: "Re: Babbage/Menabrea: Analytical Engine"**Reply:**HARNAD Stevan: "Re: Babbage/Menabrea: Analytical Engine"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ] [ attachment ]

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