Участник:Pyatakovns/Ро-алгоритм Полларда

Материал из Алговики
Версия от 13:59, 12 октября 2020; Pyatakovns (обсуждение | вклад) (Новая страница: «Автор: Пятаков Н.С. 419 группа == Свойства и структура алгоритмов == === Общее описание алгор...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Автор: Пятаков Н.С. 419 группа


Свойства и структура алгоритмов

Общее описание алгоритма

Ро-алгоритм Полларда[1] предназначен для решения задачи факторизации целых чисел. Этот метод был разработан Джоном Поллардом в 1975 г. Данный алгоритм основывается на следствиях из парадокса дней рождения и алгоритме Флойда поиска длины цикла в последовательности.


Математическое описание алгоритма

Пусть n – число, которое следует разложить. ρ-метод Полларда работает следующим образом:

1. Выбираем небольшое число [math]\displaystyle{ x_0 }[/math] и строим последовательность чисел [math]\displaystyle{ {x_n}, n = 0, 1, 2, ..., }[/math] определяя каждое следующее [math]\displaystyle{ x_{n+1} }[/math] по формуле [math]\displaystyle{ x_{n+1} =(x_{2n} −1)(modn) }[/math].

Вычислительное ядро алгоритма

Макроструктура алгоритма

Схема реализации последовательного алгоритма

Последовательная сложность алгоритма

Информационный граф

Ресурс параллелизма алгоритма

Входные и выходные данные алгоритма

Свойства алгоритма

Программная реализация алгоритма

Особенности реализации последовательного алгоритма

Локальность данных и вычислений

Возможные способы и особенности параллельной реализации алгоритма

Масштабируемость алгоритма и его реализации

Динамические характеристики и эффективность реализации алгоритма

Выводы для классов архитектур

Существующие реализации алгоритма

Литература

  1. ↑ Pollard J. M. A Monte Carlo method for factorization // BIT. 1975. V. 15. P. 331—334.