Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекция 4. Остовное дерево (каркас). Алгоритмы построения остовного дерева

Лекция 4. Остовное дерево (каркас). Алгоритмы построения остовного дерева (Лекции 2016 года)

PDF-файл Лекция 4. Остовное дерево (каркас). Алгоритмы построения остовного дерева (Лекции 2016 года) Методы дискретной оптимизации (53955): Лекции - 8 семестрЛекция 4. Остовное дерево (каркас). Алгоритмы построения остовного дерева (Лекции 2016 года) - PDF (53955) - СтудИзба2019-09-19СтудИзба

Описание файла

Файл "Лекция 4. Остовное дерево (каркас). Алгоритмы построения остовного дерева" внутри архива находится в папке "Лекции 2016 года". PDF-файл из архива "Лекции 2016 года", который расположен в категории "". Всё это находится в предмете "методы дискретной оптимизации" из 8 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

Методы дискретной оптимизацииОстовное дерево (каркас). Алгоритмыпостроения остовного дерева1 / 12Терминология, известные фактыОпределение. Остов (каркас) связного графа - дерево, содержащее всевершины графа. Определяется неоднозначно.Определение. Цикломатическое (или циклический ранг) число графа:ν(G) = m − n + c, где n – число вершин, m – число ребер, c –числокомпонент связности графа.Определение. Коциклический ранг (или коранг) графа: ν ∗ (G) = n − cОпределение.

Ребра графа, не входящие в остов, называются хордами.Определение. Цикл, получающийся при добавлении к остову графа егохорды, называется фундаментальным относительно этой хорды.Свойства:1Число ребер неориентированного графа, которые необходимо удалитьдля получения остова, не зависит от последовательности их удаленияи равно цикломатическому числу графа.2Неориентированный граф G является лесом тогда и только тогда,когда ν(G) = 0.3Неориентированный граф G имеет единственный цикл тогда и толькотогда, когда ν(G) = 1.4Остов неориентированного графа имеет ν ∗ (G) ребер.2 / 12СвойстваПусть G1 = (V, E1 ) и G2 = (V, E2 ) – два остовных дерева графа G.Расстоянием между ними называется величина d(G1 , G2 ) = |E1 \E2 |.Множества вершин в деревьях можно поменять ролями, т.к.|E1 | = |E2 | = n − 1.Если d(G1 , G2 ) = 1, то (E1 ∪ E2 )\(E1 ∩ E2 ) = {(e1 , e2 )}, ei ∈ Ei , i = 1, 2,тогда одно дерево получается из другого заменой одной дуги.

Такойпереход называется элементарным переходом от дерева к соседнему.Теорема 1Если для двух деревьев G0 , Gk : d(G0 , Gk ) = k, то второе получается изпервого (и наоборот) за k элементарных переходов.Доказательство. Пусть {e0i ∈ E0 \Ek , eki ∈ Ek \E0 , i = 1, 2, ..., k}. Добавимв множество ребер E 0 ребро ek1 , тогда в G0 возникнет цикл, в которомсуществует ребро e ∈/ Ek , т.к. Gk – дерево. Действительно, если в этомцикле присутствуют ребра исключительно из Ek , то Gk не являетсядеревом. Удалим из цикла это ребро, тогда цикл исчезнет. Таким образомиз G0 будет удалено ребро множества E0 и вместо него помещено ребро изEk , при этом расстояние между деревьями Gk и G10 = (V, (E0 \e) ∪ ek1 )станет равным k − 1. Продолжая процесс далее, получим дерево Gkk = Gk .3 / 12Взвешенные графы.

