Главная » Просмотр файлов » Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)

Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189), страница 103

Файл №1162189 Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (Т. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013)) 103 страницаТ. Кормен, Ч. Лейсерзон, Р. Риверст, К. Штайн - Алгоритмы. Построение и анализ (2013) (1162189) страница 1032019-09-19СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Предположим, что Сд = (17, А) и Сн = (17, В) — леса графа С и что ~В~ > ~А~, те. А и  — ациклические множества ребер, и в множестве В содержится больше ребер, чем в множестве А. Мы утверждаем, что лес Е = (17р, Ер) содержит ровно ~)гр( — ~Ер~ деревьев. Чтобы понять, почему это так, предположим, что Е состоит из 1 деревьев, где 1-е 473 !лала Сб.

Жаднме алгорилсмм дерево содержит и, вершин и е, ребер. Тогда мы имеем (Ер(=~ е, с=с с (ос — 1) (согласно теореме Б.2) откуда вытекает, что С = 1с7р( — ~Ер1 Таким образом, лес С л содержит ))7! — )А! деревьев, а лес Сл содержит ٠— )В! деревьев. Поскольку в лесу Сл меньше деревьев, чем в лесу Сл, в Сл должно содержаться некоторое дерево Т, вершины которого принадлежат двум различным деревьям леса Сл.

Более того, так как дерево Т вЂ” связное, оно должно содержать такое ребро (и, и), что вершины и и и принадлежат разным деревьям леса Сл. Поскольку ребро (и, и) соединяет вершины двух разных деревьев леса Сд, его можно добавить в лес Сл, не образовав при этом цикла. Таким образом, структура Мел удовлетворяет свойству обмена, что и завершает доказательство того, что Мэ является матроидом.

Для заданного матроида М = (Я,Х) назовем элемент х сХ А расширением (ехСепзсоп) множества А Е Х, если его можно добавить в А без нарушения независимости, т.е. х является расширением множества А, если А с.! (х) е Х. В качестве примера рассмотрим графовый матроид Мо. Если А — независимое множество ребер, то ребро е является расширением множества А тогда и только тогда, когда оно не принадлежит этому множеству и его добавление в А не приводит к образованию цикла.

Если А — независимое подмножество в матроиде М, то, если у него нет расширений, говорят, что А — максимальное множество. Таким образом, множество А является максимальным, если оно не содержится ни в одном большем независимом подмножестве матроида М. Сформулированное ниже свойство часто оказывается весьма полезным. Теорема 1б.б Все максимальные независимые подмножества матроида имеют один и тот же размер. Доказательство. Докажем теорему методом от противного. Предположим, что А — максимальное независимое подмножество матроида М и что существует другое максимальное независимое подмножество В матроида М, размер которого превышает размер подмножества А.

Тогда из свойства обмена следует, что множество А расширяемо до большего независимого множества А с ! (х) за счет 474 Часть гк Усовершенствованные .иетоды разработки и анализа некоторого элемента х е  — А, что противоречит предположению о максималь- ности множества А. В качестве иллюстрации применения этой теоремы рассмотрим графовый матроид Мс: связного неориентированного графа С.

Каждое максимальное независимое подмножество Мсз должно представлять собой свободное дерево, содержащее ровно ~ Ц вЂ” 1 ребер, которые соединяют все вершины графа С. Такое дерево называется оетовньзм дерекам (зрапшпя 1гее) графа С.

