Кто изобрел разностную машину в 19 веке и кто был первым программистом
Кто изобрел разностную машину в 19 веке и кто был первым программистом
Разностные вычислительные машины, которые начали появляться с конца XVIII века, являются предками современных компьютеров, но столь отдаленными и несовершенными, какими являются обезьяны по отношению к современному человеку. Вероятно, лишь меньшинство из сотен миллионов пользователей, решающих сегодня с помощью ЭВМ свои задачи или просто играющих в разнообразные компьютерные игры, представляет себе ту пропасть, которая отделяет их «пентиумы» (да и любые другие машины, на которых они работают) от разностных вычислительных машин.
Привыкнув к окружающим нас на работе и дома электронным чудо-помощникам, «работающим с умом», трудно представить, что и 200, и 100 лет назад умные помощники могли быть только механическими. Для хранения чисел и выполнения арифметических операций использовались зубчатые колеса, рейки, храповики и другие детали, имеющие странные названия, например собачки. В настоящее время для большинства из нас очевидно:
1) вычисления, да и любая обработка данных в компьютере, производятся по программам, описывающим последовательность действий;
2) эти программы хранятся в памяти компьютера.
На самом деле поиск, «осознание» и реализация этих двух решений означает примерно то же самое, что и переход от обезьяны к питекантропу, а затем от питекантропа к человеку.
Поиск первого из этих решений начинается от проекта Аналитической машины великого английского математика Чарльза Бэббеджа и программ, написанных для нее леди Адой Августой Лавлейс. Второе революционное решение связывают с принципом хранения программы, реализованным в архитектуре ЭВМ, которая была предложена американским математиком Джоном фон Нейманом.
Идее создания разностных машин больше 200 лет. Впервые она была высказана немецким военным инженером Иоганном Г. Мюллером (1746-1830). Считается, что Иоганн Мюллер был первым, кто предложил использовать метод разностей при вычислениях и сделать вычислительную машину, печатающую результаты.
Механизм универсального калькулятора И. Мюллера был основан на знаменитых ступенчатых валиках Готфрида В. Лейбница. Эта машина могла выполнять все четыре действия арифметики над 14-разрядными числами. Если пользователь машины делал какие-то некорректные установки на машине, то звонок предупреждал его об этом. Машина Мюллера была небольшой: всего 13 см в высоту и 30 см в диаметре. В настоящее время универсальный калькулятор Иоганна Мюллера хранится в Германии, в Hessisches Landesmuseum в Дармштадте. В 1784 г. в своем письме Мюллер говорит, что его машина будет вычислять и печатать арифметическую прогрессию. Это письмо содержит описание самого первого печатающего калькулятора. В другом письме, написанном в тот же год, Мюллер высказывает мысль о создании машины для вычисления площадей и объемов при помощи разностей. Мюллер придумал свою разностную машину за 36 лет до великого английского математика Ч. Бэббиджа. Ее описание было опубликовано в 1786 г. в книге, основные разделы которой были переведены для Ч. Бэббиджа его другом, математиком Джоном Гершелем. Дата этого перевода неизвестна и вопрос, насколько самостоятельно Бэббидж пришел к идеям разностных вычислительных машин, остается открытым.
Универсальный калькулятор Иоганна Мюллера, 1784 г.
Считается, что непосредственным толчком, заставившим Ч. Бэббиджа создавать свои разностные машины явилось введение метрической системы мер во Франции, которое потребовало пересчета огромного числа различных таблиц.
Во время великой Французской революции во Франции перестраивалось все государство (законодательство, армия, государственные учреждения и даже личная жизнь граждан). Также «в согласии с разумом, наукой и природой» французское правительство вводило метрическую систему в измерение длин, весов и т. д., стремилось внедрить принцип десятичности в самые различные области. Для такой перестройки требовалось пересчитать громадное число таблиц, в основном тригонометрических и связанных с ними логарифмических, а также нужно было составить много вспомогательных таблиц. Правительство Франции поставило перед математиками задачу подготовить необходимые таблицы на высоком научном уровне и в достаточно короткие сроки. Руководить сложными и трудоемкими расчетами было поручено талантливому французскому ученому барону Гаспару Прони. В 1795 году он был назначен одним из двенадцати комиссаров, на которых возлагалась вся работа по подготовке и введению метрической системы. В число комиссаров входили такие известные ученые, как Лагранж, Лаплас, Монж и др. Прони с самого начала понял, что для составления новых таблиц прежними методами (с помощью нескольких сотрудников) ему не хватит жизни. В это время он читал в Политехнической школе лекции по анализу, в частности разделы, связанные с интерполяцией*. Он хотел уяснить, как применить в расчетах разделение труда и как при этом использовать интерполяционные методы.
В то время в Париже были две вычислительные мастерские, в которых производили одни и те же расчеты для взаимной проверки. Г. Прони реорганизовал все расчетное дело, создал своеобразный вычислительный конвейер. Все вычислители (сотрудники) из двух мастерских, к которым он прибавил еще ряд нанятых им работников, были разделены на три группы. В первую группу входило пять-шесть крупных математиков, которые исследовали различные математические выражения, чтобы подобрать функцию, удобную для числовых расчетов. Естественно, она должна была наилучшим образом соответствовать той функции, таблицы которой составлялись. Эта группа фактически не была связана с непосредственной вычислительной работой, ее задача состояла в получении необходимых формул. После этого данные, рассчитанные первой группой, направляли во вторую группу. В нее входило девять-десять лиц, достаточно хорошо владевших математикой. Их задача состояла в преобразовании формул, переданных первой группой, к виду, удобному для работы с числами. Кроме того, вторая группа вычисляла значения функций для аргументов, отстоящих друг от друга на пять или десять интервалов. Подсчитанные ими значения входили в окончательную таблицу в качестве основных. Работа второй группы требовала хороших математических знаний. После этого формулы отправляли третьей, наиболее многочисленной группе, состоящей примерно из ста человек. Сотрудники третьей группы получали от второй вместе с формулами и исходные числа. Используя только сложение и вычитание в той последовательности, в которой это было указано в формулах, передаваемых из второй группы, третья группа получала окончательные числовые результаты. Таков был путь расчета таблиц. Члены второй группы имели возможность проверить расчеты третьей группы, применяя непреобразованные формулы, т. е. не повторяя работы третьей группы. Следует отметить, что 90% сотрудников третьей группы не знали математики далее двух первых действий арифметики, но ошибались значительно реже, чем те, кто лучше знал математику и больше понимал существо задачи. Вычислители третьей группы не знали общей задачи, да это им было и не нужно. Умея довольно хорошо складывать и вычитать, они работали совершенно механически.
Дело завершилось созданием двух экземпляров логарифмических и тригонометрических таблиц, состоящих из семнадцати больших рукописных томов. В дальнейшем отдельные таблицы часто использовались в качестве контрольных. Ими пользовался впоследствии и английский математик Ч. Бэббидж, который для этой цели ездил в Парижскую обсерваторию, где хранились таблицы.
После окончания работ по составлению таблиц в Париже английское правительство обратилось к французскому с предложением напечатать эти таблицы при совместных усилиях обеих стран с равным распределением затрат. Хотя это предложение и не завершилось изданием таблиц, но в связи с переговорами по этому поводу в Париже была выпущена небольшая брошюра с описанием процесса вычисления таблиц.
После ознакомления с этой брошюрой Ч. Бэббидж решил применить метод Гаспара Прони при создании своей вычислительной машины. Точнее говоря, машина должна была заменить третью группу вычислителей, на которую в основном и приходилась вся счетная работа. В основу работы машины Бэббидж решил положить известное свойство многочленов, состоящее в том, что их конечные разности соответствующих порядков (зависящие от степени многочлена) равны нулю. Машину, работающую на основе этого принципа, он назвал разностной.
Выражаясь современным языком, разностные машины явились первыми специализированными цифровыми вычислительными машинами. Алгоритм вычислений был неизменным и определял конструкцию машины. Таким образом, управление ходом вычислений осуществлялось не программно, а «конструктивно».
Широко известна работа великого английского математика Чарлза Бэббиджа над разностными машинами. Поставив перед собой цель механизировать вычисление логарифмических и тригонометрических таблиц, Бэббидж, начиная с 1812 г., конструирует и пытается изготовить разностную вычислительную машину. Свои мысли о разностной машине Ч. Бэббидж изложил в записке на заседании Астрономического общества 14 июня 1822 г., которая была опубликована под названием «Замечания о применении машины для расчета математических таблиц». Разработка и постройка механической вычислительной машины представляла в то время сложную проблему. В 1832 г. ученый посетил ряд промышленных центров в Англии и Шотландии. Постоянно изучая новое в промышленности, он посещал все, какие только мог, заводы и фабрики в Британии и на континенте. В результате сам Бэббидж стал неплохим механиком и предложил ряд усовершенствований по инструментам, станкам и методам обработки.
Беббидж считал свою «нотацию» пригодной не только для механических устройств, но и рассматривал ее как общий абстрактный дескриптивный язык, который может использоваться и в других науках, в частности в философии. Он сам постоянно ссылался на свою «нотацию», но для окружающих гордостью были его изобретения.
Записные книжки Ч. Бэббиджа
Рукописи, так называемые «Записные книжки», Ч. Бэббиджа содержат его проекты, исследования, чертежи и другие размышления. Всего в них около 7000 страниц. В настоящее время «Записные книжки» Ч. Бэббиджа хранятся в библиотеке Научного музея в Лондоне.
Получив моральную поддержку Королевского общества, Астрономического общества и некоторую финансовую помощь правительства, Бэббидж с июня 1823 г. начинает строить разностную машину, которая могла бы табулировать функции с постоянными шестыми разностями с точностью до 20 знаков. По замыслу Бэббиджа огромная машина должна была состоять примерно из 25000 деталей, иметь следующие размеры: 8 футов в высоту, 7 футов в длину и 3 фута в ширину (2,4х2,1х0,9 м3). Ее вес составлял несколько тонн. Для реализации своего проекта Бэббидж нанял Джозефа Клемента, очень квалифицированного слесаря-инструментальщика и чертежника, что было редкостью в то время.
Станок для выполнения различных видов обработки, принадлежавший Ч. Бэббиджу
При разработке своих проектов машин Бэббидж использовал картонные выкройки различных деталей.
Выкройки из картона деталей первой
разностной машины Ч. Бэббиджа, 1831 г.
На рисунке показаны два примера кулис для фиксации зубчатых колес. Кулисы являются шестеренками переменного диаметра, которые имеют сцепление с ведущими шестеренками. Эти устройства были предназначены для уменьшения начального вращающего момента и начального ускорения. Сохранилось свыше 132 отдельных выкроек различных деталей. На многих из них рукой Ч. Бэббиджа сделаны пометки, позволяющие оценить вклад, внесенный Джозефом Клементом.
Годы проектирования, разработки и создания машины были самыми изнурительными и полными разочарований в жизни Чарлза Бэббиджа. Работа над машиной была приостановлена в 1833 г. после конфликта с Д. Клементом в связи с переносом мастерской в помещение внутри дома Бэббиджа.
Разностная вычислительная машина Ч. Бэббиджа является одним из самых замечательных примеров в предыстории вычислительной техники.
А мысль великого изобретателя, несмотря на все трудности, не хотела останавливаться на достигнутом, с 1834 года он увлекается созданием новой более совершенной Аналитической машины.
В свою очередь историков техники продолжала волновать мысль о неудаче, постигшей Ч. Бэббиджа с полной реализацией постройки разностной машины. Причем неудач было много: трудный характер самого Бэббиджа, наличие недоброжелателей, разлад с Джозефом Клементом, проблемы с финансированием проекта, общий низкий уровень развития техники того времени, отсутствие поддержки предпринимателей, несколько перемен состава правительства, конфликт между чистой и прикладной наукой, разделение мнений экспертов по поводу реальной потребности в таком устройстве, отсутствие государственного видения и отказ в поддержке со стороны правительства Англии. Но самой главной причиной, как считают историки, явилось недостаточное развитие токарного и слесарного дела в ту эпоху. Полностью разностная машина Ч. Бэббиджа была достроена только в наше время в 1991 г. двумя инженерами Р. Криком и Б. Холловеем в Лондонском научном музее к 200-летию со дня рождения ее автора.
Разностная вычислительная машина Ч. Бэббиджа, 1991 г.
Она состоит из 4000 деталей, исключая печатающий механизм, который не был достроен; весит около 3 тонн; имеет размеры: 2,1х3,4х0,5 м3 и выполнена из бронзы, стали и железа. Она может вычислять разности 7 порядка. Машина работает при помощи поворота рукоятки, является действующим экспонатом Лондонского научного музея. Великие идеи великого изобретателя были все же реализованы и проверены на практике. Эта воссозданная машина является научно-исследовательским объектом, инженерной скульптурой и последним своеобразным памятником, поставленным великому изобретателю. У Ч. Бэббиджа оказалось много последователей в разных странах, создававших разностные вычислительные машины вплоть до начала XX века.
(Продолжение истории создания разностных машин можно прочитать в следующем номере журнала.)
Аналитическая машина Бэббиджа. Часть вторая — трагическая судьба вычислительной техники XIX века
Первую часть статьи вы можете найти по этой ссылке.
Идея разностной машины посетила Чарльза Бэббиджа то ли 1812, то ли 1813 году. Более точную дату история от нас скрывает. Что же должна была делать задуманная машина?
Для того что бы понять это — придётся вспомнить немного математики.
Как мы помним из предыдущей статьи, машина была задумана для табулирования, то есть вычисления математических таблиц.
Немного теории
Предположим, необходимо табулировать функцию N=n^4 (n=1,2. ).
Рассмотрим нижеприведённую таблицу:
Аргумент (n) | Значение (R1) | Разность №1 (R2) | Разность №2 (R3) | Разность №3 (R4) | Разность №4 (R5) |
1 | 1 | 15 | 50 | 60 | 24 |
2 | 16 | 65 | 110 | 84 | 24 |
3 | 81 | 175 | 194 | 108 | 24 |
4 | 256 | 369 | 302 | 132 | 24 |
5 | 625 | 571 | 434 | 156 | 24 |
6 | 1296 | 1105 | 590 | 180 | |
7 | 2401 | 1695 | 770 | ||
8 | 4096 | 2465 | |||
9 | 6561 |
Первый столбец — это аргумент функции, второй — это значение функции для данного аргумента. Третий столбец — это разность последующих значений функции и предыдущих. То есть строка №1 = 16 – 1, строка №2 = 81-16 и так далее. Проделаем то же самое несколько раз (столбцы «Разность №2», «Разность №3»). Нетрудно заметить, что четвёртые разницы у нас полностью совпали. И это неспроста — если функция является многочленом n-ой степени, то в таблице с постоянным шагом (в нашем примере шаг равен единице) её n-е разности постоянны. Эта маленькая хитрость даёт нам одно преимущество — чтобы найти последующие значение функции, необходимо сложить все разности до четвёртой с текущим значением функции.
Например, 9^4 = 4096+1695+590+156+24 = 6561 (кто не верит, может воспользоваться калькулятором).
Бэббидж предполагал вычислять функции с постоянными шестыми разностями. Для этого машина должна была иметь семь регистров — по регистру для каждой разности и один для результата, и результат должен был получаться в результате семи сложений. Весьма затратный по времени вариант, и Бэббидж придумал способ как его оптимизировать. Он предложил записывать разности нечетного порядка из предыдущей строки, тогда вычислить следующее значение функции можно в два приёма, вычисляя сначала параллельно нечётные разницы, а затем уже чётные и значение функции.
Например, рассчитываем для N=8 на первом этапе R2 = 1105 + 590 = 1695, R4 = 132 + 24 = 156, на втором этапе R1 = 2401 + 1695 = 4096, R3 = 434 + 156 = 590. (Если вы запутались, советую заполнить электронную таблицу и выделить попарно соответствующие ячейки, разглядывая их сумму). Уже в 19 веке люди старались оптимизировать вычисления — и в наши дни стоит брать с них пример!
(Механизм передачи десятков в машине Паскаля, источник — Вокруг Света)
Каждый регистр представлял собой набор из восемнадцати десятичных счетных колёс, аналогичных колёсам машины Паскаля. Вычисление происходило в два этапа — первый этапа сложение без учёта переноса, второй этап — сложение с переносом от младшего разряда к старшему (последовательный перенос). Такая схема переноса требует последовательного сложения всех разрядов с учётом переноса, который мог возникнуть на предыдущей ячейке. Это наиболее простая, но самая неэффективная схема переноса, и Бэббиджа она не устроила. В дальнейшем, работая над аналитической машиной, он разработал схему сквозного переноса.
Для табулирования логарифмической, тригонометрической и прочих функций, таблицу предполагалось разбивать на участки, каждый из которых приближался своим многочленом. Переходя от одного участка к другому, оператор должен был вручную изменить значения разностей. Машина была снабжена звонком, который звонил после выполнения определённого числа шагов. Также разностная машина была снабжена печатающим механизмом, который запечатлевал результат на медной пластине. Такую пластину можно было использовать для неограниченного числа оттисков, при этом исключалась возможность внесения ошибки наборщиком.
Стоит заметить, что идея разностной машины была высказана ещё 1786 году Иоганном Гельфрейхом Мюллером, но он даже не приступал к её постройке, и по всей вероятности Бэббидж ни чего не знал об этой идеи.
Начало работ
К воплощению машины в металле и дереве, Бэббидж приступил в 1820 году. В 1822 году он заканчивает создание малой разностной машины. Она была способна вычислять функции с постоянными вторыми разностями с точностью до восьмого знака.
(Счётные колёса разностной машины Бэббиджа. Источник wikipedia)
Бэббидж начинает всячески популяризировать идею вычисления таблиц с помощью машин. В 1823-м году он получает финансирование от правительства в размере 1500 фунтов и начинает работу над машиной, которая смогла бы табулировать функции с постоянными шестыми разностями с точностью до двадцатого знака. Однако к 1828-му году выделенные средства полностью исчезают, также как и средства, выделенные из собственных доходов. В дальнейшем финансирование и постройка машины продолжаются с переменным успехом, однако к началу 1833 года удаётся закончить и испытать часть машины, которая может табулировать с точностью до пятого знака многочлены с постоянными вторыми разностями.
1833 год был также знаковым, так как в этом году было законченно строительство специального пожарозащищённого здания для машины, как сейчас бы сказали — датацентра. Переезд в новое здание вызвал паузу в создании машины. С одной стороны это создало новые проблемы — главный инженер, работавший над созданием машины, потребовал оплатить простой рабочих. Требование было отклонено, и он немедленно уволил всех рабочих и забрал все инструменты и оборудование, созданные во время работы над машиной, что вполне соответствовало английским законам того времени.
Однако вынужденная пауза привела к тому, что Бэббиджу пришла идея создания машины, которая могла бы вычислять не только таблицы, но и решала бы всё то многообразие задач, с которым сталкиваются инженеры и математики. В 1834-м году Бэббидж разрабатывает основные принципы новой машины, которую он называет аналитической. Однако о ней мы поговорим в следующей части статьи.
Как же обстоят дальнейшие дела с разностной машиной? 1834 год выходит статья доктора Дионисия Ларднера «Вычислительная машина Бэббиджа», в которой весьма подробно описывается принцип и устройство машины. Эта статья побудила двух шведов — Георга и Эдварда Шютца (отца и сына) к созданию своей собственной машины.
Трагический финал
Очередная проблема ждёт нашего героя — 1842-му году правительство отказывается от финансирования постройки разностной машины, т.к. будущие затраты на много превосходят изначально предполагавшийся бюджет.
В сороковых годах Бэббидж безуспешно пытается получить финансирование на достройку машины, которую он к тому времени заметно усовершенствовал, работая над идеями аналитической машины.
В тоже время шведы успешно продолжают работу над своей версией разностной машины, и к 1854 году успешно заканчивают её создание. Демонстрация машины состоялась на всемирной выставке в Париже 1855 году, и Бэббидж всячески приветствовал эту демонстрацию. Его сын Генри подготовил плакаты, поясняющие работу машины.
При жизни Бэббидж так и не смог довести своё детище до конца. Готовая часть машина была отправлена в музей Королевского колледжа, а 1862-м году она неудачно выставлялась на международной выставке в Лондоне, где ей отвели маленькую проходную комнату, откуда она вновь возвращается в музей. На этот раз это был научный музей в Южном Кенсингтоне, так как музей Королевского колледжа отказывался принять машину.
(Рабочая разностная машина в музее компьютерной истории в Маунтейн Вью, Калифорния. Источник wikipedia)
Как не парадоксально, но, не смотря на отказ Бэббиджу, в 1858-м году правительство заказывает у английского инженера создание копии шведской разностной машины. Эта копия впоследствии широко использовалась для вычисления таблиц смертности, по которым страховые компании делали свои начисления.
Работая над разностной машиной, Бэббидж пришёл к идее универсальной машины, которая смогла бы решать целый круг математических и инженерных задач. Его идея оказалась настолько оригинальной и опережающей своё время, что её реализация в задуманном виде воплотилась намного позже жизни её автора. Об этой машине, а также о первой программистке, в честь которой был назван язык Ада, и пойдёт речь в следующей части статьи.
Распутывая историю Ады Лавлейс (первого программиста в истории)
Содержание
Получилось намного сложнее, чем я ожидал. Историки расходятся во мнениях. Личности в истории сложно изучать. Технологии трудно понять. Вся история переплетается с обычаями 19-го века британского высшего общества. И есть удивительное количество ошибочных сведений и неверных трактовок.
Но после некоторого исследования, в том числе просмотра большого количества оригинальных документов, я чувствую, что я, наконец, понял, кто есть Ада Лавлейс, и какова ее история. Эта история полна как увлекательных, захватывающих моментов, так и трагичных, разочаровывающих.
Это сложная история, и чтобы в ней разобраться, нужно будет о многом рассказать.
Ранние годы Ады
Давайте начнём с самого начала. Ада Байрон (её девичье имя) родилась в Лондоне 10 декабря 1815 года у недавно женившейся пары из высшего общества. Ее отцу — лорду Байрону (Джордж Гордон Байрон) — было 27 лет, и в этом возрасте он обрёл большую популярность в Англии благодаря своим стихам. Ее мать, Аннабелла Милбэнк, 23-летняя сторонница прогрессивных взглядов, унаследовала титул баронессы Вентворт. Её отец сказал, что назвал её Адой, потому что это имя краткое, древнее и певучее.
Родители Ады — эдакий этюд противоположностей. Байрон вёл бурную жизнь, и, пожалуй, стал самым ярким «плохишом» (top bad boy) 19-го века — с тёмными эпизодами из детства и отрочества и большим количеством романтических и прочих историй. Помимо стихосложения и попрания социальных норм своего времени, он часто вытворял что-то необычное: держал ручного медведя в своей комнате во время учебы в Кембридже, например, или жил с поэтами в Италии и «пятью павлинами на парадной лестнице» (цитата одного из знакомых Байрона), писал учебник по армянской грамматике, и, если бы он не умер так рано, вёл бы войска в греческой войне за независимость (о чём напоминает большая статуя в Афинах), несмотря на полное отсутствие военной подготовки.
Аннабелла Милбэнк была образованной, религиозной и весьма правильной женщиной, увлеченной реформами и добрыми делами, которую Байрон прозвал «Принцессой параллелограммов». Её брак с Байроном продержался совсем недолго, и развалился, когда Аде было всего 5 недель; Ада больше никогда не видела своего отца (хоть он и держал её фотографию на своем столе и упоминал её в своей поэзии). Он умер в возрасте 36 на пике своей славы, когда Аде было 8. Был огромный шум вокруг него, породивший сотни книг и «священную войну» между сочувствующими Леди Байрон (как представляла себя мать Ады) и самому Байрону, которая длилась целый век, если не больше.
Ада провела своё детство обособлено на арендованных усадьбах своей матери, с гувернантками, воспитателями и своей кошкой — миссис Пафф. Её мать часто отсутствовала по разным (довольно дурацким) причинам, связанными с оздоровительными мероприятиями, обеспечила Аде насыщенную систему образования со многими часами занятий и упражнениями по самоконтролю. Ада изучала историю, литературу, языки, географию, музыку, химию, шитье, скоропись и математику (преподаваемую отчасти с эмпирическим подходом) до уровня элементарной геометрии и алгебры. Когда Аде было 11, она отправилась с матерью и окружением в годовое путешествие по Европе. Когда она вернулась, она была весьма увлечена в изучении того, что она назвала флайологией, размышляя о том, как можно воспроизвести полет птицы с помощью паровых машин.
Потом Ада заболела корью (и, возможно, энцефалитом), проведя в итоге 3 года прикованной к постели и в плохом здравии. Она успела полностью выздороветь к моменту, когда, согласно обычаям общества того времени, девушкам следовало вливаться в социум: ближе к 17 она уехала в Лондон. 5 июня 1833 года, спустя 26 дней после того, как она была «представлена при Дворе» (т. е. встретила короля), она была на приёме у 41-летнего Чарльза Бэббиджа (чей старший сын был ровесником Ады). Очевидно, она очаровала хозяина, и он пригласил ее вместе с матерью на показ своей недавно созданной разностной машины: 60-ти сантиметровая в высоту штуковина на ручном управлении с двумя тысячами латунных компонентов, которую сейчас можно увидеть в музее науки в Лондоне:
Мать Ады назвала ее «думающей машиной», и затем сообщила, что она может находить корни квадратных уравнений, а так же возводить некоторые числа во вторую и третью степень. Это событие изменило жизнь Ады.
Чарльз Бэббидж
Какова история Чарльза Бэббиджа? Его отец был успешным и предприимчивым ювелиром и банкиром. После различных школ и частных преподавателей Бэббидж отправился в Кембридж, где изучал математику, но вскоре загорелся идеей о модернизации принятых там подходов к математике, и вместе со своими друзьями (дружба коих продлилась всю жизнь) Джоном Гершелем (сын первооткрывателя Урана) и Джорджем Пикоком (ставшим в последствии первопроходцем в абстрактной алгебре), основал Аналитическое сообщество (которое впоследствии стало именоваться Кембриджским философским сообществом), чтобы продвигать такие реформы, как, скажем, замену точечной нотации Ньютона (Британская) в вычислениях на Лейбницовскую (Континентальную), основанную на функциях.
Бэббидж закончил Кембридж в 1814 году (за год до рождения Ады Лавлейс) и уехал со своей женой жить в Лондон, где реализовывался на научной и общественной сцене. У него не было работы как таковой, однако он читал лекции по астрономии и написал несколько хорошо принятых статьей в различных математических областях (функциональные уравнения, бесконечные произведения, теория чисел и т. д.), и поддерживался отцом и семьей своей жены.
В 1819 году Бэббидж посетил Францию и узнал о крупномасштабном правительственном проекте по созданию таблиц логарифмов и тригонометрических функций. Математические таблицы в те дни имели большую значимость в военной и коммерческой областях, использовались в науке, финансах, инженерных расчетах, навигации. Часто говорилось о том, что ошибки в таблицах могут посадить корабли на мель и разрушить мосты.
Вернувшись в Англию, Бэббидж вместе с Гершелем основал проект по созданию таблиц для их нового астрономического сообщества, и, в попытках проверить эти таблицы, говорят, Бэббидж воскликнул: «Молю Бога, пускай эти таблицы будут получены силой пара!«, что и ознаменовало начало его труда длинною в жизнь в попытке механизировать создание этих таблиц.
Уровень развития этой области
Механические калькуляторы были и задолго до Бэббиджа. Паскаль сделал таковой в 1642 году, и сейчас мы знаем, что и в античные времена был по крайней мере один. Но во времена Бэббиджа такие машины были большой редкостью и недостаточно надежными для регулярного использования. Таблицы создавались людьми — вычислителями (это была профессия), работа распределялась по команде, а самые низкоуровневые вычисления основывались на оценке многочленов (скажем, разложением в ряд) с использованием разностного метода.
Бэббидж мыслил, что может быть такое устройство — разностная машина — которая сможет вычислять любой многочлен до определенной степени посредством разностного метода, которая затем будет автоматически выдавать результат, сводя человеческий фактор, тем самым, к нулю.
(Музей истории науки)
К началу 1822-го 30-летний Бэббидж изучал различные виды механизмов, создавая прототипы и мысля о том, какой может быть разностная машина. Астрономическое сообщество, в котором он был соучредителем, наградило его медалью за идею, а в 1823 году британское правительство согласилось предоставить финансирование для создания подобной машины.
В 1824-ом Бэббидж слегка отклонился от темы со своей идеей о компании по страхованию жизни, для которой он сделал множество расчетных таблиц. Однако он оборудовал мастерскую в своей конюшне (в своем «гараже») и продолжил прорабатывать идеи о том, как реализовать разностную машину с использованием компонентов и инструментов его времени.
В 1827-ом таблица логарифмов, составленная вручную, наконец была закончена, после чего переиздавалась в течение приблизительно ста лет. Бэббидж напечатал эти таблицы на желтой бумаге, преследуя мысль, что это уменьшит количество ошибок при пользовании ими. (Когда я учился в начальной школе, таблицы с логарифмами были все еще самым быстрым способом для вычисления произведений).
Подавленный смертью жены, Бэббидж отправился в путешествие по континентальной Европе, и, под впечатлением от увиденных научных достижений, написал книгу — Размышления об упадке науки в Англии — которая породила резкую критику Королевского общества (членом которого он являлся).
Пускай и часто отвлекаясь, Бэббидж продолжал работать над разностной машиной, производя тысячи страниц с заметками и чертежами конструкций. Он был весьма хорош в создании чертежей и экспериментов с механизмами. Но в управлении нанятыми им инженерами он был не очень силен, равно как и в управлении финансами. Тем не менее, к 1832-му небольшой рабочий прототип разностной машины (без печатающего устройства) был успешно завершен. И это было именно то, что Ада Лавлейс увидела в июне 1833-го.
(Музей науки /библиотека изображений Наука и Общество)
Возвращаемся к Аде
Пожалуй, именно после того, как Ада увидела разностную машину, в ней проснулся интерес к математике. Она познакомилась с Мэри Сомервилль — переводчиком Лапласа и известным толкователем науки, и, частично под её влиянием, вскоре стала с энтузиазмом изучать работы Евклида. 1834-ом Ада приняла участие в благотворительной поездке по фабрикам северной Англии, устроенной её матерью, в результате чего оказалась под впечатлением от имеющихся у них образцов высокотехнологичного по меркам тех времен оборудования.
По возвращению Ада обучала математике некоторых дочерей подруг её матери. Она продолжала вести занятия по почте, отмечая, что это может быть «началом математической переписки на многие годы между двумя леди высшего ранга, которая, без сомнений, в дальнейшем может быть опубликована как наставление человечеству (mankind) или женской его части (womankind — игра слов; man и как человек, и как мужчина)«. В письмах Ады не содержалось сложной математики, однако выражалась она весьма ясно, сопровождая письма наставлениями вроде «никогда не стоит ограничиваться косвенным доказательством, если можно привести прямое.» (Многое, что в переписке Ада приводила подчеркнутым, здесь представлено курсивом).
Бэббидж, пожалуй, поначалу недооценил Аду, пытаясь заинтересовать её в игрушкой, представляющую из себя механическую куклу (Silver Lady automaton toy), которую он демонстрировал на своих приемах. Но Ада продолжала общение с Бэббиджем и Сомервилль — как по отдельности, так и вместе. И вскоре Бэббидж посвятил её во множество тем, в том числе в проблему финансирования государством его проекта по созданию разностной машины.
Весной 1835 года, когда Аде было 19, она встретила 30-летнего Уильяма Кинга (или, если быть точным, лорда Уильяма Кинга). Он был другом сына Мэри Сомервилль, обучался в Итоне (в той же школе, в которую я пошел 150 лет спустя) и Кембридже, а затем был государственным служащим, впоследствии на форпосте Британской империи на греческих островах. Уильям, похоже, был точным, добросовестным и порядочным человеком; быть может, немного жестким. Но, в любом случае, у Ады с ним быстро все закрутилось, и 8 июля 1835 года они поженились, не оглашая этого до последней минуты, боясь огласки и излишнего внимания прессы.
Следующие несколько лет жизни Ады, кажется, посвящены воспитанию троих детей и управлению крупным хозяйством, хотя она уделяла некоторое время верховой езде, обучению игры на арфе и математике (в том числе таким темам, как сферическая тригонометрия). В 1837 году королева Виктория (коей было тогда 18) взошла на престол, и, как член высшего общества, Ада встретилась с ней. В 1838 году, в связи со своей государственной службой, Уильям был удостоен графского титула, и Ада стала графиней Лавлейс.
(Powerhouse Museum в Сиднее)
Спустя несколько месяцев после рождения третьего ребенка в 1839 году, Ада с серьезным настроем вернулась к математике. Она сказала Бэббиджу, что хочет найти в Лондоне наставника по математике, попросив при этом не упоминать её имя — вероятно, боясь огласки.
Аде был представлен Август де Морган, первый профессор математики в Университетском колледже Лондона, выдающийся логик, автор нескольких учебников, и не только друг Бэббиджа, но и мужа дочери основного учителя детства матери Ады. (Да, это был маленький мир. Де Морган так же был другом Джорджа Буля и человеком, который, пусть и опосредованно, являлся причиной появления булевой алгебры).
В переписке с Бэббиджем Ада проявила интерес к дискретной математике и удивлялась, к примеру, тому, что пасьянс «можно свести с математическим формулам и решить«. Но в соответствии с традициями математического образования того времени (кои распространяются и на наше время), де Морган обучал Аду математическому анализу.
(Британская библиотека)
Её письма к де Моргану касательно исчисления не особо отличались от таковых для студентов, изучающих математический анализ в наши дни, однако были чем-то весьма необычным для времён викторианской Англии. Даже многие из заблуждений такие же, хотя Аду больше обычного задевали неудачные обозначения в вычислениях («почему нельзя умножить на dx?» и т. д.). Ада была упорной ученицей, и, казалось, с удовольствием погружалась в глубины математики. Она была рада открытию в себе математических способностей и высокой их оценке де Морганом. Она поддерживала связь с Бэббиджем, и в один из его визитов (в январе 1841 года, когда ей было 25 лет), она очаровательно сказала тогда 49-летнему Бэббиджу «Если вы катаетесь на коньках, обещайте принести коньки в Оккам; это самое модное место сейчас, которое обязательно нужно посетить».
Отношения Ады с матерью были весьма сложными. Со стороны казалось, что Ада относится к матери с большим уважением. Но, кажется, она постоянно сталкивалась с попытками своей матери контролировать её и манипулировать ею. Мать Ады часто жаловалась на свое здоровье, причитала о том, что вот-вот умрет (но на самом деле она дожила до 64 лет). Она часто критиковала Аду по вопросам воспитания детей, ведения домашнего хозяйства, поведения в обществе. Но 6 февраля 1841-го Ада имела достаточно уверенности в себе и своих занятиях математикой, чтобы написать весьма подробное письмо своей матери о своих мыслях и стремлениях.
Она писала: «Я считаю себя обладателем очень редкой комбинации качеств, идеально подходящих для того, чтобы сделать меня первооткрывателем скрытых реалий природы.» Она рассказывала о своих амбициях в создании великого, о своей «неуемной и беспокойной энергии», которой, по её мнению, она нашла приложение. И говорила о том, что после 25 лет она стала менее «скрытной и подозрительной» по отношению к ней.
Но спустя три недели её мать рассказала о том, что ещё до рождения Ады у Байрона и его сводной сестры появился ребенок, и эта новость выбила ее из колеи. Инцест в те времена в Англии не был чем-то противозаконным, но это был скандал. Аде было трудно это принять, и на некоторое время она отдалилась от математики.
У Ады периодически возникали проблемы со здоровьем, а в 1841 году, видимо, ситуация ухудшилась, и она начала систематически принимать опиаты. Она очень хотела преуспеть в чём-то, и начала думать, что, возможно, она должна посвятить себя музыке и литературе. Но её муж Уильям, похоже, отговорил её от этой идеи, и в конце 1842 она вернулась к математике.
Возвращаясь к Бэббиджу
Чем же Бэббидж занимался всё это время? Самыми разными вещами и с переменным успехом.
После нескольких попыток он смог утвердиться на должность лукасовского профессора математики в Кембридже, однако в последствии он там особо и не бывал. Тем не менее, он написал, как впоследствии оказалось, весьма важной книгой — Экономику технологий и производства (On the Economy of Machinery and Manufactures), в которой рассказывалось о том, как распределять производственные задачи (вопрос, который на самом деле возник в связи с вычислениями математических таблиц).
В 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 лет спустя, он рассуждает о взаимосвязях между механическими процессами, законами природы и свободной волей. В своей книге он утверждает, что «сложные расчеты могут осуществляться с помощью механических средств«, но потом продолжает утверждать (приводя весьма слабые примеры), что механический двигатель может производить последовательности чисел, демонстрирующие неожиданные изменения, сравнивая это с чудом.
Бэббидж пробовал свои силы в политике, дважды баллотировался в парламент с ориентированной на промышленность программой, однако не смог победить на выборах, частично из-за претензий по злоупотреблениям в обращении с казенными деньгами, выделенными на разностную машину.
Бэббидж продолжал устраивать приемы по высшему разряду в своём доме в Лондоне, завлекая таких светил таких, как Чарльз Диккенс, Чарльз Дарвин, Флоренс Найтингейл, Майкл Фарадей и герцог Веллингтон, коего часто сопровождала его престарелая мать. Но даже несмотря на то количество званий и почестей, которые перечислялись в шесть строк после его имени, его сильно огорчало, как он считал, отсутствие признания.
Центром всего этого была судьба разностной машины. Бэббидж нанял лучших инженеров своего времени для построения машины. Но, по каким-то причинам, несмотря на десять лет работы и множество высокоточных станков и инструментов, машина так и не была построена. Вернёмся к 1833 году; вскоре после встречи с Адой, Бэббидж попытался взять проект под полный свой контроль, но в результате главный инженер вышел из проекта и настаивал, что ему полагаются все чертежи разностной машины, даже выполненные самим Бэббиджем.
Но в то время Бэббидж считал, что у него наверняка лучшее представление о будущем этой машины. Вместо машины, которая бы просто вычисляла разности, он представлял себе «аналитическую машину«, которая поддерживала бы множество различных операций, которые можно было бы задавать в некоторой запрограммированной последовательности. Сперва он представлял себе машину, которая вычисляет какие-то определенные формулы, однако в дальнейшем он добавлял новые возможности, как, к примеру, условия, и объяснял, зачастую предлагая весьма изящные пути, как с помощью механизмов реализовать тот или иной функционал. Но, что самое главное, он понял, как контролировать шаги вычислений с помощью перфокарт, подобных тем, что были изобретены в 1801 году Жаккардом для задания шаблонов шитья на ткацких станках.
(Музей истории науки)
Бэббидж создал несколько очень сложных конструкций, и сейчас представляется, что они прекрасно могли бы работать. Но вернемся в 1826-ой год, когда Бэббидж изобрел то, что назвал «Механической нотацией«. Её цель заключалась в символьном представлении операций механизмов так же, как математическая нотация описывает операции в математике.
К 1826-му году Бэббидж был сильно подавлен тем, что люди не оценили его изобретение. Без сомнений, люди не понимали его, поскольку даже сейчас не ясно, как работают его изобретения. Но, по всей видимости, это было его величайшим изобретением, конструкцию и принципы работы которого он смог описать весьма подробно.
К 1842 году правительство сменилось, и Бэббидж настаивал на встрече с новым премьер-министром (Робертом Пилом), но у него это не вышло, что его сильно разозлило. В парламенте идея финансирования разностной машины, в конце концов, просела под весом шуток на тему ее использования. (Стенограммы дебатов о разностной машине весьма очаровывают, особенно, когда доходит до обсуждений её возможных применений для государственной статистики, что входит в удивительный резонанс с сегодняшними вычислительными возможностями Wolfram|Alpha.)
Статья Ады
Несмотря на отсутствие поддержки в Англии, идеи Бэббиджа обрели некоторую популярность в другом месте, и в 1840 году Бэббидж был приглашен для чтения лекций по аналитической машине в Турин, где был удостоен почестей от итальянского правительства.
Бэббидж никогда не публиковал сколь нибудь подробный обзор разностной машины, и совсем ничего не писал об аналитической машине. Но он рассказывал об аналитической машине в Турине некому Луиджи Менабреа — 30-летнему военному инженеру, который 27 лет спустя стал премьер-министром Италии (а так же внес свой вклад в становление структурного анализа в математике).
В октябре 1842 года Менабреа опубликовал статью на французском языке, основанную на своих заметках. Когда Ада увидела его статью, она решила перевести её на английский язык и представить её в британском издании. Много лет спустя Бэббидж говорил, что предложил Аде написать свою собственную работу об аналитической машине, на что она ответила, что эта мысль не приходила ей в голову. Тем не менее, в феврале 1843 года Ада решила сделать перевод и добавить к нему обширные примечания.
Последующие месяцы она очень усердно работала над этой темой, ведя практически каждодневный обмен письмами с Бэббиджем (несмотря на наличие и других «неотложных и неизбежных встреч»). И хотя в те времена письма отправлялись по почте (которая приходила по 6 раз в день в Лондоне в те времена), или отправлялись с гонцом (Ада жила примерно в миле от Бэббиджа, когда жила в Лондоне), они были весьма похожи на современные e-mail, коими обмениваются участники проекта, за исключением того факта, что дело это происходило в викторианской Англии. Ада задает Бэббиджу вопросы; он отвечает; она что-то объясняет; он комментирует это. Очевидно, что она была в подчинении, но чувствовалось, что она весьма раздражалась, когда Бэббидж, к примеру, пытался внести свои собственные коррективы в её рукописи.
Очень увлекательно читать письма Ады о том, как она работает над отладкой её системы вычислений чисел Бернулли: «Мой дорогой Бэббидж. Я весьма растеряна, столкнувшись с этими числами, так что у меня нет возможности разобраться со всем сегодня… Так что я возвращаюсь к верховой езде. Tant mieux (тем лучше – фр.).» Позже она писала Бэббиджу: «Я работала не переставая весь день, при том весьма успешно. Вы будете чрезвычайно очарованы получившимися таблицами и диаграммами. Они были сделаны с особой точностью, а все указатели собраны весьма подробно и скрупулезно.» Затем она добавила, что Уильям (или «Лорд Л.», как она его называла) «весьма любезно обвел всё для меня в чернилах. Мне нужно было вначале сделать всё карандашом. «
Похоже, именно Уильям предложил ей подписать перевод и примечания. Как она писала Бэббиджу: «Это не было моим желанием – подписываться, в то же время я хотела добавить нечто, что помогло бы меня идентифицировать, связать этот текст с будущими работами, подписанными как A.A.L.» (Ада Августа Лавлейс).
К концу июля 1843 года Ада почти закончила работу над своими записями. Она гордилась ими, равно как и Бэббидж весьма лестно о них отзывался. Но Бэббидж хотел ещё кое что: добавить анонимное предисловие (написанное им), в котором говорится о том, как британское правительство не смогло поддержать проект. Аде показалось это плохой идеей. Бэббидж настаивал, говоря, что без предисловия публикацию следует изъять. Ада была в ярости, и сказала об этом Бэббиджу. В конце концов, появился перевод Ады, подписанный как «A.A.L.» и без предисловия, содержащий ее заметки в главе «Примечания переводчика».
Ада с большой радостью отправила своей матери копию статьи, объясняя, что «никто не может оценить масштаб проблемы и бесконечный труд, который требует перепроверка всех математических формул для печати. Это радостная перспектива, ведь, получается, многие сотни и тысячи подобных формул в той или иной степени выйдут из-под моего пера«. Она говорила, что её муж Уильям увлеченно раздавал копии своим друзьям, а так же писала, что «Уильям представляет меня в столь праведном свете, что никто другой не смог с ним сравниться в этом. А так же он говорил мне, что моя работа хорошо сказалась на его репутации.«
В течение нескольких дней всё общество обсуждало публикацию Ады. Она объяснила матери, что они с Уильямом «отнюдь не стремились сделать это в тайне, но в то же время не хотели, чтобы важность этого события была преувеличенной и переоцененной«. Она видела себя как в роли успешного интерпретатора и толкователя работ Бэббиджа, представляя их в более ясном свете.
О содержании записей Ады можно многое сказать. Но прежде чем мы перейдем к этому, давайте закончим рассказ о самой Аде.
И пусть предисловие Бэббиджа не было хорошей идеей, однако именно оно сподвигло Аду написать ему 14 августа 1843-го весьма захватывающее и очень откровенное 16-страничное письмо. (В отличие от своих обычных писем на маленьких сложенных страницах, это размещалось на больших листах.) В нём она объясняет, что, он зачастую «неявный» в своих речах, а она сама «всегда явная функция от х». Она говорит, что «Ваши дела глубоко занимали и занимают как меня, так и Лорда Лавлейс… И, так получилось, что у меня есть на Вас планы. » Затем она переходит к вопросу: «Если я представлю Вам на один-два года весьма достойное предложение по созданию Вашей машины… будет ли какой-то шанс в допущении меня… к управлению этим делом; это позволит Вам полностью сосредоточиться непосредственно на работе. »
А письмо закончила так: «Интересно, продолжите ли Вы работу со своей волшебницей (lady-fairy)?»
На следующий день в полдень она снова написала Бэббиджу с просьбой в помощи над «окончательной редакцией.» Затем она добавила: «Сегодня утром Вы получили мое длинное письмо. Возможно, Вы больше не захотите иметь дело со мной. Но я надеюсь на лучшее. »
(Нью-Йоркская публичная библиотека)
В 5 часов вечера того же дня Ада была в Лондоне и писала своей матери: «Я не понимаю, как обернётся дело с Бэббиджем… Я писала ему… весьма конкретно, представив ему мои собственные условия… Он столь убеждён в преимуществе своего верховенства, что наверняка откажется; хотя я требовала от него пойти на сильные уступки. Если он примет мое предложение, то мне, пожалуй, нужно будет заняться его положением и довести его машину до завершения (однако, исходя из того, что я видела в отношении него и его привычек в последние три месяца, мне кажется, что это едва ли произойдет, по крайней мере, если кто нибудь на него сильно не повлияет и не вынудит). Порою он сверх меры неорганизован и бессистемен. Я готова заниматься им течение последующих трех лет, если увижу достойные шансы на успех».
На копии письма Ады Бэббиджу он написал: «Видел AAL сегодня утром и отказался от всех ее предложений.»
Тем не менее, 18 августа Бэббидж писал Аде о том, что принесёт записи и чертежи, когда в следующий раз к ней наведается. На следующей неделе Ада писала Бэббиджу: «Мы весьма рады Вашему (несколько неожиданному) предложению» (после долгого визита к Аде и её мужу). После Ада писала матери: «Бэббидж и я, полагаю, в лучших отношениях сейчас, чем когда-либо. Я никогда не видела его столь милым, столь благоразумным и в таком добром духе! „
(Нью-Йоркская общественная библиотека)
Затем, 9 сентября Бэббидж писал Аде, выражая своё восхищение ею и (лестно) называл её “заклинательницей числа» и «моя дорогая и восхитительная толковательница». (Да, часто его неверно цитируют, он написал «числа», а не «чисел»).
На следующий день Ада ответила Бэббиджу: «Вы отважный человек, что допустили к руководству над Вами Вашу волшебницу!», а Бэббидж в следующем письме подписался как «Ваш покорный слуга». И в своём письме матери Ада описывала себя как «верховную жрицу разностной машины Бэббиджа«.
После статьи
Но, к сожалению, всё вышло не так, как ожидалось. Какое-то время Ада занималась семейными и домашними делами, заброшенными в период, когда она была сосредоточена на своих записях. Но после её здоровье сильно пошатнулось, и она многие месяцы потратила на докторов и различных «целителей» (её мать предложила ей «месмеризм», то есть гипноз).
Тем не менее, она всё ещё восхищалась наукой. Ада общалась с Майклом Фарадеем, который прозвал ее «восходящей звездой науки». Она говорила о своей первой публикации как о «своём первенце«, «в красках и с подтекстами (весьма неявно выраженными) о своих весьма общих и обширных метафизических представлениях». Она писала: «Он (её труд; она его называет „Он“ – прим.) станет (как я надеюсь) прекрасным главой большой семьи с большим количеством братьев и сестер».
Когда её примечания были опубликованы, Бэббидж сказал: «Вам следует написать свою собственную статью. Однако, если немного повременить, то её можно сделать ещё более прекрасной». Но в октябре 1844 года Дэвид Брюстер (изобретатель калейдоскопа, среди прочего) решил написать об аналитической машине, и Ада спросила, что, возможно, Брюстер может предложить для неё другую тему, сказав при этом: «Я думаю, что некоторые темы из области физиологии могли бы мне подойти; впрочем, как и любые другие.»
И в самом деле, в том же году она писала своему другу (который был также её адвокатом и сыном Марии Сомервилль): «Я не считаю, что структуры головного мозга менее подвластны математикам, нежели движения и свойства звёзд и планет; вполне, если выбрать для их рассмотрения правильную точку зрения. Я хотела бы оставить последующим поколениям вычисляемую модель нервной системы.» Впечатляющее видение, и это за 10 лет до того, как, например, Джордж Буль поднял вопрос касательно подобных вещей.
Как Бэббидж, так и Мэри Сомервилл начинали свою научныю карьеру с переводов, и она видела для себя такой же путь, говоря, что, возможно, её следующими работами будут обзоры Уэвелла и Ома, и что она вообще в конечном итоге может стать «пророком от науки«.
Конечно, у неё были и преграды. Как, например, то, что у женщин в те времена не было доступа к библиотеке Королевского общества в Лондоне, хотя её муж, частично благодаря её усилиям, являлся членом этого общества. Но самая серьезная проблема по-прежнему заключалась в здоровье Ады. У неё было множество проблем, хотя в 1846 году она все ещё говорила с оптимизмом: «Нужны лишь ещё год или два терпения и занятий своим здоровьем.»
Также были и проблемы с деньгами. У Уильяма был нескончаемый ряд сложных и часто довольно инновационных строительных проектов (кажется, он особенно интересовался башнями и тоннелями). И с просьбой о финансировании они вынуждены были обратиться к матери Ады, с которой зачастую сложно было иметь дело. Дети Ады уже входили в подростковый возраст, и ей приходилось уделять им много времени.
Между тем, у неё были хорошие отношения с Бэббиджем, она стала видеть его чаще, хотя в своих письмах она рассказывает о собаках и домашних попугаях чаще, чем об аналитической машине. В 1848 году у Бэббиджа была опрометчивая идея в создании машины, играющей в крестики-нолики, для проведения тура по стране с целью сбора денег на его проекты. Ада его отговорила. Центром идеи Бэббиджа была встреча с принцем Альбертом для обсуждения его машин, но этого так и не произошло.
Уильям тоже публиковался. У него уже были краткие работы с такими названиями, как «метод выращивания фасоли и капусты на одной и той же земле» и «О свекле сорта Мангольд». Но в 1848 году он написал ещё одну статью, сравнивая производительность сельского хозяйства Франции и Англии, основываясь на подробных статистических данных, с замечаниями наподобие «Легко показать, что французы не просто намного хуже англичан, но и то, что сейчас они питаются даже хуже, чем в самые плохие времена империи.«
1850-ый стал важным годом для Ады. Она и Уильям переехали в новый дом в Лондоне, в результате усилив своё присутствие на лондонской научной сцене. Она была под сильным впечатлением после того, как впервые посетила дом семьи её отца на севере Англии, из-за чего у неё с матерью возник спор. Затем она увлеклась ставками на скачки и потеряла на этом некоторую сумму. (Нельзя не сказать, что это было в её или Бэббиджа стиле — разработать какую-нибудь математическую схему для ставок, но нет никаких доказательств, что они этим занимались.)
В мае 1851-го открылась всемирная выставка в Хрустальном дворце в Лондоне. (Когда Ада решила посетить её в январе, Бэббидж ей писал: «Молю, наденьте шерстяные чулки, обувь на пробковой подошве и любые другие вещи, которые сохранят Вас в тепле.«) Выставка демонстрировала передовые проявления викторианской науки и техники, и Ада, Бэббидж и их научный круг общения были под впечатлением (хотя Бэббидж и ожидал большего). Бэббидж раздавал листовки по своей механической нотации в больших количествах. Уильям получил премию за решение в области производства кирпичей.
Её мать переехала в её дом, держа других людей от неё подальше, а 1 сентября Ада сделала некоторое неизвестное признание, кое явно расстроило Уильяма. Она, казалось, была близка к смерти, но, превозмогая боль, она продержалась еще три месяца, и в конце концов умерла 27 ноября 1852-го в возрасте 36 лет. Флоренс Найтингейл, которая присматривала за Адой и была её другом, писала: «Говорят, что она не смогла бы прожить так долго, если бы не огромная жизнеспособность её мозга, который не хотел умирать.«
Ада выбрала Бэббиджа исполнителем её воли. И, к огорчению её матери, была похоронена в семейном склепе Байрона рядом с отцом, который, как и она, умер в возрасте 36 лет (Ада прожила на 266 дней дольше). Её мать построила мемориал, на котором содержался сонет с названием «Радуга», написанный Адой.
После смерти Ады
Похороны Ады были весьма скромными; ни её мать, ни Бэббидж не присутствовали. Но некрологи были доброжелательными, в духе викторианской эпохи:
Уильям пережил её на 41 год, в конце концов повторно женившись. Её старший сын, с которым у Ады было много трудностей, вступил в ряды военно-морского флота за несколько лет до её смерти, но после дезертировал. Ада думала, что он, возможно, отправился в Америку (по-видимому, он был в Сан-Франциско в 1851-ом), но на самом деле он умер в 26, работая на верфи в Англии. Дочь Ады вышла замуж за весьма эксцентричного поэта, много лет провела на Ближнем Востоке и стала крупнейшим в мире разводчиком арабских скакунов. Младший сын Ады унаследовал семейный титул и провёл большую часть своей жизни в родовом имении.
Мать Ады умерла в 1860-м, но даже тогда сплетни о ней и Байроне продолжали появляться в статьях и книгах, включая Леди Байрон оправдана 1870-го за авторством Гарриета Бичер-Стоу. В 1905 году, за год до его смерти, младший сын Ады, воспитываемый по большей части своей бабушкой (матерью Ады), опубликовал книгу обо всём этом, с основной повесткой в стиле «в жизни лорда Байрона нет ничего интересного, за исключением того, что уже неоднократно обсуждалось«.
Казалось, что мать Ады и её младший сын были настроены против нее. Первого сентября 1852-го — в день своего признания Уильяму — Ада писала: «Мое истовое предсмертное обращение ко всем моим друзьям, у которых есть письма от меня: передайте их моей матери Леди Ноэль Байрон после моей смерти.» Бэббидж отказался. Остальные согласились. Но в дальнейшем, когда её сын их систематизировал, некоторые из них он решил уничтожить.
Правда, многие тысячи страниц из писем Ады до сих пор разбросаны по всему миру. Письма и ответы на них похожи на современную переписку — договоренности о встречах, разговоры о здоровье и хворях. Чарльз Бэббидж жалуется на почтовую службу. Три сестры из Греции просят у Ады деньги, потому что их умерший брат был пажом лорда Байрона. Чарльз Диккенс рассказывает о ромашковом чае. Любезности от человека, с которым Ада познакомилась на Паддингтонском вокзале. И расчёты по хозяйству, разбавленные заметками, вставками музыкальных партий, рецептами разных сладостей. А затем, перемешанные со всем вышеперечисленным, серьёзные интеллектуальные дискуссии об аналитической машине и многих других вещах.
Что стало с Бэббиджем?
Так, что было с Бэббиджем? Он прожил ещё 18 лет после смерти Ады и умер в 1871-ом. Он попытался продолжить работу над аналитической машиной в 1856-ом, но особых успехов не добился. Он писал статьи наподобие «Статистика по маякам«, «Таблица относительных частот для причин разрушений стеклянных окон«, «О древних артефактах человеческого искусства, перемешанных с костями вымерших видов животных«.
Затем, в 1864 году он опубликовал свою автобиографию — Отрывки из жизни философа — весьма странное и горькое творение. Глава об аналитической машине открывается цитатой из стихотворения Байрона — «Коль ошибаются, то время мстит за это» (“Man wrongs, and Time avenges”; Чюмина О. в 1905-ом переводила так: «Несправедливость – в мир, но отмщенье – за будущим«), и в таком же духе продолжает. Есть главы, посвященные театру, советам для путешественников (в том числе советы о том, как организовать себе перевозку в Европе в неком подобии современных домов на колесах), и, пожалуй, наиболее странную о неприятностях на улице. По какой-то причине Бэббидж вёл кампанию против уличных музыкантов, которые, как он утверждал, будили его в 6 утра, в результате чего он терял четверть от своего производительного времени. Неизвестно, почему он не разработал какое-то решение по звукоизоляции, но его кампания была настолько заметной, и так странно, что, когда он умер, в его некрологе она была основным посылом.
Бэббидж после смерти жены больше не женился, и его последние годы, кажется, прошли довольно одиноко. В колонке светских сплетен того времени пишут о нём следующее:
Видимо, он любил говорить, что с радостью отказаться бы от оставшийся части своей жизни за три дня, проведённые в будущем через 500 лет. Когда он умер, его мозг был сохранен, и он до сих пор выставлен…
И пускай Бэббидж так и не построил свою разностную машину, за него это сделала шведская компания, даже продемонстрировав её часть на всемирной выставке. Когда Бэббидж умер, многие документы и компоненты его проекта по разностной машине перешли к его сыну — генерал-майору Генри Бэббиджу, который опубликовал некоторые из этих документов, и в частном порядке собрал несколько устройств и некоторые компоненты вычислительной части аналитической машины. Между тем, фрагмент разностной машины, построенный во времена Бэббиджа, был выставлен в Музее науки в Лондоне.
Повторное открытие
После смерти Бэббиджа, дело его жизни — труды по созданию вычислительных машин 1 было всеми забыто (хотя, например, о них были упоминания в Encyclopaedia Britannica от 1911-го). Тем не менее, механические компьютеры продолжали развиваться, постепенно уступая электромеханическим, которые, в свою очередь, уступили электронным. И когда в 1940-х люди начали вникать в программирование, о работах Бэббиджа и заметках Ады вспомнили снова.
Люди знали, что «AAL» — это Ада Августа Лавлейс, и что она была дочерью Байрона. Алан Тьюринг прочитал её заметки и придумал термин «возражение леди Лавлейс» (о неспособности ИИ к творению и созиданию) в его статье о тесте Тьюринга от 1950-го. Но сама Ада была в ней представлена лишь сноской.
Был некий Бертрам Боуден — британский физик-ядерщик, который занялся работой в компьютерной индустрии и в конечном итоге стал министром образования и науки, и который «вновь открыл» Аду. В своей книге Быстрее мысли от 1953-го (да, о компьютерах) он пишет, что связался с внучкой Ады — Леди Вентворт (дочь дочери Ады), которая рассказала ему о семейных знаниях об Аде, как точных, так и не очень, и позволила ему изучить её работы. Занятно, как Боуден отмечает, что в книге внучки Ады «О чистокровных скаковых породах и их родословных» используется двоичная система в вычислениях родословных. Ада, как и аналитическая машина, конечно, пользовались десятичной системой, никак не рассматривая двоичную.
Но даже в 1960-е годы Бэббидж и Ада не были особо известны. Прототип разностной машины Бэббиджа был отдан Музею науки в Лондоне, но, хотя я в детстве (60-е) и бывал там многократно, я уверен, что никогда его там не видел. Тем не менее, в 1980-х, особенно после того, как Министерство обороны США назвало свой злосчастный язык программирования в честь Ады, осведомленность об Аде Лавлейс и Чарльзе Бэббидже начала увеличиваться, и стали появляться их биографии, иногда полные идиотских ошибок (моя любимая — где упоминание «проблемы трех тел«, в письме от Бэббиджа интерпретируется как романтический треугольник между Бэббиджем, Адой и Уильямом, хотя речь шла о задаче трёх тел из небесной механики!).
По мере роста интереса к Бэббиджу и Аде росло и любопытство касательно того, будет ли работать разностная машина, если её построить по чертежам Бэббиджа. Проект был начат, и в 1991-ом, после титанических усилий, была построена законченная версия разностной машины (а принтер добавили в 2000-ом) лишь с одним исправлением в чертежах. Удивительно, но машина работала. Строительство обошлось примерно во столько же (с поправкой на инфляцию), сколько Бэббидж просил от британского правительства еще в 1823 году.
А что касается аналитической машины, то никакая её версия так и не было создана, даже симулирующая её модель.
О чем на самом деле писала Ада
Итак, теперь, после того, как я рассказал (весьма подробно) о жизни Ады Лавлейс, — что конкретно было в её записях об аналитической машине?
Весьма очаровывающе, по крайней мере для меня, учитывая то, сколько лет я потратил на Mathematica; чуть позже она пишет: «Мы можем рассмотреть машину как материальное и механическое воплощение анализа, и что наши фактические возможности в этом разделе человеческого познания будут использоваться эффективнее, чем раньше. Это нужно для того, чтобы идти в ногу с нашими теоретическими познаниями об этих принципах и законах. И реализуется это через получение полного контроля над обращением с алгебраическими и численными символами, который и дает нам машина.«
Чуть позже она объясняет, как используются перфокарты для управления аналитической машиной, а после приводит ставшей классической фразу: «аналитическая машина плетет алгебраические узоры подобно Жаккардовому ткацкому станку, плетущему цветы и листья.»
Затем Ада разбирает то, как на аналитической машине будет проводиться последовательность отдельных видов вычислений с «операционными картами» которые определяют последовательность операций, и «картами переменных«, с помощью которых задаются значения. Ада рассуждает о циклах, и циклах циклов и т. д., в настоящее время известные как циклы и вложенные циклы, определяя для них математическую нотацию:
В записях Ады содержится много того, что кажется весьма современным. Она пишет, что “существует некий красивый тканный портрет Жаккарда, для производства которого потребовалось 24000 карт”. Затем она обсуждает идею использования циклов для уменьшения числа карт, и значение переупорядочивания операций с целью оптимизации их исполнения аналитической машине, в конечном счете показывая, что всего с тремя картами можно сделать то, что без циклов потребовало бы 330.
Ада рассуждает о том, насколько далеко в своих возможностях может зайти аналитическая машина, делая вычислимым то (по крайней мере, с некоторой точностью), что раньше казалось невозможным. И в качестве примера она приводит проблему трёх тел, и тот факт, что в свое время «в расчете 295 коэффициентов лунных возмущений» вычисления у многих не сходились.
Наконец, в своей Note G (можно перевести как примечание G, либо как нота соль — игра слов) она пишет: «Аналитическая машина не может создавать что-то новое. Она может делать все, что мы и сами знаем как выполнять… её цель состоит лишь в том, чтобы помогать нам осуществлять то, с чем мы уже хорошо знакомы«.
Ада, кажется, с полной ясностью представляла традиционные взгляды на программирование: мы создаем программу, которая делает нужные нам вещи. Но затем она отмечает, что представление «фактов и формул анализа» в форме, пригодной для машины, «обнаружит многие области знаний в новом свете, делая их более глубоко проработанными«. Другими словами, как я часто отмечал — если что-то запрограммировать, то мы узнаем об этом что-то новое; это откроет нам новые горизонты понимания.
Она говорит о том, что «в приведении математических истин в новую форму, в которой они они будут использоваться, даст нам новое видение, которое, в свою очередь, повлияет на теоретическую составляющую этой области знаний«. Другими словами, как я часто говорил (см. пост на Хабре «Вычисляемые знания и будущее чистой математики») — представление математических истин в вычислимой форме, вероятно, позволит лучше их понять.
Ада, кажется, понимала, что «наука об операциях«, осуществляемых машиной, можно применять не только для традиционных математических вычислений. Например, она отмечает, что если «Фундаментальные взаимосвязи между звуками в науке о гармонии поддавались бы воздействию абстрактных операций, то машина могла бы их использовать для написания научным методом музыкальных произведений любой сложности«. Неплохой уровень понимания для 1843-го года.
Вычисление чисел Бернулли
Самой известной частью среди написанного Адой стало вычисление чисел Бернулли в Note G. Кажется, эта тема является развитием её письма Бэббиджу в июле 1843 года. Письмо начинается так: «Я работаю в поте лица, как сам дьявол; (которым, возможно, я и являюсь)«. Затем она задает несколько справочных вопросов, а после пишет: «я хочу рассказать о числах Бернулли в одной из своих заметок как пример того, как неявная функция может вычисляться посредством машины, не занимая при этом людские умы и руки… Прошу предоставить мне необходимые данные и формулы«.
(Британская библиотека)
Выбор Адой чисел Бернулли для демонстрации аналитической машины был весьма интересным. Скажем, в 17-ом веке некоторые тратили всю свою жизнь на разработку таблиц сумм степеней целых чисел, иными словами, табулируя значения для различных m и n. Но Якоб Бернулли выяснил, что все подобные суммы могут быть выражены в виде полиномов от m, с коэффициентами, которые ныне называют числами Бернулли. А в 1713 году Бернулли с гордостью заявил, что вычислил первые 10 чисел Бернулли «за четверть часа», воспроизведя многие года работы других людей.
В наши дни, конечно, их можно мгновенно вычислять, скажем, в Wolfram Language:
И, так уж получилось, что несколько лет назад, в рамках демонстрации новых алгоритмов, мы вычислили 10 миллионов из них.
Хорошо, но как Ада планировала это сделать? Она начала с того, что числа Бернулли появляются при разложении в ряд:
Затем, переставляя компоненты этого выражения и сортируя по степеням х, она получила последовательность уравнений для чисел Бернулли Bn, которые она догадалась представить в рекуррентном виде:
Затем Ада объясняла, как это вычислить на аналитической машине. Во-первых, она использовала тот факт, что все нечётные числа Бернулли помимо B1) равны нулю, затем вычисляла Bn, которое является нашим современным B2n (или BernoulliB[2n] в Wolfram Language). Далее она начинала с B0, вычисляя затем Bn для больших n, сохраняя притом каждое полученное значение. Вот как выглядел используемый ею алгоритм (в современной форме):
Идея вычислений на аналитической машине заключалась в том, чтобы реализовывать последовательность операций (которые задаются «операционными картами») посредством «дробилки чисел» (Mill), с операндами, поступающими из «магазина» (с адресами, указанными на «карте переменных«). (В магазине каждое число представлялось последовательностью колесиков, каждое из которых нужно было прокрутить до требуемой цифры.) Для вычисления чисел Бернулли Ада хотела использовать два вложенных цикла из операций. С имеющийся на тот момент моделью аналитической машины Аде приходилось эти циклы разворачивать. Но в конце концов она успешно описала то, как можно вычислить B8 (которое она называла B7):
По сути, это трассировка программы на аналитической машине, которая выполняется за 25 шагов (плюс цикл). На каждом шаге трассировки показывается, какая операция выполняется на какой карте переменных, и в какую карту переменных записывается результат. Не имея символьного обозначения для циклов, Ада просто брала их в скобки и поясняла, что эти фрагменты следует повторять.
В конце концов, конечный результат вычислений записывается в позицию 24:
Как можно заметить, у Ады в строке 4 содержится ошибка, из-за чего дробь получилась перевернутой. Но если это исправить, то можно с легкостью получить современную версию того, что сделала Ада:
А вот то, что та же схема выдаст для двух последующих (ненулевых) чисел Бернулли. Ада выяснила, что для вычисления последующих чисел не потребуется большего объема памяти (которая реализуется картами переменных), а только лишь большее количество операций.
Аналитическая машина, разработанная в 1843-ем, должна была хранить тысячу 40-значных чисел, что позволило бы проводить вычисления до, возможно, B50 (=495057205241079648212477525/66). И это осуществлялось бы очень быстро; аналитическая машина была рассчитана на производительность в 7 операций в секунду. Таким образом, вычисление B8 заняло бы 5 секунд, а B50 — что-то около минуты.
Любопытно, даже в рекордных по производительности вычислениях чисел Бернулли еще несколько лет назад использовался в основном тот же алгоритм, который использовала Ада, хотя сейчас имеются и немного более быстрые, которые эффективно вычисляют модули числетелей чисел Бернулли как последовательность простых чисел, а затем восстанавливают их до полного числа, используя китайскую теорему об остатках.
Бэббидж vs. Ада?
Аналитическая машина и её создание было делом жизни Бэббиджа. Так что же привнесла Ада? Ада видела себя в первую очередь толкователем его работ. Бэббидж показал ей много планов и примеров аналитической машины. Она хотела представить общее видение этого, как всё взаимосвязано; как она выражалась: «привнести общее, масштабное, метафизическое видение«.
В сохранившимся архиве документов Бэббиджа (годы спустя найденном в кожаном чемодане адвоката их семьи) содержится большое количество описаний принципов работы аналитической машины — с 1830-го и далее на протяжении десятилетий, с заголовками наподобие “Аналитическая машина” и “Наука о числах сводится к механизмам”. Почему Бэббидж ни одну из них не опубликовал — не ясно. Они представляют весьма подробные описания основных принципов работы машины, хотя, безусловно, кажутся определенно менее интересными, чем работы Ады.
Бэббидж умер, когда работал над «Историей аналитической машины«, которую затем закончил его сын. В ней приводится датированный список из «446-ти замечаний об аналитической машине«, каждая из которых рассказывает о том, как некоторая операция — скажем, деление — может быть на ней реализована. Даты начинаются с 1830-х, продолжаются в 1840-х, но с почти полным отсутствием записей летом 1843-го.
Между тем, в сборнике статей Бэббиджа, представленном в Музее науки, есть некоторые эскизы по высокоуровневым операциям для аналитической машины. К примеру, запись от 1837-го: «разница между двумя уравнениями первой степени«, что есть суть оценка рациональной функции:
Есть несколько очень простых рекуррентных соотношений:
Затем, в записи от 1838-го, описывается вычисление коэффициентов произведения двух многочленов:
Но в его записях нет ничего сравнимого по сложности и ясности с вычислениями чисел Бернулли у Ады. Бэббидж, безусловно, помогал Аде в её работе, но она определенно стояла во главе этой работы.
Итак, что же говорил Бэббидж по этому поводу? В своей автобиографии, написанной 26 лет спустя, он мало писал о ком-то или о чем-то хоть сколь-нибудь хорошие вещи. Вот что он пишет о записях Ады: «Мы вместе обсуждали различные иллюстрации, которые можно представить для публикации; я предложил несколько, но выбор был целиком за ней. Так же была работа над различными алгебраическими проблемами, за исключением, конечно, тех, что связаны с числами Бернулли, который я вызвался решить самостоятельно, чтобы оградить леди Лавлейс от излишних хлопот. Затем она переслала мне исправленную версию, обнаружив грубую ошибку, которую я допустил.«
Когда я впервые прочитал это, было впечатление, что Бэббидж говорил, что он был литературным негром всех заметок Ады. Но перечитывая, я понял, что он говорит лишь то, что предлагал Аде различные варианты, которые она могла принять, либо отказаться от них.
Для меня, нет никаких сомнений касательно того, как было дело: у Ады была идея о том, что может делать аналитическая машина, и спрашивала Бэббиджа о том, как это можно реализовать. Если опираться на мой личный опыт работы с проектировщиками аппаратного обеспечения, то их ответы зачастую были весьма подробными. Достижением Ады было соединение этих деталей в четкое представление принципов работы машины — то, чего Бэббидж никогда не делал. (В своей автобиографии зачастую он просто отсылает к записям Ады.)
Секретный ингредиент Бэббиджа
При всех своих недостатках, тот факт, что Бэббидж выяснил, как построить (и притом функционирующую) разностную машину, не говоря уже об аналитической машине, весьма впечатляет. Так как он это сделал? Я думаю, что ключ был в его механической нотации. Он впервые писал о ней в 1826-ом в статье с названием «Методы обозначений машинных операций посредством знаков«. Его идея заключалась в том, чтобы взять подробную структуру машины и представить её с помощью символьных диаграмм то, как между собой должны взаимодействовать компоненты. В качестве первого примера он приводит гидравлическое устройство:
Затем он приводит в пример часы, показывая на своего рода «трассировке выполнения» слева то, как изменяются параметры компонентов часов, а справа нечто вроде блок-схемы их взаимосвязей:
Это довольно хороший способ представления того, как работает система, который в некоторых отношениях схож с современными временными диаграммами, но кое-чем все таки отличается. И с годами, что Бэббидж провел за работой над аналитической машиной, его заметки стали содержать все более сложные схемы. Не совсем понятно, что означает нечто, приведенное ниже:
Однако, можно заметить удивительную схожесть с современными представлениями на языке Modelica, как, скажем, в Wolfram SystemModeler. (Одно из различий с современными представлениями заключается в том, что в наше время подсистемы представляются значительно более иерархически, а так же то, что все представления теперь вычислимы, и из них можно смоделировать реальное поведение системы.)
Бэббидж активно использовал свои разнообразные диаграммы в записях, но так ничего о них и не опубликовал. В самом деле, имеется лишь ещё одна его печатная работа о механический нотации — буклет, раздаваемый в 1851-ом на всемирной выставке — по всей видимости, как шаг к стандартизации чертежей механических компонентов (и эти обозначения, подобные вышеприведенным, периодически появляются на диаграммах Бэббиджа).
Я не уверен, почему Бэббидж ничего больше не писал о своей механической нотации и диаграммах. Возможно, он был в горечи от того, что в 1826-ом люди не смогли осознать ценность этих идей. Или, возможно, он видел их как «секретный ингредиент «, позволяющий ему создавать свои проекты. И пускай инженерные системы прошли огромный путь со времен Бэббиджа, однако его идеи и сейчас могут послужить источником вдохновения.
В большем масштабе
Итак, как выглядит всё произошедшее с Адой, Бэббиджем и аналитической машиной в большем масштабе?
Чарльз Бэббидж был энергичным человеком, имел много идей, и некоторые из них были весьма хороши. В свои 30 хотел составлять математические таблицы с помощью машины, и так и не отказался от своей идеи в последующие 49 лет, изобретя при этом аналитическую машину для достижения этой цели. Он был отличным, быть может даже одаренным в том, что касалось инженерной части. Но он был весьма плох в выборе траектории для проекта, его руководстве.
Ада Лавлейс была умной женщиной, которая подружилась с Бэббиджем (нет никаких доказательств, что у них когда-либо было что-то романтическое). Благодаря Бэббиджу, она описала принципы работы аналитической машины, и при этом привнесла более абстрактное её видение, чем у Бэббиджа, а так же представление о невероятно мощной идее универсальных вычислений.
Разностная машина и подобные устройства есть компьютеры специального назначения, аппаратная часть коих рассчитана лишь на то, чтобы делать что-то одно конкретное. Казалось бы, чтобы делать много различных вещей, потребуется большое количество разнообразных компьютеров. Но это не так. Вместо этого мы сталкиваемся с фундаментальным фактом, что можно сделать компьютеры общего назначения, где единая и фиксированная часть оборудования может быть запрограммирована на проведение любых вычислений. И именно эта идея об универсальных вычислениях дала возможность существовать программному обеспечению, что и запустило компьютерную революцию 20-го века.
Еще в 17-ом веке у Лейбница уже была философская концепция о чем-то наподобие универсальных вычислений. Однако эта тема не получила развития. И аналитическая машина Бэббиджа — первый и явный пример из известных нам машин, способных осуществлять универсальные вычисления.
Бэббидж не размышлял об этом в подобном ракурсе. Он просто хотел создать машину, которая была бы как можно более эффективной в производстве математических таблиц. Но в стремлении ее разработать он пришел к концепции универсального компьютера.
Когда Ада писала о машине Бэббиджа, она хотела представить её в наиболее ясном свете, и потому рассматривала машину более абстрактно, в результате чего она открыла и представила то, в чём сейчас можно узнать понятие об универсальных вычислениях.
Труды Ады оставались в безвестности в течение многих лет. Однако, на полях создающийся математической логики эта идея об универсальных вычислениях всплыла снова, наиболее четко выраженная в работе Алана Тьюринга от 1936-го. Затем, после создания электронных компьютеров в 1940-х, стало ясно, что они обладают возможностями производить универсальные вычисления, что и связало их с работами Тьюринга.
Правда, были подозрения, что, возможно, некоторые другие способы реализации компьютеров потребуют других форм вычислений. И они просуществовали до 1980-х — момента, когда концепция универсальных вычислений стала общепринятым и устойчивым понятием. И к тому времени, появилось нечто новое, включая и мою работу — то, что универсальные вычисления не просто что-то возможное, а нечто весьма повсеместное.
И теперь мы знаем, (что воплощается, к примеру, в принципе вычислительной эквивалентности) что очень широкий спектр систем, притом даже очень простых конструкций, способен производить универсальные вычисления.
Разностная машина не добралась до этого порога. Но если ее немного улучшить, она получит такую возможность. Таким образом, в ретроспективе, отнюдь не кажется удивительным, что аналитическая машина могла их осуществлять.
Сегодня, в окружении компьютеров и программ, понятие об универсальных вычислениях кажется практически очевидным: разумеется, мы можем использовать программы для расчета того, что захотим. Но в теории это вовсе не очевидно. Думаю, можно сказать, что Ада Лавлейс была первым человеком, который увидел со всей ясностью то, определило путь развития наших технологий и даже цивилизации — концепцию универсальных вычислений.
А что, если…
Что было бы, если бы не проблемы Ады со здоровьем, и если бы она смогла успешно завершить проект по созданию аналитической машины? Что бы происходило после этого?
Я не сомневаюсь, что аналитическая машина была бы построена. Быть может, Бэббиджу пришлось бы немного пересмотреть свои чертежи, но я уверен, что он заставил бы ее работать. Штуковина получилась бы размером с железнодорожный локомотив, имея около 50 000 движущихся частей. И нет сомнений в том, что машина была бы в состоянии вычислять математические таблицы с точностью до 30 или 50 знаков, примерно по одному результату в каждые 4 секунды.
Додумались ли они бы до того, что машина может быть электромеханической, а не чисто механической? Думаю да. В конце концов, Чарльз Уитстон, который был тесно связан с развитием электрического телеграфа в 1830-х, был их хорошим другом. И, передавая информацию через электрические провода, а не механически через стержни, сложность конструкции существенно бы уменьшилась, а её надежность (что было бы большой проблемой) резко бы возросла.
Еще одним важным фактором в уменьшении аппаратной части компьютеров является использование двоичной системы заместо десятичной. Пришли бы они к этой идее? Лейбниц знал о двоичной системе. И если бы Джордж Буль стал работать с Бэббиджем после их встречи на большой выставке, быть может, они к чему-то бы пришли. Бинарная система не имела широкой известности в середине 19-го века, однако часто встречалась в задачках и головоломках, коими увлекался Бэббидж; ярким примером был его вопрос о том, как сделать квадрат из слов со словом «bishop» сверху и по бокам (ответ на который потребуется лишь несколько строк кода на Wolfram Language).
Основная концепция Бэббиджа касательно аналитической машины заключалась в автоматическом создании математических таблиц и их последующей печати, либо вывода их в виде графиков. Ему представлялось, что эти таблицы будут использоваться людьми, плюс он разрабатывал идею о некоторых библиотеках с предвычисленными картами, которые бы являлись версиями для чтения машинами.
В наше время, скажем, в Wolfram Language, нет никакой нужды хранить математические таблицы; можно просто вычислить то, что нужно и когда нужно. Но во времена Бэббиджа, с его идеей об огромной аналитической машине, подобное было просто немыслимо.
Хорошо, но использовалась бы аналитическая машина для чего-то отличного от вычисления математических таблиц? Думаю, что да. Если бы Ада прожила столько же, сколько и Бэббидж, она бы застала 1890-е — время, когда Герман Холлерит разрабатывал электромеханическое устройство на основе карт, предназначенное для переписи (который, кстати, был одним из основателем того, что в последствии превратилось в IBM). Аналитическая машина смогла бы дать гораздо больше.
Быть может, Ада реализовала бы свою идею об использовании аналитической машины для автоматического создания алгоритмической музыки. Возможно, машина использовалась бы для решения задачи трёх тел; быть может даже посредством моделирования. Если бы они додумались до использования двоичной системы, возможно, они бы реализовали системы наподобие клеточных автоматов.
Ни Бэббидж, ни Ада никогда не зарабатывали коммерцией (и, как Бэббидж всячески подчеркивал, его государственные контракты служили лишь для оплаты его инженеров, а сам он ничего не получал). Если бы они разработали аналитическую машину, смогли бы они найти бизнес-модель для ее реализации? Наверняка они продали бы несколько версий в различные правительственные учреждения. Быть может, они бы создали некий сервис удаленных вычислений, стоящий на службе викторианской науки, техники, финансов и прочего.
Но всего этого на самом деле не произошло, и вместо этого Ада умерла молодой, аналитическая машина так и не была закончена, и потенциал вычислений был заново открыт лишь в 20-ом веке.
Какими они были?
Если бы вы встретили Бэббиджа, каким бы он показался? Он был, как мне кажется, хорошим собеседником. В начале жизни он был идеалистом («сделать все возможное, чтобы оставить мир мудрее того, в который я пришел«); позже он превратился в почти диккенсовскую каррикатуру ожесточенного старика. Он устраивал прекрасные приемы и придавал большое значение связям с интеллектуальной элитой. Но, особенно в последние годы он проводил большую часть своего времени в одиночестве в своем большом доме, наполненном книгами, статьями и незавершенными проектами.
Бэббидж особо не разбирался в людях, и даже в свои восемьдесят он был подобен ребенку в своей полемике. Также у него были проблемы с фокусировкой на какой-то одной проблеме — он постоянно отвлекался на свои новые идеи. Было лишь одно большое исключение — его почти 50-летний труд в попытке автоматизировать процесс вычислений.
Так что можно сказать об Аде? В первую очередь это ясно излагающая и ясно мыслящая личность. Она произошла из высшего класса, но не носила особо модную одежду, и была куда менее стереотипной графиней, нежели интеллектуалкой. Она была взрослым и эмоционально зрелым человеком; вероятно, более зрелым, нежели Бэббидж, и кажется, имела хорошее прикладное понимание людей и окружающего мира.
Как и Бэббидж, она была богатой, и у неё не было необходимости работать для обеспечения своей жизни. Но она была амбициозной и хотела сделать что-то сама. Полагаю, за маской леди из высшего общества викторианской эпохи скрывался эдакий ботаник с математическими шутками и прочими атрибутами. Она также была очень сфокусированной и настойчивой, проведя, к примеру, несколько месяцев за написанием своих заметок.
В математике она успешно достигла уровня знаний тех времен; пожалуй, сравнявшись с Бэббиджем. Однако мы не знаем, в отличие от ситуации с Бэббиджем, чем именно она занималась в математике, так что трудно судить о её уровне; Бэббидж был был уважаемым, хоть и ничем не примечательным.
Когда читаешь письма Ады, представляется умный, сложный человек, обладающий ясным логическим мышлением. Её речи часто покрыты викторианскими любезностями, но под ними скрыты ясные и зачастую сильные идеи.
Ада ясно осознавала свое положение в обществе, и то, что она «дочь лорда Байрона». В каком-то смысле история ее успеха основывается на её амбициях и желаниях попробовать что-то новое. (Я не могу перестать сравнивать её как ведущего инженера в создании аналитической машины и лорда Байрона, возглавляющего греческую армию). Но я также подозреваю, что его проблемы влияли на неё. На протяжении многих лет, отчасти из-за влияния своей матери, она сторонилась таких вещей, как поэзия. Её взор был обращен к абстрактным вещам, и не только к математике и науке, но и к более метафизическим областям.
И, кажется, она заключала, что лучшим ее приложением будет работа в объединении научного и метафизического — возможно, именно это она называла «поэтической наукой«. Пожалуй, её самовоспроиятие было верным. Ведь, в каком то смысле, именно этим она и занималась: взяв инженерную часть, разработанную Бэббиджем, она создала абстрактную, «метафизическую» концепцию, которая и дала нам в последствии первое представление об идее универсальных вычислений.
Заключение
История Ады и Бэббиджа имеет множество интересных моментов. Это история о встрече технического мастерства с широким абстрактным видением. Это история о дружбе между старым и молодым человеком. Это история людей, которые имели смелость быть оригинальными и творческими.
Также это трагедия. Трагедия для Бэббиджа, который потерял так много людей в своей жизни, и чья личность отталкивала других и мешала ему реализовывать свои амбиции. Трагедия для Ады, которая только нашла дело свой жизни, как у неё ухудшилось здоровье.
Мы никогда не узнаем, что бы смогла сделать Ада. Ещё одна Мэри Сомервилль — известный толкователь викторианской науки? Эдакий Стив Джобс, формирующий видение аналитической машины? Или Алан Тьюринг, понимающий абстрактную идею универсальных вычислений?
То, что Ада прикоснулась к тому, что станет определяющей идеей нашего времени, было большой удачей. Бэббидж не понимал, с чем он имеет дело; Ада увидела проблески и успешно описала их.
Для некоторых людей, в частности, для меня, история Ады и Бэббиджа вызывает особый резонанс. Как и Бэббидж, я провел большую часть своей жизни, преследуя конкретные цели, хотя, в отличие от Бэббиджа, некоторые из них мне удалось реализовать. И, подозреваю, что как и Ада, мне предоставилась возможность увидеть проблески некоторых значимых идей будущего.
Но проблема заключается в том, чтобы в достаточной мере «быть Адой«, чтобы понять, что нас ждет, или хотя бы «найти ту Аду«, которая понимает. По крайней мере, сейчас, полагаю, у меня сложилось понимание того, какой была та самая Ада, родившаяся 200 лет назад: достойный человек на пути к универсальным вычислениям, настоящим и будущим достижениям в области вычислительного мышления.
Было очень приятно познакомиться с Вами, Ада. Благодарности
Немало организаций и людей помогало мне в получении информации и материалов для этого поста. Я хотел бы поблагодарить Британскую библиотеку, Музей истории науки в Оксфорде, Музей науки в Лондоне, Бодлеанскую библиотеку в Оксфорде (с разрешения графа Литтона, пра-правнука Ады, одного из 10 её ныне живущих потомков), Публичную библиотеку Нью-Йорка, Церковь святой Марии Магдалины (в Hucknall, Nottinghamshire — место погребения Ады), Бетти Тул (автор коллекции писем Ады), а также двух старых друзей: Тима Робинсона (человека, воссоздавшего машину Бэббиджа) и Натана Мирволда (финансирующего воссоздание второй версии разностной машины).