Распутывая историю Ады Лавлейс (первого программиста в истории)

в 13:16, , рубрики: ada byron, ada lovelace, aвгуста aда кинг, Stephen Wolfram, wolfram language, wolfram mathematica, wolfram research, ада байрон, Ада Лавлейс, Алгоритмы, Блог компании Wolfram Research, математика, первый программист, программа, Программирование, Профессиональная литература, разностная машина, стивен вольрам, цикл, чарльз бэббидж, метки: , ,
Распутывая историю Ады Лавлейс (первого программиста в истории) - 1

Перевод поста Стивена Вольфрама "Untangling the Tale of Ada Lovelace".
Выражаю огромную благодарность Кириллу Гузенко KirillGuzenko за помощь в переводе и подготовке публикации.


Содержание

Ранние годы Ады
Чарльз Бэббидж
Уровень развития этой области
Возвращаемся к Аде
Возвращаясь к Бэббиджу
Статья Ады
После статьи
После смерти Ады
Что стало с Бэббиджем?
Повторное открытие
О чем на самом деле писала Ада
Вычисление чисел Бернулли
Бэббидж vs. Ада?
Секретный ингредиент Бэббиджа
В большем масштабе
А что, если...
Какими они были?
Заключение


Ада Лавлейс родилась 200 лет назад. Для некоторых она является знаменательной фигурой в истории вычислительной техники; для других — изрядно переоцененной личностью. В течение долгого времени я пытался разобраться, как всё было на самом деле. И вот, к её двухсотлетию, я решил разобраться в том, что называл для себя "тайной Ады".

Получилось намного сложнее, чем я ожидал. Историки расходятся во мнениях. Личности в истории сложно изучать. Технологии трудно понять. Вся история переплетается с обычаями 19-го века британского высшего общества. И есть удивительное количество ошибочных сведений и неверных трактовок.

Но после некоторого исследования, в том числе просмотра большого количества оригинальных документов, я чувствую, что я, наконец, понял, кто есть Ада Лавлейс, и какова ее история. Эта история полна как увлекательных, захватывающих моментов, так и трагичных, разочаровывающих.

Это сложная история, и чтобы в ней разобраться, нужно будет о многом рассказать.

image

Ранние годы Ады

Давайте начнём с самого начала. Ада Байрон (её девичье имя) родилась в Лондоне 10 декабря 1815 года у недавно женившейся пары из высшего общества. Ее отцу — лорду Байрону (Джордж Гордон Байрон) — было 27 лет, и в этом возрасте он обрёл большую популярность в Англии благодаря своим стихам. Ее мать, Аннабелла Милбэнк, 23-летняя сторонница прогрессивных взглядов, унаследовала титул баронессы Вентворт. Её отец сказал, что назвал её Адой, потому что это имя краткое, древнее и певучее.

Родители Ады — эдакий этюд противоположностей. Байрон вёл бурную жизнь, и, пожалуй, стал самым ярким «плохишом» (top bad boy) 19-го века — с тёмными эпизодами из детства и отрочества и большим количеством романтических и прочих историй. Помимо стихосложения и попрания социальных норм своего времени, он часто вытворял что-то необычное: держал ручного медведя в своей комнате во время учебы в Кембридже, например, или жил с поэтами в Италии и «пятью павлинами на парадной лестнице» (цитата одного из знакомых Байрона), писал учебник по армянской грамматике, и, если бы он не умер так рано, вёл бы войска в греческой войне за независимость (о чём напоминает большая статуя в Афинах), несмотря на полное отсутствие военной подготовки.

Аннабелла Милбэнк была образованной, религиозной и весьма правильной женщиной, увлеченной реформами и добрыми делами, которую Байрон прозвал «Принцессой параллелограммов». Её брак с Байроном продержался совсем недолго, и развалился, когда Аде было всего 5 недель; Ада больше никогда не видела своего отца (хоть он и держал её фотографию на своем столе и упоминал её в своей поэзии). Он умер в возрасте 36 на пике своей славы, когда Аде было 8. Был огромный шум вокруг него, породивший сотни книг и «священную войну» между сочувствующими Леди Байрон (как представляла себя мать Ады) и самому Байрону, которая длилась целый век, если не больше.

Ада провела своё детство обособлено на арендованных усадьбах своей матери, с гувернантками, воспитателями и своей кошкой — миссис Пафф. Её мать часто отсутствовала по разным (довольно дурацким) причинам, связанными с оздоровительными мероприятиями, обеспечила Аде насыщенную систему образования со многими часами занятий и упражнениями по самоконтролю. Ада изучала историю, литературу, языки, географию, музыку, химию, шитье, скоропись и математику (преподаваемую отчасти с эмпирическим подходом) до уровня элементарной геометрии и алгебры. Когда Аде было 11, она отправилась с матерью и окружением в годовое путешествие по Европе. Когда она вернулась, она была весьма увлечена в изучении того, что она назвала флайологией, размышляя о том, как можно воспроизвести полет птицы с помощью паровых машин.

Потом Ада заболела корью (и, возможно, энцефалитом), проведя в итоге 3 года прикованной к постели и в плохом здравии. Она успела полностью выздороветь к моменту, когда, согласно обычаям общества того времени, девушкам следовало вливаться в социум: ближе к 17 она уехала в Лондон. 5 июня 1833 года, спустя 26 дней после того, как она была «представлена при Дворе» (т. е. встретила короля), она была на приёме у 41-летнего Чарльза Бэббиджа (чей старший сын был ровесником Ады). Очевидно, она очаровала хозяина, и он пригласил ее вместе с матерью на показ своей недавно созданной разностной машины: 60-ти сантиметровая в высоту штуковина на ручном управлении с двумя тысячами латунных компонентов, которую сейчас можно увидеть в музее науки в Лондоне:

image

Мать Ады назвала ее «думающей машиной», и затем сообщила, что она может находить корни квадратных уравнений, а так же возводить некоторые числа во вторую и третью степень. Это событие изменило жизнь Ады.

Чарльз Бэббидж

Какова история Чарльза Бэббиджа? Его отец был успешным и предприимчивым ювелиром и банкиром. После различных школ и частных преподавателей Бэббидж отправился в Кембридж, где изучал математику, но вскоре загорелся идеей о модернизации принятых там подходов к математике, и вместе со своими друзьями (дружба коих продлилась всю жизнь) Джоном Гершелем (сын первооткрывателя Урана) и Джорджем Пикоком (ставшим в последствии первопроходцем в абстрактной алгебре), основал Аналитическое сообщество (которое впоследствии стало именоваться Кембриджским философским сообществом), чтобы продвигать такие реформы, как, скажем, замену точечной нотации Ньютона (Британская) в вычислениях на Лейбницовскую (Континентальную), основанную на функциях.

Распутывая историю Ады Лавлейс (первого программиста в истории) - 4

Бэббидж закончил Кембридж в 1814 году (за год до рождения Ады Лавлейс) и уехал со своей женой жить в Лондон, где реализовывался на научной и общественной сцене. У него не было работы как таковой, однако он читал лекции по астрономии и написал несколько хорошо принятых статьей в различных математических областях (функциональные уравнения, бесконечные произведения, теория чисел и т. д.), и поддерживался отцом и семьей своей жены.

В 1819 году Бэббидж посетил Францию и узнал о крупномасштабном правительственном проекте по созданию таблиц логарифмов и тригонометрических функций. Математические таблицы в те дни имели большую значимость в военной и коммерческой областях, использовались в науке, финансах, инженерных расчетах, навигации. Часто говорилось о том, что ошибки в таблицах могут посадить корабли на мель и разрушить мосты.

Вернувшись в Англию, Бэббидж вместе с Гершелем основал проект по созданию таблиц для их нового астрономического сообщества, и, в попытках проверить эти таблицы, говорят, Бэббидж воскликнул: "Молю Бога, пускай эти таблицы будут получены силой пара!", что и ознаменовало начало его труда длинною в жизнь в попытке механизировать создание этих таблиц.

Уровень развития этой области

Механические калькуляторы были и задолго до Бэббиджа. Паскаль сделал таковой в 1642 году, и сейчас мы знаем, что и в античные времена был по крайней мере один. Но во времена Бэббиджа такие машины были большой редкостью и недостаточно надежными для регулярного использования. Таблицы создавались людьми — вычислителями (это была профессия), работа распределялась по команде, а самые низкоуровневые вычисления основывались на оценке многочленов (скажем, разложением в ряд) с использованием разностного метода.

Бэббидж мыслил, что может быть такое устройство — разностная машина — которая сможет вычислять любой многочлен до определенной степени посредством разностного метода, которая затем будет автоматически выдавать результат, сводя человеческий фактор, тем самым, к нулю.

image
image
(Музей истории науки)

К началу 1822-го 30-летний Бэббидж изучал различные виды механизмов, создавая прототипы и мысля о том, какой может быть разностная машина. Астрономическое сообщество, в котором он был соучредителем, наградило его медалью за идею, а в 1823 году британское правительство согласилось предоставить финансирование для создания подобной машины.

В 1824-ом Бэббидж слегка отклонился от темы со своей идеей о компании по страхованию жизни, для которой он сделал множество расчетных таблиц. Однако он оборудовал мастерскую в своей конюшне (в своем «гараже») и продолжил прорабатывать идеи о том, как реализовать разностную машину с использованием компонентов и инструментов его времени.

