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

Методика выполнения базовых немодульных операций в модулярной арифметике с применением интервальных позиционных характеристик Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
684
128
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СИСТЕМА ОСТАТОЧНЫХ КЛАССОВ / НЕМОДУЛЬНАЯ ОПЕРАЦИЯ / СРАВНЕНИЕ / ОПРЕДЕЛЕНИЕ ЗНАКА / КОНТРОЛЬ ПЕРЕПОЛНЕНИЯ / ИНТЕРВАЛЬНАЯ ПОЗИЦИОННАЯ ХАРАКТЕРИСТИКА / ИНТЕРВАЛЬНЫЙ АНАЛИЗ / RESIDUE NUMBER SYSTEM / NON-MODULAR OPERATION / COMPARISON / SIGN DETERMINATION / OVERFLOW DETECTION / INTERVAL POSITIONAL CHARACTERISTIC / INTERVAL ANALYSIS

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Исупов Константин Сергеевич

Актуальность и цели. Системы остаточных классов (СОК) и модулярная арифметика обеспечивают возможность независимой обработки отдельных разрядов чисел и находят свое применение во многих стратегически важных областях науки, таких как криптография, цифровая обработка сигналов, высокоточные вычисления и пр. Известно, что основной проблемой эффективного использования СОК является сложность выполнения немодульных операций, требующих оценки позиционной величины модулярных чисел. Целью данной работы является теоретическое обоснование новой методики выполнения базовых немодульных операций в модулярной арифметике (сравнение, определение знака и контроль переполнения), основанной на вычислении и анализе интервальных позиционных характеристик модулярных чисел. Предлагаемая методика отличается своей простотой и позволяет асимптотически быстро получить достоверную оценку относительной позиционной величины модулярного числа. Материалы и методы. Для решения задачи эффективного определения относительной позиционной величины числа, представленного в системе остаточных классов, использовались следствия Китайской теоремы об остатках. Для обеспечения достоверности результатов выполняемых немодульных операций использованы основные положения интервального анализа. Результаты. Предложена новая методика выполнения немодульных операций сравнения, определения знака и контроля переполнения допустимого диапазона чисел в системах остаточных классов, основанная на вычислении и анализе интервальных позиционных характеристик модулярных чисел. Определены формальные условия корректного выполнения немодульных операций с использованием предложенного метода. Выполнен анализ трудоемкости вычисления интервальных характеристик. Получена вероятностная оценка пересечения интервальных характеристик двух модулярных чисел, приводящего к нарушению достаточных условий корректности немодульных операций. Выводы. Операции сравнения, определения знака и контроля переполнения чисел в СОК могут быть достоверно выполнены с использованием методики оценки интервальных позиционных характеристик модулярных чисел за линейное время при последовательной реализации вычислений и логарифмическое – при параллельной. При этом не требуется больших аппаратных затрат. В отдельных случаях интервальные характеристики не позволяют однозначно определить результат немодульной операции. Вероятность возникновения таких случаев составляет, где k – количество разрядов, отведенных для представления дробной части границ интервальных характеристик, а n – количество модулей СОК.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

METHODS OF BASIC NON-MODULAR OPERATIONS IN MODULAR ARITHMETIC USING INTERVAL POSITIONAL CHARACTERISTICS

