Геовикипедия wiki.web.ru | ||
|
|
Если же при каком-то это сравнение нарушается, можно утверждать, что - составное. Проверка (9) не требует больших вычислений, это следует из алгоритма 1. Вопрос только в том, как найти для составного целое число , не удовлетворяющее (9). Можно, например, пытаться найти необходимое число , испытывая все целые числа подряд, начиная с 2. Или попробовать выбирать эти числа случайным образом на отрезке . К сожалению, такой подход не всегда дает то, что хотелось бы. Имеются составные числа , обладающие свойством (9) для любого целого с условием . Такие числа называются числами Кармайкла. Рассмотрим, например, число . Так как делится на каждое из чисел , , , то с помощью малой теоремы Ферма легко проверить, что есть число Кармайкла. Можно доказать (Carmichael, 1912), что любое из чисел Кармайкла имеет вид , , где все простые различны, причем делится на каждую разность . Лишь недавно, см. [10], была решена проблема о бесконечности множества таких чисел.
В 1976 г. Миллер предложил заменить проверку (9) проверкой несколько
иного условия. Детали последующего изложения можно найти в [8].
Если -
простое число,
, где нечетно, то согласно малой теореме Ферма для
каждого с условием хотя бы одна из скобок в произведении
делится на . Обращение этого свойства можно использовать, чтобы отличать составные числа от простых.
Пусть - нечетное составное число,
, где нечетно. Назовем
целое число , , ``хорошим'' для ,
если нарушается одно из двух условий:
Из сказанного ранее следует, что для простого числа не существует хороших чисел . Если же составное число, то, как доказал Рабин, их существует не менее . Теперь можно построить вероятностный алгоритм, отличающий составные числа от простых.
5. Алгоритм, доказывающий непростоту числа
Из сказанного выше следует, что составное число не будет определено как составное после однократного выполнения шагов 1-3 с вероятностью не большей . А вероятность не определить его после повторений не превосходит , т.е. убывает очень быстро. Миллер предложил детерминированный алгоритм определения составных чисел, имеющий сложность , однако справедливость его результата зависит от недоказанной в настоящее время расширенной гипотезы Римана. Согласно этому алгоритму достаточно проверить условия ) и ) для всех целых чисел . Если при каком-нибудь из указанного промежутка нарушается одно из условий ) или ), число составное. В противном случае оно будет простым или степенью простого числа. Последняя возможность, конечно, легко проверяется. Напомним некоторые понятия, см. [4], необходимые для формулировки расширенной гипотезы Римана. Они понадобятся нам и в дальнейшем. Пусть - целое число. Функция называется характером Дирихле по модулю , или просто характером, если эта функция периодична с периодом , отлична от нуля только на числах, взаимно простых с , и мультипликативна, т.е. для любых целых выполняется равенство . Для каждого существует ровно характеров Дирихле. Они образуют группу по умножению. Единичным элементом этой группы является так называемый главный характер , равный 1 на всех числах, взаимно простых с , и 0 на остальных целых числах. Порядком характера называется его порядок как элемента мультипликативной группы характеров. С каждым характером связана так называемая -функция Дирихле - функция комплексного переменного , определенная рядом . Сумма этого ряда аналитична в области и может быть аналитически продолжена на всю комплексную плоскость. Следующее соотношение связывает -функцию, отвечающую главному характеру, с дзета-функцией Римана . Расширенная гипотеза Римана утверждает, что комплексные нули всех -функций Дирихле, расположенные в полосе , лежат на прямой . В настоящее время не доказана даже простейшая форма этой гипотезы - классическая гипотеза Римана, утверждающая такой же факт о нулях дзета-функции. В 1952 г. Анкени с помощью расширенной гипотезы Римана доказал, что для каждого простого числа существует квадратичный невычет , удовлетворяющий неравенствам . Константа была сосчитана позднее. Именно это утверждение и лежит в основе алгоритма Миллера. В 1957 г. Берджесс доказал существование такого невычета без использования расширенной гипотезы Римана, но с худшей оценкой , справедливой при любом положительном и , большем некоторой границы, зависящей от . Алгоритм Миллера принципиально отличается от алгоритма 5, так как полученное с его помощью утверждение о том, что число - составное, опирается на недоказанную расширенную гипотезу Римана и потому может быть неверным. В то время как вероятностный алгоритм 5 дает совершенно правильный ответ для составных чисел. Несмотря на отсутствие оценок сложности, на практике он работает вполне удовлетворительно.
Next: 4.5. Как строить большие Up: 4. Алгоритмические проблемы теории Previous: 4.3. Сложность теоретико-числовых алгоритмов Contents: Содержание |