ЛитМир - Электронная Библиотека

В 1834 году она познакомилась с Мэри Сомервилль, которая с удовольствием исполнила роль ее проводника в науке. Незадолго до этого, в 1833 году, в 17 лет, Ада также познакомилась с Чарльзом Бэббиджем. Он продемонстрировал девушке и ее матери машину, над которой в то время работал, и объяснил принцип ее действия.

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

Влияние Бэббиджа

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

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

Что касается Ады, то она была представлена при дворе, познакомилась с Уильямом Кингом, вышла за него замуж, родила троих детей, ее муж унаследовал фамильный титул, и Ада стала графиней Лавлейс.

В 1841 году Бэббидж, который переехал в Турин, чтобы найти средства на разработку своей «аналитической машины», как он сам ее называл, счел, что следует перевести об этой машине статью. Итальянский математик и офицер инженерных войск Луиджи Менабреа, который со временем стал премьер-министром своей страны, перевел на французский язык несколько заметок об аналитической машине под общим названием «Схема аналитической машины, изобретенной Чарльзом Бэббиджем». Заметки показались Бэббиджу интересными, и Ада потратила почти год на их перевод на английский и составление комментариев. Статья Ады была еще более подробной, чем превосходные заметки Менабреа: она была в том числе посвящена описанию сложных расчетов с помощью машины Бэббиджа, в частности вычислению чисел Бернулли. Новизна машины Бэббиджа заключалась в том, что вычисления задавались с помощью последовательности инструкций, или машинного алгоритма. Если говорить современным языком, эта последовательность инструкций была аналогична компьютерной программе. Заметки Ады, по объему в три раза превышавшие статью Менабреа, были подписаны лишь ее инициалами А. А. Л., но не полным именем — Ада Августа Лавлейс, ведь многие брадатые мудрецы, узнав, что заметки написаны женщиной, не восприняли бы их всерьез. Кроме того, использовать фамилию мужа при публикации каких бы то ни было книг, как правило, не разрешалось.

Ада не ограничилась простыми вычислениями: при правильной последовательности инструкций машина Бэббиджа могла, например, сочинять музыку. Более того, по словам Ады, «аналитическая машина вышивала алгебраические узоры так же, как станок Жаккара вышивает цветы и листья».

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

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

Ада всегда утверждала, что аналитическая машина не способна чудесным образом создать что-либо самостоятельно. Да, она могла поразить воображение, но ее «творческие способности» были ограничены творческими способностями ее создателей. Как гласит пословица, «из пустого ничего нельзя взять», что есть не более чем изложение второго начала термодинамики популярным языком. Ни «Я, робот», ни «Терминатор» в нашей Вселенной существовать не могут.

Женщины-математики. От Гипатии до Эмми Нётер - _39.jpg

Станок Жаккара, работающий на перфокартах.

* * *

ЧИСЛА БЕРНУЛЛИ

К сожалению, здесь нам не хватит места, чтобы рассказать о числах Бернулли настолько подробно, как они того заслуживают. Эти числа названы в честь Якоба Бернулли (1654–1705), который ввел их при изучении сумм n-х степеней m первых чисел:

Женщины-математики. От Гипатии до Эмми Нётер - _40.jpg

Эта сумма в сокращенном виде записывается так:

Женщины-математики. От Гипатии до Эмми Нётер - _41.jpg

Числа Вк, которые всегда будут рациональными, называются числами Бернулли. Первые числа Бернулли таковы:

Женщины-математики. От Гипатии до Эмми Нётер - _42.jpg

Их можно вычислить по рекурсивному алгоритму, например с помощью формулы:

Женщины-математики. От Гипатии до Эмми Нётер - _43.jpg

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

Логично, что последовательность чисел Бернулли бесконечна. Нечетные числа Бернулли для n > 2 равны нулю; значения остальных чисел Бернулли хаотичны, и сегодня не существует метода, позволяющего предсказывать их значения. Они тесно связаны с дзета-функцией Римана и считается, что в будущем эти числа сыграют крайне важную роль в теории чисел.

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

* * *

ЯЗЫКИ, ПРОГРАММЫ И ПОДПРОГРАММЫ

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

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

Если гипотетическая вычислительная машина выполняет умножение, то полный алгоритм умножения будет программой, а таблица умножения, например, на 3 — подпрограммой.

15
{"b":"257759","o":1}