Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
§ 7.4. Тестирование простоты и системы символьных вычисленийМногие системы символьных вычислений имеют простую команду для проверки, является ли данное число простым. Самое удивительное при этом, что ответ выдается почти мгновенно, даже если проверяемое число было довольно большим. Так происходит из-за того, что большинство программ основаны на тесте Миллера, применяемом по большому числу оснований. Рациональное зерно в таком использовании теста Миллера прорастает из теоремы Рабина. Пусть
Так что правдоподобно предположение: число Эти рассуждения приводят к вероятностному тесту Ра-бина на простоту. Поскольку он вероятностный, нам нужно решить, насколько малой должна быть вероятность ошибки. Предположим, нам нужно, чтобы вероятность ошибки не превосходила Естественно, мы хотим быть абсолютно уверены в том, что числа, прошедшие тест, будут простыми. Для этого необходимо выбрать Посмотрим как выполняется тест Рабина в одной широко известной системе символьных вычислений. Конечно, каждая программа использует ей одной свойственную стратегию. Например, Maple V.2 проверяет простоту в три этапа. Сначала подбираются простые делители тестируемого числа, не превосходящие 103. Если таких делителей не обнаружено, то программа применяет тест Миллера по основаниям 2,3,5,7 и 11. А в последнюю очередь проверяется, что данное число не относится ни к одному из следующих семейств:
или
Причиной необходимости последнего этапа служит информация о том, что в этих семействах найдено довольно много строго псевдопростых чисел по тем основаниям, которые используются программой (см. [38]). Тем не менее, составное число
определяется Мар1еом как простое. Его наименьший простой делитель равен 286472803. В более поздних версиях Axiom 1.1 применяет другую стратегию: подбирает количество оснований в зависимости от числа, которое собирается тестировать. Было показано, что тест, используемый Axiom 1.1, правильно обнаруживает простоту чисел, если они меньше, чем 341550071728321 (см. [26]). Для чисел, выходящих за эту границу, Axiom 1.1 в качестве оснований для теста Миллера использует 10 наименьших простых чисел. Подобно Maple, эта программа делает дополнительные проверки для чисел, считающихся особенно неприятными. И этот тест не совершенен; он дает сбой на составном числе из 56 знаков. Сначала можно подумать, что стратегии, выбранные для этих программ, дадут «совершенные» тесты, стоит только подобрать подходящие основания. Но печальная истина в том, что это невозможно сделать даже теоретически. Одно из следствий, вытекающих из работы Альфорда, Гранвилля и Померанца над числами Кармайкла, состоит в следующем: «Для любого конечного набора оснований найдется бесконечно много чисел Кармайкла, строго псевдопростых по всем этим основаниям.» Итак, следует остерегаться категоричных утверждений о простоте числа, руководствуясь тестом Миллера, применяемым по фиксированному числу оснований. Возможный выход из создавшейся ситуации был реализован в Axiom 2.2. Теперь программа, учитывая размер тестируемого числа, увеличивает число оснований. Для числа из Подробности о тестировании простых чисел этими программами, а также примеры, на которых они дают сбой, можно найти в [5]. В главе 11 мы будем изучать тесты, которые позволят нам с уверенностью определять простоту чисел. Но если быть до конца откровенным, они не такие простые и эффективные, как тест Миллера. Упражнения(см. скан) (см. скан) (см. скан) (см. скан)
|
1 |
Оглавление
|