Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
metods / Методы моделирования стохастических систем.pdf
Скачиваний:
255
Добавлен:
26.03.2015
Размер:
2.27 Mб
Скачать

Преимущество метода Монте-Карло перед стандартными численными методами приближенного вычисления интегралов обусловлено тем, что нео б- ходимое количество опытов здесь определяется только разбросом р езультатов и не зависит напрямую от количества случайных фактор ов в задаче. Поэтому для любой размерности интеграла J количество шагов вычисления оказывается примерно одинаковым. С увеличением размерности во зрастает лишь трудоемкость отдельного шага (генерирование дополнительных случайных чисел, усложнение выражения для y). Приближенно для метода Монте-Карло зависимость трудоемкости вычислений от размерности интеграла можно считать линейной. При использовании же численных м етодов пошагового интегрирования количество шагов вычислений N возрастает в зависимости от размерности интеграла m по показательному закону: N=n m, где n – количество шагов при вычислении одномерного интеграла.

3.5. Способы построения генераторов случайных чисел

При организации статистического эксперимента с моделями люб ого физического облика возникает необходимость искусственного воспроизведения влияющих на работу системы случайных факторов. Для этой цели применяются аппаратно или программно реализуемые генераторы случа й- ных чисел и случайных процессов. Ограничимся сначала рассмотрением наиболее простых и широко используемых вариантов построения генераторов случайных чисел.

3.5.1. Аппаратные способы построения генераторов случайных чисел

Функциональная схема, поясняющая принцип использования шумов электронных приборов для получения случайных чисел с равномерным законом распределения, приведена на рис. 22.

Используется флуктуационный шум электронной лампы или полупр о- водникового прибора И, который после усиления на У1 будет иметь достаточно большую амплитуду. Значение опорного напряжения u0 выбирается в соответствии с условием P u ti u0 P u ti u0 0,5 . Благодаря это-

му, напряжение на выходе сумматора У2 с одинаковой вероятностью будет принимать положительные или отрицательные значения, а сигнал на выходе релейного устройства будет равновероятно принимать значения, соответствующие уровням логического нуля или единицы:

70

P( (ti) = u"0") = P( (ti) = u"1") = 0,5.

(3.24)

Моменты ti выбираются с шагом t, достаточно большим, чтобы обеспечивать независимость последовательных значений сигналов(ti ), (ti + 1 ),… В разряды регистра заносятся N последовательных значе-

ний . Таким образом в регистре формируется N-разрядное двоичное число:

= 1 2-1 + 2 2-2 +…+ N 2-N , 0 1 .

Число имеет 2N значений, вероятность каждого из которых вследствие (3.24) равна 12N . Таким образом, получаемые числа имеют равномер-

ный дискретный закон распределения в интервале 0; 1 12N . Если при-

нять N достаточно большим, можно считать получаемый закон распр еделения непрерывным:

 

1

при

0 <1,

 

f

 

 

< 0 при

1.

0

при

Недостаток такого генератора состоит в нестабильности характер истик используемых флуктуационных шумов и необходимости периодической точной подстройки уровня u0.

От указанного недостатка свободен генератор, использующий излучение радиоактивного элемента И (рис. 23). Здесь в зависимости от

количества

частиц, регистрируемых

счетчиком

С

на непересекающихся

интервалах

 

времени

ti,

ся выходной

сигнал: при

четном

n( ti) формируется уровень логиче-

71

ского нуля, при нечетном - уровень логической единицы. Для этого достаточно использовать бит, содержащийся в младшем разряде выходного регистра счетчика. Очевидно, оба уровня оказываются равновероятными с высокой достоверностью. В остальном построение генератора аналогично предыдущему варианту. Недостаток такого генератора связан с очевидными ограничениями его применения.

Помимо рассмотренных, существует еще ряд аппаратно реализуемых вариантов построения генераторов, также использующих "естественную" случайность, присущую реальным физическим процессам, которая и является их основным и весьма важным достоинством. Общие недостатки таких генераторов - сложность технической реализации и невозможность повторения наблюдаемых реализаций случайных последовательностей.

Другой подход к построению генераторов случайных чисел заключается в аппаратной или программной реализации некоторого рекуррентного соотношения, обеспечивающего получение средних характеристик, аналогичных характеристикам случайной последовательности.

Примером аппаратной реализации такого подхода является генератор на регистрах, использующий метод Неймана (рис. 24). Пусть в N-разрядном регистре содержится некоторое число i= 12-1+ + 22-2+…+ N2-N, где N - четное.

После возведения этого числа в квадрат для размещения результата в общем случае потребовалось бы 2N разрядов. Новое число формируется из N средних разрядов результата с

N 2 1 по 3N 2 .

Последовательность случайных чисел формируется путем циклического повторения такой процедуры. Впоследствии был разработан ряд модификаций такого генератора [23], достаточно точно обеспечивающих равномерное распределение в интервале [0; 1].

Генератор рассмотренного типа представляет собой детерминированный конечный автономный автомат F= Z,Y, , , объем внутреннего алфавита которого составляет 2N. Последовательность выходных сигналов такого автомата заведомо не является слу-

72

чайной. Числовые последовательности, формируемые на основе описанного подхода, называются псевдослучайными и имеют следующие особенности:

1.Цикличность - длительность цикла детерминированного автономного автомата не превышает количества элементов внутреннего алф авита.

2.Регулярность - генерируемая последовательность жестко зависит от начальной установки.

3.Возможность получения "вырожденной" последовательности - на-

пример, если на очередном шаге получено значение =0, все последующие значения также будут нулями.

Указанные особенности являются одновременно и основными недо с- татками генераторов псевдослучайных чисел. Однако при достаточно больших N и удачных схемных решениях удается получить псевдослучайные последовательности длиной до 10+7 чисел, в которых указанные недостатки проявляются незначительно.

Достоинства генераторов псевдослучайных чисел - сравнительная простота реализации и возможность повторения полученных последовательностей.

3.5.2. Программные способы построения генераторов случайных чисел

Программные генераторы случайных чисел обеспечивают получ ение только псевдослучайных последовательностей со всеми указанными выше недостатками. Общий принцип построения программных генераторов состоит в том, что на первом этапе имитируется равномерный закон распр еделения в интервале [0; 1], а затем полученная последовательность преобразуется для обеспечения требуемых характеристик. Рассмотрим ряд спос обов построения программных генераторов.

1. Получение равномерного закона в интервале [0; 1] обеспечивается на основе использования рекуррентных соотношений различного вида, например:

a n b m , i=1,2,...,

i 1 i mod

где a,b - положительные числа, m=2l , l - разрядность представления целого числа в ЦВМ. Генераторы, или датчики, случайных чисел с равноме рным законом распределения имеются в виде встроенных процедур во всех языках программирования, позволяющих решать вычислительные задачи. Существует ряд способов проверки качества таких генераторов [23, 37]. Но прежде всего при выборе программных средств для статистического моделирования

73

f (x)= e
- x, F(x)=1-e

следует обратить внимание на способ начальной установки генератора и возможности ее изменения.

2. Метод обратных функций, обеспечивающий получение заданного закона распределения, основан на использовании известного результата теории вероятностей: независимо от вида непрерывного закона распределения при известных его ПРВ f (x) и ФРВ F(x ) случайная величина

x

 

R fx u du Fx x

(3.25)

распределена по равномерному закону в интервале [0; 1].

Действительно, в соответствии с (3.25) значения x и R связаны взаимно однозначной зависимостью. Поэтому для любых A и B 0 А B 1

 

b

 

P А R B P a x b f x u du

 

 

a

 

b

a

 

 

f x u du f x u du B A ,

(3.26)

 

 

 

что является свойством равномерного закона распределения.

Если удается получить аналитическое выражение для функции F-1(R), обратной ФРВ F(x ), процедура генерирования случайных чисел xi будет выглядеть следующим образом:

а) с помощью стандартного генератора получают равномерно распр е- деленные в интервале [0; 1] числа i;

б) числа xi получают по формуле x i =F-1 ( i ).

Например, для экспоненциального закона распределения (x> 0)

- x, xi F 1 i 1 ln 1 i .

Рассмотренный способ позволяет получать любой непрерывный закон распределения, если только существует аналитическое выражение для F(x )

иможет быть получена в аналитическом виде обратная функция.

3.Для нормального закона распределения аналитического выражения для ФРВ не существует. Простейший способ получения случайных чисел с нормальным законом распределения основан на центральной пр едельной

теореме. В соответствии с ней среднее арифметическое n равномерно распределенных в интервале [0; 1] случайных чисел имеет асимптотически

74

нормальный закон распределения с математическим ожиданием 0,5 и дисперсией

 

 

 

D

 

1

 

2

 

1

1

2

 

1

 

D_

 

 

 

 

 

 

u 0,5

f u du

 

u 0,5

du

 

.

 

n

n

n

12n

 

n

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

На практике это в достаточной степени подтверждается при n = 12. Поэтому процедура получения нормального закона выглядит следую-

щим образом:

а) с помощью стандартного генератора получают 12 равномерно ра с- пределенных в интервале [0; 1] чисел i;

б) числа xi со стандартизованным нормальным законом распределения получают по формуле, являющейся следствием (3.5):

 

1

 

1

12

 

12

 

 

 

 

1

 

x j

 

 

 

i 6 ,

_

 

D_

.

 

 

 

 

 

_

 

 

i 0,5

12

 

 

12 i 1

 

i 1

n

 

n

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

Для сокращения трудоемкости этот способ иногда применяют с n=6. Отметим, что рассмотренным способом не обеспечивается свойстве н-

ный нормальному закону неограниченный диапазон распределения генер и- руемых чисел.

От указанного недостатка свободна, например, следующая процедура: а) с помощью стандартного генератора получают два равномерно ра с-

пределенных в интервале [0; 1] числа i и i+1;

б) вычисляют V1 =2 i – 1, V2 =2 i + 1 – 1, s=V1 2 +V2 2 ; в) если s 1, повторяют пункты а) и б);

г) вычисляют r

2ln s

и получают два распределенных по стан-

 

s

 

дартизованному нормальному закону числа xj =V1 r, xj + 1 =V2 r.

4. Для произвольных законов распределения, не допускающих аналитического получения ФРВ, существует универсальный способ (рис . 25), основанный на кусочной аппроксимации функции ПРВ. Рассмотрим его на пр и- мере усеченного закона распределения, когда f (x)= 0 за пределами отрезка [xmin; xmax]. Разобьем указанный отрезок на m=2l , (l - целое) интервалов таким образом, чтобы вероятность попадания x в каждый интервал была одинаковой:

p j P a j x a j 1 m1 , j = 1,2,...m; a1=xmin, am+1=xmax.

75

В пределах каждого интервала ПРВ аппроксимируется константой:

f j

1

, j=1,2,...m.

 

 

a j 1

a j

 

 

Процедура формирования случайных чисел в соответствии с заданной ПРФ f (x) выглядит следующим образом:

а) с помощью стандартного генератора получают равномерно распр е- деленное в интервале [0; 1] число 2i-1;

б) по первым l разрядам 2i-1 выбирают номер интервала j; в) получают следующее значение 2i;

г) значение xi вычисляют по формуле xi=aj+(aj+1-aj) 2i. Рассмотренный способ обеспечивает получение псевдослучайных ч и-

сел с любыми непрерывными или кусочно -непрерывными законами распределения, в том числе задаваемыми таблично. Его недостатками являю тся сравнительно большие объемы подготовительной работы и используемой оперативной памяти ЭВМ.

5. Отметим другой универсальный способ построения генератора случайных чисел с заданной ПРВ усеченного закона распределения (рис. 26), также часто называемый в литературе методом Неймана. Он предусматривает следующую процедуру обеспечения заданной ПРВ f (x ):

а) с помощью стандартного генератора получают пары равномерно распределенных в интервале [0; 1] чисел 2i-1 и 2i;

б) выполняют их преобразование:

xi=xmin+(xmax–xmin) 2i-1, yi=fmax 2i; (3.27)

76

в) в качестве генерируемых значений случайной величины x выбирают

значения xi из тех пар xi и yi, для которых выполняется неравенство

 

yi f xi .

(3.28)

Покажем справедливость данного способа, применительно к его реализации на ЦВМ. Будем рассматривать для каждого xi элементарную полосу шириной , в пределы которой с учетом разрядности используемой ЦВМ другие значения x попасть не смогут. Величина достаточно мала, чтобы при законе распределения с ПРВ f (x) вероятность x=x i можно было считать пропорциональной f (xi ). С учетом свойства равномерного закона (3.26) нетрудно убедиться, что это и будет обеспечиваться при достаточно большой длине генерируемой последовательности на основе условия (3.28).

Преимущество рассмотренного способа - минимальный объем подготовительной работы. Тем не менее он не получил широкого практического применения из-за низкого быстродействия, обусловленного большой долей “безрезультатных” вычислений. Применение этого способа можно порекомендовать только для более сложных задач моделирования случайных векторов со статистически зависимыми составляющими, которые будут рассмотрены в подразд. 3.9.

6. Для формирования случайных чисел с дискр етным законом распределения используется выражаемое соотношением (3.26) свойство непр ерывного равномерного закона.

Пусть требуется построить генератор дискретной случайной величины Z, имеющей n возможных значений z1 ,z2 ,…,zn . Закон распределения Z

77

 

z

z

 

z

n

 

 

 

 

1

 

2

 

 

, где

pj=P(Z

задается в табличном виде или в виде ряда

 

 

 

 

 

 

p1

p2

pn

 

 

= zj), причем

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

p j 1.

 

 

 

 

 

 

(3.29)

j 1

Соотношение (3.26) позволяет установить соответствие между знач е- ниями непрерывной случайной величины с равномерным законом распределения в интервале [0; 1] и значениями дискретной случайной величины Z следующим образом. Разобьем интервал [0; 1] на n непересекающихся последовательных отрезков j, выбрав длину каждого из них равной aj–aj- 1=pj. В соответствии с (3.29) эти отрезки полностью займут весь интервал [0; 1] (рис. 27), причем их границы будут определяться соотношениями:

j

a j pk .

k 1

Теперь достаточно принять Z=zj , если значение случайной величины попадает в пределы отрезка [aj-1; aj]. Соответствующая процедура получения дискретного закона распределения выглядит следующим обр азом:

а) с помощью стандартного генератора получают равномерно распр е- деленное в интервале [0; 1] число i;

б) определяют номер j отрезка j из условия a j1 i a j ;

в) случайной величине Z присваивают значение zj.

В заключение отметим, что широкий набор разработанных к насто ящему времени способов построения генераторов случайных чисел, безу словно, не исчерпывается рассмотренным перечнем. Так для получения нормально-

78