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

книги / Моделирование систем

..pdf
Скачиваний:
9
Добавлен:
19.11.2023
Размер:
38.5 Mб
Скачать

чивает возможности использования метода серединных квадратов.

Конгруэнтные процедуры генерации. Широкое применение при моделировании систем на ЭВМ получили конгруэнтные процедуры генерации псевдослучайных последовательностей, представляющие собой арифметические операции, в основе которых лежит фунда­ ментальное понятие конгруэнтности. Два целых числа а и /? конгру­ энтны (сравнимы) по модулю т, где т — целое число, тогда и толь­ ко тогда, когда существует такое целое число к, что a,—f}=km, т. е. если разность a — делится на т и если числа а и /?дают одинаковые остатки от деления на абсолютную величину числа т. Например, 1984= 4 (mod 10), 5008 s 8 (mod 103) и т. д.

 

 

 

 

 

Таблица 4.2

 

 

 

*/

 

 

8651S

90795

66155

66434

56558

12332

69186

03393

42502

99224

88955

53758

41686

42163

85181

38967

33181

72664

86522

47171

88059

89342

67248

09082

72587

93000

89688

78416

27589

99528

94377

57802

52452

42499

33346

83935

91641

18867

76773

97526

27256

66447

53807

00607

04825

82134

80317

75120

12311

90316

87113

84778

45863

24520

14480

50961

84754

57616

38132

64294

79130

90410

45420

77757

75593

51435

25731

37525

16287

66181

73244

61870

45904

75601

70492

10274

23974

14783

19976

04925

07824

76044

32373

05312

15218

49286

89571

42903

59598

56774

73189

64448

31276

70795

33071

96929

28709

38238

76208

76575

53163

58481

17932

66686

64254

57598

26623

91730

94590

22561

70177

03569

21302

17381

08749

43448

28484

16325

62786

31466

91682

12804

29142

65877

64517

31466

87653

98088

75162

97496

59297

79636

79429

66186

59157

95114

16021

30890

85444

39453

67981

49687

36801

38666

85739

44326

91641

40837

93030

03675

02555

52905

84637

76154

14150

07876

74364

16796

59575

32764

91090

66515

21656

93662

81305

58846

69558

41675

50055

11244

29835

35801

23472

22700

18788

91332

32795

54313

39072

16809

41899

69207

66785

87225

05498

51512

16107

52141

88898

23775

30649

86545

39976

21279

36694

85970

22148

60102

18465

87650

65509

66065

91016

50324

Конгруэнтные процедуры являются чисто детерминированны­ ми, так как описываются в виде рекуррентного соотношения, когда функция (4.9) имеет вид

121

* i +1 = X X t 4- f t ( m o d M ) ,

(4 .1 0 )

где Xh X, p, M — неотрицательные целые числа. Раскроем рекуррентное соотношение (4.10):

Хх= ХХ0+ р (mod М);

X2=XXL+ p = Х2Х 0+ (Я+1 )ju(mod М);

X3=XX2+p=X3X0+(l2+M )p=X3X0+(X3-l)p/(X-\)(modM);

Х,=i % + (Л1— 1М Л - l)(mod М).

(4.11)

Если заданы начальное значение Х09 множитель X н аддитивная константа р, то (4.11) однозначно определяет последовательность целых чисел {Х{}, составленную из остатков от деления на М членов

последовательности {Х*Х0+ц(Х*—1)/(Я—1)}. Таким образом, для любого 1 справедливо неравенство Xt<M . По целым числам последовательности {Х^\ можно построить последовательность

{*/}= {XJM} рациональных чисел из единичного интервала (0, 1). Конгруэнтная процедура получения последовательностей псев­

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

Мультипликативный метод. Задает последовательность неотри­ цательных целых чисел {Xi}, не превосходящих М, по формуле

Xl+l=XXi(modM),

(4.12)

т.е. это частный случай соотношения (4.10) при ц = 0.

Всилу детерминированности метода получаются воспроизводи­ мые последовательности. Требуемый объем машинной памяти при

этом минимален, а с вычислительной точки зрения необходим последовательный подсчет произведения двух целых чисел, т. е. выполнение операции, которая быстро реализуется современными ЭВМ.

Для машинной реализации наиболее удобна версия M = pg, где р — число цифр в системе счисления, принятой в ЭВМ (р=2 для двоичной и р = 10 для десятичной машины); g — число битов в ма­ шинном слове. Тогда вычисление остатка от деления на М сводится к выделению g младших разрядов делимого, а преобразование целого числа Xt в рациональную дробь из интервала х{ е (0, 1) осуществляется подстановкой слева от Х {двоичной или десятичной запятой.

Алгоритм построения последовательности для двоичной маши­ ны М = 2в сводится к выполнению таких операций [31, 36, 46]:

122

1.Выбрать в качестве Х 0 произвольное нечетное число.

2.Вычислить коэффициент Л=8*+3, где t — любое целое поло­ жительное число.

3.Найти произведение ЛХ0, содержащее не более 2g значащих разрядов.

4.Взять g младпшх разрядов в качестве первого члена последо­ вательности Х 19 а остальные отбросить.

5.Определить дробь x 1= X J2s из интервала (0,1).

6.Присвоить X 0—X v

7.Вернуться к п. 3.

Пример 4.4. Необходимо получить числа последовательности для случая $=4, используя приведенный алгоритм мультипликативного метода. Для этого выполня­ ем следующие действия: 1. Выбираем ДТою—? (в десятичной системе счисления) или J o=0111 (в двоичной системе счисления). 2. Найдем *=1, тогда Д10=11 или 5; пусть ^0 = 5 , X«0101. 3. Рассчитываем произведение ХХ0, берем g младпшх разрядов, вычисляем Х х и присваиваем Х 0= Х х, т. е. выполняем п. 3 — 7 алгоритма:

а) AY0=(0101)(0111)—00100011, *,=0011, *.=3/16=0,1875; б) 2*!=(0101) (0011)=00001 111, * 2= 1111, х ,= 15/16=0,9375; в) АЗГ2=(0101)(Ш 1)=01001011, * 3=1011, х3=11/16=0,6875; г) А*3=(0101) (1011)=00110111, *4=0111, х4= 7/16=0,4375.

Смешанный метод. Позволяет вычислить последовательность неотрицательных целых чисел {Afj}, не превосходящих М 9 по формуле

Xi+1 ХХг+ д (mod М),

т. е. в отличие от мультипликативного метода /i# 0. С вычислитель­ ной точки зрения смешанный метод генерации сложнее мультип­ ликативного на одну операцию сложения, но при этом возможность выбора дополнительного параметра позволяет уменьшить возмож­ ную корреляцию получаемых чисел.

Качество конкретной версии такого генератора можно оценить только с помощью соответствующего машинного эксперимента.

В настоящее время почти все пакеты прикладных программ универсальных ЭВМ для вычисления последовательностей равно­ мерно распределенных случайных чисел основаны на конгруэнтной процедуре [17, 38, 40].

4.3. ПРОВЕРКА И УЛУЧШЕНИЕ КАЧЕСТВА ПОСЛЕДОВАТЕЛЬНОСТЕЙ ПСЕВДОСЛУЧАЙНЫХ ЧИСЕЛ

Эффективность статистического моделирования систем на ЭВМ и достоверность получаемых результатов существенным образом зависят от качества исходных (базовых) последовательностей псев­ дослучайных чисел, которые являются основой для получения сто­ хастических воздействий на элементы моделируемой системы. По­ этому, прежде чем приступать к реализации моделирующих ал­ горитмов на ЭВМ, необходимо убедиться в том, что исходная

123

последовательность псевдослучайных чисел удовлетворяет предъяв­ ляемым к ней требованиям, так как в противном случае даже при наличии абсолютно правильного алгоритма моделирования процес­ са функционирования системы S по результатам моделирования нельзя достоверно судить о характеристиках системы [29, 37].

Проверка качества последовательностей. Результаты анализа си­ стемы S, полученные методом статистического моделирования на ЭВМ, существенно зависят от качества используемых псевдослучай­ ных квазиравномерных последовательностей чисел. Поэтому все применяемые генераторы случайных чисел должны перед моделиро­ ванием системы пройти тщательное предварительное тестирование, которое представляет собой комплекс проверок по различным ста­ тистическим критериям, включая в качестве основных проверки (тесты) на равномерность, стохастичность и независимость. Рас­ смотрим возможные методы проведения таких проверок, наиболее часто используемые в практике статистического моделирования систем.

Проверка равномерности последовательностей псевдослучайных квазиравномер­ но распределенных чисел {х,} может быть выполнена по гистограмме с использова­ нием косвенных признаков [4, 26]. Суть проверки по гистограмме сводится к следу­ ющему. Выдвигается гипотеза о равномерности распределения чисел в интервале (О, 1). Затем интервал (0, 1) разбивается на т равных частей, тогда при генерации

последовательности {х,} каждое из чисел х с вероятностью Pj= ljm ,j= 1, т, попадает

в один из подынтервалов. Всего в каждый j-й подынтервал попадает Nj чисел

____ т

последовательности {х,}, i= l, N, причем N= £ Nj. Относительная частота попада-

j- 1

ния случайных чисел последовательности {х,-} в каждый из подынтервалов будет равна Nj/N. Вид соответствующей гистограммы для примера показан на рис. 4.11, а, где пунктирная линия соответствует теоретическому значению pj, а сплошная — экспериментальному NjfN. Очевидно, что если числа х,- принадлежат псевдослучай­ ной квазиравномерно распределенной последовательности, то при достаточно боль­ ших N экспериментальная гистограмма (ломаная линия на рис. 4.11, а) приблизится к теоретической прямой 1/т.

Оценка степени приближения, т. е. равномерности последовательности {х*}, может быть проведена с использованием критериев согласия. На практике обычно принимается т 20-Т-50, jV=(102-f-103)/w.

Суть проверки равномерности по косвенным признакам сводится к следующему. Генерируемая последовательность чисел {х,*} разбивается на две последовательности:

Рис. 4.11. Проверка равномерности последователь­ ности

124

^1>

•••! -*21—11

^4» ^6» "■) -*2Ь

Затем проводится следующий эксперимент. Если выполняется условие

4 - 1 + 4 <1» *m UN,

(4.13)

то фиксируется наступление некоторого события и в счетчик событий добавляется единица. После NJ2 опытов, когда генерировано N число, в счетчике будет некоторое число k ^ N /2 . ___

Геометрически условие (4.13) означает, что точка (х2,_ь х2д, i - 1, N, находится внутри четверти круга радиусом г= 1, что иллюстрируется рис. 4.11, б. В общем случае точка (*2f-i, х2() всегда попадает внутрь единичного квадрата. Тогда те­ оретически вероятность попадания этой точки в четверть круга

P i ~ $1 /4 хруга/^хвадржта= (ЯГ2/4)/(1 • 1)= я /4 .

Если числа последовательности {х,} равномерны, то в силу закона больших чисел теории вероятностей при больших N относительная частота 2k(N-*n(4.

Проверка стохасттности последовательностей псевдослучайных чисел {х/} на­ иболее часто проводится методами комбинаций и серий [7,11,25]. Сущность метода комбинаций сводится к определению закона распределения длин участков между единицами (нулями) или закона распределения (появления) числа единиц (нулей) в л- разрядном двоичном числе Х\. На практике длину последовательности N берут достаточно большой и проверяют все п разрядов или только I старших разрядов числа Xj.

Теоретически закон появленияj единиц в / разрядах двоичного числа Х{ описыва­ ется исходя из независимости отдельных разрядов биномиальным законом рас­ пределения:

р <], 0 - <?/(!)[1 - Р(1)]''У= С^ '(1),

где Р(/, I) — вероятность появленияj единиц в / разрядах числа Х& р (1)=р(0)=0,5 — вероятность появления единицы (нуля) в любом разряде числа Xf, С^=/!/[/!/(/—у)!].

Тогда при фиксированной длине выборки N теоретически ожидаемое число появления случайных чисел Х\ с j ед и н и ц ам и в проверяемых / разрядах будет равно

« ,= № > '( 1).

После нахождения теоретических и экспериментальных вероятностей P{j, I) или чисел ftj при различных значениях /< л гипотеза о стохасгичности проверяется

с использованием критериев согласия [7, И , 18, 21].

При анализе стохастичности последовательности чисел {х,} методом серий по­ следовательность разбивается на элементы первого и второго рода и Ъ), т. е.

если Х[<р\

Xf=

в противном случае,

гдеО <р<.

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

После разбиения последовательности {х,} на серии первого и второго рода будем иметь, например, последовательность вида

...aabbbbaaabaaaabbbab... .

Так как случайные числа а и б в данной последовательности независимы и при­ надлежат последовательности (х,}3равномерно распределенной на интервале (0, 1),

125

то теоретическая вероятность появления серии длиной j в последовательности дли­ ной / в N опытах (под опытом здесь понимается генерация числа Xj и проверка условия х i<p) определится формулой Бернулли:

P(j, *)=&{Р (1~Р) J,j = 0 ,1, /=1» п.

В случае экспериментальной проверки оцениваются частоты появления серий длинойj. В результате получаются теоретическая и экспериментальная зависимости P(j\ I), сходимость которых проверяется по известным критериям согласия, причем проверку целесообразно проводить при различных значенияхр, 0 < р < \ и /.

Проверка независимости элементов последовательности псевдослучайных квази­ равномерно распределенных чисел проводится на основе вычисления корреляцион­ ного момента [4].

Случайные величины £ и ц называются независимыми, если закон распределения каждой из них не зависит от того, какое значение приняла другая. Таким образом, независимость элементов последовательности {*,} может быть проверена путем введения в рассмотрение последовательности {у/}= {х/+т}, где т — величина сдвига последовательностей.

В общем случае корреляционный момент дискретных случайных величин £ и ц с возможными значениями д:,-и yj определяется по формуле

i J

где ри — вероятность того, что (£, if) примет значение (х,-, yj).

Корреляционный момент характеризует рассеивание случайных величин f и г\ и их зависимость. Если случайные числа независимы, то К^п= 0. Коэффициент корреляции

Р$ц —KfrjKPxGy)*

где ох—су — средние квадратические отклонения величин f и ij.

При проведении оценок коэффициента корреляции на ЭВМ удобно для вычисле­ ния использовать следующее выражение:

y/D[x&B[Xi+j)

где

2

D[xi+J =

При вычислениях сначала рационально определить суммы:

Xj, ^ Xj+n

126

Рис. 4.12. Экспериментальное определение длины периода и длины отрезка апериодич­ ности:
а— вариант 1 \6— вариант 2
127

При любом т # 0 для достаточно больших N с доверительной вероятностью р справедливо соотношение

Если найденное эмпирическое значение р^(т) находится в ука­ занных пределах, то с вероятностью р можно утверждать, что полученная последовательность чисел {х,} удовлетворяет гипотезе корреляционной независимости.

Характеристики качества генераторов. При статистическом моде­ лировании системы S с использованием программных генераторов псевдослучайных квазиравномерных последовательностей важными характеристиками качества генератора является длина периода Р и длина отрезка апериодичности L. Длина отрезка апериодичности

L псевдослучайной последовательности {х,}, заданной уравнением

Х{+1=ЛХ{+р(то6.М), Xi=XJM,

есть наибольшее целое число, такое, что при 0 < / < / < £ событие P{Xi=Xj) не имеет места. Это означает, что все числа х{в пределах отрезка апериодичности не повторяются.

Очевидно, что использование при моделировании систем после­ довательности чисел {х/}, длина которой больше отрезка апери­ одичности L, может привести к повторению испытаний в тех же условиях, что и раньше, т. е. увеличение числа реализаций не дает новых статистических результатов.

Способ экспериментального определения длины периода Р и длины отрезка апериодичности L сводится к следующему [29]. Запускается программа генерации последовательности {х,} с на­ чальным значением х0 и генерируется V чисел х,-. В большинстве практических случаев можно полагать Г=(1-г5)10б. Генерируются

числа

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

а)

 

 

 

{х,} и фиксируется число х г.

 

 

 

Затем

программа

запу­

 

L

 

 

скается

повторно с началь­

 

Р

Р

Р

ным числом х0 и при генера­

 

 

 

1

ции очередного числа прове­

0 1 2 3

l 3

 

ряется

истинность события

S)

 

 

 

P'{xi= xv).

Если это

собы­

L

 

 

тие истинно:

i= ix и

i= i2

 

Р

Р

Р

(h < h < Ю» то

вычисляется

 

 

 

 

длина периода последовате­

0 1 2 3

 

 

 

льности P —i2 — h- Проводит­ ся запуск программы генера­ ции с начальными числами х0 и хР. При этом фиксиру-

ется минимальный номер z=z3, при котором истинно событие Р" {хi=xP+i}, и вычисляется длина отрезка апериодичности L —i3+P (рис. 4.12, а). Если Р' оказывается истинным лишь для z= V, то L> V (рис. 4.12, б).

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

Пример 4.5. Необходимо показать, что в последовательности чисел {*/}, описыва­ емой уравнением

ЛГ|

X i+1s АЛГ/(modМ), */= — ,

при простом модуле М можно так выбрать коэффициент А, что при любом Х0, взаимно простом с М, длина отрезка апериодичности, совпадающая в этом случае с длиной периода Р, будет L = P = M —\. Иначе говоря, надо найти, при каких условиях равенство

Xs= X 0(modM)

(4.14)

справедливо при минимальном значении s= M 1.

 

Можно записать [см. (4.11)], что Xi+s=X X, (mod Af), поэтому

(4.14) имеет

место при

 

А*=1 (mod АТ)

(4.15)

(здесь существенно, что Х 0 взаимно просто с М).

По условию требуется, что наименьший показатель степени s= P M(A), удовлет­ воряющий (4.15) и называемый показателем А по модулю М, был равен М 1. Для любого простого модуля М существует ф{М—1) значений А (первообразных корней), удовлетворяющих уравнению (4.15) при Ры (А)= (р (М), где ф(М) — функция Эйлера, определяемая как число натуральных чисел т ^ М , взаимно простых с М. Для простого модуля М имеем ф{М )=М —\.

Таким образом, доказано существование многих А, при которых повторение элементов последовательности {xj наступит на (АГ— 1)-м числе xM_i, т. е. L = P = M 1, что и требовалось доказать.

Для алгоритмов получения последовательностей чисел {JC/} об­ щего вида (4.10) экспериментальная проверка является сложной (из-за наличия больших Р и L), а расчетные соотношения в явном виде не получены. Поэтому в таких случаях целесообразно провести теоретическую оценку длины отрезка апериодичности последовате­ льности L. Для этого воспользуемся элементарной вероятностной моделью, рассмотренной в следующем примере [4, 36, 37].

Пример 4.6. Пусть имеется конечное множество, содержащее N различных чисел. Проведем последовательность независимых опытов, в каждом из которых из этого множества извлекается и записывается одно число. Вероятность извлечения любого числа в каждом из опытов равна X/N, так как выборка чисел проводится с возвратом. Обозначим через L случайную величину — номер опыта, в котором впервые будет снова извлечено уже записанное ранее число. Можно доказать, что в данной вероят­ ностной модели для любого х> 0 имеем

128

lim P { L / ^ N < X } = \ — Q

JV-oo

Так как математическое ожидание случайной величины с такой функцией рас­

пределения равно yjnjl, то при N-+co получим M[L]=y/nNJ2. Такая оценка длины отрезка апериодичности «груба», но полезна на практике для цредварительного определения L с целью дальнейшего уточнения экспериментальным путем.

Рассмотрим некоторые особенности статистической проверки сгохастичности псевдослучайных последовательностей. Для такой проверки могут быть использованы различные статистические кри­ терии оценки, например критерии Колмогорова, Пирсона и т. д. Но в практике моделирования чаще всего пользуются более простыми приближенными способами проверки [29, 37].

Для проверки равномерности базовой последовательности слу­ чайных чисел x h i= l, N, можно воспользоваться такими оценками:

(1IN) 5

*= 1/2, (1IN) | а? = 1/3.

i= 1

i= l

Для проверки таблиц случайных цифр обычно применяют раз­ личные тесты, в каждом из которых цифры классифицируются по некоторому признаку и эмпирические частоты сравниваются с их математическими ожиданиями с помощью критерия Пирсона [29, 46].

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

Улучшение качества последовательностей. В силу рассмотренных преимуществ основное применение в практике имитационного мо­ делирования систем находят различные программные способы по­ лучения чисел. Поэтому рассмотрим возможные методы улучшения качества последовательностей псевдослучайных чисел. Одним из наиболее употребительных методов такого улучшения является употребление вместо формул вида (4.9), представляющих собой рекуррентные формулы первого порядка, рекуррентных формул порядка г, т. е.

*+1==Ф (*, *_ 1, •••, * —r+i)»

где начальные значения х 0, x L, ...,

заданы. В этом случае длина

отрезка апериодичности L у такой

последовательности при r> 1

9-4833

129

гораздо больше, чем при г=1. Однако при этом возрастает слож­ ность метода, что приводит к увеличению затрат машинного време­ ни на получение чисел и ограничивает возможности его применения на практике.

Для получения последовательности псевдослучайных чисел с бо­ льшой длиной отрезка апериодичности L можно воспользоваться методом возмущений [29, 37]. В основу этого метода получения последовательности чисел положена формула вида

где функции Ф(м) и Ч? (и) различны.

Вэтом случае в основном используется формула х,+1=Ф(х,),

итолько когда i кратно М, последовательность «возмущается», т. е. реализуется переход к формуле х1+ =Ч?(х,). Целое число М на­

зывается периодом возмущения.

Все рассмотренные критерии проверки последовательностей псе­ вдослучайных чисел являются необходимыми при постановке ими­ тационных экспериментов на ЭВМ с моделью Мм, но об их до­ статочности можно говорить лишь при рассмотрении задачи моде­ лирования конкретной системы S.

4.4. МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ ВОЗДЕЙСТВИЙ НА СИСТЕМЫ

При моделировании системы S методом имитационного моде­ лирования, в частности методом статистического моделирования на ЭВМ, существенное внимание уделяется учету случайных факторов и воздействий на систему. Для их формализации используются случайные события, дискретные и непрерывные величины, векторы, процессы. Формирование на ЭВМ реализаций случайных объектов любой природы из перечисленных сводится к генерации и преоб­ разованию последовательностей случайных чисел. Вопросы генера­ ции базовых последовательностей псевдослучайных чисел {*,}, име­ ющих равномерное распределение в интервале (0,1), были рассмот­ рены в § 4.2, поэтому остановимся на вопросах преобразования последовательностей случайных чисел {xt} в последовательность {у,} для имитации воздействий на моделируемую систему S .

Эти задачи очень важны в практике имитационного моделирова­ ния систем на ЭВМ, так как существенное количество операций, а значит, и временных ресурсов ЭВМ расходуется на действия со случайными числами. Таким образом, наличие эффективных мето­ дов, алгоритмов и программ формирования, необходимых для моделирования конкретных систем последовательностей случайных чисел {yi}, во многом определяет возможности практического ис­

130

Соседние файлы в папке книги