В 1827-ом таблица логарифмов, составленная вручную, наконец была закончена, после чего переиздавалась в течение приблизительно ста лет. Бэббидж напечатал эти таблицы на желтой бумаге, преследуя мысль, что это уменьшит количество ошибок при пользовании ими. (Когда я учился в начальной школе, таблицы с логарифмами были все еще самым быстрым способом для вычисления произведений).

Кроме того, в 1827 году умер отец Бэббиджа, оставив ему в наследство около ста тысяч фунтов стерлингов, что приблизительно равно $14 000 000 в современном выражении, и эти деньги обеспечили жизнь Бэббиджа до конца его жизни. В том же году, однако, умерла и его жена. Она оставила его с восемью детьми, из которых только трое дожили до совершеннолетия.

Подавленный смертью жены, Бэббидж отправился в путешествие по континентальной Европе, и, под впечатлением от увиденных научных достижений, написал книгу — Размышления об упадке науки в Англии — которая породила резкую критику Королевского общества (членом которого он являлся).

image

Пускай и часто отвлекаясь, Бэббидж продолжал работать над разностной машиной, производя тысячи страниц с заметками и чертежами конструкций. Он был весьма хорош в создании чертежей и экспериментов с механизмами. Но в управлении нанятыми им инженерами он был не очень силен, равно как и в управлении финансами. Тем не менее, к 1832-му небольшой рабочий прототип разностной машины (без печатающего устройства) был успешно завершен. И это было именно то, что Ада Лавлейс увидела в июне 1833-го.

image
(Музей науки /библиотека изображений Наука и Общество)

Возвращаемся к Аде

Пожалуй, именно после того, как Ада увидела разностную машину, в ней проснулся интерес к математике. Она познакомилась с Мэри Сомервилль — переводчиком Лапласа и известным толкователем науки, и, частично под её влиянием, вскоре стала с энтузиазмом изучать работы Евклида. 1834-ом Ада приняла участие в благотворительной поездке по фабрикам северной Англии, устроенной её матерью, в результате чего оказалась под впечатлением от имеющихся у них образцов высокотехнологичного по меркам тех времен оборудования.

image

По возвращению Ада обучала математике некоторых дочерей подруг её матери. Она продолжала вести занятия по почте, отмечая, что это может быть "началом математической переписки на многие годы между двумя леди высшего ранга, которая, без сомнений, в дальнейшем может быть опубликована как наставление человечеству (mankind) или женской его части (womankind — игра слов; man и как человек, и как мужчина)". В письмах Ады не содержалось сложной математики, однако выражалась она весьма ясно, сопровождая письма наставлениями вроде «никогда не стоит ограничиваться косвенным доказательством, если можно привести прямое.» (Многое, что в переписке Ада приводила подчеркнутым, здесь представлено курсивом).

Бэббидж, пожалуй, поначалу недооценил Аду, пытаясь заинтересовать её в игрушкой, представляющую из себя механическую куклу (Silver Lady automaton toy), которую он демонстрировал на своих приемах. Но Ада продолжала общение с Бэббиджем и Сомервилль — как по отдельности, так и вместе. И вскоре Бэббидж посвятил её во множество тем, в том числе в проблему финансирования государством его проекта по созданию разностной машины.

Весной 1835 года, когда Аде было 19, она встретила 30-летнего Уильяма Кинга (или, если быть точным, лорда Уильяма Кинга). Он был другом сына Мэри Сомервилль, обучался в Итоне (в той же школе, в которую я пошел 150 лет спустя) и Кембридже, а затем был государственным служащим, впоследствии на форпосте Британской империи на греческих островах. Уильям, похоже, был точным, добросовестным и порядочным человеком; быть может, немного жестким. Но, в любом случае, у Ады с ним быстро все закрутилось, и 8 июля 1835 года они поженились, не оглашая этого до последней минуты, боясь огласки и излишнего внимания прессы.

Следующие несколько лет жизни Ады, кажется, посвящены воспитанию троих детей и управлению крупным хозяйством, хотя она уделяла некоторое время верховой езде, обучению игры на арфе и математике (в том числе таким темам, как сферическая тригонометрия). В 1837 году королева Виктория (коей было тогда 18) взошла на престол, и, как член высшего общества, Ада встретилась с ней. В 1838 году, в связи со своей государственной службой, Уильям был удостоен графского титула, и Ада стала графиней Лавлейс.

image
(Powerhouse Museum в Сиднее)

Спустя несколько месяцев после рождения третьего ребенка в 1839 году, Ада с серьезным настроем вернулась к математике. Она сказала Бэббиджу, что хочет найти в Лондоне наставника по математике, попросив при этом не упоминать её имя — вероятно, боясь огласки.

Аде был представлен Август де Морган, первый профессор математики в Университетском колледже Лондона, выдающийся логик, автор нескольких учебников, и не только друг Бэббиджа, но и мужа дочери основного учителя детства матери Ады. (Да, это был маленький мир. Де Морган так же был другом Джорджа Буля и человеком, который, пусть и опосредованно, являлся причиной появления булевой алгебры).

В переписке с Бэббиджем Ада проявила интерес к дискретной математике и удивлялась, к примеру, тому, что пасьянс "можно свести с математическим формулам и решить". Но в соответствии с традициями математического образования того времени (кои распространяются и на наше время), де Морган обучал Аду математическому анализу.

image
(Британская библиотека)

Её письма к де Моргану касательно исчисления не особо отличались от таковых для студентов, изучающих математический анализ в наши дни, однако были чем-то весьма необычным для времён викторианской Англии. Даже многие из заблуждений такие же, хотя Аду больше обычного задевали неудачные обозначения в вычислениях ("почему нельзя умножить на dx?" и т. д.). Ада была упорной ученицей, и, казалось, с удовольствием погружалась в глубины математики. Она была рада открытию в себе математических способностей и высокой их оценке де Морганом. Она поддерживала связь с Бэббиджем, и в один из его визитов (в январе 1841 года, когда ей было 25 лет), она очаровательно сказала тогда 49-летнему Бэббиджу «Если вы катаетесь на коньках, обещайте принести коньки в Оккам; это самое модное место сейчас, которое обязательно нужно посетить».

image

Отношения Ады с матерью были весьма сложными. Со стороны казалось, что Ада относится к матери с большим уважением. Но, кажется, она постоянно сталкивалась с попытками своей матери контролировать её и манипулировать ею. Мать Ады часто жаловалась на свое здоровье, причитала о том, что вот-вот умрет (но на самом деле она дожила до 64 лет). Она часто критиковала Аду по вопросам воспитания детей, ведения домашнего хозяйства, поведения в обществе. Но 6 февраля 1841-го Ада имела достаточно уверенности в себе и своих занятиях математикой, чтобы написать весьма подробное письмо своей матери о своих мыслях и стремлениях.

Она писала: "Я считаю себя обладателем очень редкой комбинации качеств, идеально подходящих для того, чтобы сделать меня первооткрывателем скрытых реалий природы." Она рассказывала о своих амбициях в создании великого, о своей «неуемной и беспокойной энергии», которой, по её мнению, она нашла приложение. И говорила о том, что после 25 лет она стала менее «скрытной и подозрительной» по отношению к ней.

Но спустя три недели её мать рассказала о том, что ещё до рождения Ады у Байрона и его сводной сестры появился ребенок, и эта новость выбила ее из колеи. Инцест в те времена в Англии не был чем-то противозаконным, но это был скандал. Аде было трудно это принять, и на некоторое время она отдалилась от математики.

У Ады периодически возникали проблемы со здоровьем, а в 1841 году, видимо, ситуация ухудшилась, и она начала систематически принимать опиаты. Она очень хотела преуспеть в чём-то, и начала думать, что, возможно, она должна посвятить себя музыке и литературе. Но её муж Уильям, похоже, отговорил её от этой идеи, и в конце 1842 она вернулась к математике.

Возвращаясь к Бэббиджу

Чем же Бэббидж занимался всё это время? Самыми разными вещами и с переменным успехом.

После нескольких попыток он смог утвердиться на должность лукасовского профессора математики в Кембридже, однако в последствии он там особо и не бывал. Тем не менее, он написал, как впоследствии оказалось, весьма важной книгой — Экономику технологий и производства (On the Economy of Machinery and Manufactures), в которой рассказывалось о том, как распределять производственные задачи (вопрос, который на самом деле возник в связи с вычислениями математических таблиц).

image

В 1837 году он занимался популярной в те времена естественной теологией, добавив свой Девятый Трактат Бриджуотера в серию трактатов, написанных другими людьми. Центральный вопрос звучал как-то так: "Являются ли доказательством существования Бога какие-то наблюдаемые особенности природы и окружающей среды?" Книгу Бэббиджа довольно трудно читать (и переводить!); возьмём, к примеру, цитату: “Понятия, которые мы черпаем из задумок и планов, рождаются из сравнения наших наблюдений за творением других сущих со стремлениями, в которых мы видим наши собственные начинания.” (“The notions we acquire of contrivance and design arise from comparing our observations on the works of other beings with the intentions of which we are conscious in our own undertakings.”)

