нейронная сеть основного деления модулярных чисел

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

Изобретение относится к вычислительным модулярным нейрокомпьютерным системам и предназначено для выполнения основной операции деления модулярных чисел. Техническим результатом является расширение функциональных возможностей устройства за счет выполнения операции деления при произвольных значениях делимого и делителя, а также сокращение объема оборудования. Устройство содержит входные регистры делимого и делителя, блок деления с нулевым остатком, блок преобразования остаточного кода в код обобщенной позиционной системы, ПЗУ, блок вычитателя, блок умножения, блок запрета, блоки сравнения, ключ, сумматор. 1 ил., 1 табл. нейронная сеть основного деления модулярных чисел, патент № 2400813

нейронная сеть основного деления модулярных чисел, патент № 2400813

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

Нейронная есть основного деления модулярных чисел, содержащая входные регистры делимого и делителя, на входы которых подаются соответственно делимое и делитель, представленные в системе остаточных классов (СОК), выходы входного регистра делимого соединены с входами блока деления с нулевым остатком, выполненного в виде нейронной сети для деления чисел в СОК, и входом блока вычитателя, который реализует вычислительную модель ai-bqi , где аi - исходное или промежуточное значение делимого, b - значение делителя и qi - промежуточное частное, выходы входного регистра делителя соединены с входом блока преобразования остаточного кода в код обобщенной позиционной системы счисления (ОПСС), выполненного в виде нейронной сети, и первым входом блока умножения, который реализует вычислительную модель bqi , отличающаяся тем, что выходы блока преобразования остаточного кода в код ОПСС соединены с адресными входами постоянного запоминающего устройства, в котором хранятся значения приблизительного делителя нейронная сеть основного деления модулярных чисел, патент № 2400813 где Q - коэффициент, являющийся простым числом, для выбранного набора модулей СОК, a pi - значения модулей или их произведений, выходы которого соединены с входами блока деления с нулевым остатком, выходы которого соединены со вторыми входами блока умножения, информационными входами сумматора и схемы сравнения с нулем, выход схемы сравнения с нулем, на котором формируется сигнал «Нет», соединен с разрешающим входом блока запрета и разрешающим входом блока умножения, выход которого соединен с первым входом блока вычитания, выход которого соединен с информационным входом блока запрета и входом блока сравнения с величиной b/2, выход указанного блока, на котором формируется сигнал «Нет», соединен с управляющим входом ключа, второй вход которого соединен с выходом схемы сравнения с нулем, на котором формируется сигнал «Да», выход ключа соединен с управляющим входом сумматора, выход блока сравнения с величиной b/2, на котором формируется сигнал «Да», соединен с входом сумматора для добавления единицы к содержимому сумматора, выходы которого являются выходами нейронной сети основного деления модулярных чисел, выход блока запрета, на котором формируется промежуточное значение делимого qi, соединен с входом входного регистра делимого.

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

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

Известна нейронная сеть для округления и масштабирования чисел, представленных в системе остаточных классов (патент RU 2271570, G06 3/04, опубликованная 10.03.2006, Бюл. № 7), содержащая входной слой нейронов, нейронную сеть конечного кольца определения ранга числа, нейронную сеть конечного кольца вычисления остатка по основанию n+1, нейронную сеть конечного кольца вычисления разности между входными остатками и остатками по основанию n+1, n - нейронные сети конечного кольца вычисления масштабированного числа.

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

Наиболее близким к данному изобретению техническим решением является устройство, представленное в виде "Нейронной сети для деления чисел, представленных в системе остаточных классов" (Патент RU 2305312 G06 7/52, G06N 3/02, опубликовано 27.08.2008, Бюл. № 24).

Недостатком устройства является большой объем оборудования.

Однако такие нейронные сети предназначены для деления модулярных чисел в случаях, когда в качестве делителя используется целое положительное число, попарно простое с p1, р2, нейронная сеть основного деления модулярных чисел, патент № 2400813 , pn, либо целое положительное число, представляющее собой произведение чисел, попарно простых с p1, p 2, нейронная сеть основного деления модулярных чисел, патент № 2400813 , p3.

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

