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

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

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

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

[Указание. Используйте вспомогательные переменные и!, из, щ, о», ш,, шз, ш',, ш», гп гз. з, 'и з», значения которых представляют собой строковые переменные; начните с установки и! +- (?», и» з- (?з, о! +- Ъ~, из +- Ъз и на протяжении алгоритма поддерживайте выполнение условий з! 1'! + гзрз = и», ° Ф з»Ь! +з»»з оз ! и ш!о! — ш»вз = (-1) г)», -4о»с! + шзоз = (-1) Уз П!ш»+(?зш» = и», (?! ш', + П»и!» ш из, и»з! — изз! м (-1)"(?», -и»зз + изз,' = (-1)" (?», на и-й итерации, Это можно рассматривать, как "окончательное" расширение глгоритма Евклида.] 19. [Мбй] (Общие дели»пели квадратных матрац.) В упр. 18 показано, что концепция наибольших общих правых делителей может иметь смысл при некоммутптивном умно- жении. Докажите, что любме две целочисленные матрицы А н В размера и х и имеют накбольший общий правый матричный делитель В.

[Пргдловсеииг. Разработайте алго- рятм, на вход которого поступают матрицы А н В, а на выходе получаются целочисленные матрицы 11, Р, О, Л, У, где А = РВ, В = Ц.0 к В = ХА + КВ,] Найдите иаибштьшнй общий правый делитель ма»1»иц (з 4) и (» ! ). 20. [М40] Исследуйте точность алгоритма Евклида; что можно сказать о вычислении нанболыпего общего делителя полиномов с ковффициентами, представляющими числа с плавающей точкой? представляет собой строку 1»г = хг'г!"'"1, так что этот алгоритм включает в себя ющ частный случай алгоритм поиска бес( целых чисел.) ь 18.

[Мгг] (Алгоритм Евклида длл строковмв полиномое.) Пусть $'! и 0~ — строковые полиномы, не равные одновременно нулю и имеющие общее левое кратное (зто означает, что существуют не равные одновременно нулю строковые полиномы с?! н (?з, такие, что с?! У! = (?» Ъ~). Назначение данного упражнения — найти алгоритм для вычисления нх каи6олыаего общего правого дглителл НОПД(Ь», У») и наименьшего общего левого кроткого НОЛК(И, Ъг). Этн величины определяются следующим образом: НОПД(У», $~з) является обшнм правым делителем Р! и $~ (т. е. Ь! = И"»НОПД()г», зз) и гз = И'зНОПД(1'», 1'з) для некоторых 1»'! и 1»з), и любой общий правый делитель Ъ'! и $р является правым делителем НОПД(Ь!, Уз); НОЛКЯ, Рб) = й! Ъд = й» зз для некоторых й! и йз, и любое обвзее левое кратное У! и Ъз является левым кратным лля НОЛКЯ, 'гз).

Например, пусть (?! = абббаЬ+ аббпб — ббаЬ+ аЬ вЂ” 1, $'! = ЬабаЬ+ абаб+ аЬ вЂ” Ь! (?» = аЬЬ+ аЬ вЂ” Ь, 1з = ЬаЬЬаЬаЬ+ ЬаЬпбаЬ+ ЬаЬаЬ+ аЬаб — Ьпбб — 1. Тогда имеем П»Ъ! = (?»Ъа = аЬЬЬаЬЬаЬаЬ+ аЬбпЬЬпЬпЬ+ пбббаЬпЬпЬ+ пЬЬабабаб- ЬбаЬЬабаЬ+ аЬЬЬпбаЬ вЂ” 6ЬаЬаЬпЬ+ упббабпб — аЬЬЬабб+ пбабаб — аббабб- Ьбаба Ь - баЬпЬ+ Ьбпбб- абЬ -аЬ+ Ь, Длв этих строковых пслнномов можно показать, что НОНА, 1 з) т аЬ+ 1 н НОЛКЯ, 1з) = с?»Ь!. Алгоритм деления из упр. 17 можно сформулировать так! есвн 1»! и 1» явлаютсв строковыми полнномами, причем $'з;г О, и если с?! -,Б 0 н (?з удовлетворяет соотношению П»1! = с?з'гз, то существуют строковые полииомы О и В, такие, что 21.

[М35[ Докажите, что время вычисления, требуемое штгоритмом С для поиска йсб двух полиномов и-й степени над кольцом целых чисел, составляет О(н~(1ойХп) ), если коэффициенты полннома ограничены по абсолютному значению величиной Х. 22. [МЯЛ) Докажите теорему Штурма. [Указание. Некоторые последовательности знаков невозможны.) 23.

[Мзх] Докажите, что если и(х) в (29) имеет г1ей(и) действнтелыгык корней, то абеб(кг ы) = бей(и ) — 1 для 0 < у < й. 24. [МИ) Покажите, что (19) упрощается до (29) и (23) упрощается до (24). 25. [ЛЩ [ (В. С Браун (Ж. 8. Вгони).) Докажите., что все полиномы иг(х) в (15) лля у > 3 кратны бсг1(4(к), 4(г )), и поясните, как в соответствии с этим можно улучшить алгоритм С. ь 26. [Мйб) Назначение этого упражнения- — найти аналог для полиноиов того факта, что цепная дробь с целымн положительными элементами дает наилучшее приближение действительных чисел (упр.

4.5,3-42). Пусть и(х) н с(х) — полиноыы над полем с бей(к) > бей(с) и пусть аг(х), аг(х), ...— частные полиномы, образующиеся в результате применения алгоритма Евклида к и(х) н с(х), Например, посэедовательность частных в (5) н (б) представляет собой 9хг+7, 5хг+5, бхг+5хг+бх+5, 9х+12. Необходимо показать, что представления р„(х)/4 (х) цепной дроби //пг(х), пг(х),...// явлшотся "наилучшими приближениявги" малых степеней рациональ.- ной функции с(х)/и(х), где р (х) =К д(аг(х)„,а„(х)) н 4„(х) жК„(аг(х),...,а (х))— континуанты из 4.5.3-(4). По определению ро(х) = 4-1(х) = 9, р-1 (х) = Чо(х) = 1 Докажите, что если р(х) н д(х) являются полиномами, такимгг, что деб(9) < г(ей(д„) и деб(ри-ес) < бей(р -гк-4„-ге) для некоторого и > 1, тор(х) = ср г(х) и о(х) = се -1(х) для некоторой константы с.

В частности, каждый 4„(х) является полнномом, "разбивающим запись" (гесого-ЬгеаЫпй) в том смысле, что не существует ненулевого полнноиа 4(х) меныпей степени, такого, что для любо~о полинома р(х) полипом р(х) и(х) — 4(х) с(х) имел столь же малую степень, что н р„(х) и(х) — 4„(х) с(х). 27. [Мйз) Предложите путь ускорения деления и(х) на и(х), если заранее известно, что остаток будет нулевым. е4.6.2. Разложение полииомов нв множители Рассмотрг(м теперь задачу ие только поиска наибольшего общего делителя двух или более полиномов, но и разлоогссмил полииомов. Разложение по модулю р.

Как и в случае целых чисел (разделы 4.5.2 и 4.5.4)„ задача разложения представляется существенно сложнее поиска наибольшего общего делителя. Однако разложение полиномов по модулю некоторого простого целого числа р не настолько сложно, как кажется. Гораздо проще найти множители проязволького полинома степени и по модулю 2, чем использовать любой известный метод для поиска множителей произвольного и-битового двоичного числа. Эта неожиданная ситуация является следствием поучительного алгоритма разложения, открытого в 1967 году Элвином Р. Берлекампом (Е)эгуп В.

Вег!е(гашр) [Ве)) Яузгеггг Тес(гпгса) Х 46 (1967), 1853-1859). Пусть р — простое число; все арифметические операции над полиномами в приведенном далее материале выполняются по модулю р. Предположим, задан полипом и(х), коэффициенты которого выбраны из множества (0,1, ...,р — 1), Мы можем считать, что и(х) нормирован.

Наша цель — выразить а(х) в виде п(х) =р (х)"" р.( )' (1) где р»(х), ..., р,(х) — различные нормированные неприводимые полиномы. В качестве первого шага можно использовать стандартную технологию определения, не является ли какой-либо показатель степени ем ..., е, больше единицы. Если н(х) — м х + ' ' ' + пе — О(х)~ге(х) то производная (найденная так, как обычно, но»ю модулю р) будет равна и'(х) = пи„х ~ + . + и» = 2с(х)с'(х)ш(х) + п(х)зв'(х), (3) а зто выражение кратно с(х).

Значит, наш первый шаг в разложении и(х) должен состоять в поиске ясс)(и(х), и'(х)) = И(х). (4) Если Н(х) равно 1, то, как мы только что убедились, и(х) свободен ош кеафагпов, т. е. представляет собой произведение различных простых р~ (х)... р„(х). Если п(х) не равно 1 и фх) ~ и(х), то с((х) является собственным множителем и(х); соотношение между множителями Н(х) и множителями и(х)/п(х) уткоряет процесс разложения для этого случая (см. упр, 34 и 36).

И наконец, если И(х) = п(х), то необходимо, чтобы и'(х) = 0; следовательно, коэффициент н» прн х» ненулевой только тогда, когда» кратно р. Это означает, что и(х) может быть записан как почином вида и(х"). В таком случае имеем ( ) = (х') = ( ( О'.

(3) Процесс разложения может быть завершен нахождением неприводимых множителей и(х) и возведением их в степень р. Тождество (5) может показаться читателю несколько странным, однако это важный факт, лежащий в основе алгоритма Берлекампа н других методов, которые мы обсудим чуть позже. Его можно доказать следующим образом.

Если щ(х) и сз(х) — некоторые полнномы по модулю р, то (щ (х) + вт (х)) = щ (х)г + (г) и» (х)" ~ цт(х) + " . + („~,) гч (х) пз(х)~ ' + н»(х) г = п»(х)" +гя(х)г, Эти замечания показывают, что задача разложения сводится к задаче разложения свободных от квадратов полиномов. Таким образом, положим, что и(х) = р»(х)рз(х)...р,(х) является произведением различных простых сомножителей. К какой хитрости следует прибегнуть, чтобы суметь найти р.

(х), если дан только и(х)2 Идеи Берлекампа поскольку биномиальные коэффициенты (~'), ..., ( г,) кратны р. Далее, если а— произвольное целое число, имеем аг = а (по модулю р) согласно теореме Ферма. Таким образом, когда и(х) = с„,х"' + с »х"' ' + + еш находим, что с(х)г = (ю~х-)л + (О,. !х--') + " + (гв)г = и х ~+с, ~х~"' ~~+ .

+гв = с(хг). состоит в применении китайской теоремы об остатках, которая справедлива для полиномов так же, как и для целых чисел (см. упр. 3). Если (вм вв,..., в„) является произвольным набором из г целых чисел по модулю р, из китайской теоремы об остатках вытекает, что существует единственный полином е(х), такой„что е(х) ке в1 (по модулю р1(х)), ..., и(х) гя в, (по мсдулю р„(х)), бей(е) < бей(рс) + с1ей(рв) + " + де8(р,) = бей(и). Запись "й(х) ьз Ь(х) (по модулю )'(х))", появляющаяся здесь, имеет тот же смысл, что и "й(х) ьй Ь(х)(по модулю 7(х) и р)" в упр. 3.2.2-11, поскольку мы рассматриваем полиномиальную арифметику по модулю р.

Полипом е(х) в (7) предоставляет способ получения множителей и(х), так как при г > 2 и в1 ~ зв мы получим йсо(и(х), е(х) — »1), делящийся на р1 (х), но не на рт(х). Поскольку зти наблюдения показывают, что информацию о множителях и(х) можно получить из соответствующих решений и(х) (7), проанализируем (7) более тщательно, Во-первых, можно заметить, что полипом и(х) удовлетворяет условию е(х)" ав в~~ = ву гй е(х) (по модулю рв(х)) для 1 < у < г. Таким образом, и(х)» вт и(х) (по модулю и(х)), бей(и) < бей(и).

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

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

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