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

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

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

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

Например, в частном случае (16), возникающем в связи со спектральным критерием, получим Р— 1 (1, а, аз,, аз-1) (О, 1, О,..., О), Рз = (0* 0 1,..., 0), (20) Пь = ( т, О, О,... „0), Пз = ( -а,1,0,...,0), Пз = ( -аз, О, 1,, О), Пз =(-а' ',0,0,...,1), хь = (х1П~ + +х~Пз) 1'в, и из неравенства Коши получить неравенство ((х1 6 з + . + хам~) .

)гь) < У(х1 ., ха) ()гь " Ю. Итак, получена удобная верхняя граница каждой координаты хь. Лемма А. Пусть (хз,..., хз) — ненулевой вектор, минимизирующий (18), н пусть (йы..., рз) — любой ненулевой целочисленный вектор. Тогда хь э< Дум...,р,)Я, ° 34ь) для 1 < Й <Ф. (21) В частности, полагал 9; = бз для всех з, получим хьз < Щ Пт)(Ъ~ )гь) для 1 <,~', А < г. (22) Лемма А сводит задачу к нахождению минимума по конечному множеству, но правая часть (21) обычно является слишком большой для того„чтобы можно было перебрать все значения (по крайней мере, нужна еще одна добавочная идея).

В таком случае помогает старый афоризм: "Если вы не можете решить задачу в том виде, в каком оиа сформулирована, упростите ее, чтобы получить Эти Р) точно равны векторам (8) и (9), которые использовались для определения начальной решетки Ее. Как и подозревает читатель, здесь нет совпадения: действительно, мы начинали с произвольной решетки Ее, определенной любым множеством линейно независимых векторов Ъы..., Ъь Доводы, используемые нами выше, могут быть обобщены, чтобы показать, что максимальное расстояние между гиперплоскостями в покрывающем все точки семействе равно минимуму (17), где коэффициенты иц определены в (19) (см.

упр. 2). Первый шаг в минимизации (18) — ее сведение к конечной задаче: необходимо показать, что для нахождения минимума иет необходимости в бесконечном множестве векторов (хм..., хз). Удобно выразить хь через векторы 1 ы..., 1м а именно такой же ответ". Например, алгоритм Евклида имеет такой вид, что если наибольший общий делитель чисел на входе неизвестен, придется выбирать его среди меньших чисел, имеющих тот же наибольший общий делитель. (На самом деле в основе открытия всех подобных алгоритмов, возможно, лежит несколько более общий подход: "Если вы не можете непосредственно решить задачу, сведите ее к одной из более простых задач, решив которые, вы сможете справиться с исходной задачей'.) В рассматриваемом здесь случае более простой проблемой является проблема, требующая меньшего количества проверок, потому что правая часть в (22) уменьшилась.

