Главная » Просмотр файлов » Лекции о сложности алгоритмов. С. А. Абрамов

Лекции о сложности алгоритмов. С. А. Абрамов (1121249), страница 48

Файл №1121249 Лекции о сложности алгоритмов. С. А. Абрамов (Лекции о сложности алгоритмов. С. А. Абрамов) 48 страницаЛекции о сложности алгоритмов. С. А. Абрамов (1121249) страница 482019-05-09СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

. Сортировка пятиходим место среди трех уже упорядоченэлементов: ситуацияных элементов бинарным поиском; на этопосле трех сравнений.уйдет два сравнения. Тем самым мы приходим к одному из двух случаев, изображенных на рис. . И в том, и в другом случае для завершения сортировки с помощью бинарного поиска места элемента достаточнодвух сравнений: в случае, изображенном на рис. а, вставка производится в массив из двух элементов, в случае, изображенном нарис. б, — из трех элементов.

В итоге семи сравнений оказываетсядостаточно.О сортировке, оптимальной по числу сравненийа)б)Рис. . Сортировка пяти элементов, ситуация после нахождения места пятого элемента среди трех упорядоченных элементов: а) пятый элемент меньшевсех трех упорядоченных элементов; б) пятый элемент больше наименьшего из трех упорядоченных элементов. (В обоих случаях еще двух сравненийдостаточно для завершения сортировки.)Указанный алгоритм сортировки пяти элементов был позднееобобщен на произвольное число элементов, эта сортировка получила название сортировки слияниями и вставками.

Через TF (n) обычно обозначается сложность этой сортировки по числу сравнений.Обнаружено, что TF (n) = ⌈log2 n!⌉ для n = 1, 2, ..., 11. Но при этомTF (12) = 30, хотя ⌈log2 12!⌉ = 29, и возникает вопрос, всегда ли возможна сортировка двенадцати элементов не более чем двадцатью девятью сравнениями? Аналогичные вопросы могут возникнуть и длябо́льших значений n.Как говорилось в § , имеется алгоритм, который, исходя из n > 0,строит оптимальный по числу сравнений алгоритм сортировки массивов из n элементов (алгоритм строит алгоритм). Этот алгоритмпостроения оптимального алгоритма сортировки требует огромнойработы, даже если применить все средства экономии перебора.

Но,тем не менее, на этом пути с помощью компьютера показано, чтоTopt (12) = 30, что больше, чем ⌈log2 12!⌉. Но дальше продвинуться неудалось, и по сегодняшний день, видимо, неизвестно число Topt (13):n:⌈log2 n!⌉:TB (n):TF (n):Topt (n):?Исследования, не связанные с компьютерным вычислением Topt (n),показали, что имеется бесконечно много значений n, для которыхTF (n) > Topt (n). Значение 47 — наименьшее из известных  .См. [, разд. ..].Приложение GМетод построения общего решениялинейного рекуррентного уравненияс постоянными коэффициентамиНапомним метод построения общего решения линейного рекуррентного уравнения с постоянными коэффициентами  . Начнем со случаяоднородного уравненияad y(n) + ad−1 y(n − 1) + ...

+ a0 y(n − d) = 0.(G.)Пусть λ1 , λ2 , ..., λs — все различные корни характеристического уравненияad λd + ad−1 λd−1 + ... + a0 = 0(G.)и m1 , m2 , ..., m s — кратности этих корней, m1 m2 + ... + m s = d. Общимрешением уравнения (G.) являетсяsXk =1(Ck,mk −1 nmk −1 + ... + Ck1 n + Ck0 )λnk ,(G.)где все Cij — произвольные постоянные.Общее решение неоднородного линейного рекуррентного уравнения с постоянными коэффициентамиad y(n) + ad−1 y(n − 1) + ...

+ a0 y(n − d) = f (n),(G.)где f (n) — известная функция, является суммой общего решения соответствующего однородного уравнения (G.) и какого-нибудь частного решения неоднородного уравнения (G.).Если правая часть f (n) уравнения (G.) представлена в видеf (n) = g(n) + ...

+ h(n) и если известны частные решения v(n), ......, w(n) для уравнений, левые части которых совпадают с левойчастью уравнения (G.), а правые части равны соответственноСм., например, [, гл. V, § ], [, гл. ].Построение общего решения рекуррентного уравненияg(n), ..., h(n), то v(n) + ... + w(n) будет частным решением уравнения (G.).Если правая часть f (n) неоднородного уравнения (G.) представляет собой квазиполином, т.

е. равна p(n)µn , где p(n) — полиномнекоторой степени l ¾ 0, а µ — некоторое (комплексное) число, то(G.) имеет частное решение в виде квазиполинома q(n)µn , и приэтом полином q(n) имеет степень l + m, где m — кратность µ как корня характеристического уравнения (G.) (если µ не является корнемэтого уравнения, то считаем кратность нулевой: m = 0). Коэффициенты полинома q(n) находятся методом неопределенных коэффициентов.Частные решения с заданными начальными значениями находятсяподстановкой в общее решение начальных значений и определениемпостоянных из возникшей системы линейных алгебраических уравнений.

(C помощью этого метода выводится и формула Бине (.).)Приложение HОб одном семействе алгебраическихуравненийВ примере . мы столкнулись с рекуррентным уравнениемy(n) − y(n − 1) − ... − y(n − k) = 1,(H.)y(0) = y(1) = ... = y(k − 1) = 0. В качестве частного решения этого−1. Нам предстонеоднородного уравнения при k > 1 можно взятьk−1ит теперь заняться общим решением соответствующего однородногоуравнения, характеристическим уравнением которого служитλk − λk−1 − ... − λ − 1 = 0.(H.)Свойства корней уравнения (H.) описываются следующим предложением.Предложение H.. При k > 1 уравнение (H.) имеет k различныхкорней.

