Lt304888.ru

Туристические услуги

P-1 алгоритм

17-05-2023

P-1 метод Полларда — алгоритм разложения натурального числа на простые множители. Предложен Джоном Поллардом в 1974 году. Алгоритм предназначен для нахождения простых делителей , у которых хорошо раскладывается на множители, то есть имеет небольшой максимальный простой делитель. Если обозначить этот максимальный простой делитель , то алгоритм требует действий. Метод очень быстро находит простые факторы малой и средней величины (до 20-25 десятичных цифр). Актуальным рекордом для P-1 метода является простой делитель числа , состоящий из 66 десятичных цифр, установленный T. Nohara 29.06.2006.

Содержание

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

«Шаг 1»

Предположим, дано число , которое не является степенью какого-либо простого числа и имеет простой делитель , который заранее неизвестен. Выберем произвольные натуральные (как правило ) и (например, ).

Далее вычислим число как произведение степеней всех простых чисел , не превосходящих выбранную границу , где максимальные натуральные числа, удовлетворяющие . Если простой делитель заданного числа обладает свойством, что раскладывается на простые делители меньшие либо равные , то заведомо .

Согласно малой теореме Ферма в группе справедливо , что равносильно НОД. Заметим, что . Если граница выбрана удачно, скорее всего НОД будет равен . В некоторых случаях можно получить НОД равным . Это означает, что метод нашёл сразу все делители. В этом случае надо просто уменьшить значение . Также заметим, что так как может быть достаточно большим числом, то все вычисления производятся по модулю .

Если НОД, это означает, что алгоритм завершился неудачно и имеет делители большие чем . Возможным планом действий могут быть:

  • Увеличить значение (в этом случае не стоит начинать алгоритм заново. Можно пересмотреть значение согласно новой границе ).
  • Применить метод для другого (алгоритм надо начать заново. Надежда найти простой делитель основывается на том, что новое может быть большой степенью порождающего элемента в ).
  • Использовать другой метод факторизации (например P+1 или метод эллиптических кривых)
  • Перейти к «шагу 2» алгоритма

«Шаг 2»

Если «шаг 1» завершился неудачно, значит . Но может быть, что для некоторого простого числа .

Обозначим , тогда или опять же НОД. Таким образом, можно рассмотреть все простые числа между и и для каждого высчитать . Однако, это не очень эффективно.

Более эффективными может быть следующие выполнение «шага 2»:

Рассмотрим все простые числа между и . Пусть обозначает j-ое простое число. Так как разница между двумя соседними простыми числами заведомо мала (не более чем ), то мы можем сохранить в таблице значения , где . Далее, мы можем вычислить последовательно для всех в указанных выше границах значения .

Модификации и улучшения

Peter L. Montgomery предложил другие более эффективные варианты «шага 2».

Рекорды

На данный момент (09.12.2008) три самых больших простых делителя[1], найденых методом P-1, состоят из 66, 58 и 57 десятичных цифр.

Кол-во цифр p, p-1 Делитель числа Найден (кем) Найден (когда) B B2
66 672038771836751227845696565342450315062141551559473564642434674541 2².3.5.7.17.23.31.163.401.617.4271.13681.22877.43397.203459.1396027.6995393.13456591.2110402817 960^119-1 T. Nohara 29.06.2006 10^8 10^10
58 1372098406910139347411473978297737029649599583843164650153 2³.3².1049.1627.139999.1284223.7475317.341342347.2456044907.9909876848747 2^2098+1 P. Zimmermann 28.09.2005 10^10 10^13
57 357561419933316305231935975632510092006707198190314688497 2^4.3².11.31.612.2131.7703.102199.12170281.294393133.346193663.940452192083 6^396+1 P. Zimmermann 31.10.2003 10^9 10^12

Примечания

  1. таблица рекордов

P-1 алгоритм.

© 2020–2023 lt304888.ru, Россия, Волжский, ул. Больничная 49, +7 (8443) 85-29-01