math-st854_7 / Вся высшая математика. Том 7_Краснов, Киселев и др_Учебник_2006 -208с
.pdf01• TeopeNa |
КЭJiи о числе nомеченных |
-------- |
дерев аев |
1 17 |
Количество деревьев типа «Цеnь» равно 'С ·З! 60, типа К1,4с - 5. ПроизволЪ ное дерево третьего типа оnределяется пометками вершин а, Ь, (см. обозначенИя на рисунке); поэтому их число равно А = 60. Итак, Р5 60+5+60 = 125. После довательность 1, 1, 3, 16, 125 может быть задана соотношением Pn = пn-2 • Коли чество помеченных деревьев с 6 вершинами также нетрудно подсчитать «вручную» (читателю рекомендуется выполнить это полезное упражнение), после чего вы сказанная гипотеза получит новое подтверждение. И в общем случае имеет место
Теорема 13 (А. Кэ.nи, 1 897 r.). Число помеченных деревьев с n1 вершинами равно пn-z.
Существует много способов доказательства этой знаменитой теоремы. Мы приведем не самое богатое в идейном плане, но, возможно, самое простое доказательство.
Покажем, что существует взаимно однозначное соответствие между множе
ством помеченных п-вершинных деревьев и множеством размещений с повторе- |
|
ниями из n элементов по n - 2; поскольку ·А -2 |
п11-2 , это будет доказывать |
теорему. Сопоставление дереву упорядоченного набора (называемого кодом Прю фера) (а1, а2, . . . , ап-2) (где для каждого i ai Е {1, 2, ... , n}) будем называть
кодированием дерева (или кодировкой), а обратный процесс (получения по указан
ному набору дерева) - декодированием (или декодировкой).
Кодирование дерева выполняется с помощью следующего алгоритма. 1 . Положить i = 1 .
2 . Пуст!:Vi - висячая вершина дерева с наименьшей меткой; тогда· ai - метка
смежной с ней вершины.
3. Удалить из дерева. вершину щ и инцидентное ей реброn. . Если в дереве осталось более двух вершин, увеличить i на 1 и перейти к 2, иначе - закончить.
Очевидно, что разные деревья имеют разные коды. |
|
|
|
|||||||||
Декодироаание дерева. Пусть В0 = {1, 2, . . . , n}, а Ь1 |
наименьшее число |
|||||||||||
из В0, |
не вст |
чающееся в наборе (а1 , |
• • • |
, а11_2). |
огда |
Ь1 |
- номер висячей вер |
|||||
|
|
ре |
|
|
|
|
Т |
|
|
|
||
шины, смежной с. а1 , и дерево содержит ребро (Ь1 , а1). |
|
|
= BQ\ {Ьt} |
|||||||||
Н |
|
(а2, |
. |
. |
и:рует.дерево |
Т1 |
с множеством пометок В1 |
|||||
абор |
|
|
. , ап-2} код |
|
|
|
(Т1 получаетел из Т удалением вершины Ь1 и инцидентнога ей ребра (а1 , Ьt)).
В качестве Ь2 возьмем наименьшее число из В1 , не встречающееся в после
довательностtt: (а2, • • • , ап-2). |
Дерево Т1 (значит, и Т) должно содержать ребро |
||
( , а2). Теперь набор |
(а3, • • • |
, an-2) описывает дерево Т2 |
с множеством пометок |
в2 = в, \ {}. и так |
далее. |
|
|
На k-м шаге процедуры рассматривается дерево Т:-1 |
с множеством пометок |
||
Bk-t · В множестве Bk-l выбирается наименьшее число (Ьk ), не входящее в набор |
(ak, . . . , an-2), после чего констатируется наличие в дереве Т ребра (Ьk, а ;). После n - 2 шагов будут выявлены n - 2 ребра дерева Т; при этом множество Bn-2 будет содержать два числа - пометки вершин nоследнего, (n- 1)-ro, ребра, включаемого в дерево. (дерево Tn_-2, содержащее две вершины, строител однозначно, и поэтому
не нуждается в кодировке.)
Осталось еще убедиться в том, что полученный после декодирования граф действительно является деревом. В самом деле, граф Tk-1 получается из графа Tk добавлением ребра (Ьk, ak), nричем вершина Ьk не nринадлежит графу Tk. Поэтому
§В; CrнriiiiiiiOдеревьяЩИ----------e 1 19 |
'-------- |
Если рассмотреть полный граф nорядка n , вершины которого будуг соответ |
|
ствовать указанным (географическим) пунктам, а ребра будут иметь вес, равный |
|
стоимости сооружения дороги между соответствующими пунктами, то на язь1ке |
|
теории графов данная задача будет формулироваться так: в данном графе найти |
|
стягивающее дерево наименьшего веса. Отметим, что согласнр теореме Кэли в пол |
|
ном графе Kn имеется n11-2 различных стягивающих деревьев, и, в принципе, |
|
рассматриваемая задача может быть решена перебором по всем таким деревьям. |
|
Ясно, однако, что с прак:тической точки зрения подобный алгоритм решения |
|
не выдерживает никакой критики. Сутествуют эффективные алгоритмы нахо- |
|
ждения стягивающего дереваt минимального веса в связном взвешенном графе. |
|
При описанци следующих алгоритмов G = (V, Е} будет обозначать исходный |
|
граф, а Т = (V, Р) искомое дерево. |
|
Алгоритм Д. Краекала (1 956 г.) |
|
1. Положить Р = 0, n !Ei . Следующий шаг выполнять n - 1 раз. |
|
2.Включить в Т ребро графа G наименьшего веса, обладающее тем свойством,
что при добавлении его в графе Т не образуется циклов. Исключить из G данное ребро.
54
;1S(lJ2 7
Рис. 19
Нарис. 19 изобJХUКены взвешенный граф (числа nоказывают веса соответству ющих ребер) и стягивающее дерево, полученное ,в результате работы алгоритма.
Обоснование корректности алгоритма Краекала
Заметим сначала, что в результате работы алгоритма строится стягивающее дерево
•исходного графа (граф Т ациклический по построению и в нем число ребер на 1
меньше числа вершин, поэтому в силу следствия 2 из теоремы 9 он является деревом). Пусть Р {е1 , е2, • • • , е11-1 } (будем считать, что ребра заnисаны <<В по рядке поступления»), а S (V, М) - произвольное стягивающее дерево исходного графа. Нужно доказать, что p,(S) JJ(T). Если S =f. Т, то Р =f. М и сутествует
такое k, что е1 , еъ . . . , е :-1 Е М, е,. М. Добавим к дереву S ребро ek , при этом
образуется цикл, обозначим его С. В цикле С найдется ребро е, nринадлежащее1), множеству М и не входЯщее в Р. Удалив это ребро, получим граф 81 = (V, М
где М1 = М U {е,.}\{е}. Этот граф связен и в нем ребер на единицу меньше,
чем вершин. По теореме 1Q граф 81 - дерево. Сравним веса деревьев S' и S: JJ(S') = JJ(S) + JJ(e :) - р,(е). Так как в силу алгоритма Краекала JJ(e :) р(е) , имеем p,(S1) p,(S) . Итак, в дереве S' по сравнению с деревом S число ребер,
общих с деревом Т, на 1 больше, nричем вес S' не больше веса S. Указанную процедуру будем повторять до тех nop, пока не получим дерево Т. В результате будет построена nоследовательность деревьев S, 81, S", . . . ,Т, в которой каждое
122 __..._________________;_ Гпава LXX•. · Введение в теорию графов
представляющих собой простые замкнутые цепи, а общее количество таких Ц.!fК лов имеет порядок (n - 1)!. Поэтому задача выражения всех циклов графа через некоторые фиксИрованные циклы достаточно интересна; о практическом прило жении решения такой задачи будет упомянуто в конце параграфа.
Поговорим сначала об операции, позволяющей по одним циклам получать другие.
9. 1 . Симметрическая разность множеств
Симметрическойразностью множеств А и В называют множество
А 6. В = (А U В) \ (А n В).
Операция нахождения симметрической разности коммутативна: А 6. В = В6. А (это очевидно) и ассоциативна: (А 6. В)6. С = А 6. (В6. С). (попробуйте доказать это с помощью рис. 22). В силу ассоциативности при записи симметрической разности нескольких множеств скобки (указывающиепорядоквыполнения данной операции над множествами) можно не расставлять. .
|
в |
А |
в |
А |
|
|
|
А В |
|
(А В) С= А (В С) |
Рис. 22. Симметрическая разность двух и трех множеств
Пусть А - Произвольное множество. Множе тво всех подмножеств А с опера цией симметрической разности (,В(А), 6.) образует коммутативную группу; в роли нейтрального элемента группы выступает пустое множество, каждый элемент группы является обратным самому себе.
Лемма 3. При произвольнам натуральном n симмет. : рическая разность n множеств
611. Ai = А1 6. А2 6. . . . 6. An i=l
состоит в ихточности из тех элементов данных множеств, которые принадлежат нечетному числу.
<1111Доказательство nроводится индукцией по числу множеств. База индукция оче видна.
Индукционный шаг. Пусть доказываемое утверждение справедливо для всех
n k. Симметрическая разность k + 1 множеств имеет вид В = В1 6. В2, где
В1 = А1 6. . . . 6.Ар. В2 = Ар+1 6.. . . 6.Ap+q• причем р, q k, p+q = k+ 1 . Множе
ство В состоит из элементов, принадлежащих В1 (значит,по индуктивному пред
положению, принадлежащих нечетному числу множеств из А1 , • • • , Ар) и не при надлежащих В2 (то есть входящих в четное число множеств из Ар+1 , • • • , Ap+q)
124 -- Гпава LXX.Введение. в теорм rрафов
добавить произвольное ребро е Е Е \ Т, то (по теореме 12) образуется ровно один |
||
цИкл, обозначим его Се . Множество всех циклов такого вида {Се 1 е Е Е \ Т} |
||
будем называть фундаментальной системой циклов графа G = |
(V, Е) относительно |
|
стягивающего дерева (V, Т) . Пример см. на рис. 23. |
|
|
|
|
|
Теорема 14. Произвольный цикл С связного графа G = (V, Е) |
представим в виде |
|
симметрическойразности некоторых циклов из фундаментальной системы циклов G |
||
относительно любого стягивающего дерева (V, Т) . Такое представление единственно |
||
и имеет вид: |
|
(1) |
С = 6. |
Се . |
|
еЕС\Т |
|
|
Мы докажем даже более сильное утверждение, считая С псевдоциклом.
Пусть G = (V, Е) - связный граф, (V, Т) - некоторое фиксированное стяги вающее дерево G. Ребра этого дерева будем называть ветвями, а остальные ребра графа G - хордами. Заметим, что каждый цикл Се содержит ровно одну хорду,
а именно - е . Поэтому в симметрической разности (различных) фундаментальных циклов, равной С , должны присутствовать все циклы, отвечающие хордам из С\Т,
и только они. Таким образом, .если представление псевдоцикла С в виде симметри ческой разности фундаментальных циклов существует, то оно единственно' и име
ет вид (1). Докажем теперь, что равенство (1) действительно имеет место. Пусть
В = 6_Т Се .
еЕС\
По лемме 4 В.- псевдоцикл; к к уже показано, из хорд В содержит только хорды, принадлежащие С. Применяя леммы 3 и 4, получаем, что симметрическая разность В 6 С - псевдоцикл, не содержащий хорд (так как каждая хорда одновременно либо принадлежит, либо не принадлежит В и С , т. е. число ее вхождений в данные два множества четно); стало быть, В 6 С С Т. Осталось доказать, что в В 6 С нет и ветвей. Действительно, если подграф дерева не пуст, то согласно следствию 4 тео
ремы 9 он имеет не менее двух висячих вершин, в то же время - по определению |
||
псевдоцикла - он не содержит висячих вершин. Итак, мы выяснили: В 6 С = e l , |
||
что равносильно совпадению множеств 13 = е 6С_\ |
Т |
Се и С. Теорема доказана. |
Е |
|
На множестве всех псевдоциклов связного графа можно ввести структуру линейного пространства над полем GF(2), где в роли «сложения>> выступает
симметрическая разность, а умножение на скаляр определяется естественныме1
образом - для произвольнога псевдоцикла С имеем: С · 1 = С, С · О =
(здесь через О и 1 обозначены элементы поля GF(2); напомним, что в этом поле
О + О = 1 + 1 = О, 1 + О = 1 , О · 1 = О · О = О, 1 · 1 = 1). Как показано выше,
базисом в данном линейном пространстве будет фундаментальная система циклов относительно любого стягивающего дерева.
Вьщеленtt:е фундаментальной системы циклов находит применение при ана лизе электрических цепей. Если электрической цепи сопоставить граф, ребра ко торого соответствуют источник.щ ЭДС, сопротивленцям, цндуктивностям и т. д., а вершины - узлам соединений элементов цепи, то при использованци закона
§ |
10. Укnwи rрафов |
1------------ |
25 |
Кирхгофа для напряжений, гласящего: сумма падения напряжений вдоль цикла равна нулю, необходимо найти фундаментальную систему циклов. Уравнения,
отвечающие этим циклам, не будуг зависеть друг от друга, в то же время их вы полнение будет гарантировать выполнение уравнений для всех циклов графа.
§ 1 0. Укладки графов
Один и тотже граф можно изобразить по-разному. На рис. 24 nредставлены два ва риантаизображения полного rрафа К4• В первом случае отрезi<И., сооТветствующие ребрам графа, пересекаются, а во втором случае нет. При решении ряда задач эта разница является принципиальной. на.:.
пример, при изготовлении микросхем печат ным способом электрические цепи наносят ся на плоскую поверхность изоляционного материала;. при этом проводники не должны
пересекаться. Менее глобальный пример -
задача о трех домиках и трех колодцах. Хозяе ва трех соседних домиков хотят проложить дорожки к трем колодцам (от каждого
домика к каждому lСОЛодцу) таlС, чтобы доро жки не пересекмись. Удастся ли им
осуществить свое намерение?
Перейдем к определениям. Жордановой кривой называют непрерывную кри вую без самопересечений. Плоским графом назовем граф, вершины которого -
точки плоскости, а ребра жордановые кривые (лежащие в той же плоскости),
соединяющие соответствующие вершины так, что никакие два ребра не имеют
общих точек, за исключением инцидентной им обоим вершины. Граф будем называть планарным, если он изоморфен пекоторому плоскому графу. Примеры
планарных графов: К4, Cn, Wn (для любого n). Задачу о домиках и колодцах теперь можно сформулировать так: планарен ли граф Кз,з? Отметим очевидные
свойства маиарных графов:
1. Любой подграф планарного графа является планарным.
2. Граф является планарным тогда и только тогда, когда тем же свойством обладает каждая его компонента связности.
Про планарный граф говорят также, что он имеет плоскую уклад1еу, или уклады вается в nлос Сость. Более общее определение: граф укладыtтется в множество L,
если его вершины можно и;зобразить точками из множества L, а ребра - жордано выми кривыми, лежащими в L и ,имеющими общими только точки, изображающие соответствующие вершины гр фа. В последующих рассуЖДениях мы часто будем отождествлять граф и его укладку - «изображение» графа в каком-либо множестве.
Теорема 1 5. Любой г аф укладывается в R.З.
<111Вершины графа будем изображать точками некоторой прямой l. Рассмот рим пучок плоскостей, проходящих через данную прямую. Каждому ребру графа
сопоставим некоторую плоскость данного пучка так, чтобы разным ребрам со ответствовали разные плоскости. Ребра будем изображать кривыми с концами