Поставленная цель достигается тем, что нейронная сеть основного деления модулярных чисел содержит: входные регистры для приема и хранения делимого 1 и делителя 2, на входы которых поступают, соответственно, делимое 3 и делитель 4; нейронную сеть для деления чисел 5, представленных в системе остаточных классов (патент RU 3218239, опубликовано 27.02.2008, Бюл. № 6); нейронную сеть для преобразования остаточного кода в двоичный позиционный код 6 (патент RU 3218238, опубликовано 27.02.2008, Бюл. № 6), в этом изобретении используются только коэффициенты ai, представленные в ОПСС; постоянное запоминающее устройство 7 для хранения цифр приблизительного делителя; сумматор 8 для формирования частного, полученного от деления; блок сравнения промежуточных частных qi с нулем 9; блоки умножения делителя на промежуточные значения частных qi 10; блоки вычитания произведений делителя b и промежуточного частного qi из значения исходного делимого a или промежуточных значений ai 11; блок сравнения промежуточного делимого ai с величиной b/2 12; ключ 13 для считывания частного и блок запрета 14 для записи в регистр делимого нового промежуточного значения ai 14 и шину 15 для значений частного; информационные шины 16-21, 28 для обмена данными между устройствами и схемами нейронной сети основного деления модулярных чисел и шин управления 22-27.

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

Различные алгоритмы деления целых чисел нейронная сеть основного деления модулярных чисел, патент № 2400813 можно описать итеративной схемой, используемой так называемый метод спуска Ферма. Конструируется некоторое правило нейронная сеть основного деления модулярных чисел, патент № 2400813 , которое каждой паре целых положительных чисел a и b ставит в соответствие некоторое целое положительное q такое, что a-bq=r>0. Тогда деление a на b осуществляется по следующему правилу: согласно операции нейронная сеть основного деления модулярных чисел, патент № 2400813 паре чисел a и b ставится в соответствие число q1 , такое, что a-bq1=r1нейронная сеть основного деления модулярных чисел, патент № 2400813 0. Если r1<b, то деление закончено, если же r1нейронная сеть основного деления модулярных чисел, патент № 2400813 b, то, согласно нейронная сеть основного деления модулярных чисел, патент № 2400813 , паре чисел (r1,b) ставится в соответствие q2, такое, что r1-bq2=r 2нейронная сеть основного деления модулярных чисел, патент № 2400813 0.

Если (r2<b), то деление завершается, если же (r2нейронная сеть основного деления модулярных чисел, патент № 2400813 b), то, согласно нейронная сеть основного деления модулярных чисел, патент № 2400813 1, паре (r2,b) ставится в соответствие q3 такое, что r2-bq3=r3 нейронная сеть основного деления модулярных чисел, патент № 2400813 0 и так далее. Так как последовательное применение операции нейронная сеть основного деления модулярных чисел, патент № 2400813 приводит к строго убывающей последовательности положительных чисел нейронная сеть основного деления модулярных чисел, патент № 2400813 нейронная сеть основного деления модулярных чисел, патент № 2400813 r1>r2>r3нейронная сеть основного деления модулярных чисел, патент № 2400813 нейронная сеть основного деления модулярных чисел, патент № 2400813 0, то процесс является конечным и алгоритм реализуется за конечное число шагов.

В общем случае b может быть и не равным модулю или их произведению. Здесь встает проблема выбора b таким образом, чтобы оно было равным либо модулю, либо их произведению. Если эта проблема будет решена, тогда итерации могут быть сведены к процессу масштабирования, который рассмотрен выше. Для решения этой проблемы вначале рассмотрим без доказательства теорему о границах изменения b.

