14 марта (3/14 в традиционном для многих стран способе записи даты) во всем мире отмечают день числа пи, самой знаменитой математической константы, десятичная запись которой начинается с цифр 3.14. В 2015-м день пи (π) — особенный праздник: с датой совпадают сразу пять первых цифр записи числа — 3.1415. А еще можно посмотреть на следующие знаки константы и отметить секунду пи — она наступила в 9 часов 26 минут 53 секунды; такое случается раз в столетие. Накануне дня пи «Медуза» вспомнила историю изучения математической константы и выяснила у исследователей, которые достигли поразительных результатов в вычислении пи, зачем им это было нужно.
Гонка рекордов
Число пи — отношение длины окружности к ее диаметру, самая знаменитая и древняя математическая константа. Нужна она далеко не только геометрам и инженерам — пи возникает практически во всех математических и физических теориях; просто потому, что окружность (множество точек, равноудаленных от данной) неизбежно всплывает даже в далеких от геометрии научных направлениях — в комплексном анализе, теории вероятностей, теории чисел. Непросто, например, усмотреть, какое отношение имеет круг к знаменитому тождеству Эйлера, связывающем константу Эйлера e, пи и корень из минус единицы, i:
В большинстве случаев ученым достаточно знать, что пи — положительное число, а какое именно — не так уж важно. Куда интереснее для математиков некоторые удивительные свойства этого числа. Например, то, что пи — иррациональное число, то есть его нельзя представить в виде дроби, а из этого следует, что в десятичной записи числа пи — бесконечное число цифр, и нет никаких периодических повторов.
Как ни странно, кроме того, что десятичная запись пи бесконечна и непериодична, мы мало что еще можем про нее сказать. Часто можно услышать, что в записи числа пи на каком-нибудь достаточно далеком месте встретится любое наперед заданное конечное число. На самом деле, неизвестно, так это или нет. Более того, мы даже не знаем, любая ли цифра повторяется в записи пи бесконечное число раз: не исключено, что, начиная с какой-то очень далекой позиции, в записи пи останутся, к примеру, только нули и единицы.
Большинство математиков уверены, что число пи является «нормальным», то есть в его десятичной записи любое число встречается в среднем так же часто, как в случайном наборе цифр: однозначное — например, цифра 4 — в среднем раз в 10 символов, двузначное — как 42 — раз в 100 символов, трехзначное — раз в тысячу. И так далее. Если пи — нормальное, то любое наперед заданное конечное число действительно можно обнаружить в его записи, и даже — бесконечное число раз. Вот только доказательства нормальности пи нет, и никто пока даже не может вообразить, как к нему подступиться.
Очевидно, проверить эту гипотезу экспериментально невозможно: потратив достаточно много времени, можно вычислить сколько угодно знаков числа пи, но вычисление бесконечного числа знаков заняло бы бесконечное время. Люди занимаются вычислением пи почти с маниакальным энтузиазмом уже два тысячелетия, и в этом занятии давно нет особого смысла. Чтобы вычислить длину окружности видимой Вселенной с точностью до размера протона, хватит знания всего лишь 39 знаков числа пи:
3.1415926535 8979323846 2643383279 50288419 —
и они были известны еще в середине XVII века. Ни для каких прикладных или физических вычислений (учитывая технический уровень современных приборов) не требуется знать больше пары сотен знаков числа пи — при этом первые 500 из них человечество получило уже в 1895 году. Можно считать, что примерно с этого момента вычисление пи превратилось в спорт, гонку рекордов, лишенную практического значения.
Как вычисляют пи? В древности для этого подсчитывали длину периметра вписанных в окружность многоугольников. Используя этот метод, Архимед правильно нашел первые три знака константы — 3.14. Однако примерно с XV века люди стали использовать куда более эффективный способ — представление пи в виде суммы бесконечного ряда, сложение все большего количества первых членов которого дает все более точное значение пи. Пожалуй, самый простой из таких рядов — ряд Лейбница:
Однако он «медленно сходится» — для вычисления очередного знака нужно складывать все больше членов. За прошедшие века было придуманно множество других — куда быстрее сходящихся рядов, позволяющих найти приближенное значение пи и вычислить его очередные знаки; гонка рекордов вычисления пи в итоге во многом превратилась в гонку изобретения новых формул, а с 1950-х годов — еще и в гонку вычислительных мощностей компьютеров.
Последний рекорд зарегистрирован в октябре 2014 года: анонимный энтузиаст с ником houkouonchi нашел на обычном персональном компьютере с процессором мощностью 2,6 гигагерца 13,300,000,000,000 (13.3 триллиона) знаков пи. На само вычисление ушло 208 дней, на проверку результата — еще 182 часа. Houkouonchi использовал для вычисления алгоритм y-cruncher, придуманный американским математиком Александром Йи. А вообще с помощью этой программы были поставлены все три последних рекорда; от их обладателей не требовалось ничего, кроме готовности пожертвовать несколькими месяцами непрерывной работы домашнего компьютера.
Любопытно, что с конца 2009 года рекорды ставились именно на обычных персоналках. С одной стороны, это следствие повышения их мощности. С другой — в мире, где лэптоп считает быстрее, чем суперкомпьютер 20-летней давности, азарт к вычислению пи значительно поумерился. Первым рекордсменом эпохи вычисления пи на обычных компьютерах стал французский программист Фабрис Беллар, его результат — 2 699 999 990 000 десятичных знаков — получен на компьютере стоимостью меньше трех тысяч долларов.
А пик соперничества пришелся на 1980-е — 1990-е годы: на протяжении двух десятилетий рекорд вычисления пи вырос с двух миллионов знаков до 200 миллиардов. Главными конкурентами тогда были японец Ясумаса Канада и американские математики братья Давид и Григорий Чудновские. При этом профессор Токийского университета Канада пользовался промышленным суперкомпьютером Hitachi SR8000, тогда как родившиеся в Киеве и позже эмигрировавшие в США братья Чудновские делали расчеты на самодельном компьютере m zero. Машина была создана на деньги их жен, одна из которых работала юристом, а вторая — чиновником в ООН. Суперкомпьютер занимал целую комнату, охлаждался 25-тью бытовыми вентиляторами, обошелся примерно в 70 тысяч долларов и работал быстрее многих промышленных суперкомпьютеров, стоивших десятки миллионов долларов.
Однако Чудновские опирались не только на суперкомпьютер, они также изобрели чрезвычайно эффективную формулу, которая получила название алгоритм Чудновских и позже применялась для установления первого рекорда на персональном компьютере Фабрисом Белларом. Формула Чудновских выглядит отнюдь не так просто, как ряд Лейбница, зато и считает намного быстрее:
* * *
Накануне дня пи «Медуза» связалась с главными участниками гонки рекордов — братьями Чудновскими, Ясумасой Канада, Фабрисом Белларом и автором самого эффективного алгоритма вычисления пи Александром Йи.
Давид и Григорий Чудновские
Фото: Ira Wyman / Sygma / Corbis / Vida Press
— Для чего нужно вычислять все больше десятичных знаков пи?
— Вычисление пи и других классических констант имеет несколько значений.
Первое — теоретическое, оно связано с так называемой Диофантовой аппроксимацией. Второе — проверка гипотез. Мы все еще не знаем, насколько «случайна» запись основных констант в десятичном и двоичном виде (речь идет как раз о вопросе «нормальности» пи — прим. «Медузы»). Третье — компьютерные приложения. Десятичная запись таких чисел как пи является замечательным источником наборов случайных чисел, во многом лучшим, чем стандартные способы генерирования псевдо-случайных чисел. Наконец, вычисление пи — крайне удачный и используемый многими способ тестирования вычислительных устройств, их внутренней стабильности и способности очень долго непрерывно выполнять сложные расчеты.
— Важен процесс или результат?
— Если применять вычисление пи в связи с Диофантовой аппроксимацией или для проверки гипотез, важен результат. А если для тестирования процессоров — важен процесс.
— Почему вы перестали заниматься вычислением пи?
— Когда-то было весело придумать алгоритм и запустить его на довольно несовершенном компьютере. Но мы и сегодня иногда используем вычисление пи для тестирования новых процессоров.
Александр Йи
Фото: numberworld.org
— Для чего нужно вычислять все больше десятичных знаков пи?
— Вообще-то низачем. Вычисление знаков пи и других констант в большей степени спорт, чем полезное занятие.
— Важен процесс или результат?
— Для меня это процесс. Меня вообще мало волнует пи. Но мне интересны алгоритмы и математические инструменты, которые используются при его вычислении.
— Продолжаете ли вы улучшать вашу программу для вычисления знаков пи?
— Моя программа закончена, улучшать ее особо некуда. Никаких значительных улучшений с версии 0.6.2, выпущенной в июне 2013 года, сделано не было — сейчас речь идет об исправлении мелких ошибок.
Фабрис Беллар
— Для чего нужно вычислять все больше десятичных знаков Пи?
— Это интересный вызов с точки зрения программирования.
— Важен процесс или результат?
— Процесс, сами по себе знаки пи меня мало волнуют, а вот построение мультипрецизионного арифметического алгоритма — интересная (и иногда полезная) работа.
— Почему вы перестали заниматься вычислением пи?
— Я занят другими, более интересными проектами. Кроме того, я занимался вычислением пи уже несколько раз, делать это снова было бы скучновато.
Ясумаса Канада
— Для чего нужно вычислять все больше десятичных знаков Пи?
— Мне интересно проверять вычислительную мощность компьютера с помощью такого сложного расчета. Побочные продукты такого вычисления — проверка стабильности системы и правильности расчета. Кстати, необязательно вычислять пи, это могут быть и другие константы, как корень из двух или константа Эйлера e.
— Важен процесс или результат?
— Результат.
— Почему вы перестали заниматься вычислением пи?
— У меня в последнее время не было доступа к мощным компьютерам. Если бы он у меня был, уверен, я смог бы соревноваться в количестве найденных знаков пи наравне с остальными.