При этом в точности один из них — мы будем называть егоглавным корнем уравнения (H.) и обозначать через αk — по модулюпревосходит единицу. Главный корень — вещественное число, удовле1творяющее условию  2 − ¶ αk < 2.kДоказательство. Поскольку предстоит использовать некоторуютехнику теории аналитических функций, мы перейдем к привычномуобозначению z для комплексной переменной и будем рассматриватьуравнение z k − z k−1 − ...

− z − 1 = 0, левую часть которого обозначимчерез vk (z). Положим Vk (z) = (z − 1)vk (z) = z k+1 − 2z k + 1.Уравнение Vk (z) = 0 в сравнении с vk (z) = 0 имеет дополнительныйкорень z = 1; мы докажем утверждение предложения для Vk (z) = 0,См. [, гл. , пп. —], [], [, разд. .., упр. ]. В [] доказано также, чтовсе корни, отличные от главного корня αk , по модулю не превосходят αk − 1 < 1.Об одном семействе алгебраических уравненийk > 1, откуда будет следовать требуемое.

Доказательство мы проведемв три этапа, установив справедливость следующих утверждений:(i) для любого k > 1 все корни уравнения Vk (x) = 0 простые (т. е.имеют кратность 1);1(ii) круг любого радиуса r, 1 < r < 2 − , с центром в z = 0 содерkжит ровно k корней уравнения Vk (z) = 0;(iii) уравнение Vk (z) = 0 имеетмере один вещественh по меньшей1ный корень на полуинтервале 2 − , 2 .kДля доказательства утверждения (i) заметим, прежде всего, чтоíîä(Vk (z), Vk′ (z)) = íîä(Vk (z), z k−1((k + 1)z − 2k)).2kНо Vk (z) не обращается в  при z = 0 и при z =.

Отсюда следует,k+1что íîä(Vk (z), Vk′ (z)) = 1. Это говорит о том, что корни Vk (z) простые.Для доказательства утверждения (ii) положим Wk (z) = z k+1 − 2z k .Если на некоторой окружности выполняется неравенство | Wk (z) | > 1,то внутри этой окружности полиномы Vk (z) и Wk (z) по теореме Руше имеют одинаковое число корней. Рассмотрим окружность Sσ радиуса1 + σ, 0 < σ < 1, с центром в z = 0.

Так как| Wk (z) | = | z k+1 − 2z k | ¾ | 2z k | − | z k+1 |,то на окружности Sσ выполняется | Wk (z) | ¾ (1 + σ)k (1 − σ). Далее,очевидно, (1 + σ)k ¾ 1 + k σ, и мы получаем, что если σ удовлетворяетнеравенству(1 + k σ)(1 − σ) > 1,(H.)то условия теоремы Руше выполнены, и полином Vk (z) имеет внутри Sσ столько же корней, сколько их имеет Wk (x), т. е. k.

Неравенство (H.) выполнено для всех значений σ, принадлежащих интервалу с концами, являющимися корнями квадратного уравнения1k σ2 − (k − 1)σ = 0, — эти корни суть 0 и 1 − . Это доказывает утверkждение (ii).Наконец, утверждение (iii) следует из того, что vk (1) < 0, vk (2) > 0иприэтомуравнение vk (z) = 0 не имеет корней на интервале11, 2 −.kСм., например, [, гл. , § ] или [, п. .]. Применительно к полиномиальномуслучаю эта теорема допускает следующую формулировку.

Пусть полином V (z) предeставлен в виде суммы W(z) + W(z)двух полиномов, и на контуре некоторой областиeзначение | W(z)| меньше значения | W(z) |. Тогда внутри этой области число корнейполиномов V (z) и W(z) одинаково.Приложение HРекуррентное уравнение (H.) имеет, таким образом, общее решение1y(n) = Ck αnk + Ck−1 αnk−1 + ... + C1 α1n −k−1(αk — главный корень характеристического уравнения (H.), всеостальные корни α1 , α2 , ..., αk−1 по модулю не превосходят единицу). Нас интересует частное решение, удовлетворяющее условиюy(0) = y(1) = ... = y(k − 1) = 0.

И без нахождения всех Ci ясно, чтоCk 6= 0, — иначе последовательность y(k), y(k + 1), ... была бы ограниченной.На рис.  показано расположение корней уравнений Vk (z) = 0,k = 2, 3, 4.Im zIm z11Re z−101Re z−120−112−1а) z2 − z − 1 = 0б) z3 − z2 − z − 1 = 0Im z1Re z−1012−1в) z4 − z3 − z2 − z − 1 = 0Рис.

.Итак, нам удалось обойтись без фактического нахождения корнейхарактеристического уравнения. Более того, речь шла не об одномконкретном уравнении, а о семействе, в которое входят уравнениясколь угодно высоких степеней.Мы получили доказательство предложения . из § .Литература[] С. А. Абрамов. Исследование алгоритмов одновременного нахождения наибольшего и наименьшего элементов массива // ЖВМи МФ.

. Т. , № . С.  — .[] С. А. Абрамов. Элементы анализа программ. Частичные функциина множестве состояний. М.: Наука, .[] С. А. Абрамов, Г. Г. Гнездилова. Алгоритм управления вопросником в автоматизированной обучающей системе // Вестн. Моск.ун-та. Сер. . Вычисл. мат. и киб. . № . С. — .[] В. Б.

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

Список файлов лекций

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