Тип работы:
Предмет:
Язык работы:


Разработка модернизированного ассоциативного k-арного алгоритма Евклида

Работа №45564

Тип работы

Магистерская диссертация

Предмет

информатика

Объем работы65
Год сдачи2018
Стоимость4950 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
259
Не подходит работа?

Узнай цену на написание


ВВЕДЕНИЕ 3
1. Применение и актуальность алгоритма Евклида 5
2. Средства программной реализации 7
3. Различные методы реализации алгоритма Евклида 9
3.1. Классический алгоритм Евклида 9
3.2. Бинарный алгоритм Евклида 10
3.3. k-арный алгоритм Евклида 11
3.4. Ассоциативный k-арный алгоритм Евклида 13
4. Сравнивание различных методов реализации алгоритма Евклида 17
4.1. Сравнивание классического алгоритма Евклида 17
4.2. Сравнивание бинарного алгоритма Евклида 19
4.3. Сравнивание k-арного алгоритма Евклида 20
4.4. Сравнивание ассоциативного k-арного алгоритма Евклида 21
4.5. Сравнивание наиболее оптимальных методов реализации алгоритма Евклида 23
5. Методы быстрого умножения больших чисел 25
5.1. Алгоритм Карацубы 25
5.2. Алгоритм Тоома-Кука 26
5.3. Алгоритм Шёнхаге — Штрассена 28
5.4. Сравнивание методов быстрого умножения больших чисел 29
6. Дерево Штерна-Броко 31
7. Оптимизация ассоциативного k-арного алгоритма Евклида 33
7.1. Сравнивание применения дерева Штерна-Броко при различных параметрах k 33
7.2. Пример работы модифицированного ассоциативного k-арного алгоритма 35
7.3. Сравнивание модифицированного и исходного ассоциативных алгоритмов 38
7.4. Сравнивание модифицированного и всех рассмотренных версий алгоритма Евклида 39
ЗАКЛЮЧЕНИЕ 42
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 44
ПРИЛОЖЕНИЕ


Целью данной работы является разработка модернизированного ассоциативного k-арного алгоритма Евклида.
Алгоритм Евклида является старейшим математическим алгоритмом, применяемым в наше время. Данный алгоритм во всех своих различных методах реализации по сей день применяется в математике и криптографии. С его помощью можно эффективным и быстрым способом найти наибольший общий делитель (НОД) двух целых чисел А > В > 0, определить являются ли два положительных числа взаимно простыми . Со временем у алгоритма появились различные методы его реализации для увеличения его эффективности при работе с большими числами.
В нашей работе мы рассмотрим:
• Классический алгоритм Евклида
• Бинарный алгоритм Евклида
• k-арный алгоритм Евклида
• Ассоциативный k-арный алгоритм Евклида
Для того чтобы найти возможность модификации самой современной его версии, мы постараемся углубленно изучить алгоритм Евклида. Для этого мы реализуем упомянутые выше методы реализации алгоритма Евклида поиска наибольшего общего делителя. Сравним данные алгоритмы по различным параметрам (скорости работы и количеству итераций), а также на основе получившихся результатов выдвинем предположения по оптимизации работы последней предложенной версии алгоритма Евклида.
Также для ускорения умножения больших чисел, рассмотрим, реализуем и сравним друг с другом (по времени работы) методы быстрого умножения:
• алгоритм Карацубы
• алгоритм Тоома-Кука
• алгоритм Шёнхаге — Штрассена
Для поиска правильной дроби в ассоциативном k-арном алгоритме Евклида, представленном в статье [1], рассмотрим дерево всех неотрицательных несократимых дробей — дерево Штерна-Броко. Сравним его использование со стандартным применением ряда Фарея. Для этого встроим функцию построения дерева и поиска коэффициентов х, у в ассоциативный k-арный алгоритм и сравним его с исходным вариантом по различным параметрам (времени работы и количеству итераций).


Возникли сложности?

Нужна помощь преподавателя?

Помощь студентам в написании работ!


В данной работе был исследован один из старейших математических алгоритмов для вычисления наибольшего общего делителя, применяемый в наше время - алгоритм Евклида. На основе проведенного исследования была разработана мотивированная версия ассоциативного k-арного алгоритма Евклида поиска больших положительных чисел.
В нашей работе мы реализовали и сравнили между собой по различным параметрам:
• Классический алгоритм Евклида
• Бинарный алгоритм Евклида
• k-арный алгоритм Евклида
• Ассоциативный k-арный алгоритм Евклида
Проведенные эксперименты показали, что современные версии алгоритма значительно сокращают количество итераций для чисел длиной более 2000 десятичных знаков, но по скорости уступают классической версии. Для чисел меньшей длины старейшая версия алгоритма является самой оптимальной, но для больших чисел нужно использовать современные методы реализации алгоритма.
Для ускорения умножения больших чисел, были изучены и реализованы алгоритмы быстрого умножения:
• алгоритм Карацубы
• алгоритм Тоома-Кука
• алгоритм Шёнгаре-Штрассена
На основе полученных результатов выдвинули предположения по оптимизации работы последней предложенной версии алгоритма Евклида. Было решено для поиска правильно дроби в ассоциативном алгоритме [1], использовать дерево Штерна-Броко. А сокращение числителя и знаменателя в правильной дроби г осуществлять не делением пополам, а на 2 в степени наиболее близкой по значению к к, что дало значительное уменьшение времени работы алгоритма на больших входных данных.
Была реализована модифицированная версия ассоциативного алгоритма, при помощи дерева Штерна-Броко и алгоритмов быстрого умножения. Проведенные эксперименты показали, что данные процедуры позволили сократить количество итераций при вычислении НОД больших чисел, но при этом проигрывают в быстродействии своим аналогам.



1. S. Ishmukhametov, An Approximating k-ary GCD Algorithm, in Lobachevskii Journal of Mathematics 37(6), 723-729 (2016)
2. S. Ishmukhametov, B. Mubarakov, On practical aspects of the Miller-Rabin Pri- mality Test, Lobachevskii Journal of Mathematics 34 (4), 304-312 (2013).
3. J. Sorenson, J. Webster, Strong Pseudoprimes to Twelve Prime Bases, Mathe-matics of Computation, 1-17 (2015).
4. Sorenson J. The k-ary GCD Algorithm, Universitet of Wisconsin-Madison, Tecn.Report, 1-20 (1990)
5. Sorrenson J.Two fast GCD Algorithms, J.Alg. 16, №1, 110-144 (1994)
6. Weber K. The accelerated integer GCD algorithm, ACM Trans.Math.Software, 21, №1, 1-12 (1995)
7. Jebelean T. A Generalization of the Binary GCD Algorithm, Proc. of Intern.Symp.on Symb.and Algebr.Comp.(ISSAC’93), 111-116 (1993)
8. Карацуба А. А. Сложность вычислений. — Тр. МИАН. — 1995. — Т. 211. — С. 186-202.
9. Кнут Д. Искусство программирования. — 3-е изд. — М.:Вильямс, 2007. — Т. 2. Получисленные алгоритмы. — 832 с.
10. Sai Krishna Yedugani Toom-Cook
11. Schonhage A., Strassen V. Schnelle Multiplikation groBer Zahlen, Computing.— № 7,281-292(1971)
12. Peter Sutor Jr. An implementation and analysis of furer’s faster integer multiplication algorithm, (2014)


Работу высылаем на протяжении 30 минут после оплаты.




©2024 Cервис помощи студентам в выполнении работ