Чому Міллер – Рабін замість тесту на перманентність Ферма?


10

З доказу Міллера-Рабіна , якщо число проходить тест перманентності Ферма , воно також повинне пройти тест Міллера-Рабіна з тією ж базою (змінна в доказі). І складність обчислень однакова.a

Далі йде тест на перманентність Ферма :

Хоча числа Кармікеля набагато рідше, ніж прості числа, 1 їх досить багато, що тест перманентності Ферма часто не використовується у наведеній вище формі. Натомість частіше використовуються інші більш потужні розширення тесту Ферма, такі як Baillie-PSW, Miller-Rabin та Solovay-Strassen.

Яка користь Міллера-Рабіна і чому, як кажуть, він є більш потужним, ніж тест перманентності Ферма?

Відповіді:


7

Алгоритм Рабіна-Міллера також тестує, число , чи має нетривіальний корінь Єдності.Z nnZn

Числа Carmichael пройти тест Ферма (для кожного базису ), але для кожного Carmichael числа , існує безліч чисел таким чином, що тест на корені єдності зазнає невдачі на (тобто послідовність зрештою відображає нетривіальний корінь єдності).п , 2 , . . . , 2 р аanaaa,2a,...,2ra

Таким чином, ми маємо наступне:

Для тесту Ферма, якщо складене число не є Кармайхелем, то ймовірність того, що тест виявить композитність, становить щонайменше . Однак тест не вдасться до всіх номерів Carmichael.1 / 2n1/2

Для тесту Рабіна-Міллера кожне складене число буде виявлено з вірогідністю щонайменше . Це означає, що вірогідність коректності не залежить від вводу (немає "жорстких" входів). Саме це робить цей алгоритм сильнішим.1/2


Ви маєте на увазі, що номер Carmichael n може досягти успіху на тесті Ферма, але не вдалося Рабіну-Міллеру з використанням тієї ж бази a?
ZijingWu

Номери Carmichael проходять тест Ферма для кожного , але для деяких з них він не зможе тест Рабіна-Міллера (конкретно, корінь тесту Unity). aaa
Shaull

Але Карміхайл не пройде тест Ферма на кожне , правда? Наприклад, перший номер Carmichael 561 = 3 * 11 * 17 не пройде тест Ферма на = 3 або 11 або 17.aaa
ZijingWu

Коли ми говоримо "пройти", ми маємо на увазі, що вони не будуть виявлені як складені числа. Таким чином, числа Carmichael пройдуть тест для кожного . Я думаю, ми маємо на увазі те саме. У цьому прикладі 561 пройде тест Ферма на кожне число . aaa
Шоул

1
Суть "складніших" тестів полягає в тому, що частка основ, які лежать (скажімо, число, можливо, є простим, якщо його немає), має гарантовану межу менше 1. Тобто, у Міллера-Рабіна можна показати, що максимум 1/4 брехні (IIRC, і пов'язана досить песимістично).
фонбранд

0

Я вважаю, що ваше твердження протилежне тому, що відбувається. Проходження тесту Міллера-Рабіна для даної бази означає, що він пройде тест Ферма для тієї ж бази. На противагу цьому, існує багато композитів, які пройдуть тест Ферма для даної бази, але пройдуть тест Міллера-Рабіна для тієї ж бази.

Дивіться, наприклад, статтю Pomerance / Selfridge / Wagstaff на сторінці Вікіпедії Міллера-Рабіна:

https://math.dartmouth.edu/~carlp/PDF/paper25.pdf

де ми бачимо діаграму на сторінці 2, що показує, що псевдокриміналістика Ейлера є підмножиною псевдокриміналів Ферма, а сильні псевдокрими є підмножиною таких. Тому тест Соловай-Страссена більш вибагливий, ніж тест Ферма, а тест Міллера-Рабіна більше. Вони обидва уникають критичної проблеми чисел Кармікеля. Вони мають по суті однакові показники, тому ми вважаємо за краще використовувати тест Міллера-Рабіна.


0

Має бути очевидним, що Міллер-Рабін кращий за Ферма.

За допомогою тесту Ферма перевіряємо, чи = 1 (модуль p).ap1

За допомогою тесту Міллера-Рабіна, щоб обчислити знаходимо k і непарні s такі, що . Тоді обчислюємо модуль p і обчислюємо k в рази квадратичний модуль p. Це досить очевидний спосіб обчислити . p - 1 = s · 2 k a s a p - 1ap1p1=s·2kasap1

Знову ж таки, якщо результат не 1 (модуль p), то p є складовим. Але якщо результат дорівнює 1 модулю p, то ми перевіряємо, чи отримали ми це 1, склавши проміжний результат, який не був +1 або -1, і в цьому випадку x також є складеним.

Таким чином, ми виконуємо точно таку ж кількість роботи, але є більше способів довести, що x є складовим.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.