Явно резонируя с некоторыми мыслями из моей работы, вышедшей 150 лет спустя, он рассуждает о взаимосвязях между механическими процессами, законами природы и свободной волей. В своей книге он утверждает, что "сложные расчеты могут осуществляться с помощью механических средств", но потом продолжает утверждать (приводя весьма слабые примеры), что механический двигатель может производить последовательности чисел, демонстрирующие неожиданные изменения, сравнивая это с чудом.

image

image

image

Бэббидж пробовал свои силы в политике, дважды баллотировался в парламент с ориентированной на промышленность программой, однако не смог победить на выборах, частично из-за претензий по злоупотреблениям в обращении с казенными деньгами, выделенными на разностную машину.

Бэббидж продолжал устраивать приемы по высшему разряду в своём доме в Лондоне, завлекая таких светил таких, как Чарльз Диккенс, Чарльз Дарвин, Флоренс Найтингейл, Майкл Фарадей и герцог Веллингтон, коего часто сопровождала его престарелая мать. Но даже несмотря на то количество званий и почестей, которые перечислялись в шесть строк после его имени, его сильно огорчало, как он считал, отсутствие признания.

Распутывая историю Ады Лавлейс (первого программиста в истории) - 17

Центром всего этого была судьба разностной машины. Бэббидж нанял лучших инженеров своего времени для построения машины.  Но, по каким-то причинам, несмотря на десять лет работы и множество высокоточных станков и инструментов, машина так и не была построена.  Вернёмся к 1833 году; вскоре после встречи с Адой, Бэббидж попытался взять проект под полный свой контроль, но в результате главный инженер вышел из проекта и настаивал, что ему полагаются все чертежи разностной машины, даже выполненные самим Бэббиджем.

Но в то время Бэббидж считал, что у него наверняка лучшее представление о будущем этой машины. Вместо машины, которая бы просто вычисляла разности, он представлял себе "аналитическую машину", которая поддерживала бы множество различных операций, которые можно было бы задавать в некоторой запрограммированной последовательности.  Сперва он представлял себе машину, которая вычисляет какие-то определенные формулы, однако в дальнейшем он добавлял новые возможности, как, к примеру, условия, и объяснял, зачастую предлагая весьма изящные пути, как с помощью механизмов реализовать тот или иной функционал.  Но, что самое главное, он понял, как контролировать шаги вычислений с помощью перфокарт, подобных тем, что были изобретены в 1801 году Жаккардом для задания шаблонов шитья на ткацких станках.

image
(Музей истории науки)

Бэббидж создал несколько очень сложных конструкций, и сейчас представляется, что они прекрасно могли бы работать. Но вернемся в 1826-ой год, когда Бэббидж изобрел то, что назвал "Механической нотацией". Её цель заключалась в символьном представлении операций механизмов так же, как математическая нотация описывает операции в математике.

К 1826-му году Бэббидж был сильно подавлен тем, что люди не оценили его изобретение. Без сомнений, люди не понимали его, поскольку даже сейчас не ясно, как работают его изобретения. Но, по всей видимости, это было его величайшим изобретением, конструкцию и принципы работы которого он смог описать весьма подробно.

Проект Бэббиджа по созданию разностной машины стоил британской короне £17 500, что в сегодняшних деньгах около $2 000 000.  Это была весьма скромная сумма по сравнению с другими государственными расходами, но проект, в силу своей необычности, был широко обсуждаем. Бэббидж любил подчеркивать, что, в отличие от многих своих современников, он не получал за свою работу деньги от правительства (за исключением платежей на модернизацию его мастерской в пожаробезопасную и пр.).  Он также утверждал, что потратил £20 000 из собственных средств — большую часть своего состояния (не совсем понимаю, откуда это число) в свои различные проекты.  И он продолжал предпринимать попытки в получении дополнительной поддержки от государства, наметив план для своей разностной машины №2, которая требовала лишь 8000 частей вместо 25 000.

К 1842 году правительство сменилось, и Бэббидж настаивал на встрече с новым премьер-министром (Робертом Пилом), но у него это не вышло, что его сильно разозлило.  В парламенте идея финансирования разностной машины, в конце концов, просела под весом шуток на тему ее использования. (Стенограммы дебатов о разностной машине весьма очаровывают, особенно, когда доходит до обсуждений её возможных применений для государственной статистики, что входит в удивительный резонанс с сегодняшними вычислительными возможностями Wolfram|Alpha.)

Статья Ады

Несмотря на отсутствие поддержки в Англии, идеи Бэббиджа обрели некоторую популярность в другом месте, и в 1840 году Бэббидж был приглашен для чтения лекций по аналитической машине в Турин, где был удостоен почестей от итальянского правительства.

Бэббидж никогда не публиковал сколь нибудь подробный обзор разностной машины, и совсем ничего не писал об аналитической машине. Но он рассказывал об аналитической машине в Турине некому Луиджи Менабреа — 30-летнему военному инженеру, который 27 лет спустя стал премьер-министром Италии (а так же внес свой вклад в становление структурного анализа в математике).

В октябре 1842 года Менабреа опубликовал статью на французском языке, основанную на своих заметках. Когда Ада увидела его статью, она решила перевести её на английский язык и представить её в британском издании. Много лет спустя Бэббидж говорил, что предложил Аде написать свою собственную работу об аналитической машине, на что она ответила, что эта мысль не приходила ей в голову. Тем не менее, в феврале 1843 года Ада решила сделать перевод и добавить к нему обширные примечания.

image

Последующие месяцы она очень усердно работала над этой темой, ведя практически каждодневный обмен письмами с Бэббиджем (несмотря на наличие и других «неотложных и неизбежных встреч»). И хотя в те времена письма отправлялись по почте (которая приходила по 6 раз в день в Лондоне в те времена), или отправлялись с гонцом (Ада жила примерно в миле от Бэббиджа, когда жила в Лондоне), они были весьма похожи на современные e-mail, коими обмениваются участники проекта, за исключением того факта, что дело это происходило в викторианской Англии. Ада задает Бэббиджу вопросы; он отвечает; она что-то объясняет; он комментирует это. Очевидно, что она была в подчинении, но чувствовалось, что она весьма раздражалась, когда Бэббидж, к примеру, пытался внести свои собственные коррективы в её рукописи.

Очень увлекательно читать письма Ады о том, как она работает над отладкой её системы вычислений чисел Бернулли: "Мой дорогой Бэббидж. Я весьма растеряна, столкнувшись с этими числами, так что у меня нет возможности разобраться со всем сегодня… Так что я возвращаюсь к верховой езде. Tant mieux (тем лучше – фр.)." Позже она писала Бэббиджу: "Я работала не переставая весь день, при том весьма успешно. Вы будете чрезвычайно очарованы получившимися таблицами и диаграммами. Они были сделаны с особой точностью, а все указатели собраны весьма подробно и скрупулезно." Затем она добавила, что Уильям (или «Лорд Л.», как она его называла) "весьма любезно обвел всё для меня в чернилах. Мне нужно было вначале сделать всё карандашом..."

Посмотреть иллюстрации...

image

image

Похоже, именно Уильям предложил ей подписать перевод и примечания. Как она писала Бэббиджу: "Это не было моим желанием – подписываться, в то же время я хотела добавить нечто, что помогло бы меня идентифицировать, связать этот текст с будущими работами, подписанными как A.A.L." (Ада Августа Лавлейс).

К концу июля 1843 года Ада почти закончила работу над своими записями. Она гордилась ими, равно как и Бэббидж весьма лестно о них отзывался. Но Бэббидж хотел ещё кое что: добавить анонимное предисловие (написанное им), в котором говорится о том, как британское правительство не смогло поддержать проект. Аде показалось это плохой идеей. Бэббидж настаивал, говоря, что без предисловия публикацию следует изъять. Ада была в ярости, и сказала об этом Бэббиджу. В конце концов, появился перевод Ады, подписанный как «A.A.L.» и без предисловия, содержащий ее заметки в главе «Примечания переводчика».

Ада с большой радостью отправила своей матери копию статьи, объясняя, что "никто не может оценить масштаб проблемы и бесконечный труд, который требует перепроверка всех математических формул для печати. Это радостная перспектива, ведь, получается, многие сотни и тысячи подобных формул в той или иной степени выйдут из-под моего пера". Она говорила, что её муж Уильям увлеченно раздавал копии своим друзьям, а так же писала, что "Уильям представляет меня в столь праведном свете, что никто другой не смог с ним сравниться в этом. А так же он говорил мне, что моя работа хорошо сказалась на его репутации."

В течение нескольких дней всё общество обсуждало публикацию Ады. Она объяснила матери, что они с Уильямом "отнюдь не стремились сделать это в тайне, но в то же время не хотели, чтобы важность этого события была преувеличенной и переоцененной". Она видела себя как в роли успешного интерпретатора и толкователя работ Бэббиджа, представляя их в более ясном свете.

О содержании записей Ады можно многое сказать. Но прежде чем мы перейдем к этому, давайте закончим рассказ о самой Аде.

