📄Работа №34938

Тема: РЕАЛИЗАЦИЯ АППРОКСИМИРУЮЩЕГО К-АРНОГО АЛГОРИТМА С ИЗМЕНЯЮЩИМСЯ К

📝
Тип работы Дипломные работы, ВКР
📚
Предмет информатика
📄
Объем: 45 листов
📅
Год: 2019
👁️
Просмотров: 450
Не подходит эта работа?
Закажите новую по вашим требованиям
Узнать цену на написание
ℹ️ Настоящий учебно-методический информационный материал размещён в ознакомительных и исследовательских целях и представляет собой пример учебного исследования. Не является готовым научным трудом и требует самостоятельной переработки.

📋 Содержание

ВВЕДЕНИЕ 3
1. Анализ предметной области 5
1.1 Делимость чисел 5
1.2 Наибольший общий делитель 5
2. Обзор различных алгоритмов нахождения НОД 8
2.1 Классический алгоритм Евклида 8
2.2 Расширенный алгоритм Евклида 9
2.3 Бинарный алгоритм 10
2.4 k-арный алгоритм нахождения НОД 11
2.5 Аппроксимирующий Парный алгоритм 13
2.6 Теоретические оценки сложности алгоритмов 18
3. Реализация аппроксимирующего Парного алгоритма 19
3.1 Ряды Фарея 19
3.2 Цепные дроби 21
3.3 Сравнение скорости работы рядов Фарея и цепных дробей 22
3.4 Оптимизация алгоритма 23
3.5 Проверка гипотезы 24
3.6 Реализация алгоритма с изменяющимся к 27
3.7 Программный интерфейс 28
ЗАКЛЮЧЕНИЕ 30
СПИСОК ЛИТЕРАТУРЫ 31
ПРИЛОЖЕНИЯ 33

📖 Введение

На сегодняшний день в мире происходит глобальный процесс информатизации. В каждый элемент повседневной жизни человека внедряются компьютерные технологии, которые затрагивают каждый сегмент общества. Если раньше подобные технические достижения применялись в основном в военных целях, то сейчас работа органов государственной власти, компаний крупного и малого бизнеса, различных некоммерческих организации, медицинских учреждений и всех остальных институтов общества теперь напрямую связана с информационными технологиями. Хранимые и передаваемые данные должны оставаться в сохранности и быть защищенными от несанкционированного доступа. Именно поэтому крайне важно обеспечить безопасность и конфиденциальность при работе с информационными системами. Решением этой задачи занимается криптография.
Основной задачей криптографии является обеспечение высокого уровня секретности для защищаемой информации, чтобы не допустить ее утечки или искажения во время атак злоумышленников. В процессе обеспечения безопасности криптография использует множество математических алгоритмов, одним из которых является алгоритм нахождения наибольшего общего делителя (НОД) двух чисел. Нахождение НОД используется во многих криптографических алгоритмах шифрования, например, в RSA, или является частью других математических функций, таких как нахождение наименьшего общего кратного.
Также в криптографии очень большое значение имеют большие числа. На их основе построены все современные алгоритмы шифрования. Причиной этого является то, что работа с большими числами занимает много времени и ресурсов, и взлом таких систем шифрования является очень трудной задачей.
Алгоритм нахождения НОД был известен еще до нашей эры. На данный момент существует несколько способов нахождения наибольшего общего делителя, одним из которых является аппроксимирующий Парный алгоритм.
Он основывается на Парном алгоритме Соренсона, с тем отличием, что при вычислении числа C используется другой метод нахождения коэффициентов х и у. Для того, чтобы их найти, применяется аппроксимация вещественного числа r несократимой дробью. Данное приближение позволяет уменьшить время работы всего алгоритма.
Научным руководителем, Еникеевым Р.Р., была выдвинута гипотеза о том, что при малых значениях чисел A, B наиболее эффективным выбором коэффициента k являются малые числа. На основе данной гипотезы был предложен алгоритм с изменяющимся значением k, который при вычислении НОД больших чисел использует большое значение к, а для малых - уменьшает его значение. Подтверждение гипотезы может способствовать повышению скорости работы алгоритма.
Целью выпускной квалификационной работы является проверка выдвинутой гипотезы и реализация аппроксимирующего алгоритма с изменяющимся k.
Для достижения поставленных целей были выдвинуты следующие задачи:
- изучение литературы по алгоритмам нахождения НОД;
- реализация аппроксимирующего k-арного алгоритма;
- исследование аппроксимирующего алгоритма для различных k;
- реализация аппроксимирующего алгоритма с изменяющимся k.

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

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

👨‍🎓 Помощь в написании

✅ Заключение