Теорема. Если на K-ом шаге зафиксирован случай 0нейронная сеть основного деления модулярных чисел, патент № 2400813 rk-1-bqk=rk<b, тогда частное q от деления целых чисел a на b будет равно нейронная сеть основного деления модулярных чисел, патент № 2400813 . Если нейронная сеть основного деления модулярных чисел, патент № 2400813

Проблема разработки оптимальных вычислительных алгоритмов деления побуждает к разработке таких операций нейронная сеть основного деления модулярных чисел, патент № 2400813 1, которые бы минимизировали число шагов спуска Ферма и вместе с тем достаточно просто реализовывались на заданной вычислительной базе. Кроме того, на способ формирования операций нейронная сеть основного деления модулярных чисел, патент № 2400813 существенно влияет также принятая система кодирования числовой информации.

Метод, который будет описан ниже, направлен на использование деления на приблизительный делитель нейронная сеть основного деления модулярных чисел, патент № 2400813 . Этот приблизительный делитель будет выбран из значений делителя, допускаемых в применении алгоритма масштабирования. Так как, в основном случае, b не равно нейронная сеть основного деления модулярных чисел, патент № 2400813 , ошибка представлена в частном, которое при выполнении итерации будет уменьшаться до нуля.

Значение для нейронная сеть основного деления модулярных чисел, патент № 2400813 найдем из соотношения bнейронная сеть основного деления модулярных чисел, патент № 2400813 нейронная сеть основного деления модулярных чисел, патент № 2400813 <2b, где нейронная сеть основного деления модулярных чисел, патент № 2400813 - это допустимый делитель для алгоритма масштабирования.

В алгоритме деления первым этапом является этап вычисления частного по алгоритму масштабирования, при котором нейронная сеть основного деления модулярных чисел, патент № 2400813 .

Найденный таким образом q1 используется в рекурсивных соотношениях нейронная сеть основного деления модулярных чисел, патент № 2400813 для получения q2, q3 и так далее.

Эта повторяющаяся процедура продолжается пока q iнейронная сеть основного деления модулярных чисел, патент № 2400813 0. Если это возникает на r-ом шаге повторения, то

нейронная сеть основного деления модулярных чисел, патент № 2400813

где

нейронная сеть основного деления модулярных чисел, патент № 2400813

Действительность этого алгоритма зависит от трех предпосылок:

1. Или qi, или нейронная сеть основного деления модулярных чисел, патент № 2400813 i становятся нулевыми после последнего числа повторений.

2. Ряд нейронная сеть основного деления модулярных чисел, патент № 2400813 должен быть равным нейронная сеть основного деления модулярных чисел, патент № 2400813 .

3. Для любого b существует подходящий нейронная сеть основного деления модулярных чисел, патент № 2400813 и этот нейронная сеть основного деления модулярных чисел, патент № 2400813 можно найти. Подходящий нейронная сеть основного деления модулярных чисел, патент № 2400813 определен как удовлетворяющий условию bнейронная сеть основного деления модулярных чисел, патент № 2400813 нейронная сеть основного деления модулярных чисел, патент № 2400813 <2b и также удовлетворяющий условию алгоритма масштабирования.

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

Для определения нейронная сеть основного деления модулярных чисел, патент № 2400813 можно составить таблицу приблизительного делителя. В таблице приведен список допустимых значений b для системы модулей 23, 19, 17, 13, 11, 7, 5, 3, 2.

Таблица
Таблица приблизительного деления
Если bi=0 для i нейронная сеть основного деления модулярных чисел, патент № 2400813 p Если biнейронная сеть основного деления модулярных чисел, патент № 2400813 0 для iнейронная сеть основного деления модулярных чисел, патент № 2400813 p
bpQ bp Q
1 1 12
2 22 3
3 3 35
4 54 5
5 5 53×2
6 3×26 7
7 5×2 75×2
8 5×28 5×2
95×2 95×2
10 5×210 11
1111 1113
12 1312 13
13 13 137×2
14 7×214 5×3
15 5×315 17
1617 1617
17 1717 19
18 19 1819
19 1219 7×3
207×3 20 7×3
217×3 21 7×3
2211×2 22 23

