Нейронная сеть для расширения кортежа числовой системы вычетов
Иллюстрации
Показать всеЗаявленное изобретение относится к вычислительной технике и может быть использовано для кодирования данных в модулярных нейрокомпьютерах. Техническим результатом является упрощение устройства и повышение быстродействия. Для этого сеть содержит входной слой нейронов, нейронные сети конечного кольца для формирования усеченной треугольной матрицы, нейронные сети конечного кольца для выполнения модульного суммирования и нейронную сеть конечного кольца для выполнения финального шага вычисления вычета по дополнительно расширяемому модулю. 1 табл., 1 ил.
Реферат
Изобретение относится к вычислительной технике и предназначено для расширения кортежа числовой системы вычетов по введенным дополнительным основаниям и может быть использовано для кодирования данных в модулярных нейрокомпьютерах.
Известно устройство для перевода числа, представленного в системе остаточных классов, в полиадическую систему счисления (А.С. №705443 М. Кл2. G 06 F 5/02, СССР, БИ №47, 1979), содержащее входной регистр, состоящий из входных регистров по каждому основанию, матрицу элементов И, первую группу элементов ИЛИ, матрицу элементов И второй ступени, вторую группу элементов ИЛИ, выходной регистр, состоящий из выходных регистров по каждому основанию и группы элементов ИЛИ и И. К недостаткам устройства относится сложность и низкая скорость преобразования кодов.
Наиболее близким техническим решением к предложенному является устройство для перевода числа, представленного в системе остаточных классов, в полиадическую систему счисления (А.С. №652556 М. Кл2. G 06 F 5/02, СССР, БИ №10, 1979), содержащее входной регистр, состоящий из регистров по основаниям, матрицу элементов И первой ступени, первую группу элементов ИЛИ, матрицу элементов И второй ступени, вторую группу элементов ИЛИ, матрицу элементов И третьей ступени, третью группу элементов ИЛИ, матрицу элементов И четвертой ступени, четвертую группу элементов ИЛИ, элементы И и ИЛИ и преобразователь кода.
Недостатком известного устройства является его сложность и низкое быстродействие.
Цель изобретения - упрощение устройства и повышение быстродействия.
Указанная цель достигается тем, что предложенная нейронная сеть содержит входной слой нейронов, нейронные сети конечного кольца для формирования усеченной треугольной матрицы, без учета расширяемого основания, нейронные сети конечного кольца для выполнения модульного суммирования (модульные сумматоры) и нейронную сеть конечного кольца для выполнения финального шага вычисления вычета по дополнительному расширяемому основанию.
На фиг.1 представлена структура нейронной сети для расширения кортежа числовой системы вычетов, которая содержит входной слой 15 для фиксирования некоторого числа с нейронами 2, на вход которых поступает входной кортеж числовой системы вычетов (а1, а2,... ,аn) 1 нерасширенной системы оснований, треугольную матрицу 10, состоящую из нейронных сетей конечного кольца с нейронами 4, весовыми коэффициентами wij 3 и переносами 12, модульные сумматоры 11, состоящие из нейронных сетей конечного кольца с нейронами 6 и переносами 13, весовыми коэффициентами wjk 5 и выход 14 модулярного сумматора по расширенному основанию рn+1, в дополнительном коде (pn+1-an+1), где аn+1 - коэффициенты ОПСС, выходной модулярный сумматор 8 с весовыми коэффициентами 7 и выходом нейронной сети для выполнения финального шага 9 для формирования вычета α n+1 по расширенному основанию. В настоящее время система остаточных классов (СОК) привлекает все более пристальное внимание из-за ее способности поддерживать высокоскоростную арифметику при параллельной обработке данных. СОК определяется набором модулей pi из относительно простых чисел.
Пусть р1, р2,... ,pn - попарно взаимно простые целые числа, и α i=xmodpi. Тогда соответствие Х→ (α 1, α 2,... , α n) между целыми числами в интервале [0,Р) и набором системы вычетов вида (α 1, α 2,... ,α n), 0<α i<рi, 0<i≤ n взаимно однозначно. Кортеж числовой системы вычетов (α 1, α 2,... ,α n) называется модулярным представлением или представлением числа X в СОК.
Основными операциями, выполняемыми в СОК (кроме модульных), являются операции вычисления позиционных характеристик и расширения системы оснований. К ним относятся любые другие немодульные операции, и от времени, затрачиваемого на их выполнение, существенно зависит производительность ЭВМ.
Расширение системы оснований является одной из основных немодульных операций в СОК. Выполнение этой операции бывает необходимо при выполнении ряда других операций, например, при выполнении операции деления чисел, вычислении позиционных характеристик, обнаружении переполнения и других. Кроме того, при обнаружении и исправлении ошибок также необходимо добавление одного или нескольких контрольных оснований.
Задачу расширения системы оснований можно сформулировать следующим образом: найти остаточное представление числа по новому основанию (новым основаниям), если известно представление числа по другим основаниям, т.е. найти остаток от деления на число, если известны остатки от деления на другие числа.
Один из путей расширения системы оснований состоит в переводе числа в позиционную систему счисления и вычислении остатка от деления на новый модуль. Надо признать, что этот путь не является рациональным с точки зрения числа операций.
Предлагается метод расширения системы оснований, который позволяет определить вычет числа по новому основанию, базируясь на использовании китайской теоремы об остатках (КТО) и обобщенной позиционной системы счисления (ОПСС). Пусть вновь задана система оснований p1, p2, ... ,pn с диапазоном Р=р1р2...рn, ортогональными базисами B1, B2, ... , Вn, веса которых m1, m2,... , mn и определяются из сравнения . По определению Пусть в системе задано число А=(α 1, α 2,... ,α n), где α i=A mod pi. Расширим систему оснований, добавляя основание pn+1, тогда диапазон системы станет = рn+1·Р, ортогональные базисы системы , ,... , , их веса причем . Задача состоит в определении цифры аn+1 числа А по основанию pn+1.
Рассмотрим число A в системе оснований p1, р2, …,pn, pn+1, тогда
где: - диапазон расширенной системы оснований;
- ортогональные базисы расширенной системы оснований.
Представим ортогональные базисы , в обобщенной позиционной системе счисления, тогда
где: - коэффициенты ОПСС;
i,j=1,2,... ,n.
На основании (2) запишем выражение (1) в виде
Из выражения (3) можно определить коэффициенты аi числа А, тогда
где: α i - вычеты числа А по mod pi;
- ортогональные базисы, представленные в ОПСС.
Цифры аi в представлении ОПСС получаются суммированием по модулю pi всех произведений и переносом, генерируемым при формировании аi-1. Перенос генерируется как число раз, когда сумма цифр в ОПСС переполняется по модулю рi. Этот перенос используется для формирования цифр аi+1. Последний перенос, генерируемый при получении последней цифры числа в ОПСС, отбрасывается. Рассмотренный метод выполняется в параллельном режиме. Выигрыш в быстродействии данного метода с итеративным методом очевиден, поскольку он уменьшает время преобразования с n циклов синхронизации до трех циклов. Цифры изменяют значения от 0 до рi-1, причем являются константами, поэтому произведение можно поместить в ПЗУ или в весовые коэффициенты связей между нейронами. Адресами произведений являются вычеты α i числа А по модулю рi.
Для иллюстрации этого метода приведем пример 1.
Пусть p1=2, p2=3, р3=5, р4=7, ϕ =2· 3· 5· 7=210, B1=105, B2=70, B3=126, B4=120.
Тогда на основании (2) определим :
Пусть А=11=(1, 2,1,4). Тогда в ПЗУ поместим следующие числа:
Преобразование числа А из СОК в ОПСС имеет вид
Рассмотрим метод определения вычета по расширенному основанию. Пусть СОК состоит из оснований р1,р2...,рn.Объем диапазона этой системы будет Добавим к числу оснований СОК новое основание рn+1. Объем диапазона этой системы Тогда любое число х из диапазона [0, ϕ ) в обобщенной позиционной системе счисления представимо в виде Если число х будет лежать в первоначальном диапазоне [0; Р), то в ОПСС цифра аn+1=0. Этот факт и используется для получения остатка (вычета) от деления числа х на новое основание COK pn+1.
Пусть число х имело представление (α 1, α 2,... ,α n) по основаниям р1, р2,... , рn. Добавляем новое основание pn+1, тогда число x=(α 1, α 2,... , α n, ) в системе оснований p1, p2,... ,pn, pn+1, где - остаток от деления числа х на pn+i, т.е. искомая цифра по новому основанию.
Для определения этой цифры используем метод перевода числа из СОК в ОПСС, включая неизвестную цифру в проводимые операции. При этом мы параллельно получим цифры ОПСС а1, а2,... , аn и выражение для цифры an+1. Но так как по предположению число х∈ [0; Р), то цифра аn+1=0. Из полученного соотношения и определяем искомую цифру .
Рассмотрим этот метод на примере 2.
Пусть задана система модулей р1= 2, р2=3, р3=5, тогда Р=2· 3· 5=30. И пусть задано число х=11=(1, 2, 1). Расширим систему оснований, добавляя р4=7. Тогда x=11=(1, 2, 1, ) в системе оснований p1=2, p2=3, р3=5, p4=7.
Набор констант bij приведен в (5) и задается матрицей
Процесс решения задачи приведен в таблице 1.
Так как но по условию а4=0, т.е. или
Мультипликативная обратная величина и так как число 5 отрицательное, возьмем его дополнение по модулю 7.
Итак, вычет числа х по модулю 7 определяется выражением
Тогда, расширенное представление числа будет х=11=(1, 2, 1, 4).
Так как результат образования цифры в СОК по новому основанию pn+i зависит только от первых цифр, то операцию расширения вычетов можно проводить сразу по нескольким основаниям.
Преимущества предложенного метода расширения системы вычетов состоит в том, что:
- все вычисления выполняются в параллельных каналах по отдельным модулям, причем каждый модуль отождествляется с отдельным каналом;
- не требуется вычисления большого количества дополнительных величин, необходимо только наличие констант и мультипликативных величин по расширенным основаниям;
- возможно получение расширенного представления вычетов числа сразу по нескольким дополнительным основаниям, что не влияет на быстродействие всей операции расширения.
Принцип работы нейронной сети для расширения кортежа числовой системы вычетов излагается ниже. Нейронная сеть, приведенная на фиг.1, позволяет определить вычет α n+1 по дополнительно введенному основанию рn+1 по известным вычетам (α 1, α 2,... ,α n) 1 исходной системы оснований р1, р2, ... ,рn. Входной кортеж (α 1, α 2,... ,α n) системы вычетов 1 по системе оснований р1, р2, ... ,рn поступает на нейроны 2, расположенные во входном слое 15, а вычет α n+1 по расширенному основанию рn+1 появляется на выходе модулярного сумматора 8, выход 9.
С выходов нейронов 2 входного слоя 15 значения вычетов по модулям р1, р2, ... ,pn поступают на входы НСКК, нейроны 4, по соответствующим модулям треугольной матрицы 10. Весовые коэффициенты нейронов 4, выполняющие роль распределенной памяти, определяются значением wij=. Нейроны 4 вычисляют значение с учетом переноса 12. Выходные значения НСКК, нейроны 4 треугольной матрицы 10, подаются на вход НСКК с весовыми коэффициентами wjk=1 для выполнения модульного суммирования 11, нейроны 6, где суммируются согласно правилу сложения цифр в представлении ОПСС, т.е. данные в i-м канале будут суммироваться с учетом переноса 13 в (i-1) канале по модулю рi в представлении ОПСС.
Перенос представляет собой число раз, превышающее величину модуля pi, который поступает к (i+1) каналу. Поскольку в каждой строке усеченной треугольной матрицы имеется (i-1) нулей перед первым значащим элементом, а сумма чисел может переноситься (n-1) раз, то абсолютная величина каждого переноса ограничивается величиной (n-1):
где wij=.
Из выражения (7) видно, что значение по расширенному основанию α n+1wn(n+1) в суммировании не участвует. С выхода НСКК по расширенному модулю, полученное значение суммы в дополнительном коде 14, подается на вход нейронной сети для выполнения финального шага, нейроны 8, весовой коэффициент которого wkl 7 определяются мультипликативной величиной На выходе нейрона 8 формируется вычет аn+1 9 по расширенному основанию.
Данное устройство может быть применено для определения вычетов по любому количеству l различных модулей. При этом определенные внешние параметры нейронных сетей для выполнения финального шага вычисления вычета по дополнительным расширенным модулям будут определяться мультипликативной величиной где l –количество расширенных модулей.
Время расширения кортежа числовой системы вычетов по любому количеству модулей определяется тремя циклами синхронизации: один цикл для формирования произведений один цикл для формирования где s=1, 2,... , l и один цикл для выполнения финального шага.
Изобретение преимущественно предназначено для построения функциональных блоков отказоустойчивых модулярных нейрокомпьютеров.
Нейронная сеть для расширения кортежа числовой системы вычетов машинного диапазона модулярного нейрокомпьютера, содержащая входной слой нейронов для фиксирования числа нейронов и вычисления значений вычетов по модулям p1, p2, …, pn, усеченную треугольную матрицу нейронных сетей конечного кольца по модулям системы остаточных классов, нейронной сети конечного кольца по модулям системы остаточных классов, при этом упомянутые нейронные сети конечного кольца предназначены для вычисления значения с учетом переноса, где - коэффициенты обобщенной позиционной системы счисления, - вычеты из числа А по mod pi, в нее введены нейронные сети конечного кольца для выполнения модульного суммирования по всем основаниям и дополнительному расширяемому модулям и нейронная сеть для выполнения финального шага вычисления вычета по дополнительно расширяемому модулю, отличающаяся тем, что в ней выходы нейронов входного слоя разветвлены на входы нейронных сетей конечного кольца усеченной треугольной матрицы, выполненной в виде распределенной памяти, выходы которых соединены с входами нейронных сетей конечного кольца с единичными синаптическими весами для выполнения модульного суммирования по всем основным и дополнительно расширяемому модулям, выходы переносов которых iмодулей, где i= 2, 3, … n, соединены с входами i+1 модулей, а выход суммы n+1 модуля соединен со входом нейронной сети для выполнения финального шага вычисления вычета по дополнительно расширяемому основанию.