Зачем нужен суперкомпьютер, если число пи можно вычислить с помощью коробки швейных иголок?
Фотография: Narvo Vexar/Getty Images Сохранить эту историю Сохранить эту историю
С Днём числа Пи! 14 марта — это дата, когда в остальном рациональные люди отмечают это иррациональное число, потому что 3/14 содержит первые три цифры числа Пи. И, кстати, Пи заслуживает отдельного дня. По определению, это отношение длины окружности к её диаметру, но оно встречается во множестве областей, которые, казалось бы, не имеют ничего общего с кругами, от музыки до квантовой механики.
Число Пи — это бесконечно длинное десятичное число, которое никогда не повторяется. Откуда мы это знаем? Ну, люди вычислили его до 314 триллионов десятичных знаков и не дошли до конца. В таком случае я склонен это принять. Я имею в виду, что НАСА использует только первые 15 десятичных знаков для навигации космических аппаратов, и этого более чем достаточно для земных приложений.
Самое интересное для меня то, что существует множество способов приблизительно определить это значение, о чём я уже писал ранее. Например, это можно сделать, раскачивая груз на пружине. Но, пожалуй, самый безумный метод был доказан в 1777 году Жоржем Луи Леклерком, графом де Бюффоном.
Несколько десятилетий назад Бюффон сформулировал это как задачу на теорию вероятности в геометрии: Представьте, что у вас есть пол с параллельными линиями, разделёнными расстоянием d . На этот пол вы бросаете связку иголок длиной L. Какова вероятность того, что иголка пересечёт одну из параллельных линий?
Рисунок поможет вам понять, что происходит. Допустим, я уронила на пол всего две иголки (можете заменить иголки чем-нибудь более безопасным, например, зубочистками). Также, чтобы упростить дальнейшие действия, можно сказать, что длина иголок и расстояние между линиями одинаковы ( d = L ).
Вы видите, что одна из игл пересекает линию, а другая — нет. Хорошо, но каковы шансы? Это не самая тривиальная задача, но давайте рассмотрим только одну упавшую иглу. Нас интересуют только два значения — расстояние ( x ) от дальнего конца иглы до линии и угол наклона иглы ( θ ) относительно перпендикуляра (см. диаграмму ниже). Если x меньше половины расстояния между линиями, игла пересекает линию. Как видите, вероятность будет выше при меньшем x или меньшем θ .
На самом деле, вот график, показывающий множество случайных значений x и θ . Красные точки — это значения, при которых стрелка пересекает ось, а синие — значения, при которых она не пересекается. Зеленая линия — это функция (d/2) x cos(θ) — переход между пересечением и отсутствием пересечения.
Отношение площади под кривой к общей площади будет вероятностью пересечения иглой. Площадь под кривой можно найти путем интегрирования. Если произвести вычисления, получится вероятность 2/π для случая, когда длина иглы равна расстоянию между линиями. Вот и наше число пи! Причина, по которой оно попало сюда, заключается в том, что угол иглы изменяется от -π/2 до + π/2 (две четверти окружности). Возможно, вас это не удивит после того, как вы увидели эту функцию косинуса.
Но вам не нужно заниматься вычислениями. Вместо этого просто разбросайте кучу иголок, посчитайте количество пересечений и разделите на общее количество иголок. Это соотношение должно быть близко к вероятности пересечения ( 2/π ). Мы можем использовать это для нахождения значения числа пи. Некоторые глупцы действительно разбрасывали иголки по полу, но я просто проведу моделирование случайных чисел с помощью Python. Вот как это выглядит со 100 иголками:
В этой симуляции 66 из 100 иголок пересекли линию (их можно посчитать). Используя это число, мы получаем значение числа пи, равное 3,0303 — что не равно 3,14, — но это не так уж плохо для всего лишь 100 иголок. Для 30 000 иголок точность может достигать шести знаков после запятой.
Расчеты методом Монте-Карло
Идея использования случайных чисел для моделирования явлений весьма полезна, особенно когда математические вычисления очень сложны или даже невозможны. Этот метод был изобретен во время Манхэттенского проекта в 1946 году для моделирования ядерных реакций и называется расчетом Монте-Карло, по названию знаменитого казино в этом городе. (Если бы он был создан сегодня, его могли бы назвать расчетом Лас-Вегаса.)
Конечно, этот метод становится по-настоящему полезным только при использовании компьютеров, что позволяет проводить множество экспериментов. Например, предположим, вы хотите смоделировать газ как множество шаров, сталкивающихся со стенками контейнера. Можно использовать большое количество случайных движущихся шаров для расчета среднего давления на стенки.
Зачем я вам это рассказываю? Да, это было моделирование методом Монте-Карло, которое я провел на своем компьютере, чтобы оценить число пи, хотя я выполнил всего 100 экспериментов. Но даже если бы я разбросал физические иглы по всему полу, это все равно было бы, по сути, оценкой методом Монте-Карло — или, возможно, обратным методом Монте-Карло — потому что положение упавшей иглы практически случайно. Верно. Иглы Бюффона — это всего лишь метод генерации случайных чисел в реальной жизни, существовавший в XVIII веке!
Источник: www.wired.com
