И пусть предисловие Бэббиджа не было хорошей идеей, однако именно оно сподвигло Аду написать ему 14 августа 1843-го весьма захватывающее и очень откровенное 16-страничное письмо. (В отличие от своих обычных писем на маленьких сложенных страницах, это размещалось на больших листах.) В нём она объясняет, что, он зачастую «неявный» в своих речах, а она сама «всегда явная функция от х». Она говорит, что «Ваши дела глубоко занимали и занимают как меня, так и Лорда Лавлейс… И, так получилось, что у меня есть на Вас планы...» Затем она переходит к вопросу: «Если я представлю Вам на один-два года весьма достойное предложение по созданию Вашей машины… будет ли какой-то шанс в допущении меня… к управлению этим делом; это позволит Вам полностью сосредоточиться непосредственно на работе...»

image

Другими словами, она предлагала взять на себя роль управляющего, а Бэббиджу стать техническим директором. Это было непросто, особенно учитывая личность Бэббиджа. Но она умело делала своё дело, и в рамках этого она рассказала об устройстве своих мотивов. Ада писала: «Мой собственный непреложный принцип заключается в стремлении любить истину и Бога более славы и почета ...», в то время как Ваша «любовь к истине и Богу… затмевается стремлением к славе и признанию.» Но далее поясняла: «Не была бы я собой, если бы отрицала влияние на себя амбиций и жажды славы. Ни одна живая душа не проникалась этим более, чем я... и я, конечно, не стала бы обманывать себя или других, делая вид, что это вовсе не важный мотив и составляющая моего характера и натуры.»

А письмо закончила так: «Интересно, продолжите ли Вы работу со своей волшебницей (lady-fairy)?»

На следующий день в полдень она снова написала Бэббиджу с просьбой в помощи над «окончательной редакцией.» Затем она добавила: «Сегодня утром Вы получили мое длинное письмо. Возможно, Вы больше не захотите иметь дело со мной. Но я надеюсь на лучшее...»

image

image
(Нью-Йоркская публичная библиотека)

В 5 часов вечера того же дня Ада была в Лондоне и писала своей матери: «Я не понимаю, как обернётся дело с Бэббиджем… Я писала ему… весьма конкретно, представив ему мои собственные условия… Он столь убеждён в преимуществе своего верховенства, что наверняка откажется; хотя я требовала от него пойти на сильные уступки. Если он примет мое предложение, то мне, пожалуй, нужно будет заняться его положением и довести его машину до завершения (однако, исходя из того, что я видела в отношении него и его привычек в последние три месяца, мне кажется, что это едва ли произойдет, по крайней мере, если кто нибудь на него сильно не повлияет и не вынудит). Порою он сверх меры неорганизован и бессистемен. Я готова заниматься им течение последующих трех лет, если увижу достойные шансы на успех».

На копии письма Ады Бэббиджу он написал: «Видел AAL сегодня утром и отказался от всех ее предложений.»

image

Тем не менее, 18 августа Бэббидж писал Аде о том, что принесёт записи и чертежи, когда в следующий раз к ней наведается. На следующей неделе Ада писала Бэббиджу: «Мы весьма рады Вашему (несколько неожиданному) предложению» (после долгого визита к Аде и её мужу). После Ада писала матери: «Бэббидж и я, полагаю, в лучших отношениях сейчас, чем когда-либо. Я никогда не видела его столь милым, столь благоразумным и в таком добром духе! „

Посмотреть иллюстрации...

Затем, 9 сентября Бэббидж писал Аде, выражая своё восхищение ею и (лестно) называл её “заклинательницей числа» и «моя дорогая и восхитительная толковательница». (Да, часто его неверно цитируют, он написал «числа», а не «чисел»).

image

На следующий день Ада ответила Бэббиджу: «Вы отважный человек, что допустили к руководству над Вами Вашу волшебницу!», а Бэббидж в следующем письме подписался как «Ваш покорный слуга». И в своём письме матери Ада описывала себя как "верховную жрицу разностной машины Бэббиджа".

После статьи

Но, к сожалению, всё вышло не так, как ожидалось. Какое-то время Ада занималась семейными и домашними делами, заброшенными в период, когда она была сосредоточена на своих записях. Но после её здоровье сильно пошатнулось, и она многие месяцы потратила на докторов и различных «целителей» (её мать предложила ей «месмеризм», то есть гипноз).

Тем не менее, она всё ещё восхищалась наукой. Ада общалась с Майклом Фарадеем, который прозвал ее "восходящей звездой науки". Она говорила о своей первой публикации как о "своём первенце", «в красках и с подтекстами (весьма неявно выраженными) о своих весьма общих и обширных метафизических представлениях». Она писала: «Он (её труд; она его называет „Он“ – прим.) станет (как я надеюсь) прекрасным главой большой семьи с большим количеством братьев и сестер».

Когда её примечания были опубликованы, Бэббидж сказал: «Вам следует написать свою собственную статью. Однако, если немного повременить, то её можно сделать ещё более прекрасной». Но в октябре 1844 года Дэвид Брюстер (изобретатель калейдоскопа, среди прочего) решил написать об аналитической машине, и Ада спросила, что, возможно, Брюстер может предложить для неё другую тему, сказав при этом: "Я думаю, что некоторые темы из области физиологии могли бы мне подойти; впрочем, как и любые другие."

И в самом деле, в том же году она писала своему другу (который был также её адвокатом и сыном Марии Сомервилль): «Я не считаю, что структуры головного мозга менее подвластны математикам, нежели движения и свойства звёзд и планет; вполне, если выбрать для их рассмотрения правильную точку зрения. Я хотела бы оставить последующим поколениям вычисляемую модель нервной системы.»  Впечатляющее видение, и это за 10 лет до того, как, например, Джордж Буль поднял вопрос касательно подобных вещей.

Как Бэббидж, так и Мэри Сомервилл начинали свою научныю карьеру с переводов, и она видела для себя такой же путь, говоря, что, возможно, её следующими работами будут обзоры Уэвелла и Ома, и что она вообще в конечном итоге может стать "пророком от науки".

Конечно, у неё были и преграды. Как, например, то, что у женщин в те времена не было доступа к библиотеке Королевского общества в Лондоне, хотя её муж, частично благодаря её усилиям, являлся членом этого общества. Но самая серьезная проблема по-прежнему заключалась в здоровье Ады. У неё было множество проблем, хотя в 1846 году она все ещё говорила с оптимизмом: «Нужны лишь ещё год или два терпения и занятий своим здоровьем.»

Также были и проблемы с деньгами. У Уильяма был нескончаемый ряд сложных и часто довольно инновационных строительных проектов (кажется, он особенно интересовался башнями и тоннелями). И с просьбой о финансировании они вынуждены были обратиться к матери Ады, с которой зачастую сложно было иметь дело. Дети Ады уже входили в подростковый возраст, и ей приходилось уделять им много времени.

Между тем, у неё были хорошие отношения с Бэббиджем, она стала видеть его чаще, хотя в своих письмах она рассказывает о собаках и домашних попугаях чаще, чем об аналитической машине. В 1848 году у Бэббиджа была опрометчивая идея в создании машины, играющей в крестики-нолики, для проведения тура по стране с целью сбора денег на его проекты. Ада его отговорила. Центром идеи Бэббиджа была встреча с принцем Альбертом для обсуждения его машин, но этого так и не произошло.

Уильям тоже публиковался. У него уже были краткие работы с такими названиями, как «метод выращивания фасоли и капусты на одной и той же земле» и «О свекле сорта Мангольд». Но в 1848 году он написал ещё одну статью, сравнивая производительность сельского хозяйства Франции и Англии, основываясь на подробных статистических данных, с замечаниями наподобие "Легко показать, что французы не просто намного хуже англичан, но и то, что сейчас они питаются даже хуже, чем в самые плохие времена империи."

image

1850-ый стал важным годом для Ады. Она и Уильям переехали в новый дом в Лондоне, в результате усилив своё присутствие на лондонской научной сцене. Она была под сильным впечатлением после того, как впервые посетила дом семьи её отца на севере Англии, из-за чего у неё с матерью возник спор. Затем она увлеклась ставками на скачки и потеряла на этом некоторую сумму. (Нельзя не сказать, что это было в её или Бэббиджа стиле — разработать какую-нибудь математическую схему для ставок, но нет никаких доказательств, что они этим занимались.)

В мае 1851-го открылась всемирная выставка в Хрустальном дворце в Лондоне. (Когда Ада решила посетить её в январе, Бэббидж ей писал: "Молю, наденьте шерстяные чулки, обувь на пробковой подошве и любые другие вещи, которые сохранят Вас в тепле.") Выставка демонстрировала передовые проявления викторианской науки и техники, и Ада, Бэббидж и их научный круг общения были под впечатлением (хотя Бэббидж и ожидал большего). Бэббидж раздавал листовки по своей механической нотации в больших количествах. Уильям получил премию за решение в области производства кирпичей.

Однако за этот год ситуация со здоровьем Ады стала совсем тяжелой. Какое-то время её врачи просто советовали ей проводить больше времени на море. Но в конце концов они обнаружили у неё рак (исходя из того, что мы знаем сейчас, скорее всего это был рак шейки матки). Опиум больше не подавлял боль; она начала экспериментировать с марихуаной. К августу 1852-го она писала: "я начинаю понимать смерть; она незаметно и постепенно подбирается каждую минуту, и она никогда не будет делом какого-то определенного момента." А 19 августа она попросила друга Бэббиджа — Чарльза Диккенса — прийти к ней и прочитать рассказ о смерти из одной его книги.

