Генератор случайных чисел

Иллюстрации

Показать все

Реферат

 

Изобретение относится к вычислительной технике и может быть использовано при построении устройств для статистического . -: 2 моделирования. Цель изобретения - расширение функциональных возможностей за счет формирования случайных чисел, подчиняющихся обобщенному степенному распределению . Генератор содержит генератор тактовых импульсов, элемент И, триггер, счетчик, датчик равномерно распределенных случайных чисел, блок 4 сравнения , блок памяти коэффициентов, ключи, блоки возведения в степень, блоки умножения , элемент ИЛИ, элементы задержки, мультиплексоры, делитель, вычитатель константы , сумматоры с константой. 1 ил.

, г

Й Ф, "!

СОКОВ СОВГ1СКИХ

СОЦИАПИСТИЧГСКИХ

РЕСПУБЛИК у1) G 06 F 7/58

ГОсудАРстВеннОе пАтентнОе

ВЕДОМСТВО СССР (ГОСПАТЕ НТ СССР) ОПИСАНИЕ ИЗОБРЕТЕНИЯ

К АВТОРСКОМУ СВИ4ЕТЕЛЬСТВУ (21) 4881118/24 (22) 11.11,90 (46) 28.02.93, Бюл. ¹ 8 (72) А.Е.Филюстин, А.И.Лысенков, В;Д,Боев и Н.К. Назипов (56) Авторское свидетельство СССР № 1363198, кл, G 06 F 7/58, 1987.

Авторское свидетельство СССР

¹ 1644129, кл. G 06 F 7/58, 1989. (54) ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ (57) Изобретение относится к вычислительной технике и может быть использовано при построении устройств для статистического

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

Цель изобретения — расширение функциональных возможностей зэ счет формирования случайных чисел, подчиняющихся обобщенному степенному распределению, На чертеже покэзэна функциональная схема генератора случайных чисел, Генератор случайных чисел содержит генератор 1 тактовых импульсов, элемент И

2, триггер 3, счетчик 4, датчик 5 равномерно распределенных случайных чисел, блок 6 сравйения, блок 7 памяти коэффициентов, ключ 8, блок 9 возведения в степень. блок 10 умножения, сумматор 11, блок 12 умножения, сумматор 13, элемент 14 ИЛИ, элемент

15 задержки, сумматор 16 мультиплексоры

17 и 18, блок 19 сравнения, ключ 20, элемент

21 задержки, сумматор 22, блок 23 умножения, делитель 24, блок 25 умножения, ключ

„г, 5 U ÄÄ 1798780 А1 моделирования. Цель изобретения — расширение функциональных возможностей за счет формирования случайных чисел, подчиняющихся обобщенному степенному распределению. Генератор содержит генератор тактовых импульсов, элемент И, триггер, счетчик, датчик равномерно распределенных случайных чисел, блок 4 сравнения, блок памяти коэффициентов, ключи, блоки возведения в степень, блоки умножения, элемент ИЛИ, элементы задержки, мультиплексоры, делитель, вычитатель константы, сумматоры с константой. 1 ил, 26, вычитэтель 2? константы, блоки 28 и 29 возведения в степень, блоки 30 и 31 умножения, сумматор 32 с константой, блок ЗЗ возведения в степень, блок 34 умножения, блоки 35 и 36 возведения в степень, блоки

37 и 38 умножения, сумматор 39 с константой, элементы 40, 41 и 42 задержки.

Выход генерэтора тактовых импульсов соединен с первым входом элементэ И 2, второй вход которого соединен с прямым Ю выходом триггера 3, э выход подключен к С) счетному входу счетчика 4, выход дэтчика 5 равномерно распределенных случайных чисел соединен с первым входом блока сравнения, первый выход блокэ 7 памяти коэффициентов подключен к информационному входу ключа 8, выход блока 9 возведения в степень подключен к первому входу блока 10 умножения, выход которого соединен с первым входом сумматора 11, выход блока 12 умножения соединен с первым входом сумматора 13, введены четыре блока

1 798780

20 входом блока 7 памяти коэффициентов, пер- 7 вый выход которого соединен со вторым р входом блока 6 сравнения, выход "Меньше в или равно" которого подключен к суммиру- ж ющим входам сумматоров 13, 16 и 22, к 30 2 первым управляющим входам мультиплек- в соров 17 и 18, вторые управляющие входы м которых соединены с вь читающими входа- б ми сумматоров 19, 16 и 22 и выходом "Боль- э ше" блока 6 сравнения, второй выход блока 35 ю

7 памяти коэффициентов подключен к первым входам блоков 12 и 23 умно>кения и т через делитель 24 — к первому входу блока ч

25 умножения, второй вход которого соеди- к нен с выходом сумматора 1 1, а выход под- 40 б ключен к информационному входу ключа 26, выход которого соединен со вторым входом ю сумматора 16, выход счетчика подключен ко н второму входу блока умножения и через вы- г читатель 27. константы соединен со вторым 45 л входом блока 12 умножения, третий выход к блока памяти коэффициентов подключен ко второму входу сумматора 15 и к первому в входу сумматора 22, второй вход которого и соединен с выходом блока 23 умножения, а 50 г выход подключен к информационным вхо- и дам блоков 28 и 29 возведения в степень и к информационному входу ключа 20, выход которого является выходом генератора, вы- н ходы блоков 28 и 29 возведения в степень 55 с соединены соответственно с первыми вхо- р дами блоков 30 и 31 умножения, выход по- ч следнего через сумматор 32 с константой с соединен с информационным входом блока ч

33 возведения в степень. выход которого умножения, два сумматора. два сумматора с константой, пять блоков возведения в степень, два мультиплексора, пять элементов задержки и элемент ИЛИ, причем первый вход элемента 14 ИЛИ является входом сброса генератора, а выход соединен со входом сброса счетчика 4 и нулевым входом триггера 3, единичный вход которого является тактовым входом генератора и соединен через элемент 15 задержки с управляющим входом ключа 8, выход которого подключен к первому входу сумматора

16, выход которого соединен с первыми информационными входами мультиплексоров

17 и 18, вторые информационные входы которых подключены к выходу датчика 5 равнбмерно распределенных случайных чисел, а выходы соединены соответственно с первым и вторым входами блока 19 сравнения, выход "Равно" которого подключен к управляющему входу ключа 20 и через элемент 21 задержки — ко второму входу элемента 14

ИЛИ, прямой выход триггера 3 соединен со входом запуска датчика 5 равномерно распределенных случайных чисел и с тактовым подключен к первому входу блока умножения, второй вход которого соединен с выходом блока умножения, а выход подключен ко второму входу сумматора 11, выход сумматора соединен с информационными входами блоков 35 и 36 возведения в степень, выходы которых подключены соответственно к первым входам блоков 37 и 38 умножения, выход последнего через сумматор 39 с константой соединен с информационным входом блока 9 возведения в степень, выход блока 37 умножения подключен ко второму входу блока 10 умножения, четвертый выход блока 7 памяти коэффициентов соединен со вторыми входами блоков 30 и 37 умножения, пятый выход блока 7 памяти коэффициентов подключен ко входам задания показателя степени блоков 28 и 35 возведения в степень, шестой выход блока 7 памяти коэффициентов соединен со входами задания показателя степени блоков 9 и 33 возведения в степень, седьмой выход блока 7 памяти коэффициентов соединен со входами задания показателя степени блоков 29 и 36 возведения в степень. восьмой выход блока памяти коэффициентов соединен со втоыми входами блоков 31 и 38 умножения, ыход элемента И 2 через элемент 40 задерки соединен с тактовыми входами блоков

8, 29, 35 и 36 возведения s сcтTеeп еeнHь, со ходом элемента 41 задержки и через элеент 42 задержки — с тактовыми входами локов 9 и 33 возведения в степень, выход лемента 41 задер>кки подключен к управлящему входу ключа 26, Принцип работы генератора состоит в ом, что он реализует способ получения слуайных чисел с обобщенным степенным заоном распределения на основе метода егущих касательных, Работа генератора происходит в следущей последовательности. После включеия напряжения питания на вход "Сброс" енератора подается сигнал, который обнуяет триггер 3 и счетчик 4. В блок 7 памяти оэффициентов вводятся коэффициенты а,, х >, с, а, — v, р и А, После этого на тактовый ход генератора случайных чисел подается ервый импульс, который переводит тригер 3 в единичное состояние. Одновременно ервый импульс поступает на вход элемента

15 задержки, Под действием сигнала, формируемого а прямом выходе триггера 3, подключается четный вход счетчика 4 к выходу генератоа 1 тактовых импульсов и запускается датик 5 равномерно распределенных лучайных чисел, который выдает случайное исло аь Кроме того. сигнал с триггера 3

10

30

Результаты с блоков 10 и 34 умножения в виде функций плотностей распределения

f(xj-1) и 1(х1) поступают в сумматор 11, где пРоисходит вычисление сУммы f(xj-1) и f(xj).

Результат поступает на второй вход блока

25 умножения, на первый вход которого с выхода делителя 24 поступает частное h/2, В блоке 25 умножения происходит вычисление первого приращения функции

40 обобщенного степенного распределения, т,е, ЛР1 = — f(xj-1) + f(xj))j 1 = 1, -2

nrig1pj ггя нэ фактоBi,гй вход блока 7 памяти кпзффи 1иенгпв, под дейсгвием которого происходит считывание коэффициентов в соответствующие блоки: гг,, — блок 6 сравнения и на информационный вход ключа 15; h — в блоки 12, 23 умножения и. делитель 24, xp — в сумматоры 13 и 22, с — в блоки 30 и 47 умножения, а — в блоки 28 и 35 возведения в степень,. н - в блоки 9 и ЗЗ возведения в степень, р — в блоки 29 и 26 возведения в степень, А — в блоки 31 и 38 умножения, Случайное число а1 с выхода датчика 5 поступает нэ вторые информационные входы мультиплексоров 17, 18 и в блок 6 сравнения. 1

В блоке 6 сравнения происходит сравнение случайного числа а1 с коэффициентом а,.

Если а, àj, то на выходе "Меньшеравно" блока 6 сравнения формируется сигнал, под действием которого сумматоры 13, 16 и 22 настраиваются на проведение операции суммирования, мультиплексор 17 соединяет первый информационный вход с выходом. а мультиплексор 18 — второй информационный вход с выходом.

Если ао > а1; то на выходе "Больше" блока 6 сравнения формируется сигнал, под действием которого сумматоры 13, 16, 22 настраиваются на операцию вычитания, мультиплексор 17 соединяет второй информационный вход с выходом, а мультиплексор 18 — первый информационный вход с выходом.

С генератора 1 тактовых импульсов на счетчик 4 поступает первый импульс и переводит его в состояние "1". Этот же импульс поступает на вход элемента 40 задержки. С выхода счетчика 4 числа p = 1 поступает в блок 23 умножения и вычитатель 27. В последнем происходит вычисление у.— 1. Результат поступает в блок 12 умножения, В блоках 23 и 12 умножения происходит соответственно вычисление произведений

hj и h(j-1), результаты поступают соответственно в сумматоры 22 и 13. В сумматорах 22 и 13 B зависимости от настройки происходит соответственно вычисление сумм или разностей хо + hj и хо +. h(j — 1), которые поступают соответственно в блоки 28, 29 и 35, 36 возведения в степень, Кроме того, результат хо +. hj с выхода сумматора 22 поступает на информационный вход ключа 20.

