Главная » Просмотр файлов » Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2)

Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (1119454), страница 98

Файл №1119454 Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (Д. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2)) 98 страницаД. Кнут - Искусство программирования том 2 (3-е издание) - 2001 (Часть 2) (1119454) страница 982019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Положим еще, что сг . 1«М+ 2"~,аои«о«и Р(х) = со+ с«х+ .. + а««х~ ', Тогда при 1 < «< Ь имеем Р(х) ы о;(а«о+апх+ +ан«мх ') ш О (по модулю т«); так что Р(х) ш О (по модулю м). кроме того, (пг" сг) < М/«1, откуда слелует, что Р(х) = О, Но Р(х) не равно тождественно нулю. так как из условий о,ап ш 0 (по модулю т;) н бс«!(а,о,..., ако го т,) = 1 следует о«ш 0 (по модулю т,), в то время как иэ неравенства ) с«М/«пьб! < М/4 следует неравенство (о,( < гпп поэтому не может быть, чтобы одновременно о~ = . = оь ы О, Таким образом, можно найти х (точнее, не более «! — 1 возможных значений х).

Общее время выполнения алгоритма выражается в виде полинома по !8 М. (1,осгпге ««огхэ !л Сагир. Яс«'. 218 (1935), 403-408.) 43. Следствие 1. Решение всегда существует, Предположим сначала, что и — простое число, Если (-„) = 1, то при у = 0 решение существует. Если (-„) = -1, то пусть у > О принимает минимальное значение, прн ко~ором выполняется равенство Я-") = -1; тогда хо — а ш -уа и Ь ш -уа(уо) для некоторых хо н уо (по модулю и). Следовательно, г г (хоуо) — ауо ш Ь.

Предположим теперь, что найдено решение уравнения х — ау ш Ь (по г г— г г модулю и) и его нужно распространить на решение по модулю и . Можно всегда найти г такие значения параметров с и 4, что (х+ сп) — а(у+ Ии) ш Ь (по модулю и ), поскольку (х + сп)г — а(у + 4п)г ш хг — аут + (2сх — 2ау«()п н боб(2х,2ау) .1. и. Следовательно, в случае, когда и является степенью нечетного простого числа, решение всегда существует. (Необходимо еще положить, что число н также нечетно, потому что, например, уравнение хг ш уг ш 3 (по модулю 8) решений не имеет,) Таким образом, в соответствии с китайской теоремой об остатках решение существует для всех нечетных и. Следствие 2. Для заданных а и и, для которых а .!.

и, число рен«ений одинаково дли всех Ь .1. и. Это следует из тождества, приведенного в указании, и факта 1, так как если х~« — ау«~ ш Ь. то (х«хг — ау«уг,х«уз+лгу«) удовлетворяет всем решениям уравнения х — ау ш Ь, как только (хз,уз) удовлетворяет всем решениям уравнения х — у ш 1. з з 3 2 Другими словами, пара решений (хг, уг) однозначно определяется парами решений (хм у~) н (х, у), как только получим хз — ар~ .!.

и. Следствие 3. По задавнмм целым числам (а, э, э), таким, что эз ш а (по модулю е), можно найти целые числа (х, у, ш,1), для которых выполняется равенство х — ау = гп эг, где (х,р) !4 (0,0) и гз < з]а]. Действительно, если зз ы а+ шэ, то (н,в) будет парой ненулевых целых чисел, минимизирующих функцию (хи+те) +]а]вз.

Значение этой пары можно найти, используя методы из раздела 3 3 4 и неравенство (эв+шэ)'+]а]в' < (3]о]) ы' из упр. 3 3 4 — 9. Поэтому (хи+те)з-аиз ш тг, где 1з < 4]а]. Уравнение хе-ауз = (пзэ)(шг) решается иа основании тождества из указания. Следствие 4. Уравнение хэ — рз и Ь (по модулю и) решается просто, так как можно положить, что х = (Ь+ 1)/2, у = (Ь вЂ” 1)/2. Следствие 5. Нетрудно решить и уравнение хе+ уз ш Ь (по модулю и), потому что при помощи рассмотренного в упр. 3.3.4-11 метода можно решить уравнение х + у = р 3 3 для р простого и р шод 4 = 1; таким простым числом будет одно из чисел Ь, Ь+ и, Ь+ 2п,.... Теперь решать сформулированную задачу для случая, когда ]а] > 1, можно сле- дующим образом. Сначала выберем числа в и е как случайные в интервале между 1 и и — 1, затем вычислим значения ю = (вз — оез) шоб и и б = йсб(ю, и).

Если 1 < 6 < и нли йсб(о,п) > 1, то можно уменьшить и; методы, используемме для доказательства следствия 1, переведут решения, полученные для множнтелей числа п, в решения для самих чисел и. Если 6 = и и э .!. и, то (и/е)з ш а (по модулю и); значит, можно уменьшить о на 1.

