Charles Babbage : Charles Babbage
Charles Babbage (1791-1871) : Charles Babbage (1791-1871)
Charles Babbage (1791-1871) : Charles Babbage (1791-1871) Born: December 26, 1791
Son of Benjamin (“Old Five Percent”) Babbage, a London banker (part of the emerging middle class: property, education, wealth and status)
Trinity College, Cambridge
Later became Lucasian professor of mathematics at Cambridge (chair held by Isaac Newton, and now Stephen Hawking)
Polymath (Person of Varied Learning) : Polymath (Person of Varied Learning) Royal Astronomical Society
Royal Statistical Society (founder)
Analytical Society (co-founder)
Papers: optics, atmospheric observations, electricity and magnetism, life insurance actuarial calculations, cryptology, geology, metal working, taxation systems, lighthouse operations, diving bells, ...
Inventor: ophthalmoscope, cow-catcher, speedometer, ...
Babbage’s Calculating Machines : Babbage’s Calculating Machines Difference engine #1
Never completed
Difference engine #2
Small parts completed; in 1991 reconstruction from original drawings by Science Museum
Analytical engine
Mainly intellectual endeavour; some small parts built just before Babbage’s death
The Context : The Context Industrial revolution (second part of 18th and all of 19th century)
American revolution (1775)
French revolution (1789)
Industrial Revolution : Industrial Revolution From agriculturally based economy to mechanized production of goods in large-scale enterprises
Division of labour: organize production
Inventions:
1765 James Watt’s steam engine
1785 Steam powered cotton mill
1820s Gas light in major European cities
1829 Stephenson’s steam locomotive
etc.
The Tables Crisis : The Tables Crisis Needs for all kinds of mathematical tables:
Logarithmic and trigonometrical
Navigation and astronomy
Nautical Almanac
Life insurance
Civil engineering
etc.
Made by human “computers” and checked by “comparator”
Gaspard De Prony; 1790’s : Gaspard De Prony; 1790’s 18 volumes of logarithms and trigonometric functions
accuracy: 17 to 29 places
division of labour
a few expert mathematicians to design a method
group of lesser mathematicians for computing initial values
two independent groups of simple “computers” for bulk
Problems with Table-making Process : Problems with Table-making Process Problem of errors in calculations
Problem of errors in transcription, i.e., in the process of printing the tables
Babbage realized that the work of the third and second group could be done by machinery
Babbage also conceived of and designed a mechanism to make stereotype plates which could be used to print the tables
Babbage’s Involvement with Tables : Babbage’s Involvement with Tables Together with Herschel, supervised making of star tables for Astronomical Society
My friend Herschel, calling upon me, brought with him the calculations of the computers, and we commenced the tedious process of verification. After a time many discrepancies occurred, and at one point these discordances were so numerous that I exclaimed, “I wish to God these calculations had been executed by steam” (1821)
Difference Engine : Difference Engine July 1822, wrote to the president of the Royal Society describing a plan for calculating and printing mathematical tables by machine, based on method of differences
June 1823, granted 1500 pounds
December 1829, additional 3000 pounds
Method of Differences (1) : Method of Differences (1)
Method of Differences (2) : Method of Differences (2) In general, for polynomial of degree n, the nth difference is constant
Leads to simple recurrence relations:
P0(x) = constant
Pi(x) = Pi(x-1) + Pi-1(x) i = 1,...,n
Polynomial can be tabulated without multiplications
Difference Engine : Difference Engine 1822 Original design for 6 decimal places with second-order difference
1830 Redesigned difference engine with 20 decimal places and sixth-order difference
DifferenceEngine : DifferenceEngine Reconstruction Arithmeum Bonn
Never Completed (1) : Never Completed (1) December 1830, a dispute with his chief engineer, Joseph Clement, over control of the project, ends work on the difference engine
Clement is allowed to keep all tools and drawings by English law
Never Completed (2) : Never Completed (2) 1834-1842 Babbage applied for additional grants
17,000 pounds of the public’s money and an equal amount of his own had been spent on the project
Prime Minister Robert Peel: “I would like a little previous consideration before I move in a thin house of country gentlemen a large vote for the creation of a wooden man to calculate tables from the formula x2 + x + 41.”
Critique : Critique Limited industrial and “engineering” capabilities
Had to plan for, design, and make the tools and machines to make all the parts for the engine
No industrial standards at this time such as for machine screws; everything was one of a kind
No “engineering” schools, only Guilds and the apprentice system
Used steam engines as a base for his thinking, i.e., steam locomotives with their huge scale for parts
Importance of the Difference Engine : Importance of the Difference Engine First attempt to devise a computing machine that was automatic in action and well adapted, by its printing mechanism, to a mathematical task of considerable importance.
An example of government subsidization of innovation and technology development
Spin offs to the machine-tool “industry”
Reconstruction by Science Museum : Reconstruction by Science Museum Difference Engine Number 2 (1847 to 1849) constructed according to original drawings (1000 square feet!)
1991 Bicentenary Celebration
4000 parts
7 feet high, 11 feet long, 18 inches deep
Cost 500 000 pounds
Science Museum, 1991 : Science Museum, 1991
Science Museum, 1991 : Science Museum, 1991
Science Museum, 1991 : Science Museum, 1991
First Difference Engine : First Difference Engine Reconstruction in Meccano by Tim Robinson
Front view
Difference Eng #1 in Meccano; Detail : Difference Eng #1 in Meccano; Detail
Difference Engine #2 in Meccano; Front : Difference Engine #2 in Meccano; Front
Difference Engine #1in LEGO; Andy Carol : Difference Engine #1in LEGO; Andy Carol
Difference Engine #1 in LEGO; Detail : Difference Engine #1 in LEGO; Detail
Other Difference Engines : Other Difference Engines Georg and Edvard Scheutz (Sweden)
1843: Difference Engine #1 a prototype which produced the first tables calculated and printed by machinery
1853: Difference Engine #2 sold to Dudley Observatory, Albany, NY (now in Smithsonian)
1859: Difference Engine #3 was a copy of #2, sold to General Register Office in London; used to produce the English Life Table, 1864
Scheutz: Difference Engine #1 (1843) : Scheutz: Difference Engine #1 (1843)
Scheutz: Difference Engine #2 (1853) : Scheutz: Difference Engine #2 (1853)
Scheutz: Difference Engine #3 (1859) : Scheutz: Difference Engine #3 (1859)
Plans For New Engine : Plans For New Engine
Letter to Quetelet, April 27, 1835
“… for six months been engaged in making the drawings of a new calculating engine of far greater power than the first. I am myself astonished at the power I have been enabled to give to this machine; a year ago I should not have believed this result possible.”
Analytical Engine : Analytical Engine 1834 basic plans formulated for an improved device, capable of calculating any mathematical function!
Basic problem: how to feed the digits of the result wheels back into the calculation.
1834 to 1848 30 sets of plans; seems to have given up on construction due to the problems with the difference engine.
Analytical Engine; Architecture : Analytical Engine; Architecture Separation of storage and calculation:
store
mill (accumulators and CPU)
Control of operations by microprogram:
control barrels
User program control using punched cards
operations cards
variable cards
number cards
Analytical Engine : Analytical Engine 200+ columns of gear trains and number wheels
16 column register (store 2 numbers)
some designs had 50 register columns, with 40 decimal digits of precision
counting apparatus to keep track of repetitions
cycle time: 2.5 seconds to transfer a number from the store to a register in the mill
addition: 3 seconds
anticipatory carriage
Descriptions of the Analytical Engine : Descriptions of the Analytical Engine Babbage’s papers and drawings
L. F. Menebrea, an (Italian) Officer of Military Engineers writes “Sketch of the Analytical Engine invented by Charles Babbage, Esq.,” in Taylor’s Scientific Memoirs, Vol.III.
Translated into English by Ada Augusta Byron, Countess of Lovelace
Ada Augusta Byron, 1815-1852 : Ada Augusta Byron, 1815-1852
Daughter of the poet Byron
Later became Countess of Lovelace
Myth: “World’s first programmer”
Babbage: “my dear and much admired Interpretess”
Ada Augusta Byron : Ada Augusta Byron Translated Menebrea’s paper into English
Added “footnotes” (more than four times the original text!):
enhance the text
provide examples of how the Analytical Engine could be used
give example programs, e.g. to calculate Bernoulli numbers
Analytical Engine; Example Program : Analytical Engine; Example Program
Other Programming Features : Other Programming Features Conditional branching
Nested repetitions
…
Analytical Engine; plan 16 (1840) : Analytical Engine; plan 16 (1840)
Multiplication and Division by 10 : Multiplication and Division by 10
Portion of the Mill with Printing Mechanism : Portion of the Mill with Printing Mechanism (Under construction at Babbage’s death)
Portion of the Mill : Portion of the Mill By Charles Babbage’s son Henry, 1910
Barrel (“microprogram”) : Barrel (“microprogram”)
Analytical Eng. control barrel in Meccano : Analytical Eng. control barrel in Meccano
Control by Means of Punched Cards : Control by Means of Punched Cards
Analytical Engine : Analytical Engine Portion of mill completed 1847
Portion of printing mechanism
Returned to work on design 1858
Substantial trial model being 1871 developed:
2 accumulators of 25 digits each; an anticipating carry mechanism; a system of rods for transfer of numbers to the printing mechanism
Importance of Analytical Engine (1) : Importance of Analytical Engine (1) Developed the concept of general purpose digital computer:
Store
Arithmetic unit
Punched card input and output
Card-controlled sequencing mechanism with iteration and conditional branching
Importance of Analytical Engine (2) : Importance of Analytical Engine (2) Maurice Wilkes (British computer pioneer):
“…clear that Babbage was moving in a world of logical design and system architecture, and was familiar with and had solutions for problems that were not to be discussed in the literature for another 100 years…”
Howard Aiken (American computer pioneer):
“…felt that Babbage was addressing me personally from the past”