Швидке піднесення до степеня — алгоритм піднесення числа x до натурального степеня n шляхом повторюваного зведення в квадрат та множення. Потребує суттєво меншої кількості множень — —, ніж виконання цієї операції за безпосереднім визначенням степеня — .
Опис
Нехай — двійкове представлення степеня n, тобто,
де . Тоді
Таким чином, алгоритм повторюваного піднесення до квадрата зводиться до мультиплікативного аналогу схеми Горнера:
Приклад
Розглянемо обчислення . Двійкове представлення 13 — , отже .
Для обчислення кожного рядка починаючи з другого потрібне одне множення (загалом — три операції множення).
Ще дві операції множення потрібні для обчислення остаточного результату:
Загалом виходить п'ять множень (замість дванадцяти множень за безпосереднім визначенням степеня).
Обчислювальна складність
Кількість множень, необхідна для піднесення числа x до степеня n алгоритмом, визначається за формулою: , де H — кількість нулів, а E — кількість одиниць у двійковому записі числа n. Таким чином, кількість множень становить .
Наприклад, для піднесення до сотого степеня за цим алгоритмом потрібно лише 8 множень.
Оптимальність
Алгоритм не завжди найоптимальніший за кількістю множень: наприклад, піднесення до степеня n = 15 повторюваним піднесенням до квадрата потребує 6 множень, хоча результату можна досягти за 5:
Однак найоптимальніший шлях має таку ж оцінку складності, як і повторюване піднесення до квадрата (), а ефективного алгоритму побудови найкоротшої послідовності обчислень у загальному випадку відомо не було.
Узагальнення
Нехай пара (S, *) — напівгрупа, тобто є S — довільна множина, на якій завдана двомісна операція * така, що:
- Для будь-яких елементів a і b з S справедливо: (a * b) так же з S. (замкнутість)
- Для будь-яких елементів a, b і c з S справедливо: ((a * b) * c) = (a * (b * c)). (асоціативність)
Ми можемо назвати операцію * множенням і визначити піднесення до натурального степеня:
Для обчислення значень an можна застосовувати алгоритм повторюваного піднесення до квадрата.
Джерела
- Гашков, 2011, с. 142.
Посилання
- Repeated Squaring [Архівовано 20 листопада 2015 у Wayback Machine.] (англ.)
- Гашков, С. Б. . Задача об аддитивных цепочках и ее обобщения // Математическое просвещение. — 2011. — Вип. 15. — С. 138-153. — .
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Shvidke pidnesennya do stepenya algoritm pidnesennya chisla x do naturalnogo stepenya n shlyahom povtoryuvanogo zvedennya v kvadrat ta mnozhennya Potrebuye suttyevo menshoyi kilkosti mnozhen O log n displaystyle O log n nizh vikonannya ciyeyi operaciyi za bezposerednim viznachennyam stepenya O n displaystyle O n Zmist 1 Opis 2 Priklad 3 Obchislyuvalna skladnist 4 Optimalnist 5 Uzagalnennya 6 Dzherela 7 PosilannyaOpisred Nehaj n m k m k 1 m 1 m 0 2 displaystyle n overline m k m k 1 m 1 m 0 2 nbsp dvijkove predstavlennya stepenya n tobto n m k 2 k m k 1 2 k 1 m 1 2 m 0 displaystyle n m k cdot 2 k m k 1 cdot 2 k 1 dots m 1 cdot 2 m 0 nbsp de m k 1 m i 0 1 displaystyle m k 1 m i in 0 1 nbsp Todi x n x m k 2 m k 1 2 m k 2 2 2 m 1 2 m 0 x m k 2 x m k 1 2 2 x m 1 2 x m 0 displaystyle 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 nbsp Takim chinom algoritm povtoryuvanogo pidnesennya do kvadrata zvoditsya do multiplikativnogo analogu shemi Gornera s 1 x s i 1 s i 2 x m k i i 1 2 k displaystyle begin Bmatrix s 1 x s i 1 s i 2 cdot x m k i i 1 2 dots k end Bmatrix nbsp Prikladred Rozglyanemo obchislennya 3 13 displaystyle 3 13 nbsp Dvijkove predstavlennya 13 1101 2 displaystyle 1101 2 nbsp otzhe 8 4 1 13 displaystyle 8 4 1 13 nbsp 3 1 displaystyle 3 1 nbsp 3 displaystyle 3 nbsp 3 2 displaystyle 3 2 nbsp 9 3 3 displaystyle 9 3 times 3 nbsp 3 4 displaystyle 3 4 nbsp 81 9 9 displaystyle 81 9 times 9 nbsp 3 8 displaystyle 3 8 nbsp 6561 81 81 displaystyle 6561 81 times 81 nbsp Dlya obchislennya kozhnogo ryadka pochinayuchi z drugogo potribne odne mnozhennya zagalom tri operaciyi mnozhennya She dvi operaciyi mnozhennya potribni dlya obchislennya ostatochnogo rezultatu 3 1 3 4 3 8 3 13 1594323 displaystyle 3 1 times 3 4 times 3 8 3 13 1594323 nbsp Zagalom vihodit p yat mnozhen zamist dvanadcyati mnozhen za bezposerednim viznachennyam stepenya Obchislyuvalna skladnistred Kilkist mnozhen neobhidna dlya pidnesennya chisla x do stepenya n algoritmom viznachayetsya za formuloyu H 2 E 1 displaystyle H 2 E 1 nbsp de H kilkist nuliv a E kilkist odinic u dvijkovomu zapisi chisla n Takim chinom kilkist mnozhen stanovit O log n displaystyle O log n nbsp Napriklad dlya pidnesennya do sotogo stepenya za cim algoritmom potribno lishe 8 mnozhen Optimalnistred Algoritm ne zavzhdi najoptimalnishij za kilkistyu mnozhen napriklad pidnesennya do stepenya n 15 povtoryuvanim pidnesennyam do kvadrata potrebuye 6 mnozhen hocha rezultatu mozhna dosyagti za 5 x 2 x x displaystyle x 2 x times x nbsp x 3 x 2 x displaystyle x 3 x 2 times x nbsp x 6 x 3 x 3 displaystyle x 6 x 3 times x 3 nbsp x 12 x 6 x 6 displaystyle x 12 x 6 times x 6 nbsp x 15 x 12 x 3 displaystyle x 15 x 12 times x 3 nbsp Odnak najoptimalnishij shlyah maye taku zh ocinku skladnosti yak i povtoryuvane pidnesennya do kvadrata O log n displaystyle O log n nbsp a efektivnogo algoritmu pobudovi najkorotshoyi poslidovnosti obchislen u zagalnomu vipadku vidomo ne bulo 1 Uzagalnennyared Nehaj para S napivgrupa tobto ye S dovilna mnozhina na yakij zavdana dvomisna operaciya taka sho Dlya bud yakih elementiv a i b z S spravedlivo a b tak zhe z S zamknutist Dlya bud yakih elementiv a b i c z S spravedlivo a b c a b c asociativnist Mi mozhemo nazvati operaciyu mnozhennyam i viznachiti pidnesennya do naturalnogo stepenya a n a n 1 a a n 1 n gt 1 displaystyle a n left begin array ll a amp n 1 a left a n 1 right amp n gt 1 end array right nbsp Dlya obchislennya znachen an mozhna zastosovuvati algoritm povtoryuvanogo pidnesennya do kvadrata Dzherelared Gashkov 2011 s 142 Posilannyared Repeated Squaring Arhivovano 20 listopada 2015 u Wayback Machine angl Gashkov S B Zadacha ob additivnyh cepochkah i ee obobsheniya Matematicheskoe prosveshenie 2011 Vip 15 S 138 153 ISBN 978 5 94057 741 6 Otrimano z https uk wikipedia org w index php title Shvidke pidnesennya do stepenya amp oldid 40361464