Задача ШтейнераОпределение. Пусть G = (V, E) – связный простой граф. G называетсявзвешенным графом, если задана функция c(e), называемая весом(длиной) ребра. Обозначение: G = (V, E, c).Для произвольной части H графа G ее весом называется сумма весоввходящих в нее ребер. Обозначение: c(H).Пусть H – остовное дерево (каркас) графа, тогда H = (V, ET ) и задачапоиска остовного дерева минимального веса формулируется какXc(T ) =c(e) → mine∈ETВ теории графов широко известна задача Штейнера: на плоскости заданынесколько точек; нужно соединить их отрезками прямых таким образом,чтобы суммарная длина отрезков была наименьшей.

Главное отличие отзадачи о минимальном остовном дереве при этом заключается в том, чторазрешается добавлять дополнительные точки ветвления с целью ещёсильнее уменьшить сумму длин рёбер. Задача о дереве Штейнераявляется NP-полной.4 / 12Разрезы графаОперация вырезания-вставки ребра в остов является основным элементомпостроения каркаса минимального веса.Определение.

Разбиение (S, V \S) множества вершин называетсяразрезом графа G.Определение. Ребро (u, v) пересекает разрез (S, V \S), или являетсяперешейком данного разреза, если концы этого ребра находятся в разныхчастях разреза.Определение. Ребро (u, v) называется легким ребром для разреза, еслиэто ребро имеет минимальный вес среди всех перешейков данного разреза.Определение.

Множество ребер согласовано с разрезом (S, V \S), еслини одно из ребер A не является перешейком для этого разреза. Если ребраиз A соединяют хотя бы одну вершину из S, то все вершины, инцидентныеребрам из A, лежат в S. Поэтому можно сокращенно обозначать A ⊆ Sфакт согласованности A с разрезом (S, V \S).5 / 12Теорема о минимальном разрезеТеорема 2Пусть (S, V \S) – разрез графа G и множество ребер T в E образуетминимальный каркас G.

При выполнении условий:1. Множество ребер A ⊆ S согласовано с разрезом,2. Легкое для данного разреза ребро (u, ν) ∈/ T.существует минимальный каркас T 0 : (A ∪ (u, ν)) ⊂ T 0 .Доказательство. Считаем, что ребро (u, ν) ∈/ T , в противном случаеT 0 = T . В каркасе T существует ребро (x, y) – перешеек разреза,поскольку T – остов G. При этом по условию A ⊆ S ⇒ (x, y) ∈/ A.0Положим T = (T \(x, y)) ∪ (u, v). Тогда вес данного каркаса непревосходит вес T , поскольку (u, ν) – легкое ребро для разреза (S, V \S),что означает c(u, v) ≤ c(x, y) ⇒ c(T 0 ) ≤ c(T ).

Теорема доказана.6 / 12ЗадачаПусть (S, V \S) – разрез графа G, множество ребер T в E образуетминимальный каркас G, множество ребер A ⊆ S ∩ T и существуетминимальный каркас T 0 : (A ∪ (u, ν)) ⊂ T 0 . Следует ли отсюда, что (u, ν) –легкое ребро для данного разреза? Привести контрпример.Решение. Рассмотрим граф, задаваемый матрицей расстояний:бесконечность означает отсутствие ребра, 0 означает расстояние отвершины до нее самой.01 ∞ 321 104 ∞ ∞ ∞  ∞ 401 ∞ ∞ A= 3 ∞ 10 ∞ ∞  2 ∞ ∞ ∞ 0 ∞ 1 ∞ ∞ ∞ ∞ 0Зададим S = {1, 2}, A = (1, 2).

Минимальный остов состоит из ребер{(1, 2), (3, 4), (1, 4), (1, 5), (1, 6)}. При этом (1, 4) – перешеек длины 3 – частьминимального остова, но минимальный перешеек (1, 6) имеет длину 1,перешеек (1, 5) длины 2.7 / 12ПримерСледствие. Пусть GA = (V, A) – лес для связного неориентированногографа G = (V, E), C = (VC , EC ) – компонента леса, – подмножество ,входящее в минимальный каркас T для G. Если (u, v) – легкое ребро,соединяющее C с другим компонентом леса, то существует минимальныйкаркас T1 , содержащий A ∪ (u, v).