В ходе выпускной квалификационный работы были рассмотрены различные алгоритмы нахождения наибольшего общего делителя и реализован аппроксимирующий Парный алгоритм. Главная цель работы состояла в подтверждении поставленной гипотезы о том, что скорость работы алгоритма будет выше, если применять на малых числах меньшее значение к и наоборот.
Для подтверждения гипотезы были проведены множественные тесты алгоритма на числах разной длины с разным значением к. Были построены соответствующие графики, на которых можно пронаблюдать существование зависимости скорости работы алгоритма от длины входных чисел и к. Действительно, на длинных числах целесообразно применять большее значение числа к. При уменьшении чисел, когда их средняя длина переходит из одного интервала в другой и перед началом новой итерации аппроксимирующего алгоритма, следует уменьшить значение к.
На основе полученных данных были определены интервалы длин входных чисел. Каждому из интервалов соответствует число к, при котором алгоритм показывает наименьшее время выполнения. После чего полученные пары «интервал - к» были добавлены в словарь, к которому происходит обращение при выборе к.
При реализации поиска коэффициентов Безу в аппроксимирующем алгоритме было принято решение использовать цепные дроби вместо рядов Фарея. Для этого были проведены тесты, в ходе которых было установлено, что при использовании цепных дробей скорость алгоритма становится выше.
Также были добавлены функции, оптимизирующие работу аппроксимирующего алгоритма. Эти функции позволяют быстрее найти бинарную длину числа и вычислить обратный элемент по модулю.
Проведенная работа позволяет улучшить работу аппроксимирующего к- арного алгоритма, что предоставляет возможность быстрее находить НОД
больших чисел, широко применяемых в криптографии.

Нужна своя уникальная работа?
Срочная разработка под ваши требования
Рассчитать стоимость
ИЛИ

📕 Список литературы

1. Делимость чисел [Электронный ресурс]. - 2019. - Режим доступа: http://tmel.ru/delimost-chisel/ (дата обращения: 31.03.2019).
2. Крэндалл Р. Простые числа: криптографические и вычислительные аспекты [Текст] / Р. Крэндалл, К. Померанс. - УРСС: Либроком, 2011. - 664 с.
3. Виноградов И. М. Основы теории чисел [Текст] / И. М. Виноградов. - М.-Л.: Гос. изд. технико-теоретической литературы, 1952. - 180 с.
4. Набольший общий делитель [Электронный ресурс]. - 2019. - Режим
доступа: https://ru.wikipedia.org/wiki/Наибольший_общий_делитель/ (дата
обращения: 31.03.2019).
5. Наибольший общий делитель (НОД) - определение, примеры
свойства [Электронный ресурс]. - 2019. - Режим доступа:
http://www.cleverstudents.ru/divisibility/nod.html/ (дата обращения: 31.03.2019).
6. Ишмухаметов Ш.Т. Методы факторизации натуральных чисел [Текст] / Ш. Т. Ишмухаметов - Казань, 2012, 189 с.
7. Шаймарданов И.А. Отчет по практике по получению первичных профессиональных умений и навыков [Текст] / И. А. Шаймарданов, Институт вычислительной математики и информационных технологий Казанский (Приволжский) федеральный университет. - Казань, Россия, 2019 - 9 с.
8. Бинарный алгоритм НОД [Электронный ресурс]. - 2019. - Режим доступа: https://ra.wikipedia.org/wiki/Бинарный_алгоритм_вычисления_НОД/ (дата обращения: 17.04.2019).
9. J. Sorenson. Two fast GCD algorithms [Текст] / J. Sorenson // Journal of Algorithms. - 1994. - Т. 16. - №. 1. - С. 110-144.
10. K. Weber. The accelerated integer GCD algorithm [Текст] / K. Weber //ACM Transactions on Mathematical Software (TOMS). - 1995. - Т. 21. - №. 1. -
С. 111-122.
11. Ishmukhametov S. T. An approximating k-ary GCD algorithm [Текст] /
S. Ishmukhametov //Lobachevskii Journal of Mathematics. - 2016. - Т. 37. - №. 6. - С. 723-729.
12. Еникеев Р. Р. Модифицированный аппроксимирующий k-арный алгоритм вычисления НОД [Текст] / Р. Р. Еникеев // Материалы Международной научной конференции студентов, аспирантов и молодых ученых «ЛОМОНОСОВ-2019». Секция «Вычислительная математика и кибернетика». Московский государственный университет им. М.В. Ломоносова (МГУ). - Москва, 2019. - С. 33-35.
13. Ряд Фарея [Электронный ресурс]. - 2019. - Режим доступа: https://ra.wikipedia.org/wiki/Ряд_Фарея/ (дата обращения: 20.05.2019).
14. Непрерывная дробь [Электронный ресурс]. - 2019. - Режим доступа: https://ru.wikipedia.org/wiki/Непрерывная_дробь/ (дата обращения:
29.05.2019) .
15. Jebelean T. A generalization of the binary GCD algorithm [Текст] /
T. Jebelean // Universitat Linz. Research Institute for Symbolic Computation. - 1993. - C. 111-116.
16. Начало работы с WPF [Электронный ресурс]. - 2019. - URL: https://docs.microsoft.com/m-ru/visualstudio/designers/getting-started-with- фwpf?view=vs-2019/ (дата обращения: 31.03.2019).

🛒 Оформить заказ

Работу высылаем в течении 5 минут после оплаты.

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