Jump to content

Алгоритм Берлекампа – Рабина

Элвин Р. Берлекамп на конференции по комбинаторной теории игр на Международной исследовательской станции Банф Элвин Берлекамп

В чисел теории алгоритм поиска корня Берлекампа , также называемый алгоритмом Берлекампа–Рабина , представляет собой вероятностный метод поиска корней многочленов . над полем с элементы. Метод был открыт Элвином Берлекэмпом в 1970 году. [ 1 ] как вспомогательное средство к алгоритму факторизации полиномов по конечным полям. Позднее алгоритм был модифицирован Рабиным для произвольных конечных полей в 1979 году. [ 2 ] Этот метод был также независимо открыт до Берлекампа другими исследователями. [ 3 ]

Метод был предложен Элвином Берлекэмпом в его работе 1970 года. [ 1 ] о полиномиальной факторизации по конечным полям. Его оригинальной работе не хватало формального правильности . доказательства [ 2 ] и позже был уточнен и модифицирован для произвольных конечных полей Майклом Рабином . [ 2 ] В 1986 году Рене Перальта предложил аналогичный алгоритм. [ 4 ] для нахождения квадратных корней в . [ 5 ] В 2000 году метод Перальты был обобщен на кубические уравнения . [ 6 ]

Постановка задачи

[ редактировать ]

Позволять быть нечетным простым числом. Рассмотрим полином над полем остатков по модулю . Алгоритм должен найти все в такой, что в . [ 2 ] [ 7 ]

Алгоритм

[ редактировать ]

Рандомизация

[ редактировать ]

Позволять . Нахождение всех корней этого многочлена эквивалентно нахождению его факторизации на линейные факторы. Чтобы найти такую ​​факторизацию, достаточно разбить многочлен на любые два нетривиальных делителя и рекурсивно факторизовать их. Для этого рассмотрим полином где это какой-то элемент . Если можно представить этот многочлен как произведение то в терминах исходного многочлена это означает, что , что обеспечивает необходимую факторизацию . [ 1 ] [ 7 ]

Классификация элементы

[ редактировать ]

По критерию Эйлера для любого монома выполняется ровно одно из следующих свойств: [ 1 ]

  1. Моном равен если ,
  2. Моном делит если является квадратичным вычетом по модулю ,
  3. Моном делит если является квадратичным неостатком по модулю .

Таким образом, если не делится на , что можно проверить отдельно, тогда равен произведению наибольших общих делителей и . [ 7 ]

метод Берлекампа

[ редактировать ]

Свойство выше приводит к следующему алгоритму: [ 1 ]

  1. Явно вычислить коэффициенты ,
  2. Вычислить остатки модуль возведя в квадрат текущий полином и взяв остаток по модулю ,
  3. Используя возведение в степень возведением в квадрат и полиномы, рассчитанные на предыдущих шагах, вычислите остаток модуль ,
  4. Если затем упомянутые ниже, обеспечивают нетривиальную факторизацию ,
  5. В противном случае все корни являются либо остатками, либо неостатками одновременно, и приходится выбирать другой .

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

Модульный квадратный корень

[ редактировать ]

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

  1. НОД равен это означает, что и оба являются квадратичными невычетами,
  2. НОД равен что означает, что оба числа являются квадратичными остатками,
  3. НОД равен что означает, что ровно одно из этих чисел является квадратичным остатком.

В третьем случае НОД равен либо или . Это позволяет записать решение в виде . [ 1 ]

Предположим, нам нужно решить уравнение . Для этого нам нужно факторизовать . Рассмотрим некоторые возможные значения :

  1. Позволять . Затем , таким образом . Оба числа являются квадратичными невычетами, поэтому нам нужно взять какие-то другие .
  1. Позволять . Затем , таким образом . Из этого следует , так и .

Ручная проверка показывает, что действительно и .

Доказательство правильности

[ редактировать ]

