книги из ГПНТБ / Соболь И.М. Численные методы Монте-Карло
.pdf28 |
ПОЛУЧЕНИЕ СЛУЧАЙНЫХ ВЕЛНЧИННА ЭВМ |
[ГЛ. Г |
И
Все же применяются такие методы редко. Наверно ком пенсация за сложность этих методов по сравнению с ме тодами вида (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ä. — количество цифр,