В принятой терминологии ребро (u, v) –безопасное ребро для .8 / 12Алгоритм Краскала (1956)1. Пусть On – граф с n вершинами и пустым количеством ребер. Строимграф T1 = e1 , e1 – ребро минимального веса в E. Это реброопределяется неоднозначно и решение самой задачи не единственно.2. Пусть построен граф Ti , i < n − i. Строим граф Ti+1 = Ti + ei+1 , гдеребро ei+1 является ребром минимального веса среди ребер, невходящих в Ti и не составляющих циклов с ребрами из Ti .

Этоозначает: алгоритм находит безопасное ребро для добавления врастущий лес с помощью поиска ребра (u, v) с минимальным весомсреди всех ребер, соединяющих 2 дерева в лесу.9 / 12Алгоритм КраскалаТеорема 3При i < n − 1 граф Ti+1 = Ti + ei+1 определен корректно, а Tn−1 –остовное дерево минимального веса.Доказательство.1. Граф Ti имеет i < n − 1 ребер и не может быть связным. Значит, вграфе G имеется ребро, обозначим его ei+1 , не составляющее циклов сребрами графа Ti . Следовательно, определение Ti+1 = Ti + ei+1корректно.2. Рассмотрим Tn−1 , по построению это дерево, надо показать егоминимальность.

Если предположить, что это не так, то: среди всехостовных деревьев минимального веса графа G выберем остов T ,который имеет с деревом Tn−1 максимальное число общих ребер.Рассмотрим номер ребра i = min{k|ek ∈ Tn−1 \T }, пусть ei = (a, b).3. Рассмотрим в дереве T цепь, соединяющую вершины a, b. Добавим кэтому пути ребро ei = (a, b), получим цикл, в котором есть реброe ∈ T \Tn−1 .

Такое ребро существует, поскольку в противном случаеTn−1 содержит цикл.10 / 12Алгоритм Краскала4. Заменим в дереве T ребро e на ei , получим новый остовT 0 = T − e + ei . По предположению остов T – остов минимальноговеса, откуда c(T 0 ) = c(T ) + c(ei ) − c(e) ≥ c(T ) ⇒ c(ei ) ≥ c(e).5. С другой стороны, если проследить процесс построения дерева Tn−1 ,то нетрудно заметить, что после выбора ребер e1 , e2 , ..., ei−1 алгоритмКраскала в случае c(ei ) > c(e) выбрал бы не ei = (a, b), а e, посколькутакой выбор не привел бы к появлению цикла и вес остова был быменьше. Отсюда следует, что c(T 0 ) = c(T ), т.е. T 0 – также остовминимального веса.6. При этом |T 0 ∩ Tn−1 | > |T ∩ Tn−1 |, что противоречит выбору T .Полученное противоречие доказывает теорему.11 / 12Алгоритм Прима-ДейкстрыДанный алгоритм отличается от предыдущего только тем, что не простоациклический граф, но дерево строится на каждом шаге.

Укажем шагиалгоритма.1. Выбирается ребро e1 = (a, b) минимального веса и строится деревоT1 : V1 = {a, b}, E1 = {e1 }.2. Если дерево Ti уже построено и i < n − 1, то среди ребер,соединяющих вершины этого дерева с вершинами графа G, невходящими в Ti , выбираем ребро ei+1 минимального веса. ПолагаемTi+1 : Vi+1 = {Vi ∪ v : ei+1 = (v, c), v ∈/ Vi , c ∈ Vi }, Ei+1 = {Ei ∪ {ei+1 }}Доказательство корректности данного алгоритма аналогичнопредыдущему случаю. Если число ребер графа G равно n, то числоопераций пропорционально(n − 1) + (n − 2) + ...

+ 2 + 1 =n(n − 1).2Таким образом, алгоритм Прима-Дейкстры применим к связномувзвешенному графу и имеет сложность O(n2 ).12 / 12.

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