датчик случайных чисел с равномерным распределением повышенной точности
Классы МПК: | G06F7/58 генераторы случайных или псевдослучайных чисел |
Автор(ы): | Ермаков В.Ф., Гудзовская В.А. |
Патентообладатель(и): | Хозрасчетный центр "Интеграл" |
Приоритеты: |
подача заявки:
1995-03-07 публикация патента:
27.01.1998 |
Изобретение относится к вычислительной технике и может использоваться при статистических исследованиях. Целью изобретения является повышение быстродействия и упрощение датчика, а также повышение качества моделирования при формировании потока равномерно распределенных двоичных случайных чисел за счет выравнивания их вероятности. Датчик содержит генератор 1 прямоугольных импульсов, первый 2 и второй 3 счетчики, регистр 4, первый 5 и второй 12 блоки памяти, первую 6 и вторую 7 группы элементов Исключающее ИЛИ, элементы ИЛИ 8 и И11, резистор 9, кнопку 10. Преимуществом предлагаемого технического решения по сравнению с известными является повышение быстродействия и упрощение устройства, а также повышение качества моделирования равномерно распределенных двоичных случайных чисел. 1 ил.
Рисунок 1
Формула изобретения
Датчик случайных чисел с равномерным распределением, содержащий генератор прямоугольных импульсов, два блока памяти, регистр, переключатель, элемент И, элемент ИЛИ и первый счетчик, выходы которого соединены с входом первого блока памяти, выход элемента И соединен с первым входом элемента ИЛИ, отличающийся тем, что в него введены резистор, две группы элементов ИСКЛЮЧАЮЩЕЕ ИЛИ и второй счетчик, счетный вход которого подключен к выходу генератора прямоугольных импульсов, соединенному с счетным входом первого счетчика и входом записи регистра, выход которого является выходом датчика, шина нулевого потенциала соединена с первым выводом переключателя, а шина единичного потенциала соединена с первым выводом резистора, вторые выводы резистора и переключателя объединены и соединены с входом установки первого счетчика и с вторым входом элемента ИЛИ, выход которого соединен с входом установки второго счетчика, выходы которого соединены с входами элемента И и второго блока памяти, выходы блоков памяти соединены с входами элементов ИСКЛЮЧАЮЩЕЕ ИЛИ первой группы, выходы которых и выход младшего разряда первого счетчика соединены с входами элементов ИСКЛЮЧАЮЩЕЕ ИЛИ второй группы, выходы которых соединены с информационными входами регистра.Описание изобретения к патенту
Изобретение относится к вычислительной технике и может использоваться при статистических исследованиях. Известен датчик случайных равновероятных двоичных чисел [1], содержащий генератор случайных импульсов, триггер, источник синхронизирующих импульсов, два вентиля, две линии задержки. Недостатками аналога являются низкая точность и узкие функциональные возможности. Аналогом предлагаемого устройства также является генератор случайных равновероятных двоичных чисел [2], содержащий генератор случайных импульсов, триггер, генератор тактовых импульсов, элемент ИСКЛЮЧАЮЩЕЕ ИЛИ, генератор прямоугольных импульсов. Недостатками этого аналога являются его узкие функциональные возможности, обусловленные малой разрядностью формируемого на выходе датчика кода, а также невысокая точность. Прототипом предлагаемого устройства является генератор случайных чисел [3] , содержащий генератор тактовых импульсов, переключатель, счетчик, два блока памяти, накапливающий сумматор-вычитатель, генератор псевдослучайных чисел, блок сравнения, два элемента ИЛИ, элемент И, блок элементов И. Недостатками прототипа являются:сложность и громоздкость схемы из-за значительного количества элементов;
низкое быстродействие, поскольку для формирования каждого двоичного числа требуется К итерационных тактов генератора тактовых импульсов;
недостаточно высокое качество моделирования при формировании потока равномерно распределенных двоичных случайных чисел. Цель изобретения - повышение быстродействия и упрощение устройства, а также повышение качества моделирования при формировании потока равномерно распределенных двоичных случайных чисел за счет выравнивания их вероятности. Цель достигается тем, что в генератор случайных чисел, содержащий генератор прямоугольных импульсов, два блока памяти, регистр, переключатель, элемент И, элемент ИЛИ и первый счетчик, выходы которого соединены со входом первого блока памяти, выход элемента И соединен с первым входом элемента ИЛИ, дополнительно введены резистор, две группы элементов ИСКЛЮЧАЮЩИЕ ИЛИ и второй счетчик, счетный вход которого подключен к выходу генератора прямоугольных импульсов, соединенному со счетным входом первого счетчика и со входом записи регистра, выход которого является выходом датчика, шина нулевого потенциала соединена с первым выводом переключателя, а шина единичного потенциала соединена с первым выводом резистора, вторые выводы резистора и переключателя объединены и соединены со входом установки первого счетчика и со вторым входом элемента ИЛИ, выход которого соединен со входом установки второго счетчика, выходы которого соединены со входами элемента И и второго блока памяти, выходы блоков памяти соединены со входами элементов ИСКЛЮЧАЮЩИЕ ИЛИ первой группы, выходы которых и выход младшего разряда первого счетчика соединены с входами элементов ИСКЛЮЧАЮЩИЕ ИЛИ второй группы, выходы которых соединены с информационными входами регистра. Существенными отличиями предлагаемого датчика являются более простая схема, содержащая в два раза меньшее количество элементов, и иной алгоритм работы. Эти существенные отличия обеспечивают достижение положительного эффекта - повышение быстродействия и упрощение устройства, а также повышение качества моделирования при формировании потока равномерно распределенных двоичных случайных чисел за счет выравнивания их вероятности. На чертеже представлена схема датчика. Датчик содержит генератор 1 прямоугольных импульсов (ГПИ), выход которого соединен с тактовыми входами первого 2 и второго 3 счетчиков, а также со входом записи регистра 4, информационный выход которого является выходом датчика, выход первого счетчика 2 соединен со входом первого блока 5 памяти (БП), выход которого соединен с первыми входами первой группы 6 элементов ИСКЛЮЧАЮЩИЕ ИЛИ, выходы которых соединены с первыми входами второй группы 7 элементов ИСКЛЮЧАЮЩИЕ ИЛИ, вторые входы которых объединены и подключены к младшему разряду выхода первого счетчика 2, а выходы соединены с информационным входом регистра 4, вход установки нуля первого счетчика 2 объединен со вторым входом элемента ИЛИ 8 и подключен через резистор 9 к шине единичного потенциала, а также через переключатель 10 связан с шиной нулевого потенциала, выход элемента ИЛИ 8 соединен со входом установки нуля второго счетчика 3, выход которого соединен со входами элемента И 11 и со входом второго БП 12, выход которого соединен со вторыми входами первой группы 6 элементов ИСКЛЮЧАЮЩИЕ ИЛИ, выход элемента И 11 соединен с первым входом элемента ИЛИ 8. В датчике используются двоичные счетчики 2 и 3, например, 8-разрядные. В блоки 5 и 12 памяти предварительно заносятся двоичные многоразрядные числа, например, 8-разрядные, распределенные по равномерному закону. В рассматриваемом варианте реализации элемент И 11 имеет 8 входов. Датчик работает следующим образом. При размыкании контактов переключателя 10 на входах установки нуля счетчиков 2 и 3 появляется единичное напряжение, что приводит к их установке в нулевое состояние. Выходной код счетчиков 2 и 3 приложен, соответственно, ко входам БП 5 и 12 - в результате на их выходах появляются двоичные 8-разрядные числа, хранящиеся в ячейках с адресом 00000000. Эти числа прикладываются, соответственно, к первым и вторым входам первой группы 6 элементов ИСКЛЮЧАЮЩИЕ ИЛИ. На выходе последних появляется двоичное 8-разрядное число, получающееся как результат сложения по модулю два двух поданных с выходов блоков 5 и 12 чисел. Этот результат пропускается второй группой 7 элементов ИСКЛЮЧАЮЩИЕ ИЛИ на вход регистра 4 без изменений, поскольку ко вторым входам элементов группы 7 приложено нулевое напряжение с выхода счетчика 2. По переднему фронту первого импульса с выхода ГПИ 1 результат суммы с выхода группы 7 элементов ИСКЛЮЧАЮЩИЕ ИЛИ записывается в регистр 4. В результате в первом такте на выходе датчика появляется число, равное сумме по модулю два двух многоразрядных чисел, хранящихся в ячейках БП 5 и 12 с адресом 00000000. По заднему фронту первого импульса с выхода ГПИ 1 содержимое счетчиков 2 и 3 становится равным 00000001. При этом к первым и вторым входам группы 6 элементов ИСКЛЮЧАЮЩИЕ ИЛИ прикладываются, соответственно, числа, хранящиеся в ячейках БП 5 и 12 с адресом 00000001. Однако, теперь сумма этих чисел по модулю два, появляющаяся на выходах первой группы 6 элементов ИСКЛЮЧАЮЩИЕ ИЛИ, инвертируется второй группой 7 элементов ИСКЛЮЧАЮЩИЕ ИЛИ, поскольку к их вторым входам приложено единичное напряжение младшего разряда с выхода счетчика 2. Этот инвертированный код суммы записывается в регистр 4 по переднему фронту следующего импульса с выхода ГПИ 1. В следующих тактах работы датчика на его выходе поочередно появляются: 1) значение суммы по модулю два чисел из ячеек БП 5 и 12 с адресом 00000010; 2) инвертированное значение суммы по модулю два чисел из ячеек БП 5 и 12 с адресом 00000011 и т.д. После окончания 255-го такта ГПИ 1 содержимое счетчиков 2 и 3 становится равным 11111111, на выходе БП 5 появляется число, хранящееся в его последней ячейке с указанным адресом. Поскольку при этом все входные сигналы элемента И 11 становятся единичными, то на его выходе также появляется единичное напряжение, которое, проходя через элемент ИЛИ 8, обнуляет содержимое счетчика 3. В результате в 256-м такте на выходе БП 12 появляется число, хранящееся в его первой ячейке с адресом 00000000. На выходе датчика появляется инвертированный результат суммы по модулю два чисел, хранящихся, соответственно, в первой ячейке БП 12 и в последней ячейке БП 5. В 257-м такте код счетчика 2 становится равным 00000000, а код счетчика 3 - 00000001. На выходе датчика появляется неинвертированный результат суммы по модулю два чисел, хранящихся в первой ячейке БП 5 с адресом 00000000 и во второй ячейке БП 12 с адресом 00000001 и т. д. Таким образом, благодаря тщательному перемешиванию чисел из БП 5 и 12 (путем их последовательного сложения по модулю два со сдвижкой адресов ячеек БП 12 на единицу через цикл работы счетчика 3, а также инвертирования суммы в каждом четном такте работы счетчика 2) на выходе датчика формируется последовательность равномерно распределенных случайных двоичных чисел. Эта последовательность равна произведению последовательностей хранящихся в БП 5 (256) и БП 12 (255) чисел, учитывая, что они выражены взаимно простыми числами. Преимуществами предлагаемого технического решения по сравнению с известными являются повышение быстродействия в К раз и упрощение в два раза устройства, а также повышение качества моделирования при формировании потока равномерно распределенных двоичных случайных чисел за счет выравнивания их вероятности. Схема датчика легко реализуется на широко распространенных интегральных микросхемах отечественного производства. В частности, блоки 5 и 12 памяти могут быть выполнены как постоянные запоминающие устройства или оперативные запоминающие устройства; в другом варианте датчика группа элементов 2 и 5 может быть реализована на первой однокристальной микроЭВМ (например, серии 1816), а группа элементов 3, 8, 11, 12 - на второй однокристальной микроЭВМ.
Класс G06F7/58 генераторы случайных или псевдослучайных чисел