Устройство генерации равномерно распределенных псевдослучайных чисел Российский патент 2025 года по МПК G06F7/58 G06F1/02 

Описание патента на изобретение RU2840424C1

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

Из уровня техники, известен генератор равномерно распределенных случайных чисел (патент RU 2092892, МПК: G06F 7/58 (1995.01), опубликовано 10.10.1997). Указанный генератор содержит генератор импульсов, выход которого подключен к входу генератора линейно изменяющегося напряжения и входу "Запись " блока памяти, выход которого соединен с первым входом первой схемы сравнения, выход источника шума подключен к информационному входу блока памяти, выход генератора линейно изменяющегося напряжения подключен к второму входу первой схемы сравнения, элемент И-НЕ, выход которого соединен со своим первым входом и входом "Сдвиг" регистра сдвига, выход i-го и k-го разрядов регистров сдвига подключены соответственно к первому и второму входам сумматора по модулю два, выход которого соединен с входом "Сдвиг" регистра сдвига, а выход k-го разряда которого является выходом генератора. При этом в структуру генератора введены первый и второй элементы И, RS-триггер, элемент НЕ, регулируемый источник напряжения и вторая схема сравнения, к первому и второму входам которой подключены соответственно выходы генератора линейно изменяющегося напряжения и регулируемого источника напряжения, выход второй схемы сравнения подключен к второму входу первого элемента И, выход которого соединен с входами второго элемента И, выход первой схемы сравнения подключен к первому входу первого элемента И и через элемент НЕ - к R-входу RS-триггера, S-вход которого соединен с выходом второго элемента И, а выход RS-триггера подключен к второму входу элемента И-НЕ.

К недостатку генератора можно отнести наличие в его структуре блока с аналоговым сигналом, а именно - генератора линейно изменяющегося напряжения.

Известен генератор нелинейных псевдослучайных последовательностей {патент RU 2549524, МПК: G06F 7/58 (2006.01), опубликовано 27.04.2015), содержащий генератор тактовых импульсов, регистр сдвига на h разрядов с синхровходом и с последовательным входом, h умножителей, каждый из которых на два входа и один выход, и сумматор по модулю два на h входов. При этом в него введены h/3 однотипных нелинейных преобразователей с тремя входами данных и двумя выходами каждый, причем hmod3=0, и блок из h мультиплексоров с двумя входами данных каждый и с общим управляющим входом, каждый из нелинейных преобразователей содержит инвертор, четыре функциональных преобразователя и четыре конъюнктора на два входа каждый, из которых первый и второй входят в первую группу конъюнкторов, а третий и четвертый - во вторую группу конъюнкторов, и два дизъюнктора на два входа каждый.

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

Известен генератор случайной последовательности {патент RU 2797406, МПК: G06F 7/58 (2006.01), опубликовано 05.06.2023), который содержит первый селектор-мультиплексор 1, второй селектор-мультиплексор 2, первый регистр 3, источник случайных чисел 4, оперативное запоминающее устройство 5, К≥2 блоков хранения границ интервалов 61-6K, К блоков сравнения 71-7K, шифратор приоритетов 8, N≥1 инверторов 91-9N, второй регистр 10 и блок нейро-нечеткой сети 11. К недостатку указанного изобретения можно отнести наличие вычислительно затратных нелинейных операций вычисления функций ехр{•} в блоке нейро-нечеткой сети.

Известен способ формирования псевдослучайных сигналов и устройство для его осуществления {патент RU 2769539, МПК: G06F 7/58 (2006.01), опубликовано 01.04.2022). Устройство содержит пять элементов исключающее «ИЛИ», восемь умножителей в поле Галуа GF(2P), четыре регистра и один трехвходовый элемент исключающее «ИЛИ», при этом в устройство дополнительно введены три элемента исключающее «ИЛИ», три линии задержки, вычислитель, счетчик отсчетов псевдослучайного сигнала, четыре регистра, три переключателя и блок памяти примитивных полиномов.

