Ада не ограничилась простыми вычислениями: при правильной последовательности инструкций машина Бэббиджа могла, например, сочинять музыку. Более того, по словам Ады, «аналитическая машина вышивала алгебраические узоры так же, как станок Жаккара вышивает цветы и листья».
В станке Жаккара с помощью отверстий, проделанных в плоских перфокартах по определенной схеме, указывалось, как именно должны проходить нити, и в итоге на ткани появлялись цветные рисунки. Аналогичным образом можно было хранить инструкции, описывающие вычисления. Один набор перфокарт определял элементарные операции, другой указывал, в каком порядке и когда именно следует эти операции выполнять. Ада даже придумала остроумный способ, который позволял повторно использовать перфокарты, описывающие простые и повторяющиеся операции (говоря современным языком, Ада описала циклы программы). Так родилось понятие подпрограммы.
Ада поняла очень важный момент: машина Бэббиджа может работать не только с простыми конкретными числами, но и с символами. Теперь речь шла о настоящих вычислениях в современном смысле этого слова.
Ада всегда утверждала, что аналитическая машина не способна чудесным образом создать что-либо самостоятельно. Да, она могла поразить воображение, но ее «творческие способности» были ограничены творческими способностями ее создателей. Как гласит пословица, «из пустого ничего нельзя взять», что есть не более чем изложение второго начала термодинамики популярным языком. Ни «Я, робот», ни «Терминатор» в нашей Вселенной существовать не могут.
Станок Жаккара, работающий на перфокартах.
* * *
ЧИСЛА БЕРНУЛЛИ
К сожалению, здесь нам не хватит места, чтобы рассказать о числах Бернулли настолько подробно, как они того заслуживают. Эти числа названы в честь Якоба Бернулли (1654–1705), который ввел их при изучении сумм n-х степеней m первых чисел:
Эта сумма в сокращенном виде записывается так:
Числа В>к, которые всегда будут рациональными, называются числами Бернулли. Первые числа Бернулли таковы:
Их можно вычислить по рекурсивному алгоритму, например с помощью формулы:
Эту формулу можно описать конечной последовательностью действий, или алгоритмом. Именно так поступила Ада Лавлейс: она определила упорядоченную последовательность действий, позволяющих вычислить любое число Бернулли на машине Бэббиджа. Ее беспокоила не эффективность алгоритма, а лишь возможность его выполнения.
Логично, что последовательность чисел Бернулли бесконечна. Нечетные числа Бернулли для n > 2 равны нулю; значения остальных чисел Бернулли хаотичны, и сегодня не существует метода, позволяющего предсказывать их значения. Они тесно связаны с дзета-функцией Римана и считается, что в будущем эти числа сыграют крайне важную роль в теории чисел.