Теоретическая основа метода была известна давно. Однако до появления ЭВМ этот метод не мог найти сколько-нибудь широкого применения, ибо моделировать случайные величины вручную - очень трудоемкая работа.
Само название "Монте-Карло" происходит от города Монте-Карло в княжестве Монако, знаменитого своими игорными домами. А одним из механических приборов для получения случайных величин является рулетка. Для вычисления площади круга единичного радиуса проведем эксперимент.
Рассмотрим круг радиуса 1 с центром в точке (1,1). Его площадь Sкр равна π. Круг вписан в квадрат, площадь которого S равна 4. Выбираем внутри квадрата N случайных точек. Обозначим Nкр число точек, попавших при этом внутрь круга. Очевидно, что при большом числе точек отношение Nкр/N стремится к Sкр/S. Итак, чем больше N, тем больше точность оценки числа π. Следует заметить, что данный метод вычисления площади будет справедлив только тогда, когда случайные точки будут не "просто случайными", а еще и "равномерно разбросанными" по всему квадрату. Для моделирования равномерно распределенных случайных чисел в интервале от 0 до 1 используется датчик случайных чисел. Это специальная компьютерная программа, которая выдает последовательность случайных величин равномерно распределенных от 0 до 1. На самом деле эти числа генерирует компьютер по определенному алгоритму, и уже в силу этого они не являются вполне случайными; такие числа называют псевдослучайными. Вопрос о качестве датчиков случайных чисел весьма непрост, однако для решения не слишком сложных задач обычно достаточно возможностей датчиков, встроенных в большинство языков программирования и электронных таблиц.
Таким образом, суть компьютерного эксперимента заключается в обращении к датчику случайных чисел для получения координат точки x и у N раз. При этом определяется попадет ли точка (х,у) в круг единичного радиуса. В случае попадания увеличивается на 1 значение величины N.
Заметим, что располагая датчиком равномерно распределенных случайных чисел,
генерирующим числа , т.е. из интервала [0;1),
легко получить равномерно распределенные случайные числа на произвольном
интервале [a;b):
Copyright © 2003 Пустовой А. |