Участник:Pyatakovns/Ро-алгоритм Полларда
Автор: Пятаков Н.С. 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].
Вычислительное ядро алгоритма
Макроструктура алгоритма
Схема реализации последовательного алгоритма
Последовательная сложность алгоритма
Информационный граф
Ресурс параллелизма алгоритма
Входные и выходные данные алгоритма
Свойства алгоритма
Программная реализация алгоритма
Особенности реализации последовательного алгоритма
Локальность данных и вычислений
Возможные способы и особенности параллельной реализации алгоритма
Масштабируемость алгоритма и его реализации
Динамические характеристики и эффективность реализации алгоритма
Выводы для классов архитектур
Существующие реализации алгоритма
Литература
- ↑ Pollard J. M. A Monte Carlo method for factorization // BIT. 1975. V. 15. P. 331—334.