Сегодня алгоритм – это пошаговая процедура вычисления какой-то конкретной величины или получения какого-то конкретного результата с гарантией того, что по получении нужного результата процесс остановится. «Пробуй все числа в случайном порядке, пока какое-нибудь не подойдет» – не алгоритм: если в результате будет получен ответ, это верная процедура, но с тем же успехом процесс может продолжаться вечно и ни к чему не привести. Чтобы описать один из ранних примеров алгоритма, вспомним, что простое число не имеет других делителей, кроме его самого и единицы. Вот первые несколько простых чисел: 2, 3, 5, 7, 11, 13. Любое другое натуральное число больше 1 называется составным. К примеру, 6 – составное число, потому что 6 = 2 × 3. Число 1 считается особым и называется единицей в этом контексте. Решето Эратосфена, придуманное около 250 г. до н. э., представляет собой алгоритм нахождения всех простых чисел вплоть до какого-то конкретного предела. Начните с того, что выпишите все положительные целые числа вплоть до заданного предела. Удалите из списка все числа, кратные 2, кроме 2, затем все числа, кратные следующему оставшемуся числу 3, кроме самого числа 3, затем проделайте то же самое для следующего уцелевшего числа 5 и т. д. После числа шагов, не превышающего заданного предела, процесс завершается: в списке остается ровно то, что нужно: все простые числа до заданного предела.
Алгоритмы в современной жизни приобрели принципиальное значение, потому что компьютеры – это машины, исполняющие алгоритмы. Алгоритмы выкладывают в интернет смешные видео с котиками, рассчитывают ваш кредитный рейтинг, решают, какие книги можно попытаться продать вам, осуществляют миллиарды биржевых сделок с валютой и акциями каждую секунду и пытаются украсть у вас пароль от онлайн-банка. Как ни забавно, из всех работ аль-Хорезми подробнее всего об алгоритмах рассказывается не в трактате «Об индийском счете», хотя любой метод арифметического счета, естественно, представляет собой алгоритм. Больше всего алгоритмов в его алгебраической книге, которая вошла в историю тем, что в ней излагаются общие процедуры решения уравнений. Эти процедуры являются алгоритмами, и именно это делает их такими важными.
Аль-Хорезми писал не только о математике, но также о географии и астрономии. Его «Китаб сурад аль-ард» («Книга описания Земли») 833 г. дополняет предыдущий классический труд на эту тему – «Географию» Птолемея, написанную около 150 г. Это своего рода набор «сделай сам» для атласа известного на тот момент мира: контуры континентов на трех различных типах координатной решетки с указаниями, где на них следует поместить основные города и другие значительные детали. Кроме того, в книге обсуждаются базовые принципы составления карт. В труде аль-Хорезми список локаций расширен до 2402 объектов, а некоторые данные Птолемея были исправлены; в частности, аль-Хорезми снизил завышенную Птолемеем оценку длины Средиземного моря. Кроме того, если Птолемей показывал Атлантический и Индийский океаны как моря, окруженные со всех сторон сушей, то аль-Хорезми не стал их ограничивать.
Книга «Зидж аль-Синдхинд» («Астрономические таблицы Синдхинда»), датируемая примерно 820 г., содержит более сотни астрономических таблиц, взятых в основном из трудов индийских астрономов. Среди них имеются таблицы движения Солнца, Луны и пяти планет, а также таблицы тригонометрических функций. Считается, что аль-Хорезми писал также о сферической тригонометрии, очень важной для навигации. «Рисала фи истихрадж таких аль-яхуд» («Определение эры евреев и об их праздниках») рассказывает о еврейском календаре и анализирует Метонов цикл – 19-летний период, очень близкий к общему кратному солнечного года и лунного месяца. Вследствие этого солнечный и лунный календари, которые со временем постепенно расходятся, вновь почти выравниваются каждые 19 лет. Этот цикл назван в честь Метона Афинского, который описал его в 432 г. до н. э.
Наряду с достижениями математиков древнего Китая (глава 2) и Индии (глава 4) достижения аль-Хорезми служат дополнительным свидетельством того, что в Средние века, когда наука Европы в основном находилась в состоянии застоя, центр научной и математической деятельности переместился на Восток. Со временем, в эпоху Возрождения, Европа пробудилась вновь, как мы увидим в главе 5. Аль-Хорезми проложил новый путь, и математике уже не суждено было вернуться в прежнее состояние.
4. Новатор бесконечности. Мадхава из Сангамаграмы
«Вода урагана Рита весила, как 100 миллионов слонов». Сегодня СМИ часто используют слонов как меру веса, не говоря уже о Бельгии и Уэльсе как мерах площади, олимпийских плавательных бассейнах как мерах объема и лондонских автобусах для измерения длины или высоты. А что вы скажете о таком перечне: