где операция | y K | означает целую часть y K.
Мы видим, что Д2 используется здесь для случайного выбора
элемента из таблицы V, а Д1 заменяет этот элемент новым случайным
значением.
Этот метод позволяет ослабить зависимость между числами z и
получать длину периода до T T , где T ,T - периоды
датчиков Д1 и Д2 соответственно. Например, при T = T = 2 - 2
(см. п. 1.7.2) и K = 9 мы можем получить T 2,2 10 , то есть
больше гугола (больше 10 ). Это, очевидно, перекрывает любые
практические потребности и даже возможности исчерпания периода.
Обратим внимание также на то, что быстродействие метода - то
есть количество операций, выполняемых на каждом шаге - практически
не зависист от размера K вспомогательной таблицы.
1.7.6. О датчике системы GPSS
Т.Дж. Шрайбер в [29] описал датчик БСВ, встроенный в язык GPSS
(в версииях для IBM 360/370). В этом датчике комбинируются
следующие идеи, отличающие его от датчика (1.5).
Произведение двух больших чисел представляется в д е с я -
т и ч н о й форме. Получается 20 - разрядное число, из которого 6
средних цифр берутся в качестве очередного целого псевдослучайного
числа A .
Из произведения выбирается еще одно псевдослучайное число -
правая половина 60 - разрядного д в о и ч н о г о представления
произведения. Она используется на следующем шаге i+1 вместо A
для формирования нового десятичного произведения с k.
В качестве множителя k на каждом таком шаге используется один
из восьми коэффициентов, выбираемый случайно с помощью третьего
псевдослучайного числа, составляемого из цифр "другой средней части
произведения".
Точное описание алгоритма и данные тестирования этого датчика
в [29] не приводятся, как и в фирменной документации [6,24]. Наше
доверие к датчику может питаться авторитетом фирмы IBM и, в
особенности, широким апробированием языка GPSS в прикладных
исследованиях и в учебных курсах моделирования.
Хорошим подтверждением высокого качества датчика можно считать
также работу [4], где на GPSS моделируются системы массового
обслуживания и результаты сравниваются с точными аналитическими
решениями. По этому поводу см. п.1.6.4.
1.7.7. О проблемах программирования
В известной нам литературе параметры датчиков сильно зависят
от длины машинного слова. Дело в том, что в алгоритмах вычисления
БСВ используются большие целые числа. А так как непосредственное
программирование операций над ними может привести к переполнению
разрядной сетки ЭВМ, то ряд операций приходится разбивать на
промежуточные шаги, в которых учитываются тонкости машинной
арифметики. В результате текст программы оказывается существенно
зависимым от модели ЭВМ и от используемого языка программирования.
Или же он содержит операции настройки на длину слова и на