УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ПОЛИНОМОВ ПО МОДУЛЮ Российский патент 2008 года по МПК G06F7/72 G06N3/02 

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

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

Известно устройство для умножения чисел по модулю (Авторское свидетельство № 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---12610--0--0--0--0--127-01-00--0--0--1-028--1--0--0------10

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

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

название год авторы номер документа
УСТРОЙСТВО СПЕКТРАЛЬНОГО ОБНАРУЖЕНИЯ И КОРРЕКЦИИ ОШИБОК В КОДАХ ПОЛИНОМИАЛЬНОЙ СИСТЕМЫ КЛАССОВ ВЫЧЕТОВ 2008
  • Калмыков Игорь Анатольевич
  • Фалько Андрей Александрович
  • Барильская Анастасия Валерьевна
  • Кихтенко Ольга Александровна
  • Дагаева Ольга Игоревна
RU2390051C2
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ КОЭФФИЦИЕНТОВ ОБОБЩЕННОЙ ПОЛИАДИЧЕСКОЙ СИСТЕМЫ С КОРРЕКЦИЕЙ ОШИБОК 2015
  • Калмыков Игорь Анатольевич
  • Гиш Татьяна Александровна
  • Дунин Андрей Валерьевич
  • Калмыков Максим Игоревич
  • Макарова Алена Васильевна
  • Бондарева Елена Николаевна
RU2584495C1
УСТРОЙСТВО ОБНАРУЖЕНИЯ И КОРРЕКЦИИ ОШИБОК В КОДАХ ПОЛИНОМИАЛЬНОЙ СИСТЕМЫ КЛАССОВ ВЫЧЕТОВ НА ОСНОВЕ НУЛЕВИЗАЦИИ 2005
  • Калмыков Игорь Анатольевич
  • Гахов Владислав Романович
  • Емарлукова Яна Вадимовна
RU2300801C2
УСТРОЙСТВО ДЛЯ КОРРЕКЦИИ ОШИБОК В ПОЛИНОМИАЛЬНОЙ СИСТЕМЕ КЛАССОВ ВЫЧЕТОВ С ИСПОЛЬЗОВАНИЕМ ПСЕВДООРТОГОНАЛЬНЫХ ПОЛИНОМОВ 2008
  • Калмыков Игорь Анатольевич
  • Резеньков Денис Николаевич
  • Емарлукова Яна Вадимовна
  • Барильская Анастасия Валерьевна
  • Кихтенко Ольга Александровна
RU2393529C2
УСТРОЙСТВО ДЛЯ ПРЕОБРАЗОВАНИЯ ЧИСЛА ИЗ ПОЛИНОМИАЛЬНОЙ СИСТЕМЫ КЛАССОВ ВЫЧЕТОВ В ПОЗИЦИОННЫЙ КОД С КОРРЕКЦИЕЙ ОШИБКИ 2006
  • Калмыков Игорь Анатольевич
  • Петлеванный Сергей Владимирович
  • Сагдеев Александр Константинович
  • Емарлукова Яна Вадимовна
RU2309535C1
УСТРОЙСТВО ДЛЯ КОРРЕКЦИИ ОШИБОК В ПОЛИНОМИАЛЬНОЙ СИСТЕМЕ КЛАССОВ ВЫЧЕТОВ С ИСПОЛЬЗОВАНИЕМ ПСЕВДООРТОГОНАЛЬНЫХ ПОЛИНОМОВ 2005
  • Калмыков Игорь Анатольевич
RU2294529C2
НЕЙРОННАЯ СЕТЬ ДЛЯ ВЫЧИСЛЕНИЯ КОЭФФИЦИЕНТОВ ОБОБЩЕННОЙ ПОЛИАДИЧЕСКОЙ СИСТЕМЫ, ПРЕДСТАВЛЕННЫХ В РАСШИРЕННЫХ ПОЛЯХ ГАЛУА GF(2) 2004
  • Калмыков И.А.
  • Лободин М.В.
  • Алексишин Е.В.
  • Щелкунова Ю.О.
RU2258956C1
УМНОЖИТЕЛЬ ПО МОДУЛЮ 2015
  • Калмыков Игорь Анатольевич
  • Саркисов Артем Брониславович
  • Гиш Татьяна Александровна
  • Дунин Андрей Валерьевич
  • Калмыков Максим Игоревич
RU2589361C1
Устройство для вычисления сумм парных произведений в полиномиальной системе классов вычетов 2016
  • Калмыков Игорь Анатольевич
  • Топоркова Екатерина Викторовна
  • Юрданов Дмитрий Владимирович
  • Калмыков Максим Игоревич
  • Степанова Елена Павловна
  • Бондарева Елена Николаевна
RU2622881C1
УСТРОЙСТВО ДЛЯ ВЫЧИСЛЕНИЯ СУММ ПАРНЫХ ПРОИЗВЕДЕНИЙ В ПОЛИНОМИАЛЬНОЙ СИСТЕМЕ КЛАССОВ ВЫЧЕТОВ 2004
  • Калмыков Игорь Анатольевич
  • Никульников Андрей Сергеевич
  • Хайватов Ариэль Бинсироевич
RU2270475C2

Реферат патента 2008 года УСТРОЙСТВО ДЛЯ УМНОЖЕНИЯ ПОЛИНОМОВ ПО МОДУЛЮ

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

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

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

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

Устройство для умножения чисел по модулю 1988
  • Глушков Валерий Иванович
  • Ирхин Валерий Петрович
  • Краснобаев Виктор Анатольевич
  • Кононова Ирина Викторовна
  • Сахно Анатолий Иванович
SU1697079A1
Устройство для умножения полиномов над конечными полями GF (2 @ ) по модулю неприводимого многочлена 1989
  • Ковалив Илья Ильич
SU1661759A1
Устройство для умножения элементов конечных полей GF(2 @ ) 1990
  • Ковалив Илья Ильич
SU1756883A1
Устройство для умножения полиномов 1975
  • Березняков Геннадий Евгеньевич
  • Ключко Владимир Игнатьевич
SU538364A1

RU 2 321 883 C1

Авторы

Калмыков Игорь Анатольевич

Резеньков Денис Николаевич

Петлеванный Сергей Владимирович

Тимошенко Леонид Иванович

Щелкунова Юлия Олеговна

Сагдеев Александр Константинович

Емарлукова Яна Вадимовна

Даты

2008-04-10Публикация

2006-10-16Подача