Книга: Укрощение бесконечности. История математики от первых чисел до теории хаоса
Назад: Мечта становится явью?
Дальше: Компьютерам нужна математика

Компьютеры на пьедестале

Ранние машины были более скромными, но и они позволяли сэкономить немало времени и сил. Пожалуй, первым значительным шагом после абака стали кости, или палочки, Непера: набор маркированных палочек, изобретенный Непером перед тем, как он придумал логарифмы. По сути, палочки были универсальными компонентами обычного процесса умножения. И хотя они могли заменить бумагу и карандаш и избавляли от необходимости записывать каждую цифру, они лишь имитировали ручные вычисления.
В 1642 г. Паскаль изобрел действительно механический калькулятор, арифметическую машину, чтобы помочь в подсчетах своему отцу. Устройство выполняло сложение и вычитание, но не умножение и деление. Оно имело восемь вращающихся дисков с числами, т. е. подходило для чисел вплоть до восьмизначных. В последующие десять лет Паскаль создал 50 аналогичных машин, большинство из которых сейчас хранится в музеях.
В 1671 г. Лейбниц придумал схему машины для умножения и собрал ее в 1694 г., заметив: «Негоже достойным людям, как рабы, терять часы над вычислениями, которые легко мог бы выполнить любой, имейся у него нужная машина». Он назвал свое устройство Staffelwalze (ступенчатый счетчик). Основная идея его изобретения широко использовалась последователями.
Автором самого амбициозного проекта вычислительной машины стал Чарльз Бэббидж. По его словам, в 1812 г. он «сидел в помещении Аналитического общества в Кембридже, клюя носом над раскрытыми передо мной таблицами логарифмов. Другой член общества вошел в комнату, увидел, что я вот-вот засну, и воскликнул: “Ну, Бэббидж, и о чем ты тут грезишь?” На что я ответил, кивнув на логарифмы: “Я думаю о том, что все эти таблицы можно было бы вычислить с помощью машины”». Этой мечте Бэббидж следовал до конца жизни, сконструировав прототип машины, названной им разностной. Он пытался получить от правительства помощь на создание более мощных устройств. Его самый амбициозный проект, аналитическая машина, по сути была программируемым механическим компьютером. Ни один такой аппарат не был построен, хотя удалось собрать некоторые его компоненты. Современная реконструкция аналитической машины хранится в Музее науки в Лондоне – и она работает. Большой вклад в труд Бэббиджа внесла Августа Ада Лавлейс, написав первую в мире компьютерную программу для его машины.
Первым калькулятором, поступившим в массовое производство, стал арифмометр, выпущенный Томасом де Кольмаром в 1820 г. В его основе лежал ступенчатый валиковый механизм, и еще в 1920 г. его производство процветало. Следующим принципиальным изменением стал механизм штифтового колеса, изобретенный шведским инженером Вильгодтом Однером. Его калькулятор был прототипом для десятков, если не сотен, аналогичных механизмов, выпускавшихся на множестве фабрик. Движущей силой был сам оператор, крутивший рукоятку и проворачивавший таким образом ряд дисков с цифрами от 0 до 9. Имея определенные навыки, человек мог достаточно быстро выполнять даже самые сложные операции. Во время Второй мировой войны научные и инженерные расчеты для Манхэттенского проекта по созданию первой атомной бомбы производились как раз на таких машинах, управляемых специально отобранным подразделением «вычислителей» – главным образом молодых женщин. Изобретение в 1980-х гг. дешевых и мощных электронных компьютеров моментально вывело механические устройства из игры, но вплоть до этого времени они оставались широко распространенными и востребованными в деловых и научных кругах.

 

Метод Ньютона для численного решения уравнения

 

Вычислительные машины выполняли не только простые арифметические действия, поскольку многие научные расчеты могут быть численно реализованы как длинный ряд арифметических операций. Один из первых численных методов, позволявших решать уравнения с достаточно высокой точностью, был изобретен еще Ньютоном и стал известен как метод Ньютона. Он решает уравнение f(x) = 0 с помощью вычисления ряда последовательных приближений к решению, где каждое следующее уточняет предыдущее, но основано на нем. От некоего начального предположения, обозначим его как х1, улучшаем наши приближения корней x2, x3, …, xn, xn + 1 согласно формуле:

 

 

