Как уже указывалось, идея метода Монте-Карло (или метода статистического моделирования) очень проста и заключается в том, что в вычислительной машине создается процесс преобразования цифровых данных, аналогичный реальному процессу. Вероятностные характеристики обоих процессов (реального и смоделированного) совпадают с какой-то точностью [Л. 38-42].
Допустим, необходимо вычислить математическое ожидание случайной величины X, подчиняющейся некоторому закону распределения F(х). Для этого в машине реализуют датчик случайных чисел, имеющий данное распределение F(х), и по формуле, которую легко запрограммировать, определяют оценку математического ожидания:
Каждое значение случайной величины xi представляется в машине двоичным числом, которое поступает с выхода датчика случайных чисел на сумматор. Для статистического моделирования рассматриваемой задачи требуется N-кратное повторение решения.
Рассмотрим еще один пример. Производится десять независимых выстрелов по мишени. Вероятность попадания при одном выстреле задана и равна p. Требуется определить вероятность того, что число попаданий будет четным, т. е. 0, 2, 4, 6, 8, 10. Вероятность того, что число попаданий будет 2k, равна:
C2k10p2k(1-p)10-2k. (4-2)
откуда искомая вероятность
Если эта формула неизвестна, то можно осуществить физический эксперимент, произведя несколько партий выстрелов (по 10 в каждой) по реальной мишени. Но проще выполнить математический эксперимент на вычислительной машине следующим образом. Датчик случайных чисел выдаст в цифровом виде значение случайной величины ξ подчиняющейся равномерному закону распределения в интервале [0, 1]. Вероятность неравенства ζ<р равна р, т. е.
Р{ξ<p}=p (4-4)
Для пояснения целесообразно обратиться к рис. 4-1, на котором весь набор случайных чисел представляется в виде точек отрезка [0, 1]. Вероятность попадания случайной величины ζ имеющей равномерное распределение в интервале [0, 1], в интервал [0, р] (где p≤1) равна длине этого отрезка, т. е. р. Поэтому на каждом такте моделирования полученное число ζ сравнивают с заданной вероятностью р. Если ζ<p то регистрируется попадание в мишень, в противном случае - промах. Далее проводят серию из десяти тактов и подсчитывают четное или нечетное число попаданий. При большом числе серий (100 - 1000) получается вероятность, близкая к той, которая определяется по формуле (4-3).
Различают две области применения метода Монте-Карло. Во-первых, для исследования на вычислительных машинах таких случайных явлений и процессов, как прохождение элементарных ядерных частиц (нейтронов, протонов и пр.) через вещество, системы массового обслуживания (телефонная сеть, система парикмахерских, система противовоздушной обороны и пр.), надежность сложных систем, в которых выход из строя элементов и устранение неисправностей являются случайными процессами, статистическое распознавание образов. Это - применение статистического моделирования к изучению так называемых вероятностных систем управления.
Рис. 4-1. Пояснение к процессу получения случайных чисел с равностороннем законом распределения
Этот метод широко применил случайных чисел с и для исследования дискретных систем управления,когда используются кибернетические модели в виде вероятностного графа (например, сетевое планирование с β-распределением времени выполнения работ) или вероятностного автомата.
Если динамика системы управления описывается дифференциальными или разностными уравнениями (случай детерминированных систем управления) и на систему, например угловую следящую систему радиолокационной станции, воздействуют случайные сигналы, то статистическое моделирование также позволяет получить необходимые точностные характеристики. В данном случае с успехом применяются как аналоговые, так и цифровые вычислительные машины. Однако, учитывая более широкое применение при статистическом моделировании цифровых машин, рассмотрим в данном разделе вопросы, связанные только с этим типом машин.
Вторая область применения метода Монте-Карло охватывает чисто детерминированные, закономерные задачи, например нахождение значений определенных одномерных и многомерных интегралов. Особенно проявляется преимущество этого метода по сравнению с другими численными методами в случае кратных интегралов.
При решении алгебраических уравнений методом Монте-Карло число операций пропорционально числу уравнений, а при их решении детерминированными численными методами это число пропорционально кубу числа уравнений. Такое же приблизительно преимущество сохраняется вообще при выполнении различных вычислений с матрицами и особенно в операции обращения матрицы. Надо заметить, что универсальные вычислительные машины не приспособлены для матричных вычислений и метод Монте-Карло, примененный на этих машинах, лишь несколько улучшает процесс решения, но особенно преимущества вероятностного счета проявляются при использовании специализированных вероятностных машин [Л. 13]. Основной идеей, которая используется при решении детерминированных задач методом Монте-Карло, является замена детерминированной задачи эквивалентной статистической задачей, к которой можно применять этот метод. Естественно, что при такой замене вместо точного решения задачи получается приближенное решение, погрешность которого уменьшается с увеличением числа испытаний.
Эта идея используется в задачах дискретной оптимизации, которые возникают при управлении. Часто эти задачи сводятся к перебору большого числа вариантов, исчисляемого комбинаторными числами вида N=2222 . Так, задача распределения n видов ресурсов между отраслями для n>3 не может быть точно решена на существующих ЦВМ и ЦВМ ближайшего будущего из-за большого объема перебора вариантов. Однако таких задач возникает очень много в кибернетике, например синтез конечных автоматов. Если искусственно ввести вероятностную модель-аналог, то задача существенно упростится, правда, решение будет приближенным, но его можно получить с помощью современных вычислительных машин за приемлемое время счета.
При обработке больших массивов информации и управлении сверхбольшими системами, которые насчитывают свыше 100 тыс. компонентов (например, видов работ, промышленных изделий и пр.), встает задача укрупнения или эталонизации, т. е. сведения сверхбольшого массива к 100-1000 раз меньшему массиву эталонов. Это можно выполнить с помощью вероятностной модели. Считается, что каждый эталон может реализоваться или материализоваться в виде конкретного представителя случайным образом с законом вероятности, определяемым относительной частотой появления этого представителя. Вместо исходной детерминированной системы вводится эквивалентная вероятностная модель, которая легче поддается расчету. Можно построить несколько уровней, строя эталоны эталонов. Во всех этих вероятностных моделях с успехом применяется метод Монте-Карло.