Генератор случайных чисел
Изобретение относится к вычислительной технике и может быть использовано при построении имитационно-моделирующей аппаратуры. Цель изобретения - повышение точности формирования интегрального закона распределения вероятностей генерируемых случайных чисел. Генаратор содержит датчик 1 равномерно распределенных случайных чисел, узел 2 задания функций распределения, выполненный в виде блока постоянной памяти, узел 3 задания параметров аппроксимации , выполненный в виде блока памяти , первый и второй регистры 4-5s первый и второй блоки 6 и 7 умножения , первый и второй сумматоры 8 и 9. Цель изобретения достигается введением блоков с соответствующими связями . 2 ил..
СОЮЗ СОВЕТСНИХ
СОЦИАЛИСТИЧЕСНИХ
РЕСПУБЛИН
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Н Д,ВТОРСКОМ У СВИДЕТЕЛЬСТВУ
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТНРЫТИЯМ
ПРИ ГКНТ СССР (21) 4359971/24 (22) 08. 12. 87 (46) 07.01.91. Бюл. N 1 (72) Г.Н.Порфирьев и M.È.Áóðíàøåâ (53) 681.3(088.8) (56) Гладкий В.С., Вероятностные вычислительные модели. - M. Наука, 1973, с.82.
Там же, с. 76. (54) ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ (57) Изобретение относится к вычислительной технике и может быть использовано при построении имитационно-моделирующей аппаратуры. Цель изобретения — повышение точности фор,BU„„ > А1 (51)5 С 06 Р 7/58
2 мирования интегрального закона распределения вероятностей генерируемых случайных чисел. Генаратор содержит датчик 1 равномерно распределенных . случайных чисел, узел 2 задания функций распределения, выполненный в виде блока постоянной памяти, узел 3 задания параметров аппроксимации, выполненный в виде блока памяти,. первый и второй регистры 4-5, первый и второй блоки 6 и 7 умножения, первый и второй сумматоры 8 и 9, Цель изобретения достигается введением блоков 3-9 с соответствующими связями. 2 ил.:
1619261
Изобретение относится к вычислительной технике и может быть испольэовано при построении имитационномоделирующей аппаратуры.
Цель изобретения — повышение точности формирования интегрального закона распределения вероятностей генерируемых случайных чисел.
На фиг;1 представлена структурная схизма генератора случайных чисел; на фиг.2 — диаграммы, поясняющие основную идею его функционирования, Генератор содержит датчик 1 равно" мерно распределенных случайных чи" сел, узел 2 задания функций распределения, выполненный в виде блока постоянной памяти, узел 3 задания параметров аппроксима m, также выполненный в виде блока постоянной памя- 20 ти (в этом узле мажет использоваться вместо блока посто-.иной памяти оперативное запоминающее устройство), первый и второй регистры 4 и 5, первый и второй блоки 6 и 7 умножения, первью и второй сумматоры 8 и 9, выход 10 второго сумматора 9 является выходом генератора.
Генератор работает следующим образом.
ЗО
Перед началом работы генератора в блок постоянной памяти узла 2 задания функции распределения записываются значения Р (R+)-, соответствующие. функциям, обратным интегральным функ(Е
L, с помощью которых осуществляется кусочна-функциональная аппроксимация интегральной функции распределения
F>(x} формируемых случайных чисел х.
Количество аппроксимирующих распре"
40 делений L определяется сложностью формы Г (х) или же желательностью испспьзования для аппроксимации некоторого набора типовых распределений
F (х). Размер адресного поля постоян45
1 нога запоминающего устройства узла 2 зависит от L а также от количества точек дискретного гредстав< ления каждой из функций Р (R ) .
Предварительно функция распределения FX (х) разбивается по оси ординат на 2 равных участков к (фиг.2а) с точками разбиения i/2
1,2... .,2 — . Тем самым определяются и точки разбиения х по оси
"J абсцисс. Произвольная "".î÷êà такого разбиения аналитически определяется
К с помощью соотношения Р (х1) = /2
Далее каждый из участков функции распределения F>(х) для значений ар-. гумента х .< — х, j = 1,2, ° .-,2 аппраксимируют тем или иным участком одной из функций распределения
F )(Z) подходящим образам отмасштабированным с помощью линейного пре" образования вида х = а + Ь с .
3 3
На фиг.2б представлен аппроксимирующий участок с граничными значениями аргумента Z 2 „ .Соответствующая случайная величина Z может быть получена с помощью известного метода обратных функций из равномерно распределенных случайных чисел, если дополнительно учесть, что значе. ния Z должны изменяться только в пределах от Z,до Е . Зто условие может быть реализовано с помощью линейного преобразования вида
К = с + d "R где В. — равномерно
Э распределенные в диапазоне (0-1) случайные числа, получаемые от датчика 1. Коэффициенты указанных линейных преобразований а,Ь„,с„, d
1,2...,,2 определяются с помо" щью следующих соотношений: х - х -
a = х» — — — — — -" — ° Z°Z 1 х, -х, b"
Z I — Z)„ с = F3(Z i); д = FF(Z3) — Fp(Z) g ).
Найденные таким способом значени
1 коэффициентов а,Ь,, с,с1 ;
1,2,...,2" запись;ваются в ячейки блока постоянной памяти узла 3. зада" ния параметров аппроксимации: с в первую группу младших разрядов j-й ячейки; d 1 — во вторую группу младших разрядов; а — во вторую группу ,старших разрядов; Ь вЂ” в первую группу старших разрядов. Кроме того, в средние разряды записывается номер 1 распределе -,ия F (2), с помощью ,которого осуществляется аппроксимацИя данного участка.
Генерация очередного случайного числа х с заданным интегральным эакочом распределения F (x) происходит следующим образом.
Датчик 1 равномерно распределенных случайных чисел вырабатывает на своих разрядных выводах новое число, k старших разрядов которого задают адрес j ячейки блока 3 постоян61
5 16192 ной памяти узла. Информация, хранящаяся в j-й ячейке, считывается и переписывается в первый регистр 4: значение с — в первую группу младших
8 5 разрядов этого регистра; d 1 — во вторую группу младших разрядов; 1— в средние разряды; а " во вторую группу старших разрядов; b — в первую группу старших разрядов. С младших разрядных. выходов датчика I число R, подчиняющееся равномерному распределению в диапазоне (0-1),попадает на один иэ входов первого блока 6 умножения, где умножается на коэффициент d>, Получившееся произведение складывается с коэффициентом с в первом сумматоре 8, в результате чего на его выходе образуется случайное число R" = -=с + d R. Это число 20
1 переписывается в младшие разряды второго регистра 5, в старшие его разряды переписывается информация со средних разрядов первого регистра 4.
Тем самым во втором регистре 5 форми- 25 руется адрес ячейки блока постоянной памяти узла 2 задания функций распределения, причем старшие разряды указывают тот адресный сегмент, где хранятся значения функции F (К1 }, а младшие разряды — величийу аргумента R . Ha выходе узла 2 появляется случайное число Е, которое подчиняется интегральной функции распределения Fg(Z) и может изменяться в пределах от Z до Z . Это число перемножается во втором блоке умножения 7 с коэффициентом Ь, а затем произведение Ь1.,7.складывается во втором сумматоре 9 с коэффициентом a . В ре, зультате на выходе 10 образуется очередное случайное число х = а + Ь Z.
1 .1
Далее цикл генерации повторяется. Последовательность выходных случайных чисел х в конечном итоге будет подчиняться заданному распределению с точностью до ошибок используемой кусочно-функциональной аппроксимации. Применение подобной аппроксимации во многих случаях позволяет существенно повысить точность формиро50 вания заданного интегрального закона распределения F>(х) по сравнению с известными методами, где, как правило, используется линейная интерполяция.
Ф о р мул а и з о б р е т е н и я
Генератор случайных чисел, содержащий датчик равномерно распределенньг случайных чисел и узел задания функ-. ций распределения, отличающийся тем, что, с целью повышения точности формирования интегрального закона распределения вероятностей генерируемых случайных чисел, в него введены два блока умножения, два сумматора, два регистра и узел задания параметров аппроксимации, причем старшие разрядные выходы датчика равномерно распределенных случайных чисел соединены с информационными входами узла задания параметров аппроксимации, выход которого соединен с информационным входом первого регистра, первая группа младших разрядных выходов первого регистра соединена с первым входом первого сумматора, вторая группа младших разрядных выходов первого регистра соедчнена с первым входом первого блока умножения, второй вход которого соединен с. младшими разрядными выходами датчика равномерно распределенных случайных чисел, а выход — с вторым входом первого сумматора, выход которого соединен. с информационными входами младших разрядов второго регистра, информационные входы старших разрядов которого соединены со средними разрядными выходами первого регистра, выход второго регистра соединен с информационным входом узла задания функций распределения, выход которого соединен с первым входом второго блока умножения, второй вход которого соединен с первой группой старших разрядных выходов первого регистра, а выход — с первым входом второго сумматора, второй вход которого соединен с второй группой старших разрядных выходов первого регистра, выход второго сумматора является выходом генератора случайных чисел, 1619261
Составитель Г.Филаретов
Техред M.Äöäûê
Редактор А.Мотыль
Корректор О.Ципле
i Заказ 48 Тираж Подписное
ВНИИЛИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., д» 4/5
Производственно-издательский комбинат "Патент", r. Ужгород, ул. Гагарина, 101



