Skip to content

Ada the Amplifier

February 17, 2015


Plus updated links to our Knuth and TED talks

AdaPortrait

Ada Lovelace was nuts. Some have used this to minimize her contributions to the stalled development of Charles Babbage’s “Analytical Engine” in the 1840s. Judging from her famously over-the-top “Notes” to her translation of the only scientific paper (known as the “Sketch”) published on Babbage’s work in his lifetime, we think the opposite. It took nuttily-driven intensity to carry work initiated by Babbage several square meters of print beyond what he evidently bargained for.

This month we have been enjoying Walter Isaacson’s new book The Innovators, which leads with her example, and have some observations to add.

Martin Campbell-Kelly and William Aspray, in their 2013 book Computer: A History of the Information Machine with Nathan Ensmenger and Jeffrey Yost, represent a consensus scholarly view:

“One should note, however that the extent of Lovelace’s intellectual contribution to the Sketch has been much exaggerated. … Later scholarship has shown that most of the technical content and all of the programs in the Sketch were Babbage’s work. But even if the Sketch were based almost entirely on Babbage’s ideas, there is no question that Ada Lovelace provided its voice. Her role as the prime expositor of the Analytical Engine was of enormous importance to Babbage…”

We agree with much of this but feel the intellectual aspect of amplification given by her notes is being missed and needs its special due.

The “Sketch”

Babbage was a polymath and rose to the Lucasian Professorship at Cambridge in the line of Isaac Newton and Paul Dirac and Stephen Hawking, but he never gave a lecture there while making many forays into politics and polemics and industrial practice and theology. He held weekly public gatherings in London all through the 1830s which Lovelace frequented. They included a prototype of his “Difference Engine,” which the British government had funded for the creation of error-free military and scientific tables to the tune of over ten million dollars in our money, but which he abandoned on perceiving the loftier idea of universal computation. In 1837 he wrote a long manuscript on the design of his “Analytical Engine” and its mechanics for the four basic arithmetical operations plus root-extraction. He dated it finished on his forty-sixth birthday 12/26/37, but did not publish it in any form. In 1840 he gave invited lectures on the engine at the University of Turin. They were scribed by a military mathematician and later politician named Luigi Menabrea who produced a paper in French two years later.

Lovelace was also friends with the electrical pioneers Charles Wheatstone and Michael Faraday. Wheatstone prompted her to translate Menabrea’s paper, which Babbage encouraged further by suggesting she add her own notes to it. Her translation was dutiful, but her seven “Notes” labeled A–G swelled to almost triple the length.

Her Note G mainly concerned the steps for calculating the {n}th Bernoulli number (using notation {B_{2n-1}} rather than today’s {B_{2n}} or {B_n}). The technical parts included the following:

  1. A derivation of a recursive formula for {B_{2n-1}} in terms of all previous Bernoulli numbers, saying how if not fully why it was “peculiarly fitted” for the computation compared to other formulas considered.

  2. A gigantic diagram in tabular form of the recursive computation with specifics for {B_7} but detailed attention to what happens for any {n}.

  3. Several pages of concrete punch-card programming details for {B_7}, again with discussion of general {n}.

This was worked out in lengthy correspondence with Babbage and then, as Isaacson details, a month of “crunch time” for Lovelace in July 1843 before the printer deadline. Babbage wrote the following in his autobiography two decades later:

“[I] suggested that she add some notes to Menabrea’s memoir, an idea which was immediately adopted. We discussed together the various illustrations that might be introduced: I suggested several but the selection was entirely her own. So also was the algebraic working out of the different problems, except, indeed, that relating to the numbers of Bernoulli, which I had offered to do to save Lady Lovelace the trouble. This she sent back to me for an amendment, having detected a grave mistake which I had made in the process.”

There is debate on whether “algebraic working out” refers to the first part of Note G or the whole, but Lovelace asked for “the necessary … formulae” in a letter, so it seems clear to us that only the run-up to formula (8) is referred to. The identity of the “grave mistake” is not known, but it seems like an error of derivation not programming.

Masters or Doctorate?

Menabrea’s paper has a brief mention of Bernoulli numbers toward the end, which points toward Babbage having raised but not elaborated their computation in his Turin lectures. What we don’t know is how far Babbage had worked out the programming details before and after 1840. What we do see is evidence of layers of stepwise refinement from spec to program over time.

Per Babbage’s account, Lovelace worked out at least the bottom layer of all her examples. The examples in her notes B–F have stronger ties to Menabrea’s coverage. Despite Babbage’s crediting her also for their initial-layer algebraic work it is plausible that he had already digested all details. The start of Note A seems to indulge algebraic whimsy in how it styles the Difference Engine’s limitation to polynomials of degree six. She says the “particular function whose integral it was constructed to tabulate” is

\displaystyle  \Delta^7 u = 0,

thus reducing it in a sense to nothingness. She puns on six applications of {+} being “the whole sum and object of that engine,” trashing it by comparison to the Analytical Engine. Babbage tried to add a preface inveighing against the government’s refusal to fund the Analytical Engine in a way that would have come from her in print; her principled refusal may have surprised him into asking to scrap the whole paper before he saw sense and relented. In any event we can understand those who limit her credit in sections A–F to exposition and programming.

In the Bernoulli section, however, her impact in all layers comes out strong. There is a curious brief passage on why she omitted filling in plus or minus signs. Its stated deliberateness could be covering a gap in command, but in any event represents deferring a non-crucial step. The table and programming parts involve details of procedure and semantics at levels beyond what is evident from Babbage’s 1837 manuscript.

Hence we feel that, translated into today’s terms, her “Notes” make at least a great Master’s project. The question is, would it be more? Our analogy means to factor out niceties like all this happening a cool 100 years before Turing-complete computers began to be built and programmed. We’re trying to map it fairly onto graduate work in computer systems today. So which is it, master’s or doctorate?

We see several seeds of a PhD. In a long paragraph early in Note A and again later she expands on the semantic categories of the machine, which Allan Bromley toward the end of his 1982 paper opines had not been “clearly resolved” by Babbage. Unlike Babbage she keeps this development completely apart from the hardware. This includes her perceptive distinction:

“First, the symbols of operation are frequently also the symbols of the results of operations.”

Between Notes B and E she grapples with the numerics of real-number division and a hint of the idea of dividing by a series and achieving better approximation through iteration. Also in Note E, she develops the structural difference between nested and single iterations. In Note G there is hint of care about variables being free versus bound in logical sequences. Riding atop all this are her philosophical conclusions and prognostications, some of which Dick discussed and which Alan Turing answered at peer level in his 1950 paper “Computing Machinery and Intelligence.” They may be airy but all except perhaps the negative one on originality were right, and in our book that counts for a lot. As does the non-nutty overall precision of her work.

It is not unusual for a systems PhD to be “based on” and stay within the domain of equipment and topics by which the advisor applied for funding. The criterion for impact should be, did the student amplify the advisor’s vision? Did he—or she—find solutions that were not charted in advance? Does the student’s work enlarge the advisor’s prospects? Could he/she continue to develop the applications? That she and Babbage didn’t is most ascribable to lack of external funding and to engineering challenges that are still proving tough today for a project to build the Analytical Engine.

Isaacson’s book goes on to cover intricacies faced by female programmers of the ENIAC that were evidently less appreciated by the men on the hardware side. The end of Menabrea’s paper reflects the same mode of emphasizing the {+,-,*,/} operations in hardware as Babbage’s 1837 manuscript. Even as Babbage helped with the complexities of the Bernoulli application in their correspondence, the point is that he did not pre-digest them—and as Isaacson sums up, it’s her initials that are on the paper. Isaacson does not say “amplifier,” but Maria Popova does in writing about his chapter:

“But Ada’s most important contribution came from her role as both a vocal champion of Babbage’s ideas, at a time when society questioned them as ludicrous, and as an amplifier of their potential beyond what Babbage himself had imagined.”

Hence to those who say that calling her the world’s first programmer is “nonsense” we reply “nuts.” Along with Autodesk co-founder John Walker, whose Fourmilab website hosts the definitively formatted Web copy of the “Sketch” and much else on the engine, we feel reading her paper is evidence enough that she was the first to face a wide array of the vicissitudes and significances of programming.

Some Other Updates

We note that last month polished recordings of our talks from last October became available:

  • Dick’s Knuth Prize talk at FOCS on “The Stories Behind the Results.”

  • My TEDxBuffalo 2014 talk, “Getting to Know Our Digital Assistants.”

We also note a long update by Gil Kalai of multiple developments “pro” and “con” on the feasibility of quantum computing—to cite a remark by Dick in our private conversations about this post, “if only Babbage and Lovelace had been able to show how the Analytical Engine could break cryptosystems…”

Open Problems

How do you regard our “advisor-student” terms for assessing Ada Lovelace’s contributions?

[clarified in the intro that Isaacson leads with Lovelace; added “much else” for Walker; added update on Kalai (as originally intended); “three weeks” –> “a month” in July 1843; added note about her treatment of division as one of “some”->”several” seeds of a PhD; other minor edits]

10 Comments leave one →
  1. Brian Jaress permalink
    February 17, 2015 7:50 pm

    http://en.wikipedia.org/wiki/Ada_Lovelace

  2. February 18, 2015 12:24 am

    recently read “difference engine” by doron swade which is great. feel there are a lot of parallels in the development of QM computing eg by dwave to the difference/ analytical engine constructions. it would be very interesting to draw strong parallels & have been planning on doing something like that sooner or later.

    its too bad that babbages story has not really been told much, it is one of the great stories of history, it seems it could easily make a hollywood blockbuster. hey if turing can do it with imitation game, why not babbage? imitation game movie now a strong oscar contender. what one could call Best Case Scenario. and you guys who like to comment on movies, seems you havent said anything yet on it in the blog, have you? a deafening silence there!

  3. Paul Rio permalink
    February 19, 2015 12:51 pm

    Professor, Is there any chance you could give me your opinion about this P versus NP proof (version 2)?

    You could see it in

    https://hal.archives-ouvertes.fr/hal-01114642

    and pdf file in

    https://hal.archives-ouvertes.fr/hal-01114642v2/document

    Kind Regards,
    Frank.

  4. Frank Vega permalink
    February 23, 2015 9:59 am

    Professor, Is there any chance you could give me your opinion about this P versus NP proof (version 2)?

    You could see it in

    https://hal.archives-ouvertes.fr/hal-01114642

    and pdf file in

    https://hal.archives-ouvertes.fr/hal-01114642v2/document

    Kind Regards,
    Frank.

    • February 23, 2015 11:25 pm

      Dear Frank: Your steps are all definable in the same way if the machines can have an “oracle” for a PSPACE-complete problem B. However, P=NP becomes true in that case, so your argument cannot refute it. The mistake is not thinking of possible algorithms beyond simple search.

  5. February 25, 2015 12:36 pm

    I finally watched the Knuth talk. I enjoyed it! 🙂

Trackbacks

  1. Whewell’s Gazette: Vol: #36 | Whewell's Ghost
  2. ada lovelace, worlds 1st programmer, happy 200th birthday! | Turing Machine

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s