ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
«НАУКА. ИННОВАЦИИ. ТЕХНОЛОГИИ», №4, 2013
удк 004.315 И. Н. Лавриненко [I. N. Lavrynenko], С. В. Лавриненко [S. V. Lavrynenko], А. В. Лавриненко [A. V. Lavrynenko], Н. А. Мальцев [N.A. Maltsev]
ИСПОЛЬЗОВАНИЕ ДРОБНЫХ ВЕЛИЧИН ПРИ РЕАЛИЗАЦИИ ПРИБЛИЖЕННОГО МЕТОДА ВЫЧИСЛЕНИЯ ПОЗИЦИОННОЙ ХАРАКТЕРИСТИКИ
THE USE OF FRACTIONAL UNITS FOR APPROXIMATE CALCULATION METHOD OF POSITIONAL SPECIFICATIONS
В статье предлагается новый эффективный метод определения позиционной характеристики числа в системе остаточных классов на основе использования относительной величины числа и показаны способы его применения для реализации важнейших немодульных операций.
Ключевые слова: система остаточных классов, позиционная характеристика, численный метод, приближенный метод, периодическая дробь.
The paper proposes a new efficient method for determining the position characteristics of the system of residual classes through the use of the relative magnitude of numbers and shows how its use for non-modular implementation of the major operations.
Keywords: system of residual classes, characterized positional-acteristic, numerical method, the approximate method, the periodic fraction.
При использовании двоичной системы счисления воспользуемся некоторыми свойствами двоичного представления дробей а,/рг, где а, - разряды числа в СОК, р , - основания СОК, I = [1,п], 1 < аг < рг - 1, (р,,2) = 1.
Поскольку (р ,,2) = 1, то дробь разлагается в бесконечную периодическую дробь по степеням двойки. Определение периодов, отвечающих каждому значению а, осуществляется по методу, изложенному в [1]. Положим, а1 = 1 и образуем последовательности типа
1с1г120| , ^г1! , (а^2! ,..., |«12Г1Г
I IР1 I I I I р, I \р1
Полученная последовательность вычетов имеет период т1. Вычет а1 = 1, назовем начальным элементом группы. Далее берем млад-
ший вычет а2, не попавший в первую группу и формируем для него новую последовательность
I а22°|+, | а221| | а222| | а22т2 | ; = а,
Данная последовательность имеет период т2. Вычет а2 -начальный элемент второй группы. Продолжив эту процедуру разобьем - вычеты чисел по модулю р1, на группы вычетов, каждая из которых имеет свой период. При этом должно выполняться т1 + т2 + ... + = pi - 1.
Пример 1. Определить периоды вычетов для оснований р = 21; 13;
23; 3; 5; 7.
1. р = 21.
т1 = 6, т2 = 3
к 0 1 2 3 4 5 6
М; 1 2 3 8 16 11 1
3 1 1 Т4 = 2
к 0 1 2 3 4 5 6
М; 5 10 20 19 17 13 5
т5 = 3
0 12 3
М;
9 18 15 9
0 12 3
3 6 12 3
М;7
14 7
Анализ всех групп вычетов показывает, что в данных таблицах представлены все вычеты по модулю 21. На этом процесс построения прекращается. При сложении всех т, имеем:
т1 + т2 + т3 + т4 + т5 = р- 1
т1 + т2 + т3 + т4 + т5 = 6 + 3 + 6 2 + 3 = 20 = 6 р - 1
Аналогично проведем построение для остальных модулей.
к
к
012
к
2. р = 23. т1 = 11
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
Использование дробных величин при реализации приближенного метода.
к 0 1 2 3 4 5 6 7 8 9 10 11
«12*; 1 2 4 8 16 9 18 13 3 6 12 1
т2 = 11
к 0 1 2 3 4 5 6 7 8 9 10 11
«221; 5 10 20 17 11 22 21 29 15 7 14 5
Окончательно имеем т1 + т2 = 11 + 11 = 22 = р - 1.
р = 7. Т1 = 3 т2 = 3
к0 1 2 3 к 0 1 2 3
«12*|; 1 2 4 1 М; 3 6 5 3
т1 + т2 = 6 = р - 1
Для модулей, у которых число 2 является первообразным корнем, соответственно имеем:
4. р = 13. т1 = 12
к 0 1 2 3 4 5 6 7 8 9 10 11 12
1 2 4 8 3 6 12 11 9 5 10 7 1
т1 = 12 = р - 1 5. р = 3. т1 = 2
к0 1 2
«12*|; 1 2 1
т1 = 2 = р - 1 6. р = 5. т1 = 4
к 0 1 2 3 4
«12*|; 1 2 4 3 1
Т1 = 4 = р - 1
Проведем перекодировку дроби а /р, (0 < а < р) в двоичную дробь. Для формирования двоичного разложения дробей а/р достаточно указать (в пределах одного периода) разложение дробей а' /р,
где а' - начальные вычеты группы вычетов периода т'. Пусть, например, а° - начальный вычет группы вычетов периода т. Тогда последовательность вычетов этой группы имеет вид а0 , а1 = ф(а°), а2 = ф(а§),..., ат-1 = ф(а°-1). Соответственно, последовательность цифр двоичного разложения «начальной» дроби а° /р в пределах одного периода имеет вид в в (а0), в (а0,..., в (ат-1)
где <?(«,) =
1 Р
\,еслиа, > —
' 2
л Р
О.еслиа, < — ' 2
Отсюда следует правило разложения дроби а/р, ак = ф(ак) в двоичную дробь любой длины. Приведенные таблицы служат для определения констант.
Пример 2. Провести перекодировку дробей из примера 1.
1) Р = 21.
к 0 1 2 3 4 5
ак 1 2 4 8 16 11
ад)
0
0
0
0
а = 3, т = 3
к 0 1 2
ак 3 6 12
ад) о о 1
а1 = 5, т = 6
к 0 1 2 3 4 5
ак 5 10 20 19 17 13
ад) 0 0 1 1 1 1
а1 = 5, т = 6
к 0 1
ак 7 14
ад) 0 1
а1 = 9, т = 3
к 0 1 2
ак 9 18 15
9(ак) 0 1 1
На основе полученных таблиц представим некоторые дроби а/р двоичном виде:
^ = 0,001Ш00П00...00И00... ^ = 0,П0ПП0И...П011...
Я 18
— = о,шоо1...оо1... — = о,цдцо...по...
21 г г г ^^ г г г
— = 0,0101...01... — = 0Д010...10...
21 ^^ ^ 21 ^
г г г г г г
2) р = 13
а1 = 1, т = 12
к 0 1 2 3 4 5 6 7 8 9 10 11
ак 1 2 4 8 3 6 12 11 9 5 10 7
в(ак) 0 0 0 1 0 0 1 1 1 0 1 1
В случае когда р - простое число и 2 - первообразный корень, вторая половина периода дроби 1/р оказывается двойственной к первой. Эта особенность позволит уменьшить объем памяти в два раза при хранении дробных чисел.
Представим двоичные дроби, например 1/13 и 9/13:
— = 0,000100111011010011101100...010011101100 (г = г' + г")
13 1——"—т^-•-' '-<-- 4 '
Г Г Г г
— = 0,101100010011101100010011...101100010011...
13 '-■-"-■-' '-■-'
г г г
3) р = 23. а1 = 1, т = 1
к 0 1 2 3 4 5 6 7 8 9 10
ак 1 2 4 8 16 9 18 13 3 6 12
в(ак) 0 0 0 0 1 0 1 1 0 0 1
а1 = 5, т = 11
к 0 1 2 3 4 5 6 7 8 9 10
Ок 5 10 20 17 11 22 21 19 15 7 14
в(Скк) 0 0 1 1 0 1 1 1 1 0 1
Представим двоичные дроби, например 16/23 и 7/23
23
1_ 23
= 0,1011001000010110010000...101100ю000...
= 0,0100110111101001101111...01001101111...
4) р = 7, а1 = 1, т = 3, а2 = 1, т = 3
к 0 1 2 к 0 1 2
Ок 1 2 4 Ок 3 6 5
ад 0 0 1 ад) 0 1 1
4 4
Представим двоичную дробь, например -: - = 0,КЮ100...100..
' ' г г г
5) р = 3, а1 = 1, т = 2
к 0 1
Ок 1 2
ад) 0 0
Представим двоичную дробь, например -: ^ = 0,0101.. .01..
г г г
6) р = 5, а1 = 1, т = 4
к 0 1 2 3
Ок 1 2 4 3
ад) 0 0 1 1
3 3
Представим двоичную дробь, например -:- = 0,10011001...1001..
5 5 г г г
Таким образом, таблицы разложения начальных дробей в двоичную дробь в пределах периода могут служить исходной информацией для разложения любой дроби а р в двоичную дробь произвольной длины, которая в дальнейшем используется при сложении двоичных вычетов.
ФИЗИКО-МАТЕМАТИЧЕСКИЕ НАУКИ
. Использование дробных величин при реализации приближенного метода...
Пример 3. Пусть задана система оснований
Pi = 2'Р2 = 3,Рз = 5> Р4 = 7
Объем диапазона СОК равен P = 2 • 3 • 5 • 7.
При этом величины Pi будут иметь следующие значения
Р Р Р Р
= — = 105, Рг= — = 1% Ръ= — = Ь%рА= — = 30.
Р\ Рг Ръ Ра
Для примера возьмем наихудший случай, когда необходимо сравнить два соседних числа. Для сравнения воспользуемся приближенным методом [2, 3]. Сравним два числа А1 = 1 и А2 = 2, представленные в СОК по основаниямр1, р2, р3, р4. Тогда Аг = (1,1,1,1), А2 = (0, 2, 2, 2).
I^-'I
Для решения задачи определим константы к, = ^^ представленные в виде дробей
Кх =
1 1 1 1
105 к,- 70 1-1 г,- 42 г,- 30 7_4
Представим константы Ki в виде десятичных и двоичных дробей, тогда для десятичных дробей константы:
К = 0,5; К2 = 0,3333...; К3 = 0,6; К4 = 0,5714, а двоичные значения констант для модулей 3,5,7 возьмем из примера 2:
К = 0,1; К2 = 0,0101...; К = 0,1011...; КА = 0,1001...
Используя выражение (4) найдем А1/Р и А2/Р. Для этого вычислим приближенные произведения К а в виде десятичных и двоичных дробей. Десятичные дроби.
Вычислим
4- * |1.0,5 +1 • 0,3333 +1 • 0,6 +1 • 0,57ц = |0,5 + 0,3333 + 0,6 + 0,5714^
Далее найдем сумму полученных приближенных чисел, округляя дроби до 1, 2, 3 и 4 знаков после запятой.
0,5 0,5 0,5 0,5
+ 0,3 + 0,33 + 0,333 + 0,3333
0,6 0,6 0,6 0,6
0,6 i 0,57 i 0,571 i 0,5714
0,0 0,00 0,004 0,0047
Из четырех возможных способов, очевидно, четвертый является наиболее точным.
Аналогичным образом поступим с числом
А2: ^*\0-0,5 + 2- 0,3333 + 2-0,6 + 2- 0,5714^ = |0,6666 + 0,2 + 0,1428|, ;
0,7 0,67 0,667 0,6666
+ 0,2 + 0,2 + 0,2 + 0,2
од 1 0,14 1 0,1431 0,1428
0,0 0,01 0,010 0,0094
Для установления факта какое число больше (меньше) достаточновоспользоваться вторым столбцом, где ф = 0,001, а ф = 0,00, так как , то А2 >А} Первый столбец дает неверный результат при
сравнении - не определяет, какое число больше (меньше). Третий и четвертый столбцы определяют верно, какое из сравниваемых чисел больше, но в них третий и четвертый десятичные знаки после запятой являются избыточными, так как нас не интересует вопрос о том, насколько одно из чисел больше или меньше другого. Итак, для сравнения чисел в условиях примера достаточно иметь два десятичных разряда после запятой.
Известно, что абсолютная погрешность суммы равна сумме граничных абсолютных погрешностей слагаемых. Это утверждение дает возможность оценить точность получаемой суммы и предвидеть, с какой точностью надо взять слагаемые для того, чтобы гарантировать необходимую точность результата. При большом числе слагаемых вычисления лучше вести с двумя запасными десятичными знаками, а после сложения результат округлить согласно точности числа, имеющего наибольшую абсолютную погрешность.
Двоичные дроби. Аналогично десятичным дробям проведем вычисления для двоичных дробей. Для возможности округления возьмем два периода, тогда:
^ »|1 • 0,1|, +11 • 0,01011, +11 • 0,10111011[ +11 • 0,100110011 =
р I > II I ' II I ' II I ' II
= 0,1 + 0,0101 + 0,10111011 + 0,10011001
Далее найдем сумму приближенных чисел, взяв по 4 и 5 знаков после запятой. Очевидно, что во втором случае вычисления будут более точными.
0,1 0,1
+ 0,01 + 0,01
0,1001 0,10111
0,1001 1 0,10011
0,0000 0,0010
Далее найдем суммы приближенных значений ф аналогично вычислениям для числа
0,01 0,01
+0,0111 +0,01111
А. 0,0011 1 0,00110
0,0010
0,00101
Для установления факта, какое из чисел больше (мень-
А А
ше) воспользуемся вторым способом, где = 0,00101, а = 0,00010 так как — >—, то А>АГ Первый способ менее точен. Итак для сравнения чисел достаточно взять один период с дополнительным операционным разря-
это двоичная
дом второго периода. В общем случае выражение 2 к,а,
1=1
дробь, заключенная между 0 и 1, полученная в результате суммирования
произведения разрядов остаточного кода и двоичных компонент дробей
р I. Причем погрешность представления двоичной дроби должна быть
я 1 _ „
заключена в пределах 0 — & 2 г, где г - младший разряд дроби .
Для оценки качества предлагаемых решений, выраженного в скорости и сложности выполнения операций над данными, представленными в десятичных и двоичных дробях, введем определенные критерии с учетом нежестких допущений, позволяющих сравнить эффективность точных и приближенных методов вычисления позиционных характеристик модулярного кода.
Введем нежесткие допущения: динамические диапазоны сравниваемых чисел различными методами равны между собой; длительность выполнения операций определяется циклами синхронизации, или в тактах, и линейно зависит от размерности обрабатываемых данных; сложность определяется количеством разрядов; сравнение методов определения позиционных характеристик между собой производится по двум критериям: временным затратам и разрядности обрабатываемых чисел. Предложенный в работах [2, 3] метод приближенного вычисления позиционной характеристики сравним с точным методом определения позиционной характеристики
[4]. В качестве точного метода возьмем метод с использованием коэффициентов обобщенной позиционной системы счисления [5, 6], который является наилучшим среди известных методов. В таблице приведены временные затраты и разрядности обрабатываемых чисел для конкретного случая:
временные затраты и разрядности обрабатываемых чисел
Десятичное Двоичное
5 О представление представление
¡ё 5 1- Кол-во Кол-во Кол-во Кол-во
ш о ао 2Е разрядов тактов разрядов тактов
Р1 ОПСС 4 9 9 8
Р2 Р = 210
Р3 Р4 Приближенный 2 6 5 4
Анализируя данные, приведенные в таблице, можно отметить, что при использовании разработанного приближенного метода требуются 2 разряда для операций с десятичными числами, и 5 разрядов для операций с двоичными числами. Отсюда можно сделать вывод, что представление и обработка данных двоичными разрядами более эффективнее по сравнению с десятичным представлением. При сравнении приближенного метода определения позиционной характеристики на основе относительных величин с точным методом па основе обобщенной позиционной систем счисления, который считается наиболее быстродействующим, можно отметить высокую эффективность приближенного метода. Так, для приведенного примера при десятичной арифметике разрядность уменьшается в 2 раза, скорость вычисления в 1,5 раза, а при двоичных вычислениях разрядность уменьшается в 1,8 раз, а скорость повышается в 2 раза.
Использование периодических дробей в приближенном методе обладает следующими привлекательными свойствами: высокая скорость, малые аппаратурные затраты и универсальность. Применение приближенного метода позволяет сократить временные и аппаратурные затраты на выполнение немодульных операций, что открывает хорошие перспективы для дальнейшего развития и применения теории модулярной арифметики на практике.
ЛИТЕРАТУРА 1. Амербаев В. М. Теоретические основы машинной арифметики. Алма-Ата: Наука, 1976. 324 с.
2. Червяков Н. И. Методы, алгоритмы и техническая реализация основных проблемных операций, выполняемых в системе остаточ-
ных классов // Инфокоммуникационные технологии. № 4, 2011. C. 4-12.
3. Червяков Н. И, Бабенко М. Г., Ляхов П. А. Лавриненко И. Н. Приближенный метод ускоренного обнаружения и локализации неисправного вычислительного канала в ЭВМ, функционирующей в системе остаточных классов // Нейрокомпьютеры: разработка, применение. Москва. 2011. № 10. С. 13-19.
4. Акушский И. Я., Юдицкий Д. И. Машинная арифметика в остаточных классах. М.: Советское радио, 1968. 440 с.
5. Червяков Н. И., Сахнюк П. А., Шапошников А. В. Макоха А. Н. Нейрокомпьютеры в остаточных классах. М.: Радиотехника, 2003. 272 с.
6. Червяков Н. И., Сахнюк П. А., Шапошников А. В., Ряднов С. А. Модулярные параллельные вычислительные структуры нейропроцес-сорных систем. М.: Физматлит, 2002. 288 с.
ОБ АВТОРАх Лавриненко Ирина Николаевна, ФГАОУ ВПО «Северо-Кавказский федеральный университет», Институт математики и естественных наук, кандидат физико-математических наук, доцент кафедра высшей алгебры и геометрии, тел. (8652) 35-32-73. E-mail: [email protected].
Лавриненко Сергей Викторович, ФГАОУ ВПО «Северо-Кавказский федеральный университет», Институт математики и естественных наук, кандидат технических наук, доцент кафедры прикладной математики и математического моделирования. Лавриненко А.В., ФГАОУ ВПО «Северо-Кавказский федеральный университет», Институт математики и естественных наук, аспирант кафедры прикладной математики и математического моделирования. Мальцев Николай Александрович, ФГАОУ ВПО «Северо-Кавказский федеральный университет», Институт математики и естественных наук, аспирант кафедры прикладной математики и математического моделирования
Lavrynenko Irina, North Caucasian Federal University, Institute of Mathematics and Natural Sciences, candidate of physical and mathematical sciences, associate professor of the Department of Higher Algebra and Geometry, tel. (8652) 35-32-73. E-mail: [email protected].
Lavrynenko Sergey Viktorovich, North Caucasian Federal University, Institute of Mathematics and Natural Sciences, Ph. D., assistant professor of applied mathematics and mathematical modeling. Lavrynenko A.V., North Caucasian Federal University, Institute of Mathematics and Natural Sciences, graduate student of the Department of applied mathematics and mathematical modeling. Maltsev Nikolai, North Caucasian Federal University, Institute of Mathematics and Natural Sciences, graduate student of the Department of applied mathematics and mathematical modeling.