Background. Residue Number Systems (RNS) and modular arithmetic enable independent processing of individual bits of numbers and find their application in many strategically important areas of science, such as cryptography, digital signal processing, high-precision calculations, etc. It is known that the main problem of the efficient use of RNS is the complexity of non-modular operations that require assessement of the positional values of modular numbers. The purpose of the study is a theoretical and scientific grounding of a new method of basic non-modular operations in modular arithmetic (comparison, sign determination, overflow detection), which is based on the calculation and analysis of interval positional characteristics of modular numbers. This method is characterized by its simplicity and allows to get reliable evaluation of the relative positional magnitude of a modular number asymptotically fast. Materials and methods. To solve the problem of the effective defenition of the relative positional value of a number represented in the residue number system, the Chinese Remainder Theorem has been used. The reliability of results of non-modular operations is proved by the fundamentals of Interval Analysis. Results. A new method of the definition of non-modular comparisons in residue number systems, sign determination and overflow detection based on the calculation and analysis of interval characteristics of modular numbers has been suggested. The formal conditions for the correct execution of non-modular operations using the proposed method have been identified. The analysis of the complexity of the interval characteristics calculation has been fulfilled. A probabilistic evaluation for the intersection of interval characteristics of two modular numbers, which leads to the violation of sufficient conditions for the correctness of non-modular operations, has been obtained. Conclusions. Comparison, sign determination and overflow detection operations in RNS can be reliably performed using the proposed interval positional characteristics evaluation technique in linear time for the sequential computations and logarithmic – in parallel. The proposed method does not require high hardware cost. In some cases, the interval positional characteristics do not enable to determine the result of the non-modular operation. The probability of occurrence of such cases is, where k is a count of bits to represent the fractional part of boundary interval characteristic, n is count of RNS modules.

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

УДК 004.052

К. С. Исупов

МЕТОДИКА ВЫПОЛНЕНИЯ БАЗОВЫХ НЕМОДУЛЬНЫХ ОПЕРАЦИЙ В МОДУЛЯРНОЙ АРИФМЕТИКЕ С ПРИМЕНЕНИЕМ ИНТЕРВАЛЬНЫХ ПОЗИЦИОННЫХ ХАРАКТЕРИСТИК

Аннотация. Актуальность и цели. Системы остаточных классов (СОК) и модулярная арифметика обеспечивают возможность независимой обработки отдельных разрядов чисел и находят свое применение во многих стратегически важных областях науки, таких как криптография, цифровая обработка сигналов, высокоточные вычисления и пр. Известно, что основной проблемой эффективного использования СОК является сложность выполнения немодульных операций, требующих оценки позиционной величины модулярных чисел. Целью данной работы является теоретическое обоснование новой методики выполнения базовых немодульных операций в модулярной арифметике (сравнение, определение знака и контроль переполнения), основанной на вычислении и анализе интервальных позиционных характеристик модулярных чисел. Предлагаемая методика отличается своей простотой и позволяет асимптотически быстро получить достоверную оценку относительной позиционной величины модулярного числа. Материалы и методы. Для решения задачи эффективного определения относительной позиционной величины числа, представленного в системе остаточных классов, использовались следствия Китайской теоремы об остатках. Для обеспечения достоверности результатов выполняемых немодульных операций использованы основные положения интервального анализа. Результаты. Предложена новая методика выполнения немодульных операций сравнения, определения знака и контроля переполнения допустимого диапазона чисел в системах остаточных классов, основанная на вычислении и анализе интервальных позиционных характеристик модулярных чисел. Определены формальные условия корректного выполнения немодульных операций с использованием предложенного метода. Выполнен анализ трудоемкости вычисления интервальных характеристик. Получена вероятностная оценка пересечения интервальных характеристик двух модулярных чисел, приводящего к нарушению достаточных условий корректности немодульных операций. Выводы. Операции сравнения, определения знака и контроля переполнения чисел в СОК могут быть достоверно выполнены с использованием методики оценки интервальных позиционных характеристик модулярных чисел за линейное время при последовательной реализации вычислений и логарифмическое - при параллельной. При этом не требуется больших аппаратных затрат. В отдельных случаях интервальные характеристики не позволяют однозначно определить результат немодульной операции. Вероятность возникновения таких случаев составляет (п ■ 21-к )/(1 - п ■ 21-к), где к - количество разрядов, отведенных для представления дробной части границ интервальных характеристик, а п - количество модулей СОК.

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

K. S. Isupov

METHODS OF BASIC NON-MODULAR OPERATIONS IN MODULAR ARITHMETIC USING INTERVAL POSITIONAL CHARACTERISTICS

