Генератор случайных чисел
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть применено для получения случайных чисел, используемых при решении задач статистического моделирования . Целью изобретения является расширение функциональных возможностей за счет генерирования случайных чисел , подчиняющихся закону распределения Грамма-Шарлье. Генератор содержит датчик равномерно распределенных случайных чисел, вычитатель, регистр, три умножителя, два сумматора, три блока задержки, пять демультиплексоров, два элемента И, шесть элементов ИЛИ, синхронизатор, регистр памяти . Цель изобретения достигается введением новых блоков с соответствующими связями. 1 ил.
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (я)5 G 06 F 7/58
ГОСУДАРСТВЕННЫЙ КОМИТЕТ
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ
ПРИ ГКНТ СССР
ОПИСАНИЕ ИЗОБРЕТЕНИ
К АВТОРСКОМУ СВИДЕТЕЛЬСТВУ
1 (21) 4723818/24 (22) 26.07.89 (46) 15.12.92, Бюл. М 46 (72) Л.А.Мартыщенко., А.Е.Филюстин, В.Д.Боев, E.Н.Пуленец и А.А.Шабров (56) Авторское свидетельство. СССР
М 378854, кл. G 06 F 7/58, 1970, Авторское свидетельство СССР
М 1509885, кл. G 06 F 7/58, 1988. (54) ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ (57) Изобретение относится к вычислительной технике и может быть применено для получения случайных чисел, используемых
Изобретение относится к вычислительной технике и может быть использовано в качестве приставки к универсальным и специализированным ЭВМ, =Известен генератор случайных чисел, содержащий датчик равновероятных величин, схему И, регистр исходного числа, сумматор, схему управления, управляющие элементы вентильной группы. Недостаток его — малая точность и невысокое быстродействие. Второй из них содержит генераторы случайных чисел, регистры памяти, триггеры, схемы сравнения, сумматоры, ключи, генератор тактовых импульсов, Недостаток его - малое быстродействие.
Наиболее близким к изобретению является генератор случайных чисел, содержащий датчик равномерно распределенных случайных чисел, регистр памяти, вычитатель, три умножителя, первый сумматор и регистр, причем информационный выход датчика равномерно распределенных случайных чисел соединен с входом "уменьша„„.!Ы„„1781681 А1 при решении задач статистического моделирования. Целью изобретения является расширение функциональных возможно-. стей за счет генерирования случайных чисел, подчиняющихся закону распределения
Грамма-Шарлье. Генератор содержит датчик равномерно распределенных случайных чисел, вычитатель, регистр; три умножителя, два сумматора, три блока задержки, пять демультиплексоров, два элемента И, шесть элементов ИЛИ, синхронизатор, регистр па" мяти. Цель изобретения достигается введением новых блоков с соответствующими, .сВЯЗЯми, 1 ил. емое" вычитателя. Недостатком устройства являются ограниченные функциональные возможности по моделированию случайных Ф чисел.
Целью изобретения является расширение функциональных возможностей за счет генерирования случайных чисел, подчиняющихся распределению Грамма-Шарлье.
Поставленная цель достигается тем, что в генератор случаиных чисел, содержащий О датчик равномерно распределенных слу- . (gl чайных чисел, регистр памяти, вычитатель, а три умножителя, первый сумматор и регистр, причем информационный выход датчика равномерно распределенных чисел соединен с входом "Уменьшаемое" вычита° Ь теля, дополнительно введены второй сумматор, пять демультиплексоров, три элемента задержки, шесть элементов ИЛИ, два элемента И и синхронизатор, тактовый вход которого соединен с входом запуска датчика равномерно распределенных случайных чисел и является входом запуска генерато1781681 ра, а выходы подключены к входу синхронизации регистра и к соответствующим управляющим входам демультиплексоров, информационные входы и выходы которых соединены с информационными выходами 5 и входами элементов генератора таким образом, что позволяют функционировать согласно теоретическим положениям.
Предлагаемое устройство обеспечивает генерирование случайных чисел с плотно- 10 стью распределения, отличающейся от гауссовской значениями коэффициентов асимметрии ($» Ф О) и эксцесса (Ех О) f(x) = !P!! (Х) - — Sx (/)3 (х) + — Ех Р4 (х), (1)
1 1 15 где р о(х). р 1(х), р 2(х), (р з(х), р 4(х)— плотность нормального распределения и ее последовательные производные при 20
mx = 0 и ()x = 1, которые имеют вид
1 х
Ч2Л 25
2 !
P1(x)= -Е 2 x: ч2л
2 х
rp2(x)- — е 2 (х -1), ч2к
2 (рз(х)= е 2 (Зх-хз);
1 х ч2_#_ х2 р4(х)= е 2 (х -Gx +3); (2)
У2ю 35
2 !
p5(x)= е 2 (10х -х -15х);
У2л
2 х рв(х)= е 2 (х -15x +45х -15);
Ч2я 40
2 х (/)у(х)=-Ч вЂ” е 2 (21x -х -105x +75х), Ч2_#_
30 и т.д.
В соответствии с общим принципом по- 45 строения моделирующего алгоритма с использованием свойств рядов С.Ли можно записать выражение
50 ю (— с(о}) д (з)
)) x=o где а- случайная величина (0, 1);
F(o) — значение функции распределения 55 величины х в опорной точке;
Р))! х - о — оператор преобразования, вычисленный в выбранной опорной точке, который находится по формуле
1 CI х) х т. P) р — — Ъ ф, ) + Е. „, ()
Если выбрать опорную точку хо, тогда с учетом (2) и (4) нетрудно получить
Ы, D1 I х-о
1+—
$кж
Рг I x-o(1 + Ех)з (! +-т)(! + е» +к Я,)! !
>э м-о(% (+ *Р !f1+ )((!+gf ) 3(!+ф))-З (! t-!! -) !
05(T) +((!+ Т*)(!+6 Е ))
Ds g-!» (!% {
+ (+ Y)
5 Е
+ (!+т)!(!О(!+бе)2-!2553 (!+ ")Р+25е)) !
Г Ц- к (!+Ь j (5) и т,д.
После подстановки в (3) выражений (5) и проведения промежуточных преобразова- . ний моделирующий алгоритм случайной величины примет вид
Х-п)х+ а,х1, где х1-2,5066282 А/В+1,5707963 А .S,/В +
+ 2,6249346 А (0,75 $к + ВС)/В +
8,2246691А $ $к(В(С-1/3 В)-0,375$к2)/В +
+ 0,8246475 А (2625 $к (0,25 $к + ВС) +
+В (10 С 12,5 $к BD)/Â
А- а-0,5- $,/6 vier; В-1+0,125 Е»;
С 1 + 0,625 Ех D - 3 + 3 125 Ех.
Введя дополнительные обозначения, можно получить окончательное выражение х1 = K1 (а- К2)+ Кз(а- Ку)2+ К4(а- К2)з+
+ К в,в(а - К2) + K7,8(а- К2) - (а- К2) ((К1+
+ Кз(a - K2))+ ((z- K2) (K4+ (а - КгХКв,в +
+К74 а- K2)5, {7) где K1= 2.5066282/S; K2 = 0,5- $к/6 Ч;5т ,К5-82246691 $к/В; Кв = (В(С-1/ЗВ)-0,375 $к );
Кв,в - К5Кв; Кт - 0,8246475/B; Кт,в - Кт,в, Кв - (26,25 $к (0,25 $к + В С) +
1781681
+ В {10 С - 12,5 $f(- BD))
Коэффициенты А, В, С, 0 рассчитываются по приведенным выше формулам, в которых $» и Е» учитывают влияние косости и крутости кривой и находятся по известным зависимостям, на основе статистических данных.
Коэффициенты К((за исключением К ) вычисляются по однотипной схеме. Рассмотрим, например, как определяется К>, В соответствии с формулами (1) и (2) плотность вероятностей г г
f(x) e Х - в Ег -.в г (34 -x ) + ъ 1 1 з г
+я ЬХв T(x -Sxx+3) l 1 1 4
„г
; — е г (1-1 Sx(34-Q+t 246.(õ — 6гг+3)).
Следовательно, на основании (4) оператор й
1 1 в
Ю е /г (1 — 1/6 sa(3c — хг) + 1/24 е,(хв — ФР + 3) ) 1, ю в Б 2,5066282 (+ Ех78 1+ 0,125 Ех т.е. К - 2,5066282/В.
По аналогии находятся все остальные К(.
Таким образом, предлагаемый датчик будет генерировать случайные числа в соответствии с зависимостями (7) и (6).
На чертеже представлено предлагаемое устройство.
Устройство содержит датчик 1 равномерно распределенных случайных чисел, вычитатель 2, регистр 3, умножители 4, 5 и
6, сумматоры 7 и 8, блоки 9, 10 и 11 задержки, демультиплексоры 12-15, группы 16 и 17 элементов И, группы 18 — 23 элементов ИЛИ, синхронизатор 24, регистр 25 памяти, демультиплексор 26, вход 27 запуска устройства, выходы 28-31 синхронизатора 24, информационные выходы 32-37 демультип -» лексора 26. информационный выход 38 устройства.
Устройство работает следующим образом.
Прежде всего устанавливается в нуль регистр 25 памяти, а затем в него заносятся последовательно в любом порядке коэффициенты К>, Къ Кз. Кд, Ks,s, Кт,в, вх. ох(цепи установки в нуль и занесения коэффициентов на фиг. 1 не показаны).
После занесения коэффициентов устройство готово к работе. Запуск устройства производится подачей сигнала на вход 27.
Этот сигнал запускает датчик 1 и синхронизатор 24.
Работа устройства по формированию х производится за пять тактов.
5 Такт 1. Запущенный сигналом со входа
27 датчик 1 вырабатывает а.
Такт 2. По сигналу с входа 28 синхронизатора 24 в момент появления а на первой группе информационных входов вычитателя
10 2 из регистра 25 памяти считывается Кг (выход 32 демультиплексора 26) и подается на вторую группу информационных входов вычитателя 2. Разность Zq = a- К заносится в регистр 3 и хранится там до окончания фор- .
15 мирования х.
Такт 3. По сигналу с выхода 29 синхронизатора 24, подаваемого на демультиплексор 26 и демультиплексоры 12-15, из регистра 3 на первые группы информацион20 ных входов умножителей 4 и 5 подается Zt, а на вторые группы информационных входов этих же умножителей через группы 18 и
20 элементов ИЛИ из регистра 25 памяти через демультиплексор 26 соответственно
25 К7,8 (выход 34) и Кз (выход 33). На выходах умножителей 4 и 5 появляются произведения соответственно 2г = 21Кт,8, Y< = Zilch, которые подаются на первые группы инфор-. мационных входов сумматоров соответст30 венно 7 и 8 (Zz — через группу 19 элементов
ИЛИ, Y> — через мультиплексор 13 и группу
22 элементов ИЛИ).
На вторые группы информационных входов сумматоров 7 и 8 из. регистра 25
35 памяти. через демультиплексор 26 (выходы
35 и 36) поступают соответственно Ks,в и К (К1 - через группу 23 элементов ИЛИ).
В ычисляют соответственно Ез = Zz+ Ksg;
Yz - Y< + K>, которые задерживаются на
40 блоках 9 и 10 задержки, пройдя через демультиплексоры 14 и t5.
Такт 4. Выполняется по сигналу с выхода 30 синхронизатора 24, который поступает на демультиплексоры 12-15 и 26.
45 Из регистра 3 на первую группу информационных входов умножителя 4 поступает
Е, а на вторую группу- с блока 9 задержки через группу 18 элементов ИЛИ вЂ” операнд
Ез. Далее произведение Z4 = 2 аз через груп50 пу 19 элементов ИЛИ проходит на первую группу информационных входов сумматора
7, на вторую группу информационных входов которого одновременно поступает из регистра 25 памяти через демультиплексор
55 26 (выход 35) операнд К4. Образуется сумма
Z5 Z4 + К4, поступающая на вторую группу информационных входов умножителя 6 че рез демультиплексор 14 и группу 21 элементов ИЛИ. Одновременно по сигналу с
1781681 выхода 30 синхронизатора 24 с регистра 3 через демультиплексор 12 на о6е группы информационных входов умножителя 5 подается операнд Z<. Ha выходах умножителя
5 образуется произведение Уз - Z>Z> Z> . которое через демультиплексор 13 проходит на первую группу информационных входов умножителя 6. Вследствие этого образуется на выходах умножителя 6 произведение Zo = ZsYa, которое поступает через группу 17 элементов И и группу 23 элементов ИЛИ на вторую группу информационных входов сумматоров 8, а на первую группу информационных входов последнего — с блока 10 задержки через группу 22 элементов ИЛИ операнд Yz, полученный в третьем такте. Образуется сумма Z7= Zs+ Yz, которая проходит через демультиплексор 15 и задерживается на блоке 11 до пятого такта.
Такт 5. По сигналу с выхода 31 синхронизатора 24 с регистра 3 через демультиплексор
12 на первую группу информационных входов умножителя 5 поступает операнд Z>. Одновременно на вторую группу ийформационных входов этого же умножителя через группу 20 элементов ИЛИ с блока 11 задержки поступает операнд 2т. Произведение х1 = Z
Сформировано случайное число х = mx+ xz, которое через демультиплексор
14 поступает на группу 38 информационных выходов устройства.
При повторном запуске устройство работает аналогично. .Использование изобретения позволяет расширить функциональные возможности устройства за счет обеспечения генерирования случайных чисел, подчиняющихся рас- пределению Грамма-Шарлье.
Формула изобретения
Генератор случайных чисел, содержащий датчик равномерно распределенных случайных чисел, регистр памяти, вычитатель, три умножителя, первый сумматор и регистр, причем. информационный выход
50 датчика равномерно распределенных случайных чисел соединен с входом "Уменьшаемое" вычитателя, отличающийся тем, что, с целью расширения функциональных возможностей путем обеспечения генерирования случайных чисел, подчиняющихся распределению Грамма-Шарлье, в него введены второй сумматор, пять демультиплекcopos, три элемента задержки, два элемента
И, шесть элементов ИЛИ и синхронизатор, тактовый вход которого соединен с входом запуска датчика равномерно распределенных случайных чисел и является входом запуска генератора, выход вычитателя соединен с информационным входом регистра, выход которого соединен с информационным входом первого демультиплексора, первый, второй и третий выходы которого соединены соответственно с первыми входами первого умножителя, второго умножителя и первого элемента ИЛИ, выход которого соединен с вторым входом второго умножителя, выход которого соединен с информационным входом второго демультиплексора, первый и второй выходы которого соединены соответственно с первым входом третьего умножителя и первым входом второго элемента ИЛИ, выход первого умножителя соединен с первым входом третьего элемента ИЛИ, выход которого соединен с первым входом первого сумматора, выход которого соединен с информационным входом третьего демультиплексора, первый выход которого соединен с входом первого элемента задержки, выход которого соединен с первым входом четвертого элемента
ИЛИ, выход которого соединен с вторым входом первого умножителя, второй выход третьего демультиплексора является выходом генератора, третий выход третьего демультиплексора соединен с первым входом пятого элемента ИЛИ, выход которого соединен с вторым входом третьего умножителя, выход которого соединен с первыми входами первого и второго элементов И; выход первого элемента И соединен с вторым входом третьего элемента ИЛИ, выход второго элемента И соединен с первым входом шестого элемента ИЛИ, выход которого соединен с первым входом второго сумматора, выход которого соединен с информационным входом четвертого демультиплексора, первый выход которого соединен с входом второго элемента задержки, выход которого
55, соединен с вторым входом второго элемента ИЛИ, выход которого соединен с вторым входом второго сумматора, второй выход четвертого демультиплексора соединен с входом третьего элемента задержки, выход которого соединен с вторым входом первого
1781681
Составитель Л.Мартышенко
Техред М.Моргентал Корректор. Н,Слободяник
Редактор
Заказ 4275 Тираж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., 4/5
Производственно-издательский комбинат "Патент", г. Ужгород, ул.Гагарина, 101 элемента ИЛИ, первый выход синхронизатора соединен с входом синхронизации регистра и первым управляющим входом пятого демультиплексора, группа информационных входов которого соединена соответственно с одноименными разрядными выходами регистра памяти, второй выход синхронизатора соединен с первыми управляющими входами первого, второго, третьего, четвертого и вторым управляющим входом пятого демультиплексоров,третий выход синхронизатора соединен со вторыми управляющими входами первого, второго, третьего, четвертого демультиплексоров, третьим управляющим входом пятого демультиплексора и вторым входом второго элемента И, четвертый выход синхронизатора соединен с третьими управляющими входами первого, второго и третьего демультиплексоров, четвертый управляющим входом пятого де5 мультиплексора и вторым входом первого элемента И, первый выход пятого демультиплексора соединен с входом "Вычитаемое" вычитателя, второй выход пятого демультиплексора соединен с третьим вхо10 дом первого элемента ИЛИ, третий. четвертый, пятый и шестой выходы пятого демультиплексора соединены соответственно с вторым входом четвертого элемента
ИЛИ, вторым входом первого сумматора.
15 вторым входом шестого элемента ИЛИ и вторым входом пятого элемента ИЛИ,