Генератор случайных чисел
Иллюстрации
Показать всеРеферат
Изобретение относится к вычислительной технике и может быть использовано для" получения совокупности случайных чисел, распределенных по двумерному закону равномерной плотности с заданным коэффициентом корреляции. Цель изобретения - повышение точности получения последовательности случайных векторов."распределенных по двумерному равномерному закону с заданным коэффициентом корреляции. Устройство содержит синхронизатор 1. блок 2 задания констант, датчики 3. 4 случайных чисел, блоки вычитания 5. 6. блок 7 умножения, блок 8 деления, блок 9 умножения, блок 10 деления, блок 11 вычитания, блоки 12. 13 умножения, блок 14 суммирования, блоки 15. 16 умножения, блок 17 суммирования, блок 18 извлечения квадратного корня, блок 19 вычитания, блоки 20, 21 деления, блок 22 умножения, блок 23 деления. 1 ил.COGИзобретение относится к вычислительной технике и может быть использовано для получения .совокупности случайных чисел, распределенных по двумерному закону равномерной плотности с заданным коэффициентом корреляции, при зтом маргинальное распределение чисел - равномерное.Целью изобретения является повышение точности получения последовательности случайных векторов'(xi.yi). распределенных по двумерному равномерному закону с заданным коэффициентом корреляции Гху, при этом маргинальные распределения чисел X, у равномерные в интервалах [-а. а] и [-Ь, Ь] соответственно.. На чертеже представлена функциональная схема предлагаемого устройства,Совместная плотность распределения случайных величин (х. у), построенная по маргинальным распределениям, может быть записана в видеh(x.y) = f(x)g(y){1 ++ «[1'-2F(x)][1-2G(y)]} >& ;
СОЮЗ СОВЕТСКИХ
СОЦИАЛИСТИЧЕСКИХ
РЕСПУБЛИК (Я)5 G 06 F 7/58
ГОСУДАРСТВЕННЫЙ KOMMTET
ПО ИЗОБРЕТЕНИЯМ И ОТКРЫТИЯМ (21) 4832109/24 (22) 29,05.90 (46) 23.02.92. Бюл. )ч.. 7 (72) Л.А.Мартыщенко, К.А.Злотников, А.Н,Кивалов, С.Л.Мартыщенко, А.Г.Ташев- ский и О.Ю.Конаков (53) 681.3(088.8) (56) Авторское свидетельство СССР
М 1099319, кл. G 06 Е 7/58, 1983. (54) ГЕНЕРАТОР СЛУЧАЙНЫХ ЧИСЕЛ (57) Изобретение относится к вычислительной технике и может быть использовано для получения .совокупности случайных чисел, распределенных по двумерному закону равномерной плотности с заданным коэффициИзобретение относится к вычислительной технике и может быть использовано для получения .совокупности случайных чисел, распределенных по двумерному закону равномерной плотности с заданным коэффициентом корреляции, при этом маргинальное распределение чисел — равномерное.
Целью изобретения является повышение точности получения последовательности случайных векторов (хьу(), распределенных по двумерному равномерному закону с заданным коэффициентом корреляции rx>, при этом маргинальные распределения чисел х, у равномерные в интервалах (-а, а) и (-0. Ь) соответственно.
На чертеже представлена функциональная схема предлагаемого устройства.
Совместная плотность распределения случайных величин (х, у), построенная йо маргинальным распределениям, может быть записана в виде
„„. Ж„„1714598 А1 ентом корреляции, Цель изобретения — повышение точности получения последовательности случайных векторов,"распределенных по двумерному равномерному закону с заданным коэффициентом корреляции.
Устройство содержит синхронизатор 1, блок
2 задания констант, датчики 3, 4 случайных чисел, блоки вычитания 5, 6, блок 7 умножения, блок 8 деления, блок 9 умножения, блок
10 деления..блок 11 вычитания, блоки 12, 13 умножения. блок 14 суммирования, блоки
15, 16 умножения, блок 17 суммирования, блок 18 извлечения квадратного корня, блок
19 вычитания, блоки 20, 21 деления, блок 22 умножения, блок 23 деления. 1 ил, h (х,у) = f (х) g (у) { 1 +
+ а (1 — 2 F (х)) (1 — 2 G (y))} . (1) где f(x), g(y) — маргинальные плотности распределения величин -х, у;
Р(х), G(y) — функции распределения слу-. чайных величин х, у; а — параметр закона распределения
Моргенштерна-Гумбеля.
Можно показать, что этот параметр является линейной функцией коэффициента корреляции гху
<= rxy la(F(x), G (y)), (2) где 4 — функционал, определяемый маргинальными распределениями величин F(x), Р(у):
4 (с (), о (v)1 " — —.. (з) .(x+ e) (у+12)
В формуле (3)
Iz = 2 f y g (у) 6 (у) d у;
1714598
11 = 2 f x f (х) F {x} дх.
Справедливость введенных формул можно показать, используя зависимость (1), если определить
Кху гху <гх (ту (х — х) (у — у) h (x, у) дх ду. — 00 — 00
Если плотности маргинальных распределений координат имеют вид
f (x) -, х Е(-а, а);
2q (4) я(у) =; уа(-Ь, Ь), 15 (равномерное распределение (хь у)) на площади 2а х 2b), тогда х 21 X «а, 11=2 f — (— + — ) dx = —; ,2а (2 2а) 3 аналогично
Ь
12
Нетрудно определить, что 10 = 3 и а- 25
= 3 г)(у. Таким образом, при равномерном распределении случайных величин х, ус учетом коэффициента корреляции совместная плотность распределения точек с координатами (х, у) может быть представлена следу- 30 ющим образом:
h (x, y) (1 + 3 гху « ). (8)
Таким образом, данный подход позволяет по маргинальным распределениям ве- 35 личин х, у и коэффициенту корреляции построить совместную плотность распределения и определить ее параметры. Моделирование двумерных случайных величин, заданных плотностью вида (1), может быть 40 осуществлено.с. помощью метода условных распределений. Действительно,длязааисимых случайных величин х и у для плотности (1) справедливо представление .
h(x, у) - Фц (х) М(у/х),, (6) 45 где h> (x) f h (x, у) dy — плотность абсолют— 00 ного(маргинального)распределения;
hz (y/x) - h (х.y)/3ö (x) — плотность услов50 ного распределения.
Такое представление позволяет свести задачу моделирования вектора (х, у) к двукратному моделированию одномерных распределений;
В соответствии с методом условных распределений совокупность случайных величин х) и уь полученных при последовательном решении уравнений:
Х(H< (x}xx / h)(x) dx.=cq;
yl
Н2 (у/х) - f hz (у/x) dy =ф, (7) где а(,P — независимые равномерно распределенные на интервале (О. 1) случайные числа. имеют совместную плотность вероятностей (1).
При равномерном распределении двух коррелированных случайных величин (5), а также учитывая, что
1 х, )уг(х) f (1+3rxy «) dy=
2а2Ь а Ь
2а можно получить
xi-2а (га — — ). (8)
1 .2)
Разделив h(x, у) на h>(x), находим условную плотность распределения hg(y/х)
hx(y/х)- (1 +3 г у — .«). (9)
В этом соотношении величина х) рассматривается как параметр, значение которого разыгрывается на зависимости (8).
Разрешив уравнение
1(/h= ((1+Зг„— " «) dy. относительно Уь после некоторых преобразований можно найти моделирующий алгоритм в виде — 1+48 r а — —. х
24 г(а1 — — ) х ((ф - — 1) +3 г (al — - ))-1 (18)
Применение алгоритмов (8) и (10) позволяет получать последовательности случайных векторов (xi,. у1), распределенных по двумерному равномерному закону с заданным коэффициентом корреляции гз(у, при этом маргинальные распределения чисел х, у равномерные в интервалах (-а, а) и (-Ь, Ь) соответственно.
Генератор случайных чисел содержит синхронизатор 1, блок 2 задания констант .(блок памяти), датчики 3 и 4 случайных чисел, равномерно распределенных в интервале(0. 1), блоки вычитания 5 и 6, умножения
7, деления 8, умножения 9, деления 10, вычитания 11, умножения 12 и 13, суммирования 14, умножения 15 и 16, суммирования
17, извлечения квадратного корня 18, вычитания 19, деления 20 и 21, умножения 22, деления 23.
Генератор работает следующим образом, 1714598
Перед началом работы в блок 2 памяти вводятся значения интервалов моделирования а, Ь, коэффициента корреляции г, числа
0,5,1, 3, 12, 48, Перед началом работы обнуляются бло- 5 ки 5, 6, 11 и 19 вычитания, блоки 7, 9, 12, 13, 15, 16 и 22 умножения, блоки 8, 10, 20, 21 и
23 деления,, блоки 14 и 17 суммирования, блок 18 извлечения квадратного корня.
Первый тактовый импульс с выходом 10 синхронизатора 1 подается на входы генераторов 3 и 4 случайных чисел и инициирует их работу. С выходов блока 2 памяти значение а подается на вход блока 7 умножения, число 0,5- на входы блоков 5 и 6 вычитания, 15 блока 10 деления, значение r на входы блоков 8 и 21 деления, блока 9 умножения, число 3 — на вход блока 12 умножения, число
48 — на вход блока 15 умножения, число 1— на входы блока 8 деления, блока 17 сложе- 20 ния, блока 19 вычитания, значение Ь вЂ” на вход блока 22 умножения, число 12 — на вход. блока 23 деления. С выхода генератора случайных чисел 3 случайное число а1 поступает на входы блоков 6 и 11 вычитания. С 25 выхода генератора 4 случайных чисел случайное число )31 поступает на вход блока 5 вычитания, Второй тактовый импульс с выхода син-хронизатора 1 подается на управляющие 30 входы блоков 5 и 6 вычитания и инициирует их работу. С выхода блока 5 вычитания результат P< — 0,5 подается на вход блока 14 суммирования. С выхода блока 6 вычитания результата1 — 0,5 подается на входы блоков 35
7 и 9 умножения, блока 20 деления.
Третий тактовый импульс с выхода синхронизатора 1 подается на управляющие входы блоков 7 и 9 умножения, блока 8 деления и инициирует их работу. С выхода 40 блока 7 умножения результат а(а1 — 0,5) подается на вход блока 10-деления. С выхода блока 8 деления результат — подается на
1 вход блока 11 вычитания. С выхода блока 9 45 умножения результат r(a< — 0,5) подается на вход блока 12 умножения, Четвертый тактовый импульс с выхода синхронизатора 1 подается на управляющие входы блока 10 деления, блока 11 вычи- 50 тания, блока 12 умножения и инициирует их работу. С выхода блока 10 деления случайное число х1-2 а (а1 — 0,5) подается на выход устройства. С выхода блока 11 вычитания
1 55 результат а1 — — подается на вход блока 13 .
Г умножения. С выхода блока 12 умножения результат 3 r (а1 — 0,5) подается на вход блока 14 суммирования.
Пятый тактовый импульс с выхода синхронизатора 1 подается на управляющие . входы блока 13 умножения, блока 14 суммирования и инициирует их работу. С выхода
1 блока 13 умножения результат г (а1 — — )
r подается на вход блока 15 умножения. С выхода блока 14 суммирования результат (pi — 0,5)+ 3 г (а1 — 0,5) подается на вход блока
16 умножения.
Шестой тактовый импульс с выхода синхронизатора 1 подается на управляющий вход блока 15.умножения и инициирует его работу. Результат 48 r (а — — ) подается на
1 г, вход блока 16 умножения.
Седьмой тактовый импульс с выхода синхронизатора 1 подается на управляющий вход блока 16 умножения и инициирует еro работу, Результат 48 r (а .- — ) (ф—
1 — 0,5) + 3 r (а1 — 0,5И подается на вход блока
17 суммирования.
Восьмой тактовый импульс с выхода синхронизатора 1 подается на управляющий вход блока 17 суммирования и инициирует его работу.
Результат 1 + 48 r (а1 — — ) ((P> — 0,5)) +
r
+ 3 r (а — 0,5)) подается на вход блока 18 извлечения квадратного корня.
Девятый тактовый импульс с выхода синхронизатора 1 подается на управляющий вход блока 18 извлечения квадратного корня и инициирует его работу,Редущ,хднф
0,5) + 3 r (а1 — 0,5g г подается на вход блока 19 вычитания.
Десятый тактовый импульс с выхода синхронизатора 1 подается на управляющий вход блока 19 вычитаб Р т — 1 = z< подается на вход блока 20 деления.
Одиннадцатый тактовый импульс с Bbl хода синхронизатора 1 подается на управляющий вход блока 20 деления и инициирует его работу. Результат z>/(а1— — 0,5) подается на вход блока 21 деления.
Двенадцатый тактовый импульс с выхода синхронизатора 1 подается на управляющий вход блока 21 деления и инициирует его работу. Результат z>/(à — 0,5)r подается на вход блока 22 умножения, Тринадцатый тактовый импульс с выхода синхронизатора 1 подается на управляющий вход блока 22 умножения и инициирует
1714598 его работу. Результат в z(à>
Y> = Ь z>/(12г (а1 — 0,5)) с выхода блока 23 деления подается на выход устройства.
Далее для генерирования следующего значения вектора работа устройства происходит согласно описанному порядку.
Таким образом, и редлагаемое устройство позволяет решать задачу получения случайных векторов (х, у) с заданным равномерным законом распределения, при этом маргинальные распределения величин х, у равномерны, а коэффициент корреляции равен гхоз, Формула изобретения
Генератор случайных чисел, содержащий.синхронизатор, блок задания констант, первый датчик равномерно распределенных случайных чисел, первый блок вычитания, первый блок умножения, первый блок суммирования, вход опроса nepaoro датчика равномерно распределенных случайных чисел подключен к первому выходу синхронизатора, q выход первого датчика равномерно распределенных случайных чисел соединен с входом уменьшаемого первого блока вычитания, вход вычитаемого которого подключен к первому выходу блока зада-. ния констант, а выход соединен с входом
nepsoro сомножителя первого блока умножения, аход второго сомножителя которого подключен к второму выходу блока задания констант, вход первого слагаемого первого блока суммирования соединен с третьим выходом блока задания констант, о т л и ч аю шийся тем, что, с целью повышения точности получения последовательности случайных векторов, распределенных по двумерному равномерному закону с заданным коэффициентом корреляции, в него введены второй датчик равномерно распределенных случайных чисел, три блока вычитания, пять блоков деления, шесть блоков умножения, второй блок суммирования и блок извлечения квадратного корня, причем вход опроса второго датчика равномерно распределенных случайных чисел подключен к первому выходу синхронизатора, выход второго датчика равномерно распределенных случайных чисел соединен с входом уменьшаемого второго блока вычитания, вход вычитаемого которого подключен к первому выходу блока задания констант, вход синхронизации второго блока вычитания обьединен с входом синхронизации первого блока вычитания и соединен с вторым выходом синхронизатора, выход второго блока вычитания подключен к входу первого слагаемого второго блока суммирования, вход синхронизации первого блока умножения соединен с третьим выходом синхронизатора, выход — с входом делимого первого блока деления, вход делителя которого подключен к первому выходу блока задания констант, вход синхронизации
10 первого блока деления соединен с четвертым выходом синхронизатора, выход является выходом первого случайного вектора устройства, входы делимого и делителя второго блока деления подключены соответственно к третьему и четвертому выходам блока задания констант, вход синхронизации соединен с третьим выходом синхронизатора, выход подключен к входу вычитаемого третьего блока вычитания, вход уменьшу "мого которого соединен с выходом первого датчика равномерно распределенных случайных чисел, а вход синхронизации подключен к четвертому вы20
25 ходу синхронизатора, входы первого и второго сомножителей второго блока умножения соединены соответственно с четвертым выходом блока задания констант и выходом первого блока вычитания, вход
30 синхронизации второго блока умножения подключен к третьему выходу синхронизатора, входы первого и второго сомножитеумножения, вход синхронизации третьего блока умножения подключен к четвертому выходу синхронизатора, входы первого и второго сомножителей четвертого блока умножения — соответственно к четвертому выходу блока задания констант и выходу третьего блока вычитания, вход синхронизации четвертого блока умножения соединен с пятым выходом синхронизации, вход второго слагаемого второго блока суммирования подключен к выходу -третьего блока умножения, а вход синхронизации второго блока суммирования соединен с пятым выходом синхронизатора, шестой выход кото50 рого соединен с входом синхронизации пятого блока умножения, первый и второй входы которого подключены соответственно к шестому выходу блока задания констант и выходу четвертого блока умножения, выход пятого блока умножения соединен с первым входом шестого блока умножения, второй вход которого подключен к выходу второго блока суммирования, а вход синхронизации соединен с седьмым выходом синхронизатора, восьмой выход лей третьего блока умножения соединены соответственно с пятым выходом блока за35 дания констант и выходом второго блока
1714598 которого соединен с входом синхронизации первого блока суммирования, второй вход которого подключен к выходу шестого блока умножения. выход первого блока суммирования соединен с входом блока извлечения 5 квадратного корня, вход синхронизации которого подключен к девятому выходу синхронизатора, десятый выход которого соединен с входом синхронизации четвертого блока вычитания, вход уменьшаемого 10 которого подключен к выходу. блока извлечения квадратного корня, а вход вычитавмого соединен с третьим выходом блока задания констант, выход четвертого блока вычитания подключен к входу делимого 15 третьего блока деления„вход делителя которого соединен с выходом первого блока вычитания, а вход синхронизации подключен к одиннадцатому выходу синхронизатора, 20 выход третьего блока деления соединен с входом делимого. четвертого блока деления, вход делителя которого подключен к четвертому выходу блока задания констант, а вход синхронизации соединен с двенадцатым выходом синхронизатора, тринадцатый выход которого подключен к входу синхронизации седьмого блока умножения, первий и второй входы которого соединены соответственно с седьмым выходом блока задания констан и выходом четвертого блока деления, выход седьмого блока умножения подключен к входу делимого пятого блока деления, вход делителя которого соединен с восьмым выходом блока задания констант, а вход синхронизации соединен с четырнадцатым выходом синхронизатора. выход пятого блока деления является выходом второго случайного вектора генератора.
1714598
Составитель С,Ионкин
Редактор M.Áëàíàp Техред М,Моргентал Корректор И.Муска
Заказ 694 Тираж Подписное
ВНИИПИ Государственного комитета по изобретениям и открытиям при ГКНТ СССР
113035, Москва, Ж-35, Раушская наб., 4/5
Производственно-издательский комбинат "Патент", r. Ужгород, ул. Гагарина, 101