
- •26.Определениее графа.Основ.Хар-ки.Виды графов
- •27.Связязность.
- •28.Эйлеровы графы.
- •29.Циклы Гамильтона:теорема,ее следствие(теор.Дирака).Задача китайского почтальона.Задача коммивояжера.
- •30. Изоморфизм графов
- •31. Метрические характеристики графов.
- •32. Деревья.
- •33. Планарные графы
- •34. Раскраска графов.
- •35. Паросочетания
- •36. Экстремальные пути в нагруженных ориентировочных графах
- •37. Сети: опр., пути в сетях, алгоритм Форда - Фалкерсона.
- •38.Фундаментальная система циклов графа.
- •39.Операции над графами
- •40. Вычислительная сложность алгоритмов (Дейкстры, Прима, Краскала)
- •41. Мт: опр., примеры.
- •42: Мт как преобразователь.
30. Изоморфизм графов
Изоморфный – той же формы
Опр: Пусть граф G1(V1,
E1) и G2(V2
E2). Биективное f:
V1 -> V2
называется изоморфизмом G1
на G2 если любые u,v
число ребер coeдиняющих
вершины u и v
в G1 = числу ребер соед.
f(u) и f(v)
в G2 . Для обычн. графов
изом. – это биекция, харак-ся след.
свойством: произв. вершины u
и v смежны только тогда,
когда вершины и смежны f(u)
и f(v) в G2.
если
существует изоморфизм G1
на G2
Т-ма:Изоморфизм это отношение эквивалентности на множестве графов Док-во: Основано на том, что тождественное отображение биек., бие-ое обратимо, а обратные бие-ы. Композиция бие-ых отношений биек..
Т-ма. Графы изоморфны тогда и только тогда, когда их матрицы смежности получаются друг из друга одновременными перестановками строк и столбцов.
Док-во: Мультиграфы G и G’ изоморфны, когда их матрицы инцидентности получаются друг из друга путем перестановки строк и столбцов.
Принцип изоморфизма.
Чтобы показать, что два графа изоморфны, нужно найти изоморфизм одного графа в другой. Чтобы показать что графы не изоморфны, нужно найти свойства одного графа, не выполняющиеся в другом.
31. Метрические характеристики графов.
Пусть G(V,E)
связный, не ориентированный а, в –
вершины, не совпадающие. Длина кратчайшего
пути (а,в) – маршрута – это расстояние
между а и в.
.
Пусть
меньше
нуля, тогда введенное определение
удовлетворяет аксиомам метрики: 1)
2)
3)
4)
Если v= {a1,a2
…an} , то матрица P=(
)
=
называется
матрицей расстояний.
Для фиксированной вершины а назовем
эксцентриситетом величину e(a)=max{
}.
Максимальный из эксцентриситетов называется диаметром графа d(G)=max {e(a)}.
Вершина а называется переферийной если е(а) = d(G).
Минимальный из эксцентриситетов называется радиусом r(G)=min {e(a)}.
Вершина центральная если e(a)=r(G).
Множество центральных вершин – это центр графа.
В полном графе Kn диаметр равен радиусу, и любая вершина является центральной и переферийной.
Т-ма: Для любого графа G
справедливо:
Док-во: Первое нер-во следует из определения
r(G)=min {e(a)}
max {e(a)}= d(G). Предположим d(u,v)=
d(G), e(w)=
r(G)
Тогда d(G ) согласно неравенству треугольника d(u,w)+d(w,v)=e(w)+e(w)=2r(G)
32. Деревья.
Граф, не содержащий цикла, называют ациклическим или лесом.
Дерево – это связный, ациклический граф, компоненты связности леса – деревья.
Т-ма1: Граф – это лес тогда, когда каждое ребро графа – мост.
Док-во:Если G – лес, то в нем нет циклов, следовательно ни одно ребро не входит в цикл, и тогда по лемме все ребра – мосты.
Т-ма 2:Дерево с n-вершинами содержит (n-1) ребер.
Док-во:Пусть G – дерево с n–вершинами, согласно предыдущей теореме- все ребра графа – мосты. Будем последовательно удалять ребра G, каждый раз увеличивая число компонент связности на одну. Имелась одна компонента связности, поскольку дерево – связный граф, после удаления всех ребер останется n–изоморфных вершин, следовательно n-компонент связности, таким образом в указанной процедуре удаления был (n-1) шаг, что и требовалось доказать.
След.1 Пусть в лесе n-вершинами, m-ребер и k-компонент связности, тогда m=n-k.
Док-во: Пусть в i-той
компоненте связности леса
-вершин
и
-ребер.
Тогда
,
по теореме2
посчитаем
общее число ребер леса. m=
∑(ni-1)=n-k.
След.2 Если в лесе число ребер на единицу меньше числа вершин, то этот лес – дерево.
Док-во: следует и сл. 1
Утвер.: Лес – дерево тогда, когда число его ребер на единицу меньше числа его вершин.
След.3 В дереве, которое содержит по меньшей мере 2 вершины, не менее двух висячих вершин (вершины степени 1 – листья)
Док-во:Пусть в дереве
вершин,
тогда оно содержит m=n-1
ребер, в лемме о рукопожатиях
Будем считать, что вершины упорядочены
по возрастанию степени
покажем
что: deg (v1)=
deg (v2)=1. Если
предположить противное, то получим
противоречие deg (v1)>1,
deg (v2)>=2
.
За счет этого док-ся что есть 2 висяч.
вершины минимум.
Т-ма 3: Пусть в связном графе число ребер на единицу меньше числа вершин, тогда этот граф дерево.
Док-во: Пусть в G имеется n-вершин, и m=n-1 ребер, по теореме в простом графе m>=n-k, где k-число компонент связности, для G k=1 и имеет место равенство m=n-1 след-но этот граф простой, т. к. в противном случае, удалив все петли и кратные ребра, мы уменьшили бы m не изменив при этом n и k, что привело бы к нарушению нер-ва.
Удаление каждого ребра G приведет к нарушению нер-ва m>=n-k, если при этом не изменится n и k, то по определению любое ребро G-мост и в силу этого G-ациклический граф, поскольку при этом, по условию G связный, то он дерево.
Т-ма 4: Граф – дерево тогда и только тогда, когда любые две вершины соединены одной цепью
Док-во: (необх.) Пусть G-дерево, значит это связный граф и любые 2 вершины связаны цепью, при этом двух различных цепей, соединяющих две вершины не может быть, т. к. вместе они дадут цикл, а в дереве циклов нет. (достат.) Если в графе 2 вершины связаны цепью, то граф - связный, и ациклический, от того что любые 2 вершины этого цикла были бы связаны по меньшей мере двумя простыми цепями, в случае наличия цикла.
Т-ма 5: Лес является деревом тогда, когда добавление любого ребра приводит к образованию ровно одного цикла.
Док-во: Пусть ациклич. граф связен, тогда по теореме 4, любые 2 вершины u и v связаны одной простой цепью, и добавление ребра uv приводит к образованию цикла, причем только одного, т. к. если бы их образовывалось хотя бы 2, то объединяя эти циклы, можно было бы получить один, не содержащий uv, а это противоречит ациклич. графа.
Если при добавлении uv обр-ся цикл, то удаляя из него uv получим цепь, связывающую u и v, а это значит u и v связанные, как и любые 2 другие вершины, т. е. граф связен и является деревом.
Т-ма Кэли: Число помеченных деревьев с n-вершинами равно n в степени n-2
Т-ма: У любого связного графа подграф, который явл. остовным деревом
Кодирование деревьев:
Код Прюфера – это сопоставленные дереву набор (a1,a2…a(n-2)), набор упорядоченный, n-кол-во вершин дерева.
Алгоритм кодирования1) i=0;2) Пусть vi- висячая вершина дерева с наименьшей меткой, тогда ai метка смежной с ней вершиной. 3) удалим vi и инцидентное ей ребро. 4) если в дереве осталось > 2-х вершин i++ и к шагу 2, иначе стоп.
Алгоритм декодирования
Пусть B’ - это мно-во {1,2….n}
bi наименьшее число из B’, не встречающееся в наборе (a1,a2…a(n-2)), тогда bi- это номер висячей вершины, смежной с a1 и дерево содержит ребро bia1, набор (a2…a(n-2)), кодирует дерево T1 с мн-вом пометок B1=B\{b1};
T1 - получается из исходного дерева T, удалением вершины b1 и инцидентного ребра b1a1. В качестве b2 возьмем наименьшее B1 не встречающееся в послед. (a2…a(n-2)), а дерево T1 и T должно содержать b2a2, теперь набор (a3…a(n-2)), описывает T2 с множеством пометок B2 = B1\{b2} и так далее
на k-м шаге процедуры рассматриваемое дерево T(k-1), мн-во пометок Bk-1 выбирается bk не входящее в набор (ak…a(n-2)),, после чего утверждается о наличие в дереве T ребра akbk, после n-2 шагов будут выявлены (n-2) ребра дерева T и мн-во Bn-2 будет содержать две пометки, для послед-но (n-1) ребра.
Остовные деревья
Стягивающим или остовным деревом связного графа G наз-ся произвольный его подграф, связывающий все вершины G и являющийся деревом. Остовным лесом графа G является произвольный его подграф, содержащий все его вершины и явл. лесом. Остовной лес – послед. удаляем ребра, входящие в циклы, до тех пор, пока не будет получен ацикл. Граф. Граф наз-ся взвешенным, если каждому его ребру поставлено в соответствие число – вес ребра. Вес графа – это сумма весов всех ребер
Сущ-т эффективные алгоритмы нахождения стягивающему дерева минимального веса.
Алгоритм Краскала 1.пусть n-мощность мн-ва ребер |E| следующий шаг выполнять (n-1) раз. 2.включить в T ребро G наименьшего веса, облад. тем св-м, что при добавлении его в T в этом графе не образуется цикл. Исключить из G данное ребро
(G-исходный, T-искомый)
Алгоритм Прима пусть V1 = {x1} - одна вершина, где x1 принадлежит V - принадлежит исходному G. Пусть E1 = пусто. След. Шаг выполнять для i=2…n. Получим дерево Si = (Vi,Ei) и с Si-1 добавлением ребра графа G наименьшего веса. Исключить данное ребро.
Бесконечным деревом назовем граф со счетным мн-вом вершин, удовлетворяющих условию: для любых 2-х вершин u, v графа сущ-т единственная uv цепь, причем длина цепи конечна.
Поиск в ширину выполняется в
следующем порядке: началу обхода s
приписывается метка 0, смежным с ней
вершинам — метка 1. Затем поочередно
рассматривается окружение всех вершин
с метками 1, и каждой из входящих в эти
окружения вершин приписываем метку 2 и
т. д. Если исходный граф связный, то поиск
в ширину пометит все его вершины. Дуги
вида (i, i+1) порождают остовный бесконтурный
орграф, содержащий в качестве своей
части остовное ордерево, называемое
поисковым деревом.
Поиск в глубину — один из методов
обхода графа. Алгоритм поиска описывается
следующим образом: для каждой непройденной
вершины необходимо найти все непройденные
смежные вершины и повторить поиск для
них. Используется в качестве подпрограммы
в алгоритмах поиска одно- и двусвязных
компонент, топологической сортировки.