К недостатку устройства можно отнести аппаратные затраты на реализацию умножения в полях Галуа {Червяков Н.И., Бабенко М.Г., Ляхов П.А., Лавриненко И.Н., Лягин A.M. Умножение и деление в системе остаточных классов с использованием полей Галуа GF(p) // Информатика, телекоммуникации и управление. 2014. Т. 3, №198. С. 65-76).

Аналогичный недостаток можно отнести к устройству для генерации псевдослучайных чисел {патент. RU 2774812, МПК: G06F 7/58 (2006.01), опубликовано 23.06.2022), которое состоит из двух регистров 2.1 и 2.2 разрядности n, двух блоков сложения 4.1 и 4.2 в GF(2n), блока сложения 3 по модулю 2n, двух блоков 5 и 6 циклического сдвига и дополнительно содержит третий блок 7 циклического сдвига, и к генератору псевдослучайных чисел {патент RU 2815485, МПК: G06F 7/58 (2006.01), опубликовано 18.03.2024), который состоит из двух регистров разрядности n, блока сложения в поле Галуа GF(2n), двух блоков умножения в GF(2n), двух блоков сложения в GF(2n).

В качестве прототипа выбрано наиболее близкое по совокупности признаков устройство генерации псевдослучайных чисел (патент RU 2815828, МПК: G06F 7/58 (2006.01), G06F 1/02 (2006.01), опубликовано 22.03.2024). Указанное устройство включает в себя четыре сумматора/вычитателя, три интегратора, три умножителя, три узла формирования констант, блок временной задержки и аналоговый блок, при этом элементы соединены между собой с обеспечением генерации псевдослучайных чисел. При этом, с целью повышения функциональных возможностей, сокращения аппаратурных затрат и хаотичности выходных сигналов, первый вход первого сумматора/вычитателя устройства-прототипа соединен с первым входом первого умножителя, с входом блока временной задержки, с выходом первого интегратора, первым входом второго умножителя и является первым выходом генератора, второй вход первого сумматора/вычитателя соединен с первым входом второго сумматора/вычитателя, первым входом четвертого умножителя, выходом второго интегратора и является вторым выходом генератора, третий вход первого сумматора/вычитателя соединен с выходом аналогового блока, второй вход четвертого умножителя подключен к выходу блока временной задержки, выход первого сумматора/вычитателя соединен с первым входом первого умножителя, второй вход которого подключен к выходу первого узла формирования константы, а выход первого умножителя к соответствующему входу первого интегратора, второй вход второго умножителя подключен к выходу второго узла формирования константы, а выход второго умножителя - ко второму входу второго сумматора/вычитателя, выход которого соединен с первым входом третьего сумматора/вычитателя, второй вход которого подключен к выходу третьего умножителя, второй вход которого подключен к выходу третьего интегратора и является третьим выходом генератора и первым входом пятого умножителя, второй вход которого соединен с выходом третьего узла формирования константы, а выход пятого умножителя подключен к первому входу четвертого сумматора/вычитателя, второй вход которого соединен с выходом четвертого умножителя, выход четвертого сумматора/вычитателя подключен к входу третьего интегратора, а вход второго интегратора соединен с соответствующим выходом третьего сумматора/вычитателя.

Устройство прототипа обладает хорошими показателями качества. Так, его показатель минимальной информационной энтропии равен 0,996, что является высоким значением, поскольку энтропия идеального генератора равна единице. Приводимый в описании изобретения прототипа иллюстративный материал, в частности, фиг. 2 и фиг. 3 описания прототипа, подтверждает его качественные показатели.

В то же время для устройства прототипа характерно наличие сразу трех умножителей, что можно отнести к его недостатку при аппаратной реализации.

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

Технический результат изобретения заключается в уменьшении количества умножителей в схеме генератора псевдослучайных чисел с сохранением высокой энтропии и близких к идеальному шуму корреляционных свойств, так как автокорреляционная функция шума имеет вид дельта-функции Дирака {Вентцель Е.С., Овчаров Л.А. Теория случайных процессов и ее инженерные приложения: учеб. пособие для втузов. 2-е изд. М.: Высшая школа, 2000. 480 с).

Для достижения технического результата устройство генерации равномерно распределенных псевдослучайных чисел выполнено по принципу конгруэнтного генератора (Lehmer D.H. Mathematical methods in large-scale computing units // Proc. of the 2nd Symposium on large-scale digital calculating machinery. Harvard University Press, 195LP. 141-146; Knuth D.E. The art of computer programming. Vol.2: Seminumerical algorithms. 3rd ed. Boston: Addison-Wesley, 1997. 762 p), однако для повышения его энтропии и устранения недостатков, свойственных линейному конгруэнтному генератору, дополнительно реализован сдвиг сформированного бинарного кода на r разрядов вправо и разрядов влево, причем данные величины формируются непосредственно из генерируемого псевдослучайного отсчета.

Структурная схема предлагаемого генератора равномерно распределенных n-разрядных случайных двоичных чисел представлена на фиг. 1 и содержит:

- первый, второй, третий, четвертый, пятый, шестой и седьмой узлы формирования констант с1, с2, с3, с4, с5, с6 и с7 - соответственно блоки 1, 7, 9, 11, 13, 15 и 19;

- первый и второй сумматоры - соответственно блоки 2 и 10;

- двухвходовый мультиплексор 3,

- первый и второй параллельные регистры - соответственно блоки 4 и 23;

- синхронизатор 5;

- умножитель 6;

- первый, второй, третий, четвертый и пятый модули логического сдвига вправо - соответственно блоки 8, 12, 14, 18 и 20;

- логическую схему поразрядного Исключающего ИЛИ (XOR) 16;

- модуль вычисления сдвигов r и 17;

- модуль логического сдвига влево 21;

- логическую схему поразрядного ИЛИ 22.

На первый вход первого сумматора 2 с выхода первого узла формирования констант 1 поступает 2n-разрядная константа Сn, необходимая для инициализации устройства генерации равномерно распределенных псевдослучайных чисел. На второй вход первого сумматора 2 поступает внешний 2n-разрядный параметр z - так называемое «зерно» (от англ. seed).

Первый параллельный регистр 4 в режиме генерации хранит текущее -е состояние si; генератора в виде двоичного 2n-разрядного числа в формате представления без знака. Состояние si+1 в следующий момент времени (i+1) формируется на выходе второго сумматора 10:

при этом с3=2n, а вычисленное новое состояние si+1 подается на вход данных первого параллельного регистра 4 путем коммутации значения с первого входа данных двухвходового мультиплексора 3 на его выход.

Вычисления согласно (1) реализует каскадное соединение блоков умножителя 6, на первый вход которого с выхода первого параллельного регистра 4 поступает текущее 2n-разрядное состояние генератора si, а на второй вход - 2n-разрядная константа c2 с выхода второго узла формирования констант 7, первого модуля логического сдвига вправо 8, первый вход которого соединен с выходом умножителя 6, а на второй поступает значение сдвига с3 с выхода третьего узла формирования констант 9 и второго сумматора 10, первый вход которого соединен с выходом третьего узла формирования констант 9, а на второй поступает значение с4 с выхода четвертого узла формирования констант 11.

Оператор вида «а>>b» в (1) по аналогии с синтаксисом языка программирования С для чисел в формате представления без знака означает логический сдвиг числа а вправо на b разрядов.

В момент включения схемы, т.е. в момент времени i=0, синхронизатор 5 вырабатывает и подает на адресный вход двухвходового мультиплексора 3 короткий строб-импульс для того, чтобы в первый параллельный регистр 4 было записано инициализирующее значение s0, действующее на втором входе данных двухвходового мультиплексора 3, к которому подключен выход первого сумматора 2. Таким образом, в момент включения устройства на выходе двухвходового мультиплексора 3 действует инициализирующее значение

коммутируемое на выход мультиплексора с его второго входа.

Значение sl+1 с выхода второго сумматора 10 параллельно поступает на первый вход второго модуля логического сдвига вправо 12, на второй вход которого поступает значение сдвига с5 с выхода пятого узла формирования констант 13, и на первый вход логической схемы поразрядного Исключающего ИЛИ 16. На второй вход логической схемы 16 поступает значение с выхода второго модуля логического сдвига вправо 12. В результате на выходе логической схемы поразрядного Исключающего ИЛИ 16 формируется значение:

где «⊕» - обозначение операции поразрядного XOR.

Значение х с выхода логической схемы поразрядного Исключающего ИЛИ 16 далее поступает на первый вход четвертого модуля логического сдвига вправо 18, на второй вход которого поступает значение с7 с выхода седьмого узла формирования констант 19. В результате на выходе четвертого модуля логического сдвига вправо 18 действует значение:

Значение w далее параллельно поступает на первые входы пятого модуля логического сдвига вправо 20 и модуля логического сдвига влево 21. На вторые входы данных блоков с первого и второго выходов модуля вычисления сдвигов 17 соответственно поступают сигналы r и , несущие информацию о количестве разрядов для сдвига вправо (r) и влево () соответственно. На вход модуля вычисления сдвигов 17 поступает значение у с выхода третьего модуля логического сдвига вправо 14, на первый вход которого поступает текущее состояние генератора si, с выхода первого параллельного регистра 4, а на второй вход - величина сдвига с6 с выхода шестого узла формирования констант 15. Таким образом,

Значения сдвигов вправо и влево в модуле 17 вычисляются из у следующим образом:

Логическая схема поразрядного ИЛИ 22, к входам которой подключены выходы пятого модуля логического сдвига вправо 20 и модуля логического сдвига влево 21, вычисляет двоичный n-разрядный код:

где «v» - оператор дизъюнкции, а оператор в (6) по аналогии с синтаксисом языка программирования С для чисел в формате представления без знака означает логический сдвиг числа w влево на разрядов.

Значение q с выхода логической схемы поразрядного ИЛИ 22 подается на вход данных второго параллельного регистра 23, выход которого и является выходом устройства.

Тактовые импульсы на тактовые входы первого 4 и второго 23 параллельных регистров поступают с синхронизатора 5.

Предполагается, что разрядность генерируемых заявляемым устройством случайных чисел n=32.

Сравним работу устройства с прототипом. Пусть входное значение параметра z=0, значения констант на выходах первого, второго, третьего, четвертого, пятого, шестого и седьмого узлов формирования констант соответственно равны:

с1=14057B7EF767814F(16),

c2=5851F42D4C957F2D(16),

с3=64,

с4=14057B7EF767814F(16),

c5=18,

с6=59,

с7=27.

Для компактности записи значения 2n-разрядных констант с1, с2 и с4 приведены в 16-ричном коде.

Поскольку в описании прототипа рассмотрен генератор 16-разрядных чисел в формате со знаком, для сравнения с ним заявляемого генератора с n=32 будем использовать, например, только старшие 16 бит генерируемых кодов, также в формате со знаком.

По аналогии с описанием прототипа сгенерируем выборку длиной N=1000000 элементов. Вычислим для нее энтропию Шеннона и автокорреляционную функцию для сдвигов m=1,2, …, 100000.

Вычисленная по реализации длиной N отсчетов энтропия Шеннона составляет H=15,951738, т.е. близка к максимально теоретически возможной энтропии для идеальной выборки 16-разрядных чисел с равномерным законом распределения, равной Нmах=16.

Показатель минимальной информационной энтропии

сопоставим по своей величине с аналогичным показателем прототипа (0,996).

Модули значений автокорреляционной функции R(m) приведены на фиг. 2. Максимальный но модулю отсчет автокорреляционной функции имеет значение Rmax=0,004095, т.е. близок к нулевому значению коэффициента корреляции (для идеального генератора).

На фиг. 3 для двух различных ансамблей случайных чисел с z1=0 и z2=1 и на фиг. 4 - для трех различных ансамблей с z1=0, z2=1 и z3=2 - графически показано, что при различных параметрах z отсутствует корреляция отсчетов между генерируемыми ансамблями.

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

название год авторы номер документа
ГЕНЕРАТОР ПСЕВДОСЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ 2010
  • Захаров Вячеслав Михайлович
  • Зелинский Руслан Владимирович
  • Шалагин Сергей Викторович
RU2446444C1
ГЕНЕРАТОР НЕЛИНЕЙНЫХ ПСЕВДОСЛУЧАЙНЫХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ 2014
  • Захаров Вячеслав Михайлович
  • Шалагин Сергей Викторович
RU2549524C1
Генератор случайных чисел 1990
  • Бурнашев Марат Ильдарович
  • Кузнецов Валерий Михайлович
  • Песошин Валерий Андреевич
SU1817094A1
УМНОЖИТЕЛЬ ПО МОДУЛЮ 2024
  • Петренко Вячеслав Иванович
  • Небесская Мария Валерьевна
RU2829089C1
СПОСОБ И УСТРОЙСТВО ДЛЯ ПЕРЕДАЧИ И ПРИЕМА СИГНАЛОВ С ОГРАНИЧЕННЫМ СПЕКТРОМ (ВАРИАНТЫ) 2004
  • Денисенко В.П.
RU2265278C1
Генератор псевдослучайных чисел 1990
  • Бурнашев Марат Ильдарович
  • Порфирьев Георгий Николаевич
SU1805465A1
Устройство генерации псевдослучайных чисел 2023
  • Беневоленский Дмитрий Викторович
  • Лебедев Александр Владимирович
  • Панин Андрей Дмитриевич
  • Теленков Вячеслав Викторович
RU2812094C1
Устройство для стохастического контроля микропроцессорных цифровых блоков 1990
  • Жданов Владимир Дмитриевич
  • Кочин Иван Владимирович
  • Мардаре Игорь Аврамович
SU1725222A1
Устройство для контроля логических блоков 1985
  • Улитенко Валентин Павлович
  • Жихарев Владимир Яковлевич
  • Харченко Вячеслав Сергеевич
  • Тимонькин Григорий Николаевич
  • Ткаченко Сергей Николаевич
  • Могутин Роман Иванович
SU1269141A1
Устройство для формирования тестов 1987
  • Борщевич Виктор Иванович
  • Бодян Геннадий Константинович
  • Жданов Владимир Дмитриевич
  • Сидоренко Вячеслав Васильевич
SU1444781A1

Иллюстрации к изобретению RU 2 840 424 C1

Реферат патента 2025 года Устройство генерации равномерно распределенных псевдослучайных чисел

Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении количества умножителей в схеме генератора псевдослучайных чисел с сохранением высокой энтропии и близких к идеальному шуму корреляционных свойств. Устройство генерации равномерно распределенных псевдослучайных чисел содержит: первый, второй, третий, четвертый, пятый, шестой и седьмой узлы формирования констант; первый и второй сумматоры; двухвходовый мультиплексор, первый и второй параллельные регистры; синхронизатор; умножитель; первый, второй, третий, четвертый и пятый модули логического сдвига вправо; модуль логического сдвига влево; модуль вычисления сдвигов; логическую схему поразрядного Исключающего ИЛИ; логическую схему поразрядного ИЛИ. 4 ил.

Формула изобретения RU 2 840 424 C1

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

Документы, цитированные в отчете о поиске Патент 2025 года RU2840424C1

Устройство генерации псевдослучайных чисел 2023
  • Гущин Владимир Олегович
  • Игошин Александр Владимирович
  • Лагутенко Дарья Витальевна
  • Лебедев Александр Владимирович
  • Лысенко Евгений Владимирович
  • Теленков Вячеслав Викторович
RU2815828C1
CN 110413257 A, 05.11.2019
CN 113377335 A, 10.09.2021
WO 2009146283 A1, 03.12.2009
US 8180055 B2, 15.05.2012.

RU 2 840 424 C1

Авторы

Штрунова Екатерина Сергеевна

Даты

2025-05-23Публикация

2024-08-05Подача