Алгоритм быстрого возведения в степень

Алгоритм быстрого возведения в степень

Алгоритм быстрого возведения в степень — алгоритм, предназначенный для возведения числа x в натуральную степень n за меньшее число умножений, чем это требуется в определении степени.

Алгоритм не всегда оптимален: например, быстрое возведение в степень n = 15 потребует 6 умножений, хотя возведение в 15-ю степень можно выполнить и за 5 умножений.

Содержание

Описание

Пусть n=(\overline {m_{k}m_{k-1}...m_{1}m_{0}})_2 — двоичное представление степени n, то есть,

n=m_{k} \cdot 2^{k}+m_{k-1} \cdot 2^{k-1}+\dots+m_{1} \cdot 2+m_{0},

где m_{k}=1, m_{i} \in \{ 0,1 \}. Тогда

x^{n}=x^{((\dots((m_{k} \cdot 2+m_{k-1}) \cdot 2+m_{k-2}) \cdot 2+\dots) \cdot 2+m_{1}) \cdot 2 + m_{0}}=((\dots(((x^{m_{k}})^{2} \cdot x^{m_{k-1}})^{2}\dots)^{2} \cdot x^{m_{1}})^2 \cdot x^{m_{0}}.

Таким образом, алгоритм быстрого возведения в степень сводится к мультипликативному аналогу схемы Горнера:

\begin{Bmatrix} s_1=x \\ s_{i+1}=s_i^2 \cdot x^{m_{k-i}} \\ i=1,2,\dots,k \end{Bmatrix}.

Вычислительная сложность

Количество умножений, требуемое для возведения числа x в степень n алгоритмом быстрого возведения в степень, даётся формулой: H+2(E-1), где H — количество нулей, а E — количество единиц в двоичной записи числа n. Таким образом, количество умножений равно  O(\log{n}) .

Например, для возведения числа в сотую степень этим алгоритмом потребуется всего лишь 8 умножений.

Обобщения

Пусть пара (S, *) — полугруппа, то есть S — произвольное множество, на котором задана бинарная операция * такая, что:

  • Для любых элементов a и b из S справедливо: (a * b) так же из S. (замкнутость)
  • Для любых элементов a, b и c из S справедливо: ((a * b) * c) = (a * (b * c)). (ассоциативность)

Мы можем назвать операцию * умножением и определить операцию возведения в натуральную степень:

a^n=\left\{ \begin{array}{ll} a & n = 1 \\ a * \left(a^{n-1}\right) & n > 1 \end{array} \right.

Для вычисления значений an можно использовать алгоритм быстрого возведения в степень.

Ссылки


Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Полезное


Смотреть что такое "Алгоритм быстрого возведения в степень" в других словарях:

  • Быстрое возведение в степень — Алгоритм быстрого возведения в степень  алгоритм, предназначенный для возведения числа x в натуральную степень n за меньшее число умножений, чем это требуется в определении. Алгоритм не всегда оптимален. Например, при n=15 требуется 6 умножений,… …   Википедия

  • Алгоритм нахождения корня n-ной степени — Арифметическим корнем n ной степени n√A положительного действительного числа A называется положительное действительное решение уравнения …   Википедия

  • Возведение в степень — Возведение в степень  бинарная операция, первоначально происходящая из многократного умножения натурального числа на самого себя. Обозначение: называ …   Википедия

  • Криптосистема Ривеста-Шамира-Адельмана — RSA (буквенная аббревиатура от фамилий Rivest, Shamir и Adleman)  криптографический алгоритм с открытым ключом. RSA стал первым алгоритмом такого типа, пригодным и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе… …   Википедия

  • Криптосистема Ривеста — Шамира — Адельмана — RSA (буквенная аббревиатура от фамилий Rivest, Shamir и Adleman)  криптографический алгоритм с открытым ключом. RSA стал первым алгоритмом такого типа, пригодным и для шифрования, и для цифровой подписи. Алгоритм используется в большом числе… …   Википедия

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

  • Криптоанализ RSA — Для улучшения этой статьи желательно?: Викифицировать статью. Данная статья описывает условия использования криптоалгоритма с открытым ключом …   Википедия

  • Быстрые алгоритмы — Значимость предмета статьи поставлена под сомнение. Пожалуйста, покажите в статье значимость её предмета, добавив в неё доказательства значимости по частным критериям значимости или, в случае если частные критерии значимости для… …   Википедия

  • Показатель степени — Число ab называется степенью с основанием a и показателем b. Содержание 1 Натуральная степень 2 Целая степень 3 Рациональная степень …   Википедия

  • Потенцирование (математика) — Число ab называется степенью с основанием a и показателем b. Содержание 1 Натуральная степень 2 Целая степень 3 Рациональная степень …   Википедия


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»