Устройство для умножения полиномов по модулю

Изобретение относится к вычислительной технике и, в частности, к модулярным нейрокомпьютерным средствам и предназначено для выполнения операции умножения двух полиномов по модулю. Техническим результатом является упрощение устройства и сокращение аппаратурных затрат. Указанный результат достигается за счет применения нейросетевого базиса и выполнения операций в полиномиальной системе классов вычетов расширенного поля Галуа GF(2v). Устройство содержит восемь нейронов в первом слое, причем первые четыре нейрона первого слоя предназначены для приема двоичного кода первого операнда, а вторые четыре нейрона первого слоя предназначены для приема двоичного кода второго операнда, шестнадцать нейронов во втором слое, реализующих операцию И, четыре нейрона в третьем слое, реализующих операцию суммирования по модулю два. 1 ил. 3 табл.

 

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

Известно устройство для умножения чисел по модулю (Авторское свидетельство № 1697079 кл. G06F 7/72, 1988), которое содержит два блока элементов И, группу блоков умножения на константу по модулю, два кольцевых регистра сдвига, блок элементов ИЛИ, счетчик, элемент НЕ, три элемента И, шифратор.

Целью изобретения является упрощение устройства и сокращение аппаратурных затрат. Цель достигается за счет применения нейросетевого базиса и выполнения операций в полиномиальной системе классов вычетов расширенного поля Галуа GF(2v).

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

Структура устройства умножения полиномов по модулю p(z)=z4+z+1 представлена на чертеже. Устройство представляет собой трехслойную нейронную сеть. В первом слое содержится восемь нейронов. Нейроны 1, 2, 3, 4 предназначены для приема двоичного кода первого операнда, а нейроны 5, 6, 7, 8 - для приема двоичного кода второго операнда. При этом старшие разряды операндов записываются соответственно в 1 и 5 нейроны.

Второй слой содержит 16 нейронов, выполняющих базовую операцию логическое И. Причем выход 1 нейрона первого слоя соединен со входами 9, 13, 17, 21 нейронов второго слоя. Выход 2 нейрона первого слоя соединен со входами 10, 14, 18, 22 нейронов второго слоя. Выход 3 нейрона первого слоя соединен со входами 11, 15, 19, 23 нейронов второго слоя. Выход 4 нейрона первого слоя соединен со входами 12, 16, 20, 24 нейронов второго слоя. Выход 5 нейрона первого слоя соединен со вторыми входами 9, 10, 11, 12 нейронов второго слоя. Выход 6 нейрона первого слоя соединен со вторыми входами 13, 14, 15, 16 нейронов второго слоя. Выход 7 нейрона первого слоя соединен со вторыми входами 17, 18, 19, 20 нейронов второго слоя. Выход 8 нейрона первого слоя соединен со вторыми входами 21, 22, 23, 24 нейронов второго слоя.

Третий слой сети содержит четыре нейрона, выполняющих базовую операцию суммирование по модулю два. Причем входы нейрона 25 третьего слоя подсоединены к выходам 9, 12, 15, 18, 21 нейронов второго слоя. Входы нейрона 26 третьего слоя подсоединены к выходам 9, 10, 13, 16, 19, 22 нейронов второго слоя. Входы нейрона 27 третьего слоя подсоединены к выходам 10, 11, 13, 14, 17, 20, 23 нейронов второго слоя. Входы нейрона 28 третьего слоя подсоединены к выходам 11, 14, 17, 24 нейронов второго слоя. С выходов нейронов 25, 26, 27, 28 третьего слоя снимается результат умножения двух полиномов по модулю p(z)=z4+z+1. При этом значение старшего разряда результата снимается с выхода 25 нейрона.

Устройство работает следующим образом. Пусть необходимо умножить два полинома A(z)=z3+z+1 и B(z)=z3+1 по модулю p(z)=z4+z+1. Операция умножения двух полиномов в поле осуществляется аналогично обычному умножению за исключением того, что операция суммирования выполняется по модулю два. Тогда

C(z)=A(z)B(z)modz4+z+1=(z3+z+1)(z3+1)modz4+z+1=(z6+z4+z3+z3+z+1)modz4+z+1=(z6+z4+z+1)modz4+z+1=z3+z2

Рассмотрим работу устройства умножения полиномов по модулю. Исходные полиномы A(z)=z3+z+1 и B(z)=z3+1 подаются на входы нейронов первого слоя. Сигналы на выходе нейронов первого слоя представлены в таблице 1.

Таблица 1.
Нейроны12345678
Сигнал на выходе10111001

Данные сигналы подаются на соответствующие входы нейронов второго слоя. Сигналы на выходах нейронов второго слоя представлены в таблице 2.

Таблица 2.
Нейрон9101112131415161718192021222324
Сигнал на выходе1011000000001011

Данные сигналы подаются на входы соответствующих нейронов 25-28 третьего слоя. В таблице 3 представлены сигналы, поступающие на входы нейронов третьего слоя. Прочерки поставлены, где связь выход-вход между нейронами второго и третьего уровней отсутствует.

Таблица 3.
Нейрон9101112131415161718192021222324выход
251--1--0--0--1---1
2610--0--0--0--0--1
27-01-00--0--0--1-0
28--1--0--0------10

Таким образом, с выхода нейрона 25 снимается значение 1, что соответствует z3 в полиномиальной форме, с выхода нейрона 26 снимается значение 1, что соответствует z2 в полиномиальной форме, с выходов нейронов 27 и 28 третьего слоя снимаются значения 0. Следовательно, конечный результат умножения двух полиномов по модулю p(z)=z4+z+1 равен C(z)=z3+z2.

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



 

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

Изобретение относится к области медицины и касается новых мутаций, комбинаций мутаций или мутационных профилей генов обратной транскриптазы ВИЧ-1 и/или протеазы, коррелирующих с фенотипической резистентностью к лекарственным средствам против ВИЧ.

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

Изобретение относится к вычислительной технике, в частности к модулярным нейрокомпьютерным средствам, и предназначено для выполнения операции поиска и коррекции ошибок в модулярных кодах полиномиальной системы классов вычетов (ПСКВ).
Изобретение относится к технике секретной связи и может быть использовано для передачи, распределения и смены криптографических ключей для пользователей в территориально разнесенной системе.

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

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

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

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

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

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

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

Изобретение относится к вычислительной технике и, в частности, к модулярным нейрокомпьютерным средствам и предназначено для определения ошибок в кодовых конструкциях непозиционного кода полиномиальной системы классов вычетов (ПСКВ), представленных в расширенных полях Галуа GF (2V).

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

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

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

Изобретение относится к вычислительной технике и предназначено для использования в вычислительных устройствах, функционирующих в системе остаточных классов (СОК), а также технике связи для передачи информации кодами СОК.

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

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

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

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