В противном случае 6 = 1; положим, что э = Ьышобп. Это число э согласно следствию 2 равномерно распределено между простыми числамн до и. Если ('-,) = 1, попытаемсн найти решение уравнения эз и а (по модулю э), пошзгая, что э — простое число (упр. 4.6.2-15). Если решение не удалось найти, предпринимаем вторую попытку при другом выборе случайных чисел к и и. Если же решение найдено, полагаем. что эз = а+ эпэ, и вычисляем 6 = бег)(гпэ, и). Если Ы > 1, то упрощаем задачу в соответствии с описанной выше процедурой. В противном случае используем следствие 3 для того, чтобы найти х — ау = ш в! при Ф < -]о]; это приводит к уравнению (х/т) — а(9/га) ш е! (по модулю и).

Если Г = О, то уменьшаем о на 1. В противном случае для решения уравнения Х вЂ” !У ш о (по модулю и) применяем этот алгоритм рекурсивно. (Так как ! эначитеяьно 3 3 меньше, чем о, то потребуется только О(!об !ой и) уровней рекурсии.) Если йсб(1; и) > 1, можно уменьшить парачетры и и а; в противном случае получим (Х/У) — о(1/1') ш Г (по молулю я). В итоге указанное тождество дает решение уравнения х — ау ш е м ~з (см.

следствие 2), которое приводит к искомому решению, так как и — ое ш э/Ь. 2 3— На практике, как правило, требуется только О(!ойп) сэучайньп пробнык чисел для того, чтобы гарантировать успешное выполнение этого алгоритма в соответствии со сделанным предположением, Но для формального доказатечьства потребуется принять во внимание расширенную гипотезу Римана ~(1ЕЕЕ Тгалз. 1Т-33 (1987), 702-709]. Более сложный и медленный алгоритм, который не основывается ни на одном из недоказанных предположений, предложили Эдлеман (Ао!ешал), Истес (Евсея) н Мак-Керлн (МсСвг!еу) (Магй. Сошр.

48 (1987), 17-28], 46. (РОСЯ 20 (!979), 55 — 60.] После того как числа оьч шобр = ]'1'", р " получены для достаточного козшчества п„можно найти целочисленное решение хеь, !ы, 1 < у, Й < ш уравнения ~, хпэ со+(р — 1)г э ш 5 ь (иапример, как для уравнения 4.5.2-(23)), подставляя известные решения Д', = (2, х, .ьезь ) пшб (р — 1) в ал, шоб р = рз.

Тогда, если Ьа"' шоб р = Ц,, р,'], получим и+ и' ш 2 ',", е' т, (по модулю р — 1). [Известны усовершенствованные а.згоритмы (см., например, Соррешписп, Об!уэко, Зсйгоерре1, А!бог!1Ьш1са 1 (1986), 1-15).] РАЗДЕЛ 4.б 1. 9хз+ ух+7; бхз+ Тхз+ 2х+6. 2. (а) Истинно. (Ь) Ложно, если алгебраическая система о содержит делители мулл, т. е. ненулевые числа, произведение которых равно нулю, как в упр. 1; в противном случае — истинно. (с) Истинно при ш ээ п, ио, вообще говоря, ложно при ш = и, так как старшие коэффициенты могут сократиться. 3.

Положим, что г < з, При 0 < х < г максимум равен ш~гпз(й+ 1), при г < я < з он равен шатт(г+ 1) и при з < й < г+ в равен тгшз(~ + з+ 1 — й). Наименьшая верхняя граница, справедливая для всех я, равна тгтт(г+ 1). (Тот, кто решил эту задачу, теперь знает, как разделить иа множители полипом хг + 2хе + Зх~ + Зхэ + Зх + Зх~ + 2х + 1 ) 4. Если один из полиномов имеет меньше 2' ненулевых коэффициентов, произведение можно найти, поместив ровно ! — 1 нулей между всеми коэффициентами, а затем выполнив умножение в двоичной системе счисления и использовав побитовую операцию АМО (которая имеется в большинстве двоичных компьютеров; см. алгоритм 4.5.411) для обнулеиня лишних битов.

Например, при ! = 3 умножение, приведенное в тексте раздела, будет иметь вил (1001000001)з х (1000001001)з = (1001001011001001001)з Искомый ответ может быть получен с помощью побитовой операпии 190 с константой (1001001...1001)з. Подобная методика применима для умножения полиномов с не очень большими неотрицательными коэффициентами.

5. Полиномы степени < 2п могут быть записаны как У~(х)х" + Уе(х), где г!еб(У~) < 68((Т,) <, ((Т,() "+и.(х))(~;(*)*"+ ц,()) = и,()1:,( Н '+х")+ (Уз(х) + Уо(х))(г)(х) + 1е(х))х" + Уо(х))ге(х)(х" + 1). (В уравнении предполагается. что арифметические действия выполняются по модулю 2.) Таким образом, выполняются соотношения 4.3.3-(3) и 4,3.3-(5). Примечание. С. А. Кук (8. А. СооЬ) показал, что алгоритм 4.3.3Т можно расширить таким же способом.

А. Шеихаге (А. ЯсЬбпЬабе) (Асса Тлгогшаг!са 7 (1977), 395-398) показал, как можно умножить полииомы по модулю 2 при помощи 0(п!обо!об!обо) битовых операций. В действительности полииомы иад любым кольцам Я могут быть умножеиы с помощью 0(п 1об и!об 1об и) алгебраических операций, даже когда Я представляет собой жпебраическую систему, в которой умножение может не быть коммутативным пли ассопиативным (О. С. Свпсог апб Е. Ка!со!со, Асса Елгогшас1са 28 (1991), 693-701]. См. также упр. 4.6.4-57 и 4.6.4-58. Однако зти идеи практически бесполезны для разреженных полиномов, большинство коэффициентов которых нулевые. РАЗДЕЛ 4.6.1 1.

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

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

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