где f´ – производная от f. Метод основан на геометрии кривой y = f(x) рядом с решением. Точка xn + 1 находится там, где касательная прямая к точке xn пересекается с осью X. Как показано на графике, она ближе к решению – точке x, чем исходная точка.
АВГУСТА АДА КИНГ, ГРАФИНЯ ЛАВЛЕЙС 1815–1852
Августа Ада была дочерью поэта лорда Байрона и Анны Милбенк. Ее родители расстались через месяц после рождения девочки, и она больше никогда не видела отца. Ребенком она уже показала способности к математике; в отличие от своих современников, леди Байрон сочла это отличным упражнением для развития ума своей дочки и поощряла ее в этом увлечении. В 1833 г. Ада познакомилась с Чарльзом Бэббиджем на званом обеде, и очень скоро, побывав на демонстрации его прототипа аналитической машины, девушка нашла ее восхитительной и моментально разобралась в ее устройстве. Она стала графиней Лавлейс, когда в 1838 г. ее муж получил титул графа.
В 1843 г. к своему переводу статьи Луиджи Менабреа «Заметки об аналитической машине Чарльза Бэббиджа» Ада добавила небольшое приложение, впоследствии ставшее образцом программ, разработанных ею собственноручно. Она писала, что «отличительной особенностью аналитической машины… является использование в ней принципа управления с помощью перфокарт, изобретенного Жаккардом для изготовления самых сложных узоров для парчовых тканей. Можно сказать, что аналитическая машина сплетает алгебраические формулы так же, как ткацкий станок Жаккарда – цветы и листья».
В 36 лет у женщины развился рак матки, и после долгих мучений она умерла от кровопускания на руках у своих врачей.
Вторым важным приложением численных методов стало решение дифференциальных уравнений. Предположим, мы решаем уравнение

 

 

и нам дано, что x = x0 в момент времени t = 0. Согласно Эйлеру, простейший способ – аппроксимация dx/dt с помощью

 

 

где ε очень мала. Тогда аппроксимация дифференциального уравнения принимает вид:
x(t + ε) = x(t) + ε f(x(t)).
Начиная с x(0) = x0 мы последовательно найдем значения f(ε), f(2ε), f(3ε) – в общем, f(nε) для любого целого n > 0. Обычное значение ε, скажем, 10–6. Миллион итераций (повторов) формулы покажет x(1), следующий миллион x(2) и т. д. Для современных компьютеров миллион вычислений – пустяк, и это уже вполне практичный метод.
Однако метод Эйлера оказался слишком прост для ученых, и пришлось изобрести множество улучшений. Самым известным стал целый класс методов Рунге – Кутты, названный в честь немецких математиков Карла Рунге и Мартина Кутты, впервые предложивших их в 1901 г. Один из них, так называемый метод Рунге – Кутты четвертого порядка, широко используется в инженерии, прикладной и теоретической математике.
Нужды современной нелинейной динамики породили несколько сложнейших методов, позволяющих избежать накопления ошибок даже в длительных временных периодах, которые сохраняют определенную структуру, связанную с точным решением. Например, в механической системе без трения полная механическая энергия сохраняется. И есть возможность настроить численный метод так, чтобы на каждом шагу энергия сохранялась точно. Такая процедура исключает риск, что вычисленное решение будет мало-помалу отклоняться от точного, подобно тому как маятник постепенно останавливается, теряя энергию.
ЧТО ЧИСЛЕННЫЕ МЕТОДЫ ДАЛИ ИМ
Ньютону не только пришлось разобраться в природе вычислений – ему удалось изобрести эффективные методы вычислений. Он широко внедрил степенные ряды для описания функций, потому что научился дифференцировать и интегрировать эти ряды одно выражение за другим. Он также использовал их для вычисления значения функций, создав один из ранних численных методов, который используется до сих пор. На одной из страниц его манускриптов, датируемой 1665 г., показано численное определение площади под гиперболой, которую мы теперь распознаем как логарифмическую функцию. Он исследовал свойства бесконечных рядов, вычислив их суммы с поразительной точностью, до 55-го десятичного знака после запятой.
Ньютоновский расчет площади под гиперболой

 

Более сложные структуры – симплектические интеграторы, с помощью которых решаются дифференциальные уравнения механических систем с высокой точностью, сохраняя симплектическую структуру гамильтоновых уравнений. Это любопытная, но чрезвычайно важная разновидность геометрии, адаптированная для двух типов переменных, положения и импульса. Симплектические интеграторы особенно важны для исследований небесной механики, где – например – астрономы могут захотеть отследить движения планет Солнечной системы на протяжении миллиардов лет.
Используя симплектические интеграторы, Джек Уиздом, Жак Ласкар и другие ученые показали, что в длительных временных периодах поведение Солнечной системы хаотично, Уран и Нептун были гораздо ближе к Солнцу, чем сейчас, и в настоящее время орбита Меркурия смещается в сторону Венеры, так что одна из этих планет в итоге может оказаться вытесненной из Солнечной системы. Только симлектические интеграторы дают нам достаточную уверенность в том, что результаты для такого длительного промежутка точны.
Назад: Мечта становится явью?
Дальше: Компьютерам нужна математика