Её мать переехала в её дом, держа других людей от неё подальше, а 1 сентября Ада сделала некоторое неизвестное признание, кое явно расстроило Уильяма. Она, казалось, была близка к смерти, но, превозмогая боль, она продержалась еще три месяца, и в конце концов умерла 27 ноября 1852-го в возрасте 36 лет. Флоренс Найтингейл, которая присматривала за Адой и была её другом, писала: "Говорят, что она не смогла бы прожить так долго, если бы не огромная жизнеспособность её мозга, который не хотел умирать."

Ада выбрала Бэббиджа исполнителем её воли. И, к огорчению её матери, была похоронена в семейном склепе Байрона рядом с отцом, который, как и она, умер в возрасте 36 лет (Ада прожила на 254 дня дольше). Её мать построила мемориал, на котором содержался сонет с названием «Радуга», написанный Адой.

image

После смерти Ады

Похороны Ады были весьма скромными; ни её мать, ни Бэббидж не присутствовали. Но некрологи были доброжелательными, в духе викторианской эпохи:

image

Уильям пережил её на 41 год, в конце концов повторно женившись. Её старший сын, с которым у Ады было много трудностей, вступил в ряды военно-морского флота за несколько лет до её смерти, но после дезертировал. Ада думала, что он, возможно, отправился в Америку (по-видимому, он был в Сан-Франциско в 1851-ом), но на самом деле он умер в 26, работая на верфи в Англии. Дочь Ады вышла замуж за весьма эксцентричного поэта, много лет провела на Ближнем Востоке и стала крупнейшим в мире разводчиком арабских скакунов. Младший сын Ады унаследовал семейный титул и провёл большую часть своей жизни в родовом имении.

Мать Ады умерла в 1860-м, но даже тогда сплетни о ней и Байроне продолжали появляться в статьях и книгах, включая Леди Байрон оправдана 1870-го за авторством Гарриета Бичер-Стоу. В 1905 году, за год до его смерти, младший сын Ады, воспитываемый по большей части своей бабушкой (матерью Ады), опубликовал книгу обо всём этом, с основной повесткой в стиле "в жизни лорда Байрона нет ничего интересного, за исключением того, что уже неоднократно обсуждалось".

Когда Ада умерла, её личность обросла целым клубком сплетен и слухов. Были ли у неё романы? Были ли у неё огромные игорные долги? Аргументы и доказательства были весьма скудны. Возможно, это было отражением представлений о её отце-«плохише». Но задолго до этого были слухи о том, что она заложила (дважды!) свои фамильные драгоценности, и проиграла, как некоторые говорили, £20 000, а может даже £40 000 (эквивалентно примерно $7 000 000 в сегодняшних деньгах) на лошадиных ставках.

Казалось, что мать Ады и её младший сын были настроены против нее. Первого сентября 1852-го — в день своего признания Уильяму — Ада писала: "Мое истовое предсмертное обращение ко всем моим друзьям, у которых есть письма от меня: передайте их моей матери Леди Ноэль Байрон после моей смерти." Бэббидж отказался. Остальные согласились. Но в дальнейшем, когда её сын их систематизировал, некоторые из них он решил уничтожить.

Правда, многие тысячи страниц из писем Ады до сих пор разбросаны по всему миру. Письма и ответы на них похожи на современную переписку — договоренности о встречах, разговоры о здоровье и хворях. Чарльз Бэббидж жалуется на почтовую службу. Три сестры из Греции просят у Ады деньги, потому что их умерший брат был пажом лорда Байрона. Чарльз Диккенс рассказывает о ромашковом чае. Любезности от человека, с которым Ада познакомилась на Паддингтонском вокзале. И расчёты по хозяйству, разбавленные заметками, вставками музыкальных партий, рецептами разных сладостей. А затем, перемешанные со всем вышеперечисленным, серьёзные интеллектуальные дискуссии об аналитической машине и многих других вещах.

Что стало с Бэббиджем?

Так, что было с Бэббиджем? Он прожил ещё 18 лет после смерти Ады и умер в 1871-ом. Он попытался продолжить работу над аналитической машиной в 1856-ом, но особых успехов не добился. Он писал статьи наподобие "Статистика по маякам", "Таблица относительных частот для причин разрушений стеклянных окон", "О древних артефактах человеческого искусства, перемешанных с костями вымерших видов животных".

Затем, в 1864 году он опубликовал свою автобиографию — Отрывки из жизни философа — весьма странное и горькое творение. Глава об аналитической машине открывается цитатой из стихотворения Байрона — "Коль ошибаются, то время мстит за это" (“Man wrongs, and Time avenges”; Чюмина О. в 1905-ом переводила так: "Несправедливость – в мир, но отмщенье – за будущим"), и в таком же духе продолжает. Есть главы, посвященные театру, советам для путешественников (в том числе советы о том, как организовать себе перевозку в Европе в неком подобии современных домов на колесах), и, пожалуй, наиболее странную о неприятностях на улице. По какой-то причине Бэббидж вёл кампанию против уличных музыкантов, которые, как он утверждал, будили его в 6 утра, в результате чего он терял четверть от своего производительного времени. Неизвестно, почему он не разработал какое-то решение по звукоизоляции, но его кампания была настолько заметной, и так странно, что, когда он умер, в его некрологе она была основным посылом.

Бэббидж после смерти жены больше не женился, и его последние годы, кажется, прошли довольно одиноко. В колонке светских сплетен того времени пишут о нём следующее:

image

Видимо, он любил говорить, что с радостью отказаться бы от оставшийся части своей жизни за три дня, проведённые в будущем через 500 лет. Когда он умер, его мозг был сохранен, и он до сих пор выставлен…

И пускай Бэббидж так и не построил свою разностную машину, за него это сделала шведская компания, даже продемонстрировав её часть на всемирной выставке. Когда Бэббидж умер, многие документы и компоненты его проекта по разностной машине перешли к его сыну — генерал-майору Генри Бэббиджу, который опубликовал некоторые из этих документов, и в частном порядке собрал несколько устройств и некоторые компоненты вычислительной части аналитической машины. Между тем, фрагмент разностной машины, построенный во времена Бэббиджа, был выставлен в Музее науки в Лондоне.

Повторное открытие

После смерти Бэббиджа, дело его жизни — труды по созданию вычислительных машин 1 было всеми забыто (хотя, например, о них были упоминания в Encyclopaedia Britannica от 1911-го). Тем не менее, механические компьютеры продолжали развиваться, постепенно уступая электромеханическим, которые, в свою очередь, уступили электронным. И когда в 1940-х люди начали вникать в программирование, о работах Бэббиджа и заметках Ады вспомнили снова.

Люди знали, что «AAL» — это Ада Августа Лавлейс, и что она была дочерью Байрона. Алан Тьюринг прочитал её заметки и придумал термин "возражение леди Лавлейс" (о неспособности ИИ к творению и созиданию) в его статье о тесте Тьюринга от 1950-го. Но сама Ада была в ней представлена лишь сноской.

Был некий Бертрам Боуден — британский физик-ядерщик, который занялся работой в компьютерной индустрии и в конечном итоге стал министром образования и науки, и который «вновь открыл» Аду. В своей книге Быстрее мысли от 1953-го (да, о компьютерах) он пишет, что связался с внучкой Ады — Леди Вентворт (дочь дочери Ады), которая рассказала ему о семейных знаниях об Аде, как точных, так и не очень, и позволила ему изучить её работы. Занятно, как Боуден отмечает, что в книге внучки Ады «О чистокровных скаковых породах и их родословных» используется двоичная система в вычислениях родословных. Ада, как и аналитическая машина, конечно, пользовались десятичной системой, никак не рассматривая двоичную.

Но даже в 1960-е годы Бэббидж и Ада не были особо известны. Прототип разностной машины Бэббиджа был отдан Музею науки в Лондоне, но, хотя я в детстве (60-е) и бывал там многократно, я уверен, что никогда его там не видел. Тем не менее, в 1980-х, особенно после того, как Министерство обороны США назвало свой злосчастный язык программирования в честь Ады, осведомленность об Аде Лавлейс и Чарльзе Бэббидже начала увеличиваться, и стали появляться их биографии, иногда полные идиотских ошибок (моя любимая — где упоминание "проблемы трех тел", в письме от Бэббиджа интерпретируется как романтический треугольник между Бэббиджем, Адой и Уильямом, хотя речь шла о задаче трёх тел из небесной механики!).

По мере роста интереса к Бэббиджу и Аде росло и любопытство касательно того, будет ли работать разностная машина, если её построить по чертежам Бэббиджа. Проект был начат, и в 1991-ом, после титанических усилий, была построена законченная версия разностной машины (а принтер добавили в 2000-ом) лишь с одним исправлением в чертежах. Удивительно, но машина работала. Строительство обошлось примерно во столько же (с поправкой на инфляцию), сколько Бэббидж просил от британского правительства еще в 1823 году.

А что касается аналитической машины, то никакая её версия так и не было создана, даже симулирующая её модель.

О чем на самом деле писала Ада

Итак, теперь, после того, как я рассказал (весьма подробно) о жизни Ады Лавлейс, — что конкретно было в её записях об аналитической машине?

