Главная » Просмотр файлов » Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)

Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189), страница 219

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 219 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 2192019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 219)

Этн вычисления полностью эквивалентны. Следствие 31.29 Если им из,...,пь попарно взаимно простые и и = п1пз иы то для любых целых чисел х и а х = а (пнк1 и;), 997 Глава ЗД Теоретико-числовые алюрлтмы Рис. 31.3. Иллюстрация китайской теоремы об остатках при нз = 5 и пз = 13. В этом примере сз = 26 и сз = 40. На пересечении строки 1 и столбца 7 показано значение а по модулю 65, такое, что а щоб 5 = з и а глоб 13 = 7.

Обратите внимание, что в ячейке на пересечении строки 0 и сюлбца 0 содержится значение О. Аналогично в ячейке на пересечении строки 4 и столбца 12 содержится 64 (эквивалент -1). Поскольку сэ = 26, смещение вниз вдоль столбца на одну строку приводит к увеличению значения о на 26. Аналогично сэ = 40 означает, что сдвиг вправо вдоль строки на один столбец приводит к увеличению значения а на 40.

Увеличение значения а на 1 соответствует сдвигу по диагонали вниз и вправо с переходом по доспакении границ нз нижней в верхнюю строку и из крайнего справа столбца в крайний слева. Упражнении 31.5.1 Найдите все решения уравнений х = 4 (пюс1 5) и х = 5 (шог( 11). 31.5.2 Найдите все целые числа х, которые при делении на 9, 8, 7 дают соответственно остатки 1, 2, 3. 31.5.3 Докажите, что при выполнении условий теоремы 31.27, если 8сс1(а, и) = 1, (а 1 шод п) <+ ((а11 шос) пг), (аз 1 тос1 пз),..., (аь шос( пь)) . 31.5.4 Докажите, что при выполнении условий теоремы 31.27 для произвольного поли- нома 1 количество корней уравнения 1(х) гя О (пюс1п) равно произведению количества корней каждого из уравнений 1(х) = — О (шод пг), 1(х) = О (шод из), ..., 1'(х) = О (гпос1 па).

31.6. Степени злементи Мы часто рассматриваем кратные данному элементу а по модулю и; столь же естественно рассматривать и последовательность степеней а по модулю п, где ц ~ ~о' 0 1 2 3 (31.33) по модулю и. Индексация начинается от нуля; нулевой член последовательности равен ао эпос( и = 1, а з-й член — а* шод и. Ниже в качестве примера приведены 998 Часть рц. Избранные анны степени чисел 3 по модулю 7. 1 0 1 2 3 4 5 6 7 8 9 10 11 3'пюс)7 1 3 2 6 4 5 1 3 2 6 4 5 А вот как выглядят степени 2 по модулю 7. 0 1 2 3 4 5 6 7 8 9 10 11 2'пюд7 ! 2 4 1 2 4 1 2 4 1 2 4 В этом разделе (а) будет обозначать подгруппу группы Е„', сгенерированную элементом а путем повторного умножения„а огг) „(а) (порядок а по модулю и) будет обозначать порядок элемента а в группе Ж'„.

