Смекни!
smekni.com

Использование метода ветвей и границ при адаптации рабочей нагрузки к параметрам вычислительного процесса (стр. 4 из 7)

Из формулы (8) следует, что при

среднеквадратичное отклонение σ квазиравномерной совокупности стремится к
. Ниже приведены значения отношения среднеквадратичных значений двух величин ξ и η в зависимости от числа разрядов, причём величина η имеет равномерное распределение в интервале [0,1] (табл. 1).

Таблица 1

k 2 3 5 10 15
σξη 1,29 1,14 1,030 1,001 1,00

Из табл. 1 видно, что при k>10 различие в дисперсиях несущественно.

На основании вышеизложенного задача получения совокупности квазиравномерных чисел сводится к получению последовательности независимых случайных величин zi (i=1,2,…, k), каждая из которых принимает значение 0 или 1 с вероятностью 1/2. Различают два способа получения совокупности этих величин: физический способ генерирования и алгоритмическое получение так называемых псевдослучайных чисел. В первом случае требуется специальная электронная приставка к цифровой вычислительной машине, во втором случае загружаются блоки машины.

При физическом генерировании чаще всего используются радиоактивные источники или шумящие электронные устройства. В первом случае радиоактивные частицы, излучаемые источником, поступают на счётчик частиц. Если показание счётчика чётное, то zi=1, если нечётное, то zi=0. Определим вероятность того, что zi=1. Число частиц k, которое испускается за время Δt, подчиняются закону Пуассона:

.

Вероятность чётного числа частиц

.

Таким образом, при больших λΔt вероятность P{Zi=1} близка к 1/2.

Второй способ получения случайных чисел zi более удобен и связан с собственными шумами электронных ламп. При усилении этих шумов получается напряжение u(t), которое является случайным процессом. Если брать его значения, достаточно отстоящие друг от друга, так чтобы они были некоррелированы, то величины u(ti) образуют последовательность независимых случайных величин. Обычно выбирают уровень отсечки a и полагают

причём уровень a следует выбрать так, чтобы

.

Также применяется более сложная логика образования чисел zi. В первом варианте используют два соседних значения u(ti) и u(ti+1), и величина Zi строится по такому правилу:


Если пара u(ti) – a и u(ti+1) – a одного знака, то берётся следующая пара. Требуется определить вероятность при заданной логике. Будем считать, что P {u(ti)>a}=W и постоянная для всех ti. Тогда вероятность события

равна по формуле событий A1Hv. Здесь Hv – это вероятность того, что v раз появилась пара одинакового знака

u(ti) – a; u(ti+1) – a. (9)

Поэтому вероятность события A1Hv

P{A1Hv}=W (1-W) [W2+(1-W)2]v.

Это – вероятность того, что после v пар вида (9) появилось событие A1. Оно может появиться сразу с вероятностью W (1-W), оно может появиться и после одной пары вида (9) с вероятностью

W (1-W) [W2+(1+W)2]

и т.д. В результате

или

.

Отсюда следует, что если W=const, то логика обеспечивает хорошую последовательность случайных чисел. Второй способ формирования чисел ziсостоит в следующем:

Пусть

W=P {u(ti)>a}=1/2+ξ.

Тогда

P{Zi=1}=2W (1-W)=1/2–2ξ2.

Чем меньше ξ, тем ближе вероятность P{Zi=1} к величине 1/2.

Для получения случайных чисел алгоритмическим путём с помощью специальных программ на вычислительной машине разработано большое количество методов. Так как на ЦВМ невозможно получить идеальную последовательность случайных чисел хотя бы потому, что на ней можно набрать конечное множество чисел, такие последовательности называются псевдослучайными. На самом деле повторяемость или периодичность в последовательности псевдослучайных чисел наступает значительно раньше и обусловливается спецификой алгоритма получения случайных чисел. Точные аналитические методы определения периодичности, как правило, отсутствуют, и величина периода последовательности псевдослучайных чисел определяется экспериментально на ЦВМ. Большинство алгоритмов получается эвристически и уточняется в процессе экспериментальной проверки. Рассмотрение начнём с так называемого метода усечений. Пусть задана произвольная случайная величина u, изменяющаяся в интервале [0,1], т.е.

. Образуем из неё другую случайную величину

un=u [mod 2-n], (10)


где u [mod2-n] используется для определения операции получения остатка от деления числа u на 2-n. Можно доказать, что величины un в пределе при

имеют равномерное распределение в интервале [0,1].

По существу с помощью формулы (10) осуществляется усечение исходного числа со стороны старших разрядов. При оставлении далёких младших разрядов естественно исключается закономерность в числах и они более приближаются к случайным. Рассмотрим это на примере.

Пример 1. Пусть u= 0,10011101… = 1·1/2 + 0·1/22 + 0·1/23 + 1·1/24 + 1·1/25 + 1·1/26 + 0·1/27 + 1·1/28 + …

Выберем для простоты n=4. Тогда {umod 2-4} = 0,1101…

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

При проверке качества псевдослучайных чисел прежде всего интересуются длиной отрезка апериодичности и длиной периода (рис. 3). Под длиной отрезка апериодичности L понимается совокупность последовательно полученных случайных чисел α1, …, αL таких, что αi

αjпри
,
,
, но αL+1 равно одному из αk (
).

Под длиной периода последовательности псевдослучайных чисел понимается T=L-i+1. Начиная с некоторого номера i числа будут периодически повторяться с этим периодом (рис. 3).


Как правило, эти два параметра (длины апериодичности и периода) определяются экспериментально. Качество совпадения закона распределения случайных чисел с равномерным законом проверяется с помощью критериев согласия.

2.2 Точность метода Монте-Карло

Метод Монте-Карло применяется там, где не требуется высокой точности. Например, если определяют вероятность поражения мишени при стрельбе, то разница между p1=0,8 и p2=0,805 несущественна. Обычно считается, что метод Монте-Карло позволяет получить точность примерно 0,01–0,05 максимального значения определяемой величины.

Получим некоторые рабочие формулы. Определим по методу Монте-Карло вероятность пребывания системы в некотором состоянии. Эта вероятность оценивается отношением

,

где M – число пребываний системы в этом состоянии в результате N моделирований. Учитывая выражение для дисперсии величины M/N

и неравенство Чебышёва

, (11)

напишем


. (12)

Величина

есть ни что иное, как ошибка моделирования по методу Монте-Карло. С помощью формулы (11) можно написать следующую формулу для величины (12):

,

или

,

где p0 – вероятность невыполнения этой оценки. С помощью частоты M/N может быть получена оценка математического ожидания mx некоторой случайной величины X. Ошибка этой оценки

находится с помощью соотношения

.

Отсюда видно, что ошибка моделирования находится в квадратичной зависимости от числа реализаций, т.е.

. (13)