Abstract. Background. Residue Number Systems (RNS) and modular arithmetic enable independent processing of individual bits of numbers and find their application in many strategically important areas of science, such as cryptography, digital signal processing, high-precision calculations, etc. It is known that the main problem of the efficient use of RNS is the complexity of non-modular operations that require assessement of the positional values of modular numbers. The purpose of the study is a theoretical and scientific grounding of a new method of basic non-modular operations in modular arithmetic (comparison, sign determination, overflow detection), which is based on the calculation and analysis of interval positional characteristics of modular numbers. This method is characterized by its simplicity and allows to get reliable evaluation of the relative positional magnitude of a modular number asymptotically fast. Materials and methods. To solve the problem of the effective defenition of the relative positional value of a number represented in the residue number system, the Chinese Remainder Theorem has been used. The reliability of results of non-modular operations is proved by the fundamentals of Interval Analysis. Results. A new method of the definition of non-modular comparisons in residue number systems, sign determination and overflow detection based on the calculation and analysis of interval characteristics of modular numbers has been suggested. The formal conditions for the correct execution of non-modular operations using the proposed method have been identified. The analysis of the complexity of the interval characteristics calculation has been fulfilled. A probabilistic evaluation for the intersection of interval characteristics of two modular numbers, which leads to the violation of sufficient conditions for the correctness of non-modular operations, has been obtained. Conclusions. Comparison, sign determination and overflow detection operations in RNS can be reliably performed using the proposed interval positional characteristics evaluation technique in linear time for the sequential computations and logarithmic -in parallel. The proposed method does not require high hardware cost. In some cases, the interval positional characteristics do not enable to determine the result of the non-modular operation. The probability of occurrence of such cases is (n • 21-k )/(1 - n • 21-k), where k is a count of bits to represent the fractional part of boundary interval characteristic, n is count of RNS modules.

Key words: residue number system, non-modular operation, comparison, sign determination, overflow detection, interval positional characteristic, interval analysis.

Введение

Пусть задан набор положительных попарно взаимно простых целых чисел {pi,Р2,...,pn} . Под системой счисления в остаточных классах понимается такая система, в которой целое число хе [0, P-1], где P = ^^Pi, представляется в виде набора остатков по модулям {Pi} для всех i = 1, n :

X---------> X = (хьХ2,...,Xn), (1)

где Xi = х mod Pi для всех i = 1, n .

Кортеж из вычетов {} образует модулярное число х, являющееся

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

