Главная » Просмотр файлов » Х. Пападимитриу, К. Стайглиц - Комбинаторная оптимизация

Х. Пападимитриу, К. Стайглиц - Комбинаторная оптимизация (1125252), страница 54

Файл №1125252 Х. Пападимитриу, К. Стайглиц - Комбинаторная оптимизация (Х. Пападимитриу, К. Стайглиц - Комбинаторная оптимизация) 54 страницаХ. Пападимитриу, К. Стайглиц - Комбинаторная оптимизация (1125252) страница 542019-05-11СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Поэтому такое ребро можно включить в искомое дерево, не теряя оптимальности. Предположим, что это ребро [о„о,1. Далее, применяем теорему к множествам [/,=(оп о,), [/„..., [/„ и Т=-([о„о,1). Теперь теорема утверждает, что можно добавить к дереву кратчайшее ребро, исходящее из о, или о, (отличное от [о„оь)), и после этого останется возможность дополнить образованное дерево до оптимального МОД. Алгоритм теперь очевиден: начинаем, например, с множества [/=(о,) и рекурсивно добавляем к Т кратчайшее ребро, исходящее из [/, до тех пор, пока к [/ не будут добавлены все вершины, в результате чего будет построено неко торов дерево. 2В2 Гл.

12. Остаеные деревья и матроиды Этот алгоритм для задачи МОД приведен на рис. 12.2. Для облег- чения основной вычислительной задачи — нахождения кратчайшего ребра, исходящего из (1, — мы храним массив ближайшая(п). Для каждой вершины с6(г — (/ значением ближайшая(и) является вершина из (1, ближайшая к ш Поэтому для нахождения кратчай- шего ребра, исходящего из (е', достаточно найти кратчайшее ребро АЛГОР1!ТМ НОСТРОГИ(ИЯ М!ИП1МАЛЬНОГО ОСТОВ1ГОГО ЛЕРЕВА Вход. Множество верн.нн Н и рясстояння бн мшкду всеми парами вершин чьч,нзН.

Выход. Кратчайшее остовное зерево (Н, Т). Ьей)п О:=(чг), Т.=йз; 1ог вн чЕН вЂ” (чг) йо блимайшая(ч):=ч,! !сопмпеп(: задание начальных значений) ыЬИе 0 Ф Н' йо Ьей!п пн'и:=сч; 1ог вн чЕН вЂ” Б до И б(ч, ближайшая(ч)) < пнп 1Ьеп ппп."=б(ч, близсайшая(ч)), следующая:=ч; (сошшеп1.

найтн в Н вЂ” !) вершину, ближайшую к О) Б:=О ()(следращия), Т:=Т()((следующая, бшжайшая(следующая)1); 1ог вц чЕУ вЂ” 0 йо И д!ч, ближайшая(ч!) > б(ч, следующая~ Шеп ближайшая(ч):=следующая; епй епд Рнс. !2.2. Алгоритм посгроенвя минимального остовного веревя. среди ребер вида (и, ближайшая(в)), пр)г. Естественно, массив ближайшая должен пересчитываться каждый раз, когда новая вер. шина добавляется к (г'. В остальном алгоритм совершенно очевиден.

Теорема 12.2. Алгоритм, представленный на рис. 11,2, корректно решает задачу МОД за время 0(!)г(з). Доказательство. Так как в конце алгоритма ((1(=((г( и к Т всегда добавляется ребро, исходящее из (г', то получающийся в результате граф ((г, Т) является остовиым деревом в 6. Остается показать, что это дерево оптимально Покажем индукцией по мощности множества (е', что всегда существует оптимальное остовное дерево в 6, содержащее соответствующее множество Т.

Это, оче. видно, справедливо, когда (е'=(и,) и Т=Я. Предположим, что утверждение справедливо для некоторого 1=-((е!, 1(1(((г!. Частичное остовное дерево ((1, Т) можно рассматривать как часть леса ((Уы Т,),..., ((Глы Тх)), где У,=(е',й=((г! — ((е'(+1 и Т,= —... Т„= Применяя теорему 12.1, получаем, что среди всех дере. вьев, содержащих Т, существует кратчайшее дерево, содержащее Т и кратчайшее ребро, исходящее из (е'.

Но по предположению индукции существует глобально оптимальное дерево, содержащее Т. 12.2. Алгоритм го сложностью 0 (!Е!!о81У!) 283 Поэтому существует также оптимальное остовное дерево, содержащее дерево Т и кратчайшее ребро, исходящее из О, которые вместе в точности образуют дерево Т на следующем этапе, когда !И = =/+1 Этим завершается шаг индукции. Для получения временнбй оценки заметим, что алгоритм состоит из !У! — 1 этапов; на каждом этапе добавляется одно ребро. Присвоение начальных значений требует времени О(!У!), и нахождение !4 10 9 о> Рис.

!2.3. значения переменной следующая также требует времени О(!У!> Наконец, новые значения элементов массива ближайшая также можно вычислить за время О(!У!). Отсюда следует оценка О(!УР) для всего алгоритма. Г3 Пример 12.1. Найдем с помощью алгоритма, приведенного на рис.

!2.2, минимальное остовное дерево в графе 0= (У, Е), показанном на рис. !2.3. (Считается, что если (оо о>)(Е, то г(ы.—.-оо.) Начиная с вершины ц, получим девять этапов, представленных на рис. !2.4. Около каждой вершины щ еще не вошедшей в множество (I, указано зн, ~ение ближайшая Ы. Искомое минимальное остовное дерево предс>авлено на рис, 12.4(и). 17,2 алгоритм со сложностью О() Е) 1оя) У!) для задачи о минимальном остовном дереве Алгоритм для нахождения МОД из предыдущего параграфа со =ложностью О(!У!') не легко улучшить, если в качестве входных данных используется матрица расстояний размера !У!х !У!.

Причила этого очень проста: любой алгоритм, который строит МОД, дол. кен просмотреть каждый элемент матрицы расстояний хотя бы один >аз. Ибо если некоторый элемент г(п никогда ле просматривается ьчгоритмон, то мы не можем быть уверены, что соответствующее реб>о следует исключить из МОД. Например, мы можем проскочить сратчайшее ребро, хотя легко понять, что кратчайшее ребро всегда >ключается в МОД.

Таким образом, просмотр совершенно необхо Гл. 12. Оотовяьее деревья и матроидье Нв Нв О О Рис. !2.4. Не Н, Н, О О О () Не Н, НЕ О О О (в) (д) (ж) нЗ О н, О н, О (и) Нв Н, Н, О О О (б) Нь Нб Нв О О О (г) (с) (э) Нв О Нь О «2.2. Алгоритм оо сложностью О (1Е!1од! 1'1) 285 димой информации уже требует 8(!У!ь) времени, и, следовательно, алгоритм, представленный на рис. 12.2, асимптотически оптимилен Однако в некоторых практических ситуациях требуется найти МОД для разреженных графов, т, е.

графов, число ребер в которых намного меньше, чем ('~~'), Например, в задачах 4 и 5 в связи с некоторыми геометрическими задачами будут введены графы, имею. щие не более 3. !У! ребер. Совсем не очевидно, что для нахождения МОД для таких графов оценка О(!У!ь) неулучшаема. В данном параграфе мы построим алгоритм для задачи МОД с временем работы О(!Е!!од!У!). Этот алгоритм асимптотически лу цпе предыдущего ) алгоритма прп применении к графам, имеющим меньше чем> (д(!У!ь/!ой!У!) ребер. Алгоритм основан на теореме !2.!. Теорема 12.1, по существу, утверждает, что при добавлении к Т кратчайшего ребра, исходящего из некоторои компоненты леса (У, Т), не теряется возможность прийти в результате к оптимальному дереву. Наш предыдущий алгоритм использует эту теорему в ограниченной степени: в нем ребра добавляются только к одной компоненте леса (У, Т).

Алгоритм, который мы сейчас собираемся построить, добавляет ребра одно. временно ко всем компонентам леса (У, Т), заставляя минимальное остовное дерево «расти« во всех направлениях. Посмотрим, как воплотить эту простую идею. Работа нашего алгоритма будет состоять из этапов. На каждом этапе находятся связные компоненты леса (У, Т) и определяется кратчайшее ребро, исходящее из каждой компоненты. В конце этапа все эти ребра добавляются к Т. Затем вычисляются связные компоненты Я» ... ...,Еь леса (У, Т) за время О(!Е!) с использованием алгоритма ПОИСК (см, пример 9. ! и задачу ! из гл. 9). Чтобы для каждого множества вершин Яь выбрать ребро крат. чайшее(ь) — кратчайшее ребро, исходящее из Я» — все ребра просматриваются по очереди.

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

Описанный алгоритм приведен на рис. 12.5. Теорема 12.3. Алгоритм, представленный на рис. 12.5, корреюпчо находит МОД для графа (У, Е) и функции расстояния й за время 9(|Е!!од!У!). Доказательство. Корректность алгоритма также следует из теоремы !2.1. Поскольку к Т добавляются кратчайшие ребра, исхо вящие из каждой компоненты леса (У, Т), то теорема !2. ! гарантиэует, что все эти добавления к МОД допустимы. (Одновременное хобавление ребер не порождает циклов. Почему?) 286 Гл. !2.

Остовные деревья и литроиды Назовем каждое выполнение цикла п[аЦе этапалг. Этап состоит из вычисления массива кратчайшее и нахождения связных компонент леса (]ч, Т). Последнее можно выполнить за время 0(]Т!)= =0([[г!), используя ПОИСК (см. задачу 1 из гл. 9); в действительности за время 0([]г!) можно вычислить массив компонента, содержащий для каждой вершины имя связной компоненты, которой ВТОРОЙ АЛГОРИТМ ДЛЯ ЗАДАЧИ МОД Вход. Связный граф О=(Ч, Е) и расстояния д(и, ч) для каждого ребра [и, ч[чЕ. Выход. Кратчайшее вставное дерево (Ч, Т) в О. Ьеа!п Т:=Я, С;=((ч ), ..., (чаЦ; (сошгпеп1: задание начальных значений; С вЂ” набор связных компонент в (Ч, ТП мЬИе [С] М 1 до Ьеа!п 1ог а И 5! С С до ш1 и [11: = ьо; !ог аИ [и, ч]СЕ до Ьей(п пусть 5„5; — множества, содержащие соответственно ч и и; П1М! Тпеп Ьей [п П д (и, ч) < гп1п !1] Гпеп пип Ц]:=д (и, ч), кротчайшвеЦ]:=[и, ч]; п д (и, ч) < пип Ц) !ьеп гп1п Щ:=с( (ч, и), крошчойшвеЦ]:=-[и, ч]; епд епд (созпшепг: крвтчвдшееЦ] — зто кратчайшее ребро, выходящее из5;) !ог ан 51сС до Т:=ТЦ(кротчайшееЦ]); найти мйожество С связных компонент графа (Ч, Т) епд епд Рис.

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

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

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

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