Например, в группе Ет подгруппа (2) = (1, 2, 4), а огг(т(2) = 3. Используя определение функции Эйлера ф(и) как размера группы Ж„' (см. раздел 31.3), преобразуем следствие 31.19 с использованием обозначений Т,„', чтобы получить теорему Эйлера и сформулировать ее для частного случая группы Щ, где р — простое число, что даст нам теорему Ферма.

Теорема 31.30 (Теорема Эйлера) Для любого целого и > 1 а' ("1:— 1 (щос( и) для всех а Е Ж„' Теорема 31.31 (Теорема Ферма) Если р — простое число, то ая ' га 1 (гпос1 Р) дла всех а ~ Жр . Доказательство. Согласно (31.21), если р — простое число, ф(р) = р — 1. ° Теорема Ферма применима к каждому элементу Хр за исключением О, поскольку 0 1е Хр. Однако если р — простое, то аР ив з а (пюс1 р) для всех а е Хр.

Если оп1„(д) = ~Ж„'~, то каждый элемент группы Е„' является степенью д по модулю и и д представляет собой аервообразкмй корень (рпппйке гоо1), нлн геаератор К„'. Например, 3 является первообразным корнем по модулю 7, но 2 первообразным корнем по модулю 7 не является. Если в группе Т,„' имеется первообразный корень, то говорят, что она циклическая (сусйс), Доказательство сформулированной ниже теоремы, доказанной Нивеном 1гй(чеп) и Цукерманом (Хпскеппап) в (263), опущено.

Теорема 31.32 Значения и > 1, для которых группа Ж„* является циклической, представляют собой 2, 4, р' и 2р', для всех простых р > 2 и всех положительных целых е. ° Если д представляет собой первообразный корень группы Х*„, а а — произвольный элемент Т,„', то существует г, такое, что д' = а (пюс! и).

Это г называется Глава ЗЛ Теоретико-числовые алгоривииы 999 дискретныи логарифмом (Й1ясгеГе 1ойапйвп) или индексам (шйех) и по моду- лю и по основанию д; будем записывать это значение как шй„е(а). Теорема 31.33 (Теорема о дискретном логарифме) Если д является первообразным корнем Х„*, то равенство д* = д" (шой и) спра- ведливо тогда и толью тогда, югда выполняется х = у (гной ф(п)). + ь ф ( и ) ( ш о й и ) = д" (дф("1) (пюй и) = д" 1 (пкк1 и) га дя (гной и) .

(согласно теореме Эйлера) И обратно, предположим, что д* = д" (пюй и). Поскольку последовательность степеней д генерирует каждый элемент (д) и ~(д) ~ = ф(п), из следствия 31.18 вытекает, что последовательность степеней д периодична с периодом ф(п). Следовательно, если д* га дя (гной п), должно выполняться х ж у (гпой ф(п)). ° Теперь обратим внимание на квадратные корни из 1 по модулю простой степени. Приведенная ниже теорема окажется полезной в разделе 31.8 при разработке алгоритма для проверки простоты. Теорема 31.34 Если р представляет собой нечетное простое число и е > 1, то уравнение х = 1 (пюй р') (31.34) имеет только два решения, а именно — х = 1 и х = — 1. Доказательство. Уравнение (31.34) эквивалентно уравнению р' / (х — 1)(х + 1) .

Посюльку р > 2, может выполняться только одно из условий р ! (х — 1) и р ~ (х + 1), но не оба одновременно. (В противном случае согласно свойству (31.3) р должно быть делителем их разности (х + 1) — (х — 1) = 2.) Если р ( (х — 1), то 8сй(р', х — 1) = 1, и согласно следствию 31.5 должно выполняться р' ~ (х + 1), т.е. х = — 1 (той р').

Симметрично, если р 1 (х + 1), то 8сй(р', х + 1) = 1, и из следствия 31.5 вытекает, что р' ~ (х — 1)„так что х = 1 (шой р'). Следовательно, либо х = — 1 (гпой р'), либо х = 1 (тпой р'). Число х называется нетривиальным квадратным корнем 1 ио модулю и, если справедливо уравнение х = 1 (гпой и), но х не эквивалентно ни одному из "тривиальных" квадратных корней по модулю и, — ни 1, ни — 1. Например, Доказательство. Сначала предположим, что х г— а у (шой ф(п)). Тогда х = у + нф(п) для некоторого целого числа )с. Следовательно, гооо Часть УИ Избра»тые темы 6 — нетривиальный квадратный корень из 1 по модулю 35. Приведенное ниже следствие теоремы 31.34 будет использовано в разделе 31.8 при доказательстве корректности процедуры Миллера †Раби (М!Пег-КаЬш) для проверки простоты чисел.

Следствие 31.35 Если существует нетривиальный квадратный корень из 1 по модулю и, то число и составное. Доказательство. Будем проводить доказательство ст противного. Используем теорему, обратную теореме 31.34: если существует нетривиальный квадратный корень из 1 по модулю и, то и не может быть нечетным простым числом или его степенью. Если кз = 1 (шоб 2), то х = 1 (шос! 2), поэтому все квадратные корни 1 по модулю 2 тривиальны. Таким образом, и не может быть простым.

Наконец, чтобы существовал нетривиальный квадратный корень из 1, и должно удовлетворять неравенству и > 1. Поэтому число и должно быть составным. ° Возведение в степень путем многократного возведения в квадрат В теоретико-числовых вычислениях часто встречается операция возведения одного числа в степень по модулю другого числа, известная под названием модульное возведение в стелень (шобп!аг ехропепйайоп).

Другими словами, нам нужно найти эффективный способ вычисления величины аь шос) и, где а и Ь— неотрицательные целые числа, а и — положительное целое число. Операция модульного возведения в степень играет важную роль во многих подпрограммах, выполняющих проверку простоты чисел, а также в криптографической системе с открытым ключом КЗА.

Метод эффективного решения этой задачи, в котором используется бинарное представление числа Ь, называется методом многократного возведения в квадрат (гереа!ее) зс!палп8). Пусть (Ь», 6» и, .., Ьы Ьс) — бинарное представление числа Ь. (То есть бинарное представление имеет длину !с + 1 бит, Ь» — старший, а Ьо — младший биты представления.) Приведенная ниже процедура вычисляет а' шос! и, где с возрастает от 0 до Ь путем удвоения и приращения.

Мопиг.лк-Ехюнпмт!Атюн(а,Ь, и) ! с=О 2 0=1 3 Пусть (Ь»,6» п.,,,6о) — бинарное представление 6 4 !ог ! = )с йотгпго 0 5 с =2с б с( = (с( Н) гпос1 и 7 !ГЬ, ==1 8 с=с+1 9 с! = (Н а) пюс1 и 10 ге!игл д !00! Глава 3!. Теоретико-числовые олгоритмы Рис. 31.4.

Результаты работы процедуры Мооос ак-Ехгонантглтюн по вычислению о (пюс1 и), где о = 7, Ь = 660 = (1000110000) и и = 661. В таблице показаны значения после кткдой итерации цикла Гог. Окончательный результат равен единице Важной частью процедуры, объясняющей ее название ("многократное возведение в степень"), является возведение в квадрат в строке б, выполняемое в каждой итерации. В качестве иллюстрации работы алгоритма рассмотрим пример а = 7, Ь = 560 и п = 561. В этом случае алгоритм вычисляет последовательность величин по модулю 561, приведенную на рнс.

31.4. Полученная в алгоритме последовательность показателей степени содержится в строке с таблицы. В действительности алгоритм вполне может обойтись без переменной с; она добавлена для того, чтобы можно было сформулировать следующий состоязций из двух частей инвариант цикла. Непосредственно перед каждой итерацией цикла 1ог в строках 4 — 9 1. значение с совпадает с префиксом (Ьа, Ьа 1,..., Ьс.ьз) бинарного пред- ставления Ь; 2. с(= а' шос1 п. Используем этот инвариант цикла следующим образом. Инициализация. Изначально з = (с, так что префикс (Ьа, Ьа м..., Ь,.ьз) пуст, что соответствует с = О. Кроме того, сз = 1 = ао пюс1 п. Сохранение. Обозначим через с' и с(' значения с н с( в конце итерации цикла 1ог, а значит, значения перед началом следующей итерации.

Каждая итерация выполняет с' = 2с (если Ьс = 0) или с' = 2с+ 1 (если Ь, = 1), так что с будет иметь корректное значение перед следующей итерацией. Если Ьс = О, то сз' = с(з шос) и = (а')з тпос1 и = аз' аспас( и = а' шос) п. Если Ь = 1, то с(' = сзза шос) п = (а')за пюс1 п = аз''ьз шос( и = а' гпос1 п. В любом случае перед началом следующей итерации сз = а' гпос1 п.

Завершение. В момент завершения з = — 1. Таким образом, с = Ь, поскольку с имеет значение, равное префиксу (Ьь, Ьа 1,..., Ьо) бинарного представления Ь. Следовательно, с( = а' гпос1 п = аь пюс1 п. Если входные данные а, 6 и п представляют собой (3-битовые числа, то общее количество требуемых арифметических операций равно 0((з), а общее количество требуемых битовых операций равно Офз). Часть еп.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее