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

 

СОЮЗ СОВЕТСКИХ

СОЦИАЛИСТИЧЕСКИХ

РЕСПУБЛИК (19) (11) (.511 4 G 06 F 7/58 .

ОПИСАНИЕ ИЗОБРЕТЕНИЯ

М А BTOPCHOMY СВИДЕТЕЛЬСТВУ

) ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР

ПО ДЕЛАМ ИЗОБРЕТЕНИЙ И ОТКРЫТИЙ (21) 4018788/24-24 (22) 29.01.86 (46) 15.08.88. Бюл. 1(- 30 (71) Специальное проектно-конструкторское бюро средств автоматизации нефтедобычи и нефтехимии "Нефтехимпромавтоматика" (72) Е.В.Кузнецов и IO.Ë.Ìóçàôàðîâà (53) 681.3(088.8) (56) Авторское свидетельство СССР

11 - 378854, кл. r, 06 F 7/58, 1970.

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

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

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

141700

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

5 до отказа иэделия.

Цель изобретения — повышение точности генератора.

На фиг. 1 приведена блок-схема генератора случайных чисел", на фиг.2- 1О временные диаграммы, поясняющие работу генератора.

Генератор случайных чисел содержит генератор 1 тактовых импульсов, триггер 2, генератор 3 равномерно распре- !5 деленных случайных чисел (ГРРСЧ), блоки 4 и 5 возведения в куб, квадраторы 6-10, блоки 11-19 умножения, блоки 20-22 вычитания, блоки 23 и 24 деления, сумматоры 25 и 26, элементы И

27 и 28, распреДелители 29 и 30 импульсов, регистр 31 и регистр 32 памяти.

Генератор случайных чисел работает следующим образом. 25

На первый вход обнуления триггера

2 поступает импульс (фиг. 2а), который устанавливает триггер 2 в состояние "О". На прямом выходе триггера

2 формируется сигнал постоянного уров-30 ня "О" (фиг. 2б), а на инверсном выtt tt ходе — сигнал постоянного уров н я 1 (фиг . 2в ), которые по ступ ают на входы элементов И 2 7 и 2 8 соо т вет ст венно закрывая тем самым элемент И 2 7

35 и подготавливая к открытию элемент

И 28.

Затем на вход "Пуск- генератора поступает импульс (фиг. 2г ), который запускает генератор 1. Импульсы с @ выхода генератора 1 (фиг. 2д) поступают через элемент И 28 на вход распределителя 30 импульсов (фиг. 2е, t, с1, ), а так как элемент И 27 закрыт,, то на тактовые импульсы на вход

45 распределителя 29 импульсов не поступают (фиго 2жу t (t, ) Сигнал с первого выхода распределителя 30 (фиг. 2з) поступает на первые входы синхронизации блока 14 умножения, квадратора 7 и блока 5 возведения в куб, на информационные входы которых с выхода регистра 32 поступает код (9 =(р l(l . Блок 14 умножения формирует код !Сtlt y9), а

55 квадратор 7 и блок 5 возведения в куб формируют коды j9 и (9 ) соответственно. б 2

Сигнал "1" с третьего выхода распределителя 30 поступает на вторые входы синхронизации хвадратора 7, блока 5 возведения в куб, блоков 15 и 16 умножения и на первый вход синхронизации блока 15 умножения и квадратора 10, Код (9 $ с выхода квадратора 7 поступает на информационные входы блока 15 умножения и квадратора 10, которые формируют коды (C ) к (9 и (9 ) соответственно, Код (0$ с выхода блока возведения в куб поступает на информационный вход блока

l6 умножения, который формирует код

jc,) (6 ).

Сигнал "1" с четвертого выхода распределителя 30 импульсов поступает на вторые входы синхронизации квадратора 10 и блока 17 умножения. Код (94) с выхода квадратора 10 поступает на информационный вход блока 17 умножения, в котором формируется код (С 4 (9

Сигнал "1" с второго выхода распределителя 30 импульсов поступает на первые входы синхронизации блоков

15-17, сумматора 26 и на второй вход синхронизации блока 14. Коды (С,) "

«Е9>, (С f ° C9 ), (С,) (ф и С„) х (9 с выходов блоков 14-17 умножения поступают на первый, третий, четвертый и второй информационные входы сумматора 26 соответственно, который осуществляет сложение кодов величин, поданных на его информационные входы, и кода числа 1, постоянно поданного на его пятый информационный вход (не показан), т.е. формирует код А =

=j1/+(C,I (6 +(С,) )e ll+(C, .I g +

+(С, (Е4$°.

Сигнал "1" с пятого выхода распределителя 30 импульсов поступает на второй вход синхронизации сумматора

26 и первый вход синхронизации квадратора 8. Код (All с выхода. сумматора

26 поступает на информационный вход квадратора 8, который формирует код (р

Сигнал "1" с шестого выхода распределителя 30 импульсов поступает на второй вход синхронизации квадратора 8 и первыи вход синхронизации квадратора 9. Код jA I с выхода квадратора 8 поступает на информационный вход квадратора 9, в котором формируется код IA j .

Сигнал "1" с седьмого выхода распределителя 30 импульса поступает на!

11 I I !

Сигнал 1 с шестого выхода распределителя 29 импульсов поступает

1417006

4 второй вход синхронизации квадратора подан код числа ),. ), таким образом. го 57

9 и первый вход синхронизации блока блок 22 вычитания формирует код jZ, 24 деления. Код )A i c выхода квадра- =)О 5 -Я Д7 С

-(, - () Я. игнал I с третье1.; тора 9 поступает на первый информа- выхода распределит 29

5 еля импульсов ционный вход блока 24 деления на поступает н

f пает на второи вход синхрониэавторой информационный вход которого ции блока 22 вычитания и на первые постоянно подан код числа 0 д сла 0,5, таким входы синхронизации квадраторов блока образом, блок 24 деления формирует 11 умножения, блока 4 и квадратора 6, 7

Ið Код, с выхода блока 22 вычитания

Сигнал 1" с восьмого выхода рас- поступает на информационные входы пределителя 30 импульсов поступает блок II ока умножения в котором формина вторью входы синхронизации блока руется код j K,lõ.(21, где К =2,506628

{ ) 1А) д квадратора 6, в котором формируется, ) (А ) с выхода блока 24 деления 1 код 7 код,, и блока ч возведения в куб поступает на вход вычитаемого блока г ъ в котором формируется код (Z

2l вычитания, на вход уменьшаемого С игнал I с четвертого выхода аскоторого постоянно подан код числа р

1 а пределителя 29 импульсов поступает на таким образом, блок 2! вычитания ф„„„„„д(ж = 11 0,5 ГА

С игнал 1 с девятого выхо а аск д — (, > А ° 20 6 и блока 4 возведения в куб и первые о выхода рас- входы синхронизации блоков 12, 13 и пределителя импульсов 30 (фиг. 2и) )8 н г 71 умножения. Код (7, ) с выхода ква— поступает на вход установки в "1" н (,) д дв ратора 6 поступает на информационный триггера 2, переводя его в состояние б

t1 I II при котором на первом (прямом) 25 формац.юнный вход блока 18 умножения выходе триггера 2 формируется сигнал а код 1 1 с выхода блока 4 воэведепостоянного уровня "1" (фиг. 2б ф, ния в куб поступает на информационный

1;,, а на втором (инверсном) вы- . вход блока !2 умножения и первый ин"0" 2 ходе — сигнал постоянного уровня формационнь "

m вход лоха о умножения. б 18 °

0 (фиг. 2в t t ). .Т

0 (фи . 2, < ) . актовые им- 30 Блоки 12 и 3 умножения формируют, копульсы с выходя генератора ) прекра- ды rK шают поступать на вход распределите- но, где К =2,624935, С =3,1 а пе вый ля 30 импульсов (фиг. 2е t > t ) е, >,, а начинают поступать через элемент И

27 на вход первого распределителя 29

° ° импульсов (фиг. 2ж, t > t ) .

35 восьмого выхода распределителя 29 импульсов поступает на

Сигнал 1 с девятого выхода аср — вторые входы синхронизации блока )3 пределителя 29 (фиг. 2к) поступает

l l 1! умножения и блока 20 вычитания. Код на вход Пуск ГРРСЧ 3, который Аор- С" мирует код первого случайного числа

) с выхода блока 13 ножен (4О поступает на вход вычитаемого блока

1 равномерно распределенного в интервале 0,1).

I:,3.

20 вычитания, на вход уменьшаемого

tl II которого постоянно подан код числа

Сигнал с первого выхода аср так что блок 20 вычитания формипределителя 29 импульсов поступа ет рует код 11 — (С ) 1(Х на первые входы синхронизации блока

21 вычита иг а с седьмого выхода расвычитания и блока 19 умножения

1 пределителя 29 импульсов поступает на на первый и второй ин рмационные р формационные первый вход синхронизации блока 20 входы которого поступают коды Гф и

1 у

Ц вычитания, на второй вход синхрониэа с выходов блока 21 вычитания и ции б 18 ции лока умножения и блока 23 генератора 3. Блок )9 умножения фор- деления. Код f)" — Г"

50 я. од -1 . ) . с выхода мирует <Р 1, блока 20 вычитания поступает на вход

Сигнал ")" с второго выхода рас- делит л б 23 е я лоха деления, на вход пределителя 29 импульсов поступает на делимого которого поступает код K » второй вход синхронизации блока )9 «(к $ с выхода блока 18 умножения.

31 умножения и первый вхо синх д рониза- Ьлок 23 деления формирует код ) ции блока 22 вычитания. Код (P j < f () «j Z j /(f)) -(C I Z )). с выхода блока 19 умножения поступает на вход 22 блока вычитания, на вход уменьшаемого которого постоянно

1417006 на вторые входы синхронизации сумматора 25, блоков 11 и 12 умножения и на первый вход синхронизации блока

23 деления. Коды (K,1»р (31, (K,1»в(Е » и j K I ч (Е $ /((2 - (C ) р (Zq $ ) с выходов блоков 11 и 12 умножения и блока

23 деления соответственно поступают на третий, первый и второй информационные входы сумматора 25, в котором 10 формируется код первого случайного числа (Х .

Сигнал "l" с пятого выхода рас" пределителя 29 импульсов (фиг. 2л) поступает на первый вход синхрониза- 15 ции сумматора 25 и вход синхронизации блока 31 в котором фиксируется код первого случайного числа jX), Процесс получения кодов последующих случайных чисел (Х) происходит 20 аналогично описанному.

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

Известно, что согласно методу об.ратных функций значение t случайной величины с функцией распределения F(t ot, P ) является решением уравнения 3() @ (-- — ) — 1+ (—,) Р(1 p р )тл р-ООс цсоа

Ь (-) 45

Г Ор (2), p i2 тле Р (о)=(2р) 1 е dI — норннро0 ванная HOpMBJIbHBH функция у» распределения.

Подставляя (2) в (1), получаем

q (— )-1+Ф(- )-P(— )= О, (3) откуда следует (<-I" )=l e(> )(l Г (4) Z(t,к, p)-(=0, (l) где - значение случайной величины, имеющей равномерное распределение на интервале j0,1J; " параметры функции распределения.

Известно также, что усеченная нормальная функция распределения с параметрами р и 5 записывается в ви- 40 де:

Так как случайные числа l имеют такое же равномерное распределение, что и числа р то равенство (4) перепишем в виде:

Ч (- -й) 1 ()$ (4) Из (4 ) следует, что значение t случайной величиныр имеющей усеченное нормальное распределение с параметрами р и о, определяется выражением = +И (1 e()(), (5) где 9 () — функция, обратная нормированной нормальной функции распределения, Таким образом, для формирования значений t случайной величины с усеченным нормальным распределением с параметрами и о необходимо формировать значения

Х=Ф (1-Ф(†) )

Т (e) z=i ð(— )у (7) случайной величины, равномерно раслренеленной в интервале (I I,— ),I).

fll

Так как в прототипе случайное число Х генерируется по зависимости х=к,к+к,2, +к,z /(1-с 2 ), (8) где K К рк», С вЂ” заданные константы;

Z — - значение случайной величины, равномерно распределенной в интеРвале»-1/2, +1/2)р то для приведения Z в выражении (7) к интервалу (-1/2, +1/2 выражение (7 ) необходимо записать в виде:

Z=0,5-9(— )$. (7 ) Для вычисления значения У (— ) вос Т пользуемся известной аппроксимацией:

Ю (8)-1 <Р,, (9) (1+ C;Е )"

»сI где С; - заданные константы; С, =

0,196854; С =0,115194; С =

0,000344; С =0,019537. нормально распределенной случайной величины с нулевым математическим ожи.данием и единичной дисперсией по значениям

7 41700б 8

Следовательно, для формирования рого соединен с информационными вхозначений t случайной величины с усе- дами первого квадратора и первого ченным нормальным распределением с блока возведения в куб, о т л и ч апараметрами р и Р необходимо:l) по от- ю шийся тем что с целью повы5

Э 7 ношению параметров p/ Р вычислить эна- щения точности, в него введены втсчение Ф (р/Р) по формуле (9}; 2) ис- рой блок возведения в куб, четыре у () квадратора, пять блоков умножения п ь я значение - и первое слу- два блока вычитания, второй б ок дечайное число (, вычислить значение Z tp ления, второй сумматор, второй эле/ по формуле (7 ); 3) используя значение мент И, первый и второй распределиЕ, вь.числить значение Х по формуле тели импульсов и регистр памяти, вы(8); 4) используя значение Х и пара- ход которого соединен с информационметры р и Е, вычислить первое случай- ными входами пятого блока умножения

Э ное число С по формуле (5) ° 15 второго квадратора и второго блока

Для получения следующих случайных возведения в куб, выход пятого блока чисел повторяются п.2, 3 и 4 с ис- умножения соединен с первым информапользованием следун1щих случайных чи- ционным входом второго сумматора, вы"1 ° ход которого соединен с информацион20 ным входом третьего квадратора, выход которого соединен с информационФормула и з о б р е т е н и я ным входом четвертого квадратора,вы— ход которого соединен с первым инфорГенератор случайных чисел со е— лв OÀeÐ мационным входом второго блока дележащий генератор тактовых импульсов, 25 ния, выход которого соединен с пертриггер, генератор равномерно распре- вым информационным входом второго деленных случайных чисел, первый блока вычитания, выход которого сое1 блок возведения в куб, первыи квадра" динен с первым информационным выходом тор, четыре блока умножения, первый шестого блока умножения, выход котоблок вычитания, первый блок деления, ЗО рого соединен с информационным входом первыи сумматор, первый элемент И и третьего блока вычитания, выход которегистр, выход которого является вы- рого соединен с информационным входом ходом генератора, причем прямой вы- первого квадратора, выход второго ход триггера соединен с первым вхо- квадратора соединен с информационным дом первого элемента И, выход перво- входом седь о б дом седьмого лока умножения и го блока возведения в к б сое инеи д у соединен с подключен к информационному входу пяпервым информационным входом первого того квадратора, выход которого соедиблока умножения выхо д которого сое- нен с информационным входом восьмого динен с первым инфо ма онным в о ф P ци Hb>M входом блока умножения, выход котороГо соеперзого сумматора, выход пе вого блопервого бло 4р динен с вторым информационным входом ка возведения в куб соединен с пе—

У д с пер второго сумматора, третий информационвым информационным входом вто ого х Дом второго ный вход которого соединен с выходом блока умножения вто ой инфо ма ионР информацион седьмого блока умножения, выход втоный вход которого соединен с выхо ом

Р д с вь одом рого блока возведения в куб соединен квадратора, выход второго блока ум- 45 с информационным входом девятого блоножения соединен с пе вым инфо мад п р м информа ка умножения, выход которого соедиционным входом первого блока деле- нен с четвертым информационным входом ния, второй информационный вход ко- второго суммато а мм тора, вход апуск ге"3 торого соединен с выходом первого нератора тактовых импульсов является блока вычитания, информационный вход входом "Пуск" генератора выход ret которого соединен с выходом третье- нератора тактовых импульсов соединен го блока умножения, информационный с вторым входом первого элемента И, вход которого соединен с выходом пер- выход которого соединен с входом первого квадратора, выход первого блока .вого распределителя импульсов, первый деления соединен с вторым информа- выход которого соединен с первь и

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

15

45

9 14 синхронизации шестого блока умножения и к первому входу синхронизации третьего блока вычитания, второй вход синхронизации которого соединен с первыми входами синхронизации четвертого блока умножения, первого квадратора, первого блока возведения в куб и подключен к третьему выходу первого распределителя импульсов, четвертый выход которого соединен с первыми входами синхронизации первого, второго и третьего блоков умножения и подключен к вторым входам синхронизации первого квадратора и первого блока возведения в куб, пятый выход первого распределителя импульсов соединен с входом "Запись" регистра и первым входом синхронизации первого сумматора, второй вход синхронизации которого соединен с вторыми входами синхронизации первого и четвертого блоков умножения, подключен к первому входу синхронизации первого блока деления и соединен с шестым выходом первого распредеЛителя импульсов, .седьмой выход которого соединен с вторыми входами синхронизации второго блока умножения и первого блока деления и подключен к первому входу синхронизации первого блока вычитания, второй вход синхронизации которого соединен с вторым входом синхронизации третьего блока умножения и подключен к восьмому выходу первого

1 распределителя импульсов, выход генератора тактовых импульсов соединен с первым входом второго элемента

И, второй вход которого соединен с инверсным выходом триггера, вход установки в "О" которого является вхор. дом "Останов" генератора, выход второго элемента И соединен с входом второго распределителя импульсов, первый выход которого соединен с первыми входами синхронизации второго

17006 10 блока возведения в куб, второго квадратора и пятого блока умножения, ВТо рой вход синхронизации которого соединен с первым входом синхронизации второго сумматора, подключен к первым входам синхронизации седьмого, восьмого и девятого блоков умножения и соединен с вторым выходом второго распределителя импульсов, третий выход которого соединен с вторыми входами синхронизации второго квадратора, седьмого и девятого блоков умножения, второго блока возведения в куб и подключен к первому входу синхроннэации пятого квадратора, второй вход синхронизации которого соединен с вторым входом синхронизации восьмого блока умножения и подключен к четвертому выходу второго распределителя, пятый выход которого соединен с вторым входом синхронизации второго сумматора и первым входом синхронизации третьего квадратора, шестой выход второго распределителя соединен с вторым входом синхронизации третьего квадратора и первым входом синхронизации четвертого квадратора, второй вход синхронизации которого соединен с первым входом синхронизации второго блока деления и подключен к седьмому выходу второго распределителя импульсов, восьмой выход которого соединен с вторыми входами синхронизации второго блока деления и второго блока вычитания, выход генератора равномерно распределенных случайных чисел соединен с вторым информационным входом шестого блока умножения, девятый выход второго распределителя импульсов соединен с входом установки в "1" триггера, девятый выход первого распределителя импульсов соединен с входом "Пуск" генератора равномерно распределенных случайных чисел.

ia>sou

17

1417006

Составитель И.Столяров

Редактор Е,Конча Техред Л.Олийнык Корректор M.Демчик

Заказ 40б7/48

Тираж 704 Подписное

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

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

Производственно-полиграфическое предприятие, r. Ужгород, ул. 11риектная, 4

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

 

Похожие патенты:

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

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

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

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

Изобретение относится к вычислительной технике и может быть использовано в приставках к универ-- сальным ЭЦВМ для получения случайных чисел, подчиняющихся законам распределения Пирсона

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

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

Изобретение относится к вычислительной технике и может быть не-

Изобретение относится к вычислительной технике и позволяет расширить область применения генератора путем получения случайных двоичных чисел, распределенных по закону Парето с показателем d 1/2

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

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

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

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

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

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

Изобретение относится к радиотехнике и может быть использовано в компьютерной технике, технике связи и локации

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

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