Говорят, что матроид М = (Я, Х) взвешенный (зие(ййзед), если с ним связана весовая функция ю, назначающая каждому элементу х Е Я строго положительный вес ю(х). Весовая функция ю обобщается на подмножества Я путем суммирования ю(А) = ~ ~ю(х) есА для любого подмножества А к- Я. Например, если обозначить вес ребра е графового матроида Мс: через ю(е), то ю(А) представляет собой суммарный вес всех ребер, принадлежащих множеству А.

Жадные алгоритмы на взвешенном матропде Многие задачи, для которых жадный подход позволяет получить оптимальное решение, можно сформулировать в терминах поиска независимого подмножества с максимальным весом во взвешенном матроиде. То есть задан взвешенный матроид М = (Б, х), и нужно найти независимое множество А Е 1, для которого величина ю(А) будет максимальной.

Назовем такое максимальное независимое подмножество с максимально возможным весом оптимальнмм подмножеством матроида. Поскольку вес ю(х) любого элемента х е Я положителен, оптимальное подмножество всегда является максимальным независимым подмножеством, что всегда помогает сделать множество А большйм, насколько это возможно. Например, в задаче о минимальиом осшокном дереве (пип1шшп-зрапшпя-пее ргоЫеш) задаются связный неориентированный граф С = (17, Е) и функция длин ю, такая, что ю(е) — (положительная) длина ребра е. (Термин "длина" используется здесь для обозначения исходного веса, соответствующего ребру графа; термин "вес*' сохранен для обозначения весов в соответствукицем матроиде.) Необходимо найти подмножество ребер, которые соединяют все вершины и имеют минимальную общую длину. Чтобы представить эту проблему в виде задачи поиска оптимального подмножества матроида, рассмотрим взвешенный матроид Мс с весовой функцией ю', где ю (е) = юо — ю(е), а величина юо превышает максимальную длину любого ребра.

В таком взвешенном матроиде любой вес является положительным, а оптимальное подмножество представляет собой остовное дерево в исходном графе, имеющее минимальную общую длину. Точнее говоря, каждое максимальное независимое подмножество А соответствует остовному дереву с ~(7~ — 1 ребрами, и поскольку для любого максимального независимого 475 Глава 74 Жадыые алгаггыаывы подмножества А справедливо соотношение ла'(А) = ~~~ и'(е) еЕА = ~(иго — иг(е)) еЕА = (1й'~ — 1)гюо — ~ лл(е) еЕА = (~Ц вЂ” 1)иго — ю(А), независимое подмножество, которое максимизнрует величину ю'(А), должно минимизировать величину ла(А). Таким образом, любой алгоритм, позволяющий найти оптимальное подмножество А произвольного матроида, позволяет также решить задачу о минимальном остовном дереве.

В главе 23 приводится алгоритм решения задачи о минимальном остовном дереве, а здесь описывается жадный алгоритм, который работает для произвольного взвешенного матроида. В качестве входных данных в этом алгоритме выступают взвешенный матроид М = (Б, 2) и связанная с ним весовая функция ла.

Алгоритм возвращает оптимальное подмножество А. В рассматриваемом псевдокоде компоненты матроида М обозначены как М. Я и М. Х, а весовая функция— как и. Алгоритм является жадным, поскольку все элементы х е Я рассматриваются в нем в порядке монотонного убывания веса, причем элемент тут же добавляется в множество А, если множество А 15 (х) является независимым. ОКЕЕЮ л'(М, и>) 1 А=И 2 Отсортировать М.Я в невозрастающем порядке весов ш 3 аког Каждый х е М.Я в невозрастающем порядке весов ю(х) 4 1ТА15(х) Е М Т 5 А = А0(х) 6 ге4вгп А В строке 4 для каждого элемента х проверяется, останется ли А после его добавления независимым множеством. Если останется, в строке 5 выполняется добавление х в А. В противном случае х отвергается.

Поскольку пустое множество является независимым и поскольку каждая итерация цикла Ьг поддерживает независимость А, подмножество А всегда независимо по индукции. Следовательно, процедура Одеепу всегда возвращает независимое подмножество А. Вскоре мы увидим, что А является подмножеством с максимальным возможным весом, так что А представляет собой оптимальное подмножество.

Время работы процедуры Одеепу легко проанализировать. Обозначим через п величину ~Я~. Фаза сортировки длится в течение времени 0(п 1к и). Строка 4 выполняется ровно и раз, по одному разу для каждого элемента множества Я. При каждом выполнении строки 4 требуется проверить, является ли независимым множество А О (х). Если каждая подобная проверка длится в течение времени 0(5(п)), общее время работы алгоритма составляет 0(п 1к и + пДп)).

476 Часть 7К Усовершенствованные методы разработки и она|ива Теперь докажем, что процедура бкеепу возвращает оптимальное подмножество. Лемма 16. 7 (Матроиды обладают свойством жадного выбора) Предположим, что М = (Я,Х) — взвешенный матроид с весовой функцией ес и что множество Я отсортировано в невозрастающем порядке весов. Пусть х— первый элемент множества Я, такой, что множество (х) независимо (если такой х существует). Если элемент х существует, то существует и оптимальное подмножество А множества Я, содержащее элемент х. Доказательство. Если такого элемента х не существует, то единственным независимым подмножеством является пустое множество и доказательство закончено.

В противном случае предположим, что  — произвольное непустое оптимальное подмножество. Предположим также, что х ф В; в противном случае считаем, что А = В дает оптимальное подмножество Я, которое содержит х. Ни один из элементов множества В не имеет вес, больший, чем ю(х). Чтобы увидеть, почему это так, заметим, что из у Е В следует, что множество (у) независимо, поскольку В е Х, а семейство Х наследственное. Таким образом, благодаря выбору элемента х обеспечивается выполнение неравенства вс(х) > ю(у) для любого элемента у е В. Построим множество А, как описано ниже.

Начнем с А = (х). В соответствии с выбором элемента х множество А — независимое. С помощью свойства обмена будем многократно осуществлять поиск нового элемента множества В, который можно добавить в множество А, пока не будет достигнуто равенство ~А~ = ~В(; при этом множество А останется независимым.

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

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

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