Генератор случайных чисел
Изобретение относится к области вычислительной технике и может быть использовано для решения задач статистического моделирования. Цель изобретения расширение функциональных возможностей за счет получения распределения вероятностей суперпозиции равномерного и треугольного распределений. Генератор содержит генератор равномерно распределенных случайных чисел 1, умножитель 2, вычитатели 3, 4 и 5, сумматор 6, блок извлечения квадратного корня 7, делитель 8, регистры памяти 9 18, блоки элементов И 19 27, блок управления 28, информационные входы 29 35, вход запуска 36, управляющие входы 37 40 блока 28, информационные выходы 41 и 42 генератора. Цель достигается введением двух вычитателей, делителя, пяти регистров памяти, трех блоков элементов И, блока управления с соответствующими связями. 5 ил.
Изобретение относится к вычислительной технике и может быть использовано для решения задач статистического моделирования.
Известен датчик случайных чисел, распределенных по треугольному закону, содержащий генератор равномерно распределенных случайных чисел, сумматор и регистр памяти [1] Недостатком датчика является невозможность имитации суперпозиций (сумм) усеченных законов распределений. Наиболее близким по технической сущности является известный также датчик случайных чисел, распределенных по треугольному закону, включающий генератор равномерно распределенных случайных чисел, блок сравнения, умножитель, блок извлечения квадратного корня, вычитатель сумматор, пять регистров памяти, элемент задержки, два элемента И, шесть групп элементов И, две группы элементов ИЛИ [2] Недостатком прототипа является также невозможность имитации суперпозиций усеченных законов распределений. Цель изобретения расширение функциональных возможностей за счет получения распределения вероятностей суперпозиции равномерного и треугольного распределений. Это достигается тем, что в генератор случайных чисел, содержащий генератор равномерно распределенных случайных чисел, умножитель, блок извлечения квадратного корня, первый вычитатель, сумматор, первый.пятый регистры памяти, первую.шестую группы элементов И, дополнительно введены второй и третий вычитатели, делитель, шестой.десятый регистры памяти 18, седьмая.девятая группы элементов И, синхронизатор, имеющий вход запуска, первый.четвертый управляющие выходы, первый.седьмой информационные входы, второй.шестой входы из которых подключены к выходам соответственно третьего.седьмого регистров памяти, а восьмой.десятый регистры памяти 16-18 соединены с информационными входами соответственно пятой.седьмой групп элементов И, выходы третьего регистра памяти подключены также к информационному входу третьей группы элементов И, первого и второго регистров памяти к информационным входам соответственно первой и второй групп элементов И, управляющие входы которых, а также вход генератора равномерно распределенных случайных чисел соединены с первым управляющим выходом синхронизатора, седьмой информационный вход которого соединен с выходом генератора равномерно распределенных случайных чисел, который подключен также к первому входу умножителя, вторым входом соединенного с выходом первой группы элементов 19, а выходом с входом уменьшаемого первого вычитателя, подключенного входом вычитаемого к выходу второй группы элементов И, а выходом к первому информационному входу синхронизатора, который соединен также с информационным входом четвертой группы элементов И, управляющий вход которой соединен с вторым управляющим выходом синхронизатора, к которому подключены также управляющие входы пятой, шестой и третьей групп элементов И, выход последней группы соединен с первым входом сумматора, вторым входом соединенного с выходом четвертой группы элементов И, а выходом с входом блока извлечения квадратного корня, выход которого соединен с входом делимого делителя, входом делителя соединенного с выходом пятой группы элементов И, а выходом подключенного входу уменьшаемого второго вычитателя и к входу вычитаемого третьего вычитателя, который входом уменьшаемого соединен с выходом седьмой группы элементов И, а выходом с информационным входом девятой группы элементов И, выходом соединенной с вторым выходом устройства, а управляющим входом с четвертым управляющим выходом синхронизатора, третий управляющий выход которого соединен с управляющим входом восьмой группы элементов И, соединенной выходом с первым выходом устройства, а информационным входом с выходом второго вычитателя, входом вычитаемого подключенного к выходу шестой группы элементов И. На фиг.1 показана структурная схема генератора случайных чисел. Генератор содержит генератор равномерно распределенных случайных чисел 1, умножитель 2, вычитатели 3, 4 и 5, сумматор 6, блок извлечения квадратного корня 7, делитель 8, регистры памяти 9-18, группы элементов И 19-27, и блок управления синхронизатор 28, информационные входы 29-35, вход запуска 36, управляющие выходы 37-40 синхронизатора 28, информационные выходы 41 и 42 генератора. Все группы элементов И 19-27 аналогичны. Одна из групп-группа 19 раскрыта на фиг.2. Она построена на элементах И (на чертеже не показаны). Блок управления cинхронизатор 28 (см.фиг.3) содержит блоки сравнения 43-46, элемент 47 задержки, элементы ИЛИ 48-51, группы элементов И 52-59, элементы И 60-73. Генератор построен на типовых элементах комбинированного типа. Поэтому в исходном состоянии генератор готов к работе. В основе работы генератора лежит новый метод нелинейного преобразования исходных равномерно распределенных случайных величин. Суть нового метода для получения чисел, функция плотности распределения вероятностей которых имеет вид, изображенный на фиг.4, заключается в следующем. Найдем плотность вероятности суммы равномерного и треугольного распределений, определенных на одном интервале: f(t)



















C1ttм С1tнtм С1ttн + C1t2н + C2t2 2C2ttм+ + C2t2н C2t2 + (C1tм С1tн 2C2tн)t + (C2t2н -C1tнtм + C1t2н). Учитывая знаменатель, получаем квадратное уравнение вида
at2 + bt + c,
где a


c

Выразим t через равномерно распределенную случайную величину
at2 + bt + c

at2 + bt + c




Нас интересует случай t


если b > 0,
-b




b2 4a(c-


-4a(c-


а(с-


с-


c





если b < 0;
-b



b2 4a(c-


-4a(c-


а(с-


c








Для случая tм






Производя аналогичные преобразования, получаем
C1ttк C1ttм С1tнtк + C1tнtм +C2t2к C2tкtм С2tнtк + +C2tнtм C2t2к- -2C2ttк C2t2 -С2(t2) + (C1tк C1tм + 2C2tк)t + +(C1tнtм C1tнtк C2tкtм C2tнtк + C2tнtм). at2 + bt + c,
где a


c

at2 + bt + c

at2 + bt + c






-b



b2 4а(с-


-4а(с-


4а(c-


c


t


t


Введем обозначения:




t11 -h +

t11 -h +

t12 Z

t21 Z

t22 -h +

Таким образом, получены зависимости (7)-(11), которые используются для моделирования суперпозиции равномерного и треугольного законов распределения. Генератор работает следующим образом. Предварительно в регистры памяти 9-18 заносятся коэффициенты, характеризующие вид функции плотности распределения вероятностей генерируемых чисел:



где q

Порядок занесения коэффициентов может быть любым (цепи занесения на чертеже не показаны). При подаче запускающего импульса на вход 36 начинает работать синхронизатор 28 (см.фиг.3). Импульс с выхода 37 синхронизатора 28 запускает генератор равномерно распределенных случайных чисел 1, который генерирует очередное случайное число














































Z

Таким образом, каждый раз вычисления осуществляются по зависимости (7) (11), однако на первый и второй выходы 41 и 42 проходят согласно тому, какой из элементов И 26, 27 (или оба) открыты по одному из входов импульсами с третьего и четвертого выходов 39 и 40 синхронизатора 28. В рассматриваемом случае случайное число формируется по зависимости (7) и случайное число появляется на первом выходе 41 генератора. 3.












Формула изобретения
РИСУНКИ
Рисунок 1, Рисунок 2, Рисунок 3, Рисунок 4, Рисунок 5