КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Из последнего равенства аналогичным образом для некоторого целого неотрицательного s получаем 3 страница
К сказанному добавим еще, т.н., расширенный алгоритм Евклида, который, например, позволяет решать сравнения вида
Тогда верно, что
2) Бинарный метод. Этот алгоритм производит возведение целого числа в натуральную степень по заданному модулю. Пусть требуется найти
где
Если подсчитать количество операций умножения s, то получим оценку вида
Ясно, что операция взятия по модулю не меняет статуса алгоритма как полиномиального. Если учитывать, что машинная арифметика предполагает в основном вычисления с битовым представлением чисел, то следует добавить при этом, что сложение и вычитание требуют
3) Вычисление символа Якоби. Напомним свойства символа Якоби. Для
Пусть требуется вычислить значение символа Якоби
1) при 2) при
После выделения степеней 2 и «переворотов» по закону взаимности символ Якоби приводится к виду:
что позволяет немедленно получить ответ. Легко видеть, что каждый «переворот» соответствует делению с остатком, как это было в алгоритме Евклида, поэтому общее число «переворотов» оценивается величиной 2
3. Вероятностные алгоритмы. Вероятностный алгоритм отличается от детерминированного тем, что ему на вход кроме входного слова w поступает некоторая случайная последовательность Говорят, что вероятностный алгоритм решает массовую задачу с вероятностью ошибки Говорят, что Лас-Вегас алгоритм решает массовую задачу с вероятностью неудачи На вероятностные алгоритмы переносится понятие полиномиального времени. Оно оценивается на входе w, как максимальное по r время, требующееся алгоритму, работающему со словом w и использующему случайную последовательность r. Для решения задачи распознавания выделяют еще вероятностные алгоритмы с односторонней ошибкой. Именно:
Определение. Вероятностный (Монте-Карло) алгоритм, решающий задачу распознавания языка L, называется вероятностным алгоритмом с односторонней ошибкой
Для таких алгоритмов существует простая схема уменьшения вероятности ошибки. Эта схема реализуется следующим вероятностным алгоритмом. Пусть А – вероятностный алгоритм с односторонней ошибкой Вход: 1) Генерируется случайная последовательность 2) Моделируется работа алгоритма А на слове w с каждой из указанных случайных последовательностей 3) Если Легко увидеть, что алгоритм В есть вероятностный алгоритм с односторонней ошибкой, ибо если Соответствующие примеры встретятся в последующих разделах.
4. Оракульные алгоритмы. Под оракулом понимается любая функция оракулу, вычисляет значение
Определение. Говорят, что задача
Определение. Сведение называется полиномиальным, если А
Определение. Если задача
Понятие оракульного алгоритма переносится и на вероятностные алгоритмы.
Определение. Если задача
Полиномиально эквивалентные задачи рассматриваются как задачи одинаковой сложности. Примером полиномиально эквивалентных задач может служить пара Примером полиномиально эквивалентных, но экспоненциально разрешимых на сегодняшний день задач могут служить задачи нахождения нетривиального делителя составного числа
Раздел шестой
1. Построение больших простых чисел. Криптографические приложения требуют больших простых чисел. Поэтому методы построения последних чрезвычайно важны. В простейшем случае дело обстоит так: надо взять некоторое натуральное число и подвергнуть его проверке на простоту, В случае, если проверка успешно пройдена, то число найдено. Таким образом, востребованными оказываются способы проверки простоты, которые называются тестами на простоту. Приведем пример простейшего теста. Вход: Положить 1. Если 2. Вычислить 3. Если 4. Если
Ясно, что в случае, когда число n составное, процесс проверки может закончиться очень быстро. Например, если n – четное или кратно какому-либо малому простому числу. Но если n – число простое, то придется сделать Наименьший простой делитель составного числа n не превосходит Но и тогда алгоритм остается экспоненциальным, т.е. время его работы может составить Другим известным способом определения простоты числа является решето Эратосфена (около 250 г. до н. э.). Этот алгоритм позволяет на основе указанного выше результата получить список всех простых чисел До последнего времени (2002 г.) неизвестны были детерминированные полиномиальные тесты на простоту. Лучший из апробированных тестов Адлемана-Румли (с улучшениями от Ленстры) являлся квазиполиномиальным, ибо его время работы оценивается величиной
Этот алгоритм способен различать простые числа порядка
2. Псевдопростые числа и вероятностные тесты на простоту. Определение. Пусть n – нечетное составное число и пусть b – любое целое такое, что b
Пример. Число n = 91 является псевдопростым по основанию 3, так как справедливо сравнение: 3
Из определения псевдопростого числа видно, что оно в определенном смысле похоже на простое. Именно, для простых n соотношение (6.1) выполняется всегда в силу известной малой теоремы Ферма. Эта теорема могла бы служить основанием для теста на простоту, если бы не «мешали» псевдопростые. Имеет место следующая теорема.
Теорема. Существует бесконечно много псевдопростых чисел Ферма для любого основания b.
Определение. Числом Кармайкла называется нечетное составное число n, для которого сравнение (6.1) выполняется для любого числа b
Пример.Число n = 561 = 3 Пример.Числами Кармайкла, меньшими 100000, являются: 561, 1105, 1729, 2465, 2821, 6601, 8911, 10585, 15841, 29341, 41041, 46657, 52633, 62745, 63973 и 75361.
Замечание. Недавно (1992 г.) было доказано, что множество чисел Кармайкла бесконечно.
Определение. Если n – нечетное составное число и b – такое целое число, что b то n называется псевдопростым числом Эйлера по основанию b.
Теорема. Если n есть псевдопростое число Эйлера по основанию b, то оно является псевдопростым Ферма по основанию b.
Доказательство. Достаточно возвести в квадрат обе части сравнения (6.2).
Пример.Утверждение, обратное теореме, неверно. В примере число 91 было псевдопростым по основанию 3. Однако, 3 и, значит, (6.2) не выполняется для n = 91, b = 3. Примером основания, по которому 91 является псевдопростым Эйлера, есть 10. Действительно, 10
Отметим, что для псевдопростых Эйлера нет аналога чисел Кармайкла. Каждое составное число n не выдерживает тест (6.2) для по крайней мере половины всех возможных оснований b. Точнее, имеет место
Теорема. Для нечетного n S Если n составное, то |S
Доказательство. По мультипликативности символа Якоби S Предположим для начала, что n свободно от квадратов, т.е. в разложении n = p у Для такого у имеем
Но у Теперь предположим, что существует простое р такое, что р
Дата добавления: 2014-11-16; Просмотров: 658; Нарушение авторских прав?; Мы поможем в написании вашей работы! |