К этому моменту времени на выходе элемента 40 задержки формируется сигнал, который запускает блоки 28, 29, 35 и 36 возведения в степень соответственно на вычисление степеней (х + hj), (х +- hj); (xp

+h(j-1) и (x„ - h(j-1)) . Кроме этого, сигнал с выхода элемента 10 зад 1 жкп по".тупэет нэ входы элеме пов 41 и 42 задержки.

Результэ1ы возведения в степень с блоков 28 и 29. 35 и 36 поступают соответственно в блоки ЗО и 31. 37 и 38 умножения, где происходит вычисление произведений

c(xp hj) " и А (xp +. hj) . с(. »О- И" Л(. =h(- ))".

Результаты умножения с блоков 30 и 37 поступают соответственно в блоки 34 и 10 умножения, а с блоков 31 и 38 умножения соответственно с сумматоры 32 и 39 с константой, где к результатам умножения с блоков 31 и 38 добавляется число "1".

Результаты с сумматоров 31 и 39 поступают соответственно в блоки 33 и 9 возведения в степень. К этому моменту времени на выходе элемента 42 задержки формируется сигнал, который запускает блоки 33 и 9 на вычисление степени вида (1 + il. (xp - hj)") — )> и (1 + 2fxp+. h/j — 1)).

Результаты с блоков 33 и 9 возведения в степень поступают соответственно в блоки

34 и 10 умножения. В этих блоках происходит вычисление функций плотностей распределения:

f(x;) =cx; (1+ A.xjj )

f(Xj 1) = Cxj 1 (1 + 1 Xj-1 )-1

1 1 р гдЕ xj = xp + l1j и х)-1 = хо +. h(j-1) и 1= 1, Результат AFij, поступает на информацион н ый вход кл юча 26. К этому моменту времени на выходе элемента.41 задержки формируется сигнал, кОторый разрешает прохождение результата блока 25 через ключ 26 в сумматор 16, Одновременно с этим под действием управляющего сигнала, формируемого на выходе элемента 15 задержки, с блока 7 памяти коэффициент ао через ключ 8 поступает также в сумматор 16. В сумматоре 16 происходит вычисление функции обобщенного степенного распределения

Fj1 = а ЛР11, Результат поступает на первые информационные входь мульти пл ексоро в 17 и 18.

1790780

В зависимости от управляющих сигналов, формируемых блоком 6 сравнения, мультиплексоры 17 и 18 пропускают информационные сигналы так, что на первый вход блока 19 сравнения всегда поступает величина, меньшая по значению, чем на его второй вход. Например, ао

В результате этого с мультиплексора 17 нэ первый вход блока 19 сравнения подается величина A>.= 011 =ао + AFij, а.на второй вход с мультиплексора 18 — величина Az.

В блоке 19 сравнения происходит сравнение величин At и Аг. Сигнал на выходе блока 19 формируется в том случае, если Az$

А1. При Az > A> сигнал на выходе блока 19 сравнения отсутствует. и в функциональной схеме генератора изменений не происходит, 20

При поступлении с генератора 1 тактовых импульсов в счетчик 4 очередного j-ro импульса (j = 2, 3,...,) процесс вычисления функции Fq и сравнения результата вычисления с а аналогичен. Процесс повторяется 25 до тех пор, пока не будет выполнено условие А2 <А1.

В результате выполнения этого условия на выходе блока 19 сравнения формируется управляющий сигнал, который поступает на вход элемента 21 задержки и управляющий вход ключа 20, В результате этого с выхода сумматора 22 через ключ 20 на выход генератора случайных чисел поступает первое случайное число 35

xl = xo «+. hi (1 = 1 и J = 1,2„,), После этого на выходе элемента 21 задержки формируется сигнал, который переводит триггер 3 и счетчик 4 в нулевые состояния и отключает тем самым генератор 40

1 тактовых импульсов от счетного входа счетчика 4.

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

Процесс формирования случайного числа 50 аналогичен процессу, приведенному выше.

Формула изобретения

Генератор случайных чисел, содержащий датчик равномерно распределенных случайных чисел, счетчик, элемент И, триггер, три ключа, блок памяти коэффициентов, пять блоков умножения, вычитатель константы, делитель, два сумматора, первый блок возведения в степень, два блока сравнения и генератор актовых импульсов, выход KoTopoto соединен с первым входом элемента И, второй вход которого соединен спрямым выходом триггера,,а выход подключен к счетному входу счетчика, выход датчика равномерно распределенных случайных чисел соединен с первым входом первого блока сравнения, первый выход блока памяти коэффициентов подключен к информационному входу первого ключа, выход первого блока умножения соединен с первым входом первого сумматора, выход первого блока возведения в степень подключен к первому входу второго блока умножения, выход которого соединен с первым входом второго сумматора, о т л и ч а ю щ ий с я тем, что, с целью расширения функциональных возможностей путем формирования случайных чисел, подчиняющихся обобщен ному степе н ному раси редел ению, в него введены четыре блока умножения, два сумматора, два сумматора с константой, пять блоков возведения в степень, два мультиплексора, пять элементов задержки и элемент ИЛИ, первый вход которого является входом сброса генератора, а выход соединен с входом сброса счетчика и нулевым входом триггера, единичный вход которого является тактовым входом генератора и соединен через первый элемент задержки с управляющим входом первого ключа, выход которого подключен к первому входу третьего сумматора, выход которого соединен с первыми информационными входами первого и второго мультиплексоров, вторые информационные входы которых подключены к выходу датчика равномерно распределенных случайных чисел, а выходы соединены с входами второго блока сравнения, выход

"Равно" которого подключен к управляющему входу второго ключа и через второй элемент задержки — к второму входу элемента

ИЛИ, прямой выход триггера соединен с входом запуска датчика равномерно распределенных случайных чисел и с тактовым входом блока памяти коэффициентов, первый выход которого соединен с вторым входом первого блока сравнения, выход

"Меньше или равно" которого подключен к суммирующим входам первого, третьего и четвертого сумматоров и к первым управляющим входам мультиплексоров, вторые управляющие входы которых соединены с вычитающими входами первого, третьего и . четвертого сумматоров и с выходом "Больше" первого блока сравнения, второй выход блока памяти коэффициентов подключен к первым входам первого и третьего блоков умножения и через делитель -- к первому входу четвертого блок» уь н ж .ния, второй

10 вход которого соединен с выходом второго сумматора, а выход подключен к информационному входу третьего ключа. выход которого соединен с вторым входом третьего сумматора, выходсчетчика подключен к вто- 5 рому входу третьего блока умножения и че.рез вычитатель константы соединен с вторым входом первого блока умножения, третий вход блока памяти коэффициентов подключен к второму входу первого сумма- 10 тора и к первому входу четвертого сумматора, второй вход которого соединен с выходом третьего блока умножения, а выход подключен к информационным входам второго и третьего блоков возведения в сте- 15 пень и информационному входу второго ключа, выход которого является выходом генератора, выходы второго и третьего блоков возведения в степень соединены соответственно с первыми входами пятого и шестого 20 блоков умно>кения, выход последнего через первый сумматор с константой соединен с информационным входом четвертого блока возведения в степень, выход которого подключен к первому входу седьмого блока ум- 25 ножения, второй вход которого соединен с выходом пятого блока умножения, а выход подключен к второму входу второго сумматора, выход первого сумматора соединен с информационными входами пятого и шесто- 30 го блоков возведения, в степень, выходы которых подключены соответственно к первым входам восьMOrn и девятого блоков умножения, выход последнего через второй сумматор с константой соединен с информационным входом первого блока возведения в степень, выход восьмого блока умножения подключен к второму входу второго блока умножения, четвертый выход блока памяти коэффициентов соединен с вторыми входами пятого и восьмого блоков умножения, пятый выход блока памяти коэффициентов подключен к входам задания показателя степени второго и пятого блоков возведения в степень, шестой выход блока памятй коэффициентов соединен с входами задания показателя степени первого и четвертого блоков возведения в степень, седьмой выход блока памяти коэффициентов соединен с входами задания показателя степени третьего и шестого блоков возведения в степень, восьмой выход блока памяти коэффициентов соединен с вторыми входами шестого и девятого блоков умножения, выход элемента И через третий элемент задержки соединен с тактовыми входами второго, третьего, пятого и шестого блоков возведения в степень и с входами четвертого и пятого Задержки, выход которого соединен с тактовыми входами первого и четвертого блоков возведения в степень, выход четвертого элемента задержки подключен к управляющего входу третьего ключа.

1798700

Составитель А. Ф имости н

Техред M,Ìîðãåíòàë Корректор А,Мотыль

Редактор Н.Коляда

Производственно-издательский комбинат "Патент", г. Ужгород, ул,Гагарина, 101

Заказ 773 Тираж Подписное

ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР

113035, Москва, Ж-35, Раушская наб., 4/5