Система остаточных классов: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[отпатрулированная версия][отпатрулированная версия]
Содержимое удалено Содержимое добавлено
Строка 100: Строка 100:
* [http://www.computer-museum.ru/histussr/sokconf0.htm Юбилейная Международная научно-техническая конференция «50 лет модулярной арифметике»]; 23-25 ноября 2005 года ([[Национальный исследовательский университет «Московский институт электронной техники»|МИЭТ]], Москва-Зеленоград) — М.: [[Ангстрем (компания)|ОАО "Ангстрем"]], [[Национальный исследовательский университет «Московский институт электронной техники»|МИЭТ]], 2006, — 775 с. ISBN 5-7256-0409-8.
* [http://www.computer-museum.ru/histussr/sokconf0.htm Юбилейная Международная научно-техническая конференция «50 лет модулярной арифметике»]; 23-25 ноября 2005 года ([[Национальный исследовательский университет «Московский институт электронной техники»|МИЭТ]], Москва-Зеленоград) — М.: [[Ангстрем (компания)|ОАО "Ангстрем"]], [[Национальный исследовательский университет «Московский институт электронной техники»|МИЭТ]], 2006, — 775 с. ISBN 5-7256-0409-8.
* Монография [http://elibrary.ru/item.asp?id=23447304 «Модулярная арифметика параллельных логических вычислений»], [[Финько, Олег Анатольевич|Финько О.А.]] / Под редакцией профессора В.Д. Малюгина; М.: [[Институт проблем управления имени В.А. Трапезникова РАН]], 2003. — 214 с.
* Монография [http://elibrary.ru/item.asp?id=23447304 «Модулярная арифметика параллельных логических вычислений»], [[Финько, Олег Анатольевич|Финько О.А.]] / Под редакцией профессора В.Д. Малюгина; М.: [[Институт проблем управления имени В.А. Трапезникова РАН]], 2003. — 214 с.
* {{книга
|автор =
|заглавие = Embedded Systems Design with Special Arithmetic and Number Systems
|ссылка = https://link.springer.com/book/10.1007/978-3-319-49742-6
|издание =
|место = Cham
|издательство = Springer International Publishing
|год = 21 March 2017
|страницы = 389
|isbn = 978-3-319-49742-6
}}


== Ссылки ==
== Ссылки ==

Версия от 09:19, 28 января 2018

Система остаточных классов (СОК) (от англ. Residue number system, другое название Модулярная арифметика) — непозиционная система счисления. Представление числа в системе остаточных классов основано на понятии вычета и китайской теореме об остатках. СОК определяется набором попарно взаимно простых модулей , то есть таких, что , называемых базисом, с произведением так, что каждому целому числу из отрезка ставится в соответствие набор вычетов , где

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

Преимущества системы остаточных классов

  • В СОК арифметические операции (сложение, вычитание, умножение, деление) выполняются покомпонентно, если про результат известно, что он является целочисленным и также лежит в .

Формула для сложения: , где

Аналогично выполняются вычитание, умножение и деление. Замечание: на деление накладываются дополнительные ограничения. Деление должно быть целочисленным, то есть делитель должен нацело делить делимое. Делитель должен быть взаимопростым со всеми модулями базиса.

Недостатки системы остаточных классов

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

Применение системы остаточных классов

СОК широко используется в микроэлектронике в специализированных устройствах ЦОС, где требуется:

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

Практическое применение: чехословацкая ламповая ЭВМ «EPOS», советская военная многопроцессорная суперЭВМ 5Э53, предназначенная для решения задач противоракетной обороны.

Специальные системы модулей

В модулярной арифметике существуют специальные наборы модулей, которые позволяют частично нивелировать недостатки и для которых существуют эффективные алгоритмы сравнения чисел и для прямого и обратного перевода модулярных чисел в позиционную систему счисления. Одной из самых популярных систем модулей является набор из трех попарно взаимно простых чисел вида {2n−1, 2n, 2n+1}.

Пример

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

Пример сложения

Сложим два числа 9 и 14 в базисе . Их представление в заданном базисе и (см. табличку выше). Воспользуемся формулой для сложения:

 — по таблице убеждаемся, что результат равен 23.

Пример умножения

Умножим два числа 4 и 5 в базисе . Их представление в заданном базисе и (см. табличку выше). Воспользуемся формулой для умножения:

 — по таблице убеждаемся, что результат равен 20.

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

Пример деления, при условии, что возможно деление нацело

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

Воспользуемся формулой

Здесь надо сказать, что , что не то же самое, что просто разделить на .
По формуле получаем:






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

См. также

Литература

  • Книга «Residue Number Systems: Theory and Implementation», Amos Omondi, Benjamin Premkumar — наиболее исчерпывающая информация о применении СОК с подробными примерами (на английском языке).
  • Теоретические основы машинной арифметики [Текст] / В.М. Амербаев; АН КазССР, Ин-т математики и механики. - Алма-Ата : Наука, 1976. - 324 с.; 21 см.
  • Червяков Н. И., Евдокимов А. А., Галушкин А.И., Лавриненко И. Н. и др. Применение искусственных нейронных сетей и системы остаточных классов в криптографии — М.: ФИЗМАТЛИТ, 2012. — 280 c. — ISBN 978-5-9221-1386-1.
  • Юбилейная Международная научно-техническая конференция «50 лет модулярной арифметике»; 23-25 ноября 2005 года (МИЭТ, Москва-Зеленоград) — М.: ОАО "Ангстрем", МИЭТ, 2006, — 775 с. ISBN 5-7256-0409-8.
  • Монография «Модулярная арифметика параллельных логических вычислений», Финько О.А. / Под редакцией профессора В.Д. Малюгина; М.: Институт проблем управления имени В.А. Трапезникова РАН, 2003. — 214 с.
  • Embedded Systems Design with Special Arithmetic and Number Systems. — Cham: Springer International Publishing, 21 March 2017. — С. 389. — ISBN 978-3-319-49742-6.

Ссылки