Согласно Китайской теореме об остатках (КТО) [1, 2] между множеством целых чисел {х}о<х<р_1 и множеством кортежей {(XI, Х2,..., хп У} однозначно определяется биекция {х} ^{Х} , причем прямое отображение задается в соответствии с (1), а обратное определяется суммой по модулю Р:

х = Iх!#! + х2в2 +... + ХпВп (2)

где числа В1, В2,...,Вп - ортогональные базисы системы остаточных классов (СОК) [1].

Всюду далее обратный процесс определения позиционного числа х на основе модулярного кода х с использованием формулы (2) будет обозначать-

~ / \ КТО ч

ся с помощью стрелки: х = < х1, х2,..., хп >--->х .

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

1. Базовые немодульные операции: определение знака модулярного числа - результата операции алгебраического сложения, сравнение, контроль переполнения диапазона при сложении и умножении модулярных чисел. Необходимость выполнения операций данной группы возникает в подавляющем большинстве численных алгоритмов. В дальнейшем для обозначения всякой базовой немодульной операции * будет использоваться префиксная нотация: *(х,у). Такая запись позволит отличить базовые операции от

остальных. Список основных операций, относящихся к данной группе, представлен в табл. 1.

Таблица 1

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

Операция Обозначение Результат

1 2 3

Сравнение модулярных величин по числовому значению = (х y) 1, если х > у, 0, если хх = у, -1, если х < у

Окончание табл. 1

1 2 3

Определение знака модулярного числа -результата арифметической операции і(X) 1, если х < 0, 0, если х > 0

Контроль переполнения диапазона СОК при сложении двух модулярных чисел ^(^ j) 1, если х+у > Р, 0, если х+у < Р

Контроль переполнения диапазона СОК при умножении двух модулярных чисел O<(X, j) 1, если х • у > Р, 0, если х • у < Р

2. Прочие немодульные операции: вычисление вычета, деление модулярных чисел, масштабирование, округление, расширение модулярного числа на дополнительные основания, определение ранга числа и пр.

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

1. Методы выполнения базовых немодульных операций

В основе применяемых сегодня алгоритмов выполнения базовых немодульных операций в СОК лежат методы вычисления и анализа позиционных характеристик модулярных чисел [3]. Позиционная характеристика (ПХ) рсЬ(х) - функция от модулярных разрядов х1, х2, ..., хп, выражающая определенным образом информацию о позиционном значении соответствующего модулярного аргумента х. При этом если х и у - модулярные числа, а рсЬ( х) и рсЬ(у) - их ПХ, то выполнение немодульной операции * в общем случае основывается на импликации

*(рсЬ(х),рсЬ(у)) => *(х,у), (3)

т.е. результат выполнения базовой немодульной операции из табл. 1 над модулярными числами х и у определяется по результату выполнения этой операции над их ПХ, рсЬ(х) и рсЬ(у) соответственно.

Наиболее известными ПХ являются: ранг, след, минимальный след, функция ядра, коэффициенты системы счисления со смешанными основаниями (М1хе^Ка&х), функция четности, диагональная функция числа (SQT) [1-6]. Однако методы вычисления перечисленных ПХ требуют больших вычислительных либо аппаратурных затрат. Например, для преобразования чисел из СОК в смешанную систему по алгоритму Гарнера требуется выполнить

0(п2) арифметических операций, где п - количество модулей СОК [4]; алгоритм преобразования числа в позиционную систему на основе КТО требует работы с Р-разрядными числами, где Р может существенно превышать разрядность вычислительного устройства; SQT-метод [5] для эффективной реализации требует хранения в памяти ЭВМ больших подстановочных таблиц.

Среди известных наиболее быстрым является приближенный метод выполнения немодульных операций в СОК [2, 3]. Данный метод основан на вычислении приближенной позиционной характеристики (ППХ) модулярного числа - округленного значения отношения его позиционной величины

X —КТО > X к произведению P модулей СОК. Приближенный метод обладает в общем случае на порядок меньшей вычислительной сложностью, по сравнению с известными точными аналогами, что является его неоспоримым достоинством. Однако по самому своему существу он является эвристическим и не может гарантировать корректность результата немодульной операции для всех модулярных чисел из диапазона [О, P-l] из-за сложностей учета погрешностей округления, возникающих при вычислении ППХ. Действительно, ввиду ограниченной разрядности, ППХ может вообще не содержать верных значащих цифр, либо содержать недостаточное их количество. Это приводит к тому, что результат выполнения немодульной операции над числами X и у , определяемый по результату выполнения данной операции над их приближенными позиционными характеристиками в соответствии с импликацией (З), оказывается ошибочным. При этом время, необходимое для проверки корректности полученного результата, сопоставимо с переводом модулярных чисел в позиционную систему и пропорционально квадрату количества модулей СОК при использовании алгоритма Гарнера. В работе [7] представлен способ уменьшения значений ошибок округления ППХ, однако принципиально это не избавляет от возможности получения некорректного результата.

Таким образом, актуальной является задача разработки новых методов и алгоритмов выполнения базовых немодульных операций в СОК, которые обладают вычислительной сложностью, соизмеримой со сложностью приближенного метода, но при этом имеют строгое математическое обоснование и обеспечивают возможность эффективного контроля корректности результата выполняемых операций. Далее рассматривается один из возможных вариантов решения данной задачи, основанный на использовании базовых положений интервального анализа [S, 9].

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

Предлагаемая методика выполнения базовых немодульных операций в СОК основана на использовании нового типа позиционной характеристики модулярного числа - интервальной позиционной характеристики - и состоит в установлении и формализованной проверке истинности импликации

*(I (X/ P), I (y/P)) => *(X, у), (4)

т.е. результат операции * (из перечня, представленного в табл. l) над модулярными числами X и у предлагается определять по результату выполнения данной операции над интервальными позиционными характеристиками этих чисел, I(X/P) и I (у/P) соответственно. Интервальная характеристика определяется следующим образом.

Определение. Пусть exact(X/P) - точное значение отношения числа

X ——О > X к произведению модулей СОК P, представляющее собой в общем случае правильную бесконечную дробь. Под интервальной позиционной характеристикой (ИПХ) модулярного числа X понимается замкнутый вещественный интервал I (X/P ) = X/P, X/PJ, представленный парой направленно

округленных чисел-границ, отвечающих условию X/P < exact (X/P) < X/P .

Границы, задающие ИПХ, определяются по формуле, предложенной в [7], с модификацией, заключающейся в использовании направленных округлений - нижняя граница определяется округлением до ближайшего машинного числа с недостатком:

х/ P =

(

Z J-

i=l

1-1

Pi

Л

Pi

Pi

(З)

а верхняя - аналогичным округлением с избытком:

х/ P =

n

Z Т

i=l

(

х • p.

-1

Pi

Pi

Pi

(б)

где х{ (/ пробегает от 1 до п) - разряды модулярного числа X, для которого

' 1-11

определяется интервальная характеристика, р.

мультипликативная ин-

версия от величины Рг- = Р/по модулю pi (вес ортогонального базиса СОК),

а операторы -I и Т определяют выполнение округления с недостатком и с избытком соответственно. Формулы (5) и (6) непосредственно следуют из основных положений КТО.

Использование интервальных характеристик обеспечивает учет всех погрешностей, неизбежно возникающих при аппроксимации точного рационального значения exact (х/Р) конечным машинным числом ограниченной

разрядности: величина exact (х/ Р) локализуется интервалом I (х/ Р),

определяемым округленными границами х/Р и х/Р, при этом ошибки округлений приводят лишь к расширению границ, оставляя включение exact(х/Р)е I (х/Р) истинным. Это позволяет в каждом конкретном случае

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

Ошибки округлений при вычислении ИПХ отражаются в ее диаметре, который определяется разностью границ:

diamI(х/Р) = х/Р - х/Р .

Несложно показать, что если для представления дробной части каждой границы, определяемой в соответствии с (5) или (6), отведено k двоичных разрядов, а n - количество модулей СОК, используемых для представления

модулярного числа х, то diam I (х/Р) < n • 2-k .

Пример. Пусть СОК задана модулями {7,9,11,13} с произведением

Р = 9009 и весами ортогональных базисов {6,5,9,10} . Тогда границы ИПХ

для х = (6,1,0,8) определятся в соответствии с (5) и (6) следующим образом:

ц Р = 4 М + 4 !L5k + 4 M11 + 4 М!и

---- 7 9 11 13

хгр = т I6 • 6Ь + т I1 • 5Ь + т |0 • 9|ц + т I8 ^101з

7 9 11 13

= |0,14+0,55+0+0,151 =0,84,

= 10,15+0,56+0+0,16^ =0,87.

Таким образом, точное значение отношения х/Р локализуется интервалом I(х/Р) = [0.84, 0.87] с диаметром diamI(х/Р) = 0.03. Выполним проверку: х = (6,1,0,8) КТО >767810, 7678 / 9009 - 0.85226. □

3. Контроль корректности результатов немодульных операций

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3.1. Необходимое условие корректности немодульной операции

Значения границ ИПХ, вычисленные по формулам (5) и (6), в ряде случаев могут оказаться неверными. Эти ситуации возникают при их антипереполнении и переполнении.

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

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

Иллюстрация переполнения и антипереполнения границ ИПХ приведена на рис. 1. При возникновении данных ситуаций оказывается, что нижняя граница больше верхней. В связи с этим интервальные характеристики необходимо рассматривать как элементы полной интервальной арифметики Ка-ухера [10], допускающей возможность существования «неправильных» интервалов.

Определение. Интервальная характеристика I(х/Р) называется правильной по Каухеру, если ее нижняя граница, вычисленная по (5), не превосходит верхнюю, вычисленную по (6). В противном случае I (х/ Р) является

неправильной по Каухеру характеристикой.

Правильность ИПХ однозначно определяется знаком ее диаметра. Оценка правильности ИПХ позволяет однозначно определить случаи, когда модулярное число лежит вблизи границ отрезка [0, Р-1], вследствие чего мо-

1

1

гут возникнуть ситуации переполнения и антипереполнения его относительной величины. Тем самым разрешается один из основных недостатков, свойственных классическому точечному представлению приближенной позиционной характеристики в виде одного округленного числа [2, 3]. Таким образом, необходимым условием корректности результатов немодульных операций является правильность по Каухеру ИПХ всех операндов.

Область модулярных чисел для которых интервальные характеристики являются неправильными

Рис. 1. Переполнение и антипереполнение границ ИПХ 3.2. Достаточные условия корректности немодульных операций

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

Таблица 2

Достаточные условия корректности немодульных операций

Операция Достаточное условие корректности выполнения

= (5, y) diam (I (X/ P) n I (у/P)) Л 0

5 ( X ) diam ((x/P )n I ((P 0 v a/P = J2-1

O+(5, У) diam (I (X/P) +1 (у/P ))n 1)л 0 v inf (I (5^/ P) +1 (y/P )) = 1

Ox(5, У ) diam (I (X/P )• I (y/P ))n 1)л 0 v inf (I (X/P )• I (y/P )) =)

В табл. 2 используются следующие обозначения: 1(Ц- ) =

P-. P -. 2P ’ 2P

интервал, локализующий относительную величину центральной точки (P - 1)/2 числового диапазона СОК при нечетном P, inf (l (x/P) +1 (y/P)) -

нижняя граница интервала-суммы (l (x/P) +1 (y/P)), а inf (l (x/P )• I (y/P)) -

нижняя граница соответствующего интервала-произведения. Приведенные условия основаны на операции бинарного пересечения ИПХ, которая определяется следующим образом:

причем если этот интервал не является правильным по Каухеру (его диаметр

но определяется пересечение ИПХ и константы, которая рассматривается как вырожденный вещественный интервал с одинаковыми границами.

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

Пример. Определить возможность корректного сравнения чисел X = (1,8,7,0) и у = (6,5,10,9), представленных в СОК с модулями {7,9,11,13} .

Вычислим ИПХ операндов в соответствии с выражениями (5) и (6), округляя их границы до двух разрядов после точки:

Полученные ИПХ правильные, но пересекаются, следовательно, опера-

числения границ. Вычисляя ИПХ с тремя разрядами после точки, имеем:

В данном случае ИПХ не пересекаются, следовательно,

лученных интервальных характеристик даст корректный результат: X > у .

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

Обобщенный алгоритм выполнения базовых немодульных операций в СОК с использованием интервальных характеристик представлен на рис. 2.

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

I (X/P) n I (у/P) = {a |a є I (X/P) л a є I (у/P)} .

Результат этой операции всегда может быть представлен интервалом

(I(X/P) nI(у/P))= max{X/P, у/P},min{X/P, у/p}] ,

имеет отрицательный знак), то I (X/Р) и I(у/Р) не пересекаются. Аналогич-

ция стр (х, у) не может быть выполнена корректно при данной точности вы-

I(X/P) = [0.028, 0.03-], I(у/P) = [0.023, 0.027].

I(X/Р)пI(у/Р) = 0 , поэтому сравнение модулярных чисел с помощью по-

4. Анализ трудоемкости

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

Рис. 2. Алгоритм выполнения немодульных операций в СОК с использованием интервальных позиционных характеристик

Если одна граница, например нижняя, уже вычислена, то для вычисления верхней границы ИПХ нет нужды повторно умножать мультипликативные инверсии на разряды модулярного числа. При этом нужно будет выполнить п делений с округлением «вверх» и одно п-арное суммирование. Таким образом, определение ИПХ требует приблизительно 3п + 2п = 5п элементарных операций, где п - количество модулей СОК.

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

значения разрядов модулярного числа и деления с соответствующим округлением будут выполняться параллельно по модулям СОК. Модульное суммирование полученных слагаемых может быть выполнено с использованием каскадной схемы. В этом случае потребуется |"log2 n \ итераций для суммирования и одна итерация для получения дробной части суммы.

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

Таким образом, использование интервальных характеристик позволяет на порядок снизить сложность выполнения основных немодульных операций в СОК, по сравнению с известным методом перехода к полиадическому коду [6], который характеризуется квадратичной сложностью при последовательной реализации и линейной при параллельной.

5. Оценка вероятности пересечения интервальных характеристик

. . . . X/P+X/P

Обозначим mid I (X/P ) = ^=2----медиана (средняя точка) интерваль-

ной характеристики. Примем diamI(X/P) = diamI(y/P) = d . Тогда при равномерном распределении модулярных чисел в числовом диапазоне [0, P-1] вероятность V(I(X/P)nI(у/P)) пересечения их ИПХ, приводящего к нарушению достаточных условий (для операции сравнения двух чисел в СОК), определяется соотношением площадей квадрата

Q = j(midI(X/P),midI(у/P)): midI(X/P),midI(y/P)

0 +—,1 --

2 :

и вписанного в него шестиугольника

Г = {(midI(X/P), midI (у/P)): |midI (X/P) - midI(у/P)| d d} и имеет оценку

V (I (X/P )n I (y/P)) (n • 21-k )/(1 - n • 21-k), (7)

где k - количество разрядов, отведенных для представления дробной части границ ИПХ, а n - количество модулей СОК. Например, если n = 8 и k = 52,

то V(I(X/P)пI(у/P))»1,78 10-15, поэтому с достаточно большой уверенностью следует полагать, что ИПХ двух выбранных случайным образом модулярных чисел практически никогда не пересекутся. На рис. 3 представлены графики функции вероятности (7) для различных сочетаний n и k.

Заключение

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

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

Разрядность дробной части интервальной характеристики, к

Рис. 3. Зависимость вероятности пересечения интервальных характеристик от сочетания n и к

По сравнению с известным методом, основанным на потактовом переходе к полиадическому коду, предложенная методика позволяет в общем случае на порядок снизить сложность выполнения базовых немодульных операций в СОК: алгоритмы, основанные на использовании интервальных характеристик, обладают вычислительной сложностью O(n) по количеству модулей системы в последовательной реализации и O(log n) - в параллельной; в свою очередь алгоритмы, основанные на получении полиадического кода, обладают соответственно квадратичной и линейной вычислительной сложностью.

Список литературы

1. Акушский, И. Я. Машинная арифметика в остаточных классах / И. Я. Акуш-ский, Д. И. Юдицкий. - М. : Сов. Радио, 1968. - 440 с.

2. Omondi, A. Residue Number Systems: Theory and Implementation (Advances in Computer Science and Engineering Texts) / А. Gmondi, B. Premkumar. - London : Imperial College Press, 2007. - 312 p.

3. Червяков, Н. И. Приближенный метод выполнения немодульных операций в системе остаточных классов / Н. И. Червяков, В. М. Авербух, М. Г. Бабенко, П. А. Ляхов, А. В. Гладков, А. В. Гапочкин // Фундаментальные исследования. -2012. - № 6 (1). - С. 189-193.

4. Kof, С. K. A Fast Algorithm for Mixed-Radix Conversion in Residue Arithmetic / C. K. Kog // Processors of the IEEE International Conference Computer Design (IC-CD'89): VLSI in Computers and Processors, October, 1989. - P. 18-21.

5. Dimauro, G. A New Technique for Fast Number Comparison in the Residue Number System / G. Dimauro, S. Impedovo, G. Pirlo // IEEE transactions on computers. -1993. - Vol. 42, № 5. - P. 608-612.

6. Полисский, Ю. Д. Сравнение чисел в системе остаточных классов / Ю. Д. Полисский // 50 лет модулярной арифметике : юбилейная Междунар. науч.-техн. конф. - М. : МИЭТ, 2006. - С. 274-290.

7. Исупов, К. С. Способ уточненного вычисления приближенной позиционной характеристики для выполнения немодульных операций в системе остаточных классов / К. С. Исупов // Фундаментальные исследования. - 2013. - № 4 (5). -С. 796-800.

8. Кулиш, У. Достоверные вычисления. Базовые численные методы / У. Кулиш, Д. Рац, Р. Хаммер, М. Хокс ; пер. с англ. - Москва ; Ижевск : НИЦ «Регулярная и хаотическая динамика», 2005. - 496 с.

9. Шарый, С. П. Конечномерный интервальный анализ / С. П. Шарый ; ИВТ СО РАН, 2012. - 605 с. - URL: //http: www.nsc.ru/interva/

10. Kaucher, E. Interval analysis in the extended interval space IR / E. Kaucher // Computing Supplement. - 1989 - Vol. 2. - P. 33-49.

References

1. Akushskiy I. Ya., Yuditskiy D. I. Mashinnaya arifmetika v ostatochnykh klassakh [Machine arithmetic in residue classes]. Moscow: Sov. Radio, 1968, 440 p.

2. Omondi A., Premkumar B. Residue Number Systems: Theory and Implementation (Advances in Computer Science and Engineering Texts). London: Imperial College Press, 2007, 312 p.

3. Chervyakov N. I., Averbukh V. M., Babenko M. G., Lyakhov P. A., Gladkov A. V., Gapochkin A. V. Fundamental’nye issledovaniya [Fundamental research]. 2012, no. 6 (1), pp. 189-193.

4. Kog C. K. Processors of the IEEE International Conference Computer Design (IC-CD’89): VLSI in Computers and Processors. October, 1989, pp. 18-21.

5. Dimauro G., Impedovo S., Pirlo G. IEEE transactions on computers. 1993, vol. 42, no. 5, pp. 608-612.

6. Polisskiy Yu. D. 50 let modulyarnoy arifmetike: yubileynaya Mezhdunar. nauch.-tekhn. konf. [50th anniversary of modular arithmetic: International scientific and practical conference]. Moscow: MIET, 2006, pp. 274-290.

7. Isupov K. S. Fundamental’nye issledovaniya [Fundamental research]. 2013, no. 4 (5), pp. 796-800.

8. Kulish U., Rats D., Khammer R., Khoks M. Dostovernye vychisleniya. Bazovye chislennye metody; per. s angl. [Authentic calculation. Basic numerical methods; translation from English]. Moscow; Izhevsk, 2005, 496 p.

9. Sharyy S. P. Konechnomernyy interval’nyy analiz [Finite-dimensional interval analysis]. 2012, 605 p. Available at: //http: www.nsc.ru/interva/

10. Kaucher E. Computing Supplement. 1989, vol. 2, pp. 33-49.

Исупов Константин Сергеевич аспирант, Вятский государственный университет (Россия, г. Киров, ул. Московская, 36)

Isupov Konstantin Sergeevich Postgraduate student,

Vyatka State University

(36 Moscovskaya street, Kirov, Russia)

E-mail: isupov.k@gmail.com

УДК 004.052 Исупов, К. С.

Методика выполнения базовых немодульных операций в модулярной арифметике с применением интервальных позиционных характеристик / К. С. Исупов // Известия высших учебных заведений. Поволжский регион. Технические науки. - 2013. - № 3 (27). - С. 26-39.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.