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

Классы МПК:G06F7/72 с помощью арифметического остатка
G06N3/02 использующие модели нейронных сетей
Автор(ы):, , , , , ,
Патентообладатель(и):Государственное образовательное учреждение высшего профессионального образования "Северо-Кавказский государственный технический университет" (RU)
Приоритеты:
подача заявки:
2006-10-16
публикация патента:

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

устройство для умножения полиномов по модулю, патент № 2321883

Формула изобретения

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

Описание изобретения к патенту

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

Известно устройство для умножения чисел по модулю (Авторское свидетельство № 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)=z 3+1 по модулю p(z)=z4+z+1. Операция умножения двух полиномов в поле осуществляется аналогично обычному умножению за исключением того, что операция суммирования выполняется по модулю два. Тогда

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

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

Таблица 1.
Нейроны12 345 678
Сигнал на выходе1 011 100 1

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

Таблица 2.
Нейрон910 111213 141516 171819 202122 2324
Сигнал на выходе10 110 000 000 010 11

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

Таблица 3.
Нейрон910 111213 141516 171819 202122 2324выход
251 --1 --0 --0 --1 --- 1
261 0-- 0-- 0-- 0-- 0-- 1
27- 01- 00- -0- -0- -1- 0
28- -1- -0- -0- --- --1 0

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

Класс G06F7/72 с помощью арифметического остатка

устройство для преобразования из полиномиальной системы классов вычетов в позиционный код -  патент 2513915 (20.04.2014)
способ организации выполнения операции умножения двух чисел в модулярно-позиционном формате представления с плавающей точкой на универсальных многоядерных процессорах -  патент 2509345 (10.03.2014)
устройство для определения знака модулярного числа -  патент 2503995 (10.01.2014)
устройство для сравнения чисел, представленных в системе остаточных классов -  патент 2503992 (10.01.2014)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2500018 (27.11.2013)
накапливающий сумматор по модулю -  патент 2500017 (27.11.2013)
способ организации умножения чисел с плавающей запятой, представленных в системе остаточных классов -  патент 2485574 (20.06.2013)
полный одноразрядный сумматор по модулю -  патент 2484519 (10.06.2013)
устройство для обнаружения переполнения динамического диапазона, определения ошибки и локализации неисправности вычислительного канала в эвм, функционирующих в системе остаточных классов -  патент 2483346 (27.05.2013)
ячейка однородной вычислительной среды, однородная вычислительная среда и устройство для конвейерных арифметических вычислений по заданному модулю -  патент 2477513 (10.03.2013)

Класс G06N3/02 использующие модели нейронных сетей

способ интеллектуальной обработки информации в нейронной сети -  патент 2514931 (10.05.2014)
способ и устройство автоматического распознавания типов манипуляции радиосигналов -  патент 2510077 (20.03.2014)
способ интеллектуальной обработки информации в нейронной сети -  патент 2502133 (20.12.2013)
способ интеллектуальной обработки информации в нейронной сети -  патент 2483356 (27.05.2013)
способ прогнозирования времени наступления и уровня паводков -  патент 2480825 (27.04.2013)
локальная компьютерная офтальмомикрохирургическая сеть операций энуклеации и эвисцерации -  патент 2460117 (27.08.2012)
автоматизированное рабочее место офтальмомикрохирурга по детской хирургии -  патент 2460116 (27.08.2012)
локальная компьютерная офтальмомикрохирургическая сеть операций по кератопластике -  патент 2459235 (20.08.2012)
способ автоматизированной робастной классификации радиосигналов по структурно-временным параметрам -  патент 2450356 (10.05.2012)
способ интеллектуальной обработки информации в нейронной сети -  патент 2427914 (27.08.2011)
Наверх