Пример 1. В остаточной системе, состоящей из модулей 23, 19, 17, 13, 11, 7, 5, 3 и 2 (Р=223092870) делим a=10304312 на b=1401. Округленное частное нейронная сеть основного деления модулярных чисел, патент № 2400813 .

Решение. Вначале представим b в обобщенной позиционной системе счисления в порядке уменьшаемой значимости b9=0, b8=0, b7=0, b6 =0,

b5=0, b4=0, b3 =3, b2=3, b1=21, где bi определяем из уравнения

b=b9(23·19·17·13·11·7·5·3)+b 8(23·19·17·13·11·7·5)+b 7(23·19·17·13·11·7)+b6 (23·19·17·13·11)+b5(23·19·17·13)+b 4(23·19·17)+b3(23·19)+b2 23+b1

Используя таблицу с b1 =b3, получаем b1=нейронная сеть основного деления модулярных чисел, патент № 2400813 =5·19·23=2185, так как b1 является наиболее значимой ненулевой цифрой обобщенной позиционной системы счисления и определяется выражением нейронная сеть основного деления модулярных чисел, патент № 2400813 где Q дано в таблице.

Отсюда: нейронная сеть основного деления модулярных чисел, патент № 2400813 ;

нейронная сеть основного деления модулярных чисел, патент № 2400813

нейронная сеть основного деления модулярных чисел, патент № 2400813

нейронная сеть основного деления модулярных чисел, патент № 2400813

Далее получаем остальные значения a i и qi

q3=607 a3=477698
q4=218 a4=172280
q5=78 a5=63002
q6=28 a6=23774
q7=10 a7=9764
q8=4a 8=4160
q9=1a 9=2759
q10=1 a10=1358

нейронная сеть основного деления модулярных чисел, патент № 2400813 нейронная сеть основного деления модулярных чисел, патент № 2400813

Так как qr=0 (то есть q11=0), но нейронная сеть основного деления модулярных чисел, патент № 2400813 r-1нейронная сеть основного деления модулярных чисел, патент № 2400813 b, то нейронная сеть основного деления модулярных чисел, патент № 2400813 . Следовательно, нейронная сеть основного деления модулярных чисел, патент № 2400813

Полученный результат можно легко проверить обычным делением a=10304312 на b=1401. Для вычисления округленного частного потребовалось десять итераций, так как числа были выбраны обдуманно, чтобы получилось много операций. Это происходит в тех случаях, если a - относительно малое число, нейронная сеть основного деления модулярных чисел, патент № 2400813 - аппроксимация b.

Модифицируем полученный алгоритм на язык кольцевых операций системы остаточных классов. Для этого рассмотрим следующий пример.

Пример 2. В остаточной системе, состоящей из модулей 7, 5, 3, 2 необходимо разделить число a=201нейронная сеть основного деления модулярных чисел, патент № 2400813 (5, 1, 0, 1) на число b=8нейронная сеть основного деления модулярных чисел, патент № 2400813 (1, 3, 2, 0).

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

Решение. Вначале преобразуем делитель b в ОПСС в порядке уменьшаемой значимости:

b=b 4(7·5·3)+b3(7·5)+b2 7+b1, тогда b=0·(7·5·3)+0·(7·5)+1·7+1, где b2=1, b1=1.

Используя таблицу 1 с bp=b2 и biнейронная сеть основного деления модулярных чисел, патент № 2400813 0 для i нейронная сеть основного деления модулярных чисел, патент № 2400813 р, получим нейронная сеть основного деления модулярных чисел, патент № 2400813

где Q=2 или нейронная сеть основного деления модулярных чисел, патент № 2400813 =2·7

Далее по алгоритму деления, изложенному выше, находим нейронная сеть основного деления модулярных чисел, патент № 2400813 ,

где нейронная сеть основного деления модулярных чисел, патент № 2400813 - это произведение двух модулей 7·2.

q1=(0,4,2,0)нейронная сеть основного деления модулярных чисел, патент № 2400813 14.

Используя q1, найдем

a1=a0-bq1=(5,1,0,1) - (1,3,2,0·0,4,2,0)=(5,4,2,1)нейронная сеть основного деления модулярных чисел, патент № 2400813 89.

Далее получаем остальные значения a i и qi:

нейронная сеть основного деления модулярных чисел, патент № 2400813

нейронная сеть основного деления модулярных чисел, патент № 2400813

нейронная сеть основного деления модулярных чисел, патент № 2400813

нейронная сеть основного деления модулярных чисел, патент № 2400813 нейронная сеть основного деления модулярных чисел, патент № 2400813

Так как нейронная сеть основного деления модулярных чисел, патент № 2400813 то q6=1. Следовательно, нейронная сеть основного деления модулярных чисел, патент № 2400813 Действительно нейронная сеть основного деления модулярных чисел, патент № 2400813

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

На чертеже представлена схема нейронной сети основного деления модулярных чисел.

Принцип работы данного изобретения излагается ниже.

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

Делимое "a" и делитель "b", представленные в системе остаточных классов, поступают во входные регистры 1 и 2, соответственно, делимое по шине 3, а делитель по шине 4. Делитель b с выхода регистра 2 по шине 17 поступает на преобразователь кода системы остаточных классов в код обобщенной позиционной системы счисления (ОПСС) 6 (патент RU 3218238, опубликовано 27.02.2008, Бюл. № 6) и на первый вход схемы умножения делителя b на промежуточное частное qi 10. Делитель b, представленный в виде коэффициентов ai в ОПСС, по шине 19 с выхода 6 поступает на адресные входы ПЗУ 7, реализующего нахождение нейронная сеть основного деления модулярных чисел, патент № 2400813 в соответствии с таблицей. Далее, выбранные из ПЗУ значения приблизительного делителя, равного нейронная сеть основного деления модулярных чисел, патент № 2400813 , в качестве разрешающего сигнала поступают по шине 22 на вход блока деления с нулевым остатком 5 (патент RU 3218239, опубликовано 27.02.2008, Бюл. № 6), с выхода которого промежуточное частное qi по информационной шине 28 поступает на второй вход блока умножения 10 и на входы сумматора 8 и схемы сравнения 9.

Если qi=0, то схема сравнения 9 формирует сигнал управления "Да", который по шине 24 через ключ 13, выход которого по шине 25 поступает на управляющий вход сумматора 8, на выходе которого, шина 15, формируется результат деления.

Если qiнейронная сеть основного деления модулярных чисел, патент № 2400813 0, то схема сравнения 9 формирует сигнал управления "Нет", который по шине 23 поступает на разрешающий вход схемы запрета 14, которая разрешает прохождение по шине 18 промежуточного значения ai на вход регистра 1 по шине 21. Кроме того, сигнал "Нет" разрешает умножение промежуточного частного q i на делитель "b", поступающий по шине 17.

Результат умножения в блоке 10 по шине 20 поступает на первый вход блока вычитателя 11, на второй вход которого поступает значения ai по шине 16 с выхода регистра 1. Результат вычитания по шине 18 поступает на вход схемы сравнения с b/2 блока 12 и на информационный вход схемы запрета 14, с выхода которого по шине 21 ai подается на вход регистра 1. Кроме того, ai сравнивается с b/2 блока 12, если формируется сигнал "нет", то схема сравнения 12 выдает управляющий сигнал, который по шине 27 через ключ 13 и шину 25 считывает результат деления, шина 15, который сформирован в накапливающем сумматоре 8, если схема сравнения 12 формирует сигнал "Да", то схема сравнения выдает сигнал "1", который по шине 26 подается на вход сумматора, где суммируется с содержимым сумматора 8, на выходе которого просуммированные частные qi выдаются на выход, шина 15, которые являются выходом нейронной сети основного деления модулярных чисел.

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

Класс 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)

Класс 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)
Наверх