Главная » Просмотр файлов » Алгоритмы - построение и анализ

Алгоритмы - построение и анализ (1021735), страница 159

Файл №1021735 Алгоритмы - построение и анализ (Алгоритмы - построение и анализ) 159 страницаАлгоритмы - построение и анализ (1021735) страница 1592017-07-10СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Тогда в процессе выполнения процедуры Ончещс Рцзн Кн.Авн. в С число подъемов не превышает 2[Ц вЂ” 1 для одной вершины, а их общее количество не более (2 [Ц вЂ” 1) ([Ц вЂ” 2) < 2 [1'[~. Доказательсогво. Во множестве У вЂ” (з,1) только [Ц вЂ” 2 вершин могут быть подняты. Пусть и Е У вЂ” (з, $). Операция КЕЬАВЕЬ(и) увеличивает высоту Ь [и]. Значение Ь [и] первоначально равно 0 и, согласно лемме 26.21, возрастает не более чем до 2 [Ц вЂ” 1. Таким образом, каждая вершина и Е Ъ'- (з, г) подвергается подьему не более 2 [Ц вЂ” 1 раз, а общее число выполненных подъемов не превышает (2[1'[ — 1) ([1'[ — 2) < 2[Ц . Лемма 26.21 помогает также определить границу юличества насыщающих проталкиваний. Лемма 26.23 (Граница количества насыщающих проталкиваний).

В процессе выполнения алгоритма Оекек~с Рпзн КеьАееь для любой транспортной сети С = (Р; Е) число насыщающих проталкиваний меньше, чем 2[У[[Е[. Доказашезьсигво. Для любой пары вершин и,и Е Ъ' рассмотрим насыщающие проталкивания от и к и и от и к и (в обе стороны), и назовем их насыщающими проталкиваниями между и и и.

Если есть хотя бы одно такое проталкивание, то хотя бы одно из ребер (и, и) и (и, и) является ребром Е. Теперь предположим, что произошло насыщающее проталкивание из и в и. В этот момент Ь [и] = Ь [и]— — 1. Чтобы позднее могло произойти еше одно проталкивание из и в и, алгоритм сначала должен протолкнуть поток из и в и, что невозможно до тех пор, пока не Часть Ч!.

Алгоритмы для работы с графами 772 будет выполнено условие Ь [и) = Ь [и) + 1. Поскольку Ь [и) никогда не уменьшается, для того чтобы выполнялось условие Ь [и) = Ь [и] + 1, значение Ь [и) должно увеличиться по меньшей мере на 2. Аналогично, Ь [и] должно увеличиться между последовательными насыщающими проталкиваниями из и в и как минимум на 2. Высота изначально принимает значение О и, согласно лемме 26.21, никогда не превышает 2 ($'( — 1, откуда следует, что количество раз, когда высота вершины может увеличиться на 2, меньше (Ц.

Поскольку между двумя насыщающимя проталкиваниями между и и и хотя бы одна из высот Ь [и) и Ь [и] должна увеличиться на 2, всего имеется меньше 2(Ц насыщающих проталкиваний между и и и. Умножив это число на число ребер, получим, что общее число насыщающих проталкиваний меньше, чем 2 Щ (Е(. й Следующая лемма устанавливает границу числа ненасышающих проталкиваний в обобщенном алгоритме проталкивания предпотока. Лемма 26.24 !Граница количества ненасыщающих проталкиваний). В процессе выполнения алгоритма Овчнк!с Рази Кпьлвнь для любой транспортной сети С = [Ъ; Е) число ненасыщающих проталкиваний меньше 4 (Ц~ [(Ц + (Е().

Доказатявльсигво. Определим потенциальную функцию Ф = ~"„.,О,1>о Ь [и]. Изначально Ф = О и значение Ф может изменяться после каждого подъема, насыщающего и ненасыщающего проталкивания. Мы найдем предел величины, на которую насыщающие проталкивания и подъемы могут увеличивать Ф. Затем покажем, что каждое ненасыщающее проталкивание должно уменьшать Ф как минимум на 1, и используем эти оценки для определения верхней границы числа ненасышающих проталкиваний. Рассмотрим два пути увеличения Ф. Во-первых, подъем вершины и увеличивает Ф менее чем на 2 Щ, поскольку множество, для которого вычисляется сумма, остается прежним, а подъем не может увеличить высоту вершины и больше, чем ее максимально возможная высота, которая составляет не более 2 (Ц вЂ” 1 согласно лемме 26.21.

Во-вторых, насыщающее проталкивание из вершины и в вершину и увеличивает Ф менее чем на 2 (Ц„поскольку никаких изменений высот при этом не происходит, и только вершина и„высота которой не более 2 (Ц вЂ” 1, может стать переполненной. Теперь покажем, что ненасыщающее проталкивание из и в и уменьшает Ф не менее чем на 1.

Почему? Перед ненасыщающим проталкиванием вершина и была переполненной, а и могла быть переполненной или непереполненной. Согласно лемме 26.14, после этого проталкивания и больше не является переполненной. Кроме того, после данного проталкивания и должна быть переполненной, если только она не является источником. Следовательно, потенциальная функция Ф уменьшилась ровно на Ь (и]„а увеличилась на О или на Ь (и]. Поскольку Ь [и)— — Ь [и] = 1, в итоге потенциальная функция уменьшается как минимум на !. Глава 26.

Задача о максимальном потоке Итак, в ходе выполнения алгоритма увеличение Ф происходит благодаря подъемам и насыщающим проталкиваниям; согласно следствию 26.22 и лемме 26.23, это увеличение ограничено, и составляет менее (21У~) (2 Щ ) + +(2(Ц) (2~Ц (Е!) = 4 Щ~((У1+ )Е!). Поскольку Ф > О, суммарная величина уменьшения и, следовательно, общее число ненасыщаюших проталкиваний меньше, чем 4 Щ~ ()Ц + (Е(). И Определив границу числа подъемов, насыщающего проталкивания и ненасыщающего проталкивания, мы заложили основу дальнейшего анализа процедуры бнчиыс Ризн КиьАввь, а также любых других алгоритмов, основанных на методе проталкивания предпотока.

Теорема 26.25. При выполнении процедуры Оечеис Ризи КеьАвнь для любой транспортной сети С = (У, Е) число основных операций составляет О (УвЕ). Доказалгельслюво. Непосредственно вытекает из уже доказанных следствия 26.22 и лемм 26.23 и 26.24. Таким образом, алгоритм завершается после О (УзЕ) операций. Итак, осталось предложить эффективные методы реализации каждой операции и выбора подходящей выполняемой операции. Следствие 26.26.

Существует реализация обобщенного алгоритма проталкивания предпотока, которая для любой сети С = (У, Е) выполняется за время О (У2Е) Доказательство. В упражнении 26.4-1 предлагается показать, как реализовать обобщенный алгоритм, в котором на каждый подъем затрачивается время О (У), а на каждое проталкивание — О (1). Там же предлагается разработать структуру данных, которая позволит выбрать применимую операцию за время О(1).

Тем самым следствие будет доказано. И Упражнения 26.4-1. Покажите, как реализовать обобщенный алгоритм проталкивания пред- потока, в котором на каждый подъем затрачивается время О (У), на каждое проталкивание — О (1), и то же время О (1) — на выбор применимой операции; суммарное время выполнения при этом составляет О (УзЕ). 26.4-2. Докажите, что время, затрачиваемое в целом на выполнение всех О (Уз) подъемов в обобщенном алгоритме проталкивания предпотока, составляет только О (У Е).

Часть Ч1 Алгоритмы для работы с графами 774 26.4-3. Предположим, что с помощью алгоритма проталкивания предпотока найден максимальный поток для транспортной сети С = (У, Е). Разработайте быстрый алгоритм поиска минимального разреза в С. 26.4-4. Разработайте эффективный алгоритм проталкивания предпотока для поиска максимального паросочетания в двудольном графе. Проанализируйте время его работы.

26.4-5. Предположим, что все пропускные способности ребер транспортной сети С = (К Е) принадлежат множеству (1, 2,..., Ь). Проанализируйте время выполнения обобщенного алгоритма проталкивания предпотока, выразив его через ]У], ]Е] и /с. (Указание: сколько ненасыщающих проталкиваний можно применить к каждому ребру, прежде чем оно станет насыщенным?) 26.4-6. Покажите, что строку 7 процедуры 1ьпт~лшхн Ркнг~.отт можно заменить строкой 7 Ь[а] - [У[С]] — 2 и это не повлияет на корректность или асимптотическую производительность универсального алгоритма проталкивания предпотока.

26.4-7. Пусть 61 (и, е) — расстояние (количество ребер) от и до е в остаточной сети Су. Покажите, что в процессе работы процедуры ОВНВШС Риэп Ка.ЛВеь выполняются следующие свойства: если Ь[и] < ]У], то Ь[и] < < б г (и, т), а если Ь [и] > ]У[, то Ь [и] — [У] < ду(и, з). * 26.4-8. Как и в предыдущем упражнении, пусть бу (и, с) — расстояние от и до с в остаточной сети Су.

Покажите, как можно модифицировать обобщенный алгоритм проталкивания предпотока, чтобы в процессе работы процедуры выполнялись следующие свойства — если Ь [и] < ]У], то Ь [и] = 61 (и, Г), а если Ь [и] > [У], то Ь [и] — ]У] = 61 (и, а). Суммарное время, затраченное на обеспечение выполнения данного свойства, должно составлять 0 (У Е). 26.4-9. Покажите, что количество ненасышающих проталкиваний, выполняемых процедурой ОВннис Рын КВ1.лвн. в транспортной сети С = (К Е), не превышает 4]У[~ ]Е], если [У[ > 4. * 26.5 Алгоритм "поднять-в-начало" Метод проталкивания предпотока позволяет нам применять основные операции в произвольном порядке.

Однако после пцательного выбора порядка их выполнения и при эффективном управлении структурой сетевых данных, можно Глава 26. Задача о максимальном потоке решить задачу поиска максимального потока быстрее, чем за предельное время 0 (Ъ'зЕ), определенное следствием 26.26. Далее мы рассмотрим алгоритм "поднять-в-начало" (ге1аЬе!-го-ггоп[), основанный на методе проталкивания пред- потока, время выполнения которого составляет 0 (Ъ'з), что асимптотически не хуже, чем 0 (Ъ'зЕ), а для плотных сетей — лучше. Алгоритм "поднять-в-начало" поддерживает список вершин сети.

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

Тип файла
DJVU-файл
Размер
18,3 Mb
Тип материала
Высшее учебное заведение

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

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