Ключевой используемой идеей является возможность заменить одну квадратичную форму другой, которая представляет собой эквивалент лля достижения всех практических целей. Пусть з — любой фиксированный индекс, 1 < з < 1, н пусть (чм ° ",чз-мФ+м...,9) — любая последовательность 1 — 1 целых чисел. Рассмотрим следующее преобразование векторов: $",=У; — д,-Уч х'; =х,- з;х„(Г =б;. для1~1; 17=Уз, хз =ху, Н1 =уз+к;ВЗчро Легко видеть, что новые векторы (1,',..., Ц определяют квадратичную форму у', ,зля которой ~'(х1,..., я',) = У(ям..., х,). Кроме того, основное условие ортогональности (19) сохраняется, так как легко проверить, что Ц У.' = 4».

Когда (хм..., яг) пРобегает множество всех не равных нулю целочисленных векторов, то (х(,..., я',) пробегает это же множество; следовательно, новая форма ~' имеет тот же минимум, что н у. Нашей целью является использование преобразования (23) и замена У; нв Ц и У; на ~ для всех 1, чтобы сделать правую часть (22) малой (правая часть (22) будет малой, когда Пу (11 н Уь . Уь будут малы). Следовательно, вполне естественно задать два следующих вопроса огноипсльно преобразования (23). а) Какие значения д~ делают Уг У„' настолько малымн, насколько зто возможно? Ь) Какие значения ом ..., о~ ы ву+м ..., ц делают Ц ° У' настолько малыми, насколько это возможно? Легче всего ответить на эти вопросы сначала для дейстеншельимя значений оь Вопрос (а) совершенно простой, так' как (1)-д;У) (У,-о,.У1) =У,.У)-2д;У; Уз+дйУ1 У =(Уз У) (~,-(УмУ;)Уз-Уз))'+У; У,-(У,"Ут)'~У1.У, и минимум достигается, когда (24) о; = К Уз./У1.У,.

С геометрической точки зрения мы спрашиваем, сколько раз можно вычесть 11 нз Усо чтобы получить вектор минимальной длины У,.', и отвечаем: нужно выбрать такое в„чтобы У было перпендикулярно Уз (т. е. сделать так, чтобы выполнялось равенство Ъ . $' = О), Это изображено на следующем графике. (25) Обратимся к воп1хлсу (Ь). Необходимо выбрать такое ао чтобы Уу + ~,.~ 4;Ул имели минимальную длину. С геометрической точки зрения следует начать с Уу и прибавить некоторый вектор в (г — Ц-мерной гиперплоскостн, равный сумме кратных (Ц ~ л 1~ Я. Снова лучшим решением является такой выбор, при котором У' является перпендикулярным к гиперплоскости, т. е. У' ° Ул —— 0 для всех Й ~ у: иу"(1,+'сйад и,) =О, 1<3<1, (26) оь1 (В упр.

12 приводится строгое доказательство того, что решение (Ь) должно удовлетворять этим 1 — 1 уравнениям.) Ответив на вопросы (а) и (Ь), мы оказались в двойном затруднении: можно ли выбрать щ соответственно (24) так, чтобы Ъ",' ° Ъ было минимальным, или согласно (26) так, чтобы б'" ° У' было минимальным? Каждая из этих альтернатив приводит к уменьшению части (22), поэтому сразу не ясно, какому выбору отдать предпочтение. К счастью, существует очень простое решение этой дилеммы: уеловия (24) и (26) те же самые! (См, упр. 7,) Следовательно, ответы на вопросы (а) и (Ь) совпадают.

Получается, что длину обоих векторов Ц и 11 можно уменьшить одновременно. На самом деле мы только что снова открыли процесс ортогоиалиаации Грача-Шмидта ~0гат-$сйтлй) (см. Сге11е 94 (1883), 41-73). Нашу радость омрачает понимание того, что вопросы (а) и (Ь) рассматривались только для действительных значений йь Для решения поставленной задачи следует ограничиться целыми значениями, в связи с чем провести Ъ1 точно перпендикулярно 1' нельзя. Лучшее, что можно сделать в (а), — это положить 4; наиболее близким целим к )гл. Р) 1 1) 1" (см.

(25)). Оказывается, что зто ие всегда лучшее решение вопроса (Ь); на самом деле У~ иногда может быть длиннее У . Однако граница (21) никогда не растет, поэтому мы можем запомнить наименьшее значение Дум °, Р~), найденное до сих пор. Этот выбор д;, основанный исключительно на вопргхя (а), является совершенно удовлетворительным. Если преобразование (23) повторно применить таким образом, чтобы ни один из векторов 1; не стал длиннее и по крайней мере один стал короче, мы никогда не попадем в петлю, т.

е. мы никогда не будем рассматривать ту же квадратичную форму асиле ряда нетривиальных преобразований подобного вида, В конце концов, мы застрянем: ни одно из преобразований (23) для 1 < 1 < 1 не будет в состоянии укоротить любой нз векторов $'ы ..., Ъь В этой точке можно возвращаться к исчерпывающему исследованию, используя границы леммы А, которые будут вполне малы в болыпинстве случаев.

Изредка этих границ (21) недостаточно, и другой вид преобразования обычно дает алгоритм выхода из положения, в котором мы застряли, и уменьшения границы (см. упр. 18). Тем не менее доказано, что преобра- 1 < с' < С; иа протяжении этого этапа вычислений.) В2. [Шаг Евклида.[ Присвоить д с- (Ь'~Ь), и +- Ь'-ф,, и +- р'-сср. Если из+се < з, присвоить з с — из + из, Ь' +- Ь, Ь +- и, р' с- р, р +- и и повторить шаг 82.

БЗ. [Вычислеиие из.) Присвоить и +- и — Ь, и +- и — р, а если и~+из < з, присвоить з +- из + из, Ь' с- и, р' с- и. Затем выход ~/з = из. (Справедливость этих вычислеиий для двумерного случая доказана в упр. 5. Подготовим матрицы У и Р, удовлетворяющие соответственно (28) и (29), для вычисчеиий в больших размерностях.) Присвоить У с- Ь, , $' с в к зоваиие (23) в самого себя вполне отвечает требованиям спектрального критерия; к тому же доказаио, что оио поразительно мощное, когда вычисления осуществляются твк, как в алгоритме, обсуждаемом ниже.

е11. Квк выполнить спектральный критерий. В этом разделе будет приведеиа эффективная вычислительная процедура. Госпер (Соврет) и Дитер (Всесег) заметили, что можио использовать результаты для более низкой размериости, чтобы зиачительио быстрее получить спектральиый критерий в высокой размерности. Это усовершеиствоваиие включено в следующий алгоритм вместе с упрощением Гаусса (Саизз) для двумерного случая (упр.

5). Алгоритм Б (Спектральимсс критерий). Этот алгоритм определяет значение '(чЯ~" +4[* ~ е~-" ~ '' — о( ее )) ОО для 2 < с < Т, заданных а, т и Т, где О < а < т и а и т — взаимно простые числа. (Мииимум взят по всем ненулевым целочисленным векторам (хм..., хс), а число ю является С-меркой точностью генератора случайных чисел, как обсуждалось выше.) Вся арифметика в пределах алгоритма дана в целых числах, размеры которых редко либо никогда ие превышают т~, исключая шаг 87.

К тому же почти все целые перемеииые будут меиьше т по абсолютной величине иа протяжеиии вычислеиий. Когда ис вычисляется для С > 3, алгоритм работает с двумя С х С-матрицами Сс и 1», векторы-строки которых обозначены через Ц = (ип,..., ии) и рс = (шс,..., ии) для 1 < с < С. Эти векторы удовлетворяют условиям ип+ аип+ ° ° +а' сии аз О (по моДУлю т), (28) Пс 1»у = тАО, 1 < с,у < с. (29) (Таким образом, $~с из предыдущих обсуждеиий умножаются иа т, чтобы их компоиеиты бьши целыми числами.) Существует три дополнительных вектора: Х = (хсм .~хс)с 1» (ус,... ус) и Я (зс ... хс).

В алгоритме г будет обозневаеь ас с шос( пс, а з — иаимеиьшУю веРхнюю гРвиь исз, котоРаа была найдена Ранее. В1. [Ииицивлизация,[ Присвоить С с- 2, Ь +- а, Ь' +- т, р с- 1, р' +- О, г с — а, з е- 1+ а . (Первые шаги алгоритма — это специальный метод, примененный к случаю С = 2, который очень похож иа алгоритм Евклида.

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

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

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