Главная » Просмотр файлов » Дискретная математика

Дискретная математика (998286), страница 46

Файл №998286 Дискретная математика (Хороший учебник по дискретной математике) 46 страницаДискретная математика (998286) страница 462015-11-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

Положим Ь;,В: = пйп йгсо 81). И етос, етв Так как с самого начала все вершины С покрыты деревьями из Т, то Ь;, всегда реализуется на некотором ребре с длиной с; . Далее индукцией по шагам алгоритма 9.6 покажем, что все ребра, включенные в Т, принадлежат кратчайшему остову — ББТ ".

Вначале выбранных ребер нет, поэтому их множество включается в кратчайший остов. Пусть теперь все ребра, добавленные в Т, принадлежат ББТ. Рассмотрим очередной шаг алгоритма. Пусть на этом шаге добавлено ребро (1, л), соединяющее поддерево Т; с поддеревом Т,. Если (с, л) ф ББТ, то, поскольку ББТ является деревом и, стало быть, связен, 3(в*,у*) Е ББТ, соединяющее Т, с остальной частью ББТ. Тогда удалим нз ББТ ребро (с', л*) и добавим ребро 1с, т): $$Т': = $$Т вЂ”,(ь'*, у*) + (с, у).

Полученный подграф $$Т' является остовом, причем более коротким, чем ББТ, что противоречит выбору ББТ. П ЗАМЕЧАНИЕ Различные способы выбора полдерева для наращивания на первом влаге тела цикла лают различные конкретные варианты алгоритма построения ББТ. 9.5.3.

Алгоритм Краскала Следующий жадный алгоритм, известный как алгоритм Красково, находит крат- чайший остов в связном графе. Алгоритм 9.7. Алгоритм Краскала Вход: список Е ребер графа С с длинами. Выход: множество Т ребер кратчайшего остова. У:=ш упорялочить Е в порядке возрастания длин Ь: = ! ( номер рассматриваемого ребра ) с ззт — зьпгссвс Все!своп тгсс — стандартное пбозначсяис лвв кратчайшего остова. 288 Главе 9. Деревья бог т тгош 1 Го р — 1 т(о ттнйе добавление ребра Е(Ь) образует цикл в Т бо Ь: = Ь + 1 ( пропустить это ребро ) епб чЬйе Т: = Т О (Е(Щ ( добавить ато ребро в о ЯТ ) епо Еог ОБОСНОВАНИЕ Заметим, что множество подмножеств множества ребер, не содержащих циклов, образует матроид (см. раздел 2.7). Действительно, если множество ребер не содержит цикла, то любое подмножество также не содержит цикла.

Пусть теперь Е' с Š— произвольное множество ребер, а С' — правильный подграф графа С, определяемый этими ребрами. Очевидно, что любое максимальное не содержащее циклов подмножество множества Я' является объединением остовов компонент связности С' и по теореме об основных свойствах деревьев (см. подраздел 9.1.2) содержит р(С') — 1с(С') элементов.

Таким образом, то теореме подраздела 2.7.2 множество ациклических подмножеств ребер образует матронд. Далее, рассматриваемый алгоритм, как жадный алгоритм, находит кратчайшее ациклическое подмножество множества ребер. По построению оно содержит р — 1 элемент, а значит, является искомым остовом. С) ОТСТУПЛ Е НИ Е Задача о нахождеяни кратчайшего остова принадлежит к числу немногих задач теории графов, которые можно считать полностью решенными. Между тем, если изменить условия задачи, на первый взгляд даже незначительно, то опа оказывается значительно более трудной. Рассмотрим следующую задачу.

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

На рис. 9.15 приведены, соответственно, диаграммы кратчайшего остова, наивного «решения» задачи Штейнера н правильного решения для случая, когда города расположены в вершинах квадрата эт в~ »$ Рис. 9.16. Кратчайший остов, приближенное н точное решение задачи ц1тейнеоа 259 Упражнения Комментарии Материал этой главы затрагивает вопросы, которые очень часто возникают в практическом программировании.

Поэтому различные сведения о деревьях можно найти не только в специальных учебниках по теории графов, но и в книгах по программированию и конструированию эффективных алгоритмов. В качестве рекомендуемых источников назовем [1, 8, 13]. В частности, алгоритмы операций с деревом сортировки описаны в [8], откуда они заимствованы с некоторыми дополнительными уточнениями способов реализации. В книге [13] можно найти краткие и доступные описания алгоритмов работы с АВЛ-деревьями, которые здесь опущены за недостатком места.

Упражнения 9.1. Нарисовать диаграммы всех деревьев с 7 вершинами. 9.2. Допустим, что в ордереве все узлы, кроме листьев, имеют одну и ту же полустепень исхода и. В этом случае говорят, что дерево имеет постоянную ширину ветвления и. Оценить высоту й ордерева, которое имеет р узлов и постоянную ширину ветвления и. 9.3. Составить алгоритм преобразования обратной польской записи арифметического выражения в прямую польскую запись. 9 4.

Какой вид будет иметь дерево сортировки после того, как в него последовательно добавили следующие текстовые элементы: «1», «2», «3», «4», «5», «6», «7», «8», «9», «10», «11», «12», «13», «14», «15», «16», «17», «18», «19»? 9.5. Доказать, что полный граф Кр имеет р1" з1 остовов (это утверждение известно как формула Кали). ГЛАВА 10 Циклы После рассмотрения ациклических связных графов, то есть деревьев, естественно перейти к рассмотрению графов с циклами.

10.1. Фундаментальные циклы и разрезы Первый раздел главы посвящен установлению связи векторных пространств со структурой циклов и разрезов в графе. 10.1.1. Циклы и коциклы Цикл может входить только в одну компоненту связности графа, поэтому далее без ограничения общности граф считается связным. Цикл (простой) рассматривается как множество ребер. Разрезом связного графа называется множество ребер, удаление которых делает граф несвязным. Простым разрезом называется минимальный разрез, то есть такой, никакое собственное подмножество которого разрезом не является. В этом параграфе рассматриваются только простые циклы и разрезы, далее слово епростые» опускается.

Между циклами и разрезами существует определенная двойственность, поэтому разрезы иногда называют коциклами. ЗАМЕЧАНИЕ Поскольку рассматриваются только простые циклы в коцнклы. онн могут считаться имен- но множествамн, а не последовательностями ребер. ОТСТУПЛЕНИЕ Чем больше в графе циклов, тем труднее его разрезать. В дереве, напротив, каждое ребро само по себе является разрезом. 261 10Л.

Фундаментальные циклы и разрезы 10.1.2. Независимые множества циклов и коциклов Рассмотрим операцию гн сложения по модулю 2 или симметрической разности над множествами ребер: Мг Ю Мг . = (е ~ (е Е М, гг е ф Мг) Ч (е ф Мг й е Е Мг)) . Множество М называется зависимым или линейной комбинацией множеств (Мг)",, если и М= ®Мо г=г Множество циклов (Ег)",, называется независимым, если ни один из циклов Ег не является линейной комбинацией остальных. Множество разрезов (Яг)," г называется независимым, если ни один из разрезов Яг не является линейной комбинацией остальных. ЗАМЕЧАНИ Е— Множество подмножеств ребер данного графа образует векторное пространство над двоичной арифметикой. Действительно, гв — ассоциативная и коммутативная операция.

Далее М т о = ю чг М = М и каждый элемент является своим обратным: М Е М = о. Таким образом, подмножества ребер образуют абелеау группу относительно симметричной разности. Далее определим операцию умножения вектора на скаляр: ОМ: = Ы, 1М: = М. Легко видеть, что аксиомы векторного пространства выполнены. Введенные здесь понятия линейной комбинации, зависимости н независимости являются частными случаями одноименных понятий нз разделов 2.5 и 2.7. 10.1.3.

Циклический и коциклический ранг ТЕОРЕМА Если С вЂ” связный граф, то т(~) =а-р+1, т'(с) = р — 1 Максимальное независимое множество циклов (или минимальное множество циклов, от которых зависят все остальные) называется фундаментальной системой циклов. Пиклы фундаментальной системы называются фундаментальными, а количество циклов в (данной) фундаментальной системе называется циклическим рангом, или цикломатическим числом, графа С и обозначается т(С). Максимальное независимое множество коциклов (разрезов) (или минимальное множество коциклов, от которых зависят все остальные) называется фундаментальной системой коцикгов (разрезов). Коциклы (разрезы) фундаментальной системы называются фундаментальными, а количество коциклов в (данной) фундаментальной системе называется коцикличвским рангом, или ющикломатичвским числом, графа С и обозначается т" (гг).

Пусть Т(Ъ; Ет) — остов графа С(У, Т). Кодеревом Т*(Ъ; Е') остова Т называется останный подграф, такой что Ет' = Е 1 Ет. (Кодерево не является деревами) Ребра кодерева называются хордами остова. гег Глава 1О. Циклы доказательство Рассмотрим некоторый остов Т графа С. По теореме 9.1.2 об основных свойствах деревьев каждая хорда е е Т' остова Т порождает ровно один простой цикл з,. Эти циклы независимы, так как каждый из них содержит свое индивидуальное ребро (хорду е). Покажем, что любой цикл графа С зависит от (Е,),ет.. Заметим, что любой элемент фундаментальной системы зависит от фундаментальной системы, поэтому далее элементы фундаментальной системы не рассматриваем, то есть Е ф Е,. Пусть теперь некоторый цикл Е содержит ребра ем...,еь е Т".

Такие ребра в Е обязательно есть, в противном случае Е с Т, что невозможно, так как Т— дерево. Докажем индукцией цо к, что Е= Е., Ю . Ю Е,„. База: пусть /с = 1, тогда е, К Т, Е~(е1 ) с Т и Е = Ееы так как если бы Е ф Еаы то концы ег были бы соединены в Т двумя цепями, что невозможно по теореме 9.1.2. Пусть (индукционное предположение) Е = Е„Ю... Ю Е,„лля всех циклов Е с числом хорд т < к. Рассмотрим цикл Е с й хордами ем ..,, еь е Т*.

Рассмотрим Е.„. Имеем Е'. =(Е1(еь))О(Е„\(еь)) — тоже цикл (возможно; не простой). Но Е' содержит только й — 1 хорду е„..., еь ь По индукционному предположению Е' = Е„19 . щ Е,„,. Добавим к этому циклу Е,„. Имеем: Е' 9 Е,„= (Е~(еь)) 0 ((Е„\(еь)) 9 Е,„) = (Е~(еь)) 0 (еь) = Е. Таким образом, (Е,),ет. является фундаментальной системой циклов.

Поскольку все фундаментальные системы содержат одинаковое количество элементов (как базисы векторного пространства), достаточно ограничиться рассмотрением любой, например, той, которая определяется остовом Т. Пусть теперь е е Т. Определим разрез Я, следующим образом. Ребро е — мост в дереве Т. Следовательно, удаление ребра е разбивает множество вершин У на два подмножества У1 и Ую так что У~ С У, Уз С У, Уг 0 Уз = У, У1 П Уз = 1»1. Включим в разрез Я, ребро е и все ребра графа С, которые соединяют вершины множества У1 с вершинами множества Уз. Тогда Я, — это разрез, потому что правильные подграфы, определяемые У1 и Ую являются компонентами связности С вЂ” Я,. Разрез Я, — простой, потому что, если есть ребро, соединяющее У1 и $'з, то граф связен.

Аналогично можно показать, что (Я,),ет является фундаментальной системой разрезов. Действительно, любой разрез Я содержит хотя бы одно ребро из Т, так как Т вЂ” связный остовной подграф. Разрезы (Я,),ет независимы, так как каждый содержит уникальное ребро е. Любой разрез Я зависит от (ее),ет, Ю 8», Далее имеем гп (С) ~(8 ')ест~ 11Ет~ — р 1 и ест еп(С) КЕ»)еет ! (Ет) 1Е~ ~Ет~ Ч (Р 1) = е р+ 1 263 1Одс Эйлероэы циклы 10.2.

Эйлеровы циклы Здесь приведено исчерпывающее решение задачи о Кенигсбергских мостах (см. подраздел 7.1.1), приведшей к исторически первой успешной попытке развития теории графов как самостоятельного предмета. 10.2.1. Эйлеровы графы Если граф имеет цикл (не обязательно простой), содержащий все ребра графа по одному разу, то такой цикл называется эйлеровым циклом, а граф называется эйлеровым графом. Если граф имеет цепь (не обязательно простую), содержащую все вершины по одному разу то такая цепь называется эйлеровой цепью, а граф называется полуэйлеровым графом.

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

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

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

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