Начинает она без вступления: "функция, интеграл которой должна считать разностная машина — это..." Затем она объясняет, что разностная машина может вычислять значения любых полиномов шестой степени, а аналитическая машина отличается тем, что может выполнять операции в любой последовательности. Или, если цитировать: "Аналитическая машина является отражением науки об операциях, построенная так, что абстрактные числа являются субъектами этих операций. Разностная машина воплощает лишь один конкретный, притом весьма ограниченный набор операций ..."

Весьма очаровывающе, по крайней мере для меня, учитывая то, сколько лет я потратил на Mathematica; чуть позже она пишет: "Мы можем рассмотреть машину как материальное и механическое воплощение анализа, и что наши фактические возможности в этом разделе человеческого познания будут использоваться эффективнее, чем раньше. Это нужно для того, чтобы идти в ногу с нашими теоретическими познаниями об этих принципах и законах. И реализуется это через получение полного контроля над обращением с алгебраическими и численными символами, который и дает нам машина."

Чуть позже она объясняет, как используются перфокарты для управления аналитической машиной, а после приводит ставшей классической фразу: "аналитическая машина плетет алгебраические узоры подобно Жаккардовому ткацкому станку, плетущему цветы и листья."

Затем Ада разбирает то, как на аналитической машине будет проводиться последовательность отдельных видов вычислений с "операционными картами" которые определяют последовательность операций, и "картами переменных", с помощью которых задаются значения. Ада рассуждает о циклах, и циклах циклов и т. д., в настоящее время известные как циклы и вложенные циклы, определяя для них математическую нотацию:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 35

В записях Ады содержится много того, что кажется весьма современным. Она пишет, что “существует некий красивый тканный портрет Жаккарда, для производства которого потребовалось 24000 карт”. Затем она обсуждает идею использования циклов для уменьшения числа карт, и значение переупорядочивания операций с целью оптимизации их исполнения аналитической машине, в конечном счете показывая, что всего с тремя картами можно сделать то, что без циклов потребовало бы 330.

Ада рассуждает о том, насколько далеко в своих возможностях может зайти аналитическая машина, делая вычислимым то (по крайней мере, с некоторой точностью), что раньше казалось невозможным. И в качестве примера она приводит проблему трёх тел, и тот факт, что в свое время "в расчете 295 коэффициентов лунных возмущений" вычисления у многих не сходились.

Наконец, в своей Note G (можно перевести как примечание G, либо как нота соль — игра слов) она пишет: "Аналитическая машина не может создавать что-то новое. Она может делать все, что мы и сами знаем как выполнять… её цель состоит лишь в том, чтобы помогать нам осуществлять то, с чем мы уже хорошо знакомы".

Ада, кажется, с полной ясностью представляла традиционные взгляды на программирование: мы создаем программу, которая делает нужные нам вещи. Но затем она отмечает, что представление "фактов и формул анализа" в форме, пригодной для машины, "обнаружит многие области знаний в новом свете, делая их более глубоко проработанными". Другими словами, как я часто отмечал — если что-то запрограммировать, то мы узнаем об этом что-то новое; это откроет нам новые горизонты понимания.

Она говорит о том, что "в приведении математических истин в новую форму, в которой они они будут использоваться, даст нам новое видение, которое, в свою очередь, повлияет на теоретическую составляющую этой области знаний". Другими словами, как я часто говорил (см. пост на Хабре "Вычисляемые знания и будущее чистой математики") — представление математических истин в вычислимой форме, вероятно, позволит лучше их понять.

Ада, кажется, понимала, что "наука об операциях", осуществляемых машиной, можно применять не только для традиционных математических вычислений. Например, она отмечает, что если "Фундаментальные взаимосвязи между звуками в науке о гармонии поддавались бы воздействию абстрактных операций, то машина могла бы их использовать для написания научным методом музыкальных произведений любой сложности". Неплохой уровень понимания для 1843-го года.

Вычисление чисел Бернулли

Самой известной частью среди написанного Адой стало вычисление чисел Бернулли в Note G. Кажется, эта тема является развитием её письма Бэббиджу в июле 1843 года. Письмо начинается так: "Я работаю в поте лица, как сам дьявол; (которым, возможно, я и являюсь)". Затем она задает несколько справочных вопросов, а после пишет: "я хочу рассказать о числах Бернулли в одной из своих заметок как пример того, как неявная функция может вычисляться посредством машины, не занимая при этом людские умы и руки… Прошу предоставить мне необходимые данные и формулы".

Посмотреть иллюстрации...

Выбор Адой чисел Бернулли для демонстрации аналитической машины был весьма интересным. Скажем, в 17-ом веке некоторые тратили всю свою жизнь на разработку таблиц сумм степеней целых чисел, иными словами, табулируя значения Распутывая историю Ады Лавлейс (первого программиста в истории) - 39 для различных m и n. Но Якоб Бернулли выяснил, что все подобные суммы могут быть выражены в виде полиномов от m, с коэффициентами, которые ныне называют числами Бернулли. А в 1713 году Бернулли с гордостью заявил, что вычислил первые 10 чисел Бернулли «за четверть часа», воспроизведя многие года работы других людей.

В наши дни, конечно, их можно мгновенно вычислять, скажем, в Wolfram Language:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 40

И, так уж получилось, что несколько лет назад, в рамках демонстрации новых алгоритмов, мы вычислили 10 миллионов из них.

Хорошо, но как Ада планировала это сделать? Она начала с того, что числа Бернулли появляются при разложении в ряд:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 41

Затем, переставляя компоненты этого выражения и сортируя по степеням х, она получила последовательность уравнений для чисел Бернулли Bn, которые она догадалась представить в рекуррентном виде:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 42

Затем Ада объясняла, как это вычислить на аналитической машине. Во-первых, она использовала тот факт, что все нечётные числа Бернулли помимо B1) равны нулю, затем вычисляла Bn, которое является нашим современным B2n (или BernoulliB[2n] в Wolfram Language). Далее она начинала с B0, вычисляя затем Bn для больших n, сохраняя притом каждое полученное значение. Вот как выглядел используемый ею алгоритм (в современной форме):

Распутывая историю Ады Лавлейс (первого программиста в истории) - 43

Идея вычислений на аналитической машине заключалась в том, чтобы реализовывать последовательность операций (которые задаются «операционными картами») посредством "дробилки чисел" (Mill), с операндами, поступающими из "магазина" (с адресами, указанными на "карте переменных"). (В магазине каждое число представлялось последовательностью колесиков, каждое из которых нужно было прокрутить до требуемой цифры.) Для вычисления чисел Бернулли Ада хотела использовать два вложенных цикла из операций. С имеющийся на тот момент моделью аналитической машины Аде приходилось эти циклы разворачивать. Но в конце концов она успешно описала то, как можно вычислить B8 (которое она называла B7):

image

По сути, это трассировка программы на аналитической машине, которая выполняется за 25 шагов (плюс цикл). На каждом шаге трассировки показывается, какая операция выполняется на какой карте переменных, и в какую карту переменных записывается результат. Не имея символьного обозначения для циклов, Ада просто брала их в скобки и поясняла, что эти фрагменты следует повторять.

В конце концов, конечный результат вычислений записывается в позицию 24:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 45

Как можно заметить, у Ады в строке 4 содержится ошибка, из-за чего дробь получилась перевернутой. Но если это исправить, то можно с легкостью получить современную версию того, что сделала Ада:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 46

А вот то, что та же схема выдаст для двух последующих (ненулевых) чисел Бернулли. Ада выяснила, что для вычисления последующих чисел не потребуется большего объема памяти (которая реализуется картами переменных), а только лишь большее количество операций.

image

image

Аналитическая машина, разработанная в 1843-ем, должна была хранить тысячу 40-значных чисел, что позволило бы проводить вычисления до, возможно, B50 (=495057205241079648212477525/66). И это осуществлялось бы очень быстро; аналитическая машина была рассчитана на производительность в 7 операций в секунду. Таким образом, вычисление B8 заняло бы 5 секунд, а B50 — что-то около минуты.

Любопытно, даже в рекордных по производительности вычислениях чисел Бернулли еще несколько лет назад использовался в основном тот же алгоритм, который использовала Ада, хотя сейчас имеются и немного более быстрые, которые эффективно вычисляют модули числетелей чисел Бернулли как последовательность простых чисел, а затем восстанавливают их до полного числа, используя китайскую теорему об остатках.

Бэббидж vs. Ада?

Аналитическая машина и её создание было делом жизни Бэббиджа. Так что же привнесла Ада? Ада видела себя в первую очередь толкователем его работ. Бэббидж показал ей много планов и примеров аналитической машины. Она хотела представить общее видение этого, как всё взаимосвязано; как она выражалась: "привнести общее, масштабное, метафизическое видение".

В сохранившимся архиве документов Бэббиджа (годы спустя найденном в кожаном чемодане адвоката их семьи) содержится большое количество описаний принципов работы аналитической машины — с 1830-го и далее на протяжении десятилетий, с заголовками наподобие “Аналитическая машина” и “Наука о числах сводится к механизмам”.  Почему Бэббидж ни одну из них не опубликовал — не ясно. Они представляют весьма подробные описания основных принципов работы машины, хотя, безусловно, кажутся определенно менее интересными, чем работы Ады.

Бэббидж умер, когда работал над "Историей аналитической машины", которую затем закончил его сын. В ней приводится датированный список из "446-ти замечаний об аналитической машине", каждая из которых рассказывает о том, как некоторая операция — скажем, деление — может быть на ней реализована. Даты начинаются с 1830-х, продолжаются в 1840-х, но с почти полным отсутствием записей летом 1843-го.

image

Между тем, в сборнике статей Бэббиджа, представленном в Музее науки, есть некоторые эскизы по высокоуровневым операциям для аналитической машины. К примеру, запись от 1837-го: "разница между двумя уравнениями первой степени", что есть суть оценка рациональной функции:

image

Есть несколько очень простых рекуррентных соотношений:

image

Затем, в записи от 1838-го, описывается вычисление коэффициентов произведения двух многочленов:

image

Но в его записях нет ничего сравнимого по сложности и ясности с вычислениями чисел Бернулли у Ады. Бэббидж, безусловно, помогал Аде в её работе, но она определенно стояла во главе этой работы.

Итак, что же говорил Бэббидж по этому поводу? В своей автобиографии, написанной 26 лет спустя, он мало писал о ком-то или о чем-то хоть сколь-нибудь хорошие вещи. Вот что он пишет о записях Ады: "Мы вместе обсуждали различные иллюстрации, которые можно представить для публикации; я предложил несколько, но выбор был целиком за ней. Так же была работа над различными алгебраическими проблемами, за исключением, конечно, тех, что связаны с числами Бернулли, который я вызвался решить самостоятельно, чтобы оградить леди Лавлейс от излишних хлопот. Затем она переслала мне исправленную версию, обнаружив грубую ошибку, которую я допустил."

Когда я впервые прочитал это, было впечатление, что Бэббидж говорил, что он был литературным негром всех заметок Ады. Но перечитывая, я понял, что он говорит лишь то, что предлагал Аде различные варианты, которые она могла принять, либо отказаться от них.

Для меня, нет никаких сомнений касательно того, как было дело: у Ады была идея о том, что может делать аналитическая машина, и спрашивала Бэббиджа о том, как это можно реализовать. Если опираться на мой личный опыт работы с проектировщиками аппаратного обеспечения, то их ответы зачастую были весьма подробными. Достижением Ады было соединение этих деталей в четкое представление принципов работы машины — то, чего Бэббидж никогда не делал. (В своей автобиографии зачастую он просто отсылает к записям Ады.)

Секретный ингредиент Бэббиджа

При всех своих недостатках, тот факт, что Бэббидж выяснил, как построить (и притом функционирующую) разностную машину, не говоря уже об аналитической машине, весьма впечатляет. Так как он это сделал? Я думаю, что ключ был в его механической нотации. Он впервые писал о ней в 1826-ом в статье с названием "Методы обозначений машинных операций посредством знаков". Его идея заключалась в том, чтобы взять подробную структуру машины и представить её с помощью символьных диаграмм то, как между собой должны взаимодействовать компоненты. В качестве первого примера он приводит гидравлическое устройство:

image

Затем он приводит в пример часы, показывая на своего рода «трассировке выполнения» слева то, как изменяются параметры компонентов часов, а справа нечто вроде блок-схемы их взаимосвязей:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 54

Это довольно хороший способ представления того, как работает система, который в некоторых отношениях схож с современными временными диаграммами, но кое-чем все таки отличается. И с годами, что Бэббидж провел за работой над аналитической машиной, его заметки стали содержать все более сложные схемы. Не совсем понятно, что означает нечто, приведенное ниже:

Распутывая историю Ады Лавлейс (первого программиста в истории) - 55

Однако, можно заметить удивительную схожесть с современными представлениями на языке Modelica, как, скажем, в Wolfram SystemModeler. (Одно из различий с современными представлениями заключается в том, что в наше время подсистемы представляются значительно более иерархически, а так же то, что все представления теперь вычислимы, и из них можно смоделировать реальное поведение системы.)

image

Бэббидж активно использовал свои разнообразные диаграммы в записях, но так ничего о них и не опубликовал. В самом деле, имеется лишь ещё одна его печатная работа о механический нотации — буклет, раздаваемый в 1851-ом на всемирной выставке — по всей видимости, как шаг к стандартизации чертежей механических компонентов (и эти обозначения, подобные вышеприведенным, периодически появляются на диаграммах Бэббиджа).

image

Я не уверен, почему Бэббидж ничего больше не писал о своей механической нотации и диаграммах. Возможно, он был в горечи от того, что в 1826-ом люди не смогли осознать ценность этих идей. Или, возможно, он видел их как "секретный ингредиент ", позволяющий ему создавать свои проекты. И пускай инженерные системы прошли огромный путь со времен Бэббиджа, однако его идеи и сейчас могут послужить источником вдохновения.

В большем масштабе

Итак, как выглядит всё произошедшее с Адой, Бэббиджем и аналитической машиной в большем масштабе?

Чарльз Бэббидж был энергичным человеком, имел много идей, и некоторые из них были весьма хороши. В свои 30 хотел составлять математические таблицы с помощью машины, и так и не отказался от своей идеи в последующие 49 лет, изобретя при этом аналитическую машину для достижения этой цели. Он был отличным, быть может даже одаренным в том, что касалось инженерной части. Но он был весьма плох в выборе траектории для проекта, его руководстве.

Ада Лавлейс была умной женщиной, которая подружилась с Бэббиджем (нет никаких доказательств, что у них когда-либо было что-то романтическое). Благодаря Бэббиджу, она описала принципы работы аналитической машины, и при этом привнесла более абстрактное её видение, чем у Бэббиджа, а так же представление о невероятно мощной идее универсальных вычислений.

Разностная машина и подобные устройства есть компьютеры специального назначения, аппаратная часть коих рассчитана лишь на то, чтобы делать что-то одно конкретное. Казалось бы, чтобы делать много различных вещей, потребуется большое количество разнообразных компьютеров. Но это не так. Вместо этого мы сталкиваемся с фундаментальным фактом, что можно сделать компьютеры общего назначения, где единая и фиксированная часть оборудования может быть запрограммирована на проведение любых вычислений. И именно эта идея об универсальных вычислениях дала возможность существовать программному обеспечению, что и запустило компьютерную революцию 20-го века.

Еще в 17-ом веке у Лейбница уже была философская концепция о чем-то наподобие универсальных вычислений. Однако эта тема не получила развития. И аналитическая машина Бэббиджа — первый и явный пример из известных нам машин, способных осуществлять универсальные вычисления.

Бэббидж не размышлял об этом в подобном ракурсе. Он просто хотел создать машину, которая была бы как можно более эффективной в производстве математических таблиц. Но в стремлении ее разработать он пришел к концепции универсального компьютера.

Когда Ада писала о машине Бэббиджа, она хотела представить её в наиболее ясном свете, и потому рассматривала машину более абстрактно, в результате чего она открыла и представила то, в чём сейчас можно узнать понятие об универсальных вычислениях.

Труды Ады оставались в безвестности в течение многих лет. Однако, на полях создающийся математической логики эта идея об универсальных вычислениях всплыла снова, наиболее четко выраженная в работе Алана Тьюринга от 1936-го. Затем, после создания электронных компьютеров в 1940-х, стало ясно, что они обладают возможностями производить универсальные вычисления, что и связало их с работами Тьюринга.

Правда, были подозрения, что, возможно, некоторые другие способы реализации компьютеров потребуют других форм вычислений. И они просуществовали до 1980-х — момента, когда концепция универсальных вычислений стала общепринятым и устойчивым понятием. И к тому времени, появилось нечто новое, включая и мою работу — то, что универсальные вычисления не просто что-то возможное, а нечто весьма повсеместное.

И теперь мы знаем, (что воплощается, к примеру, в принципе вычислительной эквивалентности) что очень широкий спектр систем, притом даже очень простых конструкций, способен производить универсальные вычисления.

Разностная машина не добралась до этого порога. Но если ее немного улучшить, она получит такую возможность. Таким образом, в ретроспективе, отнюдь не кажется удивительным, что аналитическая машина могла их осуществлять.

Сегодня, в окружении компьютеров и программ, понятие об универсальных вычислениях кажется практически очевидным: разумеется, мы можем использовать программы для расчета того, что захотим. Но в теории это вовсе не очевидно. Думаю, можно сказать, что Ада Лавлейс была первым человеком, который увидел со всей ясностью то, определило путь развития наших технологий и даже цивилизации — концепцию универсальных вычислений.

А что, если…

Что было бы, если бы не проблемы Ады со здоровьем, и если бы она смогла успешно завершить проект по созданию аналитической машины? Что бы происходило после этого?

Я не сомневаюсь, что аналитическая машина была бы построена. Быть может, Бэббиджу пришлось бы немного пересмотреть свои чертежи, но я уверен, что он заставил бы ее работать. Штуковина получилась бы размером с железнодорожный локомотив, имея около 50 000 движущихся частей. И нет сомнений в том, что машина была бы в состоянии вычислять математические таблицы с точностью до 30 или 50 знаков, примерно по одному результату в каждые 4 секунды.

Додумались ли они бы до того, что машина может быть электромеханической, а не чисто механической? Думаю да. В конце концов, Чарльз Уитстон, который был тесно связан с развитием электрического телеграфа в 1830-х, был их хорошим другом. И, передавая информацию через электрические провода, а не механически через стержни, сложность конструкции существенно бы уменьшилась, а её надежность (что было бы большой проблемой) резко бы возросла.

Еще одним важным фактором в уменьшении аппаратной части компьютеров является использование двоичной системы заместо десятичной. Пришли бы они к этой идее? Лейбниц знал о двоичной системе. И если бы Джордж Буль стал работать с Бэббиджем после их встречи на большой выставке, быть может, они к чему-то бы пришли. Бинарная система не имела широкой известности в середине 19-го века, однако часто встречалась в задачках и головоломках, коими увлекался Бэббидж; ярким примером был его вопрос о том, как сделать квадрат из слов со словом «bishop» сверху и по бокам (ответ на который потребуется лишь несколько строк кода на Wolfram Language).

Основная концепция Бэббиджа касательно аналитической машины заключалась в автоматическом создании математических таблиц и их последующей печати, либо вывода их в виде графиков. Ему представлялось, что эти таблицы будут использоваться людьми, плюс он разрабатывал идею о некоторых библиотеках с предвычисленными картами, которые бы являлись версиями для чтения машинами.

В наше время, скажем, в Wolfram Language, нет никакой нужды хранить математические таблицы; можно просто вычислить то, что нужно и когда нужно. Но во времена Бэббиджа, с его идеей об огромной аналитической машине, подобное было просто немыслимо.

Хорошо, но использовалась бы аналитическая машина для чего-то отличного от вычисления математических таблиц? Думаю, что да. Если бы Ада прожила столько же, сколько и Бэббидж, она бы застала 1890-е — время, когда Герман Холлерит разрабатывал электромеханическое устройство на основе карт, предназначенное для переписи (который, кстати, был одним из основателем того, что в последствии превратилось в IBM). Аналитическая машина смогла бы дать гораздо больше.

Быть может, Ада реализовала бы свою идею об использовании аналитической машины для автоматического создания алгоритмической музыки. Возможно, машина использовалась бы для решения задачи трёх тел; быть может даже посредством моделирования. Если бы они додумались до использования двоичной системы, возможно, они бы реализовали системы наподобие клеточных автоматов.

Ни Бэббидж, ни Ада никогда не зарабатывали коммерцией (и, как Бэббидж всячески подчеркивал, его государственные контракты служили лишь для оплаты его инженеров, а сам он ничего не получал). Если бы они разработали аналитическую машину, смогли бы они найти бизнес-модель для ее реализации? Наверняка они продали бы несколько версий в различные правительственные учреждения. Быть может, они бы создали некий сервис удаленных вычислений, стоящий на службе викторианской науки, техники, финансов и прочего.

Но всего этого на самом деле не произошло, и вместо этого Ада умерла молодой, аналитическая машина так и не была закончена, и потенциал вычислений был заново открыт лишь в 20-ом веке.

Какими они были?

Если бы вы встретили Бэббиджа, каким бы он показался? Он был, как мне кажется, хорошим собеседником. В начале жизни он был идеалистом ("сделать все возможное, чтобы оставить мир мудрее того, в который я пришел"); позже он превратился в почти диккенсовскую каррикатуру ожесточенного старика. Он устраивал прекрасные приемы и придавал большое значение связям с интеллектуальной элитой. Но, особенно в последние годы он проводил большую часть своего времени в одиночестве в своем большом доме, наполненном книгами, статьями и незавершенными проектами.

Бэббидж особо не разбирался в людях, и даже в свои восемьдесят он был подобен ребенку в своей полемике. Также у него были проблемы с фокусировкой на какой-то одной проблеме — он постоянно отвлекался на свои новые идеи. Было лишь одно большое исключение — его почти 50-летний труд в попытке автоматизировать процесс вычислений.

Я и сам преследую похожие цели (точнее, их современные версии) в своей жизни (..., Mathematica, Wolfram|Alpha, Wolfram Language, ...), однако пока лишь на протяжении сорока лет. Мне повезло, что я живу в то время, когда имеющиеся технологии позволяют гораздо проще этого достигать, но каждый крупный проект, которым я занимался, требовал недюжинной целеустремленности, упорства и лидерских качеств, чтобы довести его до конца.

Так что можно сказать об Аде? В первую очередь это ясно излагающая и ясно мыслящая личность. Она произошла из высшего класса, но не носила особо модную одежду, и была куда менее стереотипной графиней, нежели интеллектуалкой. Она была взрослым и эмоционально зрелым человеком; вероятно, более зрелым, нежели Бэббидж, и кажется, имела хорошее прикладное понимание людей и окружающего мира.

Как и Бэббидж, она была богатой, и у неё не было необходимости работать для обеспечения своей жизни. Но она была амбициозной и хотела сделать что-то сама. Полагаю, за маской леди из высшего общества викторианской эпохи скрывался эдакий ботаник с математическими шутками и прочими атрибутами. Она также была очень сфокусированной и настойчивой, проведя, к примеру, несколько месяцев за написанием своих заметок.

В математике она успешно достигла уровня знаний тех времен; пожалуй, сравнявшись с Бэббиджем. Однако мы не знаем, в отличие от ситуации с Бэббиджем, чем именно она занималась в математике, так что трудно судить о её уровне; Бэббидж был был уважаемым, хоть и ничем не примечательным.

Когда читаешь письма Ады, представляется умный, сложный человек, обладающий ясным логическим мышлением. Её речи часто покрыты викторианскими любезностями, но под ними скрыты ясные и зачастую сильные идеи.

Ада ясно осознавала свое положение в обществе, и то, что она «дочь лорда Байрона». В каком-то смысле история ее успеха основывается на её амбициях и желаниях попробовать что-то новое. (Я не могу перестать сравнивать её как ведущего инженера в создании аналитической машины и лорда Байрона, возглавляющего греческую армию). Но я также подозреваю, что его проблемы влияли на неё. На протяжении многих лет, отчасти из-за влияния своей матери, она сторонилась таких вещей, как поэзия. Её взор был обращен к абстрактным вещам, и не только к математике и науке, но и к более метафизическим областям.

И, кажется, она заключала, что лучшим ее приложением будет работа в объединении научного и метафизического — возможно, именно это она называла "поэтической наукой". Пожалуй, её самовоспроиятие было верным. Ведь, в каком то смысле, именно этим она и занималась: взяв инженерную часть, разработанную Бэббиджем, она создала абстрактную, «метафизическую» концепцию, которая и дала нам в последствии первое представление об идее универсальных вычислений.

Заключение

История Ады и Бэббиджа имеет множество интересных моментов. Это история о встрече технического мастерства с широким абстрактным видением. Это история о дружбе между старым и молодым человеком. Это история людей, которые имели смелость быть оригинальными и творческими.

Также это трагедия. Трагедия для Бэббиджа, который потерял так много людей в своей жизни, и чья личность отталкивала других и мешала ему реализовывать свои амбиции. Трагедия для Ады, которая только нашла дело свой жизни, как у неё ухудшилось здоровье.

Мы никогда не узнаем, что бы смогла сделать Ада. Ещё одна Мэри Сомервилль — известный толкователь викторианской науки? Эдакий Стив Джобс, формирующий видение аналитической машины? Или Алан Тьюринг, понимающий абстрактную идею универсальных вычислений?

То, что Ада прикоснулась к тому, что станет определяющей идеей нашего времени, было большой удачей. Бэббидж не понимал, с чем он имеет дело; Ада увидела проблески и успешно описала их.

Для некоторых людей, в частности, для меня, история Ады и Бэббиджа вызывает особый резонанс. Как и Бэббидж, я провел большую часть своей жизни, преследуя конкретные цели, хотя, в отличие от Бэббиджа, некоторые из них мне удалось реализовать. И, подозреваю, что как и Ада, мне предоставилась возможность увидеть проблески некоторых значимых идей будущего.

Но проблема заключается в том, чтобы в достаточной мере "быть Адой", чтобы понять, что нас ждет, или хотя бы "найти ту Аду", которая понимает. По крайней мере, сейчас, полагаю, у меня сложилось понимание того, какой была та самая Ада, родившаяся 200 лет назад: достойный человек на пути к универсальным вычислениям, настоящим и будущим достижениям в области вычислительного мышления.

Было очень приятно познакомиться с Вами, Ада.


Благодарности
Немало организаций и людей помогало мне в получении информации и материалов для этого поста. Я хотел бы поблагодарить Британскую библиотеку, Музей истории науки в Оксфорде, Музей науки в Лондоне, Бодлеанскую библиотеку в Оксфорде (с разрешения графа Литтона, пра-правнука Ады, одного из 10 её ныне живущих потомков), Публичную библиотеку Нью-Йорка, Церковь святой Марии Магдалины (в Hucknall, Nottinghamshire — место погребения Ады), Бетти Тул (автор коллекции писем Ады), а также двух старых друзей: Тима Робинсона (человека, воссоздавшего машину Бэббиджа) и Натана Мирволда (финансирующего воссоздание второй версии разностной машины).

Автор: Wolfram Research

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js