1,000
2

Подробнее о методе Монте-Карло

π методом Монте-Карло

Может ли чистая случайность вычислить точное число? Нарисуйте круг внутри квадрата и бросайте в него дротики наугад. Круг занимает π/4 площади квадрата, поэтому примерно π/4 дротиков попадает внутрь. Умножьте эту долю на четыре, и вы получите оценку π. Чем больше дротиков, тем ближе результат: 3, потом 3,1, потом 3,14, потом 3,141… Нажмите «Старт», и дротики начнут случайным образом падать в квадрат. Доля попавших в круг равна π/4, поэтому π ≈ 4 × внутри ÷ дротики. Чем больше дротиков, тем точнее оценка: в сто раз больше дротиков дают примерно ещё одну верную цифру. Щёлкните по квадрату, чтобы бросить дротик вручную.

Как это работает

  1. Нажмите «Старт». Дротики случайно падают в квадрат: синие внутри круга, красные снаружи.
  2. Следите за счётчиком: π ≈ 4 × внутри ÷ дротики. Цифры, которые уже совпадают с π, выделены цветом.
  3. Увеличьте скорость или бросьте миллион дротиков сразу и посмотрите, как оценка устанавливается внутри сужающейся полосы на графике.

Почему дротики находят π

Сторона квадрата равна 2, а радиус круга внутри него равен 1. Площадь квадрата равна 4, а площадь круга π × 1² = π. Дротик, который с равной вероятностью может упасть в любую точку квадрата, попадает в круг с вероятностью π/4, то есть примерно в 78,5% случаев. Посчитайте дротики, посчитайте попадания, и 4 × попадания ÷ дротики даёт оценку π. С четвертью круга всё так же: четверть круга радиуса 1 в квадрате со стороной 1 тоже занимает π/4 его площади.

Закон больших чисел

Один дротик ничего не говорит: он даёт 4 или 0. Сто дротиков дают что-то вроде 3,0 или 3,3. Десять тысяч дротиков обычно отклоняются от π лишь на несколько сотых. Закон больших чисел гласит, что с ростом числа дротиков доля попаданий всё ближе подходит к π/4, поэтому оценка сходится к π.

Почему сходимость медленная

Типичная погрешность после N дротиков составляет около 1,64/√N. Чтобы уменьшить погрешность вдвое, нужно в четыре раза больше дротиков, а ещё одна верная цифра стоит в сто раз больше. Затенённая полоса на графике вмещает 95% всех серий и сужается как 1/√N. Миллион дротиков оставляет погрешность около 0,0016: три-четыре верных знака после запятой.

Методы Монте-Карло

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

Часто задаваемые вопросы

Как случайные дротики вычисляют π?

Круг занимает π/4 площади квадрата вокруг него. Когда дротики падают равномерно и случайно, примерно π/4 из них попадает в круг, поэтому учетверённая доля попаданий — это оценка π.

Сколько дротиков нужно, чтобы получить 3,14?

Обычно десятки тысяч. Погрешность убывает как 1,64/√N: при 10 000 дротиков оценка обычно отклоняется примерно на 0,016, а при 1 000 000 дротиков — примерно на 0,0016. Каждая следующая верная цифра стоит в сто раз больше дротиков.

Это то же самое, что игла Бюффона?

Оба способа оценивают π с помощью случая. В опыте с иглой Бюффона иглы падают на линии и считаются пересечения; метод Монте-Карло бросает точки в круг. Дротики проще понять, и сходятся они быстрее: при том же числе бросков погрешность примерно втрое меньше, чем в опыте Бюффона с половинной иглой.

Дротики действительно случайные?

Их выдаёт генератор псевдослучайных чисел вашего браузера, и для этого опыта его более чем достаточно. Каждая серия своя, поэтому оценка блуждает, прежде чем установиться.

Что-нибудь загружается на сервер?

Нет. Всё вычисляется и рисуется на холсте в вашем браузере. «Сохранить» скачивает PNG. «Редактировать» открывает это изображение в редакторе PictorX.

Готовы попробовать?

Откройте PictorX в своем браузере — установка не требуется, для запуска не требуется кредитная карта.

Перейти в редактор