Алгоритм факторизацию находит во всех случаях, кроме тех, когда все числа одновременно являются квадратичными остатками или невычетами. Согласно теории циклотомии , [ 8 ] вероятность такого события для случая, когда все являются остатками или неостатками одновременно (то есть, когда потерпит неудачу) можно оценить как где количество различных значений в . [ 1 ] Таким образом, даже в худшем случае и , вероятность ошибки можно оценить как а для модульного квадратного корня вероятность ошибки не превышает .

Сложность

[ редактировать ]

Пусть многочлен имеет степень . Выводим сложность алгоритма следующим образом:

  1. По биномиальной теореме , мы можем перейти от к в время.
  2. Умножение полинома и получение остатка от одного многочлена по модулю другого можно выполнить в , таким образом, расчет делается в .
  3. Двоичное возведение в степень работает в .
  4. Принимая двух полиномов с помощью алгоритма Евклида работает в .

Таким образом, всю процедуру можно выполнить в . Используя быстрое преобразование Фурье и алгоритм Half-GCD, [ 9 ] сложность алгоритма может быть улучшена до . Для случая модульного квадратного корня степень равна , таким образом, вся сложность алгоритма в таком случае ограничивается за итерацию. [ 7 ]

  1. ^ Jump up to: а б с д и ж г Берлекамп, ER (1970). «Факторизация полиномов по большим конечным полям» . Математика вычислений . 24 (111): 713–735. doi : 10.1090/S0025-5718-1970-0276200-X . ISSN   0025-5718 .
  2. ^ Jump up to: а б с д М. Рабин (1980). «Вероятностные алгоритмы в конечных полях». SIAM Journal по вычислительной технике . 9 (2): 273–280. CiteSeerX   10.1.1.17.5653 . дои : 10.1137/0209024 . ISSN   0097-5397 .
  3. ^ Дональд Э. Кнут (1998). Искусство компьютерного программирования. Том. 2 Том. 2 . ISBN  978-0201896848 . OCLC   900627019 .
  4. ^ Цз-Во Сзе (2011). «О извлечении квадратных корней без квадратичных невычетов над конечными полями». Математика вычислений . 80 (275): 1797–1811. arXiv : 0812.2591 . дои : 10.1090/s0025-5718-2011-02419-1 . ISSN   0025-5718 . S2CID   10249895 .
  5. ^ Р. Перальта (ноябрь 1986 г.). «Простой и быстрый вероятностный алгоритм вычисления квадратных корней по модулю простого числа (Корресп.)». Транзакции IEEE по теории информации . 32 (6): 846–847. дои : 10.1109/TIT.1986.1057236 . ISSN   0018-9448 .
  6. ^ К. Падро, Г. Саес (август 2002 г.). «Извлечение кубических корней в Zm». Письма по прикладной математике . 15 (6): 703–708. дои : 10.1016/s0893-9659(02)00031-9 . ISSN   0893-9659 .
  7. ^ Jump up to: а б с д Альфред Дж. Менезес, Ян Ф. Блейк, СюйХонг Гао, Рональд К. Маллин, Скотт А. Ванстон (1993). Приложения конечных полей . Международная серия Springer по инженерным наукам и информатике. Спрингер США. ISBN  9780792392828 . {{cite book}}: CS1 maint: несколько имен: список авторов ( ссылка )
  8. ^ Маршалл Холл (1998). Комбинаторная теория . Джон Уайли и сыновья. ISBN  9780471315186 .
  9. ^ Ахо, Альфред В. (1974). Разработка и анализ компьютерных алгоритмов . Паб Аддисон-Уэсли. компании ISBN  0201000296 .
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 3a23d73eeefcab441eee8dd63a951b28__1724172900
URL1:https://arc.ask3.ru/arc/aa/3a/28/3a23d73eeefcab441eee8dd63a951b28.html
Заголовок, (Title) документа по адресу, URL1:
Berlekamp–Rabin algorithm - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)