Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Соболь И.М. Численные методы Монте-Карло

.pdf
Скачиваний:
24
Добавлен:
24.10.2023
Размер:
9.56 Mб
Скачать

28

ПОЛУЧЕНИЕ СЛУЧАЙНЫХ ВЕЛНЧИННА ЭВМ

[ГЛ. Г

И

Все же применяются такие методы редко. Наверно ком­ пенсация за сложность этих методов по сравнению с ме­ тодами вида (4) недостаточна.

2.4.2. Для получения последовательности "(о. Ть можно одновременно использовать два алгоритма типа

(4)с различными функциями Ф(.ѵ) и xF(x):

Всчете по методу (12) почти все время используется формула ч„+і= Ф (Чп), и только когда п кратно М, после­ довательность «возмущается»:'уп+і= Ч/ ("уп). Поэтому ме­ тод этот, предложенный Д. И. Голенко, назван методом возмущений, а целое число М периодом возмущения.

Метод возмущении увеличивает длину отрезка апе­ риодичности по сравнению с методом (4). Вместо оцен­ ки (10) получается оценка (см. упражнение 6 гл. 1)

ML У (nj2) NM.

Однако необходимо предостеречь вычислителен от не­ критического применения этого метода: качество всех используемых псевдослучайных чисел должно быть про­ верено. Наблюдались случаи, когда по каждой из фор­ мул Чи+і= Ф(Т") или ,yn+i= xF (ч„) вычислялись удовлетворительные псевдослучайные числа (с Д ^К (я/2) (V), а в реализованном по этим формулам методе (12) чис­ ла оказались плохими: не проходил первый тест и. 3.2

(несмотря на то, что L было близко к У(п!2) NM).

2.4.3. Рассмотрим рекуррентную формулу r-го порядка

 

Г—1

 

(13)

а п+ г= 2У> eka tn+k

(mod 2), I

 

k = о

 

Г . -

Гд е е0= 1, а все остальные коэффициенты «у и переменные ссу

могут

принимать лишь два значения — 0 или

1. Если начальные значения

ао, аь ■••аг—1> заданы,

то (13) позволяет последовательно вычислить

ar>ar+ 1 >• • • Случай ao =

Gii = . . .= а Г_ 1= 0 из рассмотрения исклю­

чается. Уравнение (13) называется моноциклическим, если период Р ре­ шения Йо. cti........... а /;1 . . . равен Р = 2 r —1.

§ 2] п с е в д о с л у ч а й н ы е ч и с л а 29

Нетрудно доказать, что все решения моноциклнческого уравне­ ния имеют одну II ту же длину периода Я, п период их совпадает с

отрезком апериодичности.

 

 

u n-L\ (mod 2 )

 

П р и м е р.

Уравнение«,,^.,! = а п +

моиоцпклнче-

ское. Если задать начальные значения «о=1>

аі =

а2=

а 3= 0, то по­

лучим последовательность с периодом 15:

 

 

 

100

010

011

010

111

100

010

...;

 

если начать со значении ао =

аі =

а2= а з = 1, то снова получим после­

довательность с периодом 15

 

 

 

100 . . . .

 

111

100

010

011

010

111

 

которая лишь сдвигом номеров отличается от предыдущеіі.

Уравнение а

, = а ([-

I

-

+ а ,і+ з (ІП0^ -) ,|е моноцнкличе-

скос. Если начать со значении

а0= І ,

аі =

«2= и з =

0,

то

получим

последовательность с периодом 7

 

 

 

 

 

 

 

 

1000110

1000110

аі =

«2 = «3=

1,

то

получим

а если задать начальные значения

н0=

последовательность, состоящую из одних единиц.

 

 

 

В статье Н. Ц и р л е р а

[185],

где исследованы важнейшие свой­

ства уравнений

(13), последовательности, порождаемые

моиоцмклп-

ческпмп уравнениями, называются Af-последователыіостями. Термин «мопоцпклпческое уравнение» введен в [82]. В [176] описаны элек­ тронные схемы, реализующие формулы вида (13); по этим схемам по­ строены физические датчики псевдослучайных двоичных цифр. ПГю

решения а0, а \ , . , . , и п, . . . мопоцнклпческпх уравнений во многих от­

ношениях ведут себя как двоичные случайные

цифры (см. упражне­

ние 7 гл. 1).

 

Например, формула

 

“ «+31 = ап "г к «+з (mod 2)

порождает последовательности с L = P = 231 — 1. Проверка 600 000

цифр, получающихся при начальных значениях

(а0, . . . , a30) = (100

101 100 111 110 001 101 ПО 101 0000), показала,

что эти цифры удов­

летворяют основным тестам п. 3.2, сформулированным применитель­

но к двоичным цифрам (проверка

выполнена ІО. Л. Левитаном).

Однако если из цифр

а0, а],

. . . , ап , . . .

попытаться строить

ш-разрядиые значения случайной величины у

 

Те = 0 , о,, . . . <х|П_ , ,

ті = 0 , а т . . .

,

Та = 0.

а 2т •••

“ З т - П

 

то пригодность таких чисел, вероятно, окажется ограниченной: ре­ зультаты работы Р. Таусворта [172] дают основания ожидать, что эмпирическое распределение групп

(То..........

Ts—l)i

(Ys............

T2s—1)>

(T2s'

Тз і - і).

будет близким к теоретическому только

при

выполнении условия

tn-s^r,

j

30

ПОЛУЧЕНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН НА ЭВМ

[ГЛ. I

§ 3. Статистическая проверка случайных чисел

Мы видели, что случайные числа, полученные любым из трех рассмотренных в § 1 методов, необходимо про­ верить. Рассмотрим важнейшие критерии, используемые обычно для такой проверки. Все эти критерии необхо­ димы для случайных чисел, ио о достаточности критери­ ев можно говорить, только ограничив класс задач, ко­ торые предполагается решать с помощью проверяемых случайных чисел. Такая точка зрения будет развита в гл. 7, § 4.

3.1. Статистические критерии согласия

3.1.1. Т е о р е м а

К. П и р с о н а .

Рассмотрим произ­

вольную случайную

величину

которая может быть

одномерной или многомерной, дискретной или непрерыв­ ной. Обозначим через X множество возможных значений g. Фиксируем какое-нибудь разбиение множества X на г попарно непересекающнхся множеств Х\, . . . , Хттаких, что

Р{£<=Х,-}=/?,>0 при / = 1, 2, . . . . г.

Очевидно, рі+ ••• ~hPr—Р

= 1•

. . . ,

величи­

Выберем N независимых значений

ны I и обозначим через vj

количество значений,

принад­

лежащих Xj. Легко видеть, что математическое ожнда-.

ние МVj=Npj*).

В качестве меры отклонения «истинных» значении vj

от «теоретических» Nps удобно

выбрать величину

 

 

 

Г (У/

Npj) 2

(1-1).

 

 

/=і

NPj

 

 

 

 

Т е о р е м а .

Каковы бы ни были исходная величина

% и разбиение

Х==Хі+_... + Х Г (такое, что все

р;> 0),

*) Случайная

величина

подчиняется биномиальному

закону

распределения с Мѵ;.= Npj и Dv;- = Np^ (1 — pfi. Совокупность вели­

чин (vi, . . . , ѵг) подчиняется мультиномиальному закону распределе­ ния: при ^ і + . . . + kr —N

Р{ѴХ=

V, = k') = І^ГГГІПРІ' • • • Pr'-

§ 3]

СТАТИСТИЧЕСКАЯ ПРОВЕРКА СЛУЧАЙНЫХ ЧИСЕЛ

31

при каждом ,ѵ> 0

 

 

 

 

.V

 

 

lim KP !,v < л-} =

j kr_i (X) dx,

(15)

 

Л'-*-оо

Ü

 

еде плотность km(x), называемая плотностью распреде­ ления X2 с in степенями свободы, выражается формулой

(рис. 8)

 

k m(x) = [2 т2Г(ш/2 )}-' xmß- ]e -xl2.

 

3.1.2.

К р и т е р и й с о г л а с и я %2. Теорему

пред

дущего

пункта часто используют в статистике для

про­

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

Фиксируем достаточно большую вероятность ß, кото­ рую будем называть доверительной вероятностью пли коэффициентом доверия. Вероятность 1—ß обычно иа-

зывают уровнем значимости. Теоретически в качестве ß можно выбрать любое число 0 < ß < l . Практически же выбор ß означает, что (в рассматриваемой задаче) мы считаем событие с вероятностью ^ ß достоверным, а со­ бытие с вероятностью ^ l — ß невозможным при единич­ ном испытании.

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

чены N значений £|, . . . ,

этой случайной

величины

(Л/ достаточно велико). Не противоречат ли эти N зна­

чений нашей гипотезе?

 

 

Чтобы ответить на этот вопрос, можно рассуждать

следующим образом. Выберем какое-нибудь

число г и

Я4 ПОЛУЧЕНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН НА ЭВМ ІГЛ. I

разбиение множества возможных значений X случайной величины I на г попарно непересекающихся множеств

A'=yYi-|- —-f-A'r. Исходя из нашей гипотезы, можно

вы­

числить вероятности р>= Р{|еА'3}. Предположим,

что

разбиение выбрано так, что все Pj>0. Тогда по значе­

ниям |і,

нетрудно вычислить величины ѵь . . . , ѵ г

(этот этап в статистике

называют группировкой значе­

ний) и по формуле

(14) — величину у2,. Если наша

ги­

потеза

справедлива,

то

(при достаточно большом

N)

эта величина достаточно хорошо подчиняется закону

распределения у2

с {г— 1)-й степенью свободы. Из урав­

нения

 

 

x >

f

kr-\ (.г) dx = - ß

'l. l-P)

 

можно найти значение у2(г— 1, 1—-ß), отвечающее фик­

сированному памп уровню значимости 1—ß (рпс. 9).

Если наше значение уД < у 2(/'— 1, 1 — ß),

то этот резуль­

тат не противоречит пашей гипотезе;

если

же

уД>

>у?{г—1. 1—ß), то, в со­

ответствии

со

сделанным

соглашением, это означа­

ет, что

наступило

невоз­

можное

событие, и гипо­

теза должна

быть отбро­

шена, так как она приве­

ла к противоречию.

этот

Конечно,

вывод

зависит от выбранной до­

верительной

 

вероятно­

сти и

поэтому

не

носит

абсолютного характера. Чаще других используют дове­ рительные вероятности ß=0,95; 0,99; 0,999; соответству­ ющие уровни значимости 1—ß=0,05; 0,01; 0,001 называ­

ют

5%-ным,

1%-ным

и

0,1%-ным уровнями. Если

у2ѵ^ у 2(/‘—1,

1—ß) при ß =

0,95, то значение>Д, называ­

ют

почти значимым, при

ß = 0,99

значимым, а при

ß=

0,999 — высоко значимым (рис.

10).

 

На практике широко используют таблицы распреде­

ления у2 (см,

стр. 293),

в которых

приведены значения

§ 31

СТАТИСТИЧЕСКАЯ ПРОВЕРКА СЛУЧАЙНЫХ ЧИСЕЛ

33

Р) — корни уравнения

 

 

 

00

 

 

 

 

\ k m(x)dx = P,

(16)

 

 

 

X'

 

где, очевидно, Р =91—ß. Если полученному

в экспери-

менте

значению

Хіѵ

при

 

т = г—1 отвечает в

таб­

 

лице Р < 0,001,то это зна­

 

чение xjj высоко значи­

 

мо. Например, если при

 

/■=10

получено

значение

 

X2n =9,4, то по

таблице

 

при девяти степенях сво­

 

боды находим, что Рта

 

«0,40; следовательно, по­

 

лученное значение

до­

 

пустимо.

3.1.3.

З а м е ч а н и я о п р им е н е н ми к р и т е р и я %2-

а) О

в ы б о р е р а з б и е н и я . Если N заранее ограничено, то

нельзя выбирать г слишком большим, тан как тогда будут малыми величины Nßj и неустойчивыми значения ѵу. Обычно рекомендуют

выбирать

Х і так, чтобы

минимальные

Л'ру были не меньше чем 20.

б) О

б о л ь ш и х г.

В таблицах

%2 число степеней свободы т

обычно не превосходит 30. При больших значениях можно использо­

вать таблицу

интеграла

вероятностен

(стр. 293), так как распределе­

ние величины

£= У 2х2 — У2т близко

к нормальному с параметрами

(0; 1):

 

 

 

 

 

Р =

J

//„, (а)4.Ѵ «

± (1- Ф ( г ) 1,

 

 

і-

 

 

где г = \ г ‘2'/р—| Л2ш.

В

[5] имеется

таблица поправок к последней

приближенной формуле.)

в) О м н о г о к р а т н о м п р и м е и е н и и к р и т е р н я х2Со­ глашение о невозможности события с вероятностью =^1—ß = P спра­ ведливо для единичного испытания. Если мы будем повторять наш

опыт много раз, то (в среднем) для 100 Р% полученных значений соответствующие вероятности окажутся меньше Р (при условии, что

гипотеза наша верна).

гипотетическое распределение

г) В

н е к о т о р ы х с л у ч а я х

величины содержит

неизвестные параметры а,, . . . , as и эти пара­

метры оцениваются

по результатам тех же N испытаний (т. е. по

значениям

.......... | w). Тогда также

можно использовать критерий

3 И. М. Соболь

34

ПОЛУЧЕНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН НА ЭВМ

|ГЛ. I

X2 для

проверки согласия между значениями gi,

£л, и

гипотети­

ческим распределением с подобранными параметрами. Однако пре­

дельное

распределение

следует рассматривать с m = r—s— 1

степе­

нями свободы [44].

 

 

и к » з н а ч е и и я х х2- Допустим, ч

д)

О «с л II ш к о м

х о р о ш

сосчитанное значение

Хдг оказалось

столь малым, что соответствую­

щее ему

значение Я > 0,99.

В этом

случае значения | t, . . . .

g;V на­

столько хорошо подчиняются гипотетическому распределению, что. . .

возникает сомнение в пх «случайности».

Как мы увидим ниже в гл. 7, для решения некоторых задач важ­ но именно хорошее распределение значений (а не «случайность»), и такие «слишком хорошо» распределенные значения позволяют быст­ рее решать эти задачи.

3.1.4. К р и т е р и и ш2. Рассмотрим одномерную слу чайную величину g с функцией распределения F(x) . Вы­

берем N независимых значений |і, . . . , этой случайной вели­ чины и построим эмпириче­ скую (или выборочную) функ­ цию распределения

 

 

Fn (х) =

Sj\i (x)/N,

(17)

 

где S.y(a') равно количеству

 

значений, меньших чем х. (На

 

рис.

11 N = 5). 'Так

как

 

Fn (*) — это

частота

собы­

Рис. И.

тия

{£<х} при N испытаниях,

 

а вероятность

этого события

Р { 1 < А ' } = / 7(а-), то

/\Ѵ (х)

сходится

по

вероятности *)

кF(x), когда N —*■оо.

Вкачестве меры отклонения F,ѵ(х) от F(x) часто используют величину

О

N

J [F (X) -

Fn (а )]2 dF (х).

:о 8)

Со]ѵ

Т е о р е м а

(Р.

Мизес, Н.

В. Смирнов).

Какова бы

ни была случайная величина |

с непрерывной функцией

*) Последовательность случайных

величин тц, . . . .

Т|,ѵ,

. . . схо­

дится по вероятности к постоянной с,

если при любом

Л > 0

вероят­

ность Р ІІПдг—

->-0, когда IV-»- оо.

 

 

§ 31 СТАТИСТИЧЕСКАЯ ПРОВЕРКА СЛУЧАЙНЫХ ЧИСЕЛ 35

распределения F(x), при каждом x> 0

 

lim Р (со,ѵ < х] = (.ѵ),

(19)

;Ѵ->-со

 

где функция щ (х) от %не зависит.

На этой теореме основан критерии согласия со2, по­ зволяющий проверять гипотезы о функции распределе­ ния одномерной непрерывной случайной величины Схема использования этого критерия точно такая же, как схема использования критерия %2: фиксируется до­ верительная вероятность ß; из уравнения

ai(*ß) = ß

находится соответствующее значение хр (рис. 12; табли­ ца функции йі(а') на стр. 293); по гипотетической функ­ ции распределения F(x) и эмпирической функции рас­

пределения /> (.г) вычисляется

если величина

соді^хр, то это означает, что наступило невозможное событие или, другими словами, наша гипотеза привела

к противоречию. Конечно, предполагается, что количе­ ство значений N достаточно велико.

По сравнению с критерием %2 критерий со2 имеет од­ но преимущество: не нужна группировка значений (и, стало быть, не надо вводить параметр г). Применять критерий можно обычно уже при УѴ>50. Однако, чтобы вычислить со2, нужно расположить значения £і.........

впорядке возрастания:

І(1) ^ 1(2) ^ • • •

3*

36

ПОЛУЧЕНИЕ СЛУЧАЙНЫХ ВЕЛИЧИН НА ЭВМ

[ГЛ. I

(Такой ряд выборочных значений называется в стати­ стике вариационным рядом). Если количество значений (т. е. N) превышает объем внутреннего накопителя ЭВМ, то расположение их в порядке возрастания представля­ ет собой весьма трудоемкую процедуру. Из-за этого при очень больших N критерий со2 используют редко.

Выведем теперь формулу для расчета Шд,. Во-первых, нетрудно проверить, что

 

 

F,ѵ М = ЫМ ПР" ?(/,■) < * <

5(|[+1),

 

где

k— 0, 1........../V, и условно І(0) = — «5,^(/у ^ .і)= ” (рнс. 13).

Далее

условимся

для краткости писать/ц. вместо

Ffèp,)). Тогда

нз (18)

следует, что

 

 

 

2

Л'

S(ft+1)

 

 

 

—А' _ V

.

dF (.V) :

 

 

Л'

-

 

 

 

 

1с=0

Е(,,)

 

 

 

N 'P 2АЯ k-Fy^k+])

3

N

2

+ Л'2

JA-=6()i)

 

 

 

 

 

 

So

 

 

 

 

 

 

 

 

 

 

 

N

 

 

 

 

 

 

 

k-

 

 

 

= V

 

 

 

 

i\ [Fl\

1 — Fl) +

 

Fu)

 

(^fc+i

f A-)

 

л - (^fc-H ~

 

3

 

 

ft=0

 

 

 

 

 

 

 

 

 

 

 

N

Fl+]

 

,!FÜ-L-\

k'Fk-\-\

 

 

 

 

 

V

 

 

 

 

 

 

jU

3

N

+

N-

 

 

 

 

 

 

k=0

 

 

 

 

 

 

 

 

 

 

 

 

Ң

(A-l)Ai

(Л-

l)af*

 

1 ,

2A-

1

)

 

 

 

N

 

N3

+

/ V f fe—

/V

^ J -

Сумма первых двух квадратных скобок легко вычисляется. Послед­ ние члены дополним до полного квадрата:

wJv

1

N

r ,

k — 1/2

 

__д , J_ ' v

He “

N t k

И Г ~ 3 т N

 

fc=0L

А — 1/2

k — 1/2\2

N

N

После несложных вычислении получим окончательную формулу, ко­ торую удобно записать в следующем виде:

Шд, = 12..Ѵ-42%

k — 1/213

(20)

f (?№))■ ' N *

ft=i

 

V

§ 3]

СТАТИСТИЧЕСКАЯ ПРОВЕРКА СЛУЧАЙНЫХ ЧИСЕЛ

37

3.2.

 

Проверка таблиц случайных цифр. Для прове

ки таблицы

случайных цифр еь

е2, . . . , ел- М.

Г. Кен­

далл и

Б.

Б. Смит предложили

использовать

четыре

теста. В каждом из них цифры классифицируются по не­ которому признаку и эмпирические частоты сравнива­ ются с их математическими ожиданиями при помощи

критерия у2. Тесты

эти: f)

проверка частот

(frequency

test) — проверяется частота

различных

цифр

в таблице;

2) проверка

пар

(serial

 

test) — проверяется

частота

различных

двузначных

чисел среди

пар

s і ег, е2 е3,

е3е.і.........е,ѵ_і е,ѵ; 3)

проверка интервалов (gap

test)—■

проверяется частота различных интервалов между дву­

мя

последовательными нулями;

4) проверка

комбина­

ции

(poker lest)— проверяется

частота различных

ти­

пов

четверок (abcd, aabc, aabb,

aaab, aaaa)

среди

чет­

верок eie2e3e.i, г2езеіе5, ...

Большинство последующих авторов также использо­ вали эту систему тестов, внося, однако, в нее некоторые изменения, среди которых отметим два. Вместо провер­ ки интервалов обычно используют проверку серий (run

test): цифры sft+i,

eft+2,

• • • >eft+i образуют серию длины /,

если еЛ+і = еЛ+2=

... =

е„+І, но еА=^еЛ+і, еи+і+1 ф е к+і. Вме­

сто проверки пар

еіе2, е2е3, е3е.і,

... преверяют незави­

симые пары еіег, е3Е4, 6585, ...

зрения (она изложена

С детерминистической точки

в гл. 7) проверка частот и проверка независимых пар — важнейшие необходимые тесты. Проверка серий обоб­ щает «критерий случайности», часто используемый в статистике [24]. И только проверка комбинаций носит несколько искусственный характер. Поэтому можно ре­ комендовать в качестве основных использовать следую­ щие два теста.

П е р в ы й т ест (проверка частот и пар). Предполо­ жим, что количество цифр N — 2N' четное. Цифры еь ...

..., е.у разобьем на пары еіб2, 8384, ..., е.ѵ-іе.ѵ. Обоз­

начим через V,-,-

количество пар ij. Сосчитав матрицу

Дѵ«), 0< /,

9,

легко вычислить также величины

 

9

9

Ѵ£. =

Уі V[j, V.j = 2 Vf/, V/ = V£. -j- Ѵ.і.

 

/—О

і—О

Смысл этих величин очевиден: vä. — количество цифр,

